Ebrahim Byagowi
47d82713a1
Replace strtod with a ragel implementation
...
Use a ragel based number parser when strtod_l couldn't be found
as libc's strtod may is locale sensetivity which we need to not.
2019-09-07 15:02:52 +04:30
Ebrahim Byagowi
80613e5b9e
Minor, remove unused header
2019-09-07 14:25:54 +04:30
Behdad Esfahbod
5902198cee
[kerx] Fix offset issue in kern format 2
...
Fixes tests with HB_VAR_ARRAY != 1, as done in previous commit.
2019-09-06 21:36:31 -04:00
Behdad Esfahbod
861547d531
Change HB_VAR_ARRAY from 1 to 0
...
Going to see which compilers it breaks and special-case those...
2019-09-06 16:55:00 -04:00
Behdad Esfahbod
0e294c455e
Rename VAR to HB_VAR_ARRAY
2019-09-06 16:54:27 -04:00
Behdad Esfahbod
c379faed2b
Fix a few struct size declarations
...
Was wrong. As excercised by defining VAR to other than 1 in hb.hh.
2019-09-06 16:41:12 -04:00
Evgeniy Reizner
7d4da8b862
Remove duplicated tests from test-ot-tag ( #1958 )
2019-09-06 12:24:32 -04:00
Behdad Esfahbod
3aceee2527
Revert "[null] Silence undefined-behavior complaints with too-small null bytes"
...
This reverts commit 911c76abcd
.
Broke tests. I'm not sure I understand why. At any rate, this was a
bad way to fix. I'll look into understanding as well as better fix.
2019-09-06 12:17:18 -04:00
Behdad Esfahbod
911c76abcd
[null] Silence undefined-behavior complaints with too-small null bytes
...
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1577584
2019-09-06 11:53:11 -04:00
Behdad Esfahbod
3c81246f66
[subset] Use newer iter tools in SinglePosFormat1
2019-09-04 11:28:40 -04:00
Behdad Esfahbod
9510e918f7
[iter] Partialize hb_zip()
2019-09-04 11:28:40 -04:00
Behdad Esfahbod
52d19ba459
Minor
2019-09-04 11:28:40 -04:00
Ebrahim Byagowi
cad698568a
Use roundf to fix cast to int difference of msys2 w64
2019-09-04 11:18:37 +04:30
Ebrahim Byagowi
88c73359da
Check roundf availibity in autotools
...
Hmm, not sure how I missed it.
2019-09-04 11:16:18 +04:30
Ebrahim Byagowi
1083df8b80
Use hb_parse_double in CFF::dict_opset_t::parse_bcd
2019-09-04 02:04:09 +04:30
Ebrahim Byagowi
57f88e11d4
[number] Turn hb_parse_float into hb_parse_double
2019-09-04 02:04:09 +04:30
Ebrahim Byagowi
65690b5a4b
[number] Add whole buffer check and test it
2019-09-04 02:04:09 +04:30
Ebrahim Byagowi
3661eb6105
Don't check null terminaion of source in hb_codepoint_parse
...
This isn't what intended originally, just checking if consumed
all the buffer is enough.
2019-09-04 02:04:09 +04:30
Ebrahim Byagowi
3a16272750
[test] resolve msvc complain on signedness comparing
2019-09-04 02:04:09 +04:30
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