Commit Graph

69 Commits

Author SHA1 Message Date
Behdad Esfahbod 737436d3f8 Streamline HB_NO_CFF 2019-06-18 13:07:44 -07:00
Ebrahim Byagowi 9b853f755d
[cff] Use switch on multi-format structs (#1762) 2019-06-09 11:49:25 +04:30
Behdad Esfahbod b2ab15a78c Fix more warnings 2019-05-13 23:47:28 -07:00
Behdad Esfahbod 7f6fca4ef7 Force-disable CFF code under disabling conditions
Subsetter size goes down from 190kb to 119kb.  Main library about 7kb.

Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-12 10:29:47 -07:00
Behdad Esfahbod 62dfe7aea2 [cff] Minor 2019-05-10 23:18:08 -07:00
Michiharu Ariza 02ae2591d9 initialize return param subr_num in popSubrNum
also snake_cased popSubrtNum and other surrounding function names
2019-05-08 13:44:03 -07:00
Ebrahim Byagowi 92588782d7
Remove space between right angle brackets now that we have C++11 (#1689) 2019-04-30 13:05:10 -07:00
Behdad Esfahbod b986c6a321 [C++11] Remove IntType::set() in favor of operator= 2019-03-29 20:21:21 -07:00
Michiharu Ariza c12862657f added desubroutinize & retain-gids full test cases with CFF fonts
and CFF retain-gids fixes
2019-02-01 14:50:01 -08:00
Michiharu Ariza f2908b4d8f Implement subset --regain-gids option with CFF1/2
along with api tests & expected results
2019-01-31 14:16:37 -08:00
Garret Rieger 846e05a298 [subset] Re-add glyphs array to subset plan, with new name 'glyphs_deprecated'. Switch CFF subsetting to use it. 2019-01-29 13:19:21 -08:00
Behdad Esfahbod 0b2fa342de More of previous 2019-01-22 16:36:00 +01:00
Michiharu Ariza 760303d411 deleted a duplicate fontdicts_mod.fini() call (#1538) 2019-01-11 15:27:35 -08:00
Michiharu Ariza 7b48641aa8 fix leak in subset_enc_supp_codes (#1537)
oss-fuzz issue 12310
2019-01-08 15:37:48 -05:00
Michiharu Ariza 29f0b6bce7 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 21163c30e9.

* fix tabs
2018-12-22 10:47:04 -05:00
Behdad Esfahbod 474a12058d [array/vector] Rename len to length 2018-12-21 18:53:01 -05:00
Ebrahim Byagowi e412008599 Remove redundant void from C++ sources (#1486) 2018-12-17 13:01:01 -05:00
Ebrahim Byagowi b2ebaa9afa Remove redundant 'inline' from methods (#1483) 2018-12-16 14:08:10 -05:00
Michiharu Ariza 2941208f1e [CFF] oss-fuzz issue 11690 ASSERT: substr.offset >= opStart (#1461)
* fix oss-fuzz 11690: substr.offset >= opStart

detect recursive subroutine call & handle as error

* fix build failure

* add minimized test case for oss-fuzz 11690

* removed asserts
2018-12-11 15:21:24 -05:00
Michiharu Ariza 333586245c minimize use of assert: removed or changed to error handling (#1467) 2018-12-11 15:20:20 -05:00
Behdad Esfahbod 825df6dbc7 [CFF] Change spaces to tabs 2018-11-30 23:04:59 -05:00
Behdad Esfahbod 592f39b3c4 [CFF] Whitespace 2018-11-30 22:54:57 -05:00
Michiharu Ariza d8c6913765 undo 0u 2018-11-30 18:58:14 -08:00
Michiharu Ariza 9483da145d redo fixes 2018-11-30 16:59:41 -08:00
Michiharu Ariza b1821b9d09 some more 2018-11-30 16:31:01 -08:00
Michiharu Ariza a6da9b9415 fixed Charset format selection 2018-11-16 17:29:03 -08:00
Michiharu Ariza b6903bd6c4 ensure fdmap initialized as identity for single-FD (non-CID) fonts 2018-11-16 13:46:58 -08:00
Michiharu Ariza b67a7c731f drop dotsection as hint along with test case 2018-11-16 12:28:24 -08:00
Michiharu Ariza 9d0231cfe7 fixed a subset bug when no font dicts reduce 2018-11-15 15:39:43 -08:00
Michiharu Ariza ecdb77f0ae fixed CFF1 subset of std encoding & non-std charset combo 2018-11-15 10:54:15 -08:00
Michiharu Ariza 0dfa584cb4 changed Adobe company name 2018-11-12 08:47:07 -08:00
Michiharu Ariza 191ca0f15b CFF1 no-desubr fixes
make sure charstring/subrs not ending with endchar/return handled correctly
if no local subrs, skip serializing Subrs op in Private
misc fixes
2018-11-03 22:42:22 -07:00
Michiharu Ariza 1da4de7e7b fix for subset fuzzer failure
A called subr must be freshly parsed or completely parsed. otherwise the prevoius parse must have terminated prematurely
2018-11-03 15:41:29 -07:00
Michiharu Ariza 481fdfdc23 Merge branch 'cff-subset' of https://github.com/harfbuzz/harfbuzz into cff-subset 2018-11-02 15:28:09 -07:00
Michiharu Ariza 1bc710a8c9 added CFF1 desubr api test cases & bug fixes 2018-11-02 15:28:01 -07:00
Michiharu Ariza 6186dbf1be added hb_subset_input_set_desubroutinize API
hooked up with CFF1 subroutinizer
a renaming
2018-11-01 17:25:23 -07:00
Michiharu Ariza 2840a104c1 tweaks to build with new merge 2018-11-01 16:18:13 -07:00
Michiharu Ariza a9c305c2b0 fix leaks 2018-11-01 10:31:21 -07:00
Michiharu Ariza d56e338a90 CFF1 no-desubroutinize + no-hinting
no-desubroutinize option is disabled for now
code cleanup (esp. CFF1 width handling)
bug fixes & renaming
2018-10-31 22:30:34 -07:00
Michiharu Ariza 8679d02b4b implement flex ops for glyph extents/subset
also removed unused CSInterpEnv::move_[xy]_with_arg
fixed bug a width being left over on argStack with CFF1
2018-10-18 13:04:21 -07:00
Michiharu Ariza 9228db06f4 added CFF1 Expert Encoding subset test & bug fixes 2018-10-13 17:25:09 -07:00
Michiharu Ariza b51418f596 added CFF2 get_extents
added source hb-ot-cff2-table.cc
augmented VariationData to return scalars
misc bug fixes, renaming, cleanup
2018-10-08 15:05:36 -07:00
Michiharu Ariza d7b384ad0d silence warning ^3 2018-10-02 21:08:36 -07:00
Michiharu Ariza e9cc71ac86 silence warning ^2 2018-10-02 20:44:30 -07:00
Michiharu Ariza 51d5bf4ca2 silence warnings 2018-10-02 14:38:06 -07:00
Michiharu Ariza 35b64dfb57 silence & fix new warnings 2018-10-02 14:13:36 -07:00
Michiharu Ariza ebeccf3e63 fixed char widths & standard Encoding in subset CFF
also merged flush_n_args to flush_args into one
takes start index of the arguments on stack instead of count
2018-09-18 17:24:30 -07:00
Michiharu Ariza c0c85b852d implemented get_glyph_extents with CFF1
Implemented path operators in a new struct PathProc hooked up to CSOpSet
Added current point to CSInterpEnv
2018-09-17 11:14:56 -07:00
Michiharu Ariza 0f159a38a6 fixed serialize_fdselect_3_4 2018-09-12 16:08:54 -07:00
Michiharu Ariza 1608481d88 fixed bugs in Charset serialization
also some code cleanup
2018-09-12 13:22:19 -07:00