- 25 2月, 2016 5 次提交
-
-
由 Behdad Esfahbod 提交于
API changes: - If NDEBUG is defined, define HB_NDEBUG - Disable costlier sanity checks if HB_NDEBUG is defined. In 1.2.3 introduced some code to disable costly sanity checks if NDEBUG is defined. NDEBUG, however, disables all assert()s as well. With HB_NDEBUG, one can disable costlier checks but keep assert()s. I'll probably add a way to define HB_NDEBUG automatically in release tarballs. But for now, production systems that do NOT define NDEBUG, are encouraged to define HB_NDEBUG for our build.
-
由 Behdad Esfahbod 提交于
Saves some sweet time and binary size!
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
See discussion: https://lists.freedesktop.org/archives/harfbuzz/2016-February/005489.html
-
由 Behdad Esfahbod 提交于
-
- 24 2月, 2016 5 次提交
-
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
New API: - hb_font_get_nominal_glyph_func_t - hb_font_get_variation_glyph_func_t - hb_font_funcs_set_nominal_glyph_func() - hb_font_funcs_set_variation_glyph_func() - hb_font_get_nominal_glyph() - hb_font_get_variation_glyph() Deprecated API: - hb_font_get_glyph_func_t - hb_font_funcs_set_glyph_func() Clients that implement their own font-funcs are encouraged to replace their get_glyph() implementation with a get_nominal_glyph() and get_variation_glyph() pair. The variation version can assume that variation_selector argument is not zero.
-
由 Behdad Esfahbod 提交于
That commit moved the advance adjustment for mark positioning to be applied immediately, instead of doing late before. This breaks if mark advances are zeroed late, like in Arabic. Also, easier to hit it in RTL scripts since a single mark with non-zero advance is enough to hit the bug, whereas in LTR, at least two marks are needed. This reopens https://github.com/behdad/harfbuzz/issues/211 The cursive+mark interaction is broken again. To be fixed in a different way.
-
- 22 2月, 2016 11 次提交
-
-
由 Behdad Esfahbod 提交于
This better emulates Unicode grapheme clusters. Note that Uniscribe does NOT do this, but should be harmless with most clients, and improve fallback with clients that use HarfBuzz cluster as unit of fallback. Fixes https://github.com/behdad/harfbuzz/issues/217
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
-
- 19 2月, 2016 1 次提交
-
-
由 Behdad Esfahbod 提交于
Fixes https://github.com/behdad/harfbuzz/issues/223 Right now we cannot test this because it has to be tested using hb-fuzzer. We should move all fuzzing tests from test/shaping/tests/fuzzed.tests to test/fuzzing/ and have its own test runner. At that point, should add test from this issue as well.
-
- 18 2月, 2016 2 次提交
-
-
- 16 2月, 2016 2 次提交
-
-
由 Behdad Esfahbod 提交于
This is what Microsoft's implementation does. Marks that need advance need to add it back using 'dist' or other feature in GPOS. Update tests to match.
-
由 Behdad Esfahbod 提交于
Fixes https://github.com/behdad/harfbuzz/issues/211 What happens in that bug is that a mark is attached to base first, then a second mark is cursive-chained to the first mark. This only "works" because it's in the Indic shaper where mark advances are not zeroed. Before, we didn't allow cursive to run on marks at all. Fix that. We also where updating mark major offsets at the end of GPOS, such that changes in advance of base will not change the mark attachment position. That was superior to the alternative (which is what Uniscribe does BTW), but made it hard to apply cursive to the mark after it was positioned. We could track major-direction offset changes and apply that to cursive in the post process, but that's a much trickier thing to do than the fix here, which is to immediately apply the major-direction advance-width offsets... Ie.: https://github.com/behdad/harfbuzz/issues/211#issuecomment-183194739 If this breaks any fonts, the font should be fixed to do mark attachment after all the advances are set up first (kerning, etc). Finally, this, still doesn't make us match Uniscribe, for I explained in that bug. Looks like Uniscribe applies minor-direction cursive adjustment immediate as well. We don't, and we like it our way, at least for now. Eg. the sequence in the test case does this: - The first subscript attaches with mark-to-base, moving in x only, - The second subscript attaches with cursive attachment to first subscript moving in x only, - A final context rule moves the first subscript up by 104 units. The way we do, the final shift-up, also shifts up the second subscript mark because it's cursively-attached. Uniscribe doesn't. We get: [ttaorya=0+1307|casubscriptorya=0@-242,104+-231|casubscriptnarroworya=0@20,104+507] while Uniscribe gets: [ttaorya=0+1307|casubscriptorya=0@-242,104+-211|casubscriptnarroworya=0+487] note the different y-offset of the last glyph. In our view, after cursive, things move together, period.
-
- 12 2月, 2016 1 次提交
-
-
由 Behdad Esfahbod 提交于
-
- 11 2月, 2016 9 次提交
-
-
由 Behdad Esfahbod 提交于
No effect.
-
由 Behdad Esfahbod 提交于
Part of fixing https://github.com/behdad/harfbuzz/issues/211
-
由 Behdad Esfahbod 提交于
Right now the position_finish_advances() is empty. To be used for spacing attachments proposal later.
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
Will do nothing. Just useful for merging two functions.
-
由 Behdad Esfahbod 提交于
Differentiate, using new attach_type().
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
No behavior change. Preparing to unify how cursive and mark attachments work.
-
由 Behdad Esfahbod 提交于
Is confusing. I already hit it myself. Remove. We can optimize ASCII based on Unicode properties. But should not do based on assumptions on the font.
-
- 10 2月, 2016 2 次提交
-
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
See thread at: https://lists.freedesktop.org/archives/harfbuzz/2016-February/005462.html
-
- 03 2月, 2016 2 次提交
-
-
由 Chun-wei Fan 提交于
This adds to the autotools build system so that the (experimental) DirectWrite support for HarfBuzz is built (and dist'ed).
-
由 Chun-wei Fan 提交于
This moves all the source listings in src/Makefile.am, src/hb-ucdn/Makefile.am and util/Makefile.am into separate Makefile snippets, so that they may be shared between different Makefile-based build systems, such as NMake for Visual Studio.
-