|
effddd03
|
2018-02-13T21:38:15
|
|
[myanmar] Add dump-myanmar-data
|
|
d830d3d2
|
2018-02-13T19:01:03
|
|
[indic] Share some copy/pasta code
|
|
ccb0367d
|
2018-02-02T12:04:04
|
|
Let VS1 follow U+1031 MYANMAR VOWEL SIGN E
|
|
7036f1d2
|
2017-10-27T14:42:59
|
|
[ot] Remove shaper name
In ten years we never used them...
|
|
7c561dac
|
2017-10-19T11:35:51
|
|
[myanmar] Fix unsafe usage of FLAG_SAFE()
The commit f559c633073f63b9d87cb2440048b4413cfa1c05 caused
"undefined-shift" errors in Myanmar shaper as we changed the
numeric value of type D from 19 to 32 there, making the
"FLAG_SAFE (info.myanmar_category())" wrong.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3546
|
|
dbdbfe3d
|
2017-10-15T12:11:08
|
|
Use nullptr instead of NULL
|
|
ab8d70ec
|
2017-10-04T14:47:10
|
|
[arabic] Implement Unicode Arabic Mark Ordering Algorithm UTR#53
Fixes https://github.com/behdad/harfbuzz/issues/509
|
|
f559c633
|
2017-10-03T15:20:07
|
|
[indic] Implement Consonent_With_Stacker
Fixes https://github.com/behdad/harfbuzz/issues/528
|
|
9e005c5d
|
2017-08-10T18:45:33
|
|
[unsafe-to-break] Mark Indic-like clusters as unsafe-to-break
|
|
3b0e47ca
|
2017-06-19T14:47:09
|
|
Fix arm-none-eabi build (fixes #451) (#496)
|
|
e2b87805
|
2016-12-22T14:40:19
|
|
Disable OTL processing for Hebrew if GPOS doesn't have Hebrew subtable
New approach to fix this:
https://github.com/behdad/harfbuzz/commit/69f9fbc4200442a35484d3c790ae8f4979be5d60
Previous approach was reverted as it was too broad. See context:
https://github.com/behdad/harfbuzz/issues/347#issuecomment-267838368
With U+05E9,U+05B8,U+05C1,U+05DC and Arial Unicode, we now (correctly) disable
GDEF and GPOS, so we get results very close to Uniscribe, but slightly different
since our fallback position logic is not exactly the same:
Before: [gid1166=3+991|gid1142=0+737|gid5798=0+1434]
After: [gid1166=3+991|gid1142=0@402,-26+0|gid5798=0+1434]
Uniscribe: [gid1166=3+991|gid1142=0@348,0+0|gid5798=0+1434]
|
|
a2b03de5
|
2016-05-06T17:56:07
|
|
[myanmar] Handle U+AA74..U+AA76
Fixes https://github.com/behdad/harfbuzz/issues/218
|
|
8b5bc141
|
2016-02-24T19:05:23
|
|
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.
|
|
b894a85a
|
2016-02-02T16:39:19
|
|
Fix more hangs in case of buffer allocation errors
Hopefully
fixes https://github.com/behdad/harfbuzz/issues/214
|
|
2813e304
|
2015-12-18T11:05:11
|
|
[indic] Update data tables to Unicode 8.0
Test stats remain unchanged, except for Malayalam, which we investigate:
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
MALAYALAM: 1047584 out of 1048334 tests passed. 750 failed (0.0715421%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
Myanmar, compared to Windows 10 mmrtext.ttf:
MYANMAR: 1123865 out of 1123883 tests passed. 18 failed (0.00160159%)
|
|
13686337
|
2015-11-05T13:24:15
|
|
Add new shaper method postprocess_glyphs()
Unused currently. To be used for Syriac stretch implementation.
https://github.com/behdad/harfbuzz/issues/141
|
|
6f932bc8
|
2015-10-21T11:16:49
|
|
Fix a few more -Wshadow-local warnings
https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
|
|
c403d632
|
2015-09-01T16:15:25
|
|
[myanmar] Use buffer->sort() to sort cluster
This can possibly produce more granular clusters.
|
|
85846b3d
|
2015-09-01T15:07:52
|
|
Use insertion-sort instead of bubble-sort
Needed for upcoming merge-clusters fix.
|
|
56f71ff9
|
2015-07-22T11:58:11
|
|
Use foreach_syllable in Myanmar shaper
|
|
f8160a49
|
2015-07-21T15:50:02
|
|
Add FLAG_SAFE() for values known to be small-enough
And add check to FLAG()
|
|
6f2d9ba5
|
2014-07-26T19:17:44
|
|
Add old-Myanmar shaper
Looks like Unsicribe responds to the 'mymr' tag by zeroing marks
GDEF_LATE instead of generic-shaper UNICODE_LATE. Implement that.
Fixes
Bug 81775 - Incorrect Rendering with harfbuzz-ng myanmar unicode
https://bugs.freedesktop.org/show_bug.cgi?id=81775
Micro-test added based on Padauk.
|
|
7cd33f23
|
2014-07-17T14:22:11
|
|
Micro optimization
|
|
7627100f
|
2014-07-11T14:54:42
|
|
Mark unsigned integer literals with the u suffix
Simplifies hb_in_range() calls as the type can be inferred.
The rest is obsessiveness, I admit.
|
|
d743ce78
|
2014-06-30T15:24:02
|
|
[indic-table] Update to Unicode 7.0 data
Touch code just enough to preserve previous syllable structure
and functionality as closely as possible. Many further cleanups
coming later.
|
|
cf78dd48
|
2014-05-27T17:53:37
|
|
[indic/myanmar] Rename OT_NBSP to OT_PLACEHOLDER
|
|
186ece94
|
2014-05-27T17:49:45
|
|
[myanmar] Use OT_NBSP instead of OT_DOTTEDCIRCLE for OT_GB
No functional change.
|
|
cf71d28c
|
2014-05-27T17:47:43
|
|
[indic/myanmar] Refactor a few macros
|
|
3d6ca0d3
|
2013-12-31T16:04:35
|
|
[ot] Simplify normalization_preference again
No shaper has more than one behavior re this, so no need for a callback.
|
|
9174a9db
|
2013-11-25T18:10:38
|
|
[myanmar] Allow punctuation clusters
The spec and Uniscribe don't allow these, but UTN#11
specifically says the sequence U+104B,U+1038 is valid.
As such, allow all "P V" sequences. There's about
eight sequences that match that structure, but Roozbeh
thinks it's fine to allow all of them.
Test case: U+104B, U+1038
https://bugs.freedesktop.org/show_bug.cgi?id=71947
|
|
096b71e8
|
2013-11-25T18:03:34
|
|
[myanmar] Mark U+104E MYANMAR SYMBOL AFOREMENTIONED as Consonant
The spec and Uniscribe treat it as consonant in the grammar, but
it's not in IndicSyllableCategory.txt, so fix up.
Test sequence: U+1004,U+103A,U+1039,U+104E
https://bugs.freedesktop.org/show_bug.cgi?id=71948
|
|
71b4c999
|
2013-10-28T00:20:59
|
|
Revert "Zero marks by GDEF for Tibetan"
This reverts commit d5bd0590ae2fbc7b0dee86385a565aef00ffb835.
The reasoning behind that logic was flawed and made under
a misunderstanding of the original problem, and caused
regressions as reported by Jonathan Kew in thread titled
"tibetan marks" in Oct 2013. Apparently I have had fixed
the original problem with this commit:
7e08f1258da229dfaf7e1c4b5c41e5bb83906cb0
So, revert the faulty commit and everything seems to be in good
shape.
|
|
d5bd0590
|
2013-10-18T16:44:54
|
|
Zero marks by GDEF for Tibetan
See:
http://lists.freedesktop.org/archives/harfbuzz/2013-April/003101.html
|
|
a1f7b285
|
2013-10-18T01:09:08
|
|
[otlayout] Switch over from old is_a_ligature() to IS_LIGATED
Impact should be minimal and positive.
|
|
3ddf892b
|
2013-10-18T00:02:43
|
|
[otlayout] Renaming
|
|
5e7432b8
|
2013-10-15T12:28:23
|
|
[myanmar] Apply abvm/blwm
|
|
6fadd9dd
|
2013-07-26T10:33:06
|
|
Apply 'mark' to Myanmar
According to Andrew Glass: "The issue with Myanmar <mark> feature was
fixed via a servicing patch as soon as Windows 8 became available."
|
|
127daf15
|
2013-05-20T09:11:35
|
|
Arabic mark width-zeroing regression
Mozilla Bug 873902 - Display Arabic text with diacritics is bad
https://bugzilla.mozilla.org/show_bug.cgi?id=873902
|
|
a8cf7b43
|
2013-03-19T05:53:26
|
|
[Indic] Futher adjust ZWJ handling in Indic-like shapers
After the Ngapi hackfest work, we were assuming that fonts
won't use presentation features to choose specific forms
(eg. conjuncts). As such, we were using auto-joiner behavior
for such features. It proved to be troublesome as many fonts
used presentation forms ('pres') for example to form conjuncts,
which need to be disabled when a ZWJ is inserted.
Two examples:
U+0D2F,U+200D,U+0D4D,U+0D2F with kartika.ttf
U+0995,U+09CD,U+200D,U+09B7 with vrinda.ttf
What we do now is to never do magic to ZWJ during GSUB's main input
match for Indic-style shapers. Note that backtrack/lookahead are still
matched liberally, as is GPOS. This seems to be an acceptable
compromise.
As to the bug that initially started this work, that one needs to
be fixed differently:
Bug 58714 - Kannada u+0cb0 u+200d u+0ccd u+0c95 u+0cbe does not
provide same results as Windows8
https://bugs.freedesktop.org/show_bug.cgi?id=58714
New numbers:
BENGALI: 353689 out of 354188 tests passed. 499 failed (0.140886%)
DEVANAGARI: 707305 out of 707394 tests passed. 89 failed (0.0125814%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60706 out of 60747 tests passed. 41 failed (0.067493%)
KANNADA: 951030 out of 951913 tests passed. 883 failed (0.0927606%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
MALAYALAM: 1048102 out of 1048334 tests passed. 232 failed (0.0221304%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
|
|
ee9c3a17
|
2013-02-15T06:22:26
|
|
Minor refactoring
|
|
cfc507c5
|
2013-02-14T10:40:12
|
|
[Indic-like] Disable automatic joiner handling for basic shaping features
Not for Arabic, but for Indic-like scripts. ZWJ/ZWNJ have special
meanings in those scripts, so let font lookups take full control.
This undoes the regression caused by automatic-joiners handling
introduced two commits ago.
We only disable automatic joiner handling for the "basic shaping
features" of Indic, Myanmar, and SEAsian shapers. The "presentation
forms" and other features are still applied with automatic-joiner
handling.
This change also changes the test suite failure statistics, such that
a few scripts show more "failures". The most affected is Kannada.
However, upon inspection, we believe that in most, if not all, of the
new failures, we are producing results superior to Uniscribe. Hard to
count those!
Here's an example of what is fixed by the recent joiner-handling
changes:
https://bugs.freedesktop.org/show_bug.cgi?id=58714
New numbers, for future reference:
BENGALI: 353892 out of 354188 tests passed. 296 failed (0.0835714%)
DEVANAGARI: 707336 out of 707394 tests passed. 58 failed (0.00819911%)
GUJARATI: 366262 out of 366457 tests passed. 195 failed (0.0532122%)
GURMUKHI: 60706 out of 60747 tests passed. 41 failed (0.067493%)
KANNADA: 950680 out of 951913 tests passed. 1233 failed (0.129529%)
KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
MALAYALAM: 1047983 out of 1048334 tests passed. 351 failed (0.0334817%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271539 out of 271847 tests passed. 308 failed (0.113299%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
|
|
ec544866
|
2013-02-14T11:25:10
|
|
Add hb_ot_map_feature_flags_t
Code cleanup. No (intended) functional change.
|
|
e7ffcfaf
|
2013-02-14T11:05:56
|
|
Clean-up add_bool_feature
|
|
f9b66053
|
2013-02-12T16:13:56
|
|
[Myanmar] Use master Indic table for syllable data
|
|
bab02d33
|
2013-02-12T15:26:45
|
|
Rename HB_OT_INDIC_OPTIONS env var to HB_OPTIONS
The Myanmar shaper now respects the uniscribe-bug-compatibility
option too.
|
|
3a83d33e
|
2013-02-12T12:14:10
|
|
Add South-East Asian shaper
Handles Tai Tham, Cham, and New Tai Lue for now.
|
|
56800027
|
2013-02-12T09:44:57
|
|
Adjust mark advance-width zeroing logic for Myanmar
Before, we were zeroing advance width of attached marks for
non-Indic scripts, and not doing it for Indic.
We have now three different behaviors, which seem to better
reflect what Uniscribe is doing:
- For Indic, no explicit zeroing happens whatsoever, which
is the same as before,
- For Myanmar, zero advance width of glyphs marked as marks
*in GDEF*, and do that *before* applying GPOS. This seems
to be what the new Win8 Myanmar shaper does,
- For everything else, zero advance width of glyphs that are
from General_Category=Mn Unicode characters, and do so
before applying GPOS. This seems to be what Uniscribe does
for Latin at least.
With these changes, positioning of all tests matches for Myanmar,
except for the glitch in Uniscribe not applying 'mark'. See preivous
commit.
|
|
99749ca8
|
2013-02-12T09:44:35
|
|
[Myanmar] Add note re Uniscribe NOT applying 'mark'
|
|
419c933e
|
2013-02-11T16:16:16
|
|
[Myanmar] Fix handling of Punctuation and Symbol types
Testing with "clusters" now on par with testing without them. 15
failures both.
|
|
0572c141
|
2013-02-11T16:06:02
|
|
[Myanmar] Fixup handling of joiners and GB characters
|
|
98628cac
|
2013-02-11T13:36:23
|
|
Add Win8-style Myanmar shaper
Myanmar failures down from 51% to 0.00204648%!
MYANMAR: 1123860 out of 1123883 tests passed. 23 failed (0.00204648%)
|