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
5772edc0ea
[khmer] Typo
2018-07-31 14:10: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
Behdad Esfahbod
6ddd669e20
[khmer] Clear syllables before presentation features
...
Probably not what Uniscribe does, but good idea?
2018-07-31 13:40:22 -07:00
Behdad Esfahbod
8eef1964a7
[khmer] Revert previous change, and remove pauses
...
This makes test suite happy again (at 44) while fixing the sequences
we were fixing, which were the following with KhmerUI.ttf:
U+1789,U+17BC
U+1789,U+17D2,U+1789
U+1789,U+17D2,U+1789,U+17BC
Fixes rest of https://github.com/harfbuzz/harfbuzz/issues/974
2018-07-31 13:40:17 -07:00
Behdad Esfahbod
7c658ea2f2
[khmer] Apply ccmp after basic features
...
Part of https://github.com/harfbuzz/harfbuzz/issues/974
2018-07-31 12:49:02 -07:00
Behdad Esfahbod
1a96cc825d
[khmer] Rewrite most of shaper to better follow spec
...
Khmer spec has only one reordering phase, and only simple prebase
matra and Coeng-Ro reordering. Implement that. Specifically,
this was done to address recognizing different orders of the matra
and Coeng-Ro sequence. That said, some combinations are now
reordered differently from Uniscribe. Not clear if that's intended
or a bug in Uniscribe. The following two sequences render the same
in Uniscribe whereas we reorder them differently:
U+17A0,U+17D2,U+179A,U+17C2
U+17A0,U+17C2,U+17D2,U+179A
For that reason, our test suite numbers regressed slightly. Used
to be at 34 for fails, now at:
KHMER: 299080 out of 299124 tests passed. 44 failed (0.0147096%)
But generally a good change, and removed lots of code.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1026
2018-07-31 11:45:32 -07:00
Behdad Esfahbod
f5152cea42
[shaper] Move code around
2018-07-31 01:27:04 -07:00
Behdad Esfahbod
36d0fbbc52
[shaper] Remove a macro
2018-07-31 01:15:04 -07:00
Behdad Esfahbod
b1e5650c67
[atomic] Make pointer get op relaxed instead of acquire
...
We only use it before cmpexch, so relaxed is fine and faster for
common case.
2018-07-31 01:02:31 -07:00
Behdad Esfahbod
66ccd8ac40
[serialize] Increase stage count from 8 to 32
...
Indic shaper uses many stages. Now we are provably not limiting
functionality whereas the previous limit of 8 was assuming real-world
practices.
2018-07-30 17:03:06 -07:00
Behdad Esfahbod
ee8cf91965
[serialize] Remove unused truncate() method
2018-07-30 16:59:41 -07:00
Garret Rieger
5edf454aa6
[subset] During lookup collection remember the features we've already processed.
2018-07-27 17:29:00 -07:00
Behdad Esfahbod
42c183f803
Minor
2018-07-27 14:55:29 -07:00
Behdad Esfahbod
ecab6604e5
[serialize] Allocate for markFilteringSet
2018-07-27 14:54:15 -07:00
Behdad Esfahbod
7f08818c44
Minor
2018-07-27 14:54:15 -07:00
prrace
2e25d8f491
Fix unlikely leaks
2018-07-27 14:54:08 -07:00
Behdad Esfahbod
3c2842cbcf
Add hb-iter-private.hh
...
Unused so far.
2018-07-25 17:07:17 -07:00
Behdad Esfahbod
92b1e025c6
Move some code from hb-open-type-private.hh to hb-machinery-private.hh
2018-07-25 16:58:47 -07:00
Behdad Esfahbod
6b11fea997
[closure] Allocate out set on the stack
2018-07-25 16:01:37 -07:00
Behdad Esfahbod
74467b7901
Fix compile
2018-07-25 14:30:07 -07:00
Behdad Esfahbod
bf90f35302
[coretext] Add note
2018-07-25 13:57:24 -07:00
Garret Rieger
fb58cb4b5c
[subset] Only used reachable lookups for gsub closure.
2018-07-25 13:56:58 -07:00
Behdad Esfahbod
c38bd4025f
[closure] Separate in and out glyphs
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1107
2018-07-24 13:47:32 -07:00
Garret Rieger
85646fdadb
[subset] Limit the iterations of the closure algorithm.
...
Prevents O(n^2) run times.
2018-07-23 16:01:57 -07:00
Behdad Esfahbod
94759d4cf8
Fix visibility on mingw32
...
Should fix bots again.
2018-07-23 15:08:32 -07:00
Behdad Esfahbod
61eddbd8ef
Fix infinite loop in loading num_glyphs within sanitizer
2018-07-23 14:44:10 -07:00
Behdad Esfahbod
e22a48ac95
One more visibility trick
...
Should fix Windows build again.
2018-07-23 13:24:26 -07:00
Behdad Esfahbod
e57a638bde
One more
2018-07-23 12:00:02 -07:00
Behdad Esfahbod
36ed163fdd
Remove unnecessary OT:: namespace specifiers
2018-07-23 11:57:45 -07:00
Behdad Esfahbod
c6bc7c3831
Set num glyphs on sanitizer reference_table()
...
Move out-of-class definitions of two methods to hb-static so they
are accessible in libharfbuzz-subset.
2018-07-23 11:46:46 -07:00
Behdad Esfahbod
9401829d4e
Remove Sanitizer<>
2018-07-22 22:50:58 -07:00
Behdad Esfahbod
8e3e41272b
Port rest of code away from Sanitizer<>
2018-07-22 22:49:26 -07:00
Behdad Esfahbod
d6a8f64045
Port dump-emoji away from Sanitizer<>
2018-07-22 22:47:19 -07:00
Behdad Esfahbod
14f78d2b3b
.
2018-07-22 22:45:26 -07:00
Behdad Esfahbod
4547051f48
Minor
2018-07-22 22:44:22 -07:00
Behdad Esfahbod
740ae27d5c
Port sbix off of Sanitizer<>
2018-07-22 22:43:25 -07:00
Behdad Esfahbod
9583e0077d
Port more off of Sanitizer<>
2018-07-22 22:43:25 -07:00
Behdad Esfahbod
e7737b41d7
Add sanitizer reference_table, also fix clang build
...
Clang is being really peculiar. Fix with:
- inline hb_blob_t *sanitize (hb_blob_t *blob) { return c->sanitize<Type> (blob); }
+ inline hb_blob_t *sanitize (hb_blob_t *blob) { return c[0].template/*clang idiosyncrasy*/sanitize_blob<Type> (blob); }
2018-07-22 22:24:31 -07:00
David Corbett
62fa7cd1cc
Order Chakma split vowels in accordance with NFC
...
Fixes #1105 .
2018-07-22 19:47:21 -07:00
Ebrahim Byagowi
0c1b287b72
Add a new API, hb_ot_layout_get_feature_name_ids ( #976 )
...
This new API returns cvXX and ssXX related NameId, things like
featUiLabelNameId, featUiTooltipTextNameId, sampleTextNameId, ... of cvXX
and UINameId of ssXX, in a unified way.
However HarfBuzz currently doesn't expose an API for retrieving the actual
information associated with NameId from the `name` table and that should be
done separately.
2018-07-21 21:14:48 +04:30
Ebrahim Byagowi
93b65d9fe3
Remove dump-fon ( #1100 )
...
It had interesting stuffs like EXE parsing and
big-endian parsers but added in an attempt to find
a solution for #681 which later found not related.
2018-07-17 23:29:16 +04:30
Ebrahim Byagowi
d5cd47a69c
Remove AAT's gcid/fmtx ( #1099 )
...
We are not going to use them, at least in the foreseeable future
2018-07-17 22:32:37 +04:30
Behdad Esfahbod
1e9e344b2b
Fix hb_face_count() sanitize referencing
2018-07-17 19:17:59 +02:00
Behdad Esfahbod
a8cc0b5907
Remove TODO that is not gonna be done
...
Previously the idea was to cache sanitize results externally (think,
in Fontconfig) and avoid resanitizing every time. That's, not a good
idea.
2018-07-17 19:09:03 +02:00
Behdad Esfahbod
be70738400
Move sanitizer code around a bit
2018-07-17 18:51:59 +02:00
Behdad Esfahbod
db5d430eff
[aat] Update for blob changes
...
Also, uncomment code again, just "if (0)" it out, so it doesn't get stale again.
2018-07-17 18:14:45 +02:00
Behdad Esfahbod
68310a65cb
1.8.4
2018-07-17 13:20:40 +02:00