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
Behdad Esfahbod [Thu, 22 Dec 2016 05:10:43 +0000 (23:10 -0600)]
Fix assert fail with contextual matching
As discovered by libFuzzer / Chromium fuzzing.
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=659496
CC https://github.com/behdad/harfbuzz/issues/139
Behdad Esfahbod [Thu, 22 Dec 2016 01:27:30 +0000 (19:27 -0600)]
Improve debug output with really deep nesting
Behdad Esfahbod [Wed, 21 Dec 2016 21:51:28 +0000 (15:51 -0600)]
Avoid infinite loop in CoverageFormat2 iteration with bad fonts
Fixes https://github.com/behdad/harfbuzz/issues/363
Behdad Esfahbod [Wed, 21 Dec 2016 02:52:50 +0000 (20:52 -0600)]
Ouch, finish previous change
Behdad Esfahbod [Wed, 21 Dec 2016 02:50:38 +0000 (20:50 -0600)]
[fuzzer] Separate main() into a new file
Behdad Esfahbod [Tue, 20 Dec 2016 21:01:16 +0000 (15:01 -0600)]
Protect collect_glyphs() and closure() against malicious DDOS fonts
Fixes https://github.com/behdad/harfbuzz/issues/363
Mike Hommey [Fri, 30 Sep 2016 09:15:37 +0000 (18:15 +0900)]
Support building with older glib versions
It is desirable to be able to build against older versions of glib.
fd7a245 changed the configure check to require glib > 2.38 for
G_TEST_DIST. Before that, version 2.16 was required, but in fact,
since aafe395, G_PASTE is being used, which was introduced in 2.19.1.
And since
0ef179e2, hb-glib uses GBytes, which were introduced in
2.31.10.
2.19.1 is rather old, but 2.38 is rather new. For Firefox, building
against 2.22 is still supported, although we could probably get away
with bumping that to 2.28. Either way, GBytes is not available.
Arguably, if you build against a glib that doesn't support GBytes,
you're not going to use the hb_glib_blob_create function, so we hide
the function when building against such a glib.
As for G_TEST_DIST, when building against versions of glib that don't
support it, we can fallback to the previous behavior, which, AIUI, was
just making the test not work when building in a separate directory.