Behdad Esfahbod
6ac9a4eaa3
[sbix] Simplify glyph_length calc
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
0730d62385
[sbix] Check glyph data end is in range
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
b76dc03108
[sbix] Reduce code
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
50fb02a219
[sbix] Check glyph id before looking into unsafe array
...
That 'Z' at end of imageOffsetsZ is a reminder that you should check...
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
a8cb9c73da
[sbix] Simplify 'dupe' handling logic
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
d7eb534e59
[sbix] Check offsets before proceeding
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
c8380bd3e4
[color] Remove more dump-emoji cruft
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
68f2c832c8
Remove dump-emoji
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
b46de42b3a
[sbix] Fix order of parameters
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
a91cda72ab
[sbix] Remove redundant parameter
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
c712005f55
[sbix] Add get_strike()
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
400bc3f030
[sbix] Remove a couple of extra checks
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
3770282c83
[sbix] Rename sbix_table to table in accelerator
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
7346841807
[cbdt] Rename reference_blob_for_glyph() to reference_png()
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
1f33b8525d
[sbix] Rename ugly reference_blob_for_glyph() to reference_png()
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
946b534419
[sbix] Fix uninitialized variables
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
01c7d53fb7
[sbix] Select best strike based on ppem
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
f9f26bff4c
[sbix] Move code around. Add get_extents()
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
48bc3039cb
[sbix] Check blob length against PNG header leangth
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
d3ec31a57c
[ot-color] More on PNGHeader fields
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
35fa3d3260
[ot-color] Apply Behdad comment
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
307d61867a
[ot-color] Make PNGHeader reading actually work
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
632e9af862
[ot-color] Implement PNGHeader and test it, it doesn't work however
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
38706a0746
[ot-color] Preparation for setting PNG width/height in extents
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
d6d6f3bc22
[docs] Add comment
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
3d4c1f6a41
[ot-color] Apply Behdad reviews
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
8ef0d2ef92
[ot-color] Apply Behdad comment
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
dbd419bede
[ot-color] Add public API for CBDT/sbix/SVG color Emojis
2018-10-28 18:33:10 -07:00
Behdad Esfahbod
6ce49a921a
[name] Change hb_name_id_t back to unsigned int
...
d941f66c75 (commitcomment-31076011)
2018-10-28 08:26:30 -07:00
Behdad Esfahbod
a4f4f5ba5f
[docs] Fix titles here as well
2018-10-28 08:23:36 -07:00
Behdad Esfahbod
213b6dd335
[name] Make sure hb_name_id_t is int-sized
...
d941f66c75 (commitcomment-31068905)
2018-10-27 18:36:24 -07:00
Behdad Esfahbod
1d40d72f29
[docs] Hook up hb-var
2018-10-27 05:01:01 -07:00
Behdad Esfahbod
80d9a427cf
[docs] Document remaining sections
2018-10-27 04:58:32 -07:00
Behdad Esfahbod
cf5fa57f00
[docs] Change section titles again
...
I think I like the uniform "hb-*" more.
2018-10-27 04:51:42 -07:00
Behdad Esfahbod
04981ee05d
[docs] More
2018-10-27 04:47:41 -07:00
Behdad Esfahbod
5dd86aa33b
[docs] Rename section titles to object names
...
More useful.
2018-10-27 04:47:41 -07:00
Behdad Esfahbod
524fb70216
[docs] More
2018-10-27 04:47:41 -07:00
Behdad Esfahbod
46072b7cb5
[ot] Fold hb-ot-tag.h into hb-ot-layout.h
2018-10-27 04:47:41 -07:00
Behdad Esfahbod
00cf4e5eb6
[docs] Fill in some sections
2018-10-27 04:47:41 -07:00
Behdad Esfahbod
55a19d73b4
Move HB_EXTERN
2018-10-27 04:47:41 -07:00
Ebrahim Byagowi
524e854c15
Merge pull request #1318 from ebraminio/png
...
Add a non-hooked _png _svg get emoji blob
2018-10-27 15:04:43 +03:30
Ebrahim Byagowi
8180c37df0
[ot-color] Remove _png and _svg public APIs
2018-10-27 14:54:08 +03:30
Ebrahim Byagowi
9aa6279a2d
[ot-color/png] Try to get image blob from sbix first options.aat is set
2018-10-27 14:24:58 +03:30
Ebrahim Byagowi
b42661ee91
[ot-color] Add some documentation
2018-10-27 14:15:38 +03:30
Behdad Esfahbod
4ee3c8272c
[docs] Fix hb_name_id_t
...
Yep, was not recognized without this patch!
2018-10-27 03:18:45 -07:00
Ebrahim Byagowi
9435fb24da
[ot-color/png] Implement CBDT part
2018-10-27 13:47:11 +03:30
Behdad Esfahbod
d941f66c75
[name] Make hb_name_id_t be the enum
...
This is like hb_script_t.
We had this exposed as unsigned int since 2.0.0 release in two APIs,
as well as hb_ot_layout_get_size_params() from earlier.
But since no one uses those (right?!), let's just fix this now.
2018-10-27 03:06:14 -07:00
Behdad Esfahbod
40496a54a0
[name] Move HB_NAME_ID_INVALID into the enum
...
Don't know how to document anonymous enum members.
2018-10-27 03:06:14 -07:00
Behdad Esfahbod
a8a55b9f89
[name] Move around
2018-10-27 03:06:14 -07:00
Behdad Esfahbod
3b7e5f1313
[name] Rename hb_ot_name_get_names() to hb_ot_name_list_names()
...
And swap return value positions, so can be annotated for gobject-introspectin.
2018-10-27 03:06:14 -07:00
Behdad Esfahbod
4025ad8043
Document new API
2018-10-27 03:06:14 -07:00
Ebrahim Byagowi
5e2a52f71a
[sbix] Remove dump method from sbix accelerator
2018-10-27 12:44:33 +03:30
Ebrahim Byagowi
0353ac6cde
Fix test-name-table on older bots
2018-10-27 12:24:53 +03:30
Ebrahim Byagowi
dc11a38107
[sbix] Set num_glyphs on accelerator
...
dump-emoji was broken without it
2018-10-27 12:15:25 +03:30
Ebrahim Byagowi
6a38fd68a8
[ot-color/png] sbix runtime memory check
2018-10-27 11:17:27 +03:30
Behdad Esfahbod
ca645accb9
Comment
2018-10-27 00:39:31 -07:00
Ebrahim Byagowi
265ad408ca
[ot-color/png] Implement sbix part
2018-10-27 10:43:46 +03:30
Behdad Esfahbod
7f5941e162
Remove stale comment
...
Ugliness was fixed in 30eab97a00
But yeah, my smell detector was working. Ugliness was buggy.
2018-10-27 00:06:48 -07:00
Behdad Esfahbod
e7400c0275
[docs] Hook up new symbols
2018-10-26 22:24:40 -07:00
Behdad Esfahbod
6aa019c4af
[morx] Fix merge_cluster to end at last ligature component
...
Don't assume current position was a component in the ligature.
2018-10-26 22:02:17 -07:00
Behdad Esfahbod
00ae4be6bf
[morx] Fix bailing out ligation at end-of-text
...
Check was after a move_to, which wouldn't work.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11147
2018-10-26 21:59:20 -07:00
Behdad Esfahbod
30eab97a00
Fix invalid memory read
...
Buffer might be relocated inside replace_glyphs().
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=895117
2018-10-26 21:54:40 -07:00
Behdad Esfahbod
79b2fa62ca
[indic] Fix infinite loop
...
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=863044
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
39bd07aed5
Fix bunch of unused parameter warnings
...
Show up with gcc -O0.
There's a few more but those are functions that need to be filled in.
Maybe this is a lost battle...
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
b2e1ec374c
[subset] Fix warning
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
337ea0b717
[fuzzing] Remove HB_NDEBUG
...
Not sure why it ever was added.
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
c965eeadbc
[name] Default to "en" if language is not specified
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
3fd6e5dbef
[name] Add pre-defined nameIDs
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
20d0171d20
[name] Fill out most missing language codes
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
622b014faf
[name] Skip enumerating names with unknown language
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
2c39f359e4
[utf] Remove unused typedef
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
ce81c74298
[utf] Fix ASCII
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
327546e633
[name] Hook up ltag table
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
dc9a5f88b4
[name] Do record sanitization at run-time
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
a53d301b1c
[name] Minor
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
c442fd9a10
[name] Add src/test-name-table tool to show all font names
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
7007bd9dff
[name] Rebuild language list, include missing entries
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
68f172101c
[name] Fix cmp for invalid language
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
888a65615c
[name] Fix nul-termination bug
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
9b532e2ed4
[name] Add language mapping
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
e2f9b65775
[name] Start adding language support
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
6db6bbe64b
[name] Remove unused cmp function
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
4668a05006
[name] Hook things up
...
Accept Mac Latin name entries as ASCII as well.
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
69f5da0629
[name] More
...
It assumes all names are encoded in UTF16-BE. Other than that, and not
listing languages correctly, it's *supposed* to work.
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
64334aff8c
[name] Fix check
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
5531bd068e
[name] Flesh out UTF-X to UTF-X conversion routines
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
84811a06a2
[name] Fix for rebase changes to hb_array_t
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
1046b1938b
[name] Some more
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
b4d4d1ea78
[name] Return full string length from API
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
8d304ef7f9
[utf] Add UTF16-BE and UTF32-BE
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
a826a8730f
[name] Hide internal details from public API
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
e7c595a9f0
[name] More
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
75cd8c86bd
[name] Add hb_ot_name_get_utf()
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
c783d36324
[name] Pre-allocate array
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
c2aa409537
[name] Start implementing hb_ot_name_get_utf16()
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
740cde8991
[name] Implement hb_bytes_t get_name()
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
c3425f2401
[name] Add hb-ot-name.cc for realz
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
90420ed8cb
[name] Implement hb_ot_name_get_names()
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
9a6c87c17d
[name] Finish accelerator sorting
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
2157e56b34
[name] Start implementing public API infrastructure
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
0bf93ec0fb
[name] Add public API declarations
2018-10-26 21:22:26 -07:00
Behdad Esfahbod
982c2f4a65
[indic/khmer/myanmar/use] Clarify clear_syllable
...
No logic change.
2018-10-26 15:40:45 -07:00
Ebrahim Byagowi
30f18039b3
[svg] Rename _svg_create_blob to _glyph_reference_blob_svg
2018-10-26 09:34:34 +03:30
Ebrahim Byagowi
5cb1ce8681
[svg] Collapse SVGDocumentIndex into SVG
2018-10-26 09:31:01 +03:30
Ebrahim Byagowi
4ceabb8c21
[svg] Hide start_glyph and end_glyph from API
2018-10-26 09:16:44 +03:30
Ebrahim Byagowi
c7a4e3dfb5
[svg] Add public API
...
* hb_ot_color_has_svg
* hb_ot_color_glyph_svg_create_blob
2018-10-26 09:16:44 +03:30
Behdad Esfahbod
e98af6d1ed
[layout] Try to speed up collect_lookups some more
...
Barely made a dent :(.
2018-10-25 22:25:29 -07:00
Behdad Esfahbod
eb44bfc864
[layout] Memoize collect_features
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/1317
Fixes https://oss-fuzz.com/v2/testcase-detail/6543700493598720
2018-10-25 22:15:11 -07:00
Behdad Esfahbod
84098b1639
[layout] Remove unintentionally added code
2018-10-25 21:33:12 -07:00
Behdad Esfahbod
941600a9e0
[layout] Add hb_collect_features_context_t
...
Towards https://github.com/harfbuzz/harfbuzz/pull/1317
2018-10-25 21:26:56 -07:00
Behdad Esfahbod
c237cdfcc7
[lookup] Fold another function inline
2018-10-25 21:17:30 -07:00
Behdad Esfahbod
fe5520ddea
[layout] More prep work to memoize collect_features() work
2018-10-25 21:14:32 -07:00
Behdad Esfahbod
e8e67503ff
[lookup] More prep work for memoizing collect_features
...
https://github.com/harfbuzz/harfbuzz/pull/1317
2018-10-25 20:48:20 -07:00
Behdad Esfahbod
96828b97a8
[layout] Minor
...
We were returning the accelerator's lookup count. Returns table's.
They are the same except for OOM cases. Just shorter code.
2018-10-25 20:34:29 -07:00
Behdad Esfahbod
73449cd213
[layout] Fold one function inline
...
Preparation for fixing https://github.com/harfbuzz/harfbuzz/pull/1317
2018-10-25 20:32:05 -07:00
Behdad Esfahbod
ba5ca6a762
[morx] Use deleted-glyph, instead of actual deletion, in Ligation
...
Closer to what CoreText does.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1302
2018-10-25 17:46:07 -07:00
Behdad Esfahbod
5c272e3613
[morx] Remove deleted-glyph at the end of processing
2018-10-25 17:39:54 -07:00
Behdad Esfahbod
1bb8ed86d6
[aat] Minor
2018-10-25 17:33:48 -07:00
Behdad Esfahbod
102af615f1
[aat] Start adding support for DELETED-GLYPH
...
https://github.com/harfbuzz/harfbuzz/issues/1302
2018-10-25 17:29:32 -07:00
Behdad Esfahbod
955aa56b11
[vector] Make it act more like pointer
...
Add pointer cast operator and plus operator.
2018-10-25 16:50:38 -07:00
Behdad Esfahbod
8d55e2adef
[set] Minor
2018-10-25 16:37:53 -07:00
Behdad Esfahbod
64c32edfe1
[set] Make array access more explicit
...
Follow up on 94e421abbf
2018-10-25 16:35:36 -07:00
Behdad Esfahbod
21ede867df
Fix possible overflow in bsearch impls
...
From bungeman.
Fixes https://github.com/harfbuzz/harfbuzz/pull/1314
2018-10-25 13:19:58 -07:00
Ben Wagner
94e421abbf
Remove some use of Crap in hb-set.
...
When hb_set_t::page_for_insert needs to insert at the end of the page_map
it ends up evaluating '&page_map[i + 1]' which has hb_vector return an
lvalue of a Crap so that nothing can be moved to its address. This turns
into issues with ThreadSanitizer on Crap when two threads modify different
hb_set_t instances. This can be avoided by using '&page_map[i] + 1'
instead.
2018-10-25 11:42:20 -07:00
Behdad Esfahbod
ae9e8f292b
[vowel-constraints] Reset continuation on all dottedcircles
...
One of the was missed before. Not intentional.
2018-10-24 16:55:20 -07:00
Behdad Esfahbod
401cdf0792
[ot-font] Fix sign of ascent/descent
...
Some fonts, like msmincho, have positive number as descent
in vhea table. That's wrong. Just enforce sign on ascent/descent
when reading both horizontal and vertical metrics.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1248
2018-10-23 17:00:49 -07:00
Behdad Esfahbod
ba502dea1e
[morx] Fix cluster-merging when ligating
...
Only merge when actual ligature happened.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1305
2018-10-23 16:50:31 -07:00
Garret Rieger
aa5af8d041
Fix size calculation in DEFINE_SIZE_ARRAY_SIZED.
2018-10-23 16:04:21 -07:00
Behdad Esfahbod
f33ad6d692
[aat] Fix up previous commit and add files
2018-10-23 14:31:51 -07:00
Behdad Esfahbod
ffe3478448
[aat] Allow enabling/disabling features
...
Only works at entire-buffer range, not sub-ranges.
Test with:
$ hb-shape Zapfino.dfont Zapfino
[Z_a_p_f_i_n_o=0+2333]
$ hb-shape Zapfino.dfont Zapfino --features=-dlig
[Z=0+416|a=1@-21,0+264|p_f=2+433|i=4+181|n=5+261|o=6+250]
$ hb-shape Zapfino.dfont Zapfino --features=+dlig
[Z_a_p_f_i_n_o=0+2333]
Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
2018-10-23 14:14:03 -07:00
Behdad Esfahbod
8be0e5fd45
[ot-map] Minor
2018-10-23 13:39:50 -07:00
Behdad Esfahbod
e8fccbc36b
Minor
2018-10-23 13:25:03 -07:00
Behdad Esfahbod
76324d95ca
Shift code around
2018-10-23 13:09:30 -07:00
Behdad Esfahbod
cf92d6579e
[trak] Allow disabling tracking for ranges of text
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1303
2018-10-23 03:10:56 -07:00
Behdad Esfahbod
8869436cb8
When parsing feature ranges, accept ';' instead of ':'
2018-10-23 03:07:48 -07:00
Ebrahim Byagowi
22ecefd88e
Make tracking optout possible using 'trak' ot feature
...
So '--features=-trak' or 'font-feature-settings: 'trak' 0;' can prevent
applying of tracking if used.
2018-10-23 02:57:55 -07:00
Behdad Esfahbod
6d40eb8372
Touch up on previous commit
...
https://github.com/harfbuzz/harfbuzz/pull/1273
2018-10-23 02:51:42 -07:00
David Corbett
205737acdc
[use] Prohibit visually ambiguous vowel sequences
2018-10-23 02:25:08 -07:00
Behdad Esfahbod
48ed598a35
[VORG] Hook up to hb-ot-font's v_origin
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/544
Test added with NotoSansCJK, eg. with U+FF38.
2018-10-23 02:21:27 -07:00
Behdad Esfahbod
097ecfd4a9
[VORG] Add get_y_origin()
...
Unhooked.
2018-10-23 02:09:42 -07:00
Behdad Esfahbod
6fb24d5e3e
[VORG] Add VORG table
...
Cherry-picked from cff-subset branch.
2018-10-23 01:59:43 -07:00
Behdad Esfahbod
531f9822b2
[morx] Add a few debug messages to Ligature chain
2018-10-23 01:32:08 -07:00
Behdad Esfahbod
0e5bcdef7f
[morx] Clear stack upon underflow when acting ligatures
2018-10-23 00:39:44 -07:00
Behdad Esfahbod
792071de40
[morx] Leave ligature on stack after ligating
...
Test with Apple Color Emoji.ttf of ~66MB and following sequence:
./hb-shape Apple\ Color\ Emoji-old.ttf --font-funcs=ot -u U+1F468,200d,U+1F469,200d,U+1F467,200d,1f466
Should form full family if matching works correctly. It first makes
family of three, then makes family of four out of that and the last
two characters.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1292
2018-10-22 23:38:34 -07:00
Behdad Esfahbod
8c78ced95b
Unbreak builds
2018-10-22 21:49:42 -07:00
Behdad Esfahbod
8d689f8a7b
Add hb_array<>() specialization for UnsizedArrayOf
...
Related https://github.com/harfbuzz/harfbuzz/issues/1301
2018-10-22 21:33:18 -07:00
Behdad Esfahbod
abfbba1911
Add hb_array<>()
...
Simplifies transient object creation.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1301
2018-10-22 21:27:45 -07:00
Behdad Esfahbod
17ffbc070f
[color] Use Index for colorIdx
...
Doesn't matter, but matches the description.
2018-10-22 21:22:25 -07:00
Behdad Esfahbod
07386ea410
Remove const and references when binding Null()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1299
Removes anomaly I was seeing in cpal table trying to use implicit Null(NameID).
2018-10-22 21:21:17 -07:00
Behdad Esfahbod
b18acab7bc
[color] Add HB_COLOR
...
Normally I would have added to_string / from_string like other types
have. But since we don't use hb_color_t much, I'm not going to do that.
Although, if we did, we could use it in hb-view to parse colors...
2018-10-22 18:20:57 -07:00