- 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.
-
- 09 11月, 2012 1 次提交
-
-
由 Behdad Esfahbod 提交于
-
- 06 11月, 2012 1 次提交
-
-
由 Behdad Esfahbod 提交于
For U+1880..U+1886 Uniscribe thinks they are non-joining. For U+1887 Uniscribe thinks it's joining, but looks wrong to me. For now, match Uniscribe.
-
- 02 11月, 2012 1 次提交
-
-
由 Behdad Esfahbod 提交于
Through the Arabic shaper. It's similar to Mongolian.
-
- 30 10月, 2012 1 次提交
-
-
由 Behdad Esfahbod 提交于
That's what the spec says, and what Uniscribe does.
-
- 26 9月, 2012 1 次提交
-
-
由 Behdad Esfahbod 提交于
Now we respect Arabic joining across runs.
-
- 06 9月, 2012 1 次提交
-
-
由 Behdad Esfahbod 提交于
All of init/medi/fina/isol and rlig implemented. Let there be dragons... ⻯
-
- 05 9月, 2012 2 次提交
-
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
- 30 8月, 2012 1 次提交
-
-
由 Behdad Esfahbod 提交于
This will eventually allow us to skip marks, as well as (fallback) attach marks to ligature components of fallback-shaped Arabic. That would be pretty cool. I kludged GDEF props in, so mark-skipping works, but the produced ligature id/components will be cleared later by substitute_start() et al. Perhaps using a synthetic table for Arabic fallback shaping was a better idea. The current approach has way too many layering violations...
-
- 29 8月, 2012 1 次提交
-
-
由 Behdad Esfahbod 提交于
This reverts commit 3e0a0397. I know remember why that line is there :).
-