Behdad Esfahbod [Wed, 20 May 2009 04:00:09 +0000 (00:00 -0400)]
[GDEF] Simplify Device access
Behdad Esfahbod [Wed, 20 May 2009 03:58:54 +0000 (23:58 -0400)]
[HB] Indentation
Behdad Esfahbod [Wed, 20 May 2009 03:43:04 +0000 (23:43 -0400)]
[HB] Remove unused methods
Behdad Esfahbod [Wed, 20 May 2009 03:42:30 +0000 (23:42 -0400)]
[HB] Indentation
Behdad Esfahbod [Wed, 20 May 2009 03:25:41 +0000 (23:25 -0400)]
[GPOS] CursivePosFormat1
Behdad Esfahbod [Wed, 20 May 2009 02:30:09 +0000 (22:30 -0400)]
[GSUB] PairPosFormat2
Behdad Esfahbod [Wed, 20 May 2009 02:16:04 +0000 (22:16 -0400)]
[GPOS] PairPosFormat1
Behdad Esfahbod [Mon, 18 May 2009 23:47:52 +0000 (19:47 -0400)]
[GPOS] Start filling apply() functions in
Behdad Esfahbod [Mon, 18 May 2009 22:44:54 +0000 (18:44 -0400)]
[HB] Use enums
Behdad Esfahbod [Mon, 18 May 2009 22:30:25 +0000 (18:30 -0400)]
[HB] More reference cast simplification
Behdad Esfahbod [Mon, 18 May 2009 22:22:44 +0000 (18:22 -0400)]
[HB] Rename LOOKUP_ARGS to APPLY_ARGS
Behdad Esfahbod [Mon, 18 May 2009 22:21:44 +0000 (18:21 -0400)]
[HB] Internally rename position() and substitute() to apply()
Behdad Esfahbod [Mon, 18 May 2009 22:01:19 +0000 (18:01 -0400)]
[HB] Simplify casts
Behdad Esfahbod [Mon, 18 May 2009 21:43:49 +0000 (17:43 -0400)]
Switch Pango to new, defunt, GPOS
Behdad Esfahbod [Mon, 18 May 2009 21:09:33 +0000 (17:09 -0400)]
[HB] Start GPOS!
Behdad Esfahbod [Mon, 18 May 2009 19:32:40 +0000 (15:32 -0400)]
[GSUB] Minor
Behdad Esfahbod [Mon, 18 May 2009 17:50:15 +0000 (13:50 -0400)]
[HB] Minor
Behdad Esfahbod [Mon, 18 May 2009 10:00:12 +0000 (06:00 -0400)]
[GSUB] Protect against mismatching Extension subtable types
Behdad Esfahbod [Mon, 18 May 2009 09:47:47 +0000 (05:47 -0400)]
[GSUB] Implement ReverseChainSingleSubst
GSUB is done!
Behdad Esfahbod [Mon, 18 May 2009 09:29:29 +0000 (05:29 -0400)]
[HB] Don't use G_LIKELY!
Behdad Esfahbod [Mon, 18 May 2009 09:22:32 +0000 (05:22 -0400)]
[GSUB] Oops, fix Extension check
Behdad Esfahbod [Mon, 18 May 2009 08:37:37 +0000 (04:37 -0400)]
[HB] Tweak some constants and fix Coverage
Behdad Esfahbod [Mon, 18 May 2009 08:25:22 +0000 (04:25 -0400)]
[HB] Cleanup TODOs
Behdad Esfahbod [Mon, 18 May 2009 08:21:53 +0000 (04:21 -0400)]
[GSUB] Fix context_length handling in Ligature too
Behdad Esfahbod [Mon, 18 May 2009 08:17:47 +0000 (04:17 -0400)]
[HB] Minor cleanup
Behdad Esfahbod [Mon, 18 May 2009 08:15:25 +0000 (04:15 -0400)]
[HB] Correctly skip glyphs when applying (Chain)Context lookups
Behdad Esfahbod [Mon, 18 May 2009 08:09:05 +0000 (04:09 -0400)]
[HB] Fix context_length checking
Behdad Esfahbod [Mon, 18 May 2009 07:56:39 +0000 (03:56 -0400)]
[HB] ChainContext complete
IranNastaliq renders perfectly again!
Behdad Esfahbod [Mon, 18 May 2009 07:47:31 +0000 (03:47 -0400)]
[HB] Implement backtrack matching
Behdad Esfahbod [Mon, 18 May 2009 06:47:57 +0000 (02:47 -0400)]
[HB] One more step to go, for fully working GSUB and ChainContext
Behdad Esfahbod [Mon, 18 May 2009 06:36:18 +0000 (02:36 -0400)]
[HB] Further modularize Context matching
Behdad Esfahbod [Mon, 18 May 2009 06:14:37 +0000 (02:14 -0400)]
[HB] A step closer to working ChainContext
Behdad Esfahbod [Mon, 18 May 2009 06:03:58 +0000 (02:03 -0400)]
[HB] Add HeadlessArrayTo<>
Behdad Esfahbod [Mon, 18 May 2009 05:49:57 +0000 (01:49 -0400)]
[HB] More template goodness
Behdad Esfahbod [Mon, 18 May 2009 03:17:56 +0000 (23:17 -0400)]
[HB] More churning towards ChainContext lookups
Behdad Esfahbod [Mon, 18 May 2009 02:11:30 +0000 (22:11 -0400)]
[HB] Towards sharing Context and ChainContext code
Behdad Esfahbod [Mon, 18 May 2009 01:11:49 +0000 (21:11 -0400)]
[HB] Add check to avoid infinite recursion
Behdad Esfahbod [Mon, 18 May 2009 01:06:08 +0000 (21:06 -0400)]
[HB] Cosmetic
Behdad Esfahbod [Mon, 18 May 2009 00:48:27 +0000 (20:48 -0400)]
[HB] Start ChainContext and ReverseChainSingleSubst lookups
Behdad Esfahbod [Mon, 18 May 2009 00:30:05 +0000 (20:30 -0400)]
[HB] Remove stale TODO
Behdad Esfahbod [Mon, 18 May 2009 00:28:01 +0000 (20:28 -0400)]
[HB] Split Layout-common tables into new files
Behdad Esfahbod [Mon, 18 May 2009 00:13:02 +0000 (20:13 -0400)]
[HB] More shuffling
Behdad Esfahbod [Sun, 17 May 2009 23:47:54 +0000 (19:47 -0400)]
[HB] Cleanup format unions
Behdad Esfahbod [Sun, 17 May 2009 23:31:18 +0000 (19:31 -0400)]
[HB] Use four bytes for Null Tag, not 5
Behdad Esfahbod [Sun, 17 May 2009 13:45:32 +0000 (09:45 -0400)]
[HB] Couple size checks
Behdad Esfahbod [Sun, 17 May 2009 13:34:41 +0000 (09:34 -0400)]
[HB] Propagate property of first glyph
This slightly grows code size.
Behdad Esfahbod [Sun, 17 May 2009 13:07:27 +0000 (09:07 -0400)]
[GSUB] Further optimize the main switch
Behdad Esfahbod [Sun, 17 May 2009 12:59:01 +0000 (08:59 -0400)]
[HB] Unify first glyph property checking
Behdad Esfahbod [Sun, 17 May 2009 12:28:42 +0000 (08:28 -0400)]
[HB] Move Context matching logic out of GSUB
Behdad Esfahbod [Sun, 17 May 2009 11:52:11 +0000 (07:52 -0400)]
[GSUB] Unify ContextSubst matching
Behdad Esfahbod [Sun, 17 May 2009 11:39:34 +0000 (07:39 -0400)]
[HB] Renames
Behdad Esfahbod [Sun, 17 May 2009 10:03:42 +0000 (06:03 -0400)]
[HB] Simplify buffer
Behdad Esfahbod [Sun, 17 May 2009 09:52:32 +0000 (05:52 -0400)]
[HB] Add TODO item
Behdad Esfahbod [Sun, 17 May 2009 09:14:33 +0000 (05:14 -0400)]
[HB] Update copyright years
Behdad Esfahbod [Sun, 17 May 2009 08:59:56 +0000 (04:59 -0400)]
[HB] Simplify more arrays
Behdad Esfahbod [Sun, 17 May 2009 05:22:51 +0000 (01:22 -0400)]
[HB] Use ArrayOf<> in GSUB
Behdad Esfahbod [Sun, 17 May 2009 04:54:25 +0000 (00:54 -0400)]
[HB] Add ArrayOf<>
Behdad Esfahbod [Sun, 17 May 2009 04:22:37 +0000 (00:22 -0400)]
[HB] Use OffsetTo<> for Coverage
Behdad Esfahbod [Sun, 17 May 2009 04:15:51 +0000 (00:15 -0400)]
[HB] Use OffsetTo<> in more places
Behdad Esfahbod [Sun, 17 May 2009 04:09:20 +0000 (00:09 -0400)]
[HB] Add OffsetTo template.
Behdad Esfahbod [Sun, 17 May 2009 03:20:48 +0000 (23:20 -0400)]
[HB] Automate int-type size assertion
Behdad Esfahbod [Sun, 17 May 2009 02:48:14 +0000 (22:48 -0400)]
[HB] Use templates for Null objects
Also use a common pool for all nul-content ones.
Behdad Esfahbod [Sun, 17 May 2009 00:15:16 +0000 (20:15 -0400)]
[HB] Remove obsolete comment
Behdad Esfahbod [Sat, 16 May 2009 23:59:15 +0000 (19:59 -0400)]
[GSUB] Start ChainContextSubst
Behdad Esfahbod [Sat, 16 May 2009 23:44:24 +0000 (19:44 -0400)]
[GSUB] Implement ContextSubstFormat3
Behdad Esfahbod [Sat, 16 May 2009 00:25:37 +0000 (20:25 -0400)]
[GSUB] Implement ContextSubstFormat2
Behdad Esfahbod [Sat, 16 May 2009 00:11:10 +0000 (20:11 -0400)]
[GSUB] Add GSUB::substitute_lookup()
Behdad Esfahbod [Fri, 15 May 2009 22:54:53 +0000 (18:54 -0400)]
[GSUB] Finish ContextSubstFormat1
Behdad Esfahbod [Fri, 15 May 2009 17:28:56 +0000 (13:28 -0400)]
[HB] Fix typo
Behdad Esfahbod [Fri, 15 May 2009 05:00:36 +0000 (01:00 -0400)]
[HB] Add TODO item
Behdad Esfahbod [Sat, 9 May 2009 01:17:56 +0000 (21:17 -0400)]
[HB] Remove DEFINE_NON_INSTANTIABLE
Behdad Esfahbod [Sat, 9 May 2009 01:12:18 +0000 (21:12 -0400)]
[HB] Remove get_size()
Behdad Esfahbod [Fri, 8 May 2009 23:09:17 +0000 (19:09 -0400)]
[GSUB] ContextSubst format 1
Behdad Esfahbod [Fri, 8 May 2009 22:45:53 +0000 (18:45 -0400)]
[GSUB] Shuffle
Behdad Esfahbod [Thu, 7 May 2009 16:53:02 +0000 (12:53 -0400)]
[HarfBuzz] Start a TODO file
Behdad Esfahbod [Wed, 6 May 2009 04:25:59 +0000 (00:25 -0400)]
[GSUB] minor
Behdad Esfahbod [Wed, 6 May 2009 04:12:29 +0000 (00:12 -0400)]
[GSUB] Towards Context subtitutes
Behdad Esfahbod [Tue, 5 May 2009 20:22:02 +0000 (16:22 -0400)]
[GSUB] Minor refactoring
Behdad Esfahbod [Tue, 5 May 2009 17:25:13 +0000 (13:25 -0400)]
[GSUB] Implement ligature substitutions
Behdad Esfahbod [Tue, 5 May 2009 00:21:57 +0000 (20:21 -0400)]
[GSUB] Hook new GSUB up in Pango
Behdad Esfahbod [Thu, 16 Apr 2009 20:53:40 +0000 (16:53 -0400)]
[GSUB] Start Ligature subtable support
Behdad Esfahbod [Thu, 16 Apr 2009 18:19:42 +0000 (14:19 -0400)]
[GSUB] Implement Alternate subtables
Behdad Esfahbod [Thu, 16 Apr 2009 17:40:13 +0000 (13:40 -0400)]
[GSUB] Implement Extension subtables
Behdad Esfahbod [Thu, 16 Apr 2009 16:30:51 +0000 (12:30 -0400)]
[GSUB] Fix reverse lookup loop like we did in the old code before
Behdad Esfahbod [Thu, 16 Apr 2009 08:45:30 +0000 (04:45 -0400)]
[harfbuzz/GSUB] towards a partially working GSUB
Behdad Esfahbod [Thu, 16 Apr 2009 02:56:15 +0000 (22:56 -0400)]
Implement the first substitute()
Behdad Esfahbod [Mon, 2 Nov 2009 19:35:51 +0000 (14:35 -0500)]
Merge harfbuzz-ng
Behdad Esfahbod [Fri, 17 Apr 2009 21:03:39 +0000 (17:03 -0400)]
Use git.mk
Behdad Esfahbod [Wed, 15 Apr 2009 23:50:16 +0000 (19:50 -0400)]
Give it a start at GSUB
Behdad Esfahbod [Thu, 9 Apr 2009 17:30:26 +0000 (13:30 -0400)]
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".
Behdad Esfahbod [Mon, 2 Mar 2009 11:46:11 +0000 (15:16 +0330)]
[opentype] Protect against illegal access for arrays of length zero
Behdad Esfahbod [Mon, 2 Mar 2009 10:50:20 +0000 (14:20 +0330)]
[opentype] Use size_t instead of uint for malloc wrappers
Behdad Esfahbod [Mon, 2 Mar 2009 07:39:29 +0000 (11:09 +0330)]
Fix Bug 572529 – Poor -I ordering can break build
Behdad Esfahbod [Mon, 2 Feb 2009 00:13:07 +0000 (00:13 +0000)]
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,
Behdad Esfahbod [Thu, 29 Jan 2009 09:20:08 +0000 (09:20 +0000)]
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.
Behdad Esfahbod [Thu, 29 Jan 2009 09:19:56 +0000 (09:19 +0000)]
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.
Behdad Esfahbod [Thu, 29 Jan 2009 09:19:43 +0000 (09:19 +0000)]
Remove old cruft.
2009-01-29 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-dump-main.c (main): Remove old cruft.
Behdad Esfahbod [Thu, 29 Jan 2009 09:19:20 +0000 (09:19 +0000)]
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!
Behdad Esfahbod [Fri, 26 Dec 2008 02:31:47 +0000 (02:31 +0000)]
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.
Behdad Esfahbod [Fri, 26 Dec 2008 02:31:35 +0000 (02:31 +0000)]
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.