Log

Author Commit Date CI Message
Behdad Esfahbod 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.
Behdad Esfahbod 6300694f 2013-11-13T14:54:07 0.9.24
Behdad Esfahbod 061cb464 2013-11-13T14:50:25 Use long alignment for scratch buffer Fixes last of scratch alignment warnings in hb-coretext.
Behdad Esfahbod 68c372ed 2013-11-13T14:44:01 More scratch-buffer cleanup
Behdad Esfahbod 8fcadb9c 2013-11-13T14:33:57 [coretext] More scratch buffer fixes
Behdad Esfahbod 16f175cb 2013-11-12T17:22:49 Fix scratch-buffer alignment warnings
Behdad Esfahbod c7c4ccf8 2013-11-12T15:41:22 [travis] Enable graphite2
Behdad Esfahbod 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'
Behdad Esfahbod 333cc6e2 2013-10-30T17:30:11 [otlayout] Remove unused is_inplace() Patch from Jonathan Kew.
Behdad Esfahbod 176fd17d 2013-10-30T17:27:24 Bug 70971 - Signed/unsigned compiler warnings on windows Patch from Emil Eklund.
Behdad Esfahbod 3d436d32 2013-10-28T21:00:37 [otlayout] Reset ccc when marking glyph as letter
Behdad Esfahbod b9d0077a 2013-10-28T20:44:03 Fix win32 testing
Behdad Esfahbod dce79c2b 2013-10-28T20:26:40 0.9.23
Behdad Esfahbod 2e990a3d 2013-10-28T20:23:07 Make "make distcheck" happy
Behdad Esfahbod 6ffc007b 2013-10-28T19:26:02 [otlayout] Optimize inplace See thread started by Jonathan with subject "an optimization for complex fonts".
Behdad Esfahbod 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.
Behdad Esfahbod 9596b2bf 2013-10-28T00:09:05 Pass CPPFLAGS=-Werror to Travis-CI We want default gcc / clang warnings to fail the CI build.
Behdad Esfahbod c77d1ade 2013-10-27T23:52:26 Fix warnings
Behdad Esfahbod c2bc8187 2013-10-27T23:36:35 Work with old and new glib Avoids "deprecated" warnings.
Behdad Esfahbod 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.
Behdad Esfahbod 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."
Behdad Esfahbod 133eeba6 2013-10-27T00:24:59 Minor See: https://github.com/prezi/harfbuzz-js/pull/1/files#r7032397
Behdad Esfahbod a74f0de2 2013-10-24T11:46:33 [indic] Fix CM2, really Followup from 6e613f3365bf4e9fd778758c53e7de00c64beca1.
Behdad Esfahbod 6e613f33 2013-10-23T23:34:13 Fix "shift count >= width of type" issue
Behdad Esfahbod ac8cd511 2013-10-18T19:33:09 Refactor
Behdad Esfahbod 0f3fe37f 2013-10-18T19:14:22 Comment
Behdad Esfahbod 8177da29 2013-10-18T15:50:29 Minor
Behdad Esfahbod c16012e9 2013-10-18T02:27:00 [indic] Add Javanese support! Seems to be working just fine!
Behdad Esfahbod 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%)
Behdad Esfahbod d5bd0590 2013-10-18T16:44:54 Zero marks by GDEF for Tibetan See: http://lists.freedesktop.org/archives/harfbuzz/2013-April/003101.html
Behdad Esfahbod bf029281 2013-10-18T16:20:13 Bug 65258 - [...] Mongolian with free variation selector
Behdad Esfahbod 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.
Behdad Esfahbod dba95802 2013-10-18T15:57:36 [otfallback] Never fallback-position a below-mark upwards Test with WinXP times.ttf and U+05D9,U+05B5.
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Behdad Esfahbod f175aa33 2013-10-18T02:07:44 [indic] Fix compiler warnings
Behdad Esfahbod 85702734 2013-10-18T01:11:05 [otlayout] Add _hb_glyph_info_substituted() Currently unused.
Behdad Esfahbod a1f7b285 2013-10-18T01:09:08 [otlayout] Switch over from old is_a_ligature() to IS_LIGATED Impact should be minimal and positive.
Behdad Esfahbod 09675a81 2013-10-18T01:05:58 [otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_LIGATED Currently unused.
Behdad Esfahbod 05ad6b50 2013-10-18T00:45:59 [otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED Currently unused.
Behdad Esfahbod 101303db 2013-10-18T00:42:39 [otlayout] More shuffling around
Behdad Esfahbod 91689de2 2013-10-18T00:21:59 [otlayout] Add _hb_glyph_info_set_glyph_props() No functional change.
Behdad Esfahbod a0161746 2013-10-18T00:06:30 [otlayout] Simplify set_class() usage
Behdad Esfahbod 3ddf892b 2013-10-18T00:02:43 [otlayout] Renaming
Behdad Esfahbod 2e96d2c6 2013-10-17T21:16:20 [otlayout] More shuffling
Behdad Esfahbod 46952469 2013-10-17T21:01:57 [otlayout] Code shuffling
Behdad Esfahbod 11fb16cb 2013-10-17T20:57:57 Use unsigned enums for mask types
Behdad Esfahbod 03058c3d 2013-10-17T20:55:34 [otlayout] Remove two unused HB_OT_LAYOUT_GLYPH_PROPS_* values
Behdad Esfahbod 941b6992 2013-10-17T20:47:33 [otlayout] Remove unused HB_OT_LAYOUT_GLYPH_PROPS_UNCLASSIFIED
Behdad Esfahbod 8f9ec92d 2013-10-17T19:52:47 [indic] Adjust Javanese base algorithm
Behdad Esfahbod 49901862 2013-10-17T19:48:51 [otlayout] Guard against use of ReverseChain through Context
Behdad Esfahbod 74f4bbf0 2013-10-17T19:07:53 [indic] Towards supporting atomicly-encoded prebase-reorderings
Behdad Esfahbod efed40b9 2013-10-17T18:50:11 [indic] Minor refactoring of reph handling
Behdad Esfahbod 684fe59f 2013-10-17T18:30:06 [indic] Minor refactoring of would_substitute()
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Behdad Esfahbod c4e71ff3 2013-10-17T17:04:47 [indic] Clean up Khmer and Sinhala base finding algorithm
Behdad Esfahbod 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.
Behdad Esfahbod 9ac6b01e 2013-10-17T16:27:38 [indic] Adjust Sinhala cluster merging under uniscribe Similar to 190c8f2b60af0851bf692f653c1604cfbf0561a5 but for Sinhala.
Behdad Esfahbod 3c3df9cb 2013-10-17T13:58:31 [otlayout] Minor
Behdad Esfahbod 6cc136f7 2013-10-17T13:55:48 [otlayout] Minor
Behdad Esfahbod ba6ddc42 2013-10-17T13:52:51 [otlayout] Increase MAX_CONTEXT_LENGTH It's cheap.
Behdad Esfahbod e714fe6d 2013-10-17T13:49:51 [otlayout] Simplify ligate_input() Shouldn't change behavior at all, but is faster / more robust.
Behdad Esfahbod 6b2abdcd 2013-10-17T13:15:43 [indic] Improve clusters in presence of reph
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Behdad Esfahbod 1a7de1ba 2013-10-16T19:55:06 [indic] Improve Avagraha support in machine
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Behdad Esfahbod 1a31f9f8 2013-10-16T13:42:18 [otlayout] Minor
Behdad Esfahbod 28d5daec 2013-10-16T12:32:12 [indic] More granular post-base cluster merging!
Behdad Esfahbod 9cb59d46 2013-10-16T11:34:07 [indic] Fix cluster merging of left matras The merge_clusters there was totally broken.
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Behdad Esfahbod f5299eff 2013-10-15T18:13:07 [indic] Simplify reph logic *Shouldn't* break anything.
Behdad Esfahbod 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
Behdad Esfahbod a01cbf6c 2013-10-15T16:37:53 [indic] Harmless reordering of Khmer features!
Behdad Esfahbod c46f4069 2013-10-15T16:24:21 [tests] Remove Myanmar micro-font and test
Behdad Esfahbod 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.
Behdad Esfahbod 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%)
Behdad Esfahbod 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.
Behdad Esfahbod 5e7432b8 2013-10-15T12:28:23 [myanmar] Apply abvm/blwm
Behdad Esfahbod 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%)
Behdad Esfahbod 2c85a3df 2013-10-14T19:41:52 Fix issue with automake
Behdad Esfahbod 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.
Behdad Esfahbod 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.
Behdad Esfahbod e2dab692 2013-10-14T16:44:44 Minor
Behdad Esfahbod 4e6e53db 2013-10-14T13:06:36 [otlayout] "Minor"
Behdad Esfahbod 9326d48e 2013-10-10T20:04:42 Don't use g_mapped_file_unref() Was introduced in glib 2.22.
Behdad Esfahbod e152d1a2 2013-10-03T15:09:37 0.9.22
Behdad Esfahbod 27674b4b 2013-10-03T14:54:50 [OTLayout] Protect against out-of-range lookup indices Filter them out when compiling map.
Behdad Esfahbod 6b4fdded 2013-09-30T13:48:19 Update git.mk
M1cha 2a2b5b89 2013-09-30T08:55:52 Cleanup Android.mk - use common src files for both static and shared libs - remove empty LOCAL_SHARED_LIBRARIES
Behdad Esfahbod 622bc3d8 2013-09-29T13:31:58 Merge pull request #4 from amarullz/master Add build static library on Android.mk
Behdad Esfahbod 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.
Ahmad Amarullah d583df1e 2013-09-27T19:04:32 Add build static library on Android.mk Use UCDN instead ICU HAVE Freetype
Behdad Esfahbod 078de49c 2013-09-26T18:26:43 [util] Don't use g_array_unref() Was introduced in glib 2.22.
Behdad Esfahbod 48360ec0 2013-09-26T16:48:42 Bug 68990 - test-common fails on i686-linux Fix use-after-end-of-scope.