Behdad Esfahbod
c2e42c3db6
Minor
2012-07-30 19:54:50 -04:00
Behdad Esfahbod
03f67bc012
More refactoring glyph class access
2012-07-30 19:47:53 -04:00
Behdad Esfahbod
300c7307eb
[OT] Don't crash if no GDEF available
2012-07-30 19:37:44 -04:00
Behdad Esfahbod
05bd1b6342
[GSUB/GPOS] Move glyph props matching around
2012-07-30 19:30:01 -04:00
Behdad Esfahbod
2fca1426ca
[GSUB] Don't erase glyph classes if GDEF does not have glyph classes
2012-07-30 18:46:41 -04:00
Behdad Esfahbod
7fbbf86efe
[GSUB] Minor
2012-07-30 18:36:42 -04:00
Behdad Esfahbod
fe20c0f84f
[GSUB] Fix mark component stuff when ligatures form ligatures!
...
See comments.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=437633
2012-07-30 00:00:59 -04:00
Behdad Esfahbod
e6f7479fe3
[GSUB] Simplify would-apply
2012-07-28 18:34:58 -04:00
Behdad Esfahbod
0b99429ead
[GSUB/GPOS] Add get_coverage() and use it to speed up main loop
...
And use it to speed up the hotspot by checking coverage directly in
the main loop, not 10 functions deep in.
Gives me a solid 20% boost with Indic test suite. Less so for less
lookup-intensive scenarios.
Remove the "fast_path" hack from before.
2012-07-28 17:46:35 -04:00
Behdad Esfahbod
0981068b75
[GSUB/GPOS] Reject Context/ChainContext lookups with zero input
2012-07-28 17:01:59 -04:00
Behdad Esfahbod
ec8d249469
Make data members of various OpenType structs protected instead of private
...
Should fix warnings generated when building with -Wunused-private-field.
Based on patch from Jonathan Kew.
2012-07-24 15:40:37 -04:00
Behdad Esfahbod
49c5ec5144
Minor refactoring
2012-07-23 20:14:13 -04:00
Behdad Esfahbod
c3e6fdc379
[Indic] Improve check on ligatures
...
Only skip actual ligatures, not marks in-between ligature components.
2012-07-23 20:11:42 -04:00
Behdad Esfahbod
d1af9e82e5
[GSUB/GPOS] Const correctness
2012-07-23 19:55:35 -04:00
Behdad Esfahbod
8932858123
Minor
2012-07-19 21:02:38 -04:00
Behdad Esfahbod
e72b360ac6
Refactor / finish would_apply() operation
...
Untested.
2012-07-19 14:44:46 -04:00
Behdad Esfahbod
60da763dfa
[GSUB/GDEF] Guess glyph classes after substitution only if no GDEF
...
Brings down Khmer failures with Daun Penh font from 36% to 20%.
2012-07-16 16:14:40 -04:00
Behdad Esfahbod
6d08c7f1b3
Revert "Towards templatizing common Lookup types"
...
This reverts commit 727135f3a9
.
This is work-in-progress. Didn't mean to push it out just yet.
2012-07-11 18:01:27 -04:00
Behdad Esfahbod
727135f3a9
Towards templatizing common Lookup types
2012-07-11 18:00:28 -04:00
Behdad Esfahbod
b12e2549cb
Minor
2012-06-09 03:05:20 -04:00
Behdad Esfahbod
f19e0b0099
Match input before backtrack
...
Makes more sense, optimization-wise.
2012-06-09 02:26:57 -04:00
Behdad Esfahbod
ce47613889
Micro-optimize
...
I know...
2012-06-09 01:43:15 -04:00
Behdad Esfahbod
7b84c536c1
In MarkBase attachment, only attach to first of a MultipleSubst sequence
...
This is apparently what Uniscribe does. Test case is:
SEEN FATHA TEH ALEF
with Arabic Typesetting. Originally reported by Khaled Hosny.
2012-06-08 22:04:23 -04:00
Behdad Esfahbod
e085fcf7ca
Remove unused buffer->replace_glyphs_be16
2012-06-08 21:45:00 -04:00
Behdad Esfahbod
3ec77d6ae0
Don't use replace_glyphs_be for MultipleSubst
2012-06-08 21:44:06 -04:00
Behdad Esfahbod
4b7192125f
Minor
2012-06-08 21:41:46 -04:00
Behdad Esfahbod
68b76121f8
Fix regressions introduced by sed. Ouch!
...
Introduced in 99c2695759
.
Broken mark-mark and mark-ligature stuff.
2012-06-08 10:47:00 -04:00
Behdad Esfahbod
2a3d911fe0
Fix alignment-requirement missmatch
...
Detected by clang and lots of cmdline options.
2012-06-07 17:31:46 -04:00
Behdad Esfahbod
ed2f1363a3
Fix substitution glyph class propagation
...
The old code was doing nothing.
Still got to find an example font+string that makes this matter, but
need this for fixing synthetic GDEF anyway.
2012-05-22 22:12:22 -04:00
Behdad Esfahbod
99c2695759
Add accessort to buffer for current info, current pos, and prev info
2012-05-13 15:45:18 +02:00
Behdad Esfahbod
6736f3c5b0
Minor
2012-05-13 15:21:06 +02:00
Behdad Esfahbod
5df809b655
[GSUB/GPOS] Remove context_length
...
The spec doesn't say contextual matching should be done this way,
and AOTS doesn't do it either. It was inherited from old HarfBuzz.
Remove it.
2012-05-13 15:17:51 +02:00
Behdad Esfahbod
28b9d502bb
Minor
2012-05-13 15:04:00 +02:00
Behdad Esfahbod
5f131d3226
[GSUB/GPOS/Indic] Apply GSUB/GPOS within syllables only
...
This does not apply to the context matchings.
This regresses tests right now. And we are not sure whether this is
the right thing to do for GPOS. But we'll figure out.
2012-05-11 17:29:40 +02:00
Behdad Esfahbod
8fd83aaf6e
[GSUB/GPOS] Fix wrong buffer access in backward skippy mask matching
2012-05-11 17:18:37 +02:00
Behdad Esfahbod
203d71069c
[GSUB/GPOS] Check all glyph masks when matching input
2012-05-11 16:01:44 +02:00
Behdad Esfahbod
cee7187447
[Indic] Move syllable tracking from Indic to generic layer
...
This is to incorporate it into GSUB/GPOS processing.
2012-05-11 11:41:39 +02:00
Behdad Esfahbod
55fe2cf79b
Make APPLY debug output print current index and codepoint
...
Yay!
2012-05-11 03:56:33 +02:00
Behdad Esfahbod
98619ce4fa
Minor
2012-05-11 02:34:06 +02:00
Behdad Esfahbod
acea183e98
Add return annotation for APPLY
2012-05-11 02:33:11 +02:00
Behdad Esfahbod
0ab8c86217
Annotate SANITIZE return values
...
More to come, for APPLY, CLOSURE, etc.
2012-05-11 02:11:52 +02:00
Behdad Esfahbod
6f45538017
More massaging trace messaging
2012-05-10 23:24:43 +02:00
Behdad Esfahbod
208109703c
Better trace message support infrastructure
...
We have varargs in the trace interface now. To be used soon...
2012-05-10 23:06:58 +02:00
Behdad Esfahbod
a9844d41c6
Combine lig_id and lig_comp into one byte, to free up one for Indic
2012-05-09 17:53:13 +02:00
Behdad Esfahbod
5caece67ab
Make closure() return void
2012-04-23 23:03:12 -04:00
Behdad Esfahbod
5b93e8d94f
Update copyright headers
2012-04-23 22:26:27 -04:00
Behdad Esfahbod
6a9be5bd35
Rename hb_glyph_map_t to hb_set_t
2012-04-23 22:23:17 -04:00
Behdad Esfahbod
31081f7390
Implement closure() for Context and ChainContext lookups
2012-04-23 16:54:58 -04:00
Behdad Esfahbod
3e32cd9570
Minor
2012-04-23 13:22:50 -04:00
Behdad Esfahbod
650ac00da3
Minor refactoring
2012-04-23 13:17:09 -04:00