|
98835058
|
2016-06-18T21:12:19
|
|
[tests] Workaround Python 2 “narrow” builds
The so-called Python 2 “narrow” builds support UCS2 only, this is a
workaround to allow unichr to work with any Unicode character in such
builds. This fixes Travis-CI failure as it has narrow Python 2 builds.
Copied from:
https://github.com/behdad/fonttools/blob/master/Lib/fontTools/misc/py23.py
|
|
6c0aa9e9
|
2016-05-06T17:50:06
|
|
Fix build on droid.io
|
|
9b6312f9
|
2016-05-06T17:41:49
|
|
[use] Update to draft spec from Andrew Glass from August 2015
|
|
30e6e29f
|
2016-05-06T15:52:27
|
|
[indic/use] Move Javanese from Indic shaper to USE
Fixes https://github.com/behdad/harfbuzz/issues/243
With javatext.ttf, the reodering medial Ra gets its advance width
zero'ed in Uniscribe implementation, and the font adds the advance
back. Our Indic shaper does not do that, but USE does. So, route
Javanese through USE. That's what Microsoft does anyway. Test:
U+A9A5,U+A9BA
This also seems to fix the following sequence, and variations thereof:
U+A99F,U+A9C0,U+A9A2,U+A9BF
|
|
c6ee5f5f
|
2016-05-06T15:39:02
|
|
Add Javanese sample text
|
|
f8061ae7
|
2016-05-02T10:28:24
|
|
[tests] Fix test
|
|
f00ab2a3
|
2016-05-02T10:24:00
|
|
[hb-ot-font] Make 'glyf' table loading lazy
Apparently some clients have reference-table callbacks that copy the table.
As such, avoid loading 'glyf' table which is only needed if fallback positioning
happens.
|
|
f68390f1
|
2016-04-27T02:44:35
|
|
[test] Add text for Tibetan shorthand contractions
From http://www.babelstone.co.uk/Tibetan/Contractions.html
|
|
b2030502
|
2016-04-26T16:41:17
|
|
Do NOT ignore Mongolian Free Variation Selectors during matching
Fixes https://github.com/behdad/harfbuzz/issues/234
|
|
6e55199b
|
2016-04-04T16:24:27
|
|
Add test for 6dd80faf0dcb3e8a8915c3a25da44e2a67cb0cd8
|
|
dd8598c1
|
2016-02-25T11:20:05
|
|
[test] Pass closure to hb_font_set_glyph_func()
Exercises fix in c335fd7986fe360ab8e1c032c9b988d0d30511eb
|
|
af48e3d2
|
2016-02-24T16:06:40
|
|
Fix recent test
Not sure why the FT functions were returning advance 1024. This
caused failure on drone.io. Switch to hb-ot-font and disable
glyph names.
|
|
17c83170
|
2016-02-24T16:06:23
|
|
[tests] Fix for multiple options in test runner scripts
|
|
ebd7431f
|
2016-02-24T15:53:40
|
|
Partially revert 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2
That commit moved the advance adjustment for mark positioning to
be applied immediately, instead of doing late before. This breaks
if mark advances are zeroed late, like in Arabic. Also, easier to
hit it in RTL scripts since a single mark with non-zero advance is
enough to hit the bug, whereas in LTR, at least two marks are needed.
This reopens https://github.com/behdad/harfbuzz/issues/211
The cursive+mark interaction is broken again. To be fixed in a
different way.
|
|
284481b3
|
2016-02-24T15:52:37
|
|
Add test for mark positioning in rtl with non-zero mark advance
Apparently I broke this 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2.
Fix coming.
|
|
56a84e8d
|
2016-02-24T15:50:33
|
|
[tests] Allow commenting out tests to be skipped
|
|
525cc7d2
|
2016-02-23T15:19:27
|
|
Add note re only adding tests with Free Software fonts
|
|
6a09d7e3
|
2016-02-23T13:47:16
|
|
[test] Add README about how to add shaping tests
|
|
f8ee7906
|
2016-02-23T13:45:38
|
|
Remove MANIFEST files
They are unused currently. We can add later if we hook them up
to anything useful.
|
|
815bdd77
|
2016-02-22T18:22:44
|
|
In cluster-level=0, group ZWJ/ZWNJ with previous cluster
This better emulates Unicode grapheme clusters.
Note that Uniscribe does NOT do this, but should be harmless with most clients,
and improve fallback with clients that use HarfBuzz cluster as unit of fallback.
Fixes https://github.com/behdad/harfbuzz/issues/217
|
|
c3731559
|
2016-02-19T15:13:07
|
|
[fuzzing] Add test for recent fix
Test from https://github.com/behdad/harfbuzz/issues/223
I forgot that we do run hb-fuzzer on tests in shaping/tests/fuzzed.tests.
|
|
aa33cb72
|
2016-02-19T15:12:24
|
|
[fuzzing] Make test runner actually work
|
|
2735555c
|
2016-02-19T15:12:16
|
|
[fuzzing] Add TODO item
|
|
7e76bbab
|
2016-02-19T14:43:39
|
|
[fuzzing] Make "make hb-fuzzer" build lib dependency
Not going to do with util/, but is convenient here.
|
|
da41e48f
|
2016-02-16T17:16:33
|
|
[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.
|
|
86c68c7a
|
2016-02-16T16:07:20
|
|
[GPOS] Fix interaction of mark attachments and cursive chaining
Fixes https://github.com/behdad/harfbuzz/issues/211
What happens in that bug is that a mark is attached to base first,
then a second mark is cursive-chained to the first mark. This only
"works" because it's in the Indic shaper where mark advances are
not zeroed.
Before, we didn't allow cursive to run on marks at all. Fix that.
We also where updating mark major offsets at the end of GPOS, such
that changes in advance of base will not change the mark attachment
position. That was superior to the alternative (which is what Uniscribe
does BTW), but made it hard to apply cursive to the mark after it
was positioned. We could track major-direction offset changes and
apply that to cursive in the post process, but that's a much trickier
thing to do than the fix here, which is to immediately apply the
major-direction advance-width offsets... Ie.:
https://github.com/behdad/harfbuzz/issues/211#issuecomment-183194739
If this breaks any fonts, the font should be fixed to do mark attachment
after all the advances are set up first (kerning, etc).
Finally, this, still doesn't make us match Uniscribe, for I explained
in that bug. Looks like Uniscribe applies minor-direction cursive
adjustment immediate as well. We don't, and we like it our way, at
least for now. Eg. the sequence in the test case does this:
- The first subscript attaches with mark-to-base, moving in x only,
- The second subscript attaches with cursive attachment to first subscript
moving in x only,
- A final context rule moves the first subscript up by 104 units.
The way we do, the final shift-up, also shifts up the second subscript
mark because it's cursively-attached. Uniscribe doesn't. We get:
[ttaorya=0+1307|casubscriptorya=0@-242,104+-231|casubscriptnarroworya=0@20,104+507]
while Uniscribe gets:
[ttaorya=0+1307|casubscriptorya=0@-242,104+-211|casubscriptnarroworya=0+487]
note the different y-offset of the last glyph. In our view, after cursive,
things move together, period.
|
|
5b5dc2c0
|
2016-02-11T12:15:38
|
|
[tests] Add test for advance zeroing of an ASCII letter marked as mark in GDEF
|
|
3fe0cf10
|
2016-02-10T18:43:43
|
|
Fix previous commit!
|
|
293a210e
|
2016-02-10T18:39:59
|
|
[tests] Fix fonts in cc4a78bf22c4a735b84c89b04be3bb531f42135e
They had an invalid LookupFlag (32).
|
|
cc4a78bf
|
2016-02-10T18:24:08
|
|
[tests] Add tests for Latin mark zeroing
|
|
55ff34b9
|
2016-02-10T18:20:02
|
|
[tests] Add tests for Thai mark zeroing
|
|
43bb2b8f
|
2016-02-10T14:11:43
|
|
Minor
|
|
505b7d47
|
2016-01-11T18:31:04
|
|
[fuzzing] Fuzz input text
Very rudimentary right now, but will get kcc's bot going.
From
https://github.com/behdad/harfbuzz/issues/139#issuecomment-163580783
|
|
e8a27d79
|
2016-01-07T22:52:16
|
|
Don't build hb-fuzzer in "make", only "make check"
|
|
99d34955
|
2016-01-06T12:20:47
|
|
[test] Add test text for Kaithi
|
|
6173c2a6
|
2015-12-25T18:18:23
|
|
Fix flaky test
This test font had a upem of 769, which results in rounding-related errors with
the FreeType font funcs. Change the upem to 1024 to fix that.
Fixes https://github.com/behdad/harfbuzz/issues/201
|
|
3fcae6d8
|
2015-12-25T18:18:02
|
|
[tests] Add --reference, for re-recording tests
|
|
2f02fc79
|
2015-12-17T15:21:14
|
|
Improve ligature-component handling
We use three bits for lig_id these days, so we finally got a report of
two separate ligatures with the same lig_id happening adjacent to each
other, and then the component-handling code was breaking things.
Protect against that by ignoring same-lig-id but lig-comp=0 glyphs after
a new ligature.
Fixes https://github.com/behdad/harfbuzz/issues/198
|
|
2ab0de9f
|
2015-12-17T11:59:15
|
|
[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
|
|
1c6a057d
|
2015-11-26T18:48:30
|
|
Add tests for previous commit
|
|
9cc1ed4f
|
2015-11-19T12:39:09
|
|
Do not allow recursiving to same position and same lookup
This is just to make it harder to be extremely slow. There definitely
are ways still, just harder. Oh well... how do we tame this problem
without solving halting problem?!
Fixes https://github.com/behdad/harfbuzz/issues/174
|
|
7d75eee7
|
2015-11-19T12:03:04
|
|
[fuzzing] Run fuzzing tests using hb-fuzzer as well
|
|
85062e3b
|
2015-11-18T23:09:13
|
|
Add tests for previous two commits
To fully test what these are supposed to test, they should be run
against libharfbuzz-fuzzing.la instead of libharfbuzz.la, but for
now just record the files.
|
|
ec625f7d
|
2015-11-18T16:37:59
|
|
Try to fix gnome-continuous build fail
|
|
ff16ef33
|
2015-11-18T16:27:32
|
|
Enable building a bounded version of the library for fuzzing
test/fuzzing/hb-fuzzer links against libharfbuzz-fuzzing.so now.
|
|
59821ab8
|
2015-11-06T16:27:44
|
|
[arabic] Don't stretch over cased letters
Addresses
https://github.com/behdad/harfbuzz/commit/6e6f82b6f3dde0fc6c3c7d991d9ec6cfff57823d#commitcomment-14248516
|
|
a6d7668a
|
2015-11-06T09:46:54
|
|
[fuzzing] Cap max buffer len at 128
|
|
5a7eb5d4
|
2015-11-06T00:01:24
|
|
[fuzzing] Add test case for OOM
From https://github.com/behdad/harfbuzz/issues/161
|
|
4301703b
|
2015-11-05T23:44:59
|
|
Limit buffer max size growth
https://github.com/behdad/harfbuzz/issues/161
|
|
19300183
|
2015-11-05T23:08:50
|
|
[fuzzing] Add build system
|
|
9c9ad214
|
2015-11-05T22:50:52
|
|
[fuzzer] Add README
https://github.com/behdad/harfbuzz/issues/139#issuecomment-154202645
|
|
6e6f82b6
|
2015-11-05T17:29:03
|
|
Implement SYRIAC ABBREVIATION MARK with 'stch' feature
The feature is enabled for any character in the Arabic shaper.
We should experiment with using it for Arabic subtending marks.
Though, that has a directionality problem as well, since those
are used with digits...
Fixes https://github.com/behdad/harfbuzz/issues/141
|
|
da29b437
|
2015-11-04T20:22:44
|
|
Separate nil font-funcs from parent-peeking font-funcs
API change: all fonts created with hb_font_create() now inherit from
(ie have parent) hb_font_get_empty().
|
|
04fd8517
|
2015-11-04T17:38:22
|
|
Add tests for hyphen fallback
U+2011 is <noBreak> equivaent of U+2010, so we should do the fallback
for it. Currently fails.
|
|
55041711
|
2015-11-04T17:37:30
|
|
[test] Drop hintings when subsetting fonts to record
|
|
49ef6309
|
2015-11-04T17:27:07
|
|
Adjust the width of various spaces if font does not cover them
See discussion here:
https://github.com/behdad/harfbuzz/commit/81ef4f407d9c7bd98cf62cef951dc538b13442eb
There's no way to disable this fallback, but I don't think it would
be needed. Let's hope for the best!
Fixes https://github.com/behdad/harfbuzz/issues/153
|
|
7793aad9
|
2015-11-04T14:48:46
|
|
Normalize various spaces to space if font doesn't support
This resurrects the space fallback feature, after I disabled
the compatibility decomposition. Now I can release HarfBuzz
again without breaking Pango!
It also remembers which space character it was, such that later
on we can approximate the width of this particular space
character. That part is not implemented yet.
We normalize all GC=Zs chars except for U+1680 OGHA SPACE MARK,
which is better left alone.
|
|
8b3c7f9e
|
2015-11-04T15:30:48
|
|
[test] Support recording multiple lines of text in record-test.sh
|
|
2f0dfd43
|
2015-11-03T12:28:34
|
|
Fix test expectation
|
|
df698f32
|
2015-11-03T12:15:12
|
|
[ot-font] Fix hmtx table length checking, *again*
Exactly the same problem that I fixed in
63ef0b41dc48d6112d1918c1b1de9de8ea90adb5
I rewrote the table checking yesterday in
67f8821fb25d9bd55719f5e29a582ae1af4b02b3
and introduced the exact same issue again. :(
Good thing we have ongoing fuzzing going now. Was discovered
immediately by libFuzzer. Thanks kcc!
https://github.com/behdad/harfbuzz/issues/139#issuecomment-153449473
Fixes https://github.com/behdad/harfbuzz/issues/156
|
|
67f8821f
|
2015-11-02T15:37:29
|
|
[ot] Make bad-hmtx handling match FreeType
Also route fuzzing-related tests through hb-ot-font, to reduce dependency
on FreeType behavior for badly-broken fonts. Fixes failing test with
FreeType master.
|
|
338ffec9
|
2015-10-15T12:55:57
|
|
Add tests for a couple of fixed issues found by libFuzzer
From:
https://github.com/behdad/harfbuzz/issues/139#issuecomment-147616887
https://github.com/behdad/harfbuzz/issues/139#issuecomment-148289957
|
|
55db94be
|
2015-10-13T00:33:59
|
|
Add test for previous commit
|
|
c1a5dc46
|
2015-10-12T17:39:52
|
|
[fuzz] Add fuzzing script from kcc@
https://github.com/behdad/harfbuzz/issues/139
|
|
98c6fccc
|
2015-10-11T21:41:04
|
|
Add test for ee9b0b6cb5fdb08671ab064f26c299135f828260
|
|
34379b49
|
2015-10-09T12:34:02
|
|
Add test for previous fix
|
|
3e905e39
|
2015-10-08T12:51:02
|
|
Add hb_font_set_parent()
No reason to not have it. Makes life easier later.
We (hb-ft, hb-ot-font, etc) can use this API to inject new
parent into a font...
|
|
88da7bba
|
2015-10-02T14:38:20
|
|
Default font scale to face upem
Makes for a better default and avoids nasty inheritance issues.
See mailing list thread "Default hb_font_t scale".
|
|
1866e171
|
2015-10-02T14:21:29
|
|
Make hb_font_create_sub_font() NOT make parent immutable
We don't rely on that. However, whenever hb_font_make_immutable()
is called, it makes its parenting chain immutable.
|
|
f2ad935e
|
2015-06-28T03:29:47
|
|
Handle language tags that indicate phonetic IPA transcription
The BCP-47 registry defines a variant subtag "fonipa" that can be used
in combination with arbitrary other language tags. For example,
"rm-CH-fonipa-sursilv" indicates the Sursilvan dialect of Romansh
as used in Switzerland, transcribed used the International Phonetic
Alphabet.
http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
|
|
b6d7d161
|
2015-09-01T16:12:44
|
|
[tests] Add Hebrew test for normalization under cluster-level=1
Currently fails.
https://bugzilla.gnome.org/show_bug.cgi?id=541608
|
|
fad26748
|
2015-09-01T14:45:46
|
|
Minor
|
|
31594b98
|
2015-08-30T17:33:04
|
|
[test] Fix test-object
See previous commit.
|
|
7368da67
|
2015-08-25T20:28:39
|
|
[test] Add test for cursive-positioning with mixed directions
Fails now. Fix coming. See thread "Issue with cursive attachment"
started by Khaled. Test fonts were made by modifying test font
from Khaled to add more anchors.
|
|
f3792342
|
2015-08-08T18:02:18
|
|
[tests] Add test for fallback positioning with cluster_level > 0
For https://github.com/behdad/harfbuzz/pull/123
Currently fails. Fix coming.
|
|
160f6355
|
2015-07-22T23:26:23
|
|
fix static linking with icu-uc
When linking test-unicode statically it needs $(ICU_LIBS)
which contains all required flags.
Especially -lstdc++.
Fixes:
http://autobuild.buildroot.net/results/210/2107f9dfb39eeb6559fb4271c7af8b39aef521ca/
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
|
|
df6cb844
|
2015-07-26T19:40:55
|
|
Merge branch 'use'
|
|
786ba458
|
2015-07-23T13:04:34
|
|
[test] Encode Kharoshti text
Ouch!
|
|
b4231255
|
2015-07-23T13:01:55
|
|
[test] Add Batak and Buginese test texts
|
|
b8c159ff
|
2015-07-23T12:59:17
|
|
[test] Remove shaper-sea texts under shaper-use
|
|
67ba7320
|
2015-07-23T12:58:21
|
|
[test] Remove New Tai Lue texts
New Tai Lue changed encoding to visual, boring, model.
|
|
c81d957a
|
2015-07-23T12:50:48
|
|
[test] Add tests for improved 'vert' feature
|
|
8a6a16db
|
2015-07-23T12:49:09
|
|
[test] Add recently added test
Ouch.
|
|
895fb31c
|
2015-07-23T12:14:03
|
|
[test] Support additional options to hb-shape in micro-test suite
|
|
58206917
|
2015-07-22T18:44:59
|
|
Add test case for deleting default ignorables with positioning
|
|
14b12f92
|
2015-07-20T11:57:44
|
|
[USE] Add Kharoshti test data from Unicode proposal
|
|
b3a2f6af
|
2015-06-18T17:15:33
|
|
[test] Add test for cluster merging
Based on test from https://code.google.com/p/chromium/issues/detail?id=497578
Currently fails. Basically, if there's a default_ignorable at the
start of text, and font has no space glyph, we remove the default_ignorable,
and that makes the first char in text to correspond to no cluster.
Fix coming.
|
|
8f0a4d67
|
2015-04-23T14:32:33
|
|
[test] Ignor 'n' and 'i' in hb-unicode-encode
Allows accepting uniXXXX format.
|
|
eb0bf3ae
|
2014-08-06T15:36:41
|
|
Relax inert checks
Previously, when creating an object from inert inputs (eg:
"hb_font_create(hb_face_get_empty())") we returned the inert
empty object. This is not helpful as there are legitimate
usecases to do that.
We now never return the inert object unless allocation failed.
Tests are revised to reflect.
|
|
9868749a
|
2015-04-06T14:51:31
|
|
[test] Use /usr/bin/env python instead of /usr/bin/python
Bug 76494 - #!/usr/bin/python in testsuite
https://bugs.freedesktop.org/show_bug.cgi?id=76494
|
|
363ceec3
|
2015-03-30T03:27:14
|
|
Make hb_test_tools.py compatible with python 3
On ArchLinux, /usr/bin/python is linked to python 3 so
HarfBuzz `make check` is broken there.
This makes hb_test_tools.py compatible with python 3 while
no breaking it on python 2.
|
|
7d5e7613
|
2014-12-18T18:22:21
|
|
Fail blob creation if length overflows or is too large
Fail if blob start plus length overflows; or if blob length
is greater than 2GB. It takes a while for fonts to get to that
size. In the mean time, it protects against bugs like this:
http://www.icu-project.org/trac/ticket/11450
Also avoids some weird issues with 32bit vs 64bit systems
as we accept length as unsigned int. As such, a length of
-1 will cause overflow on 32bit machines, but happily
accepted on a 64bit machine. Avoid that.
|
|
e6f80fa1
|
2014-12-10T12:05:24
|
|
[indic] Allow ZWJ/ZWNJ before SM
In Oriya, a ZWJ/ZWNJ might be added before candrabindu to encourage
or stop ligation of the candrabindu. This is clearly specified in
the Unicode section on Oriya. Allow it there. Note that Uniscribe
doesn't allow this.
Micro tests added using Noto Sans Oriya draft.
No changes in numbers. Currently at:
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: 1048147 out of 1048334 tests passed. 187 failed (0.0178378%)
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%)
|
|
a1f27ac3
|
2014-10-02T16:54:33
|
|
Update test expectation for previous commit
|
|
715f27f8
|
2014-10-01T16:53:00
|
|
[test] Fixup test
|
|
c4308f89
|
2014-08-13T19:42:01
|
|
Minor
|
|
b5fbc3b8
|
2014-08-11T18:40:01
|
|
API: Do not clear buffer-flags in hb_buffer_clear_contents()
After 763e5466c0a03a7c27020e1e2598e488612529a7, one doesn't
need to set flags for different pieces of text. The flags now
are something the client sets up once, depending on how it
actually uses the buffer. As such, don't clear it in
clear_contents().
Tests updated.
|
|
d5e61470
|
2014-08-05T14:19:01
|
|
[arabic] Fix fallback shaping regression
Was broken in 615d00ea252739da57edbd980ff27e573.
Fixes https://github.com/behdad/harfbuzz/pull/48
Micro-test added.
|
|
ac53443f
|
2014-07-31T18:51:37
|
|
[hangul] Don't apply 'calt'
See comments.
Micro-test added.
|
|
8292f96b
|
2014-07-31T18:33:11
|
|
[test] Fix record-test.sh
|