Commit Graph

6342 Commits

Author SHA1 Message Date
Michiharu Ariza 0ad081ec32 attempt to fix build failure 2018-08-29 12:56:48 -07:00
Michiharu Ariza a11420b48c Subroutine flattener for CFF1
Subr-flattened charstrings are temporarily re-encoded in ByteStrBuff during "plan" phase, then copied to hb_serialize_context_t during "write" phase

CSOpSet may callback opcode processing "virtual" functions via CRTP

Numer struct may store a value as fixed optionally in addition to int and float
2018-08-29 12:14:30 -07:00
Michiharu Ariza 27c32d8afb fixed "Fixed" number decoding 2018-08-22 11:36:39 -07:00
Michiharu Ariza 811a651bbd fixed bugs with empty CFFIndex, fullset FDMap 2018-08-20 14:04:46 -07:00
Michiharu Ariza 5cde2f55cd drop hints from CFF & CFF2 Private 2018-08-17 16:50:13 -07:00
Michiharu Ariza cef75ea41a 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
2018-08-17 13:13:18 -07:00
Michiharu Ariza f57d6bcbca renamed CFF::Index to CFF::CFFIndex
to avoid confusion with OT::Index
2018-08-16 08:03:46 -07:00
Michiharu Ariza c4ae426a3d treat h/vstem the same as h/vstemhm 2018-08-16 00:59:46 -07:00
Michiharu Ariza e67bb3fbcf renamed OT::cff to OT::cff1 for consistency
along with HB_OT_TAG_cff1
2018-08-16 00:25:57 -07:00
Michiharu Ariza fdbfa1848b 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
2018-08-16 00:13:09 -07:00
Michiharu Ariza 867f68bd8a fix build attempt ^7 2018-08-15 15:53:50 -07:00
Michiharu Ariza 685db67bb0 fix build attempt ^6 2018-08-15 15:45:17 -07:00
Michiharu Ariza 2810caafeb fix build attempt ^5 2018-08-15 15:30:24 -07:00
Michiharu Ariza 25b8310b2a Merge branch 'master' into cff-subset 2018-08-15 15:00:55 -07:00
Michiharu Ariza 7aa23f3597 fix build attempt ^4 2018-08-15 15:00:32 -07:00
Michiharu Ariza 270452a446 fix build attempt ^3 2018-08-15 13:15:08 -07:00
Michiharu Ariza c234839f25 fix build attempt ^2 2018-08-15 13:04:43 -07:00
Michiharu Ariza eab07e713a fix build 2018-08-15 12:15:55 -07:00
Michiharu Ariza 633ce88de9 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)
2018-08-15 12:00:19 -07:00
Emil A Eklund 22defe0965 Add guard around free_static_C_locale
Add HB_USE_ATEXIT guard around free_static_C_locale missed by previous
commit.
2018-08-14 18:10:17 -07:00
Emil A Eklund 7112c6413c Guard free_static function definitions with macro
Add HB_USE_ATEXIT macros around free_static function definitions to
avoid unused function compiler warnings/errors.
2018-08-14 14:04:10 -07:00
Behdad Esfahbod 63be5dcdde 1.8.8 2018-08-14 10:59:34 -07:00
Behdad Esfahbod c9a22fa124 [icu] Pass normalizer instance down as user_data 2018-08-13 17:02:21 -07:00
Behdad Esfahbod f0ef096b8c 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
2018-08-13 10:30:41 -07:00
Behdad Esfahbod 9bbd1cdf06 [uniscribe] Use lazy loader
Fixes https://github.com/harfbuzz/harfbuzz/issues/1129
2018-08-12 18:20:53 -07:00
Behdad Esfahbod 2663689936 Another clang bot fix 2018-08-12 18:10:59 -07:00
Behdad Esfahbod 989e71a982 Silence clang 2018-08-12 17:47:59 -07:00
Behdad Esfahbod 6750ec692c [lazy] Use for C_locale 2018-08-12 17:42:16 -07:00
Behdad Esfahbod 747d2564e6 [lazy] Port more 2018-08-12 17:32:10 -07:00
Behdad Esfahbod 7bd508a0c4 [lazy] Rename free() 2018-08-12 17:19:55 -07:00
Behdad Esfahbod a3b97db910 [lazy] Port more to it 2018-08-12 17:14:32 -07:00
Behdad Esfahbod 6901090945 [lazy] Make hb_lazy_loader_t<> more usable 2018-08-12 16:59:37 -07:00
Behdad Esfahbod bb905e9afc [lazy] Minor 2018-08-12 16:44:44 -07:00
Behdad Esfahbod 3945cd78a9 Minor 2018-08-12 16:33:48 -07:00
Behdad Esfahbod c21a1b95df [icu] Use get_relaxed for normalizer access
We've had the proper barriers already.  No need for more with every access.
2018-08-12 16:30:39 -07:00
Behdad Esfahbod 125fefa2a6 [icu] Fix for breakage after recent change 2018-08-12 16:29:41 -07:00
Behdad Esfahbod 53442be1ed [lazy] Use for ft_library 2018-08-12 16:20:11 -07:00
Behdad Esfahbod 7a8d480378 [lazy] Add .free() 2018-08-12 16:00:13 -07:00
Behdad Esfahbod c7ca30a533 [ot/ft] Port font_funcs statis to lazy-loader 2018-08-12 13:46:53 -07:00
Behdad Esfahbod cb3fc3685c [ucdn/glib/icu] Port unicode_funcs statics to lazy-loader 2018-08-12 13:39:01 -07:00
Behdad Esfahbod 1b6b481262 [lazy] Allow calling fini() multiple times 2018-08-12 13:16:40 -07:00
Behdad Esfahbod 918ad9f5d9 [lazy] More 2018-08-12 13:12:29 -07:00
Behdad Esfahbod 5abdf5eeba [lazy] More shuffle 2018-08-12 12:48:44 -07:00
Behdad Esfahbod 5d9863be6e Minor 2018-08-12 12:27:47 -07:00
Behdad Esfahbod f9a3eab810 Add explicit_operator
Fixes https://github.com/harfbuzz/harfbuzz/issues/1127
2018-08-12 12:21:56 -07:00
Behdad Esfahbod 470acb6c32 Rename 2018-08-12 12:13:36 -07:00
Martin Hosken 39607dc98e Support _ in feature ids 2018-08-11 16:55:16 -07:00
Michiharu Ariza a3a8c85b02 Merge branch 'master' into cff-subset 2018-08-10 13:41:42 -07:00
Michiharu Ariza 145f371d71 fixed TRACE build failure 2018-08-10 13:07:53 -07:00
Michiharu Ariza a97ed342d1 fixed inclusion of excluded Private & local Subrs
It was bloating a multi-FD subset font unnecessarily
defined a wrapper struct FDMap for fdmap
2018-08-10 12:55:22 -07:00