Commit Graph

410 Commits

Author SHA1 Message Date
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