Behdad Esfahbod [Wed, 1 Mar 2017 22:27:23 +0000 (14:27 -0800)]
Fix Context lookup application when moving back after a glyph delete
This was broken forever, since days that we did not allow moving
tape backwards. Works now. Reported by Doug Felt.
Behdad Esfahbod [Sat, 25 Feb 2017 21:37:54 +0000 (13:37 -0800)]
Add few tests found by libFuzzer and oss-fuzz
Behdad Esfahbod [Sat, 25 Feb 2017 21:30:38 +0000 (13:30 -0800)]
Fix buffer-overrun with Bengali reph positioning code
This has no security implications whatsoever since we always keep
and extra element at the end of buffer, just in case.
Discovered by oss-fuzz
CC https://github.com/behdad/harfbuzz/issues/139
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=660
Behdad Esfahbod [Sat, 25 Feb 2017 19:35:05 +0000 (11:35 -0800)]
1.4.3
Dominik Röttsches [Mon, 20 Feb 2017 19:52:07 +0000 (21:52 +0200)]
Blacklist another instance of Padauk (#419)
In https://crbug.com/681813 another instance of Padauk was identified
triggering collapsed glyphs. Blacklist this version by patching
hb-ot-layout.cc to print out gdef, gsub, and gpos table length, then
adding those to the list of blacklisted versions.
ebraminio [Sat, 18 Feb 2017 07:07:36 +0000 (10:37 +0330)]
[ci] Disable vcpkg freetype installation and fix Appveyor CI (#422)
jfkthame [Fri, 17 Feb 2017 03:03:24 +0000 (03:03 +0000)]
Guard against underflow when adjusting length (#421)
* Guard against underflow when adjusting length
With the fuzz-testcase in mozilla bug
1295299, we end up with a recursed lookup that removes 3 items, when `match_positions[idx]` is 0, which results in (unsigned) `end` wrapping to a huge value.
Making `end` a signed int is probably the simplest route to a fix.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=
1295299.
* Add testcase for #421.
jfkthame [Thu, 16 Feb 2017 17:40:21 +0000 (17:40 +0000)]
[indic] Add support for Grantha marks that may be used in Tamil to th… (#401)
* [indic] Add support for Grantha marks that may be used in Tamil to the Indic table.
See https://bugzilla.mozilla.org/show_bug.cgi?id=
1331339.
Testcase: U+0BA4,U+0BC6,U+1133c,U+0BAA,U+1133c,U+0BC6,U+1133c
* [indic] Add test for Grantha nukta that is allowed in Tamil by ScriptExtensions.txt
Behdad Esfahbod [Thu, 9 Feb 2017 22:13:25 +0000 (14:13 -0800)]
Unbreak hb-coretext build
Behdad Esfahbod [Wed, 8 Feb 2017 22:36:18 +0000 (14:36 -0800)]
Merge pull request #357 from khaledhosny/graphite-scale
[graphite] Fix shaping with varying font sizes
Behdad Esfahbod [Wed, 8 Feb 2017 22:33:28 +0000 (14:33 -0800)]
Set LC_ALL instead of LANG when creating harfbuzz.def
Hopefully fixes Travis faliure?
https://github.com/behdad/harfbuzz/pull/413#issuecomment-
278481882
https://travis-ci.org/khaledhosny/harfbuzz/jobs/
199785332#L1065
Philip Withnall [Wed, 8 Feb 2017 21:56:57 +0000 (21:56 +0000)]
hb-font: Fix a potentially undefined use of memcmp() (#413)
While it’s fine to call memcmp(x, 0, 0) in practice, the C99 standard
explicitly says that this is not allowed: even if the length is zero,
the pointer arguments must be valid.
http://stackoverflow.com/a/
16363034
Coverity ID: 141178
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Behdad Esfahbod [Wed, 8 Feb 2017 02:25:12 +0000 (18:25 -0800)]
Update ax_pthread.m4 to latest upstream version
Might help with https://github.com/behdad/harfbuzz/issues/399
Philip Withnall [Wed, 8 Feb 2017 02:18:33 +0000 (02:18 +0000)]
test: Fix some memory leaks in test-font.c (#409)
Coverity IDs: 141039, 141040, 141041
Philip Withnall [Wed, 8 Feb 2017 02:17:48 +0000 (02:17 +0000)]
util: Add missing field initialisers in constructor (#410)
Coverity ID: 141042
Behdad Esfahbod [Wed, 8 Feb 2017 00:53:21 +0000 (16:53 -0800)]
Silence Coverity warning
Fixes https://github.com/behdad/harfbuzz/issues/408
Behdad Esfahbod [Sat, 4 Feb 2017 00:43:25 +0000 (16:43 -0800)]
Shuffle things around a bit
Behdad Esfahbod [Sat, 4 Feb 2017 00:17:08 +0000 (16:17 -0800)]
Minor
Behdad Esfahbod [Fri, 3 Feb 2017 23:42:03 +0000 (15:42 -0800)]
Add dirty-state tracking to hb_face_t
Behdad Esfahbod [Fri, 3 Feb 2017 18:58:09 +0000 (10:58 -0800)]
Add dirty-state tracking to hb_font_t
Behdad Esfahbod [Fri, 3 Feb 2017 18:39:40 +0000 (10:39 -0800)]
Add new API hb_font_set_face()
For completeness.
jfkthame [Thu, 2 Feb 2017 18:48:23 +0000 (18:48 +0000)]
Add Win10 Anniversary Update version of Tahoma to GDEF blacklist. (#412)
Behdad Esfahbod [Wed, 1 Feb 2017 19:57:21 +0000 (11:57 -0800)]
Minor
Fixes https://github.com/behdad/harfbuzz/issues/411
Behdad Esfahbod [Thu, 26 Jan 2017 22:50:14 +0000 (14:50 -0800)]
Route Adlam through Arabic shaper
Fixes joined Adlam rendering.
Fixes https://github.com/googlei18n/noto-fonts/issues/828
jfkthame [Thu, 26 Jan 2017 22:35:41 +0000 (22:35 +0000)]
Add Win7 version of himalaya.ttf to the GDEF table blacklist. (#407)
Behdad Esfahbod [Tue, 24 Jan 2017 07:42:53 +0000 (23:42 -0800)]
[var] Implement MVAR table
Unhooked. Untested.
Behdad Esfahbod [Tue, 24 Jan 2017 07:21:30 +0000 (23:21 -0800)]
[var] Whitespace
Behdad Esfahbod [Tue, 24 Jan 2017 02:35:00 +0000 (18:35 -0800)]
1.4.2
Behdad Esfahbod [Tue, 24 Jan 2017 01:55:31 +0000 (17:55 -0800)]
[var] Hook up advance variations to hb-ot-font
Yay, works!
Behdad Esfahbod [Tue, 24 Jan 2017 01:55:16 +0000 (17:55 -0800)]
[var] Fix bug in HVAR/VVAR impl
Behdad Esfahbod [Tue, 24 Jan 2017 01:34:44 +0000 (17:34 -0800)]
[var] Prepare for hooking up advance variations to hb-ot-font
Behdad Esfahbod [Mon, 23 Jan 2017 19:56:08 +0000 (11:56 -0800)]
[var] Implement DeltaSetIndexMap and advance delta fetching
Not hooked up to hb-ot-font yet.
Behdad Esfahbod [Mon, 23 Jan 2017 19:41:43 +0000 (11:41 -0800)]
[var] Start adding HVAR/VVAR
Behdad Esfahbod [Mon, 23 Jan 2017 04:31:53 +0000 (20:31 -0800)]
Add LArrayOf<>
Behdad Esfahbod [Mon, 23 Jan 2017 04:28:56 +0000 (20:28 -0800)]
Add LOffsetTo<>
Behdad Esfahbod [Mon, 23 Jan 2017 04:16:51 +0000 (20:16 -0800)]
[var] Remove HB_OT_TAG_fvar/avar
We're not going to define public macros for tags for tables.
There's little use to those and they are implementation detail.
Behdad Esfahbod [Mon, 23 Jan 2017 04:09:47 +0000 (20:09 -0800)]
Minor
Behdad Esfahbod [Mon, 23 Jan 2017 03:52:09 +0000 (19:52 -0800)]
[var] Add macros for standard axes
Behdad Esfahbod [Mon, 23 Jan 2017 03:41:33 +0000 (19:41 -0800)]
[var] Implement 'avar' table mapping
Untested!
Behdad Esfahbod [Mon, 23 Jan 2017 03:01:07 +0000 (19:01 -0800)]
[var] Flesh out --variations documentation
Behdad Esfahbod [Mon, 23 Jan 2017 02:52:00 +0000 (18:52 -0800)]
[var] Adjust API in prep for 'avar' implementation
The 'avar' table does not allow random access to axis maps,
so change API to avoid quadratic-time implementation.
Removed -hb_ot_var_normalize_axis_value(), added
+hb_ot_var_normalize_variations() and
+hb_ot_var_normalize_coords() instead.
Behdad Esfahbod [Mon, 23 Jan 2017 02:22:40 +0000 (18:22 -0800)]
[var] Stub implementation of avar table
Behdad Esfahbod [Mon, 23 Jan 2017 01:47:49 +0000 (17:47 -0800)]
Minor
Behdad Esfahbod [Mon, 23 Jan 2017 01:42:33 +0000 (17:42 -0800)]
Stub out doc comments for new symbols
Behdad Esfahbod [Mon, 23 Jan 2017 00:55:40 +0000 (16:55 -0800)]
Minor
Behdad Esfahbod [Mon, 23 Jan 2017 00:41:45 +0000 (16:41 -0800)]
[hb-ft] Remove use of variable-length array
Hopefully also fixes build failure on msvc.
Behdad Esfahbod [Sun, 22 Jan 2017 02:10:08 +0000 (18:10 -0800)]
[var] Hook up variations to FreeType face
hb-view correctly renders variations with ft font-funcs now.
hb-ot-font needs HVAR implementation.
Behdad Esfahbod [Sun, 22 Jan 2017 01:51:41 +0000 (17:51 -0800)]
[util] Add --variations
Is hooked up to the font, but not to FreeType, so raster doesn't show yet.
Documentation needs to be done.
Behdad Esfahbod [Sun, 22 Jan 2017 01:41:37 +0000 (17:41 -0800)]
[var] Rename var_coord to variation
Looks much better.
Behdad Esfahbod [Sat, 21 Jan 2017 23:36:35 +0000 (15:36 -0800)]
[var] Remove use of variable-length arrays
Behdad Esfahbod [Sat, 21 Jan 2017 23:21:50 +0000 (15:21 -0800)]
[var] Add hb_font_set_var_coords()
Behdad Esfahbod [Sat, 21 Jan 2017 23:12:03 +0000 (15:12 -0800)]
Remove a few unused includes
Behdad Esfahbod [Sat, 21 Jan 2017 23:06:15 +0000 (15:06 -0800)]
Minor
Behdad Esfahbod [Sat, 21 Jan 2017 23:05:00 +0000 (15:05 -0800)]
[var] Add hb_font_set_var_coords_design()
Behdad Esfahbod [Sat, 21 Jan 2017 22:50:22 +0000 (14:50 -0800)]
[var] Minor lifecycle adjustment
Behdad Esfahbod [Sat, 21 Jan 2017 22:48:46 +0000 (14:48 -0800)]
[var] Add hb_font_get_var_coords_normalized()
Behdad Esfahbod [Sat, 21 Jan 2017 04:30:03 +0000 (20:30 -0800)]
[var] Add hb_var_coord_t and parsing routines
Behdad Esfahbod [Sat, 21 Jan 2017 04:16:53 +0000 (20:16 -0800)]
Move code around
Behdad Esfahbod [Sat, 21 Jan 2017 03:57:27 +0000 (19:57 -0800)]
[var] Flesh out some more
Behdad Esfahbod [Sat, 21 Jan 2017 03:14:54 +0000 (19:14 -0800)]
[var] Flesh out a bit
Behdad Esfahbod [Sat, 21 Jan 2017 02:19:28 +0000 (18:19 -0800)]
Minor
Behdad Esfahbod [Sat, 21 Jan 2017 01:42:18 +0000 (17:42 -0800)]
[var] Remove over-optimization
Behdad Esfahbod [Sat, 21 Jan 2017 01:40:46 +0000 (17:40 -0800)]
[var] Change double to float in API
Behdad Esfahbod [Fri, 20 Jan 2017 03:35:48 +0000 (19:35 -0800)]
Start adding hb-ot-var.h and implementation
Supports enumerating variation axes, normalizing values, etc.
Behdad Esfahbod [Fri, 20 Jan 2017 03:33:07 +0000 (19:33 -0800)]
Minor
Behdad Esfahbod [Fri, 20 Jan 2017 00:55:04 +0000 (16:55 -0800)]
[test-ot-math] Add test with nil face/font
Behdad Esfahbod [Fri, 20 Jan 2017 00:51:36 +0000 (16:51 -0800)]
Minor
Behdad Esfahbod [Fri, 20 Jan 2017 00:50:29 +0000 (16:50 -0800)]
Fix warnings
Behdad Esfahbod [Fri, 20 Jan 2017 00:48:01 +0000 (16:48 -0800)]
Minor
Khaled Hosny [Wed, 18 Jan 2017 20:48:13 +0000 (22:48 +0200)]
[ot] Fix automatic fraction for RTL scripts (#405)
The numbers for right-to-left scripts are processed also from right to
left, so the order of applying “numr” and “dnom” features should be
reversed in such case.
Fixes https://github.com/behdad/harfbuzz/issues/395
Sascha Brawer [Wed, 18 Jan 2017 12:51:02 +0000 (13:51 +0100)]
Update language tags to OpenType 1.8.1 (#403)
Resolves https://github.com/behdad/harfbuzz/issues/324
Behdad Esfahbod [Wed, 11 Jan 2017 19:58:13 +0000 (11:58 -0800)]
Fix build with clang
Behdad Esfahbod [Tue, 10 Jan 2017 07:50:56 +0000 (23:50 -0800)]
Port math table to hb_lazy_table_loader_t
Behdad Esfahbod [Tue, 10 Jan 2017 06:45:25 +0000 (22:45 -0800)]
Add hb_lazy_table_loader_t
Behdad Esfahbod [Tue, 10 Jan 2017 06:22:37 +0000 (22:22 -0800)]
Move lazy-loader to more generic place
Behdad Esfahbod [Tue, 10 Jan 2017 06:20:38 +0000 (22:20 -0800)]
In lazy-loading, remember allocation failure
Behdad Esfahbod [Tue, 10 Jan 2017 05:18:55 +0000 (21:18 -0800)]
Minor
Behdad Esfahbod [Tue, 10 Jan 2017 05:11:00 +0000 (21:11 -0800)]
Rename hb-ot-layout-math-table.hh to hb-ot-math-table.hh
Behdad Esfahbod [Mon, 9 Jan 2017 23:49:08 +0000 (15:49 -0800)]
Typo
ebraminio [Mon, 9 Jan 2017 09:42:09 +0000 (13:12 +0330)]
Make UCDN default enabled (fixes #389) (#391)
Behdad Esfahbod [Mon, 9 Jan 2017 08:00:49 +0000 (00:00 -0800)]
Minor
Should be enough to get -hangul.cc out of SOURCES in Firefox build:
https://dxr.mozilla.org/mozilla-central/source/gfx/harfbuzz/src/moz.build
No one else should care!
Behdad Esfahbod [Mon, 9 Jan 2017 07:55:54 +0000 (23:55 -0800)]
[USE] Remove non-canonical decompositions
We have had added this in Indic shaper to assist shaping these scripts.
In Universal Shaping Engine however, it is up to font designer to
decompose them. Hence moving them from Indic shaper to USE was
wrong.
Fixup for
f6ba63b2e8eb577385f70758efdd3b8408c8a9cb
Part of fixing https://github.com/behdad/harfbuzz/issues/387
Khaled Hosny [Fri, 11 Nov 2016 00:16:39 +0000 (02:16 +0200)]
[graphite] Stop creating unused gr_face
It is unused after previous commit, hb_graphite2_font_get_gr_font()
makes no sense now so deprecating it.
Khaled Hosny [Sun, 30 Oct 2016 18:16:41 +0000 (20:16 +0200)]
[graphite] Fix shaping with varying font sizes
Shape using design units and scale the output.
See https://bugs.documentfoundation.org/show_bug.cgi?id=103403#c7
Behdad Esfahbod [Fri, 6 Jan 2017 04:24:41 +0000 (20:24 -0800)]
1.4.1
Behdad Esfahbod [Fri, 6 Jan 2017 04:20:06 +0000 (20:20 -0800)]
Add tests for USE using Marchen font and text
From http://www.babelstone.co.uk/Fonts/Marchen.html
Behdad Esfahbod [Fri, 6 Jan 2017 04:12:32 +0000 (20:12 -0800)]
Ship UCDN and use it by default
So we are not relying on version of Unicode data in glib...
Fixes https://github.com/behdad/harfbuzz/issues/386
Fixes https://github.com/behdad/harfbuzz/issues/388
Behdad Esfahbod [Thu, 5 Jan 2017 09:27:49 +0000 (01:27 -0800)]
1.4.0
Frédéric Wang [Tue, 3 Jan 2017 04:55:09 +0000 (05:55 +0100)]
Move math-specific code from hb-ot-layout to hb-ot-math #235 (#384)
Behdad Esfahbod [Wed, 28 Dec 2016 20:51:57 +0000 (15:51 -0500)]
Remove Android.mk
Android uses its own file these days and third-party developers should
be using the autotools-based system against Android NDK.
Behdad Esfahbod [Wed, 28 Dec 2016 18:46:21 +0000 (13:46 -0500)]
Remove Tibetan decomposition rules from Indic shaper
The decomposition is very obscure and unlikely to help
any fonts. Just remove it since Uniscribe probably doesn't
do this either.
Fixes https://github.com/behdad/harfbuzz/issues/382
Behdad Esfahbod [Wed, 28 Dec 2016 18:45:32 +0000 (13:45 -0500)]
Port decompositions from Indic to USE shaper
Part of https://github.com/behdad/harfbuzz/issues/382
Behdad Esfahbod [Mon, 26 Dec 2016 19:11:59 +0000 (14:11 -0500)]
[indic] Remove Chakma decomposition rule from Indic shaper
This is now added to USE:
https://github.com/behdad/harfbuzz/pull/383
See:
https://github.com/behdad/harfbuzz/issues/381
https://github.com/behdad/harfbuzz/issues/382
jfkthame [Wed, 28 Dec 2016 18:00:51 +0000 (18:00 +0000)]
[use] Special-case Chakma split-vowel decomp in the USE shaper. (#383)
Behdad Esfahbod [Mon, 26 Dec 2016 19:52:08 +0000 (14:52 -0500)]
Revert "[indic] Remove redundant Chakma decomposition rule"
This reverts commit
805f76fc002d703acfcc4c5727f0b4d1baecefaa.
Need to investigate why having this rule (with the reversed order)
fixes decomposition as reported by punchcutter:
https://github.com/behdad/harfbuzz/issues/381#issuecomment-
269237796
Behdad Esfahbod [Mon, 26 Dec 2016 19:11:59 +0000 (14:11 -0500)]
[indic] Remove redundant Chakma decomposition rule
This was not used BTW since Chakma doesn't go through Indic shaper
anymore.
See:
https://github.com/behdad/harfbuzz/issues/381
https://github.com/behdad/harfbuzz/issues/382
Behdad Esfahbod [Mon, 26 Dec 2016 18:10:31 +0000 (13:10 -0500)]
[indix] Comment
nvelinov [Sat, 24 Dec 2016 01:46:37 +0000 (02:46 +0100)]
Compilation Error for ASSERT_STATIC on Some Compilers (#380)
* this pointer in type definitions is not interpreted as a constant.
This rule is not enforced strictly by all compilers, but the Green Hills Software compiler will regard this as an error.
* Merging branches for the DEFINE_SIZE_UNION macro
Adding check for the existence of static_size field in the tested member.
Behdad Esfahbod [Thu, 22 Dec 2016 20:40:19 +0000 (14:40 -0600)]
Disable OTL processing for Hebrew if GPOS doesn't have Hebrew subtable
New approach to fix this:
https://github.com/behdad/harfbuzz/commit/
69f9fbc4200442a35484d3c790ae8f4979be5d60
Previous approach was reverted as it was too broad. See context:
https://github.com/behdad/harfbuzz/issues/347#issuecomment-
267838368
With U+05E9,U+05B8,U+05C1,U+05DC and Arial Unicode, we now (correctly) disable
GDEF and GPOS, so we get results very close to Uniscribe, but slightly different
since our fallback position logic is not exactly the same:
Before: [gid1166=3+991|gid1142=0+737|gid5798=0+1434]
After: [gid1166=3+991|gid1142=0@402,-26+0|gid5798=0+1434]
Uniscribe: [gid1166=3+991|gid1142=0@348,0+0|gid5798=0+1434]
Behdad Esfahbod [Thu, 22 Dec 2016 19:33:54 +0000 (13:33 -0600)]
Revert "Synthesize GDEF glyph class for any glyph that does not have one in GDEF"
This reverts commit
69f9fbc4200442a35484d3c790ae8f4979be5d60.
See https://github.com/behdad/harfbuzz/issues/347#issuecomment-
268873401
Fixes https://github.com/behdad/harfbuzz/issues/347