Behdad Esfahbod
7f9e7f8689
Adjust normalizer for out-of-order marks
...
We are going to implement Unicode Arabic Mark Ordering Algorithm:
http://www.unicode.org/reports/tr53/tr53-1.pdf
which will reorder marks out of their sorted ccc order. Adjust
normalizer to stop combining as soon as dangerous ordering is
detected.
2017-10-04 13:20:33 +02:00
Behdad Esfahbod
a252ad61f0
Minor
2017-10-04 13:07:08 +02:00
Behdad Esfahbod
4c05a405ac
Revert "Treat HAMZA ABOVE similar to SHADD for sorting purposes"
...
This reverts commit 5a33057576
.
Proper fix coming soon.
2017-10-04 13:06:51 +02:00
Behdad Esfahbod
d695cacbf4
Shorthand format controls should not be ignored
...
Fixes https://github.com/behdad/harfbuzz/issues/503
2017-10-04 11:33:47 +02:00
Behdad Esfahbod
50e95229d7
Add Chinantec language tags
...
Fixes https://github.com/behdad/harfbuzz/issues/516
2017-10-04 11:28:04 +02:00
Behdad Esfahbod
9786fcd8fd
Fix GPOS v_origin ordering
...
This should affect mark attachment in vertical text. I have no font to test,
but this sounds the right order.
Noticed while debugging https://github.com/behdad/harfbuzz/issues/532
2017-10-03 17:22:43 +02:00
Behdad Esfahbod
63db692fa9
[indic] Fix shaping of U+0AFB GUJARATI SIGN SHADDA
...
Fixes https://github.com/behdad/harfbuzz/issues/552
2017-10-03 16:00:18 +02:00
Behdad Esfahbod
f559c63307
[indic] Implement Consonent_With_Stacker
...
Fixes https://github.com/behdad/harfbuzz/issues/528
2017-10-03 15:20:07 +02:00
Behdad Esfahbod
e07669fc43
[use] Implement Consonant_With_Stacker
...
Related to https://github.com/behdad/harfbuzz/issues/528
2017-10-03 14:57:14 +02:00
Behdad Esfahbod
5d98de1f38
Tweak mark-base attachment
...
Apparently a base glyph can also become an attached component of a
ligature if the ligature-forming lookup used IgnoreBase. This was
being confused with a non-first component of a MultipleSubst and
hence not matched for mark-attachment. Tweak test to fix.
Fixes https://github.com/behdad/harfbuzz/issues/543
2017-10-03 13:49:40 +02:00
Behdad Esfahbod
c44657a05d
Tweak input matching some more
...
Followup to 8b2c94c43f
Allow matching sequences of marks attached to different ligatures,
as supposedly the base of the subsequent marks were already jumped
over.
2017-10-03 13:14:17 +02:00
Behdad Esfahbod
8b2c94c43f
Tweak ligature component matching for ligature formation
...
If two marks want to ligate and they belong to different components of the
same ligature glyph, and said ligature glyph is to be ignored according to
mark-filtering rules, then allow.
Example Burmese senquence:
U+1004,U+103A,U+1039,U+101B,U+103D,U+102D
Test font provided by Norbert Lindenberg.
Fixes https://github.com/behdad/harfbuzz/issues/545
2017-10-02 20:03:35 +02:00
Behdad Esfahbod
71c0a1429d
[indic] Fix shaping of U+0A51
...
Mark it as matra below to allow the sequence U+0A15, U+0A51, U+0A47.
Oh well...
Fixes https://github.com/behdad/harfbuzz/issues/524
2017-10-02 18:57:03 +02:00
Behdad Esfahbod
6eb8950e62
[ucdn] Oops!
2017-10-02 18:30:05 +02:00
Behdad Esfahbod
cbec0cd65e
Remove some really old cruft
2017-10-02 18:26:52 +02:00
Behdad Esfahbod
b3dff7720c
[ucdn] Update README
2017-10-02 18:22:51 +02:00
Behdad Esfahbod
57c55ef834
[ot] Improve shaper selection heuristic
2017-10-02 18:21:27 +02:00
Behdad Esfahbod
5680ef884c
[use] Hack to fix shaping of U+1A7F
...
Fixes https://github.com/behdad/harfbuzz/issues/525
2017-10-02 18:20:51 +02:00
Behdad Esfahbod
0faa16a253
[ucdn] Update to Unicode 10
...
Update to commit c000ebf79c095a7d58cf90090bde5715592c4834
plus this bug-fix: https://github.com/grigorig/ucdn/issues/18
2017-10-02 17:15:46 +02:00
Behdad Esfahbod
ea535a1dfa
[use] Update to Unicode 10
2017-10-02 17:02:39 +02:00
Behdad Esfahbod
29c244aff6
Minor
2017-10-02 16:36:21 +02:00
Behdad Esfahbod
1535f8c672
Add Unicode 10 scripts
2017-10-02 16:12:18 +02:00
Behdad Esfahbod
bdbe974f52
[indic] Update table to Unicode 10
2017-10-02 10:00:31 -04:00
Behdad Esfahbod
819cc36049
[indic] Move manual code out of generated table
2017-10-02 09:03:16 -04:00
Behdad Esfahbod
da4866f717
[arabic] Update table to Unicode 10 data
2017-10-02 08:57:06 -04:00
Behdad Esfahbod
1a0a356a0f
[indic] Categorize U+0980 BENGALI ANJI as placeholder
...
Fixes https://github.com/behdad/harfbuzz/issues/538
2017-10-02 08:49:23 -04:00
jfkthame
19e77e01bc
[shape-plan] Don't look for a cached plan if variation coords are specified. Fixes #549 . ( #550 )
...
This is a temporary hack just to avoid incorrect shaping results, pending proper support
for caching shape-plans with variation coordinates.
2017-10-02 08:08:49 -04:00
mhosken
66128d3cfb
Fix missing xscale in rtl graphite unpacking ( #541 )
...
* Fix missing xscale in rtl graphite unpacking
* Oops didn't need to mess with yscale
2017-09-26 14:29:45 -04:00
Behdad Esfahbod
3ca69c8c32
Use strtod_l() to correctly parse decimal numbers in French & other locales
...
Test with, eg.:
$ LC_ALL=fr_FR.utf-8 ./hb-view NotoSansArabic-VF.ttf بهداد --variations wght=1.2
2017-09-14 20:50:35 -04:00
Behdad Esfahbod
d03f11f246
Fix buffer_diff for empty buffers
...
If buffers are empty, content type should be ignored.
This fixes last of the failing tests: fuzzed.tests. Green again!
2017-09-04 20:14:13 -07:00
Behdad Esfahbod
7cc348041d
[unsafe-to-break] Fix unsafe-to-break for cluster-level=1
...
Fixes tests/shaping/tests/cluster.tests
2017-09-04 20:06:21 -07:00
Behdad Esfahbod
06cb162cd7
[indic] Treat Consonant_With_Stacker as consonant
...
Fixes https://github.com/behdad/harfbuzz/issues/528
"Kannada JIHVAMULIYA and UPADHMANIYA insert dotted circles"
2017-09-01 10:34:56 -07:00
Behdad Esfahbod
c449d2d8c9
[unsafe-to-break] Mark during fraction-slash formation
...
Fixes tests/automatic-fractions.tests
2017-08-30 17:28:22 -07:00
Behdad Esfahbod
099472e08b
hb_buffer_diff() tweak
...
I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE are not
returned. Abused a value of -1 for that. hb-shape now uses it. Fixes two
of the six tests failing with --verify in test/shaping/run-tests.sh.
2017-08-30 16:45:06 -07:00
Behdad Esfahbod
224d20e4e1
[docs] Minor
2017-08-23 14:49:10 -07:00
Behdad Esfahbod
b2dd0c1c32
Add hb_glyph_info_get_glyph_flags()
...
New API.
2017-08-23 13:12:54 -07:00
Behdad Esfahbod
3e8f4f1452
Rename HB_BUFFER_DIFF_FLAG_MASK_MISMATCH to HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH
2017-08-22 17:56:25 -07:00
Behdad Esfahbod
8820ba29df
Fix warning about "may be used uninitialized"
2017-08-15 17:12:21 -07:00
Emil A Eklund (eae)
91770e1c56
Fix signed/unsigned warning ( #522 )
...
Change hb_buffer_diff to explicitly cast result of abs to unsigned when
comparing with position_fuzz to avoid unsafe signed/unsigned comparions
warnings on windows.
2017-08-15 16:25:18 -07:00
Behdad Esfahbod
587f15ece3
Minor
2017-08-14 15:23:10 -07:00
Behdad Esfahbod
338e61ad1b
Fix typo
2017-08-14 12:36:38 -07:00
Jonathan Kew
331d66c7fe
Add function to compare two buffers
...
Based on patch from Jonathan Kew.
Needs more cleaning up and documentation.
New API:
hb_buffer_diff_flags_t
hb_buffer_diff()
2017-08-14 11:44:12 -07:00
Behdad Esfahbod
219af509ef
[graphite2] Fix warning
2017-08-13 15:10:26 -07:00
Behdad Esfahbod
239119a631
[unsafe-to-break] Mark all positions as unsafe in alternative shapers
2017-08-13 15:08:34 -07:00
Behdad Esfahbod
05fabbd03e
[unsafe-to-break] Towards verifying unsafe-to-break in --verify
...
We break and shape fragments and reconstruct shape result from them.
Remains to compare to original buffer. Going to add some buffer
comparison API and use here, instead of open-coding.
2017-08-11 20:00:55 -07:00
Behdad Esfahbod
6ce25f57c6
Fix hb_buffer_append()
...
Ouch!
2017-08-11 19:31:05 -07:00
Behdad Esfahbod
1c17c2bde5
[unsafe-to-break] Copy flag to all glyphs in a cluster
...
Makes consumption easier.
2017-08-11 19:06:07 -07:00
Behdad Esfahbod
ec104e5912
[unsafe-to-break] Mark unsafe is cluster merging is disabled
...
We were relying on cluster merges not requiring unsafe flagging because
they get merged. If cluster level requests no merging, then we flag
unsafe when merge would have happened.
2017-08-11 18:24:27 -07:00
Behdad Esfahbod
39a9749430
New API: hb_buffer_append()
2017-08-11 15:52:06 -07:00
Behdad Esfahbod
14a639ea59
[unsafe-to-break] Fix Use-of-uninitialized-value in unsafe_to_break_set_mask
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3011
2017-08-11 11:30:39 -07:00