Behdad Esfahbod
73c18ae1b9
Cleanup
2012-11-23 15:34:11 -05:00
Behdad Esfahbod
be218c688c
Pass this object to trace macros
2012-11-23 15:32:14 -05:00
Behdad Esfahbod
902cc8aca0
[OTLayout] Start unbreaking tracing
2012-11-23 15:23:30 -05:00
Behdad Esfahbod
dabe698fcb
Minor
2012-11-23 14:21:35 -05:00
Behdad Esfahbod
c779d82b2f
Fix warnings
2012-11-23 14:09:21 -05:00
Behdad Esfahbod
81822528ef
Minor
2012-11-23 13:27:16 -05:00
Behdad Esfahbod
1d67ef980f
Move code around
2012-11-22 16:47:53 -05:00
Behdad Esfahbod
ec35a72a44
[OTLayout] Port apply() operator to process() template
2012-11-22 16:33:46 -05:00
Behdad Esfahbod
2005fa5340
[OTLayout] Port would_apply() and get_coverage() to process() templates
2012-11-22 16:33:46 -05:00
Behdad Esfahbod
44fc237b53
[OTLayout] Port closure() to process() template
2012-11-22 16:33:46 -05:00
Behdad Esfahbod
5be86b1bb4
[ucdn] Make data tables const!
2012-11-22 16:33:46 -05:00
Behdad Esfahbod
7c5b7fe686
Fix hb_shape_plan_get_shaper()
2012-11-22 16:33:46 -05:00
Behdad Esfahbod
ac064a2db2
Rename hb_set_population() to hb_set_get_population()
2012-11-21 01:14:19 -05:00
Behdad Esfahbod
16c914c2a6
[Indic] One more try at unbreaking Khmer fonts
...
See comments and discussion on the list.
2012-11-21 01:04:15 -05:00
Behdad Esfahbod
e8cfdd7fa8
Start implementing collect_glyphs() operation
...
Not functional yet.
2012-11-16 19:07:06 -08:00
Behdad Esfahbod
7d52e6601f
Whitespace
2012-11-16 18:49:54 -08:00
Behdad Esfahbod
51bb498b7b
Minor
2012-11-16 14:08:05 -08:00
Behdad Esfahbod
89ca8eeb83
Implement hb_ot_layout_get_glyphs_in_class()
2012-11-16 13:53:40 -08:00
Behdad Esfahbod
5a08ecf920
Implement hb_ot_layout_get_glyph_class()
2012-11-16 13:34:29 -08:00
Behdad Esfahbod
f9edd5d56b
Implement hb_shape_plan_get_shaper()
...
Untested.
2012-11-16 13:23:37 -08:00
Behdad Esfahbod
43b6531500
[Indic] Another try to unbreak Sinhala split matras
...
Just read the comments...
2012-11-16 13:14:26 -08:00
Behdad Esfahbod
977f1740ac
Unbreak tests
2012-11-16 13:10:07 -08:00
Behdad Esfahbod
eba312c8d1
Plumbing to get shape plan and font into complex decompose function
...
So we can handle Sinhala split matras smartly... Coming soon.
2012-11-16 12:58:38 -08:00
Behdad Esfahbod
3f82f8ff07
Rename hb_buffer_guess_properties() to hb_buffer_guess_segment_properties()
2012-11-15 18:48:10 -08:00
Behdad Esfahbod
f30641038b
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.)
2012-11-15 18:48:10 -08:00
Behdad Esfahbod
e05a999495
Add hb_face_[sg]et_glyph_count()
2012-11-15 16:23:21 -08:00
Behdad Esfahbod
aec89de564
Add / modify set API a bit
2012-11-15 16:15:42 -08:00
Behdad Esfahbod
c54599ad26
Minor
2012-11-15 16:14:39 -08:00
Behdad Esfahbod
d1aa143ca4
[Thai] Remove U+0E2C from "AC" consonants
...
WinXP doesn't include it.
2012-11-15 15:38:08 -08:00
Behdad Esfahbod
362a990b22
Rename hb_ot_layout_would_substitute_lookup() and hb_ot_layout_substitute_closure_lookup()
...
To match upcoming API.
2012-11-15 14:57:31 -08:00
Behdad Esfahbod
3cec819d39
Make the OT shaper default, even if CoreText or Uniscribe is enabled
2012-11-15 13:15:39 -08:00
Behdad Esfahbod
072ae7a982
Add hb_buffer_serialize_list_formats()
2012-11-15 13:14:12 -08:00
Behdad Esfahbod
f9edf16725
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.
2012-11-15 13:10:07 -08:00
Behdad Esfahbod
fd0de881f4
Avoid C++ undefined behavior
...
https://bugzilla.mozilla.org/show_bug.cgi?id=810823
2012-11-15 10:48:50 -08:00
Behdad Esfahbod
f41dc2d35b
Fix undefined behavior in Indic dottedcircle
...
Chromium Issue 158998: Conditional jump in harfbuzz-ng
http://code.google.com/p/chromium/issues/detail?id=158998
2012-11-15 10:36:43 -08:00
Behdad Esfahbod
1eb3e94fe9
[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.
2012-11-14 17:53:09 -08:00
Behdad Esfahbod
851784f837
Improve shaper selection
2012-11-14 17:53:09 -08:00
Behdad Esfahbod
43f04a7456
Move Thai shaper into a separate file
2012-11-14 15:51:54 -08:00
Behdad Esfahbod
ba82325b7a
Add note re 'Phags-pa letter U+A872, which is Joining_Type=L
2012-11-14 15:36:53 -08:00
Behdad Esfahbod
d469fadce8
[Indic] Exchange abort() for assert()
2012-11-14 15:07:36 -08:00
Behdad Esfahbod
0f80a89de9
Don't route Kharoshthi through the Indic shaper
...
It's a simple, right-to-left, script.
2012-11-14 15:05:19 -08:00
Behdad Esfahbod
e67072bb17
[Indic] Handle overstruck matra position
2012-11-14 15:00:53 -08:00
Behdad Esfahbod
7e99e4f074
Reposition Lao marks
...
Lao marks are center-aligned, unlike Thai ones.
2012-11-14 14:09:46 -08:00
Behdad Esfahbod
865745b5b8
Don't do fallback positioning for Indic and Thai shapers
2012-11-14 13:48:26 -08:00
Behdad Esfahbod
981748cb2e
[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...
2012-11-14 13:38:16 -08:00
Behdad Esfahbod
dde5506fd9
[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.
2012-11-14 11:37:04 -08:00
Behdad Esfahbod
92f9bfed42
Minor
2012-11-13 16:50:45 -08:00
Behdad Esfahbod
66ac2ff32e
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.
2012-11-13 16:26:32 -08:00
Behdad Esfahbod
e13f8d280b
Fix UTF-8 backward iteration
...
Ouch!
2012-11-13 15:12:06 -08:00
Behdad Esfahbod
5669a6cf41
[Arabic] Fix post-context handling
...
Ouch!
2012-11-13 15:11:51 -08:00