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