Commit Graph

5556 Commits

Author SHA1 Message Date
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
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