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
Michiharu Ariza
64c5412264
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
2018-08-10 11:07:07 -07:00