Ebrahim Byagowi
005389beb5
Use hb_parse_uint in deserializer token parser
2019-09-04 02:04:09 +04:30
Ebrahim Byagowi
3d5b1df7ab
[number] Add test
2019-09-04 02:04:09 +04:30
Ebrahim Byagowi
b5e6805ee7
[number] Minor tweak on parser related codes
2019-09-04 02:04:09 +04:30
Ebrahim Byagowi
e2cecf1f34
[number] Remove parsing code duplication of the calls using lambda
2019-09-04 02:04:09 +04:30
Ebrahim Byagowi
a77bb7eb41
Move hb_codepoint_parse to hb_parse_uint
2019-09-04 02:04:09 +04:30
Ebrahim Byagowi
43372fbb5a
Merge and aggregate number parsing logics to form hb-number
2019-09-04 02:04:09 +04:30
Ebrahim Byagowi
d50d2fcbc7
Fallback if roundf didn't exist, like in dietlibc ( #1953 )
2019-09-02 19:32:05 -05:00
Ebrahim Byagowi
d3b984d379
Revert in-house pow10 ( d80a3ea
) and fix oss-fuzz/16922
...
Probably can be fixed but merging it was wrong so let's revert.
2019-09-02 18:28:03 +04:30
Ebrahim Byagowi
41d6e95b0d
[subset] Use internal API of hb_set_t
2019-09-02 01:58:37 +04:30
Ebrahim Byagowi
8ccf328d54
[subset] Run once for a tag
2019-09-02 01:09:41 +04:30
Khaled Hosny
0954c8f7a0
[ft] Prefer symbol cmap subtable if found ( #1948 )
...
Similar to commit d304d60e4d
for ot-font.
2019-09-01 10:09:07 -05:00
Ebrahim Byagowi
4375858792
[editorconfig] Treat Ragel files also as C sources
2019-09-01 15:13:05 +04:30
Ebrahim Byagowi
d80a3ea983
[cff] Implement in-house power of 10
...
A minimal power only for natural numbers exponents of ten, for portability.
Found the idea in Tcl/Tk but wrote it myself after weeks and it turned out
being a different implementation, reverse direction, constexpr, etc.
2019-09-01 14:05:16 +04:30
Ebrahim Byagowi
f441a7c008
Don't allow reference blob be accessed using empty tag in hb_face_reference_table ( #1947 )
2019-08-31 16:48:09 -05:00
Behdad Esfahbod
c9eb913f4c
[iter] Simplify hb_chop()
2019-08-31 15:21:02 -05:00
Behdad Esfahbod
67ec9fa9e4
[iter] Add hb_chop()
2019-08-31 14:51:49 -05:00
Behdad Esfahbod
5828d8e83c
[iter] Add hb_take() specialization for arrays
2019-08-31 14:36:44 -05:00
Behdad Esfahbod
398b296f3b
[iter] Add hb_len()
2019-08-31 12:44:24 -05:00
Behdad Esfahbod
875131d478
[iter] Add hb_take()
2019-08-31 12:42:52 -05:00
Behdad Esfahbod
1f88dae9f5
[iter] Make iota() accept invokable for increasing to next item
2019-08-31 12:24:56 -05:00
Behdad Esfahbod
3bc86fb237
[algs] Fix hb_inc/dec signature
2019-08-31 12:24:56 -05:00
Behdad Esfahbod
b1378d8a21
[iter] Add hb_repeat()
2019-08-31 12:24:56 -05:00
Behdad Esfahbod
966a18b92a
[iter] Remove some &&
2019-08-31 12:24:56 -05:00
Behdad Esfahbod
de45775c37
[iter] Use hb_ridentity instead of lazy +
2019-08-31 12:24:56 -05:00
Behdad Esfahbod
ce4d63beec
[iter] Separate hb_iota implementation from hb_range
2019-08-31 12:24:56 -05:00
Behdad Esfahbod
814dc3cbe5
[iter] Rename
...
Moving towards making iota useful for non-integers.
2019-08-31 12:24:56 -05:00
Behdad Esfahbod
2d5643aed4
[algs] Add hb_inc() and hb_dec())
2019-08-31 12:24:56 -05:00
Behdad Esfahbod
7eafe94705
Revert "[array] Add chop()"
...
This reverts commit 545fe9d9f0
.
Breaks gcc 4.8 and MSVC all versions.
Will add hb_chop() that works on all iterators instead.
2019-08-31 12:24:56 -05:00
Ebrahim Byagowi
28c8dcb53f
[subset] minor
2019-08-31 12:27:14 +04:30
Behdad Esfahbod
545fe9d9f0
[array] Add chop()
...
Takes n, and returns iterator of iterators that contain up to
n items each. Basically cuts the array into subarrays of size n.
The last sub-array might contain fewer.
Ideally this should become a generic iter tool, not array-specific,
so we can use it in GPOS to chop a value matrix into rows and elements.
2019-08-29 15:48:21 -07:00
Behdad Esfahbod
c72589f13f
[iter] Change item_size to get_item_size()
...
By moving access to hb_static_size(Type) into a function instead of
a class-const, we can refer to iter types of incomplete types, which
come handy when a method of hb_array_t wants to return iterator
of hb_array_t. That kind of stuff. Next commit needs this to
build on clang...
2019-08-29 15:45:21 -07:00
Behdad Esfahbod
d58e248df6
[array] Add truncate() method
2019-08-29 15:23:48 -07:00
Behdad Esfahbod
a06edf1430
[array] Use injected class name more
2019-08-29 15:21:18 -07:00
Behdad Esfahbod
e0e0c8c109
Minor
2019-08-29 14:58:16 -07:00
qxliu76
0313ef86e3
bug fix in optimizing coverage table format ( #1942 )
...
We are comparing number of shorts, NOT number of bytes.
2019-08-29 14:09:05 -07:00
Behdad Esfahbod
38f95baf6b
[subset] in SingleSubst subsetting, check for substitute in glyphset
...
That matches what fonttools does and allows for specifying exact
glyphset for subset.
2019-08-29 13:40:46 -07:00
Ebrahim Byagowi
8106ba7f88
[glyf] Reapply use of hb_bytes_t.as<GlyphHeader> ()
2019-08-29 20:33:38 +04:30
Ebrahim Byagowi
9e80fc6836
[glyf] Reapply common moving logic to GlyphHeader struct
2019-08-29 20:17:50 +04:30
Ebrahim Byagowi
852c9aa0e3
[glyf] Reapply style fixes
2019-08-29 20:12:53 +04:30
Ebrahim Byagowi
9ff32b79b3
Merge remote-tracking branch 'upstream/master' into glyf-rebase
2019-08-29 19:53:18 +04:30
Ebrahim Byagowi
499029644f
[gsub] Fix clang's semicolon complains
2019-08-29 15:09:39 +04:30
Ebrahim Byagowi
28620310b8
[test] Avoid alloca use as clang complain
...
Fixes https://circleci.com/gh/harfbuzz/harfbuzz/108171 complain
2019-08-29 14:55:54 +04:30
Ebrahim Byagowi
875985cd48
[subset] Don't allow malicious fonts to insert unlimited table headers
...
Fixes https://crbug.com/oss-fuzz/16810
2019-08-29 14:51:22 +04:30
Behdad Esfahbod
dc9222b1dd
[subset] Implement AlternateSubst subsetting
2019-08-28 15:38:46 -07:00
Behdad Esfahbod
23681b6da4
Minor
2019-08-28 15:30:37 -07:00
Behdad Esfahbod
33c8e2303c
[subset] Implement MultipleSubst subsetting
2019-08-28 15:25:55 -07:00
Behdad Esfahbod
5c43a7ba7e
[GSUB] Use dagger in Ligature::intersects()
2019-08-28 15:10:38 -07:00
Behdad Esfahbod
b8c642c1f5
Minor
2019-08-28 15:06:45 -07:00
Behdad Esfahbod
dc2c9aa0c3
Rename
2019-08-28 15:05:49 -07:00
Behdad Esfahbod
bc5ef765a8
[subset] Subset ligature substitutes!
...
Test with:
$ ./hb-subset -o out.ttf NotoSansArabic-Regular.ttf --drop-tables= سلام && ./hb-view out.ttf سلام
2019-08-28 14:52:13 -07:00