- 17 12月, 2015 1 次提交
-
-
由 Behdad Esfahbod 提交于
That seems to be what Windows is doing, and makes more sense.
-
- 08 12月, 2015 1 次提交
-
-
由 Behdad Esfahbod 提交于
Back in the old days, we used to apply 'calt' and 'cswh' in Arabic shaper, with a pause in between. Then we disabled the 'cswh' because Microsoft disabled it, but forgot to remove the unnecessary pause. Do that now. This has the benefit that it fixes shaping with monbaiti from Windows 10. In that version of that font, the lookups from 'calt' are duplicated in 'rclt', and Mongolian was changed to go through Universal Shaping Engine. We still use the Arabic shaper for Mongolian. With a pause after 'calt', we were applying the duplicate lookups from 'calt' and 'rclt' twice. It happened to be the case that these lookups were NOT idempotent. So we were getting wrong shaping. See thread "Windows 10 monbaiti.ttf upgrade (5.01 -> 5.51) caused loss of diacritical marks when shaped with harfbuz" on the mailing list. This fixes that.
-
- 06 12月, 2015 1 次提交
-
-
由 jfkthame 提交于
This aims to make Syriac Abbr Mark sizing more accurate when repeating segments are used, by adding an extra repeat and tightening up the spacing slightly rather than leaving a shortfall corresponding to a partial repeat-width.
-
- 16 11月, 2015 1 次提交
-
-
由 Chun-wei Fan 提交于
Visual Studio does not like declaring a enum variable within a for statement, so fix the build by declaring the enum before doing the for loop.
-
- 07 11月, 2015 2 次提交
-
-
由 Behdad Esfahbod 提交于
Err on the side of being too short, than too wide. Reduces chance of overlaps with neighboring glyphs.
-
- 06 11月, 2015 2 次提交
-
-
由 Behdad Esfahbod 提交于
The feature is enabled for any character in the Arabic shaper. We should experiment with using it for Arabic subtending marks. Though, that has a directionality problem as well, since those are used with digits... Fixes https://github.com/behdad/harfbuzz/issues/141
-
由 Behdad Esfahbod 提交于
Unused currently. To be used for Syriac stretch implementation. https://github.com/behdad/harfbuzz/issues/141
-
- 22 7月, 2015 1 次提交
-
-
由 Behdad Esfahbod 提交于
-
- 21 7月, 2015 1 次提交
-
-
由 Behdad Esfahbod 提交于
And add check to FLAG()
-
- 06 8月, 2014 1 次提交
-
-
由 Behdad Esfahbod 提交于
Was broken in 615d00ea. Fixes https://github.com/behdad/harfbuzz/pull/48 Micro-test added.
-
- 03 8月, 2014 1 次提交
-
-
由 Behdad Esfahbod 提交于
Previously, we expected users to provide BOT/EOT flags when the text *segment* was at paragraph boundaries. This meant that for clients that provide full paragraph to HarfBuzz (eg. Pango), they had code like this: hb_buffer_set_flags (hb_buffer, (item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) | (item_offset + item_length == paragraph_length ? HB_BUFFER_FLAG_EOT : 0)); hb_buffer_add_utf8 (hb_buffer, paragraph_text, paragraph_length, item_offset, item_length); After this change such clients can simply say: hb_buffer_set_flags (hb_buffer, HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT); hb_buffer_add_utf8 (hb_buffer, paragraph_text, paragraph_length, item_offset, item_length); Ie, HarfBuzz itself checks whether the segment is at the beginning/end of the paragraph. Clients that only pass item-at-a-time to HarfBuzz continue not setting any flags whatsoever. Another way to put it is: if there's pre-context text in the buffer, HarfBuzz ignores the BOT flag. If there's post-context, it ignores EOT flag.
-
- 18 7月, 2014 5 次提交
-
-
由 Behdad Esfahbod 提交于
Ouch!
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
Follows the order of the Arabic/Syriac specs. Also don't stop between rlig and calt in non-Arabic scripts. Micro-tests for Arabic and Mongolian added for the latter.
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
This reverts bf029281 and fixes it properly. That commit was not enough as it was only inheriting the shaping_action for prev_action, but not curr_action. Micro-test added. https://code.google.com/p/chromium/issues/detail?id=393896
-
- 22 6月, 2014 3 次提交
-
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
Old table was from 6.2. Remove hard-coded Mongolian and Phags-pa data. This completes support for new scripts Manichian and Psaltar Pahlavi.
-
由 Behdad Esfahbod 提交于
-
- 21 6月, 2014 1 次提交
-
-
由 Behdad Esfahbod 提交于
No functional change.
-
- 23 1月, 2014 1 次提交
-
-
由 Behdad Esfahbod 提交于
I believe Windows 8 disables it, and spec update dated Jan 2014 also clearly says it's disabled by default: http://www.microsoft.com/typography/OpenTypeDev/arabic/intro.htm#features
-
- 31 12月, 2013 1 次提交
-
-
由 Behdad Esfahbod 提交于
No shaper has more than one behavior re this, so no need for a callback.
-
- 28 10月, 2013 1 次提交
-
-
由 Behdad Esfahbod 提交于
This reverts commit d5bd0590. 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: 7e08f125 So, revert the faulty commit and everything seems to be in good shape.
-
- 19 10月, 2013 2 次提交
-
-
-
由 Behdad Esfahbod 提交于
-
- 16 10月, 2013 1 次提交
-
-
由 Behdad Esfahbod 提交于
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.
-
- 05 8月, 2013 1 次提交
-
-
由 Behdad Esfahbod 提交于
Windows 8 doesn't, and the spec will be fixed.
-
- 20 5月, 2013 1 次提交
-
-
由 Behdad Esfahbod 提交于
Mozilla Bug 873902 - Display Arabic text with diacritics is bad https://bugzilla.mozilla.org/show_bug.cgi?id=873902
-
- 05 4月, 2013 1 次提交
-
-
由 Behdad Esfahbod 提交于
Testing shows that this is closer to what Uniscribe does. Reported by Khaled Hosny: """ commit 56800027 ... This commit is causing a regression with Amiri, the string “هَٰذ” with Uniscribe and HarfBuzz before this commit, gives: [uni0630.fina=3+965|uni0670.medi=0+600|uni064E=0@-256,0+0|uni0647.init=0+926] But now it gives: [uni0630.fina=3+965|uni0670.medi=0+0|uni064E=0@-256,0+0|uni0647.init=0+926] i.e. uni0670.medi is zeroed though it has a base glyph GDEF class. """ The test case is U+0647,U+064E,U+0670,U+0630 with Amiri.
-
- 15 2月, 2013 3 次提交
-
-
由 Behdad Esfahbod 提交于
This is the first character in Unicode to have Arabic left-joining behavior. Update the machine to recognize that. Test case: U+A840,U+A872,U+A840.
-
由 Behdad Esfahbod 提交于
Code cleanup. No (intended) functional change.
-
由 Behdad Esfahbod 提交于
-
- 12 2月, 2013 1 次提交
-
-
由 Behdad Esfahbod 提交于
Before, we were zeroing advance width of attached marks for non-Indic scripts, and not doing it for Indic. We have now three different behaviors, which seem to better reflect what Uniscribe is doing: - For Indic, no explicit zeroing happens whatsoever, which is the same as before, - For Myanmar, zero advance width of glyphs marked as marks *in GDEF*, and do that *before* applying GPOS. This seems to be what the new Win8 Myanmar shaper does, - For everything else, zero advance width of glyphs that are from General_Category=Mn Unicode characters, and do so before applying GPOS. This seems to be what Uniscribe does for Latin at least. With these changes, positioning of all tests matches for Myanmar, except for the glitch in Uniscribe not applying 'mark'. See preivous commit.
-
- 06 12月, 2012 1 次提交
-
-
由 Behdad Esfahbod 提交于
-
- 15 11月, 2012 2 次提交
-
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
- 14 11月, 2012 3 次提交
-
-
由 Behdad Esfahbod 提交于
Ouch!
-
由 Behdad Esfahbod 提交于
New API: hb_buffer_flags_t HB_BUFFER_FLAGS_DEFAULT HB_BUFFER_FLAG_BOT HB_BUFFER_FLAG_EOT HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES hb_buffer_set_flags() hb_buffer_get_flags() We use the BOT flag to decide whether to insert dottedcircle if the first char in the buffer is a combining mark. The PRESERVE_DEFAULT_IGNORABLES flag prevents removal of characters like ZWNJ/ZWJ/...
-
由 Behdad Esfahbod 提交于
Had to do some refactoring to make this happen... Under uniscribe bug compatibility mode, we still plit them Uniscrie-style, but Jonathan and I convinced ourselves that there is no harm doing this the Unicode way. This change makes that happen, and unbreaks free Sinhala fonts.
-