Commit Graph

39 Commits

Author SHA1 Message Date
Behdad Esfahbod
70a52d6bd8 Convert all other enum class consts to static constexpr
Fixes https://github.com/harfbuzz/harfbuzz/issues/1553
2019-01-22 12:17:26 +01:00
Behdad Esfahbod
380c3cffb9 Use enum for class constant 2019-01-22 10:51:20 +01:00
Behdad Esfahbod
fa333e34d6 [vector] Remove static_array
Was good idea, but with C++ types with constructor/destructor, was getting in
the way as compiler was destructing those items where it was not desired.
Since C++ does not allow zero-sized arrays, just remove it...
2018-12-27 17:56:22 -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 21163c30e9d18759414f7fe2518628241599f039.

* 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
59345cdef3 [CFF] Refix oss-fuzz 11714: set_blends (PR #1458) (#1460)
* pass subarray of stack to set_blends

* get_subarray to return a value, not ref

* restored error check (with tweak)
2018-12-06 13:36:26 -08:00
Michiharu Ariza
6708c5595f fix oss-fuzz issue 11675 (ASSERT: count <= str.len)
Also added an additional error check to avail ()
2018-12-05 12:51:18 -08:00
Michiharu Ariza
5fff6ab002 additional precision made a difference in extents test 2018-12-03 16:06:58 -08:00
Michiharu Ariza
9e5180cd44 more double changes 2018-12-03 15:32:42 -08:00
Michiharu Ariza
9af33d7a2a Number to use double for all types 2018-12-03 14:48:46 -08: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
471db3aa6f workaround for issue #1417 2018-11-28 17:06:11 -08:00
Michiharu Ariza
3787c07856 Implemented seac for extents & subset along with API tests 2018-11-14 13:38:03 -08:00
Michiharu Ariza
0dfa584cb4 changed Adobe company name 2018-11-12 08:47:07 -08:00
Michiharu Ariza
0b2870085d removed unused code 2018-11-01 22:43:17 -07:00
Michiharu Ariza
b1d0c58915 removed extraneous ;s 2018-11-01 16:33:46 -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
36c2c374bf removed unused multi_val from DictVal 2018-10-23 15:11:09 -07:00
Michiharu Ariza
6420ffe00f fixed type casting bug 2018-10-15 14:03:18 -07:00
Michiharu Ariza
7d99a6cef8 overhauled error handling in CFF interpreter
minimized "if (error) return false" idiom
2018-10-12 02:16:07 -07:00
Michiharu Ariza
83c5298f33 added cff1_legacyops.otf as test-ot-extents-cff test case
fixed roll operator bugs uncovered by the test
2018-10-09 21:59:36 -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
e7a045e4db fixed leak exposed by test-ot-extents-cff 2018-10-04 14:16:07 -07:00
Michiharu Ariza
0222d57c35 tweaked previous warning fixes 2018-10-04 09:37:57 -07:00
Michiharu Ariza
3ef358909e fixed warnings 2018-10-03 18:08:25 -07:00
Michiharu Ariza
eed7e6bbc8 redefine OpCodes as define instead of enum
in order to eradicate duplicate enum warnings
2018-10-02 13:45:14 -07:00
Michiharu Ariza
76e54d2bd8 fixed subroutinized CFF2 flattening
and some code cleanup
2018-09-21 12:16:36 -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
bb38d0f663 Implement parse_bcd 2018-09-11 10:43:15 -07:00
Michiharu Ariza
1666b89e30 subset CFF1 String Index
Repurposed FDMap as Remap then subclassed for remapping SIDs
misc code cleanup
2018-09-10 16:00:20 -07:00
Michiharu Ariza
f2d299b0b7 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
2018-09-04 10:25:21 -07:00
Michiharu Ariza
fcf177885b templatized ArgStack as a prep to store blends 2018-08-31 16:28:47 -07:00
Michiharu Ariza
968168bf0e drop hints from CFF1 charstrings
renamed confusing Stack.size to Stack.count
2018-08-31 13:28:16 -07:00
Michiharu Ariza
1d1afddfd2 corrected preprocessor guards 2018-08-29 13:36:39 -07:00
Michiharu Ariza
8af9690ac7 Merge branch 'master' into cff-subset
Renamed cff "private" source/headers without the suffix
2018-08-29 13:26:17 -07:00