Ebrahim Byagowi [Sat, 27 Oct 2018 07:20:53 +0000 (10:50 +0330)]
[ot-color/png] sbix runtime memory check
Ebrahim Byagowi [Fri, 26 Oct 2018 20:25:11 +0000 (23:55 +0330)]
[ot-color/png] Implement sbix part
Ebrahim Byagowi [Fri, 26 Oct 2018 06:04:34 +0000 (09:34 +0330)]
[svg] Rename _svg_create_blob to _glyph_reference_blob_svg
Ebrahim Byagowi [Thu, 25 Oct 2018 19:09:58 +0000 (22:39 +0330)]
[svg] Collapse SVGDocumentIndex into SVG
Ebrahim Byagowi [Thu, 25 Oct 2018 18:22:35 +0000 (21:52 +0330)]
[svg] Hide start_glyph and end_glyph from API
Ebrahim Byagowi [Tue, 23 Oct 2018 14:30:48 +0000 (18:00 +0330)]
[svg] Add public API
* hb_ot_color_has_svg
* hb_ot_color_glyph_svg_create_blob
Behdad Esfahbod [Fri, 26 Oct 2018 05:25:29 +0000 (22:25 -0700)]
[layout] Try to speed up collect_lookups some more
Barely made a dent :(.
Behdad Esfahbod [Fri, 26 Oct 2018 04:42:19 +0000 (21:42 -0700)]
[layout] Memoize collect_features
Fixes https://github.com/harfbuzz/harfbuzz/pull/1317
Fixes https://oss-fuzz.com/v2/testcase-detail/
6543700493598720
Behdad Esfahbod [Fri, 26 Oct 2018 04:33:12 +0000 (21:33 -0700)]
[layout] Remove unintentionally added code
Behdad Esfahbod [Fri, 26 Oct 2018 04:26:08 +0000 (21:26 -0700)]
[layout] Add hb_collect_features_context_t
Towards https://github.com/harfbuzz/harfbuzz/pull/1317
Behdad Esfahbod [Fri, 26 Oct 2018 04:17:30 +0000 (21:17 -0700)]
[lookup] Fold another function inline
Behdad Esfahbod [Fri, 26 Oct 2018 03:58:34 +0000 (20:58 -0700)]
[layout] More prep work to memoize collect_features() work
Behdad Esfahbod [Fri, 26 Oct 2018 03:48:20 +0000 (20:48 -0700)]
[lookup] More prep work for memoizing collect_features
https://github.com/harfbuzz/harfbuzz/pull/1317
Behdad Esfahbod [Fri, 26 Oct 2018 03:34:29 +0000 (20:34 -0700)]
[layout] Minor
We were returning the accelerator's lookup count. Returns table's.
They are the same except for OOM cases. Just shorter code.
Behdad Esfahbod [Fri, 26 Oct 2018 03:32:05 +0000 (20:32 -0700)]
[layout] Fold one function inline
Preparation for fixing https://github.com/harfbuzz/harfbuzz/pull/1317
Behdad Esfahbod [Fri, 26 Oct 2018 00:41:26 +0000 (17:41 -0700)]
[morx] Use deleted-glyph, instead of actual deletion, in Ligation
Closer to what CoreText does.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1302
Behdad Esfahbod [Fri, 26 Oct 2018 00:36:33 +0000 (17:36 -0700)]
[morx] Remove deleted-glyph at the end of processing
Behdad Esfahbod [Fri, 26 Oct 2018 00:33:48 +0000 (17:33 -0700)]
[aat] Minor
Behdad Esfahbod [Fri, 26 Oct 2018 00:29:32 +0000 (17:29 -0700)]
[aat] Start adding support for DELETED-GLYPH
https://github.com/harfbuzz/harfbuzz/issues/1302
Behdad Esfahbod [Thu, 25 Oct 2018 23:50:38 +0000 (16:50 -0700)]
[vector] Make it act more like pointer
Add pointer cast operator and plus operator.
Behdad Esfahbod [Thu, 25 Oct 2018 23:37:53 +0000 (16:37 -0700)]
[set] Minor
Behdad Esfahbod [Thu, 25 Oct 2018 23:35:36 +0000 (16:35 -0700)]
[set] Make array access more explicit
Follow up on
94e421abbfc7ede9aaf3c8d86bb0ff9992ea3123
Behdad Esfahbod [Thu, 25 Oct 2018 21:30:24 +0000 (14:30 -0700)]
Fix again
Ebrahim Byagowi [Thu, 25 Oct 2018 20:53:45 +0000 (00:23 +0330)]
[docs] Add hb-ot-color section
Behdad Esfahbod [Thu, 25 Oct 2018 20:37:08 +0000 (13:37 -0700)]
Fixup
Behdad Esfahbod [Thu, 25 Oct 2018 20:23:33 +0000 (13:23 -0700)]
[test] Rename some fonts
If we have duplicae font files in different directories, that would
break the oss-fuzz build currently. So, rename some to avoid
name class with text-rendering-test. Would be better to find
another solution.
Behdad Esfahbod [Thu, 25 Oct 2018 20:19:34 +0000 (13:19 -0700)]
Fix possible overflow in bsearch impls
From bungeman.
Fixes https://github.com/harfbuzz/harfbuzz/pull/1314
Ben Wagner [Thu, 25 Oct 2018 17:44:27 +0000 (13:44 -0400)]
Remove some use of Crap in hb-set.
When hb_set_t::page_for_insert needs to insert at the end of the page_map
it ends up evaluating '&page_map[i + 1]' which has hb_vector return an
lvalue of a Crap so that nothing can be moved to its address. This turns
into issues with ThreadSanitizer on Crap when two threads modify different
hb_set_t instances. This can be avoided by using '&page_map[i] + 1'
instead.
azure-pipelines[bot] [Thu, 25 Oct 2018 15:22:54 +0000 (15:22 +0000)]
Set up CI with Azure Pipelines
Khaled Hosny [Wed, 24 Oct 2018 23:55:10 +0000 (01:55 +0200)]
[appveyor] Drop Cygwin builds again
They are so slow and we had only a couple of Cygwin build failure
reported in ~5 years.
Khaled Hosny [Wed, 24 Oct 2018 20:58:22 +0000 (22:58 +0200)]
[appveyor] Limit make to three jobs
https://github.com/harfbuzz/harfbuzz/pull/1309#issuecomment-
432778270
Behdad Esfahbod [Wed, 24 Oct 2018 23:46:07 +0000 (16:46 -0700)]
[vowel-constraints] Reset continuation on all dottedcircles
One of the was missed before. Not intentional.
Khaled Hosny [Wed, 24 Oct 2018 09:37:09 +0000 (11:37 +0200)]
[appveyor] Build on Cygwin and msys2 in parallel
Khaled Hosny [Wed, 24 Oct 2018 09:23:21 +0000 (11:23 +0200)]
[appveyor] Do not update msys2
Looks like AppVeyor has new enough packages for our needs. Cuts CI build
time by 5 minutes.
Khaled Hosny [Wed, 24 Oct 2018 07:49:08 +0000 (09:49 +0200)]
[appveyor] Organize config file a bit
Khaled Hosny [Wed, 24 Oct 2018 07:43:10 +0000 (09:43 +0200)]
[appveyor] Don’t build branches with open PR twice
Behdad Esfahbod [Wed, 24 Oct 2018 00:00:49 +0000 (17:00 -0700)]
[ot-font] Fix sign of ascent/descent
Some fonts, like msmincho, have positive number as descent
in vhea table. That's wrong. Just enforce sign on ascent/descent
when reading both horizontal and vertical metrics.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1248
Behdad Esfahbod [Tue, 23 Oct 2018 23:46:10 +0000 (16:46 -0700)]
[morx] Fix cluster-merging when ligating
Only merge when actual ligature happened.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1305
Garret Rieger [Tue, 23 Oct 2018 22:45:35 +0000 (15:45 -0700)]
Fix size calculation in DEFINE_SIZE_ARRAY_SIZED.
Behdad Esfahbod [Tue, 23 Oct 2018 21:31:51 +0000 (14:31 -0700)]
[aat] Fix up previous commit and add files
Behdad Esfahbod [Tue, 23 Oct 2018 21:14:03 +0000 (14:14 -0700)]
[aat] Allow enabling/disabling features
Only works at entire-buffer range, not sub-ranges.
Test with:
$ hb-shape Zapfino.dfont Zapfino
[Z_a_p_f_i_n_o=0+2333]
$ hb-shape Zapfino.dfont Zapfino --features=-dlig
[Z=0+416|a=1@-21,0+264|p_f=2+433|i=4+181|n=5+261|o=6+250]
$ hb-shape Zapfino.dfont Zapfino --features=+dlig
[Z_a_p_f_i_n_o=0+2333]
Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
Behdad Esfahbod [Tue, 23 Oct 2018 20:39:50 +0000 (13:39 -0700)]
[ot-map] Minor
Behdad Esfahbod [Tue, 23 Oct 2018 20:25:03 +0000 (13:25 -0700)]
Minor
Behdad Esfahbod [Tue, 23 Oct 2018 20:09:30 +0000 (13:09 -0700)]
Shift code around
Behdad Esfahbod [Tue, 23 Oct 2018 10:10:56 +0000 (03:10 -0700)]
[trak] Allow disabling tracking for ranges of text
Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
Behdad Esfahbod [Tue, 23 Oct 2018 10:07:48 +0000 (03:07 -0700)]
When parsing feature ranges, accept ';' instead of ':'
Ebrahim Byagowi [Mon, 22 Oct 2018 21:22:05 +0000 (00:52 +0330)]
Make tracking optout possible using 'trak' ot feature
So '--features=-trak' or 'font-feature-settings: 'trak' 0;' can prevent
applying of tracking if used.
Behdad Esfahbod [Tue, 23 Oct 2018 09:51:42 +0000 (02:51 -0700)]
Touch up on previous commit
https://github.com/harfbuzz/harfbuzz/pull/1273
David Corbett [Fri, 12 Oct 2018 20:54:54 +0000 (16:54 -0400)]
[use] Prohibit visually ambiguous vowel sequences
Behdad Esfahbod [Tue, 23 Oct 2018 09:19:32 +0000 (02:19 -0700)]
[VORG] Hook up to hb-ot-font's v_origin
Fixes https://github.com/harfbuzz/harfbuzz/issues/544
Test added with NotoSansCJK, eg. with U+FF38.
Behdad Esfahbod [Tue, 23 Oct 2018 09:09:42 +0000 (02:09 -0700)]
[VORG] Add get_y_origin()
Unhooked.
Behdad Esfahbod [Tue, 23 Oct 2018 08:58:59 +0000 (01:58 -0700)]
[VORG] Add VORG table
Cherry-picked from cff-subset branch.
Behdad Esfahbod [Tue, 23 Oct 2018 08:32:08 +0000 (01:32 -0700)]
[morx] Add a few debug messages to Ligature chain
Behdad Esfahbod [Tue, 23 Oct 2018 07:39:44 +0000 (00:39 -0700)]
[morx] Clear stack upon underflow when acting ligatures
Behdad Esfahbod [Tue, 23 Oct 2018 06:41:47 +0000 (23:41 -0700)]
[test/text-rendering-tests] Update from upstream
Behdad Esfahbod [Tue, 23 Oct 2018 06:38:34 +0000 (23:38 -0700)]
[morx] Leave ligature on stack after ligating
Test with Apple Color Emoji.ttf of ~66MB and following sequence:
./hb-shape Apple\ Color\ Emoji-old.ttf --font-funcs=ot -u U+1F468,200d,U+1F469,200d,U+1F467,200d,1f466
Should form full family if matching works correctly. It first makes
family of three, then makes family of four out of that and the last
two characters.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1292
Ebrahim Byagowi [Tue, 23 Oct 2018 05:53:48 +0000 (09:23 +0330)]
[ci] Disable llvm-gcc
#define Null(Type) Null<typename hb_remove_const<typename hb_remove_reference<Type>::value>::value>()
raises:
hb-blob.cc: In function 'hb_blob_t* hb_blob_get_empty()':
hb-blob.cc:194: error: using 'typename' outside of template
hb-blob.cc:194: error: using 'typename' outside of template
Removing "typename"s fixes the issue but makes newer compiler fail apparently.
Probably downstream can patch that locally till we get a solution.
Behdad Esfahbod [Tue, 23 Oct 2018 04:49:42 +0000 (21:49 -0700)]
Unbreak builds
Behdad Esfahbod [Tue, 23 Oct 2018 04:33:18 +0000 (21:33 -0700)]
Add hb_array<>() specialization for UnsizedArrayOf
Related https://github.com/harfbuzz/harfbuzz/issues/1301
Behdad Esfahbod [Tue, 23 Oct 2018 04:27:45 +0000 (21:27 -0700)]
Add hb_array<>()
Simplifies transient object creation.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1301
Behdad Esfahbod [Tue, 23 Oct 2018 04:22:25 +0000 (21:22 -0700)]
[color] Use Index for colorIdx
Doesn't matter, but matches the description.
Behdad Esfahbod [Tue, 23 Oct 2018 04:18:27 +0000 (21:18 -0700)]
Remove const and references when binding Null()
Fixes https://github.com/harfbuzz/harfbuzz/issues/1299
Removes anomaly I was seeing in cpal table trying to use implicit Null(NameID).
Behdad Esfahbod [Tue, 23 Oct 2018 01:20:57 +0000 (18:20 -0700)]
[color] Add HB_COLOR
Normally I would have added to_string / from_string like other types
have. But since we don't use hb_color_t much, I'm not going to do that.
Although, if we did, we could use it in hb-view to parse colors...
Behdad Esfahbod [Mon, 22 Oct 2018 23:55:12 +0000 (16:55 -0700)]
[color] Finish reviewing / revamping CPAL
Now to hb_color_t.
Behdad Esfahbod [Mon, 22 Oct 2018 23:35:03 +0000 (16:35 -0700)]
[color] Minor
Behdad Esfahbod [Mon, 22 Oct 2018 23:30:30 +0000 (16:30 -0700)]
[color] Rely on CPALV1Tail Null object
Behdad Esfahbod [Mon, 22 Oct 2018 23:18:34 +0000 (16:18 -0700)]
Remove const from hb_array_t details
Will come in through <T> if desired.
Behdad Esfahbod [Mon, 22 Oct 2018 23:16:21 +0000 (16:16 -0700)]
[color] Use hb_array_t in CPAL
Doesn't work though, ouch :(. Need to figure out if it's unreasonable
to expect Null(T) inside hb_array_t<T> to see the later specialization
of Null for NameID.
Behdad Esfahbod [Mon, 22 Oct 2018 21:54:55 +0000 (14:54 -0700)]
[color] Check for null CPAL arrays
We cannot use a nullable offset here though.
Behdad Esfahbod [Mon, 22 Oct 2018 21:51:40 +0000 (14:51 -0700)]
[color] More CPAL rename
Behdad Esfahbod [Mon, 22 Oct 2018 21:46:21 +0000 (14:46 -0700)]
[color] More CPAL rename
Behdad Esfahbod [Mon, 22 Oct 2018 21:43:12 +0000 (14:43 -0700)]
[color] Rename vars in CPAL
Ebrahim Byagowi [Mon, 22 Oct 2018 22:03:45 +0000 (01:33 +0330)]
Adopt dump-emoji with latest unreleased APIs changes (#1297)
Behdad Esfahbod [Mon, 22 Oct 2018 20:02:04 +0000 (13:02 -0700)]
[color] Revamp palette API
Behdad Esfahbod [Mon, 22 Oct 2018 19:40:38 +0000 (12:40 -0700)]
[color] Rewrite colr access
COLR table has one function: return layers for a glyph, and we expose exactly
that, so should just wire it through. Also use sub_array() for verifiable
safety.
Also, BaseGlyphRecord's null object is enough. We don't need to special-case
the not-found.
Behdad Esfahbod [Mon, 22 Oct 2018 17:29:01 +0000 (10:29 -0700)]
[colr] Add hb_ot_color_layer_t
We never return parallel arrays from functions. That's inconvenient
and hard to bind.
Behdad Esfahbod [Mon, 22 Oct 2018 02:23:11 +0000 (19:23 -0700)]
[color] Rename / reorder a bit
Implement has_data() for realz.
Behdad Esfahbod [Mon, 22 Oct 2018 02:08:25 +0000 (19:08 -0700)]
[cpal] Touch up palette flags
Behdad Esfahbod [Mon, 22 Oct 2018 02:02:47 +0000 (19:02 -0700)]
[color] Rename "gid" to "glyph"
We don't expose "gid" in API.
Behdad Esfahbod [Mon, 22 Oct 2018 00:43:29 +0000 (17:43 -0700)]
[colr] Move sanitize
Ebrahim Byagowi [Mon, 22 Oct 2018 18:37:59 +0000 (22:07 +0330)]
Add chromacheck Emoji test fonts and minor preparations (#1294)
Behdad Esfahbod [Mon, 22 Oct 2018 00:42:51 +0000 (17:42 -0700)]
[colr] Move compare function into a static
Not sure if MSVC would be unhappy about this.
Behdad Esfahbod [Mon, 22 Oct 2018 00:41:49 +0000 (17:41 -0700)]
[colr] Minor
Behdad Esfahbod [Mon, 22 Oct 2018 00:39:39 +0000 (17:39 -0700)]
[colr] Move sanitize() to right place
Sanitize always comes just before data member definitions, so
it's easy to cross-check.
Behdad Esfahbod [Mon, 22 Oct 2018 00:39:00 +0000 (17:39 -0700)]
[colr] Touch up a bit
When a struct is plain old data with no references, etc, it's okay
to mark its members public.
Khaled Hosny [Sun, 21 Oct 2018 11:29:40 +0000 (13:29 +0200)]
[color] Fix documentation a bit
Ebrahim Byagowi [Sun, 21 Oct 2018 08:16:51 +0000 (11:46 +0330)]
Minor
Ebrahim Byagowi [Sun, 21 Oct 2018 06:47:34 +0000 (10:17 +0330)]
Remove _palette_entry_count as can be done with _palette_colors
Ebrahim Byagowi [Sun, 21 Oct 2018 06:21:15 +0000 (09:51 +0330)]
[test] Test hb_ot_color_has_{colr,cpal}_data
Ebrahim Byagowi [Sun, 21 Oct 2018 06:14:16 +0000 (09:44 +0330)]
[CPAL] Add palette entry and enable palette flag API
Ebrahim Byagowi [Sun, 21 Oct 2018 05:18:07 +0000 (08:48 +0330)]
Add API test for hb_ot_color_get_color_layers
Ebrahim Byagowi [Sun, 21 Oct 2018 04:56:40 +0000 (08:26 +0330)]
Address COLR/CPAL reviews and revive cpal_v1 tests
Ebrahim Byagowi [Sat, 20 Oct 2018 14:20:39 +0000 (17:50 +0330)]
[color] Fix alpha channel value and adjust spaces
Ebrahim Byagowi [Fri, 19 Oct 2018 21:01:04 +0000 (00:31 +0330)]
[dump-emoji] Formatting
Ebrahim Byagowi [Fri, 19 Oct 2018 15:00:01 +0000 (18:30 +0330)]
[test] Use hb_test_open_font_file
Ebrahim Byagowi [Fri, 19 Oct 2018 14:53:42 +0000 (18:23 +0330)]
Add three macros for separating color channels
Ebrahim Byagowi [Fri, 19 Oct 2018 14:14:06 +0000 (17:44 +0330)]
Make ot-color tests pass
Khaled Hosny [Tue, 1 May 2018 15:16:46 +0000 (17:16 +0200)]
[color] Minimal API for COLR/CPAL
Ebrahim Byagowi [Mon, 22 Oct 2018 07:21:37 +0000 (10:51 +0330)]
[fuzz] Add a found hb-subset testcase
Ebrahim Byagowi [Sun, 21 Oct 2018 21:14:28 +0000 (00:44 +0330)]
[ci] Disable flaky -windows-x64 and add a comment for iOS