Michiharu Ariza [Fri, 17 Aug 2018 23:50:13 +0000 (16:50 -0700)]
drop hints from CFF & CFF2 Private
Michiharu Ariza [Fri, 17 Aug 2018 20:13:18 +0000 (13:13 -0700)]
Added CFF2 Subr nullifier
along with CFF2 charstring interpreter
factored out common code between CFF1 & CFF2 to CSInterpreter
moved fetch_op from Interpreter to InterpEnv
misc code clean up & bug fixes
Michiharu Ariza [Thu, 16 Aug 2018 15:03:46 +0000 (08:03 -0700)]
renamed CFF::Index to CFF::CFFIndex
to avoid confusion with OT::Index
Michiharu Ariza [Thu, 16 Aug 2018 07:59:46 +0000 (00:59 -0700)]
treat h/vstem the same as h/vstemhm
Michiharu Ariza [Thu, 16 Aug 2018 07:25:57 +0000 (00:25 -0700)]
renamed OT::cff to OT::cff1 for consistency
along with HB_OT_TAG_cff1
Michiharu Ariza [Thu, 16 Aug 2018 07:13:09 +0000 (00:13 -0700)]
renamed CFF version 1 structs and sources to CFF1 from CFF
"CFF" is used for shared structs & sources between CFF1 & CFF2
except OT:cff is for CFF version 1 table
Michiharu Ariza [Wed, 15 Aug 2018 22:53:50 +0000 (15:53 -0700)]
fix build attempt ^7
Michiharu Ariza [Wed, 15 Aug 2018 22:45:17 +0000 (15:45 -0700)]
fix build attempt ^6
Michiharu Ariza [Wed, 15 Aug 2018 22:30:24 +0000 (15:30 -0700)]
fix build attempt ^5
Michiharu Ariza [Wed, 15 Aug 2018 22:00:55 +0000 (15:00 -0700)]
Merge branch 'master' into cff-subset
Michiharu Ariza [Wed, 15 Aug 2018 22:00:32 +0000 (15:00 -0700)]
fix build attempt ^4
Michiharu Ariza [Wed, 15 Aug 2018 20:15:08 +0000 (13:15 -0700)]
fix build attempt ^3
Michiharu Ariza [Wed, 15 Aug 2018 20:04:43 +0000 (13:04 -0700)]
fix build attempt ^2
Michiharu Ariza [Wed, 15 Aug 2018 19:15:55 +0000 (12:15 -0700)]
fix build
Michiharu Ariza [Wed, 15 Aug 2018 19:00:19 +0000 (12:00 -0700)]
CFF Subrs subsetting
Unreferenced subroutines are nullified (not removed) in a subset font
Separate Interpreter struct from hb-ot-cff-common-private.hh in a set of four header files, augmented for CharString (CS):
hb-cff-interp-common-private.hh
hb-cff-interp-dict-common-private.hh
hb-cff-interp-cs-common-private.hh
hb-cff-interp-cs.hh
Interpreter runtime is separated off as a new struct InterpEnv sub-classed differently for Dict and CharString (CS)
Emil A Eklund [Tue, 14 Aug 2018 21:47:20 +0000 (14:47 -0700)]
Add guard around free_static_C_locale
Add HB_USE_ATEXIT guard around free_static_C_locale missed by previous
commit.
Emil A Eklund [Tue, 14 Aug 2018 20:50:24 +0000 (13:50 -0700)]
Guard free_static function definitions with macro
Add HB_USE_ATEXIT macros around free_static function definitions to
avoid unused function compiler warnings/errors.
Behdad Esfahbod [Tue, 14 Aug 2018 17:59:34 +0000 (10:59 -0700)]
1.8.8
Behdad Esfahbod [Tue, 14 Aug 2018 00:02:21 +0000 (17:02 -0700)]
[icu] Pass normalizer instance down as user_data
Behdad Esfahbod [Mon, 13 Aug 2018 17:30:41 +0000 (10:30 -0700)]
Don't add reference in get_unicode_funcs() functions
Users don't expect a new reference returned from a get() function.
Indeed, all users of that API I foud where NOT destroying the reference.
Just change the implementations to NOT return a reference.
This applies to the following APIs:
hb_unicode_funcs_get_default()
hb_glib_get_unicode_funcs()
hb_icu_get_unicode_funcs()
Fixes https://github.com/harfbuzz/harfbuzz/issues/1134
Behdad Esfahbod [Mon, 13 Aug 2018 01:20:53 +0000 (18:20 -0700)]
[uniscribe] Use lazy loader
Fixes https://github.com/harfbuzz/harfbuzz/issues/1129
Behdad Esfahbod [Mon, 13 Aug 2018 01:10:59 +0000 (18:10 -0700)]
Another clang bot fix
Behdad Esfahbod [Mon, 13 Aug 2018 00:47:59 +0000 (17:47 -0700)]
Silence clang
Behdad Esfahbod [Mon, 13 Aug 2018 00:42:16 +0000 (17:42 -0700)]
[lazy] Use for C_locale
Behdad Esfahbod [Mon, 13 Aug 2018 00:32:10 +0000 (17:32 -0700)]
[lazy] Port more
Behdad Esfahbod [Mon, 13 Aug 2018 00:19:55 +0000 (17:19 -0700)]
[lazy] Rename free()
Behdad Esfahbod [Mon, 13 Aug 2018 00:14:32 +0000 (17:14 -0700)]
[lazy] Port more to it
Behdad Esfahbod [Sun, 12 Aug 2018 23:57:06 +0000 (16:57 -0700)]
[lazy] Make hb_lazy_loader_t<> more usable
Behdad Esfahbod [Sun, 12 Aug 2018 23:40:08 +0000 (16:40 -0700)]
[lazy] Minor
Behdad Esfahbod [Sun, 12 Aug 2018 23:33:48 +0000 (16:33 -0700)]
Minor
Behdad Esfahbod [Sun, 12 Aug 2018 23:30:39 +0000 (16:30 -0700)]
[icu] Use get_relaxed for normalizer access
We've had the proper barriers already. No need for more with every access.
Behdad Esfahbod [Sun, 12 Aug 2018 23:29:41 +0000 (16:29 -0700)]
[icu] Fix for breakage after recent change
Behdad Esfahbod [Sun, 12 Aug 2018 23:20:11 +0000 (16:20 -0700)]
[lazy] Use for ft_library
Behdad Esfahbod [Sun, 12 Aug 2018 23:00:13 +0000 (16:00 -0700)]
[lazy] Add .free()
Behdad Esfahbod [Sun, 12 Aug 2018 20:46:53 +0000 (13:46 -0700)]
[ot/ft] Port font_funcs statis to lazy-loader
Behdad Esfahbod [Sun, 12 Aug 2018 20:39:01 +0000 (13:39 -0700)]
[ucdn/glib/icu] Port unicode_funcs statics to lazy-loader
Behdad Esfahbod [Sun, 12 Aug 2018 20:16:40 +0000 (13:16 -0700)]
[lazy] Allow calling fini() multiple times
Behdad Esfahbod [Sun, 12 Aug 2018 20:12:29 +0000 (13:12 -0700)]
[lazy] More
Behdad Esfahbod [Sun, 12 Aug 2018 19:40:24 +0000 (12:40 -0700)]
[lazy] More shuffle
Behdad Esfahbod [Sun, 12 Aug 2018 19:27:47 +0000 (12:27 -0700)]
Minor
Behdad Esfahbod [Sun, 12 Aug 2018 19:21:56 +0000 (12:21 -0700)]
Add explicit_operator
Fixes https://github.com/harfbuzz/harfbuzz/issues/1127
Behdad Esfahbod [Sun, 12 Aug 2018 19:09:20 +0000 (12:09 -0700)]
Rename
Martin Hosken [Thu, 9 Aug 2018 08:16:32 +0000 (15:16 +0700)]
Support _ in feature ids
Michiharu Ariza [Fri, 10 Aug 2018 20:41:42 +0000 (13:41 -0700)]
Merge branch 'master' into cff-subset
Michiharu Ariza [Fri, 10 Aug 2018 20:07:53 +0000 (13:07 -0700)]
fixed TRACE build failure
Michiharu Ariza [Fri, 10 Aug 2018 19:55:22 +0000 (12:55 -0700)]
fixed inclusion of excluded Private & local Subrs
It was bloating a multi-FD subset font unnecessarily
defined a wrapper struct FDMap for fdmap
Michiharu Ariza [Fri, 10 Aug 2018 18:07:07 +0000 (11:07 -0700)]
Added CFF support
Added sources hb-ot-cff-table.hh, hb-subset-cff.cc & hh
Templatized Index because CFF uses 16-bit count while CFF2 uses 32-bit
Misc code cleanup & bug fixes
Behdad Esfahbod [Thu, 9 Aug 2018 08:02:02 +0000 (01:02 -0700)]
[coretext] Another try
Behdad Esfahbod [Thu, 9 Aug 2018 07:58:17 +0000 (00:58 -0700)]
Fix coretext build (hopefully)
Behdad Esfahbod [Thu, 9 Aug 2018 07:56:28 +0000 (00:56 -0700)]
Revert "[iter] Make operator bool explicit"
This reverts commit
66920a6bace7c54c8166c4ed938b6ffc5fabcf2b.
Some of our bots (Oracle Studio and Apple gcc 4.2) do not allow
explicit except for constructors.
https://github.com/harfbuzz/harfbuzz/issues/1127
Behdad Esfahbod [Thu, 9 Aug 2018 07:53:25 +0000 (00:53 -0700)]
[atomic] More
Behdad Esfahbod [Thu, 9 Aug 2018 07:28:40 +0000 (00:28 -0700)]
Fix lazy_loader fini()
Was creating object even if wasn't there.
Behdad Esfahbod [Thu, 9 Aug 2018 07:22:37 +0000 (00:22 -0700)]
[atomic] Add hb_atomic_ptr_t<> and port all uses
Found and fixed a couple bugs.
Found a couple multithreading issues. Marked them with "XXX-MT-bug".
Behdad Esfahbod [Thu, 9 Aug 2018 05:51:35 +0000 (22:51 -0700)]
[atomic] Remove hb_atomic_int_impl_t now that it's always int
Behdad Esfahbod [Thu, 9 Aug 2018 05:45:49 +0000 (22:45 -0700)]
[atomic] Unify typedef
Removes volatile from fallback implementation. That was handwavy
anyway.
Behdad Esfahbod [Thu, 9 Aug 2018 05:43:53 +0000 (22:43 -0700)]
[atomic] Change Mac atomic int type to int
If ever int is not 32bit, we'll fix this...
Behdad Esfahbod [Thu, 9 Aug 2018 05:42:33 +0000 (22:42 -0700)]
[atomic] Change Windows atomic int type to int
Behdad Esfahbod [Thu, 9 Aug 2018 05:40:10 +0000 (22:40 -0700)]
[atomic] Change Solaris atomic int to signed
Behdad Esfahbod [Thu, 9 Aug 2018 04:54:08 +0000 (21:54 -0700)]
1.8.7
Behdad Esfahbod [Thu, 9 Aug 2018 05:01:04 +0000 (22:01 -0700)]
Fix previous commit to use atomic operations
Behdad Esfahbod [Thu, 9 Aug 2018 04:42:18 +0000 (21:42 -0700)]
Fix assertion failure
https://bugzilla.mozilla.org/show_bug.cgi?id=1476334
Behdad Esfahbod [Tue, 7 Aug 2018 16:55:42 +0000 (09:55 -0700)]
1.8.6
Behdad Esfahbod [Tue, 7 Aug 2018 16:52:06 +0000 (09:52 -0700)]
Add +hb_font_get_glyph_advances_for_direction
New API:
+hb_font_get_glyph_advances_for_direction
Behdad Esfahbod [Tue, 7 Aug 2018 16:47:00 +0000 (09:47 -0700)]
Actually add hb_font_get_glyph_[hv]_advances
New API:
+hb_font_get_glyph_h_advances
+hb_font_get_glyph_v_advances
Behdad Esfahbod [Tue, 7 Aug 2018 16:44:01 +0000 (09:44 -0700)]
Minor
Behdad Esfahbod [Tue, 7 Aug 2018 16:37:52 +0000 (09:37 -0700)]
Remove get_advances_nil and alias it to get_advances_default
Behdad Esfahbod [Mon, 6 Aug 2018 22:32:13 +0000 (15:32 -0700)]
[iter] Make operator bool explicit
We would need to write:
for (Iter<T> it (...); bool (t); t++)
instead of:
for (Iter<T> it (...); t; t++)
But I think it's an improvement in code readability in the long term.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1127
Michiharu Ariza [Mon, 6 Aug 2018 18:23:50 +0000 (11:23 -0700)]
Merge branch 'master' into cff-subset
Michiharu Ariza [Mon, 6 Aug 2018 18:13:06 +0000 (11:13 -0700)]
removed CMakeCache.txt
Michiharu Ariza [Mon, 6 Aug 2018 17:44:12 +0000 (10:44 -0700)]
Silence Codacy
Michiharu Ariza [Mon, 6 Aug 2018 17:04:53 +0000 (10:04 -0700)]
subset FDSelect and FDArray
Added a set of sources hb-subset-cff-common-private.cc & .hh for FDSelect subseting code.
Added FDSelect format 4 (CFF2 only) support. Shared its implementation with format 3 as a template.
Behdad Esfahbod [Mon, 6 Aug 2018 16:45:17 +0000 (09:45 -0700)]
Add batch advance width callback function
New API:
+hb_font_funcs_set_glyph_h_advances_func
+hb_font_funcs_set_glyph_v_advances_func
+hb_font_get_glyph_h_advances
+hb_font_get_glyph_h_advances_func_t
+hb_font_get_glyph_v_advances
+hb_font_get_glyph_v_advances_func_t
Koji Ishii [Wed, 1 Aug 2018 04:01:08 +0000 (13:01 +0900)]
batchwidth
Behdad Esfahbod [Mon, 6 Aug 2018 13:30:12 +0000 (06:30 -0700)]
Remove most uses of direct comparison to Null objects
Behdad Esfahbod [Mon, 6 Aug 2018 13:17:48 +0000 (06:17 -0700)]
Port _nil objects to Null() machinery
Finally, unified!
Behdad Esfahbod [Mon, 6 Aug 2018 12:53:35 +0000 (05:53 -0700)]
[BASE] Rename horzi/vert to h/v
Behdad Esfahbod [Mon, 6 Aug 2018 12:52:12 +0000 (05:52 -0700)]
[BASE] Misc fixes
The code was badly broken. In better shape now, but still, needs
a full review before ever working.
Behdad Esfahbod [Mon, 6 Aug 2018 12:29:15 +0000 (05:29 -0700)]
Change null-pool specialization to min_size again
Behdad Esfahbod [Mon, 6 Aug 2018 12:01:52 +0000 (05:01 -0700)]
Move Null system to hb-null.hh
Behdad Esfahbod [Mon, 6 Aug 2018 11:58:34 +0000 (04:58 -0700)]
Remove unused macros
Behdad Esfahbod [Mon, 6 Aug 2018 11:54:31 +0000 (04:54 -0700)]
Minor
Behdad Esfahbod [Mon, 6 Aug 2018 11:51:38 +0000 (04:51 -0700)]
Minor
Behdad Esfahbod [Mon, 6 Aug 2018 11:42:46 +0000 (04:42 -0700)]
Move hb_vector_t to hb-vector-private.hh
Behdad Esfahbod [Mon, 6 Aug 2018 11:32:51 +0000 (04:32 -0700)]
Move some more code around
Behdad Esfahbod [Mon, 6 Aug 2018 04:41:52 +0000 (21:41 -0700)]
Move null data definitions to hb-static.cc
Also remove " " null data for Tag. Just use zeroes.
Behdad Esfahbod [Sat, 4 Aug 2018 02:55:09 +0000 (19:55 -0700)]
Minor
Behdad Esfahbod [Sat, 4 Aug 2018 02:54:33 +0000 (19:54 -0700)]
Make lazy loader deal with OOM
Behdad Esfahbod [Sat, 4 Aug 2018 00:32:00 +0000 (17:32 -0700)]
Rename
Behdad Esfahbod [Sat, 4 Aug 2018 00:06:42 +0000 (17:06 -0700)]
[ot] Comment
Behdad Esfahbod [Sat, 4 Aug 2018 00:03:32 +0000 (17:03 -0700)]
[ot] Add misc tables to tables_t
Most unused.
Behdad Esfahbod [Fri, 3 Aug 2018 23:57:40 +0000 (16:57 -0700)]
[ot] Move GDEF into tables_t
Behdad Esfahbod [Fri, 3 Aug 2018 23:45:57 +0000 (16:45 -0700)]
[ot] Move GSUB/GPOS into tables_t
Behdad Esfahbod [Fri, 3 Aug 2018 23:34:25 +0000 (16:34 -0700)]
[ot] More shuffling
Misc. table loading now properly automated.
Behdad Esfahbod [Fri, 3 Aug 2018 23:22:16 +0000 (16:22 -0700)]
[ot] Minor
Michiharu Ariza [Fri, 3 Aug 2018 22:00:37 +0000 (15:00 -0700)]
silence gcc
Michiharu Ariza [Fri, 3 Aug 2018 21:35:09 +0000 (14:35 -0700)]
Removed parsed hint fields from CFF2PrivateDictValues
Instead moved & stored uniformly in values vector (renamed from opstrs)
This should be fine as we aren't likely going to use them as hints after all
Templatized DictValues whether to parse them out
For subsetter, they aren't parsed
Behdad Esfahbod [Fri, 3 Aug 2018 06:13:19 +0000 (23:13 -0700)]
[ot] Move code around
Behdad Esfahbod [Fri, 3 Aug 2018 06:04:42 +0000 (23:04 -0700)]
[ot] Use switch for checking for blacklisted GDEF tables
Faster / more compact code.
Behdad Esfahbod [Fri, 3 Aug 2018 05:56:42 +0000 (22:56 -0700)]
[ot] In GDEF blacklisting logic, remove the glyph index check for Times
Just blacklist based on table sizes like we do for other fonts.
Behdad Esfahbod [Fri, 3 Aug 2018 03:04:37 +0000 (20:04 -0700)]
Move code around