Commit Graph

11689 Commits

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