Behdad Esfahbod
0382b7184a
Use as_array in more places
2018-11-02 12:23:26 -04:00
Behdad Esfahbod
40b19fd469
[aat] Fallback to old style "Letter Case" small caps
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1342
2018-10-31 18:51:45 -07:00
Behdad Esfahbod
36e90ef56e
[mort] Massage some more
2018-10-31 15:09:09 -07:00
Behdad Esfahbod
cbaff4ef19
[mort] Some more
2018-10-31 15:06:12 -07:00
Behdad Esfahbod
3087046d31
[mort] Refactor offset-to-index mapping
2018-10-31 14:59:14 -07:00
Ebrahim Byagowi
2e639c47c9
[aat] Fix older compilers by not referencing enum directly ( #1340 )
2018-10-31 14:20:14 +03:30
Ebrahim Byagowi
642c9dcf1b
[aat] Minor, remove extra semicolons
2018-10-31 14:02:37 +03:30
Behdad Esfahbod
c962d5e714
[mort] Make ligatures work
...
./hb-shape Apple_Chancery_10_12.ttf "Th th ll te to tr fr fu fj"
[T_h=0+2308|space=2+569|t_h=3+1687|space=5+569|l_l=6+1108|space=8+569|t_e=9+1408|space=11+569|t_o=12+1531|space=14+569|t_r=15+1385|space=17+569|f_r=18+1432|space=20+569|f_u=21+1733|space=23+569|f_j=24+1098]
Part of https://github.com/harfbuzz/harfbuzz/issues/1331
2018-10-31 01:18:21 -07:00
Behdad Esfahbod
c077989600
[mort] More Ligature work
2018-10-31 00:36:03 -07:00
Behdad Esfahbod
431c6e496b
[mort] Some Ligature work
2018-10-31 00:15:00 -07:00
Behdad Esfahbod
28b68cffe4
[mort] Implement / adjust Contextual substitution
2018-10-30 23:54:29 -07:00
Behdad Esfahbod
9346b1f158
[morx] Remove stale comment
2018-10-30 20:04:13 -07:00
Behdad Esfahbod
f864ef215e
[mort] More massaging towards mort
2018-10-30 19:42:21 -07:00
Behdad Esfahbod
2d9467340b
[mort] Fix version check in sanitize
2018-10-30 19:33:42 -07:00
Behdad Esfahbod
c2527a1bc2
[mort] Make it compile / hook it up
...
Untested.
2018-10-30 19:26:39 -07:00
Behdad Esfahbod
933babdc07
[mort] Fixup on previous commit
2018-10-30 19:22:43 -07:00
Ebrahim Byagowi
b053cabacd
[mort] Bring back mort generalizations
...
Started by reverting https://github.com/harfbuzz/harfbuzz/commit/1f1c85a5
Just a starting point, if we agree even mort can come back.
2018-10-30 19:18:06 -07:00
Behdad Esfahbod
6aa019c4af
[morx] Fix merge_cluster to end at last ligature component
...
Don't assume current position was a component in the ligature.
2018-10-26 22:02:17 -07:00
Behdad Esfahbod
00ae4be6bf
[morx] Fix bailing out ligation at end-of-text
...
Check was after a move_to, which wouldn't work.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11147
2018-10-26 21:59:20 -07:00
Behdad Esfahbod
39bd07aed5
Fix bunch of unused parameter warnings
...
Show up with gcc -O0.
There's a few more but those are functions that need to be filled in.
Maybe this is a lost battle...
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
ba5ca6a762
[morx] Use deleted-glyph, instead of actual deletion, in Ligation
...
Closer to what CoreText does.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1302
2018-10-25 17:46:07 -07:00
Behdad Esfahbod
5c272e3613
[morx] Remove deleted-glyph at the end of processing
2018-10-25 17:39:54 -07:00
Behdad Esfahbod
ba502dea1e
[morx] Fix cluster-merging when ligating
...
Only merge when actual ligature happened.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1305
2018-10-23 16:50:31 -07:00
Behdad Esfahbod
ffe3478448
[aat] Allow enabling/disabling features
...
Only works at entire-buffer range, not sub-ranges.
Test with:
$ hb-shape Zapfino.dfont Zapfino
[Z_a_p_f_i_n_o=0+2333]
$ hb-shape Zapfino.dfont Zapfino --features=-dlig
[Z=0+416|a=1@-21,0+264|p_f=2+433|i=4+181|n=5+261|o=6+250]
$ hb-shape Zapfino.dfont Zapfino --features=+dlig
[Z_a_p_f_i_n_o=0+2333]
Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
2018-10-23 14:14:03 -07:00
Behdad Esfahbod
531f9822b2
[morx] Add a few debug messages to Ligature chain
2018-10-23 01:32:08 -07:00
Behdad Esfahbod
0e5bcdef7f
[morx] Clear stack upon underflow when acting ligatures
2018-10-23 00:39:44 -07:00
Behdad Esfahbod
792071de40
[morx] Leave ligature on stack after ligating
...
Test with Apple Color Emoji.ttf of ~66MB and following sequence:
./hb-shape Apple\ Color\ Emoji-old.ttf --font-funcs=ot -u U+1F468,200d,U+1F469,200d,U+1F467,200d,1f466
Should form full family if matching works correctly. It first makes
family of three, then makes family of four out of that and the last
two characters.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1292
2018-10-22 23:38:34 -07:00
Behdad Esfahbod
87205ef935
[aat] Make sure Lookup offset is never nulled
...
It has unbounded size...
Fixes https://oss-fuzz.com/v2/testcase-detail/5718889451749376
2018-10-16 15:41:00 -07:00
Behdad Esfahbod
2137582c96
[morx] Reword ligation
...
Still fails MORX-41. Am talking to Sascha to better understand what CoreText
is doing.
2018-10-16 14:46:07 -07:00
Behdad Esfahbod
c53a25c657
[morx] Comment
2018-10-16 13:57:35 -07:00
Behdad Esfahbod
0f85edb778
[morx] Another end-of-text corner case
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10990
2018-10-15 11:15:54 -07:00
Behdad Esfahbod
55d5ea666c
[kerx] Merge clusters in Ligature
2018-10-15 11:05:10 -07:00
Behdad Esfahbod
1c76c8f6ff
[morx] Handle end-of-text conditions in Insertion
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10955
2018-10-14 19:39:31 -07:00
Behdad Esfahbod
8496753796
[kerx] Implement Format1
...
Untested.
2018-10-10 21:18:37 -04:00
Behdad Esfahbod
339036dd97
[kerx] Start fleshing out Format1
2018-10-10 20:37:22 -04:00
Behdad Esfahbod
362d324119
[aat] Rename
2018-10-09 23:27:00 -04:00
Behdad Esfahbod
54c9ecb92d
[morx] Use subtable range for embedded sanitizer here as well
2018-10-09 23:18:19 -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
fdce1e1543
[kerx] Clean up kerx and KerxTable structures
2018-10-07 14:01:33 -04:00
Behdad Esfahbod
3417037eb1
[aat] Add +hb_aat_layout_has_substitution
2018-10-04 11:17:19 +02:00
Sascha Brawer
7810bb1a59
[morx] Only insert glyphs at mark when a mark has been set before
...
This reverts commit f4072e8cb8
.
https://github.com/harfbuzz/harfbuzz/issues/1195
2018-10-04 10:29:23 +02:00
Behdad Esfahbod
98ac01d3b3
[morx] Break out if buffer gets into error
...
Was getting stuck not making progress somehow.
2018-10-01 12:10:00 +02:00
Behdad Esfahbod
f4072e8cb8
[morx] Remove mark_set from Insertion
...
text-rendering-tests test MORX-32 shows that for Insertion, an unset mark is treated
as mark set at 0. This is unlike the Reordering lookup where un unset mark performs
nothing.
Fixes MORX-32.
2018-09-28 10:14:23 -04:00
Behdad Esfahbod
0d18ec5467
[morx] unsafe-to-break in Insertion
...
Makes MORX-29, MORX-30, MORX-31 pass.
2018-09-28 10:01:59 -04:00
Behdad Esfahbod
5fd8bce945
[morx] Fix mark_set check
2018-09-19 22:34:09 -04:00
Behdad Esfahbod
dc8ed45292
[morx] Implement forward/backward processing
...
We reverse too many times. Can be optimized. But I doubt many fonts
use reverse lookups, so doesn't matter.
Other than not applying user features, this completes morx table
implementation.
2018-09-19 16:47:25 -04:00
Behdad Esfahbod
3bccd62196
[morx] Implement horiz-only/vert-only subtables
2018-09-19 16:24:34 -04:00
Behdad Esfahbod
041a08de3d
[morx] Improve buffer position in Insertion w DontAdvance and wo
...
Just speculation. Needs tests to determine which is correct behavior.
2018-09-19 16:02:56 -04:00
Behdad Esfahbod
388ab91642
[morx] Implement InsertionChain
2018-09-17 20:28:32 +02:00