|
c4b2950d
|
2023-06-23T11:55:39
|
|
[subset/cff1] Use cached subset-accel for seac calculations
Before we were creating a new (non-subset) accel each time.
|
|
5f399139
|
2023-06-23T11:22:01
|
|
[subset/cff] Move lazy cff-accelerator to cff-subset-accelerator
Fixes https://github.com/harfbuzz/harfbuzz/issues/4295
|
|
97d63e8d
|
2023-06-23T10:43:34
|
|
[subset/cff] Move serialize to accelerator
|
|
26f320dc
|
2023-06-23T10:24:32
|
|
[subset/cff] Remove unused method
|
|
43ec78f9
|
2023-06-23T10:22:30
|
|
[subset/cff] Cache CFF accelerator in hb_subset_plan_t
This shows 7% speedup in:
BM_subset/subset_glyphs/SourceHanSans-Regular_subset.otf/retaingids/10
|
|
7a124a0b
|
2023-06-22T20:18:20
|
|
[cff1] Use constructor for accelerator_templ_t
|
|
ad025ddf
|
2023-06-22T20:09:36
|
|
[subset-cff] Simplify a bit
|
|
b80b6a4f
|
2023-06-06T18:11:55
|
|
[cff] Remove unused types
|
|
ffc6899b
|
2023-06-05T14:16:47
|
|
[subset/cff1] Use a vector, instead of map, for glyph_to_sid_map
Much faster.
|
|
b6516f3b
|
2023-05-08T15:31:24
|
|
[cff] Fix the case of HB_OT_TAG_cff(1|2) macros
Should be upper case like other HB_OT_TAG_* macros of upper case tables.
|
|
7c74fc96
|
2023-02-19T14:43:07
|
|
[CFF] Remove unused member single_val
|
|
9be01b6b
|
2022-12-21T14:04:32
|
|
[paint] Pass hb_paint_context_t along
Replace the font argument with a hb_paint_context_t
that carries the font, the palette index and the
foreground color.
The hb_font_paint_glyph() api now takes the palette
index and the foreground color as extra arguments.
Update all callers and regenerate test results.
|
|
3e39dd49
|
2022-12-16T23:46:15
|
|
cff2: Implement paint_glyph
|
|
32dd9810
|
2022-11-30T13:15:58
|
|
[subset-cff1] Cache glyph-to-sid-map in the accelerator
Benchmark Time CPU Time Old Time New CPU Old CPU New
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/10 -0.0841 -0.0843 0 0 0 0
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/64 -0.1305 -0.1305 0 0 0 0
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/512 -0.1398 -0.1401 1 1 1 1
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/4096 +0.0382 +0.0380 9 9 9 9
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/10000 +0.0213 +0.0211 11 11 11 11
|
|
8d5c899b
|
2022-11-25T20:33:39
|
|
[subset] In cff accelerator hold reference to CFF table instead of the whole font.
|
|
59c45f6d
|
2022-11-22T12:54:50
|
|
Use hb_memcpy instead of memcpy consistently
|
|
bff78e65
|
2022-05-10T16:33:37
|
|
[cff] Convert interpretation environment to use constructor
|
|
8aa54aac
|
2022-05-09T16:09:56
|
|
[cff] Replace byte_str_t with hb_bytes_t use
|
|
fe1d85a5
|
2022-05-09T16:04:52
|
|
[cff] Remove custom byte_str_t impl
|
|
370bec93
|
2022-02-04T18:40:44
|
|
[draw] Rename internal draw_session_t to hb_draw_session_t
|
|
c681331c
|
2022-02-03T14:36:12
|
|
[draw] Rename internal draw_helper_t to draw_session_t
|
|
dd7b6e2c
|
2022-02-02T14:46:10
|
|
[draw] Remove EXPERIMENTAL_API tag
|
|
a8b7f188
|
2022-01-21T07:38:33
|
|
[cff] Initialize accelerator members
|
|
ac1bb3e3
|
2022-01-20T11:47:17
|
|
[machinery] Move accelerators to constructor/destructor
|
|
e062376e
|
2022-01-19T17:09:34
|
|
[machinery] Make accelerator lazy-loader call Xinit/Xfini
Instead of init/fini. To isolate those functions. To be turned into
constructor/destructors, ideally one per commit (after some SFINAE
foo.)
|
|
4eb6e6ea
|
2022-01-18T12:07:05
|
|
[cff] Remove some more fini_deep()
|
|
7f358a55
|
2020-07-30T13:57:30
|
|
[ENOMEM] unchecked resize in CFF2.
|
|
2be859d2
|
2020-04-20T23:48:23
|
|
minor, replace nullptr checks with implicit ones
|
|
2dda6dd7
|
2020-04-20T14:12:45
|
|
minor, tweak spacing
turn 8 spaces to tab, add space before Null/Crap
|
|
755a77d6
|
2020-01-29T22:26:04
|
|
Move outline draw API behind HB_EXPERIMENTAL_API directive
|
|
0b290538
|
2020-03-04T22:31:21
|
|
removed unused code
|
|
e8f010d7
|
2020-03-04T16:54:27
|
|
removed unused code & data; rename
|
|
c05458ec
|
2020-03-02T16:51:19
|
|
update cff & cff2 subsetters
|
|
9fe0dc34
|
2020-02-26T17:40:44
|
|
[draw] Pass draw_helper_t itself around instead recreating it
Specially helpful if we want to change the design
|
|
25707e37
|
2020-02-05T00:27:28
|
|
[cff] minor
|
|
0d61926c
|
2020-02-04T13:36:51
|
|
[subset] Keep head when no glyf table
|
|
2792fb8b
|
2020-02-02T22:00:53
|
|
first rewrite of cff/cff2 _subset with _subset2
|
|
ac81e940
|
2020-01-28T12:34:47
|
|
Rename hb_outline_decompose to hb_font_draw_glyph and hb_outline_decompose_funcs_t to hb_draw_funcs_t
|
|
981125aa
|
2020-01-25T21:31:36
|
|
Rename hb_ot_glyph_* to hb_outline_*
|
|
ec1fba13
|
2020-01-13T19:31:18
|
|
[ot-glyph] make hb_ot_glyph_decompose_funcs_t struct opaque
|
|
084a8182
|
2020-01-10T22:14:46
|
|
[ot-glyphs] Move CFF glyph decompose logic to their tables
Thus making path decompose zero alloc on CFF/CFF2
|
|
04ac7fb1
|
2019-10-21T13:06:12
|
|
[ot-glyph] Add cff2 support
|
|
9b853f75
|
2019-06-09T11:49:25
|
|
[cff] Use switch on multi-format structs (#1762)
|
|
be82a2fc
|
2019-06-03T15:52:23
|
|
parenthesized cond-exp in CFF2FDSelect::sanitize
|
|
ef006549
|
2019-01-22T12:08:57
|
|
Convert tag enum class consts to static constexpr
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
|
|
6d042a18
|
2019-01-20T19:49:59
|
|
[CFF] Use enum for tableTag
|
|
cf7edf52
|
2019-01-20T19:49:59
|
|
[CFF] Use enum for tableTag
|
|
b1152d5e
|
2019-01-17T18:17:04
|
|
Use NNOffsetTo<>
|
|
09fa536d
|
2018-12-27T08:33:09
|
|
fix lealk with cff2::accelerator_templ_t::topDict (#1517)
|
|
d25a2f14
|
2018-12-23T20:19:52
|
|
Fix a few warnings
|
|
29f0b6bc
|
2018-12-22T07:47:04
|
|
CFF renaming (#1507)
* reimplement ByteStr as byte_str_t based on hb_ubytes_t
Unuse start_embed<ByteStr>
Also renamed SubByteStr to byte_str_ref_t
More renaming to come
* substr renamed to str_ref in line with its type byte_str_ref_t
* uncamelize non-table struct names
* uncamelized non-struct types OpCode etc
* add byte_str_t copy ctor
* test
* test2
* undo tests
* fix bot failure
* undo the previous change
* fixed tabs, added inline
* Revert "fixed tabs, added inline"
This reverts commit 21163c30e9d18759414f7fe2518628241599f039.
* fix tabs
|
|
e4120085
|
2018-12-17T21:31:01
|
|
Remove redundant void from C++ sources (#1486)
|
|
b2ebaa9a
|
2018-12-16T22:38:10
|
|
Remove redundant 'inline' from methods (#1483)
|
|
f95324a3
|
2018-12-06T08:33:44
|
|
Merge pull request #1457 from harfbuzz/cff-varstore-sanitize
[CFF] oss-fuzz issue 11713 (CFF2VariationStore::serialize)
|
|
c31092ab
|
2018-12-05T17:04:55
|
|
sanitize variationStore in CFF2 against its size
|
|
6dcfda92
|
2018-12-05T15:07:46
|
|
sanitize CFF1 & CFF2 global subrs
|
|
6ce8d10b
|
2018-12-04T10:39:17
|
|
add unlikely to error handling
|
|
0b952e60
|
2018-12-04T10:22:35
|
|
more leak fixes
|
|
825df6db
|
2018-11-30T23:04:59
|
|
[CFF] Change spaces to tabs
|
|
592f39b3
|
2018-11-30T22:54:57
|
|
[CFF] Whitespace
|
|
0dfa584c
|
2018-11-12T08:47:07
|
|
changed Adobe company name
|
|
ae8fd0db
|
2018-11-07T09:16:12
|
|
clear stack after vsindex op
|
|
2840a104
|
2018-11-01T16:18:13
|
|
tweaks to build with new merge
|
|
d56e338a
|
2018-10-31T22:30:34
|
|
CFF1 no-desubroutinize + no-hinting
no-desubroutinize option is disabled for now
code cleanup (esp. CFF1 width handling)
bug fixes & renaming
|
|
36c2c374
|
2018-10-23T15:11:09
|
|
removed unused multi_val from DictVal
|
|
7d99a6ce
|
2018-10-12T02:16:07
|
|
overhauled error handling in CFF interpreter
minimized "if (error) return false" idiom
|
|
b51418f5
|
2018-10-08T15:05:36
|
|
added CFF2 get_extents
added source hb-ot-cff2-table.cc
augmented VariationData to return scalars
misc bug fixes, renaming, cleanup
|
|
ae7f0e83
|
2018-09-24T22:49:44
|
|
fixed memory leaks
in CFF1 & CFF2 accelerators, VORG subsetter
|
|
98b94f8b
|
2018-09-17T13:56:39
|
|
fix static_assert failure in OffsetTo<TopDict>
|
|
1234a813
|
2018-09-13T10:55:56
|
|
add head table to CFF/CFF2
|
|
1666b89e
|
2018-09-10T16:00:20
|
|
subset CFF1 String Index
Repurposed FDMap as Remap then subclassed for remapping SIDs
misc code cleanup
|
|
aca73c9d
|
2018-09-06T17:28:15
|
|
subset CFF1 Encoding & Charset
fixed misc Charset bugs
added source file hb-ot-cff1.table.cc
renamed things for clarity & consistency
|
|
5ea03d29
|
2018-09-04T11:29:15
|
|
fix build by untemplatizing DictOpSet & DictVal
as they aren't instantiated with BlendArg (yet)
|
|
f2d299b0
|
2018-09-04T10:25:21
|
|
Drop hints from CFF2 charstrings
Templatized ArgStack so it may store the default value along with blend deltas as BlendArg while parsing blend operator arguments in CFF2 charstring
Added get_region_count() method to VarRegionList & VariationStore
|
|
fcf17788
|
2018-08-31T16:28:47
|
|
templatized ArgStack as a prep to store blends
|
|
968168bf
|
2018-08-31T13:28:16
|
|
drop hints from CFF1 charstrings
renamed confusing Stack.size to Stack.count
|
|
8af9690a
|
2018-08-29T13:26:17
|
|
Merge branch 'master' into cff-subset
Renamed cff "private" source/headers without the suffix
|
|
cef75ea4
|
2018-08-17T13:13:18
|
|
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
|
|
f57d6bcb
|
2018-08-16T08:03:46
|
|
renamed CFF::Index to CFF::CFFIndex
to avoid confusion with OT::Index
|
|
633ce88d
|
2018-08-15T12:00:19
|
|
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)
|
|
64c54122
|
2018-08-10T11:07:07
|
|
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
|
|
5561b818
|
2018-08-06T10:04:53
|
|
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.
|
|
cc3f4e00
|
2018-08-03T15:00:37
|
|
silence gcc
|
|
00970dd2
|
2018-08-03T14:35:09
|
|
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
|
|
76f7397c
|
2018-08-02T16:28:10
|
|
templatized CFF2 accelerator for lean Private dict interpretting for subset
also fixed local subrs serialization
|
|
e2fd49e4
|
2018-08-02T11:39:22
|
|
Merge branch 'master' into cff-subset
|
|
693ae804
|
2018-08-02T11:22:42
|
|
more silencing fixes
|
|
58279c3d
|
2018-08-02T10:18:01
|
|
silence Codacy
|
|
19ce0b24
|
2018-08-01T17:34:59
|
|
removed unused field OpStr::update
|
|
16f4dc9b
|
2018-08-01T16:06:52
|
|
fixed CFF2VariationStore::serialize
also get_size
|
|
b2ff582c
|
2018-08-01T11:30:38
|
|
Implemented hb_subset_cff2
Added serialize functions to CFF2 structs
Fixed issues & bugs & code cleanup
Now subsetting CFF2 table outputs something
|
|
9c4cadae
|
2018-07-30T14:28:40
|
|
Added sanitize functions & calls
Added sanitize functions to FDSelect
Added satnitize calls for FDSelect, VariationStore, FDArray, TopDict
|
|
3a61c3e9
|
2018-07-18T14:17:52
|
|
first push of CFF/CFF2 work
Index, Dict structs
hooked up to hb-subset (takes CFF2, outputs empty CFF2)
|