|
8fbfda92
|
2012-08-01T19:03:46
|
|
Inline font getters
|
|
6adf417b
|
2012-08-01T18:07:42
|
|
Use a lookup table for modified_combining_class
|
|
208f70f0
|
2012-08-01T17:13:10
|
|
Inline Unicode callbacks internally
|
|
7470315a
|
2012-08-01T17:01:59
|
|
Move unicode accessors around
|
|
21fdcee0
|
2012-08-01T16:23:44
|
|
Add hb_unicode_combining_class_t
|
|
84186a64
|
2012-08-01T13:32:39
|
|
Add commentary on the compatibility decomposition in the normalizer
|
|
0834d952
|
2012-08-01T00:21:09
|
|
[hb-old] Adjust mark positioning parameters
Fallback mark positioning works now... With hb-ft and hb-view /
hb-shape at least.
|
|
4ca743df
|
2012-08-01T00:03:41
|
|
[old] Implement fontMetrics
|
|
1e7d8606
|
2012-07-31T23:41:06
|
|
[GPOS] Adjust mark advance-width zeroing logic
If there is no GPOS, zero mark advances.
If there *is* GPOS and the shaper requests so, zero mark advances for
attached marks.
Fixes regression with Tibetan, where the font has GPOS, and marks a
glyph as mark where it shouldn't get zero advance.
|
|
a8842e4a
|
2012-07-31T23:10:11
|
|
Remove some TODO items
|
|
2bc3b9a6
|
2012-07-31T23:08:25
|
|
[OT] Zero mark advances if the shaper desires so
Enabled for all shapers except for Indic.
|
|
5fecd8b0
|
2012-07-31T22:48:38
|
|
[OT] Synthesize glyph classes
|
|
03b09214
|
2012-07-31T22:43:58
|
|
[GSUB] Minor
|
|
f0fc1df8
|
2012-07-31T22:43:32
|
|
[hb-old] Implement getGlyphMetrics()
Still working on it.
|
|
378d279b
|
2012-07-31T21:36:16
|
|
Implement Unicode compatibility decompositions
Based on patch from Philip Withnall.
https://bugs.freedesktop.org/show_bug.cgi?id=41095
|
|
321ec29c
|
2012-07-31T21:10:16
|
|
Remove unused function
|
|
69cc492d
|
2012-07-31T14:51:36
|
|
[buffer] Minor
|
|
693918ef
|
2012-07-30T21:08:51
|
|
[OT] Streamline complex shaper enumeration
Add a shaper class struct.
|
|
c2e42c3d
|
2012-07-30T19:54:50
|
|
Minor
|
|
03f67bc0
|
2012-07-30T19:47:53
|
|
More refactoring glyph class access
|
|
300c7307
|
2012-07-30T19:37:44
|
|
[OT] Don't crash if no GDEF available
|
|
3dcbdc21
|
2012-07-30T19:31:17
|
|
Minor
|
|
05bd1b63
|
2012-07-30T19:30:01
|
|
[GSUB/GPOS] Move glyph props matching around
|
|
2fca1426
|
2012-07-30T18:46:41
|
|
[GSUB] Don't erase glyph classes if GDEF does not have glyph classes
|
|
fd42257f
|
2012-07-30T18:40:27
|
|
Minor
|
|
7fbbf86e
|
2012-07-30T18:36:42
|
|
[GSUB] Minor
|
|
713914d3
|
2012-07-30T17:54:38
|
|
[Uniscribe] Clean up a bit
|
|
301168da
|
2012-07-30T17:48:04
|
|
[CoreText] Port to shape_plan infrastructure
|
|
6cdfd14b
|
2012-07-30T17:22:17
|
|
Fix build on Mac
|
|
7e34601d
|
2012-07-30T14:53:41
|
|
Unbreak Hangul jamo composition
When we removed the separate Hangul shaper, the specific normalization
preference of Hangul was lost. Fix that. Also, the Thai shaper was
copied from Hangul, so had the fully-composed normalization behavior,
which was unnecessary. So, fix that too.
|
|
7afb1440
|
2012-07-30T13:54:46
|
|
[Indic] Recategorize Telugu length marks
Fixes 8 more Telugu tests. Failures at 15 (0.00154548%).
|
|
70b3dc32
|
2012-07-30T12:40:18
|
|
Add Hebrew test
|
|
f2377155
|
2012-07-30T10:50:57
|
|
[hb-old] Fix misc leaks
Backport (forward-port?!) from upstream:
commit 3ab7b37bdebf0f8773493a1fee910b151c4de30f
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Mon Jul 30 10:50:22 2012 -0400
Fix misc leaks
https://bugs.freedesktop.org/show_bug.cgi?id=31992
https://bugs.freedesktop.org/show_bug.cgi?id=31993
https://bugs.freedesktop.org/show_bug.cgi?id=31994
https://bugs.freedesktop.org/show_bug.cgi?id=31995
|
|
3f4764bb
|
2012-07-30T10:06:42
|
|
Don't lock user_data set during destruction if empty
|
|
4ba647ee
|
2012-07-30T09:53:06
|
|
Fix leak
|
|
f8603664
|
2012-07-30T02:38:39
|
|
[OT] Gain back some lost speed
|
|
11f4c87d
|
2012-07-30T02:36:46
|
|
[OT] Remove hb_ot_layout_ensure()
I didn't like it from the beginning.
|
|
578e4218
|
2012-07-30T02:35:07
|
|
Minor
|
|
a973b5ce
|
2012-07-30T01:46:34
|
|
[GSUB] Further adjustments to mark-attachment vs ligation interaction
The d1d69ec52e75a78575b620a1c456d528b6078170 change broke Kannada badly,
since it was ligating consonants, pushing matra out, and then ligating
with the matra. Adjust for that. See comments.
|
|
0aef425e
|
2012-07-30T00:55:15
|
|
[GSUB] Minor
|
|
d1d69ec5
|
2012-07-30T00:51:47
|
|
[GSUB] Don't ligate glyphs attached to different components of ligatures
This concludes the mark-attachment vs ligating interaction fixes (for now).
|
|
4751dec8
|
2012-07-30T00:42:07
|
|
Minor
|
|
f24bcfbe
|
2012-07-30T00:39:00
|
|
Minor
|
|
fe20c0f8
|
2012-07-30T00:00:59
|
|
[GSUB] Fix mark component stuff when ligatures form ligatures!
See comments.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=437633
|
|
2ec3ba46
|
2012-07-29T22:02:24
|
|
[GSUB/GPOS] Minor
Start squeezing more out of lig_id/lig_comp.
|
|
ef6e9cec
|
2012-07-29T21:35:22
|
|
Fixup bb0e4ba3e9c5a407fc5d73c914e429d24d336380
|
|
cb3d3406
|
2012-07-29T20:37:38
|
|
[GSUB] Don't set new lig_id on mark ligatures
If two marks form a ligature, retain their previous lig_id, such that
the mark ligature can attach to ligature components...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676343
In fact, I noticed that we should not let ligatures form between glyphs
coming from different components of a previous ligature. For example,
if the sequence is: LAM,SHADDA,LAM,FATHA,HEH, the LAM,LAM,HEH form a
ligature, putting SHADDA and FATHA next to eachother. However, it would
be wrong to ligate them. Uniscribe has this bug also.
|
|
97a201be
|
2012-07-29T20:31:36
|
|
Add Arabic tests for mark ligature component attachments
|
|
a15b70a8
|
2012-07-29T20:09:22
|
|
[hb-old] Fix cluster formation in RTL
Unlike Uniscribe, hb-old returns glyphs in logical order, so the logic
does not need to duplicated for RTL.
|
|
8a7e70ef
|
2012-07-29T19:56:54
|
|
[Minor]
|
|
bb0e4ba3
|
2012-07-29T17:34:14
|
|
Minor
|
|
a00ad60b
|
2012-07-28T21:16:08
|
|
[Uniscribe] Remove hb_uniscribe_font_ensure()
Wasn't a huge fan of putting the burden on the user. Just remove it and
do what we've got to do transparently.
|
|
5d874d56
|
2012-07-28T21:05:25
|
|
[GPOS] Fix mark-to-mark positioning when one of the marks is a ligature
This commit: a3313e54008167e415b72c780ca7b9cda958d07e broke MarkMarkPos
when one of the marks itself is a ligature. That regressed 26 Tibetan
tests (up from zero!). Fix that. Tibetan back to zero.
|
|
338fe662
|
2012-07-28T18:53:01
|
|
[GSUB] Minor
|
|
e6f7479f
|
2012-07-28T18:34:58
|
|
[GSUB] Simplify would-apply
|
|
dadede01
|
2012-07-28T18:03:20
|
|
Minor
|
|
0b99429e
|
2012-07-28T17:31:01
|
|
[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.
|
|
30ec9002
|
2012-07-28T17:25:20
|
|
Reject lookups with no subTable
|
|
0981068b
|
2012-07-28T17:01:59
|
|
[GSUB/GPOS] Reject Context/ChainContext lookups with zero input
|
|
2f87cebe
|
2012-07-27T04:02:38
|
|
Implement shape_plan caching
Should give us some performance boost.
|
|
e9eb9503
|
2012-07-27T03:16:22
|
|
Add default_shaper_list to shape_plan
|
|
3b7c4e27
|
2012-07-27T03:12:23
|
|
Don't fail choosing shaper on planning failure
Shapers have a chance to reject a font in face shaper_data creation.
No need to allow failing during planning.
|
|
cfe98826
|
2012-07-27T03:06:30
|
|
Add hb_ot_layout_ensure() and hb_uniscribe_font_ensure()
|
|
c5b668fb
|
2012-07-27T02:49:39
|
|
Choose one shaper per plan
|
|
e82061e8
|
2012-07-27T02:29:32
|
|
Move ot shaper completely to shape_plan
|
|
ea278d38
|
2012-07-27T02:12:28
|
|
Partially switch ot shaper to shape_plan
|
|
b6b7ba13
|
2012-07-27T01:26:11
|
|
Switch old and uniscribe backends to shape_plan
|
|
c32c096a
|
2012-07-27T01:13:53
|
|
Switch to shape_plan
Not optimized yet. Eats babies. And no shaper uses the shape_plan.
|
|
5b95c148
|
2012-07-26T23:46:53
|
|
Start implementing shape_plan
|
|
bd26b4d2
|
2012-07-26T22:05:39
|
|
Minor
|
|
027857d0
|
2012-07-26T17:34:25
|
|
Start adding a unified shaper access infrastructure
Add global shape_plan. Unused so far.
|
|
fa2dfcd5
|
2012-07-26T16:06:16
|
|
Fix visibility warnings with MinGW32
|
|
ac2085d4
|
2012-07-26T15:58:45
|
|
[CoreText] Ensure cluster indices in output buffer are non-decreasing.
Does not provide Uniscribe-compatible results, but should at least avoid
breaking hb-view due to out-of-order cluster values.
For RTL runs, ensure cluster values are non-increasing (instead of
non-decreasing).
|
|
441d3bb7
|
2012-07-26T12:01:12
|
|
Minor
|
|
2e7f2230
|
2012-07-25T19:30:15
|
|
[hb-old] Fix Arabic cursive positioning
Backporting from upstream:
commit b847f24ce855d24f6822bcd9c0006905e81b94d8
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Jul 25 19:29:16 2012 -0400
[arabic] Fix Arabic cursive positioning
This was clearly broken in testing. Who knows... Fixes for me.
Test with a Nastaleeq font, or with Arabic Typesetting.
Backporting from Chromium.
|
|
9550a8c4
|
2012-07-25T19:22:57
|
|
[hb-old] Fixup not-enough-space handling
|
|
91e721ea
|
2012-07-25T19:20:34
|
|
[hb-old] Fix clusters
Unlike its "documentation", hb-old's log_clusters are, well, indeed
logical, not visual. Fixup. Adapted / copied from hb-uniscribe.
|
|
a3313e54
|
2012-07-25T18:37:51
|
|
[GPOS] Fix MarkMarkPos applied to results of MultipleSubst
This was broken as a result of 7b84c536c10ab90ed96a033d88e9ad232d46c5b8.
As Khaled reported, MarkMark positioning was broken with glyphs
resulting from a MultipleSubst. Fixed. Test with the ALLAH character
in Amiri.
|
|
35bdab3c
|
2012-07-25T11:59:52
|
|
Minor
|
|
8fe4c740
|
2012-07-24T21:05:12
|
|
[hb-old] Add HarfBuzz.old shaper
Choose using shaper name "old".
|
|
5e198700
|
2012-07-24T19:53:55
|
|
[hb-old] Define Unicode funcs in terms of new HarfBuzz
|
|
4a31166b
|
2012-07-24T19:49:48
|
|
[hb-old] Shovel out the line-breaking / word-segmentation stuff
|
|
0bcbe88c
|
2012-07-24T19:38:24
|
|
[hb-old] Add visibility attributes
|
|
6a9d43c3
|
2012-07-24T19:21:22
|
|
[hb-old] Remove unused header file
|
|
fb47209c
|
2012-07-24T19:20:19
|
|
[hb-old] Rename hb_buffer_* to HB_Buffer_*
|
|
1512a735
|
2012-07-24T19:16:56
|
|
[hb-old] Start adding HarfBuzz-old as a new backend
|
|
478fd052
|
2012-07-24T17:09:01
|
|
Minor
|
|
8979a7f6
|
2012-07-24T17:03:55
|
|
[Mongolian] Remove Mongolian Vowel Separator at the end of shaping
Results match Uniscribe now.
|
|
aa6d8498
|
2012-07-24T15:52:32
|
|
[CoreText] Add basic Core Text backend for comparison with our native shaping
Does not attempt to handle clusters in a Uniscribe- or HarfBuzz-compatible way;
just returns the original string indexes that CT maintains. These may even be
out-of-order in the case of reordrant glyphs.
|
|
ec8d2494
|
2012-07-24T15:40:37
|
|
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.
|
|
97aa0b73
|
2012-07-24T15:02:34
|
|
Minor const correctness shuffling
|
|
6411e74c
|
2012-07-24T13:48:49
|
|
[Indic] Reposition Gurmukhi top matras to after post
The font is forming a post-base consonant in some samples, and Uniscribe
positions top matra on the post-base. Do the same.
Gurmukhi failures down from 59 to 41 (0.0674242%).
|
|
c3f769ba
|
2012-07-24T13:26:32
|
|
[Indic] Ignore Uniscribe output containing two zero-width space glyphs
Uniscribe is buggy and sometimes /eats/ a mark next to a non-joiner.
Most of Malayalam failures where actually hitting this bug.
Ignore test output with two zero-width space glyphs. This is a hack
until we build up the test suite infrastructure better.
Bengali went down by 9, Devanagari by 2, Kannada by 130, Malayalm down
from 1197 to 307, Sinhala down by 16, Telugu down by 26. New stats:
BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%)
DEVANAGARI: 693573 out of 693628 tests passed. 55 failed (0.00792932%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%)
KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%)
KHMER: 299094 out of 299124 tests passed. 30 failed (0.0100293%)
MALAYALAM: 1048109 out of 1048416 tests passed. 307 failed (0.0292823%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271715 out of 271847 tests passed. 132 failed (0.0485567%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
TELUGU: 970550 out of 970573 tests passed. 23 failed (0.00236973%)
|
|
65c43acc
|
2012-07-24T03:36:47
|
|
[Indic] Better position left-matra in Malayalam
Just put it before base, which is what's expected.
Malayalam failures down from 1559 to 1197 (0.114172%).
BENGALI: 353988 out of 354285 tests passed. 297 failed (0.0838308%)
DEVANAGARI: 693571 out of 693628 tests passed. 57 failed (0.00821766%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%)
KANNADA: 950956 out of 951913 tests passed. 957 failed (0.100534%)
KHMER: 299094 out of 299124 tests passed. 30 failed (0.0100293%)
MALAYALAM: 1047219 out of 1048416 tests passed. 1197 failed (0.114172%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271699 out of 271847 tests passed. 148 failed (0.0544424%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
TELUGU: 970524 out of 970573 tests passed. 49 failed (0.00504856%)
|
|
88f413b5
|
2012-07-24T03:04:36
|
|
[Indic] Implement Reph+Ya-Phalaa interaction
The sequence Ra,H,Ya in Bengali is ambigious and Unicode encoded that to
get Ya-Phalaa, one would place ZWJ before Halant. Ie. a ZWJ,H sequence
requests subjoining, while a H,ZWJ requests Half form. Implement that.
Bengali failures go down from 377 to 297 (0.0838308%).
Gujarati is down by 4 to 17 (0.0046384%).
Kannada is down by 226 to 957 (0.100534%).
Current status:
BENGALI: 353988 out of 354285 tests passed. 297 failed (0.0838308%)
DEVANAGARI: 693571 out of 693628 tests passed. 57 failed (0.00821766%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%)
KANNADA: 950956 out of 951913 tests passed. 957 failed (0.100534%)
KHMER: 299094 out of 299124 tests passed. 30 failed (0.0100293%)
MALAYALAM: 1046857 out of 1048416 tests passed. 1559 failed (0.148701%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271699 out of 271847 tests passed. 148 failed (0.0544424%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
TELUGU: 970524 out of 970573 tests passed. 49 failed (0.00504856%)
|
|
dff0ece1
|
2012-07-24T02:30:38
|
|
[Indic] Limit matras to 4 per syllable
Also limit joiners.
This limits our syllable length to a constant, and is
closer to what Uniscribe does anyway.
Two Devanagari tests regressed, but who cares about tests with 20
joiners in a row?! Devanagari at 57 (0.00821766%) now.
|
|
330b329c
|
2012-07-24T02:25:26
|
|
[Indic] Unmark U+17D1 KHMER SIGN VIRIAM to NOT be a Virama
Fixes another 1 Khmer failure. Down to 30 (0.0100293%) now.
|
|
6824a719
|
2012-07-24T02:22:18
|
|
[Indic] Recategorize Khmer various signs as top matras
Khmer failures down from 39 to 31 (0.0103636%).
|
|
d90b8e84
|
2012-07-24T02:10:20
|
|
[Indic] Reposition Khmer prebase-reordering Ra around split matras
In Khmer coeng model, a V,Ra can go *after* matras. If it goes after a
split matra, it should be reordered to *before* the left part of such matra.
Khmer failures down from 136 to 39 (0.0130381%).
|
|
0afb84c1
|
2012-07-24T01:44:47
|
|
[Indic] Fix minor bug in pre-base Ra positioning
|