Behdad Esfahbod
95265aeab7
[array] Remove copy constructor
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1502
2018-12-21 15:12:55 -05:00
Behdad Esfahbod
69d232eaea
Fix bot
...
C:\projects\harfbuzz\src\hb-uniscribe.cc(709): error C2666: 'hb_vector_t<OPENTYPE_FEATURE_RECORD,8>::operator +': 3 overloads have similar conversions [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
2018-12-21 15:08:06 -05:00
Behdad Esfahbod
b9a51f5310
Minor
2018-12-21 15:05:00 -05:00
Behdad Esfahbod
bdb6da7226
[iter] Fix test again
2018-12-21 11:20:27 -05:00
Behdad Esfahbod
e952075248
Minor
2018-12-21 11:15:16 -05:00
Behdad Esfahbod
35503d7d73
[iter] More prototyping
2018-12-21 03:03:46 -05:00
Behdad Esfahbod
73c7a896d1
[iter] Make hb_fill() and hb_copy() take iterators
...
I'm still going back and force...
2018-12-21 02:48:28 -05:00
Behdad Esfahbod
12e506fda4
[iter] Add hb_fill()
2018-12-21 02:47:04 -05:00
Behdad Esfahbod
ad3ed58de5
[iter] Start prototyping hb_copy()
2018-12-21 02:25:58 -05:00
Behdad Esfahbod
44af738d19
[iter] Showcase implicit casts
2018-12-21 01:59:37 -05:00
Behdad Esfahbod
879faa2aee
Rename
2018-12-21 01:57:40 -05:00
Behdad Esfahbod
aeb696a91c
[iter] Rename
2018-12-21 01:57:02 -05:00
Behdad Esfahbod
8001e00a47
[iter] First sample use
2018-12-21 01:53:27 -05:00
Behdad Esfahbod
19d2b5013d
[iter] Add bidirectionality
2018-12-21 01:20:04 -05:00
Behdad Esfahbod
314d8698d0
[iter] Sketch new iterator design
2018-12-21 01:15:49 -05:00
Behdad Esfahbod
f6d5f1e91c
[iter] Add empty test
2018-12-21 00:23:46 -05:00
Behdad Esfahbod
b80b97b549
Revert "Remove unused hb-iter.hh"
...
This reverts commit 969ff3c7aa
.
2018-12-21 00:08:05 -05:00
Behdad Esfahbod
a728c63a98
[vector] Add operator bool
2018-12-20 23:15:49 -05:00
Behdad Esfahbod
bd36977392
Rename
2018-12-20 23:14:24 -05:00
Behdad Esfahbod
e6ebc9b6f8
Remove unused typedef
2018-12-20 23:13:36 -05:00
Behdad Esfahbod
4941e95f10
2.3.0
2018-12-20 21:48:57 -05:00
Behdad Esfahbod
87f7c83fff
[serializer] Add operator <<
...
Not sure if we are going to use it. But might incentivize us to.
2018-12-20 15:54:17 -05:00
Behdad Esfahbod
5b70074edf
Add hb_assign(obj, value)
2018-12-20 15:38:59 -05:00
Behdad Esfahbod
6124123393
[serialize] Adjust ClassDef
...
[skip ci]
2018-12-20 12:26:44 -05:00
Behdad Esfahbod
4220b7bdd7
Fix code on big-endian gcc / clang
...
Ouch! We need a bigendian bot...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1498
2018-12-20 11:48:45 -05:00
Behdad Esfahbod
c87ee72232
Minor [skip ci]
2018-12-19 22:28:16 -05:00
Behdad Esfahbod
5000a59a63
[saitnize] Minor
2018-12-19 22:27:09 -05:00
fanc999
3ee4ea9456
Fix build on older Visual Studio versions ( #1499 )
...
* src/hb-cff-interp-dict-common.hh: Use ull for unsigned int64_t
The llu suffix does not work for older Visual Studio versions
(pre-2013), but ull works for all the compilers that we attempt to
support.
* test/api: Fix build on pre-C99 compilers
Ensure variables are declared at the top of the block.
* src/hb-dsalgs.hh: Add specialization for hb_is_signed<> for __int8
Pre-Visual Studio 2010 does not consider __int8 (which is typedef'ed to
int8_t) to be equivilant to signed char, so the compiler cannot find the
corresponding hb_is_signed<> specialization that is needed.
The interesting thing is unsigned __int8 is considered to be equivilant
to unsigned char, so as the other types (short, int, long) that we look
for here, so only the specialization for __int8 is added here.
This will fix builds on Visual Studio 2008 at least.
2018-12-19 22:26:54 -05:00
Behdad Esfahbod
a62870506d
[sanitize] Use hb_static_size instead of ::static_size
...
https://github.com/harfbuzz/harfbuzz/issues/1496#issuecomment-448818112
2018-12-19 21:05:00 -05:00
Ebrahim Byagowi
0c9cd5d5f4
[test] Fix test-name-table.cc leak issue
...
Spotted it accidentally but wanted to see if is anything serious so went for fixing it
2018-12-19 21:18:30 +03:30
Behdad Esfahbod
3d9d7dc4dd
[arrays] Add hb_ubytes_t for unsigned char
2018-12-18 22:11:23 -05:00
Behdad Esfahbod
f1e95e40ed
[arrays] Remove hb_supplier_t<>
2018-12-18 16:49:08 -05:00
Behdad Esfahbod
f9417af29b
[serialize] Propagate error from hb-face
2018-12-18 13:23:32 -05:00
Behdad Esfahbod
9aebfb4182
[serialize] Streamline error propagation
2018-12-18 13:22:17 -05:00
Behdad Esfahbod
969ff3c7aa
Remove unused hb-iter.hh
...
The ideas there are all part of hb-array.hh now. To be determined how we
want to use generic iterator patterns.
2018-12-17 22:43:00 -05:00
Behdad Esfahbod
b1094fc2d2
[arrays] Minor tweaks to hb_supplier_t
...
I think I like to keep this hb_supplier_t thing separately from hb_array_t.
2018-12-17 22:41:04 -05:00
Behdad Esfahbod
cf39c24205
[arrays] Rename Supplier to hb_supplier_t
2018-12-17 22:36:23 -05:00
Behdad Esfahbod
6b5eaa7530
Hide hb_addressof()
2018-12-17 21:55:33 -05:00
Behdad Esfahbod
6befa75cdf
Enable __builtin_* on clang
...
We'll see which old clang versions this breaks...
2018-12-17 20:35:45 -05:00
Behdad Esfahbod
8d2d410256
Add hb_addressof() and use it to fix bug after hb_bytes_t merge
...
We cannot take address hb_bytes_t direction. We need to use the
newly added hb_addressof(), ala std::addressof().
2018-12-17 20:23:26 -05:00
Behdad Esfahbod
49334f9b50
Enable system extensions in hb.hh
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1491
2018-12-17 18:27:36 -05:00
prrace
37c14bc745
Fix Solaris use after free ( #1495 )
2018-12-17 17:59:37 -05:00
Behdad Esfahbod
483f2491e4
Remove define GNU_SOURCE
...
Not needed. We get it in our config.h automatically thanks to
AC_USE_SYSTEM_EXTENSIONS. Let's see whose build it breaks...
If we end up putting it back, we should add other things from
that macro and remove the macro.
2018-12-17 17:56:10 -05:00
Behdad Esfahbod
87ff65aea1
Fix more warnings
2018-12-17 17:19:54 -05:00
prrace
f9d219a174
Fix Solaris Trailing comma in enum warnings ( #1490 )
2018-12-17 17:18:47 -05:00
Ebrahim Byagowi
244a8627f7
Lower coretext_aat shaper priority ( #1488 )
...
Related to https://github.com/harfbuzz/harfbuzz/issues/1478
2018-12-17 13:01:43 -05:00
Ebrahim Byagowi
e412008599
Remove redundant void from C++ sources ( #1486 )
2018-12-17 13:01:01 -05:00
Ebrahim Byagowi
7ace10078c
Minor, fix two more ArrayOf incorrect operator logic
2018-12-17 20:07:04 +03:30
Behdad Esfahbod
a1240383aa
[arrays] Minor fix
2018-12-17 10:44:14 -05:00
Behdad Esfahbod
381c3548e9
[array] Add cast operator to add const to Type
...
In lieu of constructor removed in previous commit.
2018-12-17 00:39:30 -05:00
Behdad Esfahbod
15acf33c22
[array] Remove problematic constructor
2018-12-17 00:38:13 -05:00
Behdad Esfahbod
470369a871
[array] Add arithmetic operators
2018-12-17 00:21:38 -05:00
Behdad Esfahbod
6cd60c2f2a
[array] Return Crap instead of Null if Type is not const
...
Ouch!
2018-12-17 00:09:06 -05:00
Behdad Esfahbod
94e72cf1c9
[array] Add operator *
2018-12-17 00:06:40 -05:00
Behdad Esfahbod
68d4a5eee0
[array] Add constructor from fixed-size array
2018-12-17 00:02:42 -05:00
Behdad Esfahbod
a4354d2fd3
[array] Organize
2018-12-16 23:57:27 -05:00
Behdad Esfahbod
84c1865821
[arrays] Reduce Supplier<> even further
2018-12-16 23:52:17 -05:00
Behdad Esfahbod
1bcc4fc9f3
Whitespace
2018-12-16 23:47:56 -05:00
Behdad Esfahbod
f85f6e815f
[array] Add operator +=
2018-12-16 23:45:07 -05:00
Behdad Esfahbod
7c0e3e9b2b
[array] Add constructor from hb_array_t<const Type>
2018-12-16 23:43:17 -05:00
Behdad Esfahbod
92680361ec
[arrays] Move Supplier<> to hb-array.hh
2018-12-16 23:38:51 -05:00
Behdad Esfahbod
2a3fa3f82f
[arrays] Remove unnecessary constructor from Supplier<>
...
Looks like operator hb_array_t<> from vector works here. :)
2018-12-16 23:33:03 -05:00
Behdad Esfahbod
507cac4943
[arrays] Start moving Supplier<> to hb_array_t<>
2018-12-16 23:31:19 -05:00
Behdad Esfahbod
1e2c98126e
[arrays] Remove unused stride from Supplier
2018-12-16 22:31:16 -05:00
Behdad Esfahbod
0d0fe9df46
[arrays] Remove need of stride in Supplier<>
2018-12-16 22:31:13 -05:00
Behdad Esfahbod
dcfa4a8d71
[array] Remove custom hb_bytes_t implementation
2018-12-16 22:31:13 -05:00
Behdad Esfahbod
3656f56d47
[arrays] Minor
2018-12-16 22:31:13 -05:00
Behdad Esfahbod
aa8f94714e
[array] Minor
2018-12-16 22:31:13 -05:00
Behdad Esfahbod
5a552f7546
[array] Move hb_array_t and related types to hb-array.hh
2018-12-16 22:31:10 -05:00
Behdad Esfahbod
01d06e34ff
Minor change to explicit_operator aesthetics
2018-12-16 14:27:43 -05:00
Ebrahim Byagowi
b2ebaa9afa
Remove redundant 'inline' from methods ( #1483 )
2018-12-16 14:08:10 -05:00
Behdad Esfahbod
7251c77290
Whitespace
2018-12-15 21:00:55 -05:00
Behdad Esfahbod
829b56b1a2
Whitespace
2018-12-15 16:20:13 -05:00
Behdad Esfahbod
42a1012562
[subset] Actually subset GDEF
2018-12-13 19:39:59 -05:00
Behdad Esfahbod
c9c746c7f6
[subset] Fix up ClassDef some more
2018-12-13 18:39:30 -05:00
Behdad Esfahbod
7ee6128902
[subset] Fix ClassDefFormat1 subsetting
2018-12-13 18:32:04 -05:00
Behdad Esfahbod
1b6d0c44b3
[subset] Sketch GDEF subsetting
2018-12-13 18:10:48 -05:00
Behdad Esfahbod
705e2f5056
[subset] Implement for ClassDef
2018-12-13 17:48:42 -05:00
Behdad Esfahbod
6e33a3955d
Minor
2018-12-13 16:40:01 -05:00
Behdad Esfahbod
cc65901ca7
[serialize] Implement for ClassDef
2018-12-13 16:01:45 -05:00
Behdad Esfahbod
e5309e4fd8
[serialize] Implement for ClassDefFormat2
2018-12-13 15:57:12 -05:00
Behdad Esfahbod
c8b43cbe31
[serialize] Implement for ClassDefFormat1
2018-12-13 15:53:00 -05:00
Behdad Esfahbod
5761031329
[subset] Minor
2018-12-12 21:21:26 -05:00
Michiharu Ariza
798e98c47b
[CFF] bad offset in Index ( #1476 )
...
* Update hb-ot-cff-common.hh
* fix bug
* bummer fix wasn't hit. refix
* additional sanity check
* Added test cases for oss-fuzz issues 11805, 11806
2018-12-12 21:08:15 -05:00
Michiharu Ariza
bcb4ecaf68
[CFF] check out of range FD index ( #1477 )
...
* add fd index checks to subr subsetter
also added oss-fuzz test case
* undid SubrSubsetParam::is_valid
because already validated by SubrClosures.valid
2018-12-12 20:36:01 -05:00
Behdad Esfahbod
2cc993e035
[dispatch] Minor
2018-12-12 10:07:38 -05:00
Behdad Esfahbod
602fbfe3c9
[sanitize] Fix sanitizing sublookup array
2018-12-12 09:56:47 -05:00
Behdad Esfahbod
c78e4784fb
[dispatch] Minor
2018-12-12 09:50:18 -05:00
Behdad Esfahbod
f9d211af1d
Revert "Minor fix re sanitize of Lookup subtables"
...
This reverts commit 7146718bef
.
Fixing differently.
2018-12-12 09:44:30 -05:00
Ebrahim Byagowi
7ee5c52345
minor style fix, use void in methods on no argument
2018-12-12 15:14:37 +03:30
Behdad Esfahbod
7146718bef
Minor fix re sanitize of Lookup subtables
...
We were dereferencing Null pointers and trying to sanitize them,
which is not necessary...
2018-12-11 23:44:29 -05:00
Behdad Esfahbod
ce069d1932
Minor
2018-12-11 23:07:48 -05:00
Behdad Esfahbod
1aea869446
[subset] Map glyphs during SingleSubst subsetting
...
Ha!
2018-12-11 22:53:58 -05:00
Behdad Esfahbod
41d1a1c10f
[subset] Minor
2018-12-11 22:48:27 -05:00
Behdad Esfahbod
2aba2c6c73
[serialize] Break down assert
2018-12-11 21:21:13 -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
333586245c
minimize use of assert: removed or changed to error handling ( #1467 )
2018-12-11 15:20:20 -05:00
👻
9f3a51ddb9
[ucdn] Fix header
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1470
2018-12-11 13:38:05 -05:00
Ebrahim Byagowi
1683bb2c93
[glyf] minor
2018-12-08 13:57:39 +03:30
Ebrahim Byagowi
f7cfe99815
[os2] Move typometrics detection logic to the table ( #1465 )
2018-12-08 13:40:44 +03:30
Ebrahim Byagowi
47cf9a9633
Apply non-controversial parts of ot-style ( #1464 )
...
Things to be used in https://github.com/harfbuzz/harfbuzz/pull/1459
2018-12-08 10:20:25 +03:30
Michiharu Ariza
4d809696ef
fix for issue #1447 ( #1462 )
...
Added case for OpCode_BaseFontName. This opcode in spec but practically unused.
Added a comment for default case which can't be hit
2018-12-07 20:49:39 -08:00
Ebrahim Byagowi
1abd4fcaec
[fdsc] minor
2018-12-07 22:34:12 +03:30
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
Behdad Esfahbod
20245f0000
Fix likely check
...
Ouch!
2018-12-06 10:27:37 -08:00
Behdad Esfahbod
d866e905fd
Add default value to first argument of sub_array()
2018-12-06 10:26:32 -08:00
Behdad Esfahbod
f1352f7486
Add sub_array to hb_vector_t
2018-12-06 10:21:17 -08:00
Behdad Esfahbod
ca23b71935
Add default-value for second arg of sub_array()
2018-12-06 10:21:17 -08:00
Michiharu Ariza
1ccbdcf73b
Merge branch 'master' into cff-check-blends
2018-12-05 21:37:38 -08:00
Michiharu Ariza
14d29a1043
check number of blends against args on stack
2018-12-05 21:33:29 -08:00
Ebrahim Byagowi
f95324a335
Merge pull request #1457 from harfbuzz/cff-varstore-sanitize
...
[CFF] oss-fuzz issue 11713 (CFF2VariationStore::serialize)
2018-12-06 08:33:44 +03:30
Michiharu Ariza
c31092ab34
sanitize variationStore in CFF2 against its size
2018-12-05 17:04:55 -08:00
Michiharu Ariza
34e3ef8ff3
Merge branch 'master' into cff-subr-sanitize
2018-12-05 15:50:05 -08:00
Behdad Esfahbod
d9dabc00e9
Merge pull request #1454 from harfbuzz/cff-fixbcd
...
[CFF] fix oss-fuzz issue 11674: parse_bcd
2018-12-05 15:39:34 -08:00
Michiharu Ariza
6dcfda92c1
sanitize CFF1 & CFF2 global subrs
2018-12-05 15:07:46 -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
2cb9d4c183
Merge branch 'master' into cff-fixbcd
2018-12-05 11:25:29 -08:00
Michiharu Ariza
a5fa843c74
fixed a bug with fractional part in a negative value
2018-12-05 11:18:16 -08:00
Ebrahim Byagowi
8394a6cb25
[os2] Make newer table fields accessible ( #1452 )
2018-12-05 15:23:41 +03:30
Ebrahim Byagowi
5ab086ebb1
[fdsc] Implement the table parsing
...
Related to https://github.com/harfbuzz/harfbuzz/issues/1337
May used in addition to an API related to STAT.
Lots of Apple fonts have it.
2018-12-05 14:48:31 +03:30
Ebrahim Byagowi
8f80e53341
[gasp] Implement the table parsing
...
May or may not be used in https://github.com/harfbuzz/harfbuzz/pull/1432
2018-12-05 14:48:31 +03:30
Ebrahim Byagowi
79e7e3445e
Merge pull request #1449 from harfbuzz/cff-fixcharset
...
[CFF] fix for oss-fuzz 11657: Charset overrun
2018-12-05 13:25:18 +03:30
Ebrahim Byagowi
cf4b7db6b1
Merge pull request #1448 from harfbuzz/cff-leak
...
[CFF] fix leak: oss-fuzz 11662
2018-12-05 13:23:23 +03:30
Michiharu Ariza
620d1ef588
fix unsigned long const
2018-12-05 00:36:11 -08:00
Michiharu Ariza
28dfb4c142
fix signed/unsigned comparison
2018-12-05 00:26:03 -08:00
Michiharu Ariza
f9cee08edd
use sized int types in parse_bcd
2018-12-04 23:58:26 -08:00
Michiharu Ariza
c01a5f32a3
refix
2018-12-04 23:23:23 -08:00
Michiharu Ariza
755fefc921
fix bug
2018-12-04 23:18:28 -08:00
Michiharu Ariza
0e81b153af
fix typo
2018-12-04 22:40:07 -08:00
Michiharu Ariza
85d4b15cd8
include float.h
2018-12-04 22:30:33 -08:00
Michiharu Ariza
5a7c371e4c
check overflow & clamp
2018-12-04 22:24:38 -08:00
Michiharu Ariza
32cc46c75a
[CFF] fix oss-fuzz issue 11670: NULL dereference ( #1450 )
...
* guard against no subr access
* code tweak
* add minimized testcase for oss-fuzz 11670 (Null deference)
2018-12-05 09:02:34 +03:30
Michiharu Ariza
d3d2f32c6e
fix oss-fuzz 11657: buffer overrun
...
Check overrun in Charset1_2::get_glyph
2018-12-04 13:51:26 -08:00
Ebrahim Byagowi
d0a250a7b1
Reuse hb_aat_layout_has_* logic in coretext-aat detection logic ( #1442 )
2018-12-04 23:42:13 +03:30
Michiharu Ariza
803d2f92dc
Merge branch 'master' into cff-leak
2018-12-04 11:01:26 -08:00
Michiharu Ariza
6ce8d10b45
add unlikely to error handling
2018-12-04 10:39:17 -08:00
Michiharu Ariza
0b952e6026
more leak fixes
2018-12-04 10:22:35 -08:00
Michiharu Ariza
9473463f5c
fix attempt for oss-fuzz 11662 leak
2018-12-04 09:58:48 -08:00
Michiharu Ariza
04f2ca9421
removed assert
2018-12-04 09:24:07 -08:00
Behdad Esfahbod
c968869f21
Merge pull request #1441 from harfbuzz/cff-doublenum
...
use double as CFF Number implementation
2018-12-04 04:14:13 -05:00
Michiharu Ariza
c48f53d309
more double changes
2018-12-03 16:59:41 -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
Ebrahim Byagowi
01f628cf55
[aat] Expose hb_aat_layout_has_tracking API
2018-12-03 22:27:26 +03:30
Behdad Esfahbod
d19b1680b5
[aat] Expose a couple APIs
...
New API:
+hb_aat_layout_has_substitution()
+hb_aat_layout_has_positioning()
2018-12-03 10:41:37 -05:00
Behdad Esfahbod
84efe0438e
[aat] Fix division sign fallout
...
Happened after 11d2f49af8
since now nClasses is unsigned int...
2018-12-02 12:39:14 -05:00
Behdad Esfahbod
2087f5a2a7
Add casts to hb_array_t<>
2018-12-01 20:04:45 -05:00
Behdad Esfahbod
58d4d19947
Simplify build source list
2018-12-01 19:34:18 -05:00
Behdad Esfahbod
11d2f49af8
New approach to change BigEndian casts to be int-sized
...
Fixes spurious warnings like:
Fixes https://github.com/harfbuzz/harfbuzz/issues/1436
2018-12-01 13:12:21 -05:00
Behdad Esfahbod
50e0273ab1
Change hb_assert_unsigned_t<> to hb_is_signed<>
2018-12-01 13:07:49 -05:00
Behdad Esfahbod
c3a8b047aa
Revert "Change BigEndian casts to be int-sized"
...
This reverts commit eb5ddd32bf
.
Broke tests, badly. To be investigated and reenabled.
2018-12-01 00:26:39 -05:00
Behdad Esfahbod
be45677ab6
Minor
2018-12-01 00:04:29 -05:00
Behdad Esfahbod
eb5ddd32bf
Change BigEndian casts to be int-sized
...
Fixes spurious warnings like:
Fixes https://github.com/harfbuzz/harfbuzz/issues/1436
2018-12-01 00:03:01 -05:00
Behdad Esfahbod
e8860fdcaa
Fix more warning
2018-11-30 23:38:24 -05:00
Behdad Esfahbod
af349ee348
Fix warning
2018-11-30 23:20:50 -05: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
Behdad Esfahbod
a2e8d1d455
Minor
2018-11-30 22:54:20 -05:00
Behdad Esfahbod
5e64e0f532
Merge pull request #1113 from harfbuzz/cff-subset
...
CFF/CFF2 subsetter
2018-11-30 22:40:54 -05:00
Bruce Mitchener
09096aa89f
Use nullptr instead of 0/NULL. ( #1435 )
...
* Use nullptr instead of 0/NULL.
* Update test-name-table.cc
2018-11-30 22:22:49 -05:00
Michiharu Ariza
d8c6913765
undo 0u
2018-11-30 18:58:14 -08:00
Michiharu Ariza
2c859b3880
Merge branch 'master' into cff-subset
2018-11-30 18:47:34 -08:00
Behdad Esfahbod
fb05908213
Revert ugly fixes
...
Now that we have 6daf45e0, revert cryptic hacks...
This reverts commit abd81ed4f5
.
This reverts commit 9c6921c08c
.
This reverts commit d39760cabf
.
This reverts commit fedd8e6c17
.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
2018-11-30 20:56:15 -05:00
Behdad Esfahbod
dfad19ad5a
Make operator [] take signed int
...
The built-in operator takes signed int. So, match it, such that
the built-in is never a better or equally-good match to our operator.
Fixes "ambiguous overload" errors from gcc 4.2 and VS 2008.
See https://github.com/harfbuzz/harfbuzz/issues/1374
2018-11-30 20:56:14 -05:00
Michiharu Ariza
9483da145d
redo fixes
2018-11-30 16:59:41 -08:00
Michiharu Ariza
291da44823
yet another
2018-11-30 16:50:46 -08:00
Michiharu Ariza
b1821b9d09
some more
2018-11-30 16:31:01 -08:00
Michiharu Ariza
9784cff556
fix another pesky gcc error
2018-11-30 16:07:08 -08:00
Michiharu Ariza
23a797b443
silence picky gcc errors
2018-11-30 15:15:31 -08:00
Michiharu Ariza
9ae954f43a
Merge branch 'master' into cff-subset
2018-11-30 15:00:52 -08:00
Behdad Esfahbod
fedd8e6c17
One more.........
...
I wonder if there's something better to do about these :(.
In file included from hb-ot-color.cc:31:
hb-ot-color-cpal-table.hh: In member function 'unsigned int OT::CPAL::get_size() const':
hb-ot-color-cpal-table.hh:118: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
2018-11-30 16:50:30 -05:00
Behdad Esfahbod
bc5db9b080
One more....
...
hb-ot-vorg-table.hh:96: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-vector.hh:87: note: candidate 1: const Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) const [with Type = OT::VertOriginMetric, unsigned int PreallocedCount = 8u]
hb-ot-vorg-table.hh:96: note: candidate 2: operator[](const T*, int) <built-in>
2018-11-30 16:04:52 -05:00
Behdad Esfahbod
d39760cabf
One more...
...
Sigh.
hb-ot-kern-table.hh: In member function 'int OT::KernSubTableFormat3<KernSubTableHeader>::get_kerning(hb_codepoint_t, hb_codepoint_t) const':
hb-ot-kern-table.hh:59: error: ambiguous overload for 'operator[]' in 'kernValue[kernIndex[i]]'
hb-ot-kern-table.hh:59: note: candidates are: operator[](T*, int) <built-in>
hb-dsalgs.hh:574: note: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::IntType<short int, 2u>]
2018-11-30 15:55:30 -05:00
Behdad Esfahbod
9c6921c08c
More...
...
hb-ot-layout-gsubgpos.hh:1707: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
...
2018-11-30 15:16:57 -05:00
Behdad Esfahbod
f998bb2086
More weird fixes
...
In file included from hb-ot-name.cc:29:
hb-ot-name-table.hh: In member function 'unsigned int OT::name::get_size() const':
hb-ot-name-table.hh:157: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-open-type.hh:354: note: candidate 1: const Type& OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type = OT::NameRecord]
hb-ot-name-table.hh:157: note: candidate 2: operator[](const T*, int) <built-in>
hb-ot-name-table.hh: In member function 'void OT::name::accelerator_t::init(hb_face_t*)':
hb-ot-name-table.hh:196: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-dsalgs.hh:574: note: candidate 1: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::NameRecord]
hb-ot-name-table.hh:196: note: candidate 2: operator[](T*, int) <built-in>
hb-ot-name-table.hh:197: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-dsalgs.hh:574: note: candidate 1: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::NameRecord]
hb-ot-name-table.hh:197: note: candidate 2: operator[](T*, int) <built-in>
hb-ot-name-table.hh:198: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-dsalgs.hh:574: note: candidate 1: Type& hb_array_t<Type>::operator[](unsigned int) const [with Type = const OT::NameRecord]
hb-ot-name-table.hh:198: note: candidate 2: operator[](T*, int) <built-in>
make[4]: *** [libharfbuzz_la-hb-ot-name.lo] Error 1
make[3]: *** [all-recursive] Error 1
2018-11-30 12:52:21 -05:00
Behdad Esfahbod
abd81ed4f5
Umm. Cryptic, yes
...
In file included from hb-face.cc:35:
hb-ot-cmap-table.hh: In member function 'void OT::CmapSubtableFormat4::_compiles_assertion_on_line_388() const':
hb-ot-cmap-table.hh:388: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-open-type.hh:354: note: candidate 1: const Type& OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type = OT::IntType<short unsigned int, 2u>]
hb-ot-cmap-table.hh:388: note: candidate 2: operator[](const T*, int) <built-in>
hb-ot-cmap-table.hh: In member function 'void OT::CmapSubtableFormat4::_instance_assertion_on_line_388() const':
hb-ot-cmap-table.hh:388: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-open-type.hh:354: note: candidate 1: const Type& OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type = OT::IntType<short unsigned int, 2u>]
hb-ot-cmap-table.hh:388: note: candidate 2: operator[](const T*, int) <built-in>
hb-face.cc: In function 'hb_blob_t* _hb_face_builder_data_reference_blob(hb_face_builder_data_t*)':
hb-face.cc:650: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:650: note: candidate 2: operator[](T*, int) <built-in>
hb-face.cc:650: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:650: note: candidate 2: operator[](const T*, int) <built-in>
hb-face.cc:651: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:651: note: candidate 2: operator[](T*, int) <built-in>
hb-face.cc:651: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u]
hb-face.cc:651: note: candidate 2: operator[](const T*, int) <built-in>
2018-11-30 11:52:41 -05:00
Behdad Esfahbod
0f32c95e14
Fix a few more sizeof(vector[0]) errors with weird compilers
2018-11-30 11:31:39 -05:00
Behdad Esfahbod
88630a458b
Fix build for realz
2018-11-30 01:11:04 -05:00
Behdad Esfahbod
346286d04e
Fix build
2018-11-30 00:44:40 -05:00
Behdad Esfahbod
31f39cb41e
[post] Rename v2 to v2X
2018-11-30 00:38:08 -05:00
Behdad Esfahbod
e3dd47e602
Move things
2018-11-30 00:32:12 -05:00
Behdad Esfahbod
27a6b0a2f7
Fix build for realz
2018-11-29 16:29:30 -05:00
Behdad Esfahbod
e2af4dd1ec
[uniscribe] Fix build
2018-11-29 16:03:24 -05:00
Ebrahim Byagowi
e7bd29ea11
Limit __builtin_bswap16 to GCC >= 5 as it was implemented on 4.8
2018-11-29 23:47:20 +03:30
Behdad Esfahbod
ac0264717b
[coretext] Fix compile
...
Fingers crossed.
2018-11-29 15:07:44 -05:00
Behdad Esfahbod
5c4fead734
Convert "static const hb_tag_t" constants to enum
2018-11-29 15:05:47 -05:00
Behdad Esfahbod
9e4138c825
Convert misc "static const" constants to enum
2018-11-29 15:01:10 -05:00
Behdad Esfahbod
44cbd2ea3d
Convert "static const bool" constants to anonymous enum
2018-11-29 14:56:27 -05:00
Behdad Esfahbod
861bc75349
[vector] Make pointer cast explicit
...
Too bad this doesn't help MSVC 2008 build, as explicit operators are
C++11.
2018-11-29 14:34:44 -05:00
Behdad Esfahbod
72955e6825
Hand-hold older compilers
2018-11-29 14:28:44 -05:00
Behdad Esfahbod
000d4b128e
Make shaper's override_features() override user features as well
...
The override_features is used to override features that are normally
discretionary features, but in a specific shaper are for various
reasons desired to be bolted on or off, because they've been used
for inherent shaping. As such, it makes sense that they also
override user features. Ie. if user turned 'liga' on, we don't
want Khmer shaping to become broken... Or turn 'clig' off...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1310
2018-11-29 12:32:47 -05:00
Behdad Esfahbod
a95d9d8c84
[khmer] Move 'clig' to overrides
...
Prerequisite for https://github.com/harfbuzz/harfbuzz/issues/1310
2018-11-29 12:32:04 -05:00
Behdad Esfahbod
282ce7230b
Fix "typename outside template" issues
...
Nothing an extra template class wouldn't fix...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1419
2018-11-29 12:18:14 -05:00
Behdad Esfahbod
dc41ecef85
2.2.0
2018-11-29 11:53:53 -05:00
Behdad Esfahbod
7b85081be4
[icu] Minor
2018-11-29 11:34:22 -05:00
Behdad Esfahbod
0bcb1de126
Merge pull request #1418 from gvictor/replace_icu_deprecated
...
Replace @Deprecated ICU API - USCRIPT_CODE_LIMIT
2018-11-29 10:39:18 -05:00
Michiharu Ariza
471db3aa6f
workaround for issue #1417
2018-11-28 17:06:11 -08:00
Michiharu Ariza
32d291ae89
Merge branch 'master' into cff-subset
2018-11-28 16:27:45 -08:00
Behdad Esfahbod
42a2b496e4
[kerx] Fix Format2 index calc again
2018-11-28 15:24:30 -05:00
Behdad Esfahbod
a3267cf803
[kern] Fix kern table Format2 offsetToIndex
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1421
2018-11-28 15:06:01 -05:00
Behdad Esfahbod
f9a9c0fd1e
[kerx] Fix ClassTable implementation for 'kern' table Format 2
2018-11-28 14:51:56 -05:00
Behdad Esfahbod
5b4a789ca8
[aat] Towards adding two ClassTable's
2018-11-28 14:49:45 -05:00
Behdad Esfahbod
987f418772
Merge pull request #1398 from Adenilson/bigInt01
...
Optimize harfbuzz big integer conversions
2018-11-27 17:40:32 -05:00
Behdad Esfahbod
4e2a03b6b6
Comment
2018-11-27 17:40:09 -05:00
Adenilson Cavalcanti
4a719a7f4c
Optimize harfbuzz big integer conversions
...
Profiling showed that type conversions were adding considerable cycles in time
spent doing text shaping.
The idea is to optimize it using native processor instructions to help Blink
layout performance.
Doing further investigation revelead that compilers may not use the
proper instruction on ARM 32bits builds (i.e. REV16).
One way to insure that the generated ASM was ideal for both gcc/clang
was using __builtin_bswap16.
Added bonus is that we no longer need to test for CPU architecture.
2018-11-27 13:43:05 -08:00
Victor Chang
a85886fc77
Replace @Deprecated ICU API - USCRIPT_CODE_LIMIT
...
Use of the deprecated API USCRIPT_CODE_LIMIT prevents harfbuzz
using the ICU4C as a shared library.
The API has been replaced by u_getIntPropertyMaxValue(UCHAR_SCRIPT)
2018-11-27 11:51:45 +00:00
Behdad Esfahbod
574d888c8a
[aat] Ignore GSUB table of Muthu Foundry if they have morx table
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1410
2018-11-25 16:51:22 -05:00
Behdad Esfahbod
4151c2848d
[GDEF] Move more code
2018-11-25 16:38:36 -05:00
Behdad Esfahbod
4f21703f22
[GDEF] Move code around
2018-11-25 15:59:18 -05:00
Behdad Esfahbod
4ed9fb1a00
[GDEF] Minor
2018-11-25 15:53:20 -05:00
Behdad Esfahbod
926f512f35
[aat.feat] Rework API and implementation
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/1346
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
84dacbca7e
[aat.feat] Add _MAX_VALUE to enums
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
3922aae162
[aat.feat] Minor
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
0f8e98eca2
[aat.feat] Whitespace
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
c225606833
[aat.feat] Port to SortedUnsizedArrayOf.bsearch()
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
52ae9867ef
[AAT.feat] Use lsearch for looking up SettingName's
...
They are not sorted.
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
44b9331f66
[aat] Fix include issues
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
b206133d1f
[aat] Move contents of hb-aat.h to hb-aat-layout.h
...
Since it was pages and pages...
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
2cb235d021
[aat.feat] Fix enum namespace
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
712762cabb
Minor
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
e20f81f4fa
[aat] Rename feat API a bit more
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
54f4c17f0a
[feat] Rename API uses of setting to selector
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
9c64b216ec
[feat] Apply renamings and add documentation
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
a8726cb483
[feat] Use bsearch
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
4009a05ca7
[feat] Address Behdad comments
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
19b6025534
[feat] Address @behdad comments
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
9212ec203c
[feat] Complete feature types list
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
fbad794bd2
[feat] Add feature iteration API
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
7a0471aa35
[feat] Turn AAT feature id into enum
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
b233fa4bc9
[feat] Rename records to selectors as @drott
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
a157b3e4eb
[feat] Apply @behdad comments
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
3aff3f822f
[feat] Apply @drott and @jfkthame comments
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
b791bbbae4
[feat] Apply @jfkthame reviews
2018-11-25 01:16:01 -05:00
Ebrahim Byagowi
95abd53758
[feat] Expose public API
...
* hb_aat_get_feature_settings
2018-11-25 01:16:01 -05:00
Behdad Esfahbod
9326912941
[kerx] Fix crash
2018-11-25 00:27:23 -05:00
Behdad Esfahbod
6ee401049d
Simplify sanitize set_object() / fix bots
2018-11-25 00:21:13 -05:00
Behdad Esfahbod
c5a6b355e1
[kerx] Port to hb_sanitize_with_object_t
2018-11-24 23:49:23 -05:00
Behdad Esfahbod
c405ed0509
[morx] Port to hb_sanitize_with_object_t
2018-11-24 23:46:15 -05:00
Behdad Esfahbod
1e8994221f
Add hb_sanitize_with_object_t
...
Context manager.
2018-11-24 23:38:06 -05:00
Behdad Esfahbod
b3c5affc05
Simplify sanitize set_object()
2018-11-24 23:34:34 -05:00
Behdad Esfahbod
3d30972699
[aat] Skip terminator in VarSizedBinSearchArray<>
...
Fixes shaping with Apple Chancery on 10.13 again. In that font,
there was a terminator segment, that was tripping off sanitize().
2018-11-24 23:12:28 -05:00
Behdad Esfahbod
4202a3cde3
Minor
2018-11-24 22:49:50 -05:00
Behdad Esfahbod
1c2302bbf1
[debug] Print function in return_trace()
2018-11-24 22:32:17 -05:00
Behdad Esfahbod
748198a671
Revert "[aat.morx] Remove set_object() business"
...
This reverts commit ae8ed58a6e
.
Apparently this broke Apple Chancery from OS X 10.12 :(.
Investigating...
2018-11-24 22:16:59 -05:00
Behdad Esfahbod
c8a2dc820e
Revert "[aat.kerx] Remove kerx subtable boundary enforcement"
...
This reverts commit 15905a2a29
.
2018-11-24 22:16:53 -05:00
Behdad Esfahbod
9eeebd8dde
Revert "[sanitize] Remove now-unused set_object() machinery"
...
This reverts commit bbdb6edb3e
.
2018-11-24 22:16:47 -05:00
Behdad Esfahbod
f47c5da0aa
[arrays] Use hb_array_t<> in all places with sub_array()
2018-11-24 21:36:57 -05:00
Behdad Esfahbod
3246a8ebbd
[arrays] Merge ArrayOf's sub_array into hb_array_t's
2018-11-24 21:32:00 -05:00
Behdad Esfahbod
bbdb6edb3e
[sanitize] Remove now-unused set_object() machinery
2018-11-24 17:15:38 -05:00
Behdad Esfahbod
15905a2a29
[aat.kerx] Remove kerx subtable boundary enforcement
...
Have not encountered fonts needing this, but same reasoning as
for morx (see previos commit.)
2018-11-24 17:14:39 -05:00
Behdad Esfahbod
ae8ed58a6e
[aat.morx] Remove set_object() business
...
With OS X 10.13 Apple Chancery fails to ligate if we limit each morx
sub-chain to its declared length. Perhaps their newer compiler does
object-sharing across sub-chains. Anyway, since that's a valid, if
unspecified, way to compile tables, remove enforcement.
Probably do the same with kern/kerx.
2018-11-24 17:14:09 -05:00
Behdad Esfahbod
20edc70d53
[morx/kerx] Fix sanitize regression
...
Broke in 8dcc1913a1
If sanitizer is left with another object, it wouldn't work.
Better fix coming soon.
2018-11-24 14:53:05 -05:00
Behdad Esfahbod
ae96c98dfa
[color] Use SortedUnsizedArrayOf<>
2018-11-24 10:25:10 -05:00
Behdad Esfahbod
4a3b20738f
[trak] Coment
2018-11-24 10:17:59 -05:00
Behdad Esfahbod
918b1ee54d
[arrays] Add not_found to reference bsearch as well
2018-11-24 10:09:17 -05:00
Behdad Esfahbod
d77a098b73
[arrays] Improve bfind() interface
...
Much more useful now. :)
2018-11-24 10:06:13 -05:00
Behdad Esfahbod
8dcc1913a1
[kerx/morx] Make sure object length is sanitized before accessing it
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
70d80c90fe
[arrays] Port ArrayOf.qsort() and hb_vector_t.qsort() to hb_array_t
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
073d837aa2
[arrays] Port ArrayOf.qsort() to hb_array_t's
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
ad5c871d80
[arrays] Add copy-constructor to hb_array_t and hb_sorted_array_t
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
61de55bf49
[arrays] Port hb_vector_t.qsort() to hb_array_t's
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
e3face8e79
[arrays] Remove one flavor of hb_vector_t.qsort()
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
7c1600dcd9
[arrays] Add (unused) SortedUnsizedArrayOf<>
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
e700392f5c
[arrays] Port SortedArrayOf.bsearch/bfind to hb_sorted_array_t's
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
e604306f28
[arrays] Port hb_vector_t.bsearch/bfind to (new) hb_sorted_array_t's
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
268eca2492
[arrays] Port (unused) ArrayOf.lsearch() to hb_array_t's
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
830856ba6b
[arrays] Port hb_vector_t.lsearch() to hb_array_t's
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
96cf088980
[arrays] More
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
3e26c8d2b1
[arrays] Update ArrayOf.lsearch()
...
Currently unused apparently
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
22e1857b01
[arrays] Change argument type of cmp called by hb_vector_t.bsearch()
...
Towards consolidating all array bsearch/...
2018-11-24 09:48:06 -05:00
Behdad Esfahbod
30cb45b3ea
Change ArrayOf.bsearch() return semantics
...
Towards consolidating all array bsearch/...
2018-11-24 00:48:26 -05:00
Behdad Esfahbod
5cd9546ba7
Minor
2018-11-24 00:46:07 -05:00
Behdad Esfahbod
fd94e729cb
Whitespace
2018-11-24 00:46:07 -05:00
Behdad Esfahbod
bb2a206508
Assert that item-type of arrays have static size
2018-11-24 00:31:40 -05:00
Behdad Esfahbod
690d9eb83d
[vector] Rename
2018-11-24 00:29:22 -05:00
Behdad Esfahbod
ba38378fd4
[aat] Minor
2018-11-24 00:27:57 -05:00
Behdad Esfahbod
39b9d63b01
Add hb_static_size(T)
2018-11-24 00:25:40 -05:00
Behdad Esfahbod
f99abcc379
Add template-function convenience macros
2018-11-24 00:24:01 -05:00
Behdad Esfahbod
ec83b2228e
Add null bytes for CmapSubtableLongGroup
2018-11-23 19:59:31 -05:00
Behdad Esfahbod
e2ffb33a53
Remove lsearch for small TableDirectorys
2018-11-23 16:24:28 -05:00
Behdad Esfahbod
04f7e55369
[arrays] Add as_array() to hb_vector_t<>
2018-11-23 16:07:43 -05:00
Behdad Esfahbod
c514f65181
[arrays] Add as_array() to ArrayOf<>
2018-11-23 16:04:56 -05:00
Behdad Esfahbod
9552f4ef0d
[kern] Don't enforce length of last subtable
2018-11-23 15:24:17 -05:00
David Corbett
018ba46e4d
Don't canonicalize '@' to '-' in language tags
...
Fixes #1406 .
2018-11-23 13:21:22 -05:00
Behdad Esfahbod
748962264a
[aat] Disable mark advance zeroing if kern table has state-machines
...
Geeza Pro for example, relies on that for fancy mark positioning.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1405
2018-11-23 11:10:17 -05:00
Behdad Esfahbod
3d2b98ef14
Minor
2018-11-23 10:58:43 -05:00
Behdad Esfahbod
22798e93c4
[use] Minor clarification
2018-11-22 22:47:51 -05:00
Behdad Esfahbod
a2d6c1075a
Minor tweak to FLAG64
2018-11-22 22:40:57 -05:00
Behdad Esfahbod
8280459e74
Merge pull request #1291 from harfbuzz/use-reordering
...
[use] Fix reordering
2018-11-22 22:39:12 -05:00
Behdad Esfahbod
e4a4555d1e
[cmap] Move code around
2018-11-22 22:17:49 -05:00
Behdad Esfahbod
758c9d68e2
[morx/kerx] Limit range to subtable when sanitizing
2018-11-22 22:16:12 -05:00
Behdad Esfahbod
a9fe787a11
[sanitizer] Add reset_object(), make set_object() do bounds-check
...
Affects morx/kerx run-time only currently. Will adjust their sanitize next.
2018-11-22 22:12:36 -05:00
Behdad Esfahbod
2c8188bf59
[kerx] Make sure subtables are non-zero-length
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11400
2018-11-22 22:02:19 -05:00
Behdad Esfahbod
a9e0bdc35d
[GSUB] Don't flush glyphset during recursion in closure()
...
See comment.
Supercedes https://github.com/harfbuzz/harfbuzz/pull/1401
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11366
2018-11-22 21:30:04 -05:00
Behdad Esfahbod
d0e81b2cc8
[set] Rename
2018-11-22 21:20:39 -05:00
Behdad Esfahbod
e866910579
Enforce requiring null_size even if min_size is 0
...
This concludes null-size enforcement changes
2018-11-22 18:07:59 -05:00
Behdad Esfahbod
4d4fd64ff4
Allow non-nullable OffsetTo<> to non-Null'able objects
2018-11-22 18:07:36 -05:00
Behdad Esfahbod
fa9f585ec5
[glyf] Don't mark structs UNBOUNDED
...
See comments.
2018-11-22 17:56:51 -05:00
Behdad Esfahbod
f47a60a754
Mark UnsizedArrayOf<> as UNBOUNDED
...
Since min_size is 0, Null() still accepts this type.
2018-11-22 17:53:29 -05:00
Behdad Esfahbod
199a0f7b41
[ot-shape] Simplify logic
2018-11-22 17:31:07 -05:00
Behdad Esfahbod
014e4980ed
Move
2018-11-22 16:21:49 -05:00
Behdad Esfahbod
62890dee18
[aat] Zero mark advances if decided so even if there's cross-kerning
...
Cross-kerning can only take care of positioning vertically. It doesn't
adjust mark advance...
2018-11-22 16:20:29 -05:00
Behdad Esfahbod
a201fa74cd
[aat] Tweak fallback positioning logic when applying morx
...
Such that for Indic-like scripts (eg. Khmer), we don't do any fallback mark
advance-zeroing / positioning, but we do for Latin, etc. Reuses preferences
of our script-specific OpenType shapers for those.
Fixes regression: https://github.com/harfbuzz/harfbuzz/issues/1393
Which means, fixes again: https://github.com/harfbuzz/harfbuzz/issues/1264
While not regressing: https://github.com/harfbuzz/harfbuzz/issues/1357
2018-11-22 15:52:29 -05:00
Behdad Esfahbod
fa0bd8964d
[myanmar] Minor move
2018-11-22 14:46:39 -05:00
Behdad Esfahbod
7dc561984b
[myanmar] If there's no GSUB table, pick myanmar shaper
...
Needed for morx+kern mark-zeroing interaction. All other scripts
work this way.
2018-11-22 14:45:46 -05:00
Behdad Esfahbod
25f52f58c2
[myanmar] Remove myanmar_old shaper
...
Over time it has become the same as default shaper. So, remove.
2018-11-22 14:41:01 -05:00
Behdad Esfahbod
eeed802b1d
Fix spurious gcc warnings
...
../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]
2018-11-22 01:53:36 -05:00
Behdad Esfahbod
b96ecb9971
More
...
This makes more of the gcc spurious warning:
../../src/hb-null.hh:53:39: warning: enum constant in boolean context [-Wint-in-bool-context]
But not going to let that defeat correct code. Type to switch to clang
as my main compiler...
2018-11-22 01:49:12 -05:00
Behdad Esfahbod
2737aa81e5
Fix up recent change
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1300
2018-11-22 01:44:27 -05:00
Behdad Esfahbod
fffea5aff7
Minor
2018-11-22 01:25:34 -05:00
Behdad Esfahbod
209b58ef73
Minor
2018-11-22 01:22:33 -05:00
Behdad Esfahbod
3b9fd176e8
Disallow taking Null() of unbounded structs
...
Not sure I've marked all such structs. To be done as we discover.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1300
2018-11-22 01:18:55 -05:00
Behdad Esfahbod
f2b91d6510
Use Type::null_size for our structs in Null(), sizeof() for other types
2018-11-22 01:10:22 -05:00
Behdad Esfahbod
7dd945a876
One more time..
2018-11-22 01:05:17 -05:00
Behdad Esfahbod
d062ad10de
Fix bots happy again, hopefully
...
So, our fallback static_assert cannot be had more than once per line
of source.
2018-11-22 00:39:14 -05:00
Behdad Esfahbod
fb10c021c8
Revert alignof() == 1 check
...
Bots not happy with using "this" inside assertion...
This reverts 2656644887
2018-11-22 00:21:49 -05:00
Behdad Esfahbod
8d778877b8
..
2018-11-21 23:46:09 -05:00
Behdad Esfahbod
8cfeed9948
Minor
2018-11-21 23:42:31 -05:00
Behdad Esfahbod
e5d954a2fb
Minor
2018-11-21 23:30:50 -05:00
Behdad Esfahbod
e987059c61
Minor
2018-11-21 23:25:06 -05:00
Behdad Esfahbod
a2b6d308a4
Remove DEFINE_SIZE_ARRAY2
2018-11-21 23:23:49 -05:00
Behdad Esfahbod
2656644887
Check alignof() structs are 1
2018-11-21 23:23:21 -05:00
Behdad Esfahbod
6321fdf704
Whitespace
2018-11-21 23:19:00 -05:00
Behdad Esfahbod
ecdceea861
Merge pull request #1399 from harfbuzz/sharada-sandhi-mark
...
Fix USE categories for U+111C9 SHARADA SANDHI MARK
2018-11-21 16:12:32 -05:00
Behdad Esfahbod
b89c7fd3dc
Allow defining HB_USE_ATEXIT to 0
...
That's better use of that value than requiring extra macro HB_NO_ATEXIT
2018-11-21 12:32:48 -05:00
David Corbett
b3d5b0a5d9
Fix USE categories for U+111C9 SHARADA SANDHI MARK
2018-11-21 11:35:44 -05:00
Behdad Esfahbod
f48bb9a393
[var] Deprecated axis enumeration API and add new version
...
New version has axis flags.
New API:
+hb_ot_var_axis_info_t
+hb_ot_var_find_axis_info()
+hb_ot_var_get_axis_infos()
Deprecated API:
-HB_OT_VAR_NO_AXIS_INDEX
-hb_ot_var_axis_t
-hb_ot_var_find_axis()
-hb_ot_var_get_axes()
2018-11-20 20:46:14 -05:00
Behdad Esfahbod
b2d803cef6
Remove newly-added -hb_ot_var_axis_get_flags()
2018-11-20 20:46:14 -05:00
Behdad Esfahbod
736897d7a1
[var] Make sure hb_ot_var_axis_flags_t is int-sized
2018-11-20 20:46:14 -05:00
Behdad Esfahbod
eab5d15f61
[var] Move code
2018-11-20 20:46:14 -05:00
Michiharu Ariza
1ecbf4d3e3
Merge branch 'master' into cff-subset
2018-11-20 17:19:05 -08:00
David Corbett
8295118279
Shrink the emoji table by merging adjacent ranges
2018-11-20 15:41:45 -05:00
Behdad Esfahbod
be1828daaa
[var] Fix type of coords returned
...
Ouch. Wonder how none of the bots caught the float->int truncation.
2018-11-20 11:16:23 -05:00
Behdad Esfahbod
831ba74382
Fix Codacy "issues"
2018-11-20 01:16:08 -05:00
David Corbett
3c7792ca32
[use] Fix reordering
...
Fixes #1235 .
2018-11-19 16:49:40 -05:00
Behdad Esfahbod
587d49fc65
[fvar] Add named-instance API
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1241
2018-11-19 14:51:34 -05:00
Behdad Esfahbod
46c0da820f
Fix build
2018-11-19 13:32:48 -05:00
Behdad Esfahbod
56c9238d3d
[fvar] Rewrite sanitize
2018-11-19 13:09:53 -05:00
Behdad Esfahbod
4a6a692e3e
[fvar] Use hb_array_t for axes
2018-11-19 13:06:44 -05:00
Behdad Esfahbod
e009739601
[fvar] Minor
2018-11-19 12:53:53 -05:00
Behdad Esfahbod
1a2eb108b8
[ot-var] Add hb_ot_var_axis_get_flags()
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1241
New API:
+hb_ot_var_axis_flags_t
+hb_ot_var_axis_get_flags
2018-11-19 12:36:56 -05:00
Behdad Esfahbod
bd6b2ba1d3
[ot-var] Add flags
...
Unfortunate that we don't have room in hb_ot_var_axis_t to expose flags :(.
2018-11-19 11:34:56 -05:00
Behdad Esfahbod
c076c7b85c
[ot-var] Use hb_ot_name_id_t
2018-11-19 11:30:40 -05:00
Michiharu Ariza
515f1a1614
Merge branch 'master' into cff-subset
2018-11-16 17:38:47 -08:00
Michiharu Ariza
a6da9b9415
fixed Charset format selection
2018-11-16 17:29:03 -08:00
Behdad Esfahbod
e3a1a8350a
2.1.3
2018-11-16 16:53:25 -08:00
Behdad Esfahbod
9714e114b8
Fix recent commits
2018-11-16 16:52:42 -08:00
Behdad Esfahbod
0328a1ce41
Revert b4c6113032
...
Was causing more trouble than it solved. We use unsigned for indexing,
and it's not helpful to allow that wrapping to negative integers on
32bit machines. The only way we could work around it would have been
by accepting int64_t arg, but that's overkill.
Ignore the MSVC 2008 build issue. We don't support that compiler.
2018-11-16 16:48:28 -08:00
Behdad Esfahbod
52f61cdb87
Detect over/under-flow in UnsizedArray::operator[]
...
Was causing bad substitutions in mort table because of WordOffsetToIndex()
producing negative numbers that were cast to unsigned int and returned as
large numbers (which was desirable, so they would be rejected), but then
they were cast to int when passed to this operator and acting as small
negative integers, which was bad...
Detect overflow. Ouch, however, now I see this still fails on 32-bit.
Guess I'm going to revert an earlier change.
2018-11-16 16:41:59 -08:00