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.
Behdad Esfahbod [Wed, 15 Oct 2008 03:45:29 +0000 (03:45 +0000)]
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.
Behdad Esfahbod [Mon, 29 Sep 2008 22:28:47 +0000 (22:28 +0000)]
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.
Behdad Esfahbod [Sun, 29 Jun 2008 18:30:14 +0000 (18:30 +0000)]
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.
Behdad Esfahbod [Tue, 19 Feb 2008 02:14:23 +0000 (21:14 -0500)]
[hb-ot-layout] Add proper namespace to accessors
Behdad Esfahbod [Tue, 19 Feb 2008 01:58:39 +0000 (20:58 -0500)]
Fix typo, add TODOs
Behdad Esfahbod [Mon, 28 Jan 2008 12:40:10 +0000 (07:40 -0500)]
Finish script, language, and feature public API
Behdad Esfahbod [Mon, 28 Jan 2008 10:58:50 +0000 (05:58 -0500)]
Add script and language public getter API
Behdad Esfahbod [Mon, 28 Jan 2008 07:30:48 +0000 (02:30 -0500)]
Make main.cc compile again, which means finished getter API
Behdad Esfahbod [Mon, 28 Jan 2008 05:16:49 +0000 (00:16 -0500)]
Rename HB_OT_Layout to hb_ot_layout_t
Behdad Esfahbod [Mon, 28 Jan 2008 05:12:21 +0000 (00:12 -0500)]
Rename hb_ot_layout_create() to hb_ot_layout_create_for_data()
Behdad Esfahbod [Mon, 28 Jan 2008 02:19:51 +0000 (21:19 -0500)]
GDEF completely working now
Behdad Esfahbod [Fri, 25 Jan 2008 00:38:56 +0000 (19:38 -0500)]
[GDEF] Finish internal API
Behdad Esfahbod [Fri, 25 Jan 2008 00:13:50 +0000 (19:13 -0500)]
[GDEF] Finish public API
Behdad Esfahbod [Thu, 24 Jan 2008 11:03:45 +0000 (06:03 -0500)]
Implement glyph properties
Behdad Esfahbod [Thu, 24 Jan 2008 08:54:09 +0000 (03:54 -0500)]
More public api
Behdad Esfahbod [Thu, 24 Jan 2008 08:11:09 +0000 (03:11 -0500)]
Starting public interface
Behdad Esfahbod [Thu, 24 Jan 2008 04:42:24 +0000 (04:42 +0000)]
Remove unused macro
Behdad Esfahbod [Wed, 23 Jan 2008 23:02:28 +0000 (18:02 -0500)]
Minor
Behdad Esfahbod [Wed, 23 Jan 2008 22:25:29 +0000 (17:25 -0500)]
Minor renaming
Behdad Esfahbod [Wed, 23 Jan 2008 22:01:55 +0000 (17:01 -0500)]
Initial gsub stub
Behdad Esfahbod [Wed, 23 Jan 2008 21:14:38 +0000 (16:14 -0500)]
Add copyright notices.
Behdad Esfahbod [Wed, 23 Jan 2008 20:50:38 +0000 (15:50 -0500)]
Minor cleanup, add LIKELY and UNLIKELY annotations
Behdad Esfahbod [Wed, 23 Jan 2008 10:00:30 +0000 (05:00 -0500)]
Clean up file names, add namespace
Behdad Esfahbod [Wed, 23 Jan 2008 09:36:40 +0000 (04:36 -0500)]
Make all code NULL-free and assert-free
Behdad Esfahbod [Wed, 23 Jan 2008 07:01:37 +0000 (02:01 -0500)]
Define get_for_data() factories
Behdad Esfahbod [Wed, 23 Jan 2008 06:38:10 +0000 (01:38 -0500)]
Finish and test GDEF
Behdad Esfahbod [Wed, 23 Jan 2008 05:20:48 +0000 (00:20 -0500)]
Misc cleanup
Behdad Esfahbod [Wed, 16 Jan 2008 20:39:29 +0000 (20:39 +0000)]
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.
Behdad Esfahbod [Tue, 15 Jan 2008 22:46:32 +0000 (22:46 +0000)]
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.
Behdad Esfahbod [Wed, 5 Dec 2007 03:41:29 +0000 (03:41 +0000)]
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.
Behdad Esfahbod [Fri, 30 Nov 2007 04:31:29 +0000 (04:31 +0000)]
Undo accidental change.
Behdad Esfahbod [Fri, 30 Nov 2007 04:29:58 +0000 (04:29 +0000)]
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.
Behdad Esfahbod [Sat, 24 Nov 2007 01:40:13 +0000 (01:40 +0000)]
Remove unused macro.
2007-11-23 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-impl.c: Remove unused macro.
Behdad Esfahbod [Sun, 18 Nov 2007 22:34:08 +0000 (22:34 +0000)]
Minor