Log

Author Commit Date CI Message
Ebrahim Byagowi 385741d5 2019-09-21T15:26:14 [cmap] Turn hb_apply into foreach where possible
Ebrahim Byagowi 1023c2cc 2019-09-21T14:33:43 [cmap] minor
Ebrahim Byagowi d8af4e77 2019-09-21T14:19:14 [cmap] minor, turn 8 spaces to tab
Ebrahim Byagowi ead46eef 2019-09-21T14:25:11 minor, use internal API instead public hb_set_has
Qunxin Liu 078ddbd0 2019-08-07T13:17:26 [subset] glyph closure for CMAP14
Qunxin Liu 43156662 2019-08-29T11:17:20 [subset] updates according to review comments
Qunxin Liu bf66d1bf 2019-08-21T14:24:33 [subset] Add integration tests for cmap14
Qunxin Liu 2583afa0 2019-08-16T13:54:24 [subset] subsetting cmap14
Ebrahim Byagowi bbe87800 2019-09-18T22:22:01 Avoid bitwise negate of enum value Fixes this -fno-sanitize-recover=undefined fail, hb-ot-map.hh:188:1: runtime error: load of value 4294967294, which is not a valid value for type 'hb_ot_map_feature_flags_t' #0 0x7f62bfa9b227 in operator&=(hb_ot_map_feature_flags_t&, hb_ot_map_feature_flags_t) /home/ebrahim/Desktop/harfbuzz/src/./hb-ot-map.hh:188:1 #1 0x7f62bfa9b227 in hb_ot_map_builder_t::compile(hb_ot_map_t&, hb_ot_shape_plan_key_t const&) /home/ebrahim/Desktop/harfbuzz/src/hb-ot-map.cc:194 #2 0x7f62bface650 in hb_ot_shape_planner_t::compile(hb_ot_shape_plan_t&, hb_ot_shape_plan_key_t const&) /home/ebrahim/Desktop/harfbuzz/src/hb-ot-shape.cc:108:7 #3 0x7f62bfacec1e in hb_ot_shape_plan_t::init0(hb_face_t*, hb_shape_plan_key_t const*) /home/ebrahim/Desktop/harfbuzz/src/hb-ot-shape.cc:225:11 #4 0x7f62bfae1318 in hb_shape_plan_create2 /home/ebrahim/Desktop/harfbuzz/src/hb-shape-plan.cc:232:7 #5 0x7f62bfae1d2a in hb_shape_plan_create_cached2 /home/ebrahim/Desktop/harfbuzz/src/hb-shape-plan.cc:489:33 #6 0x7f62bfae2527 in hb_shape_full /home/ebrahim/Desktop/harfbuzz/src/hb-shape.cc:135:33 #7 0x55ed360b6588 in shape_options_t::shape(hb_font_t*, hb_buffer_t*, char const**) /home/ebrahim/Desktop/harfbuzz/util/./options.hh:242:10 #8 0x55ed360b5d9c in shape_consumer_t<output_buffer_t>::consume_line(char const*, unsigned int, char const*, char const*) /home/ebrahim/Desktop/harfbuzz/util/./shape-consumer.hh:67:19 #9 0x55ed360b549f in main_font_text_t<shape_consumer_t<output_buffer_t>, 2147483647, 0>::main(int, char**) /home/ebrahim/Desktop/harfbuzz/util/./main-font-text.hh:81:16 #10 0x55ed360b4e23 in main /home/ebrahim/Desktop/harfbuzz/util/hb-shape.cc:189:17 #11 0x7f62bf104ee2 in __libc_start_main (/usr/lib/libc.so.6+0x26ee2) #12 0x55ed3608f7ad in _start (/home/ebrahim/Desktop/harfbuzz/util/.libs/lt-hb-shape+0xd7ad)
Ebrahim Byagowi e6909ee5 2019-09-18T22:12:25 minor
Ebrahim Byagowi bb41b74f 2019-09-18T00:55:24 Don't rely on undefined left shift of negative value behavior Fixes this -fno-sanitize-recover=undefined check, hb-ft.cc:869:27: runtime error: left shift of negative value -16384 #0 0x7ff8f47da843 in hb_ft_font_set_funcs /home/ebrahim/Desktop/harfbuzz/src/hb-ft.cc:869:27 #1 0x55f20a66c7d6 in font_options_t::get_font() const /home/ebrahim/Desktop/harfbuzz/util/options.cc:731:3 #2 0x55f20a668c1f in shape_consumer_t<output_buffer_t>::init(hb_buffer_t*, font_options_t const*) /home/ebrahim/Desktop/harfbuzz/util/./shape-consumer.hh:47:42 #3 0x55f20a668441 in main_font_text_t<shape_consumer_t<output_buffer_t>, 2147483647, 0>::main(int, char**) /home/ebrahim/Desktop/harfbuzz/util/./main-font-text.hh:75:14 #4 0x55f20a667f91 in main /home/ebrahim/Desktop/harfbuzz/util/hb-shape.cc:180:21 #5 0x7ff8f3df7ee2 in __libc_start_main (/usr/lib/libc.so.6+0x26ee2) #6 0x55f20a6427ad in _start (/home/ebrahim/Desktop/harfbuzz/util/.libs/lt-hb-shape+0xd7ad)
Ebrahim Byagowi b73313ad 2019-09-18T00:50:32 Don't seek of out-of-bound value even if the result is not used Fixes this -fno-sanitize-recover=undefined fail, /set/iter: hb-algs.hh:1016:60: runtime error: index 4294967295 out of bounds for type 'unsigned long long const[8]' #0 0x4d1e09 in hb_vector_size_t<unsigned long long, 64u>::operator[](unsigned int) const /home/user/code/harfbuzz/src/./hb-algs.hh:1016:60 #1 0x4d8b5f in hb_set_t::page_t::previous(unsigned int*) const /home/user/code/harfbuzz/src/./hb-set.hh:139:53 #2 0x4d0ada in hb_set_t::previous(unsigned int*) const /home/user/code/harfbuzz/src/./hb-set.hh:602:36 #3 0x4cd76f in hb_set_previous /home/user/code/harfbuzz/src/hb-set.cc:494:15 #4 0x4ca8af in test_set_iter /home/user/code/harfbuzz/test/api/test-set.c:310:3 #5 0x7f3a4f3e0f49 (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x72f49) #6 0x7f3a4f3e0e7a (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x72e7a) #7 0x7f3a4f3e1121 in g_test_run_suite (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x73121) #8 0x7f3a4f3e1140 in g_test_run (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x73140) #9 0x4c8894 in hb_test_run /home/user/code/harfbuzz/test/api/./hb-test.h:88:10 #10 0x4c8894 in main /home/user/code/harfbuzz/test/api/test-set.c:408:10 #11 0x7f3a4e3d2b96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310 #12 0x41e7d9 in _start (/home/user/code/harfbuzz/test/api/test-set+0x41e7d9)
Ebrahim Byagowi d8af9ee0 2019-09-18T00:47:55 Don't rely on nullptr deref recovery Fixes this -fno-sanitize-recover=undefined fail, /types/language: hb-common.cc:385:20: runtime error: member access within null pointer of type 'const struct hb_language_impl_t' #0 0x4caa34 in hb_language_to_string /home/user/code/harfbuzz/src/hb-common.cc:385:20 #1 0x4c9be8 in test_types_language /home/user/code/harfbuzz/test/api/test-common.c:205:3 #2 0x7f9557e72f49 (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x72f49) #3 0x7f9557e72e7a (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x72e7a) #4 0x7f9557e73121 in g_test_run_suite (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x73121) #5 0x7f9557e73140 in g_test_run (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x73140) #6 0x4c88a3 in hb_test_run /home/user/code/harfbuzz/test/api/./hb-test.h:88:10 #7 0x4c88a3 in main /home/user/code/harfbuzz/test/api/test-common.c:224:10 #8 0x7f9556e64b96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310 #9 0x41e7d9 in _start (/home/user/code/harfbuzz/test/api/test-common+0x41e7d9)
Ebrahim Byagowi bfb155a5 2019-09-18T00:44:52 Don't call memset when length is zero Fixes this -fno-sanitize-recover=undefined check, /buffer/positions/empty: hb-buffer.cc:327:11: runtime error: null pointer passed as argument 1, which is declared to never be null /usr/include/string.h:60:62: note: nonnull attribute specified here #0 0x4cf31c in hb_buffer_t::clear_positions() /home/user/code/harfbuzz/src/hb-buffer.cc:327:3 #1 0x4d4dd4 in hb_buffer_get_glyph_positions /home/user/code/harfbuzz/src/hb-buffer.cc:1418:13 #2 0x4cb553 in test_buffer_positions /home/user/code/harfbuzz/test/api/test-buffer.c:305:3 #3 0x7f324187bf49 (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x72f49) #4 0x7f324187be7a (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x72e7a) #5 0x7f324187be7a (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x72e7a) #6 0x7f324187c121 in g_test_run_suite (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x73121) #7 0x7f324187c140 in g_test_run (/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x73140) #8 0x4c8bd3 in hb_test_run /home/user/code/harfbuzz/test/api/./hb-test.h:88:10 #9 0x4c8bd3 in main /home/user/code/harfbuzz/test/api/test-buffer.c:884:10 #10 0x7f324086db96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310 #11 0x41e919 in _start (/home/user/code/harfbuzz/test/api/test-buffer+0x41e919)
Ebrahim Byagowi 5a1cc199 2019-09-18T00:43:44 [ci] Run -fno-sanitize-recover=undefined checks
Ebrahim Byagowi c930ae2b 2019-09-16T14:04:34 Avoid stdint.h in Kernel module compiles
Ebrahim Byagowi 412d6cac 2019-09-16T13:50:11 Extract an avoid errno compile flag
Ebrahim Byagowi 8a16d6f1 2019-09-15T20:43:33 [doc] fix minor typo
Ebrahim Byagowi aab279b3 2019-09-14T11:20:09 [ci] Install cmake on macOS cmake/amalgam tester
Ebrahim Byagowi f3214df6 2019-09-14T10:56:00 [coretext] Fix double promotion warnings by making casts explicit
Ebrahim Byagowi cbbb6fa4 2019-09-14T10:53:12 [ci] Don't build cmake tests in macOS bot
Ebrahim Byagowi 6e4736a3 2019-09-14T10:38:52 [name] Undef entry_{index,score} to avoid collision in amalgam builds
Ebrahim Byagowi d512087e 2019-09-14T10:36:29 Rename GlyphID to HBGlyphID Avoid collision with macOS's ATSUnicodeTypes.h GlyphID
Ebrahim Byagowi bf086110 2019-09-14T10:35:08 [ci] Update and compile cmake/amalgam on macOS bot
Behdad Esfahbod 229ef1d2 2019-09-10T10:31:07 Rename Fixed to HBFixed Fixes(!!) https://github.com/harfbuzz/harfbuzz/issues/1966
Behdad Esfahbod 170b5dd8 2019-09-08T16:34:11 [aat] Minor
Behdad Esfahbod a0695687 2019-09-08T16:32:12 [aat] Minor
Ebrahim Byagowi 4905a219 2019-09-09T12:36:12 [number] Add static to hb-number-parser.hh functions
Ebrahim Byagowi 30e5cdfb 2019-09-09T00:28:16 [number] Optimize _pow10 constants (#1963)
Behdad Esfahbod 3f2cdf07 2019-09-08T15:08:02 Change HB_VAR_ARRAY to 1 again To fix MSVC bots, while I work on changing this to 0 permanently.
Ebrahim Byagowi 39cf8e21 2019-09-07T15:27:30 [number] Add overflow checks used to be done in parse_bcd Which were removed in 1083df8
Ebrahim Byagowi 47d82713 2019-09-06T20:33:10 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.
Ebrahim Byagowi 80613e5b 2019-09-07T14:25:54 Minor, remove unused header
Behdad Esfahbod 5902198c 2019-09-06T21:36:31 [kerx] Fix offset issue in kern format 2 Fixes tests with HB_VAR_ARRAY != 1, as done in previous commit.
Behdad Esfahbod 861547d5 2019-09-06T16:55:00 Change HB_VAR_ARRAY from 1 to 0 Going to see which compilers it breaks and special-case those...
Behdad Esfahbod 0e294c45 2019-09-06T16:54:27 Rename VAR to HB_VAR_ARRAY
Behdad Esfahbod c379faed 2019-09-06T16:41:12 Fix a few struct size declarations Was wrong. As excercised by defining VAR to other than 1 in hb.hh.
Evgeniy Reizner 7d4da8b8 2019-09-06T19:24:32 Remove duplicated tests from test-ot-tag (#1958)
Behdad Esfahbod 3aceee25 2019-09-06T12:17:18 Revert "[null] Silence undefined-behavior complaints with too-small null bytes" This reverts commit 911c76abcdfe89770b252eb0d4eb621c0db00ad5. 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.
Behdad Esfahbod 911c76ab 2019-09-06T11:53:11 [null] Silence undefined-behavior complaints with too-small null bytes Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1577584
Behdad Esfahbod 3c81246f 2019-09-01T19:25:50 [subset] Use newer iter tools in SinglePosFormat1
Behdad Esfahbod 9510e918 2019-09-01T16:25:33 [iter] Partialize hb_zip()
Behdad Esfahbod 52d19ba4 2019-09-01T19:42:08 Minor
Ebrahim Byagowi cad69856 2019-09-04T10:59:19 Use roundf to fix cast to int difference of msys2 w64
Ebrahim Byagowi 88c73359 2019-09-04T11:16:18 Check roundf availibity in autotools Hmm, not sure how I missed it.
Ebrahim Byagowi 1083df8b 2019-09-04T01:22:21 Use hb_parse_double in CFF::dict_opset_t::parse_bcd
Ebrahim Byagowi 57f88e11 2019-09-04T01:20:50 [number] Turn hb_parse_float into hb_parse_double
Ebrahim Byagowi 65690b5a 2019-09-03T23:09:47 [number] Add whole buffer check and test it
Ebrahim Byagowi 3661eb61 2019-09-03T19:43:14 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.
Ebrahim Byagowi 3a162727 2019-09-03T17:19:33 [test] resolve msvc complain on signedness comparing
Ebrahim Byagowi 005389be 2019-09-03T17:00:46 Use hb_parse_uint in deserializer token parser
Ebrahim Byagowi 3d5b1df7 2019-09-03T16:58:16 [number] Add test
Ebrahim Byagowi b5e6805e 2019-09-03T15:23:40 [number] Minor tweak on parser related codes
Ebrahim Byagowi e2cecf1f 2019-09-03T15:14:21 [number] Remove parsing code duplication of the calls using lambda
Ebrahim Byagowi a77bb7eb 2019-09-03T14:49:14 Move hb_codepoint_parse to hb_parse_uint
Ebrahim Byagowi 43372fbb 2019-09-03T01:02:40 Merge and aggregate number parsing logics to form hb-number
Ebrahim Byagowi d50d2fcb 2019-09-03T05:02:06 Fallback if roundf didn't exist, like in dietlibc (#1953)
Ebrahim Byagowi d3b984d3 2019-09-02T18:18:25 Revert in-house pow10 (d80a3ea) and fix oss-fuzz/16922 Probably can be fixed but merging it was wrong so let's revert.
Ebrahim Byagowi 41d6e95b 2019-09-02T01:41:48 [subset] Use internal API of hb_set_t
Ebrahim Byagowi 8ccf328d 2019-09-02T00:02:06 [subset] Run once for a tag
Khaled Hosny 0954c8f7 2019-09-01T17:09:08 [ft] Prefer symbol cmap subtable if found (#1948) Similar to commit d304d60e4d49df14ed85d6646680085f27bafbf2 for ot-font.
Ebrahim Byagowi 43758587 2019-09-01T15:13:05 [editorconfig] Treat Ragel files also as C sources
Ebrahim Byagowi d80a3ea9 2019-09-01T14:05:16 [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.
Ebrahim Byagowi f441a7c0 2019-09-01T02:18:09 Don't allow reference blob be accessed using empty tag in hb_face_reference_table (#1947)
Behdad Esfahbod c9eb913f 2019-08-31T15:21:02 [iter] Simplify hb_chop()
Behdad Esfahbod 67ec9fa9 2019-08-31T14:51:49 [iter] Add hb_chop()
Behdad Esfahbod 5828d8e8 2019-08-31T14:36:44 [iter] Add hb_take() specialization for arrays
Behdad Esfahbod 398b296f 2019-08-31T12:44:24 [iter] Add hb_len()
Behdad Esfahbod 875131d4 2019-08-31T12:42:52 [iter] Add hb_take()
Behdad Esfahbod 1f88dae9 2019-08-31T12:24:42 [iter] Make iota() accept invokable for increasing to next item
Behdad Esfahbod 3bc86fb2 2019-08-30T16:39:52 [algs] Fix hb_inc/dec signature
Behdad Esfahbod b1378d8a 2019-08-30T12:10:45 [iter] Add hb_repeat()
Behdad Esfahbod 966a18b9 2019-08-30T12:07:17 [iter] Remove some &&
Behdad Esfahbod de45775c 2019-08-30T12:02:46 [iter] Use hb_ridentity instead of lazy +
Behdad Esfahbod ce4d63be 2019-08-30T11:59:50 [iter] Separate hb_iota implementation from hb_range
Behdad Esfahbod 814dc3cb 2019-08-30T10:20:30 [iter] Rename Moving towards making iota useful for non-integers.
Behdad Esfahbod 2d5643ae 2019-08-30T09:51:22 [algs] Add hb_inc() and hb_dec())
Behdad Esfahbod 7eafe947 2019-08-30T09:40:40 Revert "[array] Add chop()" This reverts commit 545fe9d9f0870568c40c17591f3f224c228feba6. Breaks gcc 4.8 and MSVC all versions. Will add hb_chop() that works on all iterators instead.
Ebrahim Byagowi 28c8dcb5 2019-08-31T12:27:14 [subset] minor
Behdad Esfahbod 545fe9d9 2019-08-29T15:48:21 [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.
Behdad Esfahbod c72589f1 2019-08-29T15:45:21 [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...
Behdad Esfahbod d58e248d 2019-08-29T15:23:48 [array] Add truncate() method
Behdad Esfahbod a06edf14 2019-08-29T15:21:18 [array] Use injected class name more
Behdad Esfahbod e0e0c8c1 2019-08-29T14:58:16 Minor
qxliu76 0313ef86 2019-08-29T14:09:05 bug fix in optimizing coverage table format (#1942) We are comparing number of shorts, NOT number of bytes.
Behdad Esfahbod 38f95baf 2019-08-29T13:40:46 [subset] in SingleSubst subsetting, check for substitute in glyphset That matches what fonttools does and allows for specifying exact glyphset for subset.
Ebrahim Byagowi 49902964 2019-08-29T15:09:39 [gsub] Fix clang's semicolon complains
Ebrahim Byagowi 28620310 2019-08-29T14:55:54 [test] Avoid alloca use as clang complain Fixes https://circleci.com/gh/harfbuzz/harfbuzz/108171 complain
Ebrahim Byagowi 875985cd 2019-08-29T14:51:22 [subset] Don't allow malicious fonts to insert unlimited table headers Fixes https://crbug.com/oss-fuzz/16810
Behdad Esfahbod dc9222b1 2019-08-28T15:38:46 [subset] Implement AlternateSubst subsetting
Behdad Esfahbod 23681b6d 2019-08-28T15:30:37 Minor
Behdad Esfahbod 33c8e230 2019-08-28T15:25:55 [subset] Implement MultipleSubst subsetting
Behdad Esfahbod 5c43a7ba 2019-08-28T15:09:58 [GSUB] Use dagger in Ligature::intersects()
Behdad Esfahbod b8c642c1 2019-08-28T15:06:45 Minor
Behdad Esfahbod dc2c9aa0 2019-08-28T15:05:49 Rename
Behdad Esfahbod bc5ef765 2019-08-28T14:51:28 [subset] Subset ligature substitutes! Test with: $ ./hb-subset -o out.ttf NotoSansArabic-Regular.ttf --drop-tables= سلام && ./hb-view out.ttf سلام
Behdad Esfahbod 42d887bd 2019-08-28T14:47:14 Beef up HeadlessArrayOf<> Should be merged with ArrayOf... https://github.com/harfbuzz/harfbuzz/issues/1937
Behdad Esfahbod 3ca809e3 2019-08-28T13:49:35 Add ArrayOf::pop()
Behdad Esfahbod 307bd6d7 2019-08-28T13:49:17 Add arithmetic operators to IntType<>
Behdad Esfahbod 2e1d00c8 2019-08-28T13:49:04 [debug] Minor