Log

Author Commit Date CI Message
Behdad Esfahbod 01ea9eaa 2016-03-11T18:50:02 [build] Use tar-ustar instead of tar-pax The default tar-v7 is not good enough for us (99 char filename limit), so I have had bumped to tar-pax. We got one complaint that someone's tar couldn't handle tar-pax. Set to tar-ustar which is ~13 years earlier than tar-pax and is good enough for us.
Behdad Esfahbod 3e10460a 2016-03-11T18:45:19 Minor comment
Behdad Esfahbod d14fea4b 2016-03-08T12:16:41 Remove default clause in minor switch statements Bending to clang warnings... https://bugs.chromium.org/p/chromium/issues/detail?id=593057
Behdad Esfahbod ce8ae997 2016-03-04T17:20:35 Merge pull request #231 from KonstantinRitt/post123buildfix Fix build with HB_DISABLE_DEPRECATED
Behdad Esfahbod 731a430c 2016-03-02T13:32:42 Fix requiredFeature stage handling logic Originally the way Jonathan had written this was correct in "continue"ing: https://github.com/jfkthame/harfbuzz/commit/35e28c7a733eaffcd9f062b18d7db9fbb3d990fc#diff-ead86a33a5cc9ad7f6e6381031a0baddR199 When I rewrote his patch, I messed it up: https://github.com/behdad/harfbuzz/commit/da132937989acb4d8ca9bd41c79f98750e7dda30#diff-ead86a33a5cc9ad7f6e6381031a0baddR209 the intended behavior was NOT to set found=TRUE and NOT to continue. This was resulting in feature_index[table_index] being left unset. Oops!
Behdad Esfahbod 68b6296d 2016-03-01T16:41:53 Add F2DOT14 type
Behdad Esfahbod 082b79fe 2016-03-01T16:41:26 Use FWORD and UFWORD when it makes sense I had forgotten about those types.
Konstantin Ritt 71248a84 2016-02-25T18:55:28 Fix build with HB_DISABLE_DEPRECATED When HB_DISABLE_DEPRECATED is defined, no code from hb-deprecated.h should be used, even from within HB itself.
Behdad Esfahbod 0c7fb741 2016-02-25T14:40:09 Speed up buffer variable allocation sanity check This makes defining HB_NDEBUG much less relevant, to the point of irrelevance. Sorry about all the fuss in previous release!
Behdad Esfahbod 91dd1156 2016-02-25T13:56:47 Add HB_NDEBUG 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 75568b0a 2016-02-25T12:26:26 1.2.3
Behdad Esfahbod 98816502 2016-02-25T12:23:02 Disable internal buffer variable bookkeeping in NDEBUG builds Saves some sweet time and binary size!
Behdad Esfahbod 94dd0bb7 2016-02-25T11:31:03 Add blacklist signature for Times New Roman (Bold) Italic on OS X
Behdad Esfahbod dd8598c1 2016-02-25T11:20:05 [test] Pass closure to hb_font_set_glyph_func() Exercises fix in c335fd7986fe360ab8e1c032c9b988d0d30511eb
Behdad Esfahbod e23cf902 2016-02-25T11:11:15 Blacklist GDEF table of timesi.ttf and timesbi.ttf on Win 7 See discussion: https://lists.freedesktop.org/archives/harfbuzz/2016-February/005489.html
Behdad Esfahbod c335fd79 2016-02-25T09:16:05 In trampoline implementation of get_glyph(), don't destroy user data twice!
Behdad Esfahbod 23335dea 2016-02-24T20:27:13 [ot-font] Accelerate cmap format4 get_glyph
Behdad Esfahbod e0f16a71 2016-02-24T19:52:36 [ot-font] Towards accelerating get_glyph()
Behdad Esfahbod 5473ebfb 2016-02-24T19:32:43 [ot-font] Remove level of indirection in get_glyph_variant
Behdad Esfahbod 49fe6ecf 2016-02-24T19:10:06 [TODO] Update This file is rather obsolete. Still, give it a refresh.
Behdad Esfahbod 8b5bc141 2016-02-24T19:05:23 Add get_nominal_glyph() and get_variation_glyph() instead of get_glyph() 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 b30a971b 2016-02-24T17:32:22 1.2.2
Behdad Esfahbod af48e3d2 2016-02-24T16:06:40 Fix recent test Not sure why the FT functions were returning advance 1024. This caused failure on drone.io. Switch to hb-ot-font and disable glyph names.
Behdad Esfahbod 17c83170 2016-02-24T16:06:23 [tests] Fix for multiple options in test runner scripts
Behdad Esfahbod ebd7431f 2016-02-24T15:53:40 Partially revert 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2 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.
Behdad Esfahbod 284481b3 2016-02-24T15:52:37 Add test for mark positioning in rtl with non-zero mark advance Apparently I broke this 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2. Fix coming.
Behdad Esfahbod 56a84e8d 2016-02-24T15:50:33 [tests] Allow commenting out tests to be skipped
Behdad Esfahbod 7cfd6cc4 2016-02-24T12:30:57 [Android.mk] Update with warning flags
Behdad Esfahbod dabf32a5 2016-02-23T15:38:43 1.2.1
Behdad Esfahbod 525cc7d2 2016-02-23T15:19:27 Add note re only adding tests with Free Software fonts
Behdad Esfahbod 6a09d7e3 2016-02-23T13:47:16 [test] Add README about how to add shaping tests
Behdad Esfahbod f8ee7906 2016-02-23T13:45:38 Remove MANIFEST files They are unused currently. We can add later if we hook them up to anything useful.
Behdad Esfahbod 815bdd77 2016-02-22T18:22:44 In cluster-level=0, group ZWJ/ZWNJ with previous cluster 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 89137e32 2016-02-22T16:00:59 Minor
Behdad Esfahbod 15063b12 2016-02-22T15:56:29 [coretext] Move CTFont construction to face_data
Behdad Esfahbod ba3d49d9 2016-02-22T15:50:12 [coretext] Move code around
Behdad Esfahbod 90194efb 2016-02-22T15:42:53 [coretext] Move code around
Behdad Esfahbod ca539e37 2016-02-22T15:37:18 [build] git.mk fix for m4/gtk-doc.m4
Behdad Esfahbod 54788cb1 2016-02-22T15:32:52 [win32] Install git.mk
Behdad Esfahbod 9a13ed45 2016-02-22T11:44:45 Make FixedVersion a template
Behdad Esfahbod 238b943e 2016-02-22T15:31:22 [coretext] Fix leak!
Behdad Esfahbod e5611228 2016-02-22T15:28:37 [coretext] Move code around
Behdad Esfahbod 04c64431 2016-02-22T15:12:27 [coretext] Ignore PPEM in font size selection
Behdad Esfahbod 62c27111 2016-02-22T15:07:20 [coretext] Limit grapheme-cluster forming to cluster-level=0
Behdad Esfahbod 061105ec 2016-02-22T14:59:39 [coretext] Fix shaping with varying font size Fixes https://github.com/libass/libass/issues/212
Behdad Esfahbod 27847cab 2016-02-19T15:56:50 1.2.0
Behdad Esfahbod c3731559 2016-02-19T15:13:07 [fuzzing] Add test for recent fix Test from https://github.com/behdad/harfbuzz/issues/223 I forgot that we do run hb-fuzzer on tests in shaping/tests/fuzzed.tests.
Behdad Esfahbod aa33cb72 2016-02-19T15:12:24 [fuzzing] Make test runner actually work
Behdad Esfahbod 2735555c 2016-02-19T15:12:16 [fuzzing] Add TODO item
Behdad Esfahbod b87e36f6 2016-02-19T14:52:31 Avoid buffer->move_to() in case of buffer error 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.
Behdad Esfahbod 7e76bbab 2016-02-19T14:43:39 [fuzzing] Make "make hb-fuzzer" build lib dependency Not going to do with util/, but is convenient here.
Behdad Esfahbod 568a0c60 2016-02-18T19:31:51 Remove pointless overflow check in pointer math Fixes https://github.com/behdad/harfbuzz/issues/227
Behdad Esfahbod aae28470 2016-02-18T17:06:25 Emoji skin tone modifiers need to be treated as combining marks Fixes https://github.com/behdad/harfbuzz/issues/169
Behdad Esfahbod da41e48f 2016-02-16T17:16:33 [USE] Zero mark advances by GDEF early 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 86c68c7a 2016-02-16T16:07:20 [GPOS] Fix interaction of mark attachments and cursive chaining 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.
Behdad Esfahbod 80c8855c 2016-02-12T12:50:17 Minor
Behdad Esfahbod 6ab92022 2016-02-11T16:57:52 [GPOS] Minor No effect.
Behdad Esfahbod cbc3a76c 2016-02-11T16:48:13 [GPOS] Merge fixing of offsets for cursive and mark attachments Part of fixing https://github.com/behdad/harfbuzz/issues/211
Behdad Esfahbod 7d8d58ac 2016-02-11T16:34:28 [GPOS] Divide position_finish() into two phases, for advances and offsets Right now the position_finish_advances() is empty. To be used for spacing attachments proposal later.
Behdad Esfahbod 84742315 2016-02-11T16:27:41 [ot] Minor shuffling code around
Behdad Esfahbod b0b11614 2016-02-11T15:28:55 [GPOS] Add harmless recursion in fix_mark_attachment() Will do nothing. Just useful for merging two functions.
Behdad Esfahbod 686567ba 2016-02-11T15:25:28 [GPOS] Merge attach_chain() and cursive_chain() Differentiate, using new attach_type().
Behdad Esfahbod 806ad8dc 2016-02-11T14:53:11 [GPOS] Minor shuffling
Behdad Esfahbod 0f6278d1 2016-02-11T14:49:10 [GPOS] Negate sign of attach_lookback(), and rename it to attach_chain() No behavior change. Preparing to unify how cursive and mark attachments work.
Behdad Esfahbod 5b5dc2c0 2016-02-11T12:15:38 [tests] Add test for advance zeroing of an ASCII letter marked as mark in GDEF
Behdad Esfahbod 660c9d3f 2016-02-11T12:14:27 Remove font-dependent ASCII-only perf hack 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.
Behdad Esfahbod 3fe0cf10 2016-02-10T18:43:43 Fix previous commit!
Behdad Esfahbod 293a210e 2016-02-10T18:39:59 [tests] Fix fonts in cc4a78bf22c4a735b84c89b04be3bb531f42135e They had an invalid LookupFlag (32).
Behdad Esfahbod eaadcbbc 2016-02-10T18:29:54 Remove now-unused mark zeroing BY_UNICODE
Behdad Esfahbod cc4a78bf 2016-02-10T18:24:08 [tests] Add tests for Latin mark zeroing
Behdad Esfahbod 55ff34b9 2016-02-10T18:20:02 [tests] Add tests for Thai mark zeroing
Behdad Esfahbod b3582a8e 2016-02-10T18:10:15 Change default mark advance zeroing behavior from Unicode to GDEF See thread at: https://lists.freedesktop.org/archives/harfbuzz/2016-February/005462.html
Behdad Esfahbod 43bb2b8f 2016-02-10T14:11:43 Minor
Behdad Esfahbod bdaa784b 2016-02-10T11:11:36 Merge pull request #164 from fanc999/msvc.build Enable Build of HarfBuzz under Visual Studio using NMake Makefiles
Behdad Esfahbod a168db47 2016-02-10T11:10:08 [README] Add ABI Tracker link
Chun-wei Fan f6ffba63 2015-12-09T14:57:15 MSVC builds: Add support to build DirectWrite shaping backend Add into the NMake Makefiles to build the DirectWrite shaping backend, but as PR #134 mentions, this is considered to be in an experimental state, so don't include this in the build by default for now. This is most probably going to replace the Uniscribe backend eventually, since DirectWrite is meant to be Uniscribe's replacement, and is needed for Windows Store apps if a system shaping API is to be used.
Chun-wei Fan c6792854 2016-02-03T18:31:23 build: Build the DirectWrite sources if requested This adds to the autotools build system so that the (experimental) DirectWrite support for HarfBuzz is built (and dist'ed).
Chun-wei Fan d7b6636e 2015-11-03T19:00:42 build: Support Visual Studio builds using NMake This adds a set of NMake Makefiles that can be used to build HarfBuzz, from the standard basic build building the minimal HarfBuzz DLL (consisting of OpenType, fallback and Uniscribe support only), to a full fledged build consisting of GLib and FreeType support, as well as building the utilities, the test programs in src/ and test/api, and HarfBuzz-ICU and HarfBuzz-GObject, and up to building the introspection files. This means a flexible build mechanism is supported here, so anything that is supported for a Windows build (code-wise), should all be supported by this build system. As in an earlier commit, the source listings are shared with the autotools builds with the various Makefile.sources in src/, src/hb-ucdn and util/, and this set of NMake Makefiles will transform these lists into the form they want. In the current form, all the test programs in test/api pass, and this has been checked successfully with 'make -j8 distcheck'.
Chun-wei Fan 5c3e7260 2015-11-03T18:52:46 MSVC builds: Add a pre-configured config.h(.win32) template This adds a pre-configured config.h template that can be used for Visual Studio builds, where autotools is not normally available. This has the configs that are suitable for Visual Studio builds, as well as all the features used for Windows builds enabled (HAVE_OT, HAVE_FALLBACK and HAVE_UNISCRIBE). Note that the optional features are not enabled here, they are enabled by /D's (or -D's) in the NMake Makefiles as requested.
Chun-wei Fan 35ded3af 2015-11-03T16:56:27 build: Move source listings into separate Makefile snippets 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.
Behdad Esfahbod b894a85a 2016-02-02T16:39:19 Fix more hangs in case of buffer allocation errors Hopefully fixes https://github.com/behdad/harfbuzz/issues/214
Behdad Esfahbod b693992e 2016-02-02T12:33:32 Merge pull request #222 from n8willis/master Add usermanual chapter on cluster levels
n8willis 498574e6 2016-01-28T12:21:32 Update Makefile.am
n8willis e12fc666 2016-01-28T12:14:12 Added initial usermanual chapter on cluster levels.
Behdad Esfahbod 9a6a33cc 2016-01-18T12:47:18 Merge pull request #216 from mhosken/master Refactor graphite2 to make ovleraps into negative width spaces
Martin Hosken 146fe252 2016-01-16T17:24:00 Refactor graphite2 to make ovleraps into negative width spaces
Behdad Esfahbod d05b7833 2016-01-12T16:17:21 Fix compiler warning Fixes https://github.com/behdad/harfbuzz/issues/212
Behdad Esfahbod d163dc18 2016-01-12T13:05:01 Minor
Behdad Esfahbod 505b7d47 2016-01-11T18:31:04 [fuzzing] Fuzz input text Very rudimentary right now, but will get kcc's bot going. From https://github.com/behdad/harfbuzz/issues/139#issuecomment-163580783
Behdad Esfahbod 3e704521 2016-01-11T17:38:41 [OT] Get list of lookup subtables once and loop through them This speeds up shaping the Amiri font by over 15%. This was primarily needed for my work on OpenType GX, since we will be collecting only sublookups that are "active" for current font instance; but it's a nice boost in general as well. We might, in the future, collect subtables in the lookup_accel. That would also allow us to do a per-subtbale set-digest, which should speed things up some more, specially for ContextChainFormat3 lookups... Amiri, for example, contains one lookup with 53 subtables!
Behdad Esfahbod 11441291 2016-01-11T13:16:35 1.1.3
Behdad Esfahbod 97624d92 2016-01-11T12:58:45 [docs] Minor fixes.
Behdad Esfahbod a39ff95f 2016-01-11T12:28:37 [coretext] Speed up CoreText font fallback Fixes https://code.google.com/p/chromium/issues/detail?id=547912
Behdad Esfahbod 5afebbdc 2016-01-07T22:53:59 Add Homebrew build instructions
Behdad Esfahbod e8a27d79 2016-01-07T22:52:16 Don't build hb-fuzzer in "make", only "make check"
Behdad Esfahbod 25671466 2016-01-07T19:11:41 Add 9 reserved entries to hb_font_extents_t Might add italic-angle, underline/strikethrough-position/thickness in the future. Do this before new struct goes into a release.
Behdad Esfahbod e6d5e4c3 2016-01-06T12:29:50 [uniscribe] Fix negative advance This happens with at least one test font I have.
Behdad Esfahbod 99d34955 2016-01-06T12:20:47 [test] Add test text for Kaithi
Behdad Esfahbod 53c47c85 2016-01-05T13:26:20 Increase sanitize edit count from 8 to 32 See previous commit.
Behdad Esfahbod da2fcfdc 2016-01-05T13:23:45 Don't count fixing-up FeatureParams offset as error The font Garamond Premier Pro Caption (and possibly many other Adobe fonts), have many FeatureParamsSize tables with the old wrong offset. We handle fixing those up, but they were still contributing to edit_count, and when I reduced HB_SANITIZE_MAX_EDIT from 100 to 8 in 14c2de321826c36037adde859ccca3e2011325a9, these fonts were now getting GPOS dropped and hence kerning disabled. Fix, by not counting edits made towareds offset fix-up. I'll also increase edit count again, in the next commit.