Commit Graph

455 Commits

Author SHA1 Message Date
Behdad Esfahbod eb0dfc830e [HB] Rename LOOKUP_ARGS to APPLY_ARGS 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 2a8e6accdf [HB] Internally rename position() and substitute() to apply() 2009-11-02 14:40:13 -05:00
Behdad Esfahbod f6c8a6eacf [HB] Simplify casts 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 9c42f05a5c Switch Pango to new, defunt, GPOS 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 5e5eb0573f [HB] Start GPOS! 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 64e67f7599 [GSUB] Minor 2009-11-02 14:40:13 -05:00
Behdad Esfahbod d79cae0b4e [HB] Minor 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 8533bb985e [GSUB] Protect against mismatching Extension subtable types 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 969afd706e [GSUB] Implement ReverseChainSingleSubst
GSUB is done!
2009-11-02 14:40:13 -05:00
Behdad Esfahbod 4acaffd786 [HB] Don't use G_LIKELY! 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 3dcb12f171 [GSUB] Oops, fix Extension check 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 2e8fb6c38d [HB] Tweak some constants and fix Coverage 2009-11-02 14:40:12 -05:00
Behdad Esfahbod d6aae5f5ca [HB] Cleanup TODOs 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 122f21fb9a [GSUB] Fix context_length handling in Ligature too 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 47958dea21 [HB] Minor cleanup 2009-11-02 14:40:12 -05:00
Behdad Esfahbod e73a0c2a90 [HB] Correctly skip glyphs when applying (Chain)Context lookups 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 7cff75babd [HB] Fix context_length checking 2009-11-02 14:40:12 -05:00
Behdad Esfahbod d0ba055700 [HB] ChainContext complete
IranNastaliq renders perfectly again!
2009-11-02 14:40:12 -05:00
Behdad Esfahbod e072c24e79 [HB] Implement backtrack matching 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 02e1e5c63f [HB] One more step to go, for fully working GSUB and ChainContext 2009-11-02 14:40:12 -05:00
Behdad Esfahbod f14c2b7acf [HB] Further modularize Context matching 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 13ed4405c5 [HB] A step closer to working ChainContext 2009-11-02 14:40:11 -05:00
Behdad Esfahbod e8cbaaf6d5 [HB] Add HeadlessArrayTo<> 2009-11-02 14:40:11 -05:00
Behdad Esfahbod dcb6b60254 [HB] More template goodness 2009-11-02 14:40:11 -05:00
Behdad Esfahbod aa3d7adca5 [HB] More churning towards ChainContext lookups 2009-11-02 14:40:11 -05:00
Behdad Esfahbod 48f16ed96a [HB] Towards sharing Context and ChainContext code 2009-11-02 14:40:11 -05:00
Behdad Esfahbod 6cf2a52593 [HB] Add check to avoid infinite recursion 2009-11-02 14:40:11 -05:00
Behdad Esfahbod 887c4b4416 [HB] Cosmetic 2009-11-02 14:40:11 -05:00
Behdad Esfahbod ca5290f499 [HB] Start ChainContext and ReverseChainSingleSubst lookups 2009-11-02 14:40:11 -05:00
Behdad Esfahbod 433f4aea74 [HB] Remove stale TODO 2009-11-02 14:40:11 -05:00
Behdad Esfahbod 6f20f72e9c [HB] Split Layout-common tables into new files 2009-11-02 14:40:11 -05:00
Behdad Esfahbod f45107fe09 [HB] More shuffling 2009-11-02 14:40:11 -05:00
Behdad Esfahbod f8dc67b3c2 [HB] Cleanup format unions 2009-11-02 14:40:10 -05:00
Behdad Esfahbod da1097bc3b [HB] Use four bytes for Null Tag, not 5 2009-11-02 14:40:10 -05:00
Behdad Esfahbod 19fc24f268 [HB] Couple size checks 2009-11-02 14:40:10 -05:00
Behdad Esfahbod ecf17e849d [HB] Propagate property of first glyph
This slightly grows code size.
2009-11-02 14:40:10 -05:00
Behdad Esfahbod eca8e33710 [GSUB] Further optimize the main switch 2009-11-02 14:40:10 -05:00
Behdad Esfahbod 13068232e7 [HB] Unify first glyph property checking 2009-11-02 14:40:10 -05:00
Behdad Esfahbod 66bf7ce4e3 [HB] Move Context matching logic out of GSUB 2009-11-02 14:40:10 -05:00
Behdad Esfahbod a1625528cd [GSUB] Unify ContextSubst matching 2009-11-02 14:40:10 -05:00
Behdad Esfahbod c36238bea4 [HB] Renames 2009-11-02 14:40:09 -05:00
Behdad Esfahbod 15c3e75b39 [HB] Simplify buffer 2009-11-02 14:40:09 -05:00
Behdad Esfahbod 36f78446ce [HB] Add TODO item 2009-11-02 14:40:09 -05:00
Behdad Esfahbod ee58aaebd2 [HB] Update copyright years 2009-11-02 14:40:09 -05:00
Behdad Esfahbod f4c9514935 [HB] Simplify more arrays 2009-11-02 14:40:09 -05:00
Behdad Esfahbod c9a7cbe9cb [HB] Use ArrayOf<> in GSUB 2009-11-02 14:40:09 -05:00
Behdad Esfahbod 5f810363ac [HB] Add ArrayOf<> 2009-11-02 14:40:09 -05:00
Behdad Esfahbod 238c855fcd [HB] Use OffsetTo<> for Coverage 2009-11-02 14:40:09 -05:00
Behdad Esfahbod 3d54bd1293 [HB] Use OffsetTo<> in more places 2009-11-02 14:40:09 -05:00
Behdad Esfahbod 9e4d9d7b27 [HB] Add OffsetTo template. 2009-11-02 14:40:09 -05:00
Behdad Esfahbod e07f89295b [HB] Automate int-type size assertion 2009-11-02 14:40:09 -05:00
Behdad Esfahbod 8b83580331 [HB] Use templates for Null objects
Also use a common pool for all nul-content ones.
2009-11-02 14:40:08 -05:00
Behdad Esfahbod 6e13d41401 [HB] Remove obsolete comment 2009-11-02 14:40:08 -05:00
Behdad Esfahbod 9f721cf380 [GSUB] Start ChainContextSubst 2009-11-02 14:40:08 -05:00
Behdad Esfahbod 7fca9e5245 [GSUB] Implement ContextSubstFormat3 2009-11-02 14:40:08 -05:00
Behdad Esfahbod 1ff926a568 [GSUB] Implement ContextSubstFormat2 2009-11-02 14:40:08 -05:00
Behdad Esfahbod fc36d9453e [GSUB] Add GSUB::substitute_lookup() 2009-11-02 14:40:08 -05:00
Behdad Esfahbod c43562b2a7 [GSUB] Finish ContextSubstFormat1 2009-11-02 14:40:08 -05:00
Behdad Esfahbod 5ee2189622 [HB] Fix typo 2009-11-02 14:40:08 -05:00
Behdad Esfahbod 6b59c9b445 [HB] Add TODO item 2009-11-02 14:40:08 -05:00
Behdad Esfahbod c5419b6cf2 [HB] Remove DEFINE_NON_INSTANTIABLE 2009-11-02 14:40:08 -05:00
Behdad Esfahbod 0dff25f036 [HB] Remove get_size() 2009-11-02 14:40:07 -05:00
Behdad Esfahbod 25c6c9a3f6 [GSUB] ContextSubst format 1 2009-11-02 14:40:07 -05:00
Behdad Esfahbod f702295103 [GSUB] Shuffle 2009-11-02 14:40:07 -05:00
Behdad Esfahbod a83e08f872 [HarfBuzz] Start a TODO file 2009-11-02 14:40:07 -05:00
Behdad Esfahbod eed05b04eb [GSUB] minor 2009-11-02 14:40:07 -05:00
Behdad Esfahbod cdb317bc4e [GSUB] Towards Context subtitutes 2009-11-02 14:40:07 -05:00
Behdad Esfahbod c9c6a78aec [GSUB] Minor refactoring 2009-11-02 14:40:07 -05:00
Behdad Esfahbod bb3899a579 [GSUB] Implement ligature substitutions 2009-11-02 14:40:07 -05:00
Behdad Esfahbod 38b011a293 [GSUB] Hook new GSUB up in Pango 2009-11-02 14:40:07 -05:00
Behdad Esfahbod a84e71ad11 [GSUB] Start Ligature subtable support 2009-11-02 14:40:07 -05:00
Behdad Esfahbod 52886ca56b [GSUB] Implement Alternate subtables 2009-11-02 14:40:06 -05:00
Behdad Esfahbod 4f27ce7e02 [GSUB] Implement Extension subtables 2009-11-02 14:40:06 -05:00
Behdad Esfahbod 83e61ff470 [GSUB] Fix reverse lookup loop like we did in the old code before 2009-11-02 14:40:06 -05:00
Behdad Esfahbod 5a0b791184 [harfbuzz/GSUB] towards a partially working GSUB 2009-11-02 14:40:06 -05:00
Behdad Esfahbod 30bd763fa2 Implement the first substitute() 2009-11-02 14:40:06 -05:00
Behdad Esfahbod ce48f03946 Merge harfbuzz-ng 2009-11-02 14:38:33 -05:00
Behdad Esfahbod 0e13beeb93 Use git.mk 2009-04-17 17:39:15 -04:00
Behdad Esfahbod 2d15e72c75 Give it a start at GSUB 2009-04-15 19:50:16 -04:00
Behdad Esfahbod 9d870f2a55 Bug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD
Detect TrueType Collections by checking the font data header instead
of checking for "face->num_faces >1".
2009-04-09 13:30:26 -04:00
Behdad Esfahbod d49caf1f77 [opentype] Protect against illegal access for arrays of length zero 2009-03-02 15:16:11 +03:30
Behdad Esfahbod 66871797af [opentype] Use size_t instead of uint for malloc wrappers 2009-03-02 14:20:20 +03:30
Behdad Esfahbod 3664e59c52 Fix Bug 572529 – Poor -I ordering can break build 2009-03-02 11:09:29 +03:30
Behdad Esfahbod aca4d11388 Allocate all array rows in a single ALLOC call. Saves over 100 alloc calls
2009-01-31  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gpos.c (Load_Mark2Array),
        (Free_Mark2Array):
        Allocate all array rows in a single ALLOC call.  Saves over 100
        alloc calls when loading DejaVu Sans,
2009-02-02 00:13:07 +00:00
Behdad Esfahbod c561d69c72 Remove ClassDef->Defined field. This is the comment accompanying it:
2009-01-29  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-open.h:
        * pango/opentype/harfbuzz-gdef.c (Make_ClassRange),
        (HB_GDEF_Build_ClassDefinition):
        * pango/opentype/harfbuzz-gpos.c (Load_PosClassRule),
        (Load_ChainPosClassRule):
        * pango/opentype/harfbuzz-gsub.c (Load_SubClassRule),
        (Load_ChainSubClassRule):
        * pango/opentype/harfbuzz-open.c (Load_ClassDef1),
        (Load_ClassDef2), (_HB_OPEN_Load_ClassDefinition),
        (_HB_OPEN_Load_EmptyClassDefinition),
        (_HB_OPEN_Free_ClassDefinition):
        Remove ClassDef->Defined field.  This is the comment accompanying it:

          The `Defined' field is not defined in the OpenType specification
          but apparently needed for processing fonts like trado.ttf: This
          font refers to a class which contains not a single element.  We
          map such classes to class 0.

        The comment is correct that trado.ttf (MS Traditional Arabic) uses
        such classes.  However, in my testing I couldn't identify any
        problems with the font if the special handling is removed.  I also
        processed as many fonts as I could get my hand on and trado.ttf was
        the only not-totally-broken font hitting the special-case code.
        DejaVu fonts hit it too, but I'm sure they do not require the
        special-handling code.  Most probably, that code introduces bugs
        in them.

        The special-casing was consuming lots of memory.  EIGHT MEGABYTES
        for loading DejaVu Sans!  While this could be complete fixed, I
        decided to remove the special-handling code altogether.  I don't
        think it will make any real difference, and if it does, we'll fix
        fonts.  Such hacks will not be in harfbuzz-ng anyway.

        Bug originally reported by nsf.
2009-01-29 09:20:08 +00:00
Behdad Esfahbod 9372edd6f0 Use calloc(), instead of malloc()ing and memset()ing.
2009-01-29  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-impl.c (_hb_alloc): Use calloc(),
        instead of malloc()ing and memset()ing.
2009-01-29 09:19:56 +00:00
Behdad Esfahbod 94c21d26ba Remove old cruft.
2009-01-29  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-dump-main.c (main): Remove old cruft.
2009-01-29 09:19:43 +00:00
Behdad Esfahbod 0a47c4f78e Allocate all array rows in a single ALLOC call. Saves over 2000 alloc
2009-01-29  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gpos.c (Load_BaseArray), (Free_BaseArray):
        Allocate all array rows in a single ALLOC call.  Saves over 2000
        alloc calls when loading DejaVu Sans!
2009-01-29 09:19:20 +00:00
Behdad Esfahbod 549be924bc Bug 469049 – Fix all compiler warnings
2008-12-25  Behdad Esfahbod  <behdad@gnome.org>

        Bug 469049 – Fix all compiler warnings

        * pango-view/viewer-pangocairo.c (render_callback):
        * pango/fonts.c (append_field), (pango_font_description_to_string):
        * pango/opentype/harfbuzz-dump.c:
        * pango/pango-bidi-type.c (pango_log2vis_get_embedding_levels):
        * pango/pango-coverage.c (pango_coverage_set):
        * pango/pango-markup.c (span_parse_func):
        * pango/pango-renderer.c
        (pango_renderer_default_draw_error_underline):
        * pango/pango-utils.c (pango_scan_string):
        * pango/pangocairo-render.c (pango_cairo_renderer_draw_trapezoid),
        (draw_error_underline), (pango_cairo_renderer_class_init):
        Fix all the remaining warnings.
2008-12-26 02:31:47 +00:00
Behdad Esfahbod 719f9eaa75 Fix more warnings.
2008-12-25  Behdad Esfahbod  <behdad@gnome.org>

        * pango/modules.c (pango_module_load), (script_info_free):
        * pango/opentype/harfbuzz-gpos.c (HB_Load_GPOS_Table):
        * pango/pango-bidi-type.c:
        * pango/pango-coverage.c (pango_coverage_ref),
        (pango_coverage_unref):
        * pango/pango-engine.c (pango_engine_shape_real_covers),
        (fallback_engine_shape), (fallback_engine_covers):
        * pango/pango-fontmap.c (pango_font_map_init):
        * pango/pango-ot-ruleset.c (pango_ot_ruleset_finalize),
        (pango_ot_ruleset_new):
        * pango/pangofc-decoder.c (pango_fc_decoder_init),
        (pango_fc_decoder_class_init):
        * pango/pangofc-font.c (pango_fc_font_find_shaper),
        (pango_fc_font_get_coverage):
        * pango/pangofc-fontmap.c (pango_fc_font_map_list_families),
        (pango_fc_make_pattern), (pango_fc_font_map_get_patterns),
        (get_first_font), (_pango_fc_font_map_get_coverage),
        (cleanup_font), (pango_fc_font_description_from_pattern),
        (pango_fc_face_list_sizes), (pango_fc_family_list_faces):
        * pango/pangoft2-fontmap.c (pango_ft2_font_map_get_resolution):
        * pango/pangoft2-render.c (pango_ft2_renderer_init),
        (pango_ft2_renderer_draw_trapezoid):
        * pango/pangoft2.c (pango_ft2_font_get_face),
        (pango_ft2_font_real_unlock_face),
        (pango_ft2_free_glyph_info_callback):
        Fix more warnings.
2008-12-26 02:31:35 +00:00
Behdad Esfahbod 21f7d507f4 Bug 528272 – "Error loading GPOS table 5503" when using katakana
2008-10-14  Behdad Esfahbod  <behdad@gnome.org>

        Bug 528272 – "Error loading GPOS table 5503" when using katakana
        characters

        * pango/opentype/harfbuzz-gpos.c (Load_Mark2Array): Skip parsing
        null anchor tables.
2008-10-15 03:45:29 +00:00
Behdad Esfahbod a26c6ae705 Fix left-to-right positioning. Reported by Peter Hunter.
2008-09-29  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gpos.c (Position_CursiveChain):
        Fix left-to-right positioning.  Reported by Peter Hunter.
2008-09-29 22:28:47 +00:00
Behdad Esfahbod b6c06c56a3 Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font
2008-06-29  Behdad Esfahbod  <behdad@gnome.org>

        Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font

        * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Fix reverse
        loops for type 8 lookups.
2008-06-29 18:30:14 +00:00
Behdad Esfahbod c44733596c [hb-ot-layout] Add proper namespace to accessors 2008-02-18 21:33:22 -05:00
Behdad Esfahbod 5722567209 Fix typo, add TODOs 2008-02-18 20:58:39 -05:00
Behdad Esfahbod 4a26ea408c Finish script, language, and feature public API 2008-01-29 17:42:11 -05:00
Behdad Esfahbod 706ab25a4c Add script and language public getter API 2008-01-28 05:58:50 -05:00
Behdad Esfahbod 40a81314fa Make main.cc compile again, which means finished getter API 2008-01-28 02:30:48 -05:00
Behdad Esfahbod e50c3978d3 Rename HB_OT_Layout to hb_ot_layout_t 2008-01-28 00:16:49 -05:00
Behdad Esfahbod dfa8119651 Rename hb_ot_layout_create() to hb_ot_layout_create_for_data() 2008-01-28 00:12:21 -05:00
Behdad Esfahbod 54e5aac5e2 GDEF completely working now 2008-01-27 21:21:37 -05:00
Behdad Esfahbod 6f425b1179 [GDEF] Finish internal API 2008-01-24 19:39:49 -05:00
Behdad Esfahbod 590d55cbb9 [GDEF] Finish public API 2008-01-24 19:15:35 -05:00
Behdad Esfahbod aff831ed67 Implement glyph properties 2008-01-24 06:03:45 -05:00
Behdad Esfahbod ead428d7a0 More public api 2008-01-24 04:09:46 -05:00
Behdad Esfahbod fd92a3dde3 Starting public interface 2008-01-24 03:36:11 -05:00
Behdad Esfahbod 7d6b95b000 Remove unused macro 2008-01-24 04:42:24 +00:00
Behdad Esfahbod 7586089c6f Minor 2008-01-23 18:02:28 -05:00
Behdad Esfahbod aefaafe5bc Minor renaming 2008-01-23 17:25:29 -05:00
Behdad Esfahbod a16ecbf056 Initial gsub stub 2008-01-23 17:01:55 -05:00
Behdad Esfahbod 64aef3a549 Add copyright notices. 2008-01-23 16:14:38 -05:00
Behdad Esfahbod 12360f7c15 Minor cleanup, add LIKELY and UNLIKELY annotations 2008-01-23 15:50:38 -05:00
Behdad Esfahbod 8dd1c8b8d6 Clean up file names, add namespace 2008-01-23 05:02:14 -05:00
Behdad Esfahbod 1f437e6f47 Make all code NULL-free and assert-free 2008-01-23 04:55:38 -05:00
Behdad Esfahbod 600e5eb80f Define get_for_data() factories 2008-01-23 02:01:37 -05:00
Behdad Esfahbod b9d7688fb3 Finish and test GDEF 2008-01-23 01:38:10 -05:00
Behdad Esfahbod 303fe62824 Misc cleanup 2008-01-23 00:20:48 -05:00
Behdad Esfahbod 17843245fd Remove COPYING.GPL and COPYING.FTL that are no longer there.
2008-01-16  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/Makefile.am: Remove COPYING.GPL and COPYING.FTL that
        are no longer there.
2008-01-16 20:39:29 +00:00
Behdad Esfahbod a2a9a023f6 HarfBuzz was relicensed to a more generous and simpler license. Adapt. See
2008-01-15  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*:
        HarfBuzz was relicensed to a more generous and simpler license.
        Adapt.  See pango/opentype/COPYING for the new license which is
        LGPL-compatible.
2008-01-15 22:46:32 +00:00
Behdad Esfahbod 4ccedd22ea Bug 501575 – Compile errors Patch from Jens Granseuer
2007-12-04  Behdad Esfahbod  <behdad@gnome.org>

        Bug 501575 – Compile errors
        Patch from Jens Granseuer

        * pango/opentype/harfbuzz-stream.c (_hb_font_goto_table):
        * pango/pango-utils.c (handle_alias_line):
        Fix C99ism.
2007-12-05 03:41:29 +00:00
Behdad Esfahbod cd55cfa2b0 Undo accidental change. 2007-11-30 04:31:29 +00:00
Behdad Esfahbod 3f05da638c Bug 485536 – underline_position can be zero
2007-11-29  Behdad Esfahbod  <behdad@gnome.org>

        Bug 485536 – underline_position can be zero

        * pango/pango-utils.c (pango_cairo_quantize_line_geometry):
        Document that returned position may be zero.

        * pango/pangocairo-win32font.c
        (pango_cairo_win32_font_create_metrics_for_context):
        * pango/pangofc-font.c (get_face_metrics):
        Handle case of underline_position==0 after rounding.
2007-11-30 04:29:58 +00:00
Behdad Esfahbod e58278fedb Remove unused macro.
2007-11-23  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-impl.c: Remove unused macro.
2007-11-24 01:40:13 +00:00
Behdad Esfahbod 3b047380ae Minor 2007-11-18 22:34:08 +00:00
Behdad Esfahbod 10d6a25a26 Remove dead code. 2007-11-07 10:04:11 +00:00
Behdad Esfahbod 47d2c33e3d And some more.
2007-11-07  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: And some more.
2007-11-07 09:59:18 +00:00
Behdad Esfahbod 78ef65ba08 Some more cleanup and merging.
2007-11-07  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: Some more cleanup and merging.
2007-11-07 08:06:01 +00:00
Behdad Esfahbod 5c9bd37995 Fix typo. 2007-10-29 23:51:48 +00:00
Behdad Esfahbod ef1f481752 Even more cleanup and more type renames.
2007-10-25  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: Even more cleanup and more type renames.
2007-10-25 23:37:11 +00:00
Behdad Esfahbod 282c60a0ee More cleanup, remove redundant error types.
2007-10-25  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: More cleanup, remove redundant error types.
2007-10-25 23:22:17 +00:00
Behdad Esfahbod 4280ec4df4 Rename ftglue.c to harfbuzz-impl.c and more type renames and moving code
2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: Rename ftglue.c to harfbuzz-impl.c and more
        type renames and moving code around.
2007-10-25 00:23:46 +00:00
Behdad Esfahbod 5716ae278a New header file harfbuzz-global.h. Rename FT_* int types to HB_* types.
2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: New header file harfbuzz-global.h.  Rename
        FT_* int types to HB_* types.
2007-10-24 22:44:47 +00:00
Behdad Esfahbod 2130d852c7 Add commented-out dummy struct for Extension lookups.
2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gpos-private.h:
        * pango/opentype/harfbuzz-gsub-private.h:
        Add commented-out dummy struct for Extension lookups.
2007-10-24 21:35:03 +00:00
Behdad Esfahbod 13b2b96384 Bug 488840 – harfbuzz: protect against ligid overflow
2007-10-21  Behdad Esfahbod  <behdad@gnome.org>

        Bug 488840 – harfbuzz: protect against ligid overflow

        * pango/opentype/harfbuzz-buffer.c (_hb_buffer_allocate_ligid):
        Never return zero, even in case of overflow.

        * pango/opentype/harfbuzz-impl.h: Define dummy HB_LIKELY() and
        HB_UNLIKELY(), to be filled later.
2007-10-21 18:17:02 +00:00
Behdad Esfahbod 6b347138b5 Mark internal symbols as HB_INTERNAL and define that to static in
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: Mark internal symbols as HB_INTERNAL and
        define that to static in harfbuzz.c.

        * pango/opentype/harfbuzz-buffer-internal.h: New file.
2007-10-11 08:30:50 +00:00
Behdad Esfahbod 7cdfb61dee Remove FTGLUE_API/APIDEF cruft.
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/ftglue.[ch]: Remove FTGLUE_API/APIDEF cruft.
2007-10-11 07:46:33 +00:00
Behdad Esfahbod 61ddbafaaa Build harfbuzz.c instead of individual source files, to let compiler go
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/Makefile.am: Build harfbuzz.c instead of individual
        source files, to let compiler go wild with optimizations!
2007-10-11 07:45:26 +00:00
Behdad Esfahbod a219b3d003 Same here.
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz.c: Same here.
2007-10-11 07:34:08 +00:00
Behdad Esfahbod 6567e16e3b Don't include harfbuzz-dump.[ch] in libharfbuzz.a. Those are just used by
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/Makefile.am: Don't include harfbuzz-dump.[ch] in
        libharfbuzz.a.  Those are just used by the harfbuzz-dump tool.
2007-10-11 07:33:19 +00:00
Behdad Esfahbod 0b032549ba Some more cleanup.
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-buffer.c: Some more cleanup.
2007-10-11 07:24:47 +00:00
Behdad Esfahbod 7a26864308 Move some code around.
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-buffer.c: Move some code around.
2007-10-11 07:21:31 +00:00
Behdad Esfahbod 7a5405c826 Minor. 2007-10-11 07:15:16 +00:00
Behdad Esfahbod 986f4fd968 Rename buffer->inplace to buffer->separate_out with the inverted meaning,
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-buffer.[ch]: Rename buffer->inplace to
        buffer->separate_out with the inverted meaning, such that buffer
        is initialization is memset(0).
2007-10-11 07:12:49 +00:00
Behdad Esfahbod 06003908cc Allocate buffer->positions lazily.
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/*: Allocate buffer->positions lazily.
2007-10-11 07:05:09 +00:00
Behdad Esfahbod fc3d6f5758 Bug 485621 – Get rid of freetype memory allocator in harfbuzz
2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

        Bug 485621 – Get rid of freetype memory allocator in harfbuzz

        * pango/opentype/*: Remove all occurences of FT_Memory.  Use
        malloc/realloc/free directly.

        * pango/pango-ot*: Update to above.
2007-10-11 06:52:07 +00:00
Behdad Esfahbod a8abb8b994 Bug 485559 – Boston Summit HarfBuzz optimizations
2007-10-10  Behdad Esfahbod  <behdad@gnome.org>

        Bug 485559 – Boston Summit HarfBuzz optimizations

        * pango/opentype/*: HarfBuzz hacking to:

          - Rename last remaining FT_Err stuff to HB_Err.

          - Fix a couple invalid table paths to be permissive so
            fonts work better.  Particularly GDEF table for Nafees
            Nastaliq is loaded and works great now.

          - Optimize harfbuzz buffer to not copy/swap for simple
          one-to-one and "copy" GSUB operations.

        * pango/pango-ot*: Update to FT_Err to HB_Err renaming.
2007-10-11 00:07:58 +00:00
Behdad Esfahbod dd810b76bc Bug 302952 – The placement of a diacritic marks for an arabic ligature
2007-08-29  Behdad Esfahbod  <behdad@gnome.org>

        Bug 302952 – The placement of a diacritic marks for an arabic ligature
        is not correct

        * pango/opentype/harfbuzz-buffer.c (hb_buffer_allocate_ligid): Don't
        use zero as allocated ligature id.  Zero means no ligature id.
2007-08-29 08:46:50 +00:00
Behdad Esfahbod e90d199194 Bug 463430 – Gets stuck while "formatting message"
2007-08-21  Behdad Esfahbod  <behdad@gnome.org>

        Bug 463430 – Gets stuck while "formatting message"

        * pango/opentype/harfbuzz-gpos.c (Lookup_PairPos1),
        (Lookup_PairPos2), (Lookup_PairPos), (Do_ContextPos):
        * pango/opentype/harfbuzz-gsub.c (Do_ContextSubst):
        Change type of intermediate index variable from FT_UShort to
        FT_ULong as it was overlowing with more than 65536 glyphs.
2007-08-21 08:03:26 +00:00
Behdad Esfahbod 13b86ee398 Don't ignore error return value of hb_buffer_copy_output_glyph(). Patch
2007-08-20  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Don't
        ignore error return value of hb_buffer_copy_output_glyph().  Patch
        sent to harfbuzz-list.
2007-08-21 01:38:07 +00:00
Behdad Esfahbod 4c2556cb4c [gdef] Initial implementation 2007-07-06 11:29:21 -04:00
Behdad Esfahbod 5b2e947fd2 [open] small fixes, including not using unions for main structs 2007-07-06 02:03:26 -04:00
Behdad Esfahbod 151df44346 Improve stupid Makefile 2007-07-05 17:22:07 -04:00
Behdad Esfahbod 6c49bebc70 Link freetype to harfbuzz-dump, for those systems that don't track
2007-04-30  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/Makefile.am: Link freetype to harfbuzz-dump, for
        those systems that don't track dependencies automatically.
2007-05-01 02:32:12 +00:00
Behdad Esfahbod 7341a11691 Copy fixes from harfbuzz stable branch. Includes a leak fix, a kerning
2007-04-03  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gdef.c (_HB_GDEF_Check_Property):
        * pango/opentype/harfbuzz-gpos.c (HB_Done_GPOS_Table),
        (Lookup_PairPos):
        * pango/opentype/harfbuzz-open.c (Get_Class1):
        Copy fixes from harfbuzz stable branch.  Includes a leak fix,
        a kerning fix, and an array out-of-bound access fix.
2007-04-03 22:45:29 +00:00
Hans Breuer 999a6f0575 updated
2007-01-13  Hans Breuer  <hans@breuer.org>

	* pango/makefile.msc pango/opentype/makefile.msc : updated
2007-01-13 21:31:41 +00:00
Behdad Esfahbod 3c038d40da Remove .cvsignore files (moved to svn:ignore prop) 2007-01-09 03:32:12 +00:00
Behdad Esfahbod 5b3f7702a6 Add stub GDEF files 2006-12-28 06:42:37 -05:00
Behdad Esfahbod b3395a7aa3 Don't shift down the mark attachment type 2006-12-28 06:31:18 -05:00
Behdad Esfahbod 193b66d52a Remove stale comment 2006-12-28 06:12:18 -05:00
Behdad Esfahbod 12c4568c68 Break and rename, in the layout of old HarfBuzz codebase 2006-12-28 06:10:59 -05:00
Behdad Esfahbod 3158d84b0d Oops. s/OpenTypeFontFaceFile/OpenTypeFontFile/g 2006-12-27 20:08:07 -05:00
Behdad Esfahbod bf0f9dd613 Use union for ClassDef 2006-12-27 20:06:42 -05:00
Behdad Esfahbod c46196d09c Use union for Coverage 2006-12-27 20:05:16 -05:00
Behdad Esfahbod 86f450243d Add GPOS stub 2006-12-27 19:59:07 -05:00
Behdad Esfahbod 133466177e s/OpenTypeFont/OpenTypeFontFace/g 2006-12-27 19:58:32 -05:00
Behdad Esfahbod 71d62baab0 GSUBGPOSHeader 2006-12-27 01:36:20 -05:00
Behdad Esfahbod eebabd8b2e Finished OpenType Common Table Formats 2006-12-27 00:21:31 -05:00
Behdad Esfahbod 2b73745197 Device tables. 2006-12-26 20:55:37 -05:00
Behdad Esfahbod eb32e374f4 ClassDef 2006-12-26 20:00:33 -05:00
Behdad Esfahbod 53502c6723 Rename CoverageFormat to Coverage 2006-12-26 19:29:08 -05:00
Behdad Esfahbod 0d6db2abcb Define more structs using DEFINE_INT_TYPE. 2006-12-26 19:05:35 -05:00
Behdad Esfahbod 915931b74a s/DEFINE_NOT_INSTANTIABLE/DEFINE_NON_INSTANTIABLE/ 2006-12-26 15:30:14 -05:00
Behdad Esfahbod 0c0d55330e Coverage. 2006-12-26 15:29:38 -05:00
Behdad Esfahbod 882e52f591 Rename to harfbuzz-ng.cc 2006-12-25 10:28:31 -05:00
Behdad Esfahbod f8ba99f6f3 LookupFlags 2006-12-25 09:58:02 -05:00
Behdad Esfahbod 25ad92c8a6 Implement Feature 2006-12-25 09:35:06 -05:00
Behdad Esfahbod befc022aff LangSys 2006-12-25 09:14:52 -05:00
Behdad Esfahbod c81efca149 Use CamelCaseTags. 2006-12-25 06:22:08 -05:00
Behdad Esfahbod 808dbe283c Make types not instantiable 2006-12-25 06:18:52 -05:00
Behdad Esfahbod b739c05ca4 Add OpenTypeFontFile. 2006-12-25 05:39:20 -05:00
Behdad Esfahbod 8596944b74 Add Makefile 2006-12-23 17:49:25 -05:00
Behdad Esfahbod b6e62bc5db After DEFINE_SCRIPT_ARRAY 2006-12-22 02:21:55 -05:00
Behdad Esfahbod 01e4fcb032 Remove the annoying HB_ prefix. 2006-12-21 22:31:31 -05:00
Behdad Esfahbod 6b4ce01da1 Second version. Complete redesign, based on C++ classes to ensure endian
correctness.
2006-12-21 22:31:10 -05:00
Behdad Esfahbod f78e70c301 First version. 2006-12-21 22:30:38 -05:00
Behdad Esfahbod f726b20e56 Bug 347073 – Allow empty GPOS table
2006-07-24  Behdad Esfahbod  <behdad@gnome.org>

        Bug 347073 – Allow empty GPOS table

        * pango/opentype/harfbuzz-open.c (_HB_OPEN_Load_ScriptList): Don't
        err on empty GPOS/GSUB tables.
2006-07-25 01:02:27 +00:00
Behdad Esfahbod 52481a5c55 Bug 345600 – cvs build error in pango/opentype/Makefile
2006-06-22  Behdad Esfahbod  <behdad@gnome.org>

        Bug 345600 – cvs build error in pango/opentype/Makefile

        * pango/opentype/Makefile.am: Rename variable SOURCES to MAINSOURCES.
        Some automake versions seem to use it or something.
2006-06-22 18:09:04 +00:00
Behdad Esfahbod ffb2d5c1e7 Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
2006-05-31  Behdad Esfahbod  <behdad@gnome.org>

        Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
        and have many cpu usage.
        Patch from Yong Li.

        * pango/opentype/ftglue.c (_hb_ftglue_face_goto_table): TrueType table
        offsets are absolute, not relative.
2006-05-31 07:42:55 +00:00
Behdad Esfahbod f8f7bd2451 Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't correct when
2006-05-31  Behdad Esfahbod  <behdad@gnome.org>

        Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't correct
        when using MarkAttchmentType
        Patch from Tin Myo Htet.

        * pango/opentype/harfbuzz-gpos.c (Lookup_MarkMarkPos): Ignore marks
        of non-matchin attachment type.
2006-05-31 07:23:02 +00:00
Behdad Esfahbod d2a613187c Fix loop variables. (coverity found bug.)
2006-04-12  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gpos.c: Fix loop variables. (coverity
        found bug.)
2006-04-12 18:47:50 +00:00
Behdad Esfahbod 14022e826f Bug 337924 – cleanups for issues reported by various compilers Patch
2006-04-11  Behdad Esfahbod  <behdad@gnome.org>

        Bug 337924 – cleanups for issues reported by various compilers
        Patch from Kjartan Maraas.

        * examples/viewer-x.c (update):
        * modules/arabic/arabic-fc.c (fallback_shape),
        (arabic_engine_shape):
        * modules/basic/basic-fc.c (fallback_shape), (basic_engine_shape):
        * modules/basic/basic-x.c:
        * modules/hangul/hangul-fc.c:
        * modules/hebrew/hebrew-fc.c (hebrew_engine_shape):
        * modules/indic/indic-fc.c:
        * modules/khmer/khmer-fc.c:
        * modules/syriac/syriac-fc.c:
        * modules/thai/thai-fc.c:
        * modules/tibetan/tibetan-fc.c:
        * pango/break.c:
        * pango/modules.c:
        * pango/opentype/ftglue.c (_hb_ftglue_face_goto_table):
        * pango/pango-attributes.c (pango_attr_list_filter):
        * pango/pango-engine.c:
        * pango/pango-fontset.c:
        * pango/pango-layout.c (pango_layout_set_text),
        (pango_layout_xy_to_index), (pango_layout_get_cursor_pos):
        * pango/pango-markup.c (text_handler):
        * pango/pango-utils.c (read_alias_file):
        * pango/pangocairo-fcfont.c (G_DEFINE_TYPE_WITH_CODE):
        * pango/pangocairo-fcfontmap.c (G_DEFINE_TYPE_WITH_CODE):
        * pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info):
        * pango/pangox-fontmap.c (pango_x_make_matching_xlfd):
        * tests/dump-boundaries.c (fail):
        Remove unused variables.  Remove excess semicolon after DEFINE_TYPE
        macros.
2006-04-11 08:31:44 +00:00
Behdad Esfahbod 59aafd0780 Fix minor bugs reported by the Coverity scan report.
2006-04-10  Behdad Esfahbod  <behdad@gnome.org>

        Fix minor bugs reported by the Coverity scan report.

        * pango/opentype/harfbuzz-gdef.c (HB_GDEF_Build_ClassDefinition):
        * pango/opentype/harfbuzz-gpos.c (HB_GPOS_Query_Scripts),
        (HB_GPOS_Query_Languages), (HB_GPOS_Query_Features): Do not access
        structs before we check them for nullity.

        * pango/pango-layout.c (pango_layout_index_to_line),
        (pango_layout_index_to_line_and_extents),
        (pango_layout_index_to_pos): Check for invalid iterators outside the
        loop, so we don't crash.

        * pango/pango-layout.c (pango_layout_line_x_to_index): Set
        char_trailing instead of trailing in one of too many paths.  Should
        have been a typo.

        * pango/pangox.c (get_font_metrics_from_subfonts): Check for nullity
        somewhere.
2006-04-10 10:33:17 +00:00
Behdad Esfahbod b31d6def96 Update from HarfBuzz. Lars Knoll fixed all the warnings.
2006-04-06  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype: Update from HarfBuzz.  Lars Knoll fixed all the
        warnings.
2006-04-06 18:23:49 +00:00
Behdad Esfahbod ca57250bc9 Make sure TTAG_GDEF and frineds are defined, needed for FreeType <= 2.1.7
2006-04-03  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-impl.h: Make sure TTAG_GDEF and frineds are
        defined, needed for FreeType <= 2.1.7 (pointed by Tim Janik).
2006-04-03 20:13:17 +00:00
Behdad Esfahbod f618288e00 . 2006-03-31 13:19:29 +00:00
Behdad Esfahbod 5f1f943b9e . 2006-03-31 13:18:23 +00:00
Behdad Esfahbod bce3e0b0d4 Define NULL. 2006-03-31 12:45:40 +00:00
Behdad Esfahbod 9f8da38cd1 Convert pango/opentype to the new project called HarfBuzz.
2006-03-31  Behdad Esfahbod  <behdad@gnome.org>

        Convert pango/opentype to the new project called HarfBuzz.

        * pango/opentype/*: Restructured.

        * pango/pango-ot-*: Updated to use HarfBuzz symbol names.
2006-03-31 12:28:09 +00:00
Behdad Esfahbod dd2a8d4d49 Don't err on Table_Missing.
2006-03-25  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/ottest.c: Don't err on Table_Missing.
2006-03-25 23:52:30 +00:00
Behdad Esfahbod 434833b1b7 === Released 1.12.0 ===
2006-03-13  Behdad Esfahbod  <behdad@gnome.org>

        * === Released 1.12.0 ===

        * configure.in: Version 1.12.0

        * NEWS, README: Updated.
2006-03-13 05:06:05 +00:00