Log

Author Commit Date CI Message
Behdad Esfahbod 8d5eebc0 2014-08-12T16:50:22 [shape-plan] Fix shape-plan caching with more than one requested shaper Wasn't breaking out of loop, ouch! http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1246370.html
Behdad Esfahbod bc3d0dc6 2014-08-12T16:49:18 [shape-plan] Add debug tracing
Behdad Esfahbod c3e924fb 2014-08-12T14:25:11 [coretext] Rewind scratch-allocated arrays when not needed anymore
Behdad Esfahbod 81b8d977 2014-08-12T15:49:47 [coretext] Fix buffer resizing Was very broken. Now fixed and tested.
Behdad Esfahbod 8fd4d70b 2014-08-12T13:12:31 [wince] Two more Windows CE fixes Report has it that it builds (and works) now: https://codereview.qt-project.org/#/c/92087/
Behdad Esfahbod fd0001d7 2014-08-12T10:32:41 [coretext] Compare CGFont and PS name, if CTFont didn't match See comments. Fixes vertical text. CoreText backend is in very good shape now! Also see: 5a0eed3b50629be4826e4e9428f2c3255195395d 25f4fb9b56bb3f8bec821571c78f8829e40daa54 Fixes http://github.com/behdad/harfbuzz/pull/36
Behdad Esfahbod 5a0eed3b 2014-08-11T23:47:16 [coretext] Implement vertical shaping Currently doesn't work though, we detect font fallback. Apparently matching on ct_font is not safe for this. Looks like commit 25f4fb9b56bb3f8bec821571c78f8829e40daa54 wasn't enough after all.
Behdad Esfahbod 1b55077f 2014-08-11T20:45:12 [coretext] Remove unnecessary alt_size Wasn't needed after a6b8dc87421de33746b0b14d86d2d1532aec02af.
Behdad Esfahbod 10b1104d 2014-08-11T20:02:45 [coretext] Use CFRunStatus Assert that all runs had expected direction, and take hint for non-monotone clusters.
Behdad Esfahbod fd1a6aa8 2014-08-11T20:01:37 [coretext] Minor
Behdad Esfahbod 130856c7 2014-08-11T19:16:26 [coretext] Remove debug printf!
Behdad Esfahbod b5fbc3b8 2014-08-11T18:40:01 API: Do not clear buffer-flags in hb_buffer_clear_contents() After 763e5466c0a03a7c27020e1e2598e488612529a7, one doesn't need to set flags for different pieces of text. The flags now are something the client sets up once, depending on how it actually uses the buffer. As such, don't clear it in clear_contents(). Tests updated.
Behdad Esfahbod 104484ce 2014-08-11T18:23:43 Minor
Behdad Esfahbod 4acce77d 2014-08-11T17:46:50 [coretext] Pass buffer direction to CoreText Have to use a CTTypesetter for this.
Behdad Esfahbod 5ec45dd3 2014-08-11T17:46:12 [coretext] Minor It's hard to handle all possible NULL returns from CoreText. Add one more...
Behdad Esfahbod 624a299b 2014-08-11T15:29:18 [coretext] Attach marks to base clusters Fixes https://githu.com/behdad/harfbuzz/issues/49 to the extent that it can be fixed.
Behdad Esfahbod 3c41ccb5 2014-08-11T15:11:59 [coretext] Use input clusters Before, this shaper was returning UTF-16 cluster indices instead of returning whatever cluster values the user had had set up in the buffer. Ouch!
Behdad Esfahbod a6b8dc87 2014-08-11T15:08:19 [coretext] Fix buffer resize handling We can't really resize buffer and continue in this shaper as we are using the scratch buffer for string_ref and log_cluster. Restructure shaper to retry from (almost) scratch.
Behdad Esfahbod 9b3c60c8 2014-08-11T13:25:43 [coretext] Always compute log_clusters To be used soon.
Behdad Esfahbod 15c633dd 2014-08-11T13:42:42 Minor
Behdad Esfahbod 9ce067c7 2014-08-11T02:04:38 [coretext] Simplify cluster mapping
Behdad Esfahbod 49f7fb63 2014-08-10T19:19:38 [coretext] Minor
Behdad Esfahbod 25f4fb9b 2014-08-10T19:05:25 [coretext] Fix fallback detection Fixes http://github.com/behdad/harfbuzz/pull/36
Behdad Esfahbod 77a7a53a 2014-08-10T18:59:47 [coretext] Fix last range Test with: hb-view /Library/Fonts/Zapfino.ttf ZapfinoZapfino --features=-dlig[7:] --shaper=coretext
Behdad Esfahbod c2b151d9 2014-08-10T18:52:07 Fix hb_in_range() for types smaller than int As exercised by hb-coretext .notdef code.
Behdad Esfahbod 26a963b9 2014-08-10T18:04:50 [wince] Try to fix some stuff on Windows CE Based on errors seen here: http://testresults.qt-project.org/ci/QtBase_dev_Integration/build_03837/wince70embedded-armv4i-msvc2008_Windows_7/log.txt.gz Fully untested.
Behdad Esfahbod 92aeee3f 2014-08-10T17:42:19 Minor
Behdad Esfahbod b9993d8d 2014-08-10T17:40:24 [coretext] Fix assert on Yosemite Apparently those functions documented as sometimes returning NULL actually exercise that right in OS X 10.10 Yosemite. The scratch was too small for that. I *think* I fixed it, but haven't tested as I don't have Yosemite.
Behdad Esfahbod 087733dd 2014-04-18T11:21:08 [coretext] Use CGFont as face_data
Behdad Esfahbod d277c3d7 2014-08-07T15:38:52 [arabic] Bug 82306 - Mandaic had errors in its Unicode Joining_Type Fixes https://bugs.freedesktop.org/show_bug.cgi?id=82306
Behdad Esfahbod 38fb30d7 2014-08-06T13:34:49 Use atexit() only if it's safe to call from shared library Apparently they are not (advertised as?) safe on BSD systems. We ignore the case of static libraries. Whitelisted on glibc, Android, and MSVC / mingw. https://bugs.freedesktop.org/show_bug.cgi?id=82246
Behdad Esfahbod d5e61470 2014-08-05T14:19:01 [arabic] Fix fallback shaping regression Was broken in 615d00ea252739da57edbd980ff27e573. Fixes https://github.com/behdad/harfbuzz/pull/48 Micro-test added.
Behdad Esfahbod 91c2c0fd 2014-08-02T19:24:55 0.9.34
Behdad Esfahbod d7c850f8 2014-08-02T17:46:38 [uniscribe] Minor
Behdad Esfahbod 8f3eebf7 2014-08-02T17:18:46 Make sure gsubgpos buffer vars are available during fallback_position Add buffer var allocation asserts to a few key places.
Behdad Esfahbod 2053f369 2014-08-02T16:31:16 Disable 'liga' for vertical text The reason we turned it on is because Kazuraki uses it. But that's not reason enough. Until the OpenType spec gets its act together re adding design-direction to lookups, this is better user experience.
Behdad Esfahbod 763e5466 2014-08-02T16:17:44 Make it easier to use HB_BUFFER_FLAG_BOT/EOT 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.
Behdad Esfahbod 0a5ae933 2014-08-02T15:00:34 Merge branch 'win1256'
Behdad Esfahbod 6ab6be32 2014-08-02T14:58:38 [arabic/win1256] Remove unused MultipleSubst macros
Behdad Esfahbod abfa4252 2014-08-01T19:05:33 [arabic/win1256] Really fix lam-alef this time https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c26 https://github.com/behdad/harfbuzz/commit/b276e897d17519a2c28f79d024904ac2bdd86bcf#commitcomment-7243499
Behdad Esfahbod 55977f2a 2014-08-01T16:14:33 [arabic/win1256] Hook up lamMedi lookup Restructure lookup array to accommodate. https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c18
Behdad Esfahbod e839e252 2014-08-01T16:09:31 [arabic/win1256] Fix TEH MARBUTA final form https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c18
Behdad Esfahbod a2de1932 2014-07-31T18:21:05 [arabic/win1256] Fix shaping of JEEM, HAH, and KHAH https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c16
Behdad Esfahbod 1789ccb1 2014-07-31T11:04:00 [arabic/win1256] Remove GCC'ism The table can now compile independently too. If we cannot make it work on MSVC, we can always generate the data and distribute it. The code now compiles cleanly with: gcc -c -xc -std=c99 -Werror -pedantic hb-ot-shape-complex-arabic-win1256.hh g++ -c -xc -std=c++1x -Werror -pedantic hb-ot-shape-complex-arabic-win1256.hh See: https://github.com/behdad/harfbuzz/commit/a97f537cec209649302899975d76ca2b2661da7a#commitcomment-7218736
Behdad Esfahbod f28b1c82 2014-07-30T02:15:44 [arabic] Implement Windows-1256 private shaping Bug 1045139 - The Arabic text with "MS Sans Serif" font is rendered bad https://bugzilla.mozilla.org/show_bug.cgi?id=1045139 This is only enabled on Windows platforms, and requires support from Uniscribe to work. But for clients that do hook up to Uniscribe, this fixes shaping of Windows-1256-encoded bitmap fonts like "MS Sans Serif". The code and table together have just less than a 1kb footprint when enabled. UNTESTED. I might even have broken regular Arabic fallback shaping.
Behdad Esfahbod ac53443f 2014-07-31T18:51:37 [hangul] Don't apply 'calt' See comments. Micro-test added.
Behdad Esfahbod 8292f96b 2014-07-31T18:33:11 [test] Fix record-test.sh
Behdad Esfahbod 88911e8c 2014-07-29T19:47:26 Minor
Behdad Esfahbod 9e834e29 2014-07-26T20:34:01 [hebrew] Zero mark advance by GDEF late Seems to be what Uniscribe does. At this point I think it's work checking our default... Fixes Bug 76767 - Zeroing of advance of 2nd component of multiple substitution with SBL Hebrew https://bugs.freedesktop.org/show_bug.cgi?id=76767 Micro-test added.
Behdad Esfahbod 6f2d9ba5 2014-07-26T19:17:44 Add old-Myanmar shaper Looks like Unsicribe responds to the 'mymr' tag by zeroing marks GDEF_LATE instead of generic-shaper UNICODE_LATE. Implement that. Fixes Bug 81775 - Incorrect Rendering with harfbuzz-ng myanmar unicode https://bugs.freedesktop.org/show_bug.cgi?id=81775 Micro-test added based on Padauk.
Behdad Esfahbod 595d2b96 2014-07-26T18:44:15 Minor
Behdad Esfahbod fe6788bc 2014-07-25T12:40:56 Typo
Behdad Esfahbod 0de25d41 2014-07-25T12:35:03 [util] Note CSS compatibility in --help-features
Behdad Esfahbod 6e69200a 2014-07-25T12:30:47 Fix snprintf() format Patch from Maks Naumov. Fixes https://github.com/behdad/harfbuzz/pull/22
Behdad Esfahbod 5c5cdbbd 2014-07-25T12:21:49 Make sure broken feature strings are not partially parsed If user doesn't check hb_feature_from_string() return value, we don't want them to end up see the partially-parsed feature.
Behdad Esfahbod a795fe63 2014-07-25T12:15:33 Allow quotation marks around feature tag in hb_feature_from_string() With this, I believe we accept CSS feature strings completely.
Behdad Esfahbod 3f646184 2014-07-25T12:04:27 Allow space at the end of feature string with values, eg 'dlig=1 '
Behdad Esfahbod f31f7d22 2014-07-25T12:03:52 Minor
Behdad Esfahbod 60cb18a5 2014-07-25T12:01:22 Allow on/off in hb_feature_from_string() We now allow things like "dlig on" / "dlig=on".
Behdad Esfahbod d9e618ec 2014-07-25T11:56:01 Remove duplicate definition of ISALNUM It's defined in hb-private.h already.
Behdad Esfahbod 2ee5f665 2014-07-25T11:53:46 Fix parsing of features like "- liga" (with the space)
Behdad Esfahbod e15fa7a8 2014-07-25T11:44:35 Do not require the '=' in hb_feature_from_string() Towards accepting CSS font-feature-settings strings.
Behdad Esfahbod f4fe9bae 2014-07-25T11:39:55 Reject tags longer than 4 chars in hb_feature_from_string()
Behdad Esfahbod 7e8c3895 2014-07-25T11:18:11 Minor warnings fixes Some systems insist on -Wmissing-field-initializers. We have too many, by design. Fix a few easy ones.
Behdad Esfahbod fc0daafa 2014-07-23T16:48:51 [indic] Handle old-spec Malayalam reordering with final Halant See comment. Micro-tests added.
Behdad Esfahbod d6d349d1 2014-07-23T11:38:49 Give CC to gir-scanner From: https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-harfbuzz/0001-give-cc-to-gir-scanner.all.patch
Behdad Esfahbod 8c1bdb46 2014-07-22T17:56:43 0.9.33
Behdad Esfahbod d218bdb2 2014-07-22T18:01:46 Fix test runner under Windows
Behdad Esfahbod 3f310dc0 2014-07-22T16:26:27 Disallow changing settings on immutable face Ouch!
Behdad Esfahbod 0fc0a102 2014-07-21T11:12:54 [win] Fix Cygwin build https://github.com/behdad/harfbuzz/commit/db308280488c2ee11ba865a9922eb6a0c1abeef3#commitcomment-7077778
Behdad Esfahbod 1132a7dd 2014-07-20T01:17:40 Add HB_TAG_MAX_SIGNED / _HB_SCRIPT_MAX_VALUE_SIGNED To make C language police happy.
Behdad Esfahbod df999763 2014-07-19T17:31:23 [gobject] Skip _HB_SCRIPT_MAX_VALUE Fixes https://github.com/behdad/harfbuzz/pull/38
Behdad Esfahbod f1a8d50a 2014-07-19T16:52:32 [win] Don't define visibility attribtue under Cygwin
Behdad Esfahbod 9c77027d 2014-07-19T16:37:22 [win] Turn STRICT on for including windows.h
Behdad Esfahbod db308280 2014-07-19T16:32:04 [win] Consolidate windows.h include tips and tricks
Behdad Esfahbod f26d59d4 2014-07-19T16:10:21 More fixing MemoryBarrier() on Mingw32 Set requested windows header to Vista. See discussion: https://github.com/behdad/harfbuzz/commit/fbb2847f541389f40718af71c4945024ae177ab2#commitcomment-7054700
Behdad Esfahbod 00a57eb4 2014-07-18T14:42:50 [test] Remove unused micro-font
Behdad Esfahbod ed29b15f 2014-07-18T14:37:49 [test] Add more Mongolian variation selector tests From https://code.google.com/p/chromium/issues/detail?id=393896
Behdad Esfahbod 385cf37c 2014-07-17T18:22:07 Fix hb_in_range() unused-var warning on Windows
Behdad Esfahbod e3b42f1a 2014-07-17T17:13:54 [arabic] Disable 'cswh' again Ouch!
Behdad Esfahbod 66f30915 2014-07-17T16:05:47 0.9.32
Behdad Esfahbod 82f4d9d5 2014-07-17T15:57:37 [arabic] Add note re disabled 'cswh'
Behdad Esfahbod 615d00ea 2014-07-17T13:36:09 [arabic] Apply init/medi/isol/fini/... in separate stages 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 d21e9970 2014-07-17T15:27:46 [test] Make record_test understand cmdline args to hb-shape
Behdad Esfahbod 7cd33f23 2014-07-17T14:22:11 Micro optimization
Behdad Esfahbod 164c13d7 2014-07-17T14:16:38 Another try to fix Mongolian free variation selectors 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
Behdad Esfahbod 5209c505 2014-07-17T12:23:44 Revert "Show U+FFFD REPLACEMENT CHARACTER for invalid Unicode codepoints" We now handle U+FFFD replacement in hb_buffer_add_utf*(). Any other manipulation can happen in user callbacks. No need for this. https://github.com/behdad/harfbuzz/commit/efe74214bbb68eaa3d7621e73869b5d58210107e#commitcomment-7039404 This reverts commit efe74214bbb68eaa3d7621e73869b5d58210107e. Conflicts: src/hb-ot-shape-normalize.cc
Dominik Röttsches 9e7c7201 2014-07-17T14:40:34 Fix CoreText build after a8b89a09f6d3a34
Behdad Esfahbod a4d64375 2014-07-16T20:15:45 Minor
Behdad Esfahbod a18897f8 2014-07-16T16:02:15 0.9.31
Behdad Esfahbod 976c8f45 2014-07-16T15:34:20 New API: hb_buffer_[sg]et_replacement_codepoint() With this change, we now by default replace broken UTF-8/16/32 bits with U+FFFD. This can be changed by calling new API on the buffer. Previously the replacement value used to be (hb_codepoint_t)-1. Note that hb_buffer_clear_contents() does NOT reset the replacement character. See discussion here: https://github.com/behdad/harfbuzz/commit/6f13b6d62daae4989e3cc2fe4b168e5c59650964 New API: hb_buffer_set_replacement_codepoint() hb_buffer_get_replacement_codepoint()
Behdad Esfahbod bcba8b45 2014-07-16T14:59:04 New API hb_buffer_add_codepoints() Like hb_buffer_add_utf32, but doesn't do any Unicode validation. This is like what hb_buffer_add_utf32 used to be until a couple commits ago.
Behdad Esfahbod 625dbf14 2014-07-16T14:49:55 [buffer] Templatize UTF-* functions
Behdad Esfahbod e634fed4 2014-07-16T14:17:26 [buffer] Validate UTF-32 input Same as what we do for UTF-8 and UTF-16.
Behdad Esfahbod b98c5db3 2014-07-16T13:44:01 Minor refactoring
Behdad Esfahbod 844f1a48 2014-07-16T13:32:51 [tests] Add record-test.sh
Behdad Esfahbod 3b861421 2014-07-16T13:22:05 Fix Mongolian Variation Selectors for fonts without GDEF Originally we fixed those in 79d1007a501fd63c0ba4d51038c513e6b8b94740. However, fonts like MongolianWhite don't have GDEF, but have IgnoreMarks in their LigatureSubstitute init/etc features. We were synthesizing a GDEF class of mark for Mongolian Variation Selectors and as such the ligature lookups where not matching. Uniscribe doesn't do that. I tried with more sophisticated fixes, like, if there is no GDEF and a lookup-flag mismatch happens, instead of rejecting a match, try skipping that glyph. That surely produces some interesting behavior, but since we don't want to support fonts missing GDEF more than we have to, I went for this simpler fix which is to always mark default-ignorables as base when synthesizing GDEF. Micro-test added. Fixes rest of https://bugs.freedesktop.org/show_bug.cgi?id=65258
Behdad Esfahbod 878a2537 2014-07-16T13:21:26 Minor
Behdad Esfahbod ec181e50 2014-07-16T13:10:03 Minor moving around
Behdad Esfahbod e7ce50d9 2014-07-16T12:30:39 [indic] Fix access past end of array