Ebrahim Byagowi
dc45f22521
[ot-metrics] Don't use mixed scaled and not scaled for generating extents
2019-10-08 23:27:39 +03:30
Ebrahim Byagowi
b068e25f8f
[glyf] Address Behdad's reviews
...
Addresses https://github.com/harfbuzz/harfbuzz/pull/1999#issuecomment-539298559
* Don't check against Null pool
* Remove cryptic _tt suffix
2019-10-08 16:29:19 +03:30
Ebrahim Byagowi
6961766db2
[glyf] fix scaling direction
2019-10-08 16:26:48 +03:30
Ebrahim Byagowi
0527fda4c7
minor
2019-10-08 16:19:39 +03:30
Ebrahim Byagowi
b2628f1a3e
[glyf] Move glyph bytes drop hints logic to GlyphHeader
2019-10-08 15:40:29 +03:30
Ebrahim Byagowi
1fb9c3b646
[glyf] Implement depth limit for add_gid_and_children
2019-10-08 15:40:29 +03:30
Ebrahim Byagowi
be0eddd418
[glyf] Move add_gid_and_children to glyf table
2019-10-08 15:40:29 +03:30
Ebrahim Byagowi
c7621cf211
Minor, replace hb_set_add with private API
2019-10-08 15:40:29 +03:30
Ebrahim Byagowi
ad86806dcb
[glyf] Move subset related methods inside GlyphHeader
2019-10-08 15:40:29 +03:30
Ebrahim Byagowi
7839e23558
[glyf] minor
2019-10-08 15:40:29 +03:30
Ebrahim Byagowi
cbefbb2439
[glyf] Move padding removal logic to GlyphHeader
2019-10-08 15:40:29 +03:30
Ebrahim Byagowi
1ab8f9aa7a
[glyf] minor
2019-10-08 15:40:29 +03:30
Ebrahim Byagowi
13fb5612ad
[glyf] Aggregate get_offsets uses
2019-10-08 15:40:29 +03:30
Ebrahim Byagowi
5179b96958
[cff] minor on number_t
2019-10-08 11:11:18 +03:30
Ebrahim Byagowi
d73cdcf361
[ot-font] Apply font scaling before turning to int
2019-10-08 11:11:18 +03:30
Ebrahim Byagowi
d7df7db160
Merge remote-tracking branch 'upstream/master' into var-subset
2019-10-06 17:18:59 +03:30
Ebrahim Byagowi
74a2dbbced
minor
2019-10-06 17:18:55 +03:30
Ebrahim Byagowi
f2339964b7
[glyf] minor, remove GlyphHeader::simple_* helpers
2019-10-06 16:58:38 +03:30
Ebrahim Byagowi
2d7ca6a76a
[glyf] Move get_instruction_length inside GlyphHeader struct
2019-10-06 16:58:38 +03:30
Ebrahim Byagowi
50aef4d7f8
[glyf] cleanup
2019-10-06 16:58:38 +03:30
Ebrahim Byagowi
ee3f4630d7
[glyf] Remove get_composite_iter and refactor bytes_for_glyph for shape uses
2019-10-06 16:58:38 +03:30
Ebrahim Byagowi
8378ab96e2
[glyf] Rewrite composite iterator to new iterators convention
2019-10-06 13:49:45 +03:30
Ebrahim Byagowi
100dbccaa5
Merge remote-tracking branch 'upstream/master' into var-subset
2019-10-06 09:18:22 +03:30
Ebrahim Byagowi
21c80d955f
[gvar] minor
2019-10-06 08:59:12 +03:30
Ebrahim Byagowi
5752863640
[glyf][gvar] Make HB_NO_VAR buildable
2019-10-06 08:59:12 +03:30
Ebrahim Byagowi
8e33510343
[gvar] minor
2019-10-06 08:59:12 +03:30
Ebrahim Byagowi
b3afa81644
[glyf] Use common convention of other tables access, format
2019-10-06 08:59:12 +03:30
Ebrahim Byagowi
88bd342c0f
[glyf] minor
2019-10-06 08:59:12 +03:30
Ebrahim Byagowi
ee7610181c
[hmtx] Use more conventional internal API style
2019-10-06 08:59:12 +03:30
Ebrahim Byagowi
c9577a630f
[hmtx] Use more optimal way to access glyf table
2019-10-06 08:59:12 +03:30
Michiharu Ariza
b9ff43c162
Implement gvar table and variable glyf
...
Split from Ariza's "[subset] TrueType/CFF2 variable font" work on #1594
2019-10-06 08:58:40 +03:30
Ebrahim Byagowi
79ec65ae10
[ot-font] Use var vmtx side bearing in calculating v-origin
2019-10-03 14:27:51 +03:30
Ebrahim Byagowi
19d45dcab7
Merge remote-tracking branch 'upstream/master' into var-subset
2019-10-03 13:39:17 +03:30
Ebrahim Byagowi
3fd555be54
[hmtx] Prepare to fix and minor fixes
2019-10-03 13:34:43 +03:30
Michiharu Ariza
6d09b5a8a0
Implement hmtx/vmtx metrics read from hvar/vvar
2019-10-03 13:34:43 +03:30
Ebrahim Byagowi
2d7221a0e3
[cff] minor
2019-10-01 15:05:02 +03:30
Ebrahim Byagowi
0558413f27
Minor, tweak spaces
2019-10-01 13:50:11 +03:30
Ebrahim Byagowi
51b720f686
Fix -Wsizeof-array-div clang warning
2019-10-01 12:40:41 +03:30
Behdad Esfahbod
faace9437e
Merge pull request #1807 from harfbuzz/subset-varstore
...
VariationStore serializer
2019-09-30 13:34:05 -07:00
Behdad Esfahbod
e48ef0804a
2.6.2
2019-09-30 12:39:06 -07:00
Behdad Esfahbod
d6ad613159
[docs] Misc fixes
2019-09-30 10:40:25 -07:00
Ebrahim Byagowi
2dce85ed06
[icu] Remove HB_ICU_STMT ( #1993 )
...
And ignore extra semicolon error to ICU versions < 65
2019-09-26 10:45:59 -07:00
Iceflower
d6a83abd6a
Define HB_UNUSED for clang
2019-09-26 14:12:20 +03:30
Iceflower
c4567968cd
[dwrite] Fix extra semicolon issue
2019-09-26 13:05:27 +03:30
Qunxin Liu
b0c3eb06b6
[subset] GPOS Lookup Type 3: CursivePos
2019-09-25 05:43:25 +09:00
Ebrahim Byagowi
68d39ea486
Revert previous change and fix -Wrange-loop-analysis complains
2019-09-24 13:52:46 +03:30
Ebrahim Byagowi
cbc0646a6c
Minor, normalize for each calls
2019-09-24 12:09:20 +03:30
Ebrahim Byagowi
22b6c6a5c7
[serialize] use for each as #resolve_links, format
2019-09-24 12:06:28 +03:30
Qunxin Liu
512551f276
memory leak fix in serializer ( #1988 )
2019-09-23 17:28:16 -07:00
Ebrahim Byagowi
f0a7677993
[gpos] minor
2019-09-23 21:09:39 +03:30
Ebrahim Byagowi
035ec3d1b4
[cmap] remove has_format14, minor format
...
fixes #1986
2019-09-23 20:51:43 +03:30
Ebrahim Byagowi
c1a585fab0
[gpos] minor
2019-09-21 23:36:29 +04:30
Ebrahim Byagowi
d87d38998a
Fix clang -Wrange-loop-analysis complains
...
./hb-ot-layout-gpos-table.hh:674:43: error: loop variable '_' is always a copy because the range of type 'hb_zip_iter_t<hb_iter_type<hb_array_t<const OT::IntType<unsigned short, 2> > &>, hb_iter_type<hb_array_t<const OT::IntType<unsigned short, 2> > &> >' (aka 'hb_zip_iter_t<hb_array_t<const OT::IntType<unsigned short, 2> >, hb_array_t<const OT::IntType<unsigned short, 2> > >') does not return a reference [-Werror,-Wrange-loop-analysis]
for (const hb_pair_t<Value, Value>& _ : hb_zip (val_iter, first_val_iter))
^
./hb-ot-layout-gpos-table.hh:674:12: note: use non-reference type 'hb_pair_t<OT::Value, OT::Value>' (aka 'hb_pair_t<IntType<unsigned short, 2>, IntType<unsigned short, 2> >')
for (const hb_pair_t<Value, Value>& _ : hb_zip (val_iter, first_val_iter))
and
In file included from hb-subset.cc:44:
./hb-ot-vorg-table.hh:87:34: error: loop variable '_' is always a copy because the range of type 'hb_map_iter_t<hb_filter_iter_t<hb_sorted_array_t<const OT::VertOriginMetric>, const hb_set_t *, OT::HBGlyphID OT::VertOriginMetric::*, nullptr>, (lambda at ./hb-ot-vorg-table.hh💯 15), hb_function_sortedness_t::NOT_SORTED, nullptr>' does not return a reference [-Werror,-Wrange-loop-analysis]
for (const VertOriginMetric& _ : it)
^
./hb-ot-vorg-table.hh:113:17: note: in instantiation of function template specialization 'OT::VORG::serialize<hb_map_iter_t<hb_filter_iter_t<hb_sorted_array_t<const OT::VertOriginMetric>, const hb_set_t *, OT::HBGlyphID OT::VertOriginMetric::*, nullptr>, (lambda at ./hb-ot-vorg-table.hh💯 15), hb_function_sortedness_t::NOT_SORTED, nullptr>, nullptr>' requested here
vorg_prime->serialize (c->serializer, it, defaultVertOriginY);
^
./hb-ot-vorg-table.hh:87:10: note: use non-reference type 'OT::VertOriginMetric'
for (const VertOriginMetric& _ : it)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-09-21 17:52:01 +04:30
Ebrahim Byagowi
6e42a418c8
Minor, turn more of hb_apply to for each
2019-09-21 17:52:01 +04:30
Ebrahim Byagowi
385741d565
[cmap] Turn hb_apply into foreach where possible
2019-09-21 15:33:02 +04:30
Ebrahim Byagowi
1023c2cc6d
[cmap] minor
2019-09-21 15:33:02 +04:30
Ebrahim Byagowi
ead46eefe3
minor, use internal API instead public hb_set_has
2019-09-21 15:33:02 +04:30
Ebrahim Byagowi
d8af4e7701
[cmap] minor, turn 8 spaces to tab
2019-09-21 15:33:02 +04:30
Qunxin Liu
4315666283
[subset] updates according to review comments
2019-09-20 07:55:11 +09:00
Qunxin Liu
2583afa0eb
[subset] subsetting cmap14
2019-09-20 07:55:11 +09:00
Qunxin Liu
078ddbd0f6
[subset] glyph closure for CMAP14
2019-09-20 07:55:11 +09:00
Ebrahim Byagowi
bbe878006d
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)
2019-09-18 23:16:52 +04:30
Ebrahim Byagowi
e6909ee58d
minor
2019-09-18 23:16:52 +04:30
Ebrahim Byagowi
bb41b74fd1
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)
2019-09-18 23:16:52 +04:30
Ebrahim Byagowi
b73313ade7
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)
2019-09-18 23:16:52 +04:30
Ebrahim Byagowi
d8af9ee017
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)
2019-09-18 23:16:52 +04:30
Ebrahim Byagowi
bfb155a5f1
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)
2019-09-18 23:16:52 +04:30
Ebrahim Byagowi
c930ae2bd8
Avoid stdint.h in Kernel module compiles
2019-09-17 20:58:32 +04:30
Ebrahim Byagowi
412d6cac3a
Extract an avoid errno compile flag
2019-09-17 20:58:13 +04:30
Ebrahim Byagowi
8a16d6f1c1
[doc] fix minor typo
2019-09-15 20:43:33 +04:30
Ebrahim Byagowi
f3214df6f6
[coretext] Fix double promotion warnings by making casts explicit
2019-09-14 11:55:53 +04:30
Ebrahim Byagowi
6e4736a3c5
[name] Undef entry_{index,score} to avoid collision in amalgam builds
2019-09-14 11:55:53 +04:30
Ebrahim Byagowi
d512087e4d
Rename GlyphID to HBGlyphID
...
Avoid collision with macOS's ATSUnicodeTypes.h GlyphID
2019-09-14 11:55:53 +04:30
Behdad Esfahbod
229ef1d29d
Rename Fixed to HBFixed
...
Fixes(!!) https://github.com/harfbuzz/harfbuzz/issues/1966
2019-09-10 10:31:07 -07:00
Behdad Esfahbod
170b5dd856
[aat] Minor
2019-09-09 10:52:54 -04:00
Behdad Esfahbod
a0695687eb
[aat] Minor
2019-09-09 10:52:54 -04:00
Ebrahim Byagowi
4905a2198b
[number] Add static to hb-number-parser.hh functions
2019-09-09 13:14:42 +04:30
Ebrahim Byagowi
30e5cdfbf1
[number] Optimize _pow10 constants ( #1963 )
2019-09-09 00:28:16 +04:30
Behdad Esfahbod
3f2cdf07a4
Change HB_VAR_ARRAY to 1 again
...
To fix MSVC bots, while I work on changing this to 0 permanently.
2019-09-08 15:08:02 -04:00
Ebrahim Byagowi
39cf8e21be
[number] Add overflow checks used to be done in parse_bcd
...
Which were removed in 1083df8
2019-09-07 15:27:30 +04:30
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
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
Ebrahim Byagowi
cad698568a
Use roundf to fix cast to int difference of msys2 w64
2019-09-04 11:18:37 +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
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
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
Behdad Esfahbod
42d887bd22
Beef up HeadlessArrayOf<>
...
Should be merged with ArrayOf...
https://github.com/harfbuzz/harfbuzz/issues/1937
2019-08-28 14:47:14 -07:00
Behdad Esfahbod
3ca809e362
Add ArrayOf::pop()
2019-08-28 13:49:35 -07:00
Behdad Esfahbod
307bd6d79f
Add arithmetic operators to IntType<>
2019-08-28 13:49:17 -07:00
Behdad Esfahbod
2e1d00c85b
[debug] Minor
2019-08-28 13:49:04 -07:00
Behdad Esfahbod
062cad5e28
Add ArrayOf::serialize_append
2019-08-28 13:48:55 -07:00
Adrian Wong
b66076812d
Adjustments to the generated Indic table output ( #1936 )
...
* Add empty parentheses after print call
* Minor: newlines. Move #pragma pop down one; #endif up one
* Adjust #define ISC/IMC output
* Regenerate Indic table
2019-08-28 04:31:27 -07:00
Ebrahim Byagowi
4ef08dbce1
Use hb_bytes_t as<T> in hb_blob_t
2019-08-27 17:38:09 +04:30
Ebrahim Byagowi
dce42cef2b
[glyf] Move GlyphHeader::from_bytes to hb_bytes_t, introduce .as<T> ()
2019-08-27 17:38:09 +04:30
Ebrahim Byagowi
6e82d59b4f
[glyf] Revert the way indexToLocFormat is set
2019-08-27 12:33:42 +04:30
Ebrahim Byagowi
88e9db19d2
[subset] Remove subset table size assertion
...
As https://github.com/harfbuzz/harfbuzz/pull/1930#issuecomment-525036802
2019-08-27 02:44:26 +04:30
Ebrahim Byagowi
a0b4ac4dce
Turn 8 spaces to tab across the project
...
According to the current code style of the project
2019-08-27 02:40:41 +04:30
Ebrahim Byagowi
269a120f13
[subset] Raise the bar in new vs old table size
...
https://crbug.com/oss-fuzz/16740
This is actually an interesting thing that {h,v}mtx allocates as
much as a font pretends to have glyphs but the solution is not
that obvious as regular fonts can have less than actually containing
metrics in their {h,v}mtx. This change raises the bar to consider this
hmtx 4 byte for every glyph case.
Initially we wanted to just find things allocating crazy amount of
memory but having the assert has led to interesting findings also
so let's don't remove the assert and see what we can find elsewhere.
2019-08-25 20:37:00 +04:30
Ebrahim Byagowi
2f8e823331
[glyf] minor
2019-08-25 12:37:40 +04:30
Ebrahim Byagowi
07e467a30e
[glyf] Move GlyphHeader size checking to a static method
2019-08-25 01:10:37 +04:30
Ebrahim Byagowi
139d14dc89
[glyf] Move GlyphHeader related logics to its, making its fields protected
2019-08-24 17:50:25 +04:30
Ebrahim Byagowi
d57819cbdb
[glyf] format source
2019-08-24 17:00:54 +04:30
Ebrahim Byagowi
2aef3013f3
[subset] Consider instruction length place itself
...
Now fixes https://crbug.com/oss-fuzz/16639 completely
2019-08-24 16:11:21 +04:30
Ebrahim Byagowi
922898c814
[subset] Fail on table grow more than 16x+4096
2019-08-24 16:11:21 +04:30
Ebrahim Byagowi
28aba780c4
[subset] Fix blob leak of _subset2 when returns early
...
Fixes https://crbug.com/oss-fuzz/16639
2019-08-24 16:11:21 +04:30
Behdad Esfahbod
541f3c2d7d
[debug] Fix extra semicolon issue
...
https://github.com/harfbuzz/harfbuzz/issues/1923
2019-08-23 12:25:58 -07:00
Behdad Esfahbod
4dcaca8411
Whitespace
2019-08-23 12:24:15 -07:00
Behdad Esfahbod
569426d861
[debug] Fix build with HB_DEBUG
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1923
2019-08-23 11:54:39 -07:00
Behdad Esfahbod
be97e9d678
2.6.1
2019-08-22 15:52:24 -07:00
Behdad Esfahbod
d304d60e4d
[ot-font] Prefer symbol cmap subtable if found
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1918
Hopefully doesn't break anyone...
2019-08-21 12:30:22 -07:00
Ebrahim Byagowi
2a3d4987a7
Remove hb_directwrite_shape_experimental_width public API
...
I had specially exposed the API as I didn't know how to embed harfbuzz
easily elsewhere but now with harfbuzz.cc it has become very easy
and I don't like to see its use anywhere as it has a bad naming and
its Kashida adding is bogus and only useful to check where it should
be added, not visually useful however.
2019-08-21 03:02:01 +04:30
Behdad Esfahbod
aaa85931f3
[font] Update multipliers when creating sub_font
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1910
2019-08-20 13:06:10 -07:00
Ebrahim Byagowi
bbad1b8298
[trak] minor, use roundf instead round to normalize the use
...
The change to `round` wasn't intended
2019-08-20 14:46:48 +04:30
Ebrahim Byagowi
37de38adea
Merge branch 'master' into remove-coretext-96dpi-assumption
2019-08-20 12:59:33 +04:30
Behdad Esfahbod
5ee1e451cf
Minor touch-up for recent change
2019-08-19 14:23:17 -07:00
Ebrahim Byagowi
3348992844
[avar] Implement inverse map, unmap
2019-08-19 14:22:15 -07:00
Ebrahim Byagowi
981f5a54c3
[fvar] Implement inverse normalize, unnormalize
2019-08-19 14:22:15 -07:00
Behdad Esfahbod
dcb4cd400f
Minor
2019-08-19 11:35:37 -07:00
Ebrahim Byagowi
ca54440324
Remove continuous development helper script
...
Not have used it personally for a long time, lets remove it
2019-08-18 11:58:04 +04:30
Khaled Hosny
40aef1b473
[ot-shape] Keep horizontal_features array sorted
2019-08-16 02:17:32 +02:00
Khaled Hosny
da5118da77
[ot-shape] Enable abvm/blwm features by default
...
Core Text seems to apply them to Latin text, but Uniscribe doesn’t.
See https://github.com/harfbuzz/harfbuzz/pull/1908#issuecomment-521819343
2019-08-16 02:17:32 +02:00
Khaled Hosny
2164bd6f29
[ot-shape] Enable dist feature by default ( #1908 )
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1907
2019-08-16 00:28:41 +02:00
Ebrahim Byagowi
bc27f86ffe
Move HB_NO_VAR to a better place in hb-font.cc
...
Needed for other works
2019-08-14 22:37:00 +04:30
Ebrahim Byagowi
1cc844da66
minor
...
Use hb_font_t coords directly
2019-08-14 19:10:02 +04:30
Ebrahim Byagowi
6a194b6876
Minor, remove trailing spaces in hb-font.{cc,h} as .editorconfig
2019-08-14 18:49:57 +04:30
Ebrahim Byagowi
3ae44645d6
Fix caret_count value when AAT is disabled
...
Set caret_count to zero as that is what we want to happen inside lcar when
there is no result.
2019-08-14 17:58:30 +04:30
Ebrahim Byagowi
a5aa67b9f2
[lcar] Use multiformat convention
2019-08-14 17:58:30 +04:30
Ebrahim Byagowi
bfffe85dd7
[opbd] Use multiformat convention on the table
2019-08-14 15:45:57 +04:30
Ebrahim Byagowi
d6206dbcc4
[opbd] Turn OpticalBounds fields to FWORD
2019-08-14 15:45:57 +04:30
Behdad Esfahbod
6461143b44
2.6.0
2019-08-13 22:20:54 -07:00
Behdad Esfahbod
e56d4ff43b
Rename hb_ot_meta_get_entries() to +hb_ot_meta_get_entry_tags()
2019-08-13 21:02:47 -07:00
Behdad Esfahbod
aade9b70aa
[pool] Fix alignment assertion
...
I *think* it should fix https://github.com/harfbuzz/harfbuzz/issues/1901
Ie. if on a system, alignof(void*) < sizeof(void*)...
2019-08-13 16:10:03 -07:00
Ebrahim Byagowi
60d9f00975
Implement opbd table parsing
...
https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6opbd.html
2019-08-11 16:15:19 +04:30
Ebrahim Byagowi
8762676e34
[os2] Replace null pool addr compare by checking vital fields ( #1896 )
2019-08-10 01:26:55 +04:30
Ebrahim Byagowi
1f926fb2b6
[fvar] Use roundf instead hardcoding round logic
2019-08-09 11:05:48 -07:00
Ebrahim Byagowi
60485ab047
[os2] Get defined lower/upper optical size
2019-08-07 23:23:06 +04:30
Qunxin Liu
321d5588d4
[subset] Add subsetting for GPOS Lookup Type 1: Single Adjustment Positioning Subtable
2019-08-06 14:06:35 -07:00
Qunxin Liu
37572882e7
[subset] cmap table to use _subset2 and new iterator frameworks
2019-08-05 11:26:34 -07:00
Ebrahim Byagowi
5848c890cf
[metrics] Add metrics tags documentation
2019-08-03 14:19:28 +04:30
Ebrahim Byagowi
4d1872b8e0
[base] Add documentation for baseline tags from ot spec
2019-08-03 14:06:46 +04:30
Ebrahim Byagowi
bbeee84a7f
[meta] Add metadata tags documentation from ot spec
2019-08-03 13:47:55 +04:30
Michiharu Ariza
6b3e093911
Merge branch 'master' into var-subset
2019-07-31 16:04:48 -07:00
Michiharu Ariza
07f27accb9
Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset
2019-07-31 14:58:53 -07:00
Ebrahim Byagowi
521c7013ab
[cpal] revert port to dagger
...
It has a different semantic, maybe we should just do a zero memset,
letting Behdad to decide.
2019-07-30 18:10:40 +04:30
Ebrahim Byagowi
8014ce198a
[cpal] port to dagger ( #1887 )
2019-07-30 17:31:34 +04:30
Ebrahim Byagowi
d67201da5a
[colr] minor
2019-07-30 17:20:18 +04:30
Ebrahim Byagowi
e5cf9718c0
[colr][feat][meta] Port sub_array iteration to dagger ( #1868 )
2019-07-30 04:44:23 +04:30
Ebrahim Byagowi
9f2b4956b4
[base] Add hb_ot_layout_get_baseline API
2019-07-30 04:42:51 +04:30
Ebrahim Byagowi
40a4b6ddbd
[var] Add a new API, hb_font_set_var_named_instance
2019-07-29 16:23:47 -07:00
Ebrahim Byagowi
b6a2281f1a
[meta] Make values match their enum type naming
2019-07-30 03:48:23 +04:30
Ebrahim Byagowi
20072a2eca
[metrics] Make values match their enum type naming
2019-07-30 03:48:23 +04:30
Ebrahim Byagowi
ed2965a852
[base] Don't use enum inside the table
2019-07-30 03:34:10 +04:30
Ebrahim Byagowi
388fa9b326
[lcar] flip for and switch position
2019-07-29 15:19:33 -07:00
blueshade7
f0dd724c1e
Merge branch 'master' into subset-varstore
2019-07-29 14:21:05 -07:00
blueshade7
6e3bfecf35
Merge branch 'master' into var-subset
2019-07-29 12:25:43 -07:00
Ebrahim Byagowi
4e1da6bb61
[metrics] Rename hb_ot_metrics_t to hb_ot_metrics_tag_t
2019-07-29 22:43:09 +04:30
Ebrahim Byagowi
2c2a2b97db
[meta] Rename hb_ot_meta_t to hb_ot_meta_tag_t
2019-07-29 22:43:09 +04:30
Behdad Esfahbod
7bcc5dfa97
[iter] Fix accumulate to accept const types
2019-07-28 20:55:50 -07:00
Ebrahim Byagowi
87454c447d
[base] fix logic
2019-07-28 20:46:47 +04:30
Ebrahim Byagowi
69655d5bc3
[base] minor
2019-07-28 20:39:20 +04:30
Ebrahim Byagowi
d9c44e7239
[base] Check if the returned base_coord is valid
2019-07-28 20:35:32 +04:30
Ebrahim Byagowi
53853c044a
[meta] minor
2019-07-28 20:23:48 +04:30
Ebrahim Byagowi
ed126d8c37
[base] fix build
2019-07-28 20:21:59 +04:30
Ebrahim Byagowi
c7b22b96cc
[base] minor
2019-07-28 19:46:57 +04:30
Ebrahim Byagowi
a157342fce
[base] Fix use of bsearch
2019-07-28 18:54:13 +04:30
Ebrahim Byagowi
eddd456532
[base] minor spacing
2019-07-28 02:21:54 +04:30
Behdad Esfahbod
0a18efd766
Minor
2019-07-26 14:34:26 -07:00
Ebrahim Byagowi
d3d99f8bb6
[metrics] Expose raw OS2/HHEA asc/dsc values using private tags ( #1867 )
2019-07-26 16:46:04 +04:30
Ebrahim Byagowi
aaffe41094
[meta] minor, simplify iterator
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
62932c14bd
[meta] Rename ot-metadata to ot-meta per review
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
821d9e9034
Use .sub_array for DataMap tags iteration
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
a250af98ae
[meta] Add max value to hb_ot_metadata_t
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
80e246a1f2
[meta] Add a test program for metadata
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
bc65ebbce7
[meta] hb_ot_metadata_get_entries, tags iteration API
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
3ac03bd67c
[meta] New API, hb_ot_metadata_reference_entry for fetching meta entries
2019-07-25 17:49:51 -07:00
Ebrahim Byagowi
aab8e08487
minor spacing fix ( #1869 )
2019-07-26 02:19:22 +04:30
Ebrahim Byagowi
d791446a93
[feat] minor
2019-07-26 02:12:06 +04:30
Ebrahim Byagowi
a744fdc6c8
Add _MAX_VALUE to hb_ot_metrics_t ( #1861 )
2019-07-25 14:49:02 +04:30
Ebrahim Byagowi
069872c51b
minor
2019-07-25 14:27:43 +04:30
Ebrahim Byagowi
737eb85a4e
Add _MAX_VALUE to disabled baseline types enum
2019-07-25 14:26:30 +04:30
Ebrahim Byagowi
dd9a0ed3f0
Replace 0x7FFFFFFFu in enums with HB_TAG_MAX_SIGNED
2019-07-24 00:47:19 +04:30
blueshade7
5988ab8a4e
Merge branch 'master' into var-subset
2019-07-22 14:36:16 -07:00
Ebrahim Byagowi
636ae42237
minor, comment out meta table in list till its use
2019-07-22 22:50:21 +04:30
Khaled Hosny
04c11a19b7
Merge pull request #1851 from khaledhosny/fix-sbix-extents
...
Fix sbix glyph extents
2019-07-22 16:44:47 +02:00
Ebrahim Byagowi
41ab56e095
Implement meta table parsing
2019-07-22 18:46:52 +04:30
Ebrahim Byagowi
a51aa951b5
[metrics] Fix _get_variation API to works with actual coord values
2019-07-22 18:35:55 +04:30
Behdad Esfahbod
77141dff7d
[metrics] _-prefix internal symbol
2019-07-22 07:48:32 -04:00
Behdad Esfahbod
89228ccb9a
Fix warning on IBM compilers
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1852
2019-07-22 07:07:37 -04:00
Khaled Hosny
c9796d15e1
Fix sbix glyph extents
...
* The ‘height’ needs to be negated since the API returns “distance from
top to bottom side”.
* Similarly, the ‘y_offset‘ needs to be added to the height to get the
‘y_bearing’, since sbix’s offset is “the point in the glyph relative
to its lower-left corner which corresponds to the origin” while
‘y_bearing’ is the “top side of glyph from origin”.
With these changes the sbix glyph metrics return values similar to other
tables, as they were otherwise unusable.
2019-07-22 05:42:34 +02:00
Ebrahim Byagowi
759f3bd486
[metrics] Don't use metrics API in _common
...
As it is exposed with a different condition
2019-07-22 02:06:07 +04:30
Ebrahim Byagowi
eb8bd2f7ec
Add hb_gdi_face_create API
...
Based on Konstantin Ritt work posted on mailing list
2019-07-21 14:22:19 -07:00
Ebrahim Byagowi
3d03bb84d4
[metrics] minor, tweak comment
2019-07-21 12:38:04 +04:30
Behdad Esfahbod
e540d402f6
[docs] Minor
2019-07-20 12:09:34 -07:00
Ebrahim Byagowi
00e13985fb
Revert hhea fallback to OS/2 to its reverse way
...
As searching number of hhea having fonts beats the number of OS/2
having ones in macOS 10.14.2
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
c13ef9cc64
Bring back asc/desc abs logic used to be in hmtx table
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
772e62688c
Make HB_TINY builds work again by separating the always needed part
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
cb70433740
Merge _get_position_internal into _get_position
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
ac3518af58
Define post table only when used
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
471f798ace
Merge ot-metrics-internal.cc with ot-metrics now that isn't needed in subset
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
29444d7e9f
Don't cache ascender/descender metrics
2019-07-20 12:09:26 -07:00
Ebrahim Byagowi
5e28c2654d
[doc] minor, improve hb-ot-metrics doc a bit
2019-07-20 14:08:11 +04:30
Ebrahim Byagowi
08b48e89d3
[os2] minor spacing tweaks
2019-07-20 12:53:40 +04:30
Ebrahim Byagowi
54b9ab704d
Fallback hhea's ascender/descender to OS2
2019-07-20 12:51:38 +04:30
Behdad Esfahbod
ec8dde8142
[metrics] Fall back to hhea if OS2 metrics are empty
...
Reinstates previous logic, even if it might be unnecessary.
2019-07-19 11:14:20 -07:00
Ebrahim Byagowi
2e5b49d11d
Add HB_NO_METRICS and fix HB_TINY build ( #1839 )
2019-07-19 11:41:07 +04:30
Behdad Esfahbod
2bd953ff4f
[metrics] Fix weird use of xor
...
I believe that was a try to use one approach as fallback to other. But
felt wrong. Just believe what's in OS/2 table to be correct.
2019-07-18 14:25:45 -07:00
Behdad Esfahbod
9675a067bf
[ot-metrics] Touch up
2019-07-18 14:16:11 -07:00
Ebrahim Byagowi
87e628436e
Implement a simple API for fetching opentype metrics
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/1432
2019-07-18 14:15:58 -07:00
David Corbett
ed67efcc8c
Revert "[Myanmar] Prevent reordering between Asat and Dot below"
...
This reverts commit 1c8654ead4
.
2019-07-18 10:42:20 -07:00
blueshade7
a76d8b0d55
Merge commit '504bb17287c978d60a4a515555852465319f74ed' into var-subset
2019-07-17 14:12:06 -07:00
Behdad Esfahbod
6157bbe512
Revert "Revert previous change"
...
This reverts commit b8e90ca1a1
.
Works now.
2019-07-17 11:20:08 -07:00
Behdad Esfahbod
576065b442
[iter] Fix reduce type deduction
2019-07-17 11:19:34 -07:00
Ebrahim Byagowi
b8e90ca1a1
Revert previous change
...
Interestingly all of the bots disagreed with the change and the complain is... weird.
2019-07-17 21:38:19 +04:30
Ebrahim Byagowi
ee05627aff
Improve syntax to make out linux-arm64 a little happy
...
Decided to apply is we did the same on other places however this won't
fix all of its complains
2019-07-17 21:28:25 +04:30
Ebrahim Byagowi
6a6bf7b7bc
Downgrade -Wdeprecated-declarations to warning
...
Fixes #1834 at least till fix of #1829
2019-07-17 21:22:38 +04:30
Behdad Esfahbod
25e2562fdf
[amalgam] Fix redundant-declaration warning/error
2019-07-17 09:35:56 -07:00
Ali Javadi
c184180228
Fix C++20 compile warning on implicit capture of this with '=' default capture ( #1833 )
...
Happens when compiled with -std=c++2a, the fix just makes the captures explicit to resolve the issue. Just adding this in addition to = doesn't work in C++11.
src/hb-ot-layout-gpos-table.hh:737:18: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
{ return (this+_).intersects (glyphs, valueFormat); })
^
src/hb-ot-layout-gpos-table.hh:736:16: note: add an explicit capture of 'this' to capture '*this' by reference
| hb_map ([=] (const OffsetTo<PairSet> &_)
^
, this
2019-07-16 22:10:24 +04:30
Ebrahim Byagowi
1f94388516
[usp] define atfree callback only if used
2019-07-16 11:24:29 +04:30
blueshade7
68ac767e43
added skip(), get_next_value() to inc_bimap to subset VarStore with retain-gids
2019-07-12 23:02:29 -07:00
blueshade7
670768e5b9
fix inc-bimap for subsetting VarStore with retain-gids
2019-07-12 16:14:23 -07:00
Behdad Esfahbod
4730b350b7
Revert "Update Graphite API to latest ( #1215 )"
...
This reverts commit e4e74c2751
.
See https://github.com/harfbuzz/harfbuzz/issues/1829
2019-07-12 15:38:35 -07:00
Ebrahim Byagowi
7a9d643c29
Fix unintialized memory read in cmap subset ( #1826 )
2019-07-11 01:35:07 +04:30
Ebrahim Byagowi
a6065d05cf
Don't call memcpy when a table is empty
2019-07-10 23:38:07 +04:30
blueshade7
0eef8113d8
retain gids in HVAR so in sync with fontTools
...
regenerate Comfortaa subset test results
2019-07-09 11:43:59 -07:00
Michiharu Ariza
a87fbb872b
Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset
2019-07-09 10:25:54 -07:00
blueshade7
6e35668b45
fix var-subset build
2019-07-09 09:47:54 -07:00
blueshade7
8bf989ea70
update from master
2019-07-08 17:13:29 -07:00
Dominik Röttsches
2e7021da7d
Revert "Minor" - revert moving extern "C" definitions in-function
...
This reverts commit 62e60322cb
since it
breaks building HarfBuzz as part of Chromium.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1821 .
2019-07-08 10:51:47 +03:00
Behdad Esfahbod
f18ea1dd3a
[font] Remove division when scaling
...
Yoohoo. This seems to be precise enough! Let's see if it sticks.
I'm asking Dominik to run this in Chrome test suite and report.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1801
2019-07-05 13:56:45 -07:00
Behdad Esfahbod
b847769292
[font] Keep font-space to user-space multiplier
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1801
2019-07-05 13:52:09 -07:00
Behdad Esfahbod
df6edcd44c
Make face immutable in hb_font_set_face()
2019-07-05 13:45:15 -07:00
Behdad Esfahbod
0d425e1eea
[ot-font] Optimize rounding
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1801
The assumption that compiler optimizes "upem/2" to a shift only
works if upem is unsigned... Anyway, spoon-feed the compiler.
2019-07-05 13:42:02 -07:00
Simon Sapin
ffa736f151
hb_set_previous_range docs: fix presumed copy/paste error
2019-07-05 08:09:25 -07:00
Simon Sapin
641f337380
Docs typo fix: slower → lower
2019-07-05 08:09:09 -07:00
Ebrahim Byagowi
9fea6b4dd4
[amalgam] Use it in cmake port and fix conflicts ( #1812 )
2019-07-05 18:46:41 +04:30
Behdad Esfahbod
b240d701fd
[amalgam] Include integration source files as well
...
Just for those that are normally built into libharfbuzz itself.
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-03 12:17:57 -07:00
Behdad Esfahbod
d515242045
[amalgam] Rename hb.cc to harfbuzz.cc
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-03 12:10:03 -07:00
Behdad Esfahbod
4cb180d227
Revert "Use constexpr to replace passthru_ bools"
...
This reverts commit c4aa10ebc8
.
Broke several compilers... Sigh. The version without constexpr
didn't fully optimize out the unreachable code on clang.
So, revert it is...
2019-07-02 19:44:18 -07:00
Behdad Esfahbod
c4aa10ebc8
Use constexpr to replace passthru_ bools
2019-07-02 19:15:03 -07:00
Behdad Esfahbod
2e48fd0779
Sprinkle constexpr around
...
Being conservative. Also not sure it makes any real difference
in our codebase.
2019-07-02 17:55:58 -07:00
Behdad Esfahbod
df4448064e
Remove unused 'inline' specifier
2019-07-02 17:11:09 -07:00
Behdad Esfahbod
04a4957040
[amalgam] Add hb.cc to git
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1809
2019-07-02 16:19:18 -07:00