Commit Graph

81 Commits

Author SHA1 Message Date
Behdad Esfahbod 9b6312f945 [use] Update to draft spec from Andrew Glass from August 2015 2016-05-06 17:41:49 +01:00
Behdad Esfahbod 3e4e7616a8 [use] Add a catch-all clause to the machine 2016-05-06 17:28:25 +01:00
Behdad Esfahbod 691086f131 Add Unicode 9 beta scripts
These are frozen, so good time to add.
2016-05-06 12:09:53 +01:00
Behdad Esfahbod 8b5bc141cd Add get_nominal_glyph() and get_variation_glyph() instead of get_glyph()
New API:
- hb_font_get_nominal_glyph_func_t
- hb_font_get_variation_glyph_func_t
- hb_font_funcs_set_nominal_glyph_func()
- hb_font_funcs_set_variation_glyph_func()
- hb_font_get_nominal_glyph()
- hb_font_get_variation_glyph()

Deprecated API:
- hb_font_get_glyph_func_t
- hb_font_funcs_set_glyph_func()

Clients that implement their own font-funcs are encouraged to replace
their get_glyph() implementation with a get_nominal_glyph() and
get_variation_glyph() pair.  The variation version can assume that
variation_selector argument is not zero.
2016-02-24 19:05:23 +09:00
Behdad Esfahbod da41e48f0a [USE] Zero mark advances by GDEF early
This is what Microsoft's implementation does.  Marks that need advance
need to add it back using 'dist' or other feature in GPOS.  Update tests to
match.
2016-02-16 17:16:33 +07:00
Behdad Esfahbod b894a85ad1 Fix more hangs in case of buffer allocation errors
Hopefully
fixes https://github.com/behdad/harfbuzz/issues/214
2016-02-02 16:39:19 +08:00
Behdad Esfahbod 862b1644e9 [use] Only set syllable-based topographical features if not Arabic-joining 2015-12-18 13:54:06 +00:00
Behdad Esfahbod 2ab0de9fbd [use] Fix halant detection
Before, we were just checking the use_category().  This detects as
halant a ligature that had the halant as first glyph (as seen in
NotoSansBalinese.)  Change that to use the is_ligated() glyph prop
bit.  The font is forming this ligature in ccmp, which is before
the rphf / pref tests.  So we need to make sure the "ligated" bit
survives those tests.  Since those only check the "substituted" bit,
we now only clear that bit for them and "ligated" survives.

Fixes https://github.com/behdad/harfbuzz/issues/180
2015-12-17 11:59:15 +00:00
Behdad Esfahbod 766963adba Merge pull request #114 from ThePhD/vc++-fixes
Fix all VC++ warnings and errors
2015-11-24 15:38:43 -06:00
ThePhD f798b8e2d6 c-style cast 2015-11-21 16:57:26 -05:00
Behdad Esfahbod abadc1717d Try to better handle OOM situations
Fixes assert fail in https://github.com/behdad/harfbuzz/issues/161
with libharfbuzz-fuzzing.
2015-11-18 17:52:08 -08:00
Behdad Esfahbod 136863371c Add new shaper method postprocess_glyphs()
Unused currently.  To be used for Syriac stretch implementation.

https://github.com/behdad/harfbuzz/issues/141
2015-11-05 13:24:15 -08:00
Behdad Esfahbod 6f932bc8f9 Fix a few more -Wshadow-local warnings
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
2015-10-21 11:16:49 -02:00
Behdad Esfahbod 5b31fe383e [use] Merge /before/ reordering 2015-09-01 16:24:34 +01:00
Behdad Esfahbod 2b646fa07f Remove unused function 2015-08-17 16:03:28 +02:00
ThePhD 23237b0279 Last apparent boolean fix! 2015-08-14 01:19:08 -04:00
Behdad Esfahbod f1c20e1ba5 [USE] Fix out-of-bounds static array access 2015-07-27 12:16:02 +02:00
Behdad Esfahbod 9cd59db1af [USE] Implement topographical features for non-Arabic-joining scripts
This works per-syllable as per the spec, but we think it should be per
spacing/base/??? glyph instead.
2015-07-22 13:31:07 +01:00
Behdad Esfahbod ac596511a8 Add foreach_syllable
Use it in USE.
2015-07-22 11:54:02 +01:00
Behdad Esfahbod 8ba9e68968 [USE] Do Arabic-like shaping 2015-07-22 11:17:34 +01:00
Behdad Esfahbod a51a661fe1 [USE] Only reorder the first component of a split left mark 2015-07-21 18:24:21 +01:00
Behdad Esfahbod a08a278b15 [USE] Don't compose split matras
Same logic as in Indic shaper.
2015-07-21 18:09:40 +01:00
Behdad Esfahbod 40c4a991c7 [USE] Implement dotted-circle
This makes USE feature-complete as far as the Indic-like features
are concerned.
2015-07-21 17:14:54 +01:00
Behdad Esfahbod 7ce03ebe7c [USE] Move pref 2015-07-21 16:55:26 +01:00
Behdad Esfahbod a85c4da9b1 [USE] Move rphf 2015-07-21 16:07:10 +01:00
Behdad Esfahbod cf59c7589c [USE] Use use_category() for rphf/pref memory 2015-07-21 14:51:45 +01:00
Behdad Esfahbod 595936ec25 [USE] Hook of rphf and pref custom processing
Still no reordering.
2015-07-21 14:15:35 +01:00
Behdad Esfahbod 4febed61ed [USE] Set up features 2015-07-21 10:38:48 +01:00
Behdad Esfahbod b4c0829bc1 [USE] Remove unused Unicode data enums from USE C++ side 2015-07-21 09:31:19 +01:00
Behdad Esfahbod a9663958fe [USE] Start putting together the shaper body 2015-07-20 14:24:55 +01:00
Behdad Esfahbod e2c95116e1 [USE] Add Universal Shaping Engine to Makefile 2015-07-20 11:33:27 +01:00