platform/upstream/libHarfBuzzSharp.git
11 years ago[Indic] Add link to Sinhala split matra section of the Sinhala spec
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

11 years agoFix build with C++11
Behdad Esfahbod [Thu, 6 Dec 2012 00:18:18 +0000 (19:18 -0500)]
Fix build with C++11

11 years agoFix warnings
Behdad Esfahbod [Wed, 5 Dec 2012 23:46:04 +0000 (18:46 -0500)]
Fix warnings

11 years ago0.9.9
Behdad Esfahbod [Wed, 5 Dec 2012 22:36:52 +0000 (17:36 -0500)]
0.9.9

11 years agoRename VOID and void_t to have HarfBuzz prefix
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!

11 years ago[OTLayout] Reuse context in collect_glyphs() recursion
Behdad Esfahbod [Tue, 4 Dec 2012 22:13:09 +0000 (17:13 -0500)]
[OTLayout] Reuse context in collect_glyphs() recursion

11 years agoMinor
Behdad Esfahbod [Tue, 4 Dec 2012 22:08:41 +0000 (17:08 -0500)]
Minor

Use pointers instead of references, in preparation for upcoming change.

11 years ago[OTLayout] Don't recurse in collect_glyphs() for GPOS
Behdad Esfahbod [Tue, 4 Dec 2012 21:58:09 +0000 (16:58 -0500)]
[OTLayout] Don't recurse in collect_glyphs() for GPOS

11 years ago[ucdn] Match upstream changes
Behdad Esfahbod [Tue, 4 Dec 2012 20:57:02 +0000 (15:57 -0500)]
[ucdn] Match upstream changes

11 years ago0.9.8
Behdad Esfahbod [Tue, 4 Dec 2012 20:43:38 +0000 (15:43 -0500)]
0.9.8

11 years agoMove object mutext into the user-data array
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.

11 years agoRemove unused functions
Behdad Esfahbod [Mon, 3 Dec 2012 22:29:35 +0000 (00:29 +0200)]
Remove unused functions

11 years ago"Update" to Unicode 6.2.0 tables
Behdad Esfahbod [Sun, 2 Dec 2012 17:14:29 +0000 (19:14 +0200)]
"Update" to Unicode 6.2.0 tables

Nothing changed...

11 years agoMinor
Behdad Esfahbod [Fri, 30 Nov 2012 13:02:04 +0000 (15:02 +0200)]
Minor

11 years agoMinor
Behdad Esfahbod [Fri, 30 Nov 2012 10:02:21 +0000 (12:02 +0200)]
Minor

11 years agoAdd Persian test cases from Mehran Mehr
Behdad Esfahbod [Fri, 30 Nov 2012 09:46:35 +0000 (11:46 +0200)]
Add Persian test cases from Mehran Mehr

11 years agoAdd test-size-params
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.

11 years agoFix hb_buffer_guess_segment_properties() for empty buffer
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().

11 years ago[OTLayout] Fix collect_glyphs() recursion in ContextFormat3
Behdad Esfahbod [Fri, 30 Nov 2012 06:38:24 +0000 (08:38 +0200)]
[OTLayout] Fix collect_glyphs() recursion in ContextFormat3

11 years ago[OTLayout] Minor
Behdad Esfahbod [Fri, 30 Nov 2012 06:24:13 +0000 (08:24 +0200)]
[OTLayout] Minor

11 years ago[OTLayout] Look for any 'size' feature, not only in DFLT script
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.

11 years ago[OTLayout] Rename hb_ot_layout_position_get_size() to hb_ot_layout_get_size_params()
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()

11 years ago[OTLayout] Return correct value from recursion
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.

11 years ago[OTLayout] Implement 'size' feature
Behdad Esfahbod [Mon, 26 Nov 2012 12:02:31 +0000 (14:02 +0200)]
[OTLayout] Implement 'size' feature

11 years ago[OTLayout] Remove operator() from ClassDef
Behdad Esfahbod [Sun, 25 Nov 2012 00:16:34 +0000 (19:16 -0500)]
[OTLayout] Remove operator() from ClassDef

11 years ago[OTLayout] Remove operator() from Coverage
Behdad Esfahbod [Sun, 25 Nov 2012 00:13:55 +0000 (19:13 -0500)]
[OTLayout] Remove operator() from Coverage

11 years ago[OTLayout] Implement hb_ot_layout_collect_lookups()
Behdad Esfahbod [Sat, 24 Nov 2012 07:31:02 +0000 (02:31 -0500)]
[OTLayout] Implement hb_ot_layout_collect_lookups()

Untested.

11 years ago[OTLayout] Only collect output glyphs during recursion in collect_glyphs()
Behdad Esfahbod [Sat, 24 Nov 2012 07:05:52 +0000 (02:05 -0500)]
[OTLayout] Only collect output glyphs during recursion in collect_glyphs()

11 years ago[OTLayout] Implement ChainContext 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.

11 years ago[OTLayout] Implement GPOS collect_glyphs()
Behdad Esfahbod [Sat, 24 Nov 2012 06:38:41 +0000 (01:38 -0500)]
[OTLayout] Implement GPOS collect_glyphs()

11 years ago[OTLayout] Reuse apply context for recursion
Behdad Esfahbod [Sat, 24 Nov 2012 06:13:20 +0000 (01:13 -0500)]
[OTLayout] Reuse apply context for recursion

11 years ago[OTLayout] Remove unused members
Behdad Esfahbod [Sat, 24 Nov 2012 06:03:05 +0000 (01:03 -0500)]
[OTLayout] Remove unused members

11 years ago[OTLayout] Implement Context::collect_glyphs()
Behdad Esfahbod [Fri, 23 Nov 2012 23:54:59 +0000 (18:54 -0500)]
[OTLayout] Implement Context::collect_glyphs()

11 years ago[OTLayout] More collect_glyphs()
Behdad Esfahbod [Fri, 23 Nov 2012 23:13:48 +0000 (18:13 -0500)]
[OTLayout] More collect_glyphs()

11 years ago[OTLayout] Templatize process_recurse_func
Behdad Esfahbod [Fri, 23 Nov 2012 23:04:08 +0000 (18:04 -0500)]
[OTLayout] Templatize process_recurse_func

11 years ago[OTLayout] Clean up closure() a bit
Behdad Esfahbod [Fri, 23 Nov 2012 22:55:40 +0000 (17:55 -0500)]
[OTLayout] Clean up closure() a bit

11 years agoImprove debug log format in presence of templates
Behdad Esfahbod [Fri, 23 Nov 2012 22:32:00 +0000 (17:32 -0500)]
Improve debug log format in presence of templates

11 years ago[OTLayout] Start porting sanitize() to process()
Behdad Esfahbod [Fri, 23 Nov 2012 22:29:05 +0000 (17:29 -0500)]
[OTLayout] Start porting sanitize() to process()

11 years ago[OTLayout] Add process() tracing
Behdad Esfahbod [Fri, 23 Nov 2012 22:23:41 +0000 (17:23 -0500)]
[OTLayout] Add process() tracing

11 years ago[OTLayout] More Extension templatizing
Behdad Esfahbod [Fri, 23 Nov 2012 22:10:40 +0000 (17:10 -0500)]
[OTLayout] More Extension templatizing

11 years ago[OTLayout] More templatizing Extension
Behdad Esfahbod [Fri, 23 Nov 2012 22:04:55 +0000 (17:04 -0500)]
[OTLayout] More templatizing Extension

11 years agoMake Extension a template
Behdad Esfahbod [Fri, 23 Nov 2012 21:57:36 +0000 (16:57 -0500)]
Make Extension a template

11 years agoMinor
Behdad Esfahbod [Fri, 23 Nov 2012 21:51:43 +0000 (16:51 -0500)]
Minor

11 years agoMore tracing fixup
Behdad Esfahbod [Fri, 23 Nov 2012 21:49:19 +0000 (16:49 -0500)]
More tracing fixup

11 years ago[OTLayout] Start adding process() tracing
Behdad Esfahbod [Fri, 23 Nov 2012 21:40:04 +0000 (16:40 -0500)]
[OTLayout] Start adding process() tracing

11 years agoCleanup
Behdad Esfahbod [Fri, 23 Nov 2012 20:34:11 +0000 (15:34 -0500)]
Cleanup

11 years agoPass this object to trace macros
Behdad Esfahbod [Fri, 23 Nov 2012 20:32:14 +0000 (15:32 -0500)]
Pass this object to trace macros

11 years ago[OTLayout] Start unbreaking tracing
Behdad Esfahbod [Fri, 23 Nov 2012 20:06:59 +0000 (15:06 -0500)]
[OTLayout] Start unbreaking tracing

11 years agoMinor
Behdad Esfahbod [Fri, 23 Nov 2012 19:21:35 +0000 (14:21 -0500)]
Minor

11 years agoFix warnings
Behdad Esfahbod [Fri, 23 Nov 2012 19:07:24 +0000 (14:07 -0500)]
Fix warnings

11 years agoMinor
Behdad Esfahbod [Fri, 23 Nov 2012 18:27:16 +0000 (13:27 -0500)]
Minor

11 years agoMove code around
Behdad Esfahbod [Thu, 22 Nov 2012 21:47:53 +0000 (16:47 -0500)]
Move code around

11 years ago[OTLayout] Port apply() operator to process() template
Behdad Esfahbod [Thu, 22 Nov 2012 21:05:59 +0000 (16:05 -0500)]
[OTLayout] Port apply() operator to process() template

11 years ago[OTLayout] Port would_apply() and get_coverage() to process() templates
Behdad Esfahbod [Thu, 22 Nov 2012 19:38:10 +0000 (14:38 -0500)]
[OTLayout] Port would_apply() and get_coverage() to process() templates

11 years ago[OTLayout] Port closure() to process() template
Behdad Esfahbod [Thu, 22 Nov 2012 04:33:13 +0000 (23:33 -0500)]
[OTLayout] Port closure() to process() template

11 years ago[ucdn] Make data tables const!
Behdad Esfahbod [Thu, 22 Nov 2012 21:26:22 +0000 (16:26 -0500)]
[ucdn] Make data tables const!

11 years agoFix hb_shape_plan_get_shaper()
Behdad Esfahbod [Thu, 22 Nov 2012 19:15:08 +0000 (14:15 -0500)]
Fix hb_shape_plan_get_shaper()

11 years ago0.9.7
Behdad Esfahbod [Wed, 21 Nov 2012 06:20:56 +0000 (01:20 -0500)]
0.9.7

11 years agoRename hb_set_population() to hb_set_get_population()
Behdad Esfahbod [Wed, 21 Nov 2012 06:14:19 +0000 (01:14 -0500)]
Rename hb_set_population() to hb_set_get_population()

11 years ago[Indic] One more try at unbreaking Khmer fonts
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.

11 years agoStart implementing collect_glyphs() operation
Behdad Esfahbod [Sat, 17 Nov 2012 03:07:06 +0000 (19:07 -0800)]
Start implementing collect_glyphs() operation

Not functional yet.

11 years agoWhitespace
Behdad Esfahbod [Sat, 17 Nov 2012 02:49:54 +0000 (18:49 -0800)]
Whitespace

11 years agoMinor
Behdad Esfahbod [Fri, 16 Nov 2012 22:08:05 +0000 (14:08 -0800)]
Minor

11 years agoImplement hb_ot_layout_get_glyphs_in_class()
Behdad Esfahbod [Fri, 16 Nov 2012 21:53:40 +0000 (13:53 -0800)]
Implement hb_ot_layout_get_glyphs_in_class()

11 years agoImplement hb_ot_layout_get_glyph_class()
Behdad Esfahbod [Fri, 16 Nov 2012 21:34:29 +0000 (13:34 -0800)]
Implement hb_ot_layout_get_glyph_class()

11 years agoImplement hb_shape_plan_get_shaper()
Behdad Esfahbod [Fri, 16 Nov 2012 21:23:37 +0000 (13:23 -0800)]
Implement hb_shape_plan_get_shaper()

Untested.

11 years ago[Indic] Another try to unbreak Sinhala split matras
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...

11 years agoUnbreak tests
Behdad Esfahbod [Fri, 16 Nov 2012 21:10:07 +0000 (13:10 -0800)]
Unbreak tests

11 years agoPlumbing to get shape plan and font into complex decompose function
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.

11 years agoRename hb_buffer_guess_properties() to hb_buffer_guess_segment_properties()
Behdad Esfahbod [Fri, 16 Nov 2012 02:45:31 +0000 (18:45 -0800)]
Rename hb_buffer_guess_properties() to hb_buffer_guess_segment_properties()

11 years agoBunch of independent changes (ouch)
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.)

11 years agoMinor
Behdad Esfahbod [Fri, 16 Nov 2012 02:39:23 +0000 (18:39 -0800)]
Minor

11 years agoAdd hb_face_[sg]et_glyph_count()
Behdad Esfahbod [Fri, 16 Nov 2012 00:23:21 +0000 (16:23 -0800)]
Add hb_face_[sg]et_glyph_count()

11 years agoAdd / modify set API a bit
Behdad Esfahbod [Fri, 16 Nov 2012 00:15:42 +0000 (16:15 -0800)]
Add / modify set API a bit

11 years agoMinor
Behdad Esfahbod [Fri, 16 Nov 2012 00:14:23 +0000 (16:14 -0800)]
Minor

11 years ago[Thai] Remove U+0E2C from "AC" consonants
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.

11 years agoRename hb_ot_layout_would_substitute_lookup() and hb_ot_layout_substitute_closure_loo...
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.

11 years ago[util] Make hb-shape err if output-format is not understood
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.

11 years agoMake the OT shaper default, even if CoreText or Uniscribe is enabled
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

11 years agoAdd hb_buffer_serialize_list_formats()
Behdad Esfahbod [Thu, 15 Nov 2012 21:14:12 +0000 (13:14 -0800)]
Add hb_buffer_serialize_list_formats()

11 years agoAdd buffer serialization / deserialization API
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.

11 years agoAvoid C++ undefined behavior
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

11 years agoFix undefined behavior in Indic dottedcircle
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

11 years ago[Thai] Implement PUA-based fallback shaping
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.

11 years agoImprove shaper selection
Behdad Esfahbod [Thu, 15 Nov 2012 00:24:05 +0000 (16:24 -0800)]
Improve shaper selection

11 years agoAdd test cases for Thai PUA shaping
Behdad Esfahbod [Wed, 14 Nov 2012 23:55:17 +0000 (15:55 -0800)]
Add test cases for Thai PUA shaping

11 years agoMove Thai shaper into a separate file
Behdad Esfahbod [Wed, 14 Nov 2012 23:51:54 +0000 (15:51 -0800)]
Move Thai shaper into a separate file

11 years agoAdd note re 'Phags-pa letter U+A872, which is Joining_Type=L
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

11 years ago[Indic] Exchange abort() for assert()
Behdad Esfahbod [Wed, 14 Nov 2012 23:07:36 +0000 (15:07 -0800)]
[Indic] Exchange abort() for assert()

11 years agoDon't route Kharoshthi through the Indic shaper
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.

11 years ago[Indic] Handle overstruck matra position
Behdad Esfahbod [Wed, 14 Nov 2012 23:00:53 +0000 (15:00 -0800)]
[Indic] Handle overstruck matra position

11 years agoReposition Lao marks
Behdad Esfahbod [Wed, 14 Nov 2012 22:09:46 +0000 (14:09 -0800)]
Reposition Lao marks

Lao marks are center-aligned, unlike Thai ones.

11 years agoDon't do fallback positioning for Indic and Thai shapers
Behdad Esfahbod [Wed, 14 Nov 2012 21:48:26 +0000 (13:48 -0800)]
Don't do fallback positioning for Indic and Thai shapers

11 years ago[Indic] If Khmer fonts have a 'liga' feature, use generic shaper
Behdad Esfahbod [Wed, 14 Nov 2012 21:38:16 +0000 (13:38 -0800)]
[Indic] If Khmer fonts have a 'liga' feature, use generic shaper

Seems to produce more coherent results than trying the Indic shaper on
them.  I'm looking at you, Kh-* fonts...

11 years agoAdjust diff rule for the new hb-shape output format
Behdad Esfahbod [Wed, 14 Nov 2012 19:38:50 +0000 (11:38 -0800)]
Adjust diff rule for the new hb-shape output format

11 years ago[Indic] Don't move virama with left matra
Behdad Esfahbod [Wed, 14 Nov 2012 19:37:04 +0000 (11:37 -0800)]
[Indic] Don't move virama with left matra

This is important for the Sinhala U+0DDA split matra since it decomposes
to U+0DD9,U+0DCA where U+0DD9 is a left matra and U+0DCA is the virama.
We don't want to move the virama with the left matra.
TEST: U+0D9A,U+0DDA

Note that we were already doing this in the Uniscribe bug compatibility
mode.  We now do it all the time.

11 years agoAdd Sinhala test case for split matra U+0DDA
Behdad Esfahbod [Wed, 14 Nov 2012 18:56:02 +0000 (10:56 -0800)]
Add Sinhala test case for split matra U+0DDA

11 years agoFix test
Behdad Esfahbod [Wed, 14 Nov 2012 18:53:10 +0000 (10:53 -0800)]
Fix test

11 years agoMinor
Behdad Esfahbod [Wed, 14 Nov 2012 00:50:45 +0000 (16:50 -0800)]
Minor

11 years agoAPI change: Remove "mask" from hb_buffer_add()
Behdad Esfahbod [Wed, 14 Nov 2012 00:26:32 +0000 (16:26 -0800)]
API change: Remove "mask" from hb_buffer_add()

I don't expect anybody using hb_buffer_add(), so this shouldn't break
anyone's code.