Behdad Esfahbod [Sun, 9 Dec 2012 23:45:47 +0000 (18:45 -0500)]
[graphite2] "Update to new API"
Part of patch from Martin Hosken. I believe he knows what he's doing
:).
Behdad Esfahbod [Sun, 9 Dec 2012 23:44:41 +0000 (18:44 -0500)]
[graphite2] Add hb_graphite2_face_get_gr_face and hb_graphite2_font_get_gr_font
Based on patch from Martin Hosken. I believe it returns NULL if the
font doesn't have graphite tables, but have not tested.
Behdad Esfahbod [Sun, 9 Dec 2012 23:43:03 +0000 (18:43 -0500)]
[graphite2] Preload all tables
Part of patch from Martin Hosken.
Behdad Esfahbod [Sun, 9 Dec 2012 23:37:38 +0000 (18:37 -0500)]
Minor
Behdad Esfahbod [Sun, 9 Dec 2012 23:20:19 +0000 (18:20 -0500)]
Remove excess return
Oops!
Behdad Esfahbod [Sun, 9 Dec 2012 00:28:41 +0000 (19:28 -0500)]
Update OT language tags
Patch from Roozbeh Pournader.
Behdad Esfahbod [Thu, 6 Dec 2012 00:54:48 +0000 (19:54 -0500)]
Minor
Behdad Esfahbod [Thu, 6 Dec 2012 00:42:10 +0000 (19:42 -0500)]
Fix test with gold linker
Bug 57633 - Symbol tests should ignore __bss_start, _edata, _end
Behdad Esfahbod [Thu, 6 Dec 2012 00:20:31 +0000 (19:20 -0500)]
[Indic] Add link to Sinhala split matra section of the Sinhala spec
Behdad Esfahbod [Thu, 6 Dec 2012 00:18:18 +0000 (19:18 -0500)]
Fix build with C++11
Behdad Esfahbod [Wed, 5 Dec 2012 23:46:04 +0000 (18:46 -0500)]
Fix warnings
Behdad Esfahbod [Wed, 5 Dec 2012 22:36:52 +0000 (17:36 -0500)]
0.9.9
Behdad Esfahbod [Wed, 5 Dec 2012 21:49:47 +0000 (16:49 -0500)]
Rename VOID and void_t to have HarfBuzz prefix
Fixes build on Windows. Ouch!
Behdad Esfahbod [Tue, 4 Dec 2012 22:13:09 +0000 (17:13 -0500)]
[OTLayout] Reuse context in collect_glyphs() recursion
Behdad Esfahbod [Tue, 4 Dec 2012 22:08:41 +0000 (17:08 -0500)]
Minor
Use pointers instead of references, in preparation for upcoming change.
Behdad Esfahbod [Tue, 4 Dec 2012 21:58:09 +0000 (16:58 -0500)]
[OTLayout] Don't recurse in collect_glyphs() for GPOS
Behdad Esfahbod [Tue, 4 Dec 2012 20:57:02 +0000 (15:57 -0500)]
[ucdn] Match upstream changes
Behdad Esfahbod [Tue, 4 Dec 2012 20:43:38 +0000 (15:43 -0500)]
0.9.8
Behdad Esfahbod [Mon, 3 Dec 2012 22:35:54 +0000 (00:35 +0200)]
Move object mutext into the user-data array
We are not using it for anything lse it seems.
Behdad Esfahbod [Mon, 3 Dec 2012 22:29:35 +0000 (00:29 +0200)]
Remove unused functions
Behdad Esfahbod [Sun, 2 Dec 2012 17:14:29 +0000 (19:14 +0200)]
"Update" to Unicode 6.2.0 tables
Nothing changed...
Behdad Esfahbod [Fri, 30 Nov 2012 13:02:04 +0000 (15:02 +0200)]
Minor
Behdad Esfahbod [Fri, 30 Nov 2012 10:02:21 +0000 (12:02 +0200)]
Minor
Behdad Esfahbod [Fri, 30 Nov 2012 09:46:35 +0000 (11:46 +0200)]
Add Persian test cases from Mehran Mehr
Behdad Esfahbod [Fri, 30 Nov 2012 07:06:59 +0000 (09:06 +0200)]
Add test-size-params
Eventually this will become part of a yet-to-be-written hb-ot cmdline
tool.
Behdad Esfahbod [Fri, 30 Nov 2012 06:46:43 +0000 (08:46 +0200)]
Fix hb_buffer_guess_segment_properties() for empty buffer
Was causing assertion failure in shape_plan().
Behdad Esfahbod [Fri, 30 Nov 2012 06:38:24 +0000 (08:38 +0200)]
[OTLayout] Fix collect_glyphs() recursion in ContextFormat3
Behdad Esfahbod [Fri, 30 Nov 2012 06:24:13 +0000 (08:24 +0200)]
[OTLayout] Minor
Behdad Esfahbod [Fri, 30 Nov 2012 06:14:20 +0000 (08:14 +0200)]
[OTLayout] Look for any 'size' feature, not only in DFLT script
The old code doesn't work with all fonts, as Khaled has reported.
Behdad Esfahbod [Fri, 30 Nov 2012 06:10:26 +0000 (08:10 +0200)]
[OTLayout] Rename hb_ot_layout_position_get_size() to hb_ot_layout_get_size_params()
Behdad Esfahbod [Fri, 30 Nov 2012 06:07:06 +0000 (08:07 +0200)]
[OTLayout] Return correct value from recursion
Commit
4c4e8f0e754b79ac6190d21878eaaf0b790c7579 broke contextual lookups
by making the recurse() function always return false.
Reported by Khaled. Test case: لا in Amiri.
Behdad Esfahbod [Mon, 26 Nov 2012 12:02:31 +0000 (14:02 +0200)]
[OTLayout] Implement 'size' feature
Behdad Esfahbod [Sun, 25 Nov 2012 00:16:34 +0000 (19:16 -0500)]
[OTLayout] Remove operator() from ClassDef
Behdad Esfahbod [Sun, 25 Nov 2012 00:13:55 +0000 (19:13 -0500)]
[OTLayout] Remove operator() from Coverage
Behdad Esfahbod [Sat, 24 Nov 2012 07:31:02 +0000 (02:31 -0500)]
[OTLayout] Implement hb_ot_layout_collect_lookups()
Untested.
Behdad Esfahbod [Sat, 24 Nov 2012 07:05:52 +0000 (02:05 -0500)]
[OTLayout] Only collect output glyphs during recursion in collect_glyphs()
Behdad Esfahbod [Sat, 24 Nov 2012 06:55:34 +0000 (01:55 -0500)]
[OTLayout] Implement ChainContext collect_glyphs()
All of collect_glyphs() complete and untested now.
Behdad Esfahbod [Sat, 24 Nov 2012 06:38:41 +0000 (01:38 -0500)]
[OTLayout] Implement GPOS collect_glyphs()
Behdad Esfahbod [Sat, 24 Nov 2012 06:13:20 +0000 (01:13 -0500)]
[OTLayout] Reuse apply context for recursion
Behdad Esfahbod [Sat, 24 Nov 2012 06:03:05 +0000 (01:03 -0500)]
[OTLayout] Remove unused members
Behdad Esfahbod [Fri, 23 Nov 2012 23:54:59 +0000 (18:54 -0500)]
[OTLayout] Implement Context::collect_glyphs()
Behdad Esfahbod [Fri, 23 Nov 2012 23:13:48 +0000 (18:13 -0500)]
[OTLayout] More collect_glyphs()
Behdad Esfahbod [Fri, 23 Nov 2012 23:04:08 +0000 (18:04 -0500)]
[OTLayout] Templatize process_recurse_func
Behdad Esfahbod [Fri, 23 Nov 2012 22:55:40 +0000 (17:55 -0500)]
[OTLayout] Clean up closure() a bit
Behdad Esfahbod [Fri, 23 Nov 2012 22:32:00 +0000 (17:32 -0500)]
Improve debug log format in presence of templates
Behdad Esfahbod [Fri, 23 Nov 2012 22:29:05 +0000 (17:29 -0500)]
[OTLayout] Start porting sanitize() to process()
Behdad Esfahbod [Fri, 23 Nov 2012 22:23:41 +0000 (17:23 -0500)]
[OTLayout] Add process() tracing
Behdad Esfahbod [Fri, 23 Nov 2012 22:10:40 +0000 (17:10 -0500)]
[OTLayout] More Extension templatizing
Behdad Esfahbod [Fri, 23 Nov 2012 22:04:55 +0000 (17:04 -0500)]
[OTLayout] More templatizing Extension
Behdad Esfahbod [Fri, 23 Nov 2012 21:57:36 +0000 (16:57 -0500)]
Make Extension a template
Behdad Esfahbod [Fri, 23 Nov 2012 21:51:43 +0000 (16:51 -0500)]
Minor
Behdad Esfahbod [Fri, 23 Nov 2012 21:49:19 +0000 (16:49 -0500)]
More tracing fixup
Behdad Esfahbod [Fri, 23 Nov 2012 21:40:04 +0000 (16:40 -0500)]
[OTLayout] Start adding process() tracing
Behdad Esfahbod [Fri, 23 Nov 2012 20:34:11 +0000 (15:34 -0500)]
Cleanup
Behdad Esfahbod [Fri, 23 Nov 2012 20:32:14 +0000 (15:32 -0500)]
Pass this object to trace macros
Behdad Esfahbod [Fri, 23 Nov 2012 20:06:59 +0000 (15:06 -0500)]
[OTLayout] Start unbreaking tracing
Behdad Esfahbod [Fri, 23 Nov 2012 19:21:35 +0000 (14:21 -0500)]
Minor
Behdad Esfahbod [Fri, 23 Nov 2012 19:07:24 +0000 (14:07 -0500)]
Fix warnings
Behdad Esfahbod [Fri, 23 Nov 2012 18:27:16 +0000 (13:27 -0500)]
Minor
Behdad Esfahbod [Thu, 22 Nov 2012 21:47:53 +0000 (16:47 -0500)]
Move code around
Behdad Esfahbod [Thu, 22 Nov 2012 21:05:59 +0000 (16:05 -0500)]
[OTLayout] Port apply() operator to process() template
Behdad Esfahbod [Thu, 22 Nov 2012 19:38:10 +0000 (14:38 -0500)]
[OTLayout] Port would_apply() and get_coverage() to process() templates
Behdad Esfahbod [Thu, 22 Nov 2012 04:33:13 +0000 (23:33 -0500)]
[OTLayout] Port closure() to process() template
Behdad Esfahbod [Thu, 22 Nov 2012 21:26:22 +0000 (16:26 -0500)]
[ucdn] Make data tables const!
Behdad Esfahbod [Thu, 22 Nov 2012 19:15:08 +0000 (14:15 -0500)]
Fix hb_shape_plan_get_shaper()
Behdad Esfahbod [Wed, 21 Nov 2012 06:20:56 +0000 (01:20 -0500)]
0.9.7
Behdad Esfahbod [Wed, 21 Nov 2012 06:14:19 +0000 (01:14 -0500)]
Rename hb_set_population() to hb_set_get_population()
Behdad Esfahbod [Wed, 21 Nov 2012 06:04:15 +0000 (01:04 -0500)]
[Indic] One more try at unbreaking Khmer fonts
See comments and discussion on the list.
Behdad Esfahbod [Sat, 17 Nov 2012 03:07:06 +0000 (19:07 -0800)]
Start implementing collect_glyphs() operation
Not functional yet.
Behdad Esfahbod [Sat, 17 Nov 2012 02:49:54 +0000 (18:49 -0800)]
Whitespace
Behdad Esfahbod [Fri, 16 Nov 2012 22:08:05 +0000 (14:08 -0800)]
Minor
Behdad Esfahbod [Fri, 16 Nov 2012 21:53:40 +0000 (13:53 -0800)]
Implement hb_ot_layout_get_glyphs_in_class()
Behdad Esfahbod [Fri, 16 Nov 2012 21:34:29 +0000 (13:34 -0800)]
Implement hb_ot_layout_get_glyph_class()
Behdad Esfahbod [Fri, 16 Nov 2012 21:23:37 +0000 (13:23 -0800)]
Implement hb_shape_plan_get_shaper()
Untested.
Behdad Esfahbod [Fri, 16 Nov 2012 21:12:35 +0000 (13:12 -0800)]
[Indic] Another try to unbreak Sinhala split matras
Just read the comments...
Behdad Esfahbod [Fri, 16 Nov 2012 21:10:07 +0000 (13:10 -0800)]
Unbreak tests
Behdad Esfahbod [Fri, 16 Nov 2012 20:39:23 +0000 (12:39 -0800)]
Plumbing to get shape plan and font into complex decompose function
So we can handle Sinhala split matras smartly... Coming soon.
Behdad Esfahbod [Fri, 16 Nov 2012 02:45:31 +0000 (18:45 -0800)]
Rename hb_buffer_guess_properties() to hb_buffer_guess_segment_properties()
Behdad Esfahbod [Fri, 16 Nov 2012 02:39:46 +0000 (18:39 -0800)]
Bunch of independent changes (ouch)
API additions:
hb_segment_properties_t
HB_SEGMENT_PROPERTIES_DEFAULT
hb_segment_properties_equal()
hb_segment_properties_hash()
hb_buffer_set_segment_properties()
hb_buffer_get_segment_properties()
hb_ot_layout_glyph_class_t
hb_shape_plan_t
hb_shape_plan_create()
hb_shape_plan_create_cached()
hb_shape_plan_get_empty()
hb_shape_plan_reference()
hb_shape_plan_destroy()
hb_shape_plan_set_user_data()
hb_shape_plan_get_user_data()
hb_shape_plan_execute()
hb_ot_shape_plan_collect_lookups()
API changes:
Rename hb_ot_layout_feature_get_lookup_indexes() to
hb_ot_layout_feature_get_lookups().
New header file:
hb-shape-plan.h
And a bunch of prototyped but not implemented stuff. Coming soon.
(Tests fail because of the prototypes right now.)
Behdad Esfahbod [Fri, 16 Nov 2012 02:39:23 +0000 (18:39 -0800)]
Minor
Behdad Esfahbod [Fri, 16 Nov 2012 00:23:21 +0000 (16:23 -0800)]
Add hb_face_[sg]et_glyph_count()
Behdad Esfahbod [Fri, 16 Nov 2012 00:15:42 +0000 (16:15 -0800)]
Add / modify set API a bit
Behdad Esfahbod [Fri, 16 Nov 2012 00:14:23 +0000 (16:14 -0800)]
Minor
Behdad Esfahbod [Thu, 15 Nov 2012 23:38:08 +0000 (15:38 -0800)]
[Thai] Remove U+0E2C from "AC" consonants
WinXP doesn't include it.
Behdad Esfahbod [Thu, 15 Nov 2012 22:57:31 +0000 (14:57 -0800)]
Rename hb_ot_layout_would_substitute_lookup() and hb_ot_layout_substitute_closure_lookup()
To match upcoming API.
Behdad Esfahbod [Thu, 15 Nov 2012 21:29:51 +0000 (13:29 -0800)]
[util] Make hb-shape err if output-format is not understood
And list supported formats.
Behdad Esfahbod [Thu, 15 Nov 2012 21:15:39 +0000 (13:15 -0800)]
Make the OT shaper default, even if CoreText or Uniscribe is enabled
Behdad Esfahbod [Thu, 15 Nov 2012 21:14:12 +0000 (13:14 -0800)]
Add hb_buffer_serialize_list_formats()
Behdad Esfahbod [Thu, 15 Nov 2012 20:14:09 +0000 (12:14 -0800)]
Add buffer serialization / deserialization API
Two output formats for now: TEXT, and JSON. For example:
hb-shape --output-format=json
Deserialization API is added, but not implemented yet.
Behdad Esfahbod [Thu, 15 Nov 2012 18:47:14 +0000 (10:47 -0800)]
Avoid C++ undefined behavior
https://bugzilla.mozilla.org/show_bug.cgi?id=810823
Behdad Esfahbod [Thu, 15 Nov 2012 18:36:43 +0000 (10:36 -0800)]
Fix undefined behavior in Indic dottedcircle
Chromium Issue 158998: Conditional jump in harfbuzz-ng
http://code.google.com/p/chromium/issues/detail?id=158998
Behdad Esfahbod [Thu, 15 Nov 2012 01:25:03 +0000 (17:25 -0800)]
[Thai] Implement PUA-based fallback shaping
As explained here:
http://linux.thai.net/~thep/th-otf/shaping.html
Our output now matches Uniscribe for old fonts (eg. XP Tahoma) with no
Thai GSUB table.
Behdad Esfahbod [Thu, 15 Nov 2012 00:24:05 +0000 (16:24 -0800)]
Improve shaper selection
Behdad Esfahbod [Wed, 14 Nov 2012 23:55:17 +0000 (15:55 -0800)]
Add test cases for Thai PUA shaping
Behdad Esfahbod [Wed, 14 Nov 2012 23:51:54 +0000 (15:51 -0800)]
Move Thai shaper into a separate file
Behdad Esfahbod [Wed, 14 Nov 2012 23:36:53 +0000 (15:36 -0800)]
Add note re 'Phags-pa letter U+A872, which is Joining_Type=L
Behdad Esfahbod [Wed, 14 Nov 2012 23:07:36 +0000 (15:07 -0800)]
[Indic] Exchange abort() for assert()
Behdad Esfahbod [Wed, 14 Nov 2012 23:05:19 +0000 (15:05 -0800)]
Don't route Kharoshthi through the Indic shaper
It's a simple, right-to-left, script.
Behdad Esfahbod [Wed, 14 Nov 2012 23:00:53 +0000 (15:00 -0800)]
[Indic] Handle overstruck matra position
Behdad Esfahbod [Wed, 14 Nov 2012 22:09:46 +0000 (14:09 -0800)]
Reposition Lao marks
Lao marks are center-aligned, unlike Thai ones.