Commit Graph

448 Commits

Author SHA1 Message Date
Behdad Esfahbod
bf8469be9a Attach CursivePositioning backwards, not forward
This is how Uniscribe does it.  So, adjust.  This is only relevant
to fonts that apply cursive positioning from a contextual lookup.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1181
2018-10-11 20:45:40 -04:00
Behdad Esfahbod
bdb53ca24a [myanmar] Implement Zawgyi shaper
Enabled if script tag 'Qaag' is passed to HarfBuzz.  Disables mark
advance-zeroing and fallback mark-positioning.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1162
2018-10-11 20:20:29 -04:00
Behdad Esfahbod
788e147855 [test] Add test for USE indic3 2018-10-11 19:24:52 -04:00
Behdad Esfahbod
a11972787a Minor 2018-10-11 19:23:36 -04:00
David Corbett
65d01f7755 Test deprecated tag fallback in a font
The font supports the deprecated tag 'DHV ' instead of 'DIV '. dv is
mapped to 'DIV ' and 'DHV ', in that order. The test specifies
`--language=dv`, demonstrating that if a font does not support the first
OpenType tag mapped to a BCP 47 tag, it will fall back to the next tag.
2018-10-11 13:54:28 -04:00
Behdad Esfahbod
100e95f48e [trak] Add tests 2018-10-11 11:30:45 -04:00
Behdad Esfahbod
cc126f2817 Minor 2018-10-09 01:10:15 -04:00
Behdad Esfahbod
9c1bb81f5c [test/text-rendering-tests] Update from upstream 2018-10-08 16:11:14 -04:00
Behdad Esfahbod
2a5cb37fdb Revert "[morx] Fix MORX-35"
This reverts commit f62f6e90ad.
2018-10-07 20:37:15 -04:00
Behdad Esfahbod
f62f6e90ad [morx] Fix MORX-35
Fixes https://github.com/harfbuzz/harfbuzz/issues/1224
2018-10-07 18:52:48 -04:00
Behdad Esfahbod
c07b91b812 [test/text-rendering-tests] Update from upstream 2018-10-07 18:00:14 -04:00
Ebrahim Byagowi
e9abe33963
Use tempfile in run-tests as a fix for Windows CI fails (#1228) 2018-10-06 12:19:33 +03:30
Behdad Esfahbod
5a41cf6be6 [test/text-rendering-tests] Update from upstream 2018-10-05 18:09:12 +02:00
Behdad Esfahbod
7b3ae5ffd2 More bot fixes 2018-10-04 16:36:42 +02:00
Behdad Esfahbod
0abce58139 [test] Choose 'ot' shaper specifically
Now that we added morx support, our OS X bot is running them through CoreText
and failing (with a DoS / infinite loop no less!).  Always run tests through
our own shaper.
2018-10-04 16:23:42 +02:00
Behdad Esfahbod
55468ca01b [test/text-rendering-tests] Update from upstream 2018-10-04 12:19:30 +02:00
Behdad Esfahbod
6ff8a8a10b Minor 2018-10-04 12:09:45 +02:00
Behdad Esfahbod
14ff3cbe0f Apply morx if there's no GSUB! 2018-10-04 11:34:21 +02:00
Behdad Esfahbod
81f5eb09ec Add emoji test for recent work 2018-10-03 21:32:52 +02:00
Behdad Esfahbod
03fb6dd4c7 Rewrite grapheme-formation in terms of new work
Also, don't attach ZWNJ to previous cluster.  Closer to Unicode graphemes.
2018-10-03 21:11:40 +02:00
Behdad Esfahbod
3f1c741b7a [test] Split a test 2018-10-03 21:11:40 +02:00
Behdad Esfahbod
df32eaae42 [indic] Disallow vowel mark combinations that spoof other vowel marks
Fixes https://github.com/harfbuzz/harfbuzz/issues/1019

New numbers:

BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707261 out of 707394 tests passed. 133 failed (0.0188014%)
GUJARATI: 366353 out of 366457 tests passed. 104 failed (0.0283799%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42327 out of 42329 tests passed. 2 failed (0.00472489%)
SINHALA: 271596 out of 271847 tests passed. 251 failed (0.0923313%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)

Devanagari regressed because Uniscribe doesn't enforce the full set.

Tests added with the *-vowel-letters.txt files in tree and Noto fonts.
2018-10-03 15:53:28 +02:00
Behdad Esfahbod
d3d0cbd278 Typo 2018-10-03 15:31:33 +02:00
Behdad Esfahbod
75114e01d2 [use] Add Halant_Or_Vowel_Modifier category
Fixes https://github.com/harfbuzz/harfbuzz/issues/1102
2018-10-03 12:30:23 +02:00
Behdad Esfahbod
9f1dee32fb [tests] Allow test-runner to ignore shaping output
Fixes https://github.com/harfbuzz/harfbuzz/issues/1212
2018-10-02 18:56:20 +02:00
Behdad Esfahbod
d992982d23 [indic] Add some confusable sequences from Unicode Standard 2018-10-02 17:31:11 +02:00
Behdad Esfahbod
729f634728 Disable joiner-skipping when looking back for base to attach mark to
Fixes https://github.com/harfbuzz/harfbuzz/issues/1189
2018-10-02 14:41:31 +02:00
Behdad Esfahbod
ab4c37f73a [khmer] Add mark-ordering tests
Fixes https://github.com/harfbuzz/harfbuzz/issues/667
2018-10-01 19:35:48 +02:00
Behdad Esfahbod
eb1e602877 [test] Try import unicodedata2 as unicodedata 2018-10-01 15:31:50 +02:00
Behdad Esfahbod
02bebe42c1 [test/text-rendering-tests] Update from upstream 2018-09-28 10:01:59 -04:00
Khaled Hosny
b7f1bbc2f8 [test] Fix printing subprocess error messages
Decode the string as Python 3 returns bytes string, and also don’t
assume that it ends with a new line.
2018-09-22 17:20:06 +02:00
Behdad Esfahbod
d5c509272f [dfont] Fix test expecatation and minor touch up
I have no way to authoritatively know, but looks like test font only has one
face.  So, adjust test expectation instead.
2018-09-11 17:18:21 +02:00
Ebrahim Byagowi
2b2ed1e536 [dfont] Add test 2018-09-11 16:47:21 +02:00
Behdad Esfahbod
cfdea88475 [random] Switch to 32bit RNG 2018-09-11 10:57:48 +02:00
Behdad Esfahbod
80de4bcd26 Minor clean up of 'rand' patchset 2018-09-11 10:47:59 +02:00
David Corbett
b545e27d88 Don't seed the RNG from the contents of the buffer 2018-09-11 10:47:59 +02:00
David Corbett
2de96e8468 Test 'rand' 2018-09-11 10:47:59 +02:00
Behdad Esfahbod
62fc54725a [ot-font] Fallback vertical advance to UPEM
Used to be ascent+descent.  Whatever. This is more convenient for
upcoming changes.
2018-08-25 23:15:52 -07:00
Behdad Esfahbod
1becabe06c [cmap] Use bsearch to find subtables 2018-08-25 15:37:56 -07:00
Behdad Esfahbod
92ba9905ca [indic] Allow double-halant in old-spec Devanagari
Fixes https://github.com/harfbuzz/harfbuzz/issues/1071
2018-07-31 15:19:32 -07:00
Behdad Esfahbod
fe099a844b [test] Add Khmer tests, with NotoSansKhmer-Regular.ttf
Note that there's minor positioning differences, and ONE reordering
difference between what we get for these and what Uniscribe gets.
Probably same as what's described in commit message for
1a96cc825d
2018-07-31 14:20:31 -07:00
Behdad Esfahbod
2d6edc9008 [test] Add Khmer test texts from recent bugs 2018-07-31 13:56:55 -07:00
Behdad Esfahbod
df26a32c8f [test] Move things around for shaper updates 2018-07-31 13:55:53 -07:00
David Corbett
62fa7cd1cc Order Chakma split vowels in accordance with NFC
Fixes #1105.
2018-07-22 19:47:21 -07:00
Behdad Esfahbod
9940504e93 [indic] Adjust left-matra repositioning and Halant,ZWJ sequence
From the new code (first paragraph is from the OT Devanagari spec.):

  /*   o Reorder matras:
   *
   *     If a pre-base matra character had been reordered before applying basic
   *     features, the glyph can be moved closer to the main consonant based on
   *     whether half-forms had been formed. Actual position for the matra is
   *     defined as “after last standalone halant glyph, after initial matra
   *     position and before the main consonant”. If ZWJ or ZWNJ follow this
   *     halant, position is moved after it.
   *
   * IMPLEMENTATION NOTES:
   *
   * It looks like the last sentence is wrong.  Testing, with Windows 7 Uniscribe
   * and Devanagari shows that the behavior is best described as:
   *
   * "If ZWJ follows this halant, matra is NOT repositioned after this halant.
   *  If ZWNJ follows this halant, position is moved after it."
   *
   * Test case, with Adobe Devanagari or Nirmala UI:
   *
   *   U+091F,U+094D,U+200C,U+092F,U+093F
   *   (Matra moves to the middle, after ZWNJ.)
   *
   *   U+091F,U+094D,U+200D,U+092F,U+093F
   *   (Matra does NOT move, stays to the left.)

Fixes https://github.com/harfbuzz/harfbuzz/issues/1070

Test case added with Adobe Devanagari.
2018-07-03 14:34:38 +04:30
Behdad Esfahbod
4a115fe7fe [sinhala] Move reph to after post-consonants
Apparently this changed between Win 7 and Win 10.

Fixes https://github.com/harfbuzz/harfbuzz/issues/967

To be continued in https://github.com/harfbuzz/harfbuzz/issues/1044
2018-06-04 15:40:43 -07:00
Behdad Esfahbod
3e494caae3 [test] Fix record-test to use gids not glyph-names
as those might not match what FontTools think of the glyphs if font
does NOT have glyph names.
2018-06-04 15:38:05 -07:00
Behdad Esfahbod
2eb9bbd986 [test/text-rendering-tests] Update from upstream 2018-05-22 18:31:30 -07:00
Behdad Esfahbod
f673cfbd64 Support scripts that are written both LTR and RTL
Right now only Old Italic is marked as such.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1000
2018-05-07 14:12:17 -07:00
Ebrahim Byagowi
9925030f19 Don't decompose Bengali Rra and Rha
Fixes #779 and follow up to b01d9b3d90
2018-04-26 13:54:09 -07:00