Log

Author Commit Date CI Message
Behdad Esfahbod 0475ef2f 2015-12-18T18:17:07 [buffer] Add debugging, aka, message, API Currently just announces lookup applications. Message-API *will* change. hb-shape / hb-view are updated to print-out messages to stder if --debug is specified.
Behdad Esfahbod 9ea0aa43 2015-12-18T17:30:18 Don't deserialize positions if buffer has no positions
Behdad Esfahbod 862b1644 2015-12-18T13:54:06 [use] Only set syllable-based topographical features if not Arabic-joining
Behdad Esfahbod 45b7ec36 2015-12-18T13:47:16 [indic] Followup fix for Malayalam context matching We regeressed Malayalam in 508cc3d3cfcfb0383df0fe795cc28db4e0fd5729 This brings down the failures to 198 (from 750). BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%) KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%) ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) MYANMAR: 1123865 out of 1123883 tests passed. 18 failed (0.00160159%)
Behdad Esfahbod 2813e304 2015-12-18T11:05:11 [indic] Update data tables to Unicode 8.0 Test stats remain unchanged, except for Malayalam, which we investigate: BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%) KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) MALAYALAM: 1047584 out of 1048334 tests passed. 750 failed (0.0715421%) ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) Myanmar, compared to Windows 10 mmrtext.ttf: MYANMAR: 1123865 out of 1123883 tests passed. 18 failed (0.00160159%)
Behdad Esfahbod fc06cff4 2015-12-17T17:47:35 Remove HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT The DEFAULT naming wasn't helpful, so just remove it.
Behdad Esfahbod 508cc3d3 2015-12-17T17:31:17 [indic] Allow context when matching for Malayalam new-spec Test sequence: U+0995,U+09CD,U+09B0 With Nirmala shipped on Windows 10, this failed to form the below form. Works now. Reported by Sairus.
Behdad Esfahbod eaf1e93e 2015-12-17T16:57:47 [uniscribe] Handle E_NOT_SUFFICIENT_BUFFER as well as E_OUTOFMEMORY On Windows 10 we are seeing that other error message... Test sequence: U+0995,U+-9CD,U+09B0 With Nirmala shipped on Windows 10, this failed to form the below form. Works now. Reported by Sairus.
Behdad Esfahbod 21e5d7ed 2015-12-17T16:28:38 [util] Use O_BINARY instead of _O_BINARY The latter doesn't seem to be available in Cygwin. I'm surprised it compiled before...
Behdad Esfahbod 100fbeaf 2015-12-17T15:23:09 Fix ligature component of a mark happening after a ligature within a ligature! Say, if we are ligating "A B_C m D", then previously 'm' was being attached to 'B' in the combined A_B_C_D ligature. Now we attach it to 'C'. No test for this though :(.
Behdad Esfahbod 2f02fc79 2015-12-17T15:21:14 Improve ligature-component handling We use three bits for lig_id these days, so we finally got a report of two separate ligatures with the same lig_id happening adjacent to each other, and then the component-handling code was breaking things. Protect against that by ignoring same-lig-id but lig-comp=0 glyphs after a new ligature. Fixes https://github.com/behdad/harfbuzz/issues/198
Behdad Esfahbod 2ab0de9f 2015-12-17T11:59:15 [use] Fix halant detection Before, we were just checking the use_category(). This detects as halant a ligature that had the halant as first glyph (as seen in NotoSansBalinese.) Change that to use the is_ligated() glyph prop bit. The font is forming this ligature in ccmp, which is before the rphf / pref tests. So we need to make sure the "ligated" bit survives those tests. Since those only check the "substituted" bit, we now only clear that bit for them and "ligated" survives. Fixes https://github.com/behdad/harfbuzz/issues/180
Behdad Esfahbod 86bcbd65 2015-12-17T11:04:33 [arabic] Use glyph advance width in apply_stch() instead of extents That seems to be what Windows is doing, and makes more sense.
Behdad Esfahbod f11c11a1 2015-12-16T17:08:36 Fix Since: tags for new API https://github.com/behdad/harfbuzz/commit/e1d4d0f1dbd8518b5672245c05d73f22a9ed03ea#commitcomment-15006653
Behdad Esfahbod 15f2c055 2015-12-14T14:19:03 Merge pull request #196 from srl295/aix AIX fixes
Steven R. Loomis a13b023d 2015-12-11T10:21:27 AIX fixes - use '-w' instead of '\<...\>' for check-header-guards grep manpage says these are the same - put '-q' first in the grep options - move VAR into hb-private.hh - hb-font-private.hh - use [VAR] instead of [] for variable array
Behdad Esfahbod 49e72634 2015-12-10T17:44:19 Limit use of AIX intrinsics to IBM's compiler
Behdad Esfahbod e1d4d0f1 2015-12-10T16:56:07 Merge branch 'font-extents' Fixes https://github.com/behdad/harfbuzz/pull/165
Behdad Esfahbod 808d3fc0 2015-12-10T16:55:16 [util] Port hb-view to use font metrics from HarfBuzz instead of cairo
Behdad Esfahbod 31fa3892 2015-12-10T16:38:29 [ft] Use ftface->size->metrics for font extent info
Behdad Esfahbod 3ad16048 2015-12-10T16:37:49 [ot-font] Respect OS/2 fsSelection USE_TYPO_METRICS bit
Behdad Esfahbod 70b33eda 2015-12-10T15:54:42 Add atomic ops for AIX Patch from Volker Simonis.
Behdad Esfahbod 98460779 2015-12-07T21:38:47 Remove final pause from Arabic shaper 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.
Behdad Esfahbod dee0fbf9 2015-12-07T10:44:08 Merge pull request #192 from behdad/jfkthame-stch [issue 191] Make apply_stch() give a more precise fit
Behdad Esfahbod 255df680 2015-12-07T10:34:47 Fix undefined behavior in cmp function Fixes https://bugs.freedesktop.org/show_bug.cgi?id=93274
Behdad Esfahbod fcf9e61b 2015-12-07T10:30:43 Fix sorting order of ot_languages array Looks like the original sort was wrongly done. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=93275
Behdad Esfahbod 70952ddb 2015-12-07T10:28:46 Add test to make sure ot-languages array is sorted Currently fails. Part of https://bugs.freedesktop.org/show_bug.cgi?id=93275
Behdad Esfahbod 8c37556f 2015-12-07T09:34:58 Merge pull request #134 from ebraminio/dwrite Add working but less prefect DirectWrite backend
jfkthame a7ffe353 2015-12-05T17:47:37 Make apply_stch() give a more precise fit 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.
Behdad Esfahbod 8e5f9026 2015-11-30T16:53:21 src/test.cc: wrong field printed Fixes https://github.com/behdad/harfbuzz/issues/188 Fixes https://bugs.freedesktop.org/show_bug.cgi?id=93182
Simon Cozens 6f2e6de1 2015-10-26T16:23:22 Get font ascender and descender metrics from OS/2 table.
Simon Cozens 097c998a 2015-10-26T16:22:38 Parse the OS/2 table.
Behdad Esfahbod d44d52bd 2015-11-26T19:35:43 1.1.2
Behdad Esfahbod 35d18585 2015-11-26T19:30:37 Fix a few docs blocks
Behdad Esfahbod 0e38c918 2015-11-26T19:26:26 [introspection] Make scanner happy with HB_EXTERN
Behdad Esfahbod ea512f71 2015-11-26T19:22:22 Use C-style casts instead of compare to 0, to convert hb_bool_t to bool
Behdad Esfahbod 67a36a72 2015-11-26T18:48:42 Fix vertical GPOS This was brorken earlier, though, it's really hard to notice it. Unlike the glyph_h_origin(), an unset glyph_v_origin() does NOT mean that the vertical origin is at 0,0. Related to https://github.com/behdad/harfbuzz/issues/187
Behdad Esfahbod 1c6a057d 2015-11-26T18:48:30 Add tests for previous commit
Behdad Esfahbod c41c145c 2015-11-26T18:43:15 Make nil glyph_h_origin() function return true Fixes https://github.com/behdad/harfbuzz/issues/187 Funcs implementations that have a non-zero horizontal origin must implement the glyph_h_origin() callback, nothing new here. Other implementations (all I know of!) can simply not set glyph_h_origin() now. I did that for hb-ot and hb-ft in 44f82750807475aa5b16099ccccd917d488df703, though that broke the fallback shaper because the default was returning false...
Behdad Esfahbod 766963ad 2015-11-24T15:38:43 Merge pull request #114 from ThePhD/vc++-fixes Fix all VC++ warnings and errors
Behdad Esfahbod b344af80 2015-11-24T15:30:27 Merge pull request #177 from fanc999/exporting Enable use of compiler directives to export symbols
Behdad Esfahbod 662acd26 2015-11-24T15:29:44 Merge pull request #181 from mhosken/master Fix y_scale problems in hb-gr
Behdad Esfahbod b24e93e3 2015-11-24T13:18:20 1.1.1
Khaled Hosny 233944ac 2015-11-24T18:37:35 Merge pull request #185 from khaledhosny/travis-osx [travis] Enable Mac OS X support
Khaled Hosny d5382019 2015-11-24T12:46:35 [travis] Enable Mac OS X support Fixes https://github.com/behdad/harfbuzz/issues/182
Behdad Esfahbod 5a24b1d2 2015-11-23T16:46:14 [travis] Remove coverity scan I never could get it to work, and it's a proprietary platform.
Martin Hosken 1979f6fe 2015-11-23T10:03:56 Fix y_scale problems in hb-gr
Chun-wei Fan 835bbdc7 2015-11-19T18:34:12 Public headers: Decorate public symbols with HB_EXTERN This prepares the headers for exporting symbols using visibility attributes or __declspec(dllexport), so that we do not need to maintain symbols listing files, as this is what was and is done in GLib and GTK+.
ThePhD f798b8e2 2015-11-21T16:57:26 c-style cast
Behdad Esfahbod a6991813 2015-11-20T13:28:42 Merge pull request #176 from behdad/missing-braces Add braces for subobject initializer in _hb_font_funcs_nil
Behdad Esfahbod 1dc32ea4 2015-11-20T13:24:19 Whitespace
Behdad Esfahbod f94c0ecb 2015-11-20T13:21:29 Define HB_MARK_AS_FLAG_T as a macro instead of using templates The generic template operator overloading was causing more problems than it solved. Eg: https://github.com/behdad/harfbuzz/pull/163 https://github.com/behdad/harfbuzz/issues/175 So, just use macros. Fixes https://github.com/behdad/harfbuzz/issues/175 Fixes https://github.com/behdad/harfbuzz/pull/178
jfkthame f19c6db1 2015-11-20T08:43:49 Add braces for subobject initializer in _hb_font_funcs_nil To avoid triggering -Wmissing-braces; see https://bugzilla.mozilla.org/show_bug.cgi?id=1226175#c8
Behdad Esfahbod 9cc1ed4f 2015-11-19T12:39:09 Do not allow recursiving to same position and same lookup This is just to make it harder to be extremely slow. There definitely are ways still, just harder. Oh well... how do we tame this problem without solving halting problem?! Fixes https://github.com/behdad/harfbuzz/issues/174
Behdad Esfahbod 7d75eee7 2015-11-19T12:03:04 [fuzzing] Run fuzzing tests using hb-fuzzer as well
Behdad Esfahbod 13188cba 2015-11-19T11:59:03 Revert "Fix hang in OOM situations" This reverts commit f0599db761d7fc2d585d86e757a797f75ebc7499. Commit abadc1717d997b69f987fdf1be9e12156d2d13d6 provides a better fix for this.
Behdad Esfahbod 18e1c6b6 2015-11-19T11:50:58 Revert "Make sure we make progress in OOM situations" This reverts commit 68b507a3c3c62c28c38e13fee733702bb703b6ca. Commit abadc1717d997b69f987fdf1be9e12156d2d13d6 provides a better fix for this.
Behdad Esfahbod e1118aea 2015-11-18T23:40:47 1.1.0
Behdad Esfahbod 63fe05c8 2015-11-18T23:52:34 Fix make distcheck
Behdad Esfahbod 9b087dec 2015-11-18T23:23:35 [travis] Only coverity-scan the coverity_scan branch This essentially disables coverity-scan right now, until we find a pattern to continuously submit branches there. For background reasoning, see: Fixes https://github.com/behdad/harfbuzz/issues/171
Behdad Esfahbod 85062e3b 2015-11-18T23:09:13 Add tests for previous two commits To fully test what these are supposed to test, they should be run against libharfbuzz-fuzzing.la instead of libharfbuzz.la, but for now just record the files.
Behdad Esfahbod 37b40cd8 2015-11-18T23:04:45 Fix another move_to assertion failure If buf->idx is at end, don't set end past it... Fixes https://github.com/behdad/harfbuzz/issues/173
Behdad Esfahbod abadc171 2015-11-18T17:52:08 Try to better handle OOM situations Fixes assert fail in https://github.com/behdad/harfbuzz/issues/161 with libharfbuzz-fuzzing.
Behdad Esfahbod ec625f7d 2015-11-18T16:37:59 Try to fix gnome-continuous build fail
Behdad Esfahbod ff16ef33 2015-11-18T16:27:32 Enable building a bounded version of the library for fuzzing test/fuzzing/hb-fuzzer links against libharfbuzz-fuzzing.so now.
Behdad Esfahbod e0082ae6 2015-11-17T18:42:13 Move things around
Behdad Esfahbod dde8cc87 2015-11-17T18:40:10 Merge pull request #163 from fanc999/msvc.src Update the sources so they will compile under Visual Studio
Chun-wei Fan 167c3271 2015-11-09T17:17:56 Fix build on MSVC >= 2012 Use the DEFINE_ENUM_FLAG_OPERATORS macro in winnt.h on Visual Studio, which defines the bitwise operators for the enumerations that we want to mark as hb_mark_as_flags_t, which will take care of the situation on newer Visual Studio (>= 2012), where the build breaks with C2057 errors as the underlying types of the enumerations is not clear to the compiler when we do a bitwise op within the declaration of the enumerations themselves. Also disable the C4200 (nonstandard extension used : zero-sized array in struct/union) and C4800 ('type' : forcing value to bool 'true' or 'false' (performance warning)) warnings as the C4200 is the intended scenario and C4800 is harmless but is so far an unavoidable side effect of using DEFINE_ENUM_FLAG_OPERATORS.
Chun-wei Fan 4d27bb87 2015-11-06T14:28:30 hb-ot-shape-complex-arabic.cc: Fix build on Visual Studio 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.
Chun-wei Fan a49e7b7e 2015-11-03T18:49:34 MSVC builds: Add fallback implementation for pre-2013 MSVC Pre-2013 MSVC does not have scalbn() and scalbnf(), which are used in the utility programs. Add fallback implementations for these, which can be used when necessary.
Chun-wei Fan 998e8dda 2015-11-02T16:55:29 util: Fix build on Visual Studio Use the fallback implementation for lround() only on pre-2013 Visual Studio, and ensure we are clear about the types of the parameters for lround() and scalbnf(), since Visual Studio can be quite picky on ambiguous parameter types. Also, use g_ascii_strcasecmp() rather than strcasecmp() as we are already using GLib for this code and we are assured that g_ascii_strcasemp() is available. For scalbnf() on pre-2013 Visaul Studio, a fallback implementation is needed, but use another forced-included header for those compilers, which will be added later. Also use (char)27 on Visual Studio builds as '\e' is not a recognized escape sequence, which will do the same thing.
Behdad Esfahbod e97835ad 2015-11-10T11:37:01 [util] Fix crash when --output-file is specified but not --output-format
Behdad Esfahbod d5f0d7c9 2015-11-07T07:50:58 Merge pull request #167 from KonstantinRitt/unicode_cp_opt Micro optimizations to UTF-16 and UTF-32 codecs
Behdad Esfahbod 04ff23e7 2015-11-06T16:29:44 [arabic] Improve stretch length calculation Err on the side of being too short, than too wide. Reduces chance of overlaps with neighboring glyphs.
Behdad Esfahbod 59821ab8 2015-11-06T16:27:44 [arabic] Don't stretch over cased letters Addresses https://github.com/behdad/harfbuzz/commit/6e6f82b6f3dde0fc6c3c7d991d9ec6cfff57823d#commitcomment-14248516
Behdad Esfahbod 5337db29 2015-11-06T16:18:09 Revert "Don't process lookups if buffer is in error" This reverts commit f92bd86cc8c11d262d1830c631cb7c63fc9d4bc8. We don't want to be like cairo, where as soon as there's an error, nothing works anymore. So, lets process lookups as long as there's no new memory needed. That's also a model that hides fewer bugs.
Konstantin Ritt 529a9331 2015-11-07T02:00:04 Micro optimization to hb_utf16_t and hb_utf32_t ::prev() Implement reverse lookup instead of re-using next()
Konstantin Ritt 44ae9be7 2015-11-07T01:58:38 Nano optimization to hb_utf16_t and hb_utf32_t ::next()
Behdad Esfahbod a6d7668a 2015-11-06T09:46:54 [fuzzing] Cap max buffer len at 128
Behdad Esfahbod f1c4adbc 2015-11-06T09:46:05 Fix typo
Behdad Esfahbod 68b507a3 2015-11-06T00:09:26 Make sure we make progress in OOM situations
Behdad Esfahbod 5a7eb5d4 2015-11-06T00:01:24 [fuzzing] Add test case for OOM From https://github.com/behdad/harfbuzz/issues/161
Behdad Esfahbod f0599db7 2015-11-05T23:52:41 Fix hang in OOM situations Fixes https://github.com/behdad/harfbuzz/issues/161
Behdad Esfahbod f92bd86c 2015-11-05T23:52:29 Don't process lookups if buffer is in error
Behdad Esfahbod 4301703b 2015-11-05T23:44:59 Limit buffer max size growth https://github.com/behdad/harfbuzz/issues/161
Behdad Esfahbod 19300183 2015-11-05T23:08:50 [fuzzing] Add build system
Behdad Esfahbod 9c9ad214 2015-11-05T22:50:52 [fuzzer] Add README https://github.com/behdad/harfbuzz/issues/139#issuecomment-154202645
Behdad Esfahbod 6e6f82b6 2015-11-05T17:29:03 Implement SYRIAC ABBREVIATION MARK with 'stch' feature 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 c743ec58 2015-11-05T17:33:57 [ft] Fix extents with negative scales Fixes https://github.com/behdad/harfbuzz/issues/162
Behdad Esfahbod 73fec399 2015-11-05T15:22:18 Reserve a few scratch-flags bits for complex shapers
Behdad Esfahbod 13686337 2015-11-05T13:24:15 Add new shaper method postprocess_glyphs() Unused currently. To be used for Syriac stretch implementation. https://github.com/behdad/harfbuzz/issues/141
Behdad Esfahbod 6c0ebd02 2015-11-05T11:37:48 [util] If font has color, generate PNG with color
Behdad Esfahbod e95eb23a 2015-11-04T22:55:11 Don't try zeroing marks by GDEF if there are no non-ASCII This one is a hack, but should be ok.
Behdad Esfahbod 7fa54ed7 2015-11-04T22:54:49 Don't try zeroing mark attachments by Unicode if there's no non-ASCII
Behdad Esfahbod 550bd14d 2015-11-04T22:58:58 Actually commit changes for previous commit
Behdad Esfahbod ff31b3c1 2015-11-04T22:42:41 Skip GPOS cursive / attachment adjustmnent if none happened I'm starting to really like how free these new scratch_flags are.
Behdad Esfahbod 0f407325 2015-11-04T22:28:44 Minor
Behdad Esfahbod 497a6c20 2015-11-04T22:24:19 Skip forming clusters if text is all ASCII
Behdad Esfahbod 28de104f 2015-11-04T22:00:25 Move variable-sized struct member to end Hopefully makes clang build happy
Behdad Esfahbod 5bc28b5f 2015-11-04T21:53:16 Optimize positioning for when h_origin is nil