|
02c6c8cd
|
2013-11-15T13:05:38
|
|
Set buffer content type to INVALID in hb_buffer_set_length(0)
Previously we were only setting this in hb_buffer_clear_contents(),
but set_length(0) is a valid way to reinitialize buffer to use with
new text.
|
|
6300694f
|
2013-11-13T14:54:07
|
|
0.9.24
|
|
061cb464
|
2013-11-13T14:50:25
|
|
Use long alignment for scratch buffer
Fixes last of scratch alignment warnings in hb-coretext.
|
|
68c372ed
|
2013-11-13T14:44:01
|
|
More scratch-buffer cleanup
|
|
8fcadb9c
|
2013-11-13T14:33:57
|
|
[coretext] More scratch buffer fixes
|
|
16f175cb
|
2013-11-12T17:22:49
|
|
Fix scratch-buffer alignment warnings
|
|
c7c4ccf8
|
2013-11-12T15:41:22
|
|
[travis] Enable graphite2
|
|
83408cf8
|
2013-11-06T14:46:04
|
|
Fix llvm warnings on Mac
Patch from Scott Fleischman. Warnings were:
harfbuzz/src/hb-font-private.hh:121:42: Implicit conversion loses
integer precision: 'long long' to 'hb_position_t' (aka 'int')
harfbuzz/src/hb-font-private.hh:126:42: Implicit conversion loses
integer precision: 'long long' to 'hb_position_t' (aka 'int')
harfbuzz/src/hb-font-private.hh:400:85: Implicit conversion loses
integer precision: 'long long' to 'hb_position_t' (aka 'int')
harfbuzz/src/hb-ot-layout-common-private.hh:1115:37: Implicit conversion
loses integer precision: 'long long' to 'int'
harfbuzz/src/hb-ft.cc:421:97: Implicit conversion loses integer
precision: 'unsigned long long' to 'int'
harfbuzz/src/hb-ft.cc:422:97: Implicit conversion loses integer
precision: 'unsigned long long' to 'int'
|
|
333cc6e2
|
2013-10-30T17:30:11
|
|
[otlayout] Remove unused is_inplace()
Patch from Jonathan Kew.
|
|
176fd17d
|
2013-10-30T17:27:24
|
|
Bug 70971 - Signed/unsigned compiler warnings on windows
Patch from Emil Eklund.
|
|
3d436d32
|
2013-10-28T21:00:37
|
|
[otlayout] Reset ccc when marking glyph as letter
|
|
b9d0077a
|
2013-10-28T20:44:03
|
|
Fix win32 testing
|
|
dce79c2b
|
2013-10-28T20:26:40
|
|
0.9.23
|
|
2e990a3d
|
2013-10-28T20:23:07
|
|
Make "make distcheck" happy
|
|
6ffc007b
|
2013-10-28T19:26:02
|
|
[otlayout] Optimize inplace
See thread started by Jonathan with subject "an optimization for complex
fonts".
|
|
71b4c999
|
2013-10-28T00:20:59
|
|
Revert "Zero marks by GDEF for Tibetan"
This reverts commit d5bd0590ae2fbc7b0dee86385a565aef00ffb835.
The reasoning behind that logic was flawed and made under
a misunderstanding of the original problem, and caused
regressions as reported by Jonathan Kew in thread titled
"tibetan marks" in Oct 2013. Apparently I have had fixed
the original problem with this commit:
7e08f1258da229dfaf7e1c4b5c41e5bb83906cb0
So, revert the faulty commit and everything seems to be in good
shape.
|
|
9596b2bf
|
2013-10-28T00:09:05
|
|
Pass CPPFLAGS=-Werror to Travis-CI
We want default gcc / clang warnings to fail the CI build.
|
|
c77d1ade
|
2013-10-27T23:52:26
|
|
Fix warnings
|
|
c2bc8187
|
2013-10-27T23:36:35
|
|
Work with old and new glib
Avoids "deprecated" warnings.
|
|
46a863d9
|
2013-10-27T23:24:50
|
|
[indic] Adjust pref reordering logic
For Javanese (pref_len == 1) only reorder if it didn't ligate. That's
sensible, and what the spec says. For other Indic (pref_len > 1)
only reorder if ligated.
Doesn't change any test numbers.
|
|
6b03e3c7
|
2013-10-27T21:04:55
|
|
Optimize fallback kerning
Patch from Jonathan Kew. "These changes seem to yield a small but
just-about-measurable improvement with old fonts that lack GPOS
kerning."
|
|
133eeba6
|
2013-10-27T00:24:59
|
|
Minor
See:
https://github.com/prezi/harfbuzz-js/pull/1/files#r7032397
|
|
a74f0de2
|
2013-10-24T11:46:33
|
|
[indic] Fix CM2, really
Followup from 6e613f3365bf4e9fd778758c53e7de00c64beca1.
|
|
6e613f33
|
2013-10-23T23:34:13
|
|
Fix "shift count >= width of type" issue
|
|
ac8cd511
|
2013-10-18T19:33:09
|
|
Refactor
|
|
0f3fe37f
|
2013-10-18T19:14:22
|
|
Comment
|
|
8177da29
|
2013-10-18T15:50:29
|
|
Minor
|
|
c16012e9
|
2013-10-18T02:27:00
|
|
[indic] Add Javanese support!
Seems to be working just fine!
|
|
ddce2d8d
|
2013-10-18T18:07:11
|
|
[indic] Improve positioning of post-base bells and whistles
Bug 58714 - Kannada u+0cb0 u+200d u+0ccd u+0c95 u+0cbe does not provide
same results as Windows8
https://bugs.freedesktop.org/show_bug.cgi?id=58714
Test with U+0CB0,U+200D,U+0CCD,U+0C95,U+0CBF and tunga.ttf.
Improves some scripts. Improves Bengali too, but numbers
are up because we produce better results than Uniscribe for some
sequences now.
New numbers:
BENGALI: 353724 out of 354188 tests passed. 464 failed (0.131004%)
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: 1048140 out of 1048334 tests passed. 194 failed (0.0185056%)
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%)
|
|
d5bd0590
|
2013-10-18T16:44:54
|
|
Zero marks by GDEF for Tibetan
See:
http://lists.freedesktop.org/archives/harfbuzz/2013-April/003101.html
|
|
bf029281
|
2013-10-18T16:20:13
|
|
Bug 65258 - [...] Mongolian with free variation selector
|
|
0193649c
|
2013-10-18T16:08:53
|
|
[otfallback] Don't shift down above-marks too much
This seems to generate much better, almost-perfect, positioning for
Arabic as well as Latin above marks.
|
|
dba95802
|
2013-10-18T15:57:36
|
|
[otfallback] Never fallback-position a below-mark upwards
Test with WinXP times.ttf and U+05D9,U+05B5.
|
|
755b44cc
|
2013-10-18T11:17:42
|
|
[ft] Round metrics instead of truncate
Lohit-Punjabi has a upem of 769! We were losing one unit in our
code, and FreeType is losing another one... Test with U+0A06.
Has an advance of 854 in the font. We were producing 852.
Now we do 853, which is what FreeType is telling us.
|
|
9a49351c
|
2013-10-18T02:14:53
|
|
[indic] Swith pref logic to use _hb_glyph_info_substituted()
See comments from caveat! Seems to work fine.
This is useful for Javanese which has an atomically encoded pre-base
reordering Ra which should only be reordered if it was substituted
by the pref feature.
|
|
f175aa33
|
2013-10-18T02:07:44
|
|
[indic] Fix compiler warnings
|
|
85702734
|
2013-10-18T01:11:05
|
|
[otlayout] Add _hb_glyph_info_substituted()
Currently unused.
|
|
a1f7b285
|
2013-10-18T01:09:08
|
|
[otlayout] Switch over from old is_a_ligature() to IS_LIGATED
Impact should be minimal and positive.
|
|
09675a81
|
2013-10-18T01:05:58
|
|
[otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_LIGATED
Currently unused.
|
|
05ad6b50
|
2013-10-18T00:45:59
|
|
[otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED
Currently unused.
|
|
101303db
|
2013-10-18T00:42:39
|
|
[otlayout] More shuffling around
|
|
91689de2
|
2013-10-18T00:21:59
|
|
[otlayout] Add _hb_glyph_info_set_glyph_props()
No functional change.
|
|
a0161746
|
2013-10-18T00:06:30
|
|
[otlayout] Simplify set_class() usage
|
|
3ddf892b
|
2013-10-18T00:02:43
|
|
[otlayout] Renaming
|
|
2e96d2c6
|
2013-10-17T21:16:20
|
|
[otlayout] More shuffling
|
|
46952469
|
2013-10-17T21:01:57
|
|
[otlayout] Code shuffling
|
|
11fb16cb
|
2013-10-17T20:57:57
|
|
Use unsigned enums for mask types
|
|
03058c3d
|
2013-10-17T20:55:34
|
|
[otlayout] Remove two unused HB_OT_LAYOUT_GLYPH_PROPS_* values
|
|
941b6992
|
2013-10-17T20:47:33
|
|
[otlayout] Remove unused HB_OT_LAYOUT_GLYPH_PROPS_UNCLASSIFIED
|
|
8f9ec92d
|
2013-10-17T19:52:47
|
|
[indic] Adjust Javanese base algorithm
|
|
49901862
|
2013-10-17T19:48:51
|
|
[otlayout] Guard against use of ReverseChain through Context
|
|
74f4bbf0
|
2013-10-17T19:07:53
|
|
[indic] Towards supporting atomicly-encoded prebase-reorderings
|
|
efed40b9
|
2013-10-17T18:50:11
|
|
[indic] Minor refactoring of reph handling
|
|
684fe59f
|
2013-10-17T18:30:06
|
|
[indic] Minor refactoring of would_substitute()
|
|
321df83f
|
2013-10-17T18:16:14
|
|
Route Buginese through the SEA shaper
Both Indic and SEA seem to do it just fine, but SEA is much
simpler.
|
|
b5a0f69e
|
2013-10-17T18:04:23
|
|
[indic] Pass zero-context=false to would_substitute for newer scripts
For scripts without an old/new spec distinction, use zero-context=false.
This changes behavior in Sinhala / Khmer, but doesn't seem to regress.
This will be useful and used in Javanese.
|
|
c4e71ff3
|
2013-10-17T17:04:47
|
|
[indic] Clean up Khmer and Sinhala base finding algorithm
|
|
e10453e6
|
2013-10-17T16:49:06
|
|
[indic] Add BASE_POS_LAST_SINHALA
Previously we planted this into the mode used for Khmer. There's not
really much in common between the two, so separate again.
|
|
9ac6b01e
|
2013-10-17T16:27:38
|
|
[indic] Adjust Sinhala cluster merging under uniscribe
Similar to 190c8f2b60af0851bf692f653c1604cfbf0561a5 but for
Sinhala.
|
|
3c3df9cb
|
2013-10-17T13:58:31
|
|
[otlayout] Minor
|
|
6cc136f7
|
2013-10-17T13:55:48
|
|
[otlayout] Minor
|
|
ba6ddc42
|
2013-10-17T13:52:51
|
|
[otlayout] Increase MAX_CONTEXT_LENGTH
It's cheap.
|
|
e714fe6d
|
2013-10-17T13:49:51
|
|
[otlayout] Simplify ligate_input()
Shouldn't change behavior at all, but is faster / more robust.
|
|
6b2abdcd
|
2013-10-17T13:15:43
|
|
[indic] Improve clusters in presence of reph
|
|
42d0f55c
|
2013-10-17T13:05:05
|
|
[indic] Apply calt,clig in the same stage as presentation features
Whic means these twp are applied per-syllable now. Apparently
in some Khmer fonts the clig interacts with presentation features.
Test case: U+1781,U+17D2,U+1789,U+17BB,U+17C6 with Mondulkiri-R.ttf
should produce one big ligature.
|
|
ae9a5834
|
2013-10-17T12:24:55
|
|
[indic] Fix pref vs blwf interaction
If a glyph can be both blwf and pref, we were wrongly sorting it
in the post position instead of below position.
|
|
c7dacac0
|
2013-10-17T12:20:24
|
|
[indic] Don't apply blwf before base under old-spec mode
Test case: U+09AC,U+09CD,U+09A6 with Lohit-Bengali 2.5.3.
|
|
da72042c
|
2013-10-17T12:01:50
|
|
[otlayout] Fix up recent Context matching change
Commit 6b65a76b40522a4f57a6fedcbdfc5a4d736f1d3c. "end" was becoming
negative. Was trigerred by Lohit-Kannada 2.5.3 and the sequence:
U+0CB0,U+200D,U+0CBE,U+0CB7,U+0CCD,U+0C9F,U+0CCD,U+0CB0,U+0C97,U+0CB3
Two glyphs were being duplicated.
|
|
1a7de1ba
|
2013-10-16T19:55:06
|
|
[indic] Improve Avagraha support in machine
|
|
3756efaf
|
2013-10-16T19:06:29
|
|
[indic] Misc harmless fixes!
First, we were abusing OT_VD instead of OT_A. Fix that
but moving OT_A in the grammar where it belongs (which
is different from what the spec says).
Also, only allow medial consonants after all other
consonants. This doesn't affect any current character.
Finally, fix Halant attachment in presence of medial
consonants. Again, this currently doesn't affect any
sequence.
I lied. There's Gurmukhi U+0A75 which is Consonant_Medial.
Uniscribe allows one of those in each of these positions:
before matras, after matras and before syllable modifiers,
and after syllable modifiers! We currently just allow
unlimited numbers of it, before matras.
|
|
c52ddab7
|
2013-10-16T13:42:38
|
|
[arabic] Make ZWJ prevent ligatures instead of facilitating it
Unicode 6.2.0 Section 16.2 / Figure 16.3 says:
"For backward compatibility, between Arabic characters a ZWJ acts just
like the sequence <ZWJ, ZWNJ, ZWJ>, preventing a ligature from forming
instead of requesting the use of a ligature that would not normally be
used. As a result, there is no plain text mechanism for requesting the
use of a ligature in Arabic text."
As such, we flip internal zwj to zwnj flags for GSUB matching, which
means it will block ligation in all features, unless the font
explicitly matches U+200D glyph. This doesn't affect joining behavior.
|
|
1a31f9f8
|
2013-10-16T13:42:18
|
|
[otlayout] Minor
|
|
28d5daec
|
2013-10-16T12:32:12
|
|
[indic] More granular post-base cluster merging!
|
|
9cb59d46
|
2013-10-16T11:34:07
|
|
[indic] Fix cluster merging of left matras
The merge_clusters there was totally broken.
|
|
190c8f2b
|
2013-10-16T11:33:18
|
|
[indic] Adjust cluster merging under uniscribe mode for Tamil
Apparently Uniscribe Tamil shaper doesn't ship chubby clusters
for Tamil. Adjust to that.
|
|
5c558877
|
2013-10-16T11:14:15
|
|
[indic] Allow up to two syllable modifiers
Bug 70509 - Candrabindu+Visarga doesn't work in Devanagari
https://bugs.freedesktop.org/show_bug.cgi?id=70509
We categorize both bindus and visarga as syllable-modifiers.
OT spec doesn't actually say what characters go in the syllable
modifier category, and allows one. We just allow up to two now.
Test case: U+0930,U+0941,U+0901,U+0903
Uniscribe currently doesn't support that and produces a
dotted circle.
|
|
f5299eff
|
2013-10-15T18:13:07
|
|
[indic] Simplify reph logic
*Shouldn't* break anything.
|
|
65a929b1
|
2013-10-15T18:08:05
|
|
[indic] If Malayalam dot-reph formed a ligature, don't move it
Rachana-0.6 implements dot-reph by ligation, so we shouldn't move it.
Uniscribe doesn't either. Test case:
U+0D4E,U+0D1A,U+0D4D,U+0D1A,U+0D4D
|
|
a01cbf6c
|
2013-10-15T16:37:53
|
|
[indic] Harmless reordering of Khmer features!
|
|
c46f4069
|
2013-10-15T16:24:21
|
|
[tests] Remove Myanmar micro-font and test
|
|
eb10233b
|
2013-10-15T15:26:44
|
|
[indic] Apply 'kern' for all scripts except for Khmer in Uniscribe mode
Seems to better match Uniscribe.
Note: NotoSansTelugu-Regular has kern feature, so this fixes most of the
positioning failures there, except for the kern pairs blocked by a
(non-)joiner, in which case we (correctly) kern, but Uniscribe doesn't.
|
|
30145272
|
2013-10-15T13:47:27
|
|
[indic] Don't apply presentation features across syllables
More like Uniscribe... We still allow user-defined features to
work across syllables, but not pres,blws,abs,psts,etc.
This "regressed" Sinhala numbers by 11. These are cases were
there's Consonant followed by Ra,Halant,ZWJ at the of text.
The Ra,Halant,ZWJ ends up forming reph, which is wrong...
But before we were also ligating that reph with the previous
consonant. That's even more wrong. That's also what Uniscribe
does.
Current numbers:
BENGALI: 353732 out of 354188 tests passed. 456 failed (0.128745%)
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: 951030 out of 951913 tests passed. 883 failed (0.0927606%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
MALAYALAM: 1048140 out of 1048334 tests passed. 194 failed (0.0185056%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271655 out of 271847 tests passed. 192 failed (0.070628%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
|
|
3c7b3641
|
2013-10-15T11:21:01
|
|
[indic] Handle Avagraha
It can come either at the end(ish!) of the syllable, or independently.
When independent, it accepts a few bits and pieces.
|
|
5e7432b8
|
2013-10-15T12:28:23
|
|
[myanmar] Apply abvm/blwm
|
|
8acbb6be
|
2013-10-15T12:15:49
|
|
[indic] Some scripts like blwf applied to pre-base characters
...while some don't!
Improved Bengali, Devanagari, Gurmukhi, Malayalam.
Updated numbers:
BENGALI: 353732 out of 354188 tests passed. 456 failed (0.128745%)
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: 951030 out of 951913 tests passed. 883 failed (0.0927606%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
MALAYALAM: 1048134 out of 1048334 tests passed. 200 failed (0.0190779%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
|
|
2c85a3df
|
2013-10-14T19:41:52
|
|
Fix issue with automake
|
|
6b65a76b
|
2013-10-14T18:51:39
|
|
[otlayout] Fix (Chain)Context recursion!
Previously we only supported recursive sublookups with
ascending indices. We were also not correctly handling
non-1-to-1 recursed lookups.
Fix all that!
Fixes the three tests in test/shaping/tests/context-matching.tests,
which were derived from NotoSansBengali and NotoSansDevanagari
among others.
|
|
841e20d0
|
2013-10-14T18:47:51
|
|
Add test suite for shaping results
The new test suite runs tests included under
hb/test/shaping/tests/*.tests, which themselves reference
font files stored by sha1sum under hb/test/shaping/fonts/sha1sum.
The fonts are produced using a subsetter to only include glyphs
needed to run the test.
Four initial tests are added for (Chain)Context matching,
of which three currently fail.
|
|
e2dab692
|
2013-10-14T16:44:44
|
|
Minor
|
|
4e6e53db
|
2013-10-14T13:06:36
|
|
[otlayout] "Minor"
|
|
9326d48e
|
2013-10-10T20:04:42
|
|
Don't use g_mapped_file_unref()
Was introduced in glib 2.22.
|
|
e152d1a2
|
2013-10-03T15:09:37
|
|
0.9.22
|
|
27674b4b
|
2013-10-03T14:54:50
|
|
[OTLayout] Protect against out-of-range lookup indices
Filter them out when compiling map.
|
|
6b4fdded
|
2013-09-30T13:48:19
|
|
Update git.mk
|
|
2a2b5b89
|
2013-09-30T08:55:52
|
|
Cleanup Android.mk
- use common src files for both static and shared libs
- remove empty LOCAL_SHARED_LIBRARIES
|
|
622bc3d8
|
2013-09-29T13:31:58
|
|
Merge pull request #4 from amarullz/master
Add build static library on Android.mk
|
|
3d2c4f0c
|
2013-09-27T17:06:29
|
|
Fix hiding of default_ignorables if font doesn't have space glyph
Based on patch from Jonathan Kew. See discussion on the list.
|
|
d583df1e
|
2013-09-27T19:04:32
|
|
Add build static library on Android.mk
Use UCDN instead ICU
HAVE Freetype
|
|
078de49c
|
2013-09-26T18:26:43
|
|
[util] Don't use g_array_unref()
Was introduced in glib 2.22.
|
|
48360ec0
|
2013-09-26T16:48:42
|
|
Bug 68990 - test-common fails on i686-linux
Fix use-after-end-of-scope.
|