Behdad Esfahbod
2995b4465b
[CBDT] Simplify sanitize
6 years ago
Behdad Esfahbod
1c76c8f6ff
[morx] Handle end-of-text conditions in Insertion
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10955
6 years ago
Behdad Esfahbod
60c1397673
[buffer] Fix output_glyph at end of buffer
...
Part of https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10955
6 years ago
Behdad Esfahbod
7efa38257b
[aat] More protection against buffer fail
6 years ago
Behdad Esfahbod
e1add2a275
[hmtx] Whitespace
6 years ago
Behdad Esfahbod
62376a7d98
Ignore signed-integer-overflow while kerning
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1247
6 years ago
Behdad Esfahbod
40f2b9355c
[kerx] Fix Format1 sanitize
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10948
6 years ago
Behdad Esfahbod
44af1f93ee
[aat] Whitespace
6 years ago
Behdad Esfahbod
56b8dd17f6
[aat] Finish off massaging table
6 years ago
Behdad Esfahbod
e0c5e0d91b
[aat] WIP remove feature mapping here from hb-coretext
...
Need to map enum values to numerics since we don't have CoreText headers.
6 years ago
Behdad Esfahbod
cb05774913
[coretext] Prepare AAT feature mapping to be moved
6 years ago
Behdad Esfahbod
de6e414c56
[kerx] Sanitize more
6 years ago
Behdad Esfahbod
71f76f2f39
[kerx] Fix-up previous commit
...
A "&" was missing. Go back to using pointers that are less error-prone.
6 years ago
Behdad Esfahbod
6d4b054234
[kerx] Use sanitizer instead of handcoded runtime sanitization
6 years ago
Behdad Esfahbod
5733113662
[kerx] Wire up context down to get_kerning
6 years ago
Behdad Esfahbod
c4502833b7
[kerx] Use sanitizer.get_num_glyphs() instead of face->get_num_glyphs()
6 years ago
Behdad Esfahbod
fc45e698f2
[kerx] Protext against overflows
6 years ago
Behdad Esfahbod
ed2ee78136
[hangul] Fix use-after-free issue
...
out_info might have moved since we copied it's position into local
info var.
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=894937
6 years ago
Ebrahim Byagowi
63109432cf
Cosmetic and minor changes
6 years ago
Behdad Esfahbod
c0a6814b49
Touch up new API
...
New API:
+hb_ot_layout_feature_get_name_ids()
+hb_ot_layout_feature_get_characters()
6 years ago
Behdad Esfahbod
477bc9aafe
Add hb-ot-name.h
...
Actual name-fetching API to come later.
New API:
hb_name_id_t
HB_NAME_ID_INVALID
6 years ago
Ebrahim Byagowi
dc49bd8d81
Add two APIs for getting stylistic set labels
...
* hb_ot_layout_feature_get_characters
* hb_ot_layout_feature_get_name_ids
However HarfBuzz currently doesn't expose an API for retrieving the actual
information associated with NameId from the `name` table and that should be
done separately.
6 years ago
Behdad Esfahbod
e9f9c0d81c
[sanitize] Reorder condition to silence bogus gcc warning
...
Was givin a dozen of:
../../src/hb-machinery.hh: In member function ‘bool AAT::ankr::sanitize(hb_sanitize_context_t*) const’:
../../src/hb-machinery.hh:307:23: warning: missed loop optimization, the loop counter may overflow [-Wunsafe-loop-optimizations]
bool ok = --this->max_ops > 0 &&
~~~~~~~~~~~~~~~~~~~~~~
this->start <= p &&
~~~~~~~~~~~~~~~~~~~
p <= this->end &&
~~~~~~~~~~~~~~~^~
(unsigned int) (this->end - p) >= len;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I believe those are bogus, but this silences them and does not introduce
logic issues I believe.
6 years ago
Behdad Esfahbod
1a6b5ac6c3
Add HB_DEPRECATED_FOR and mark relevant symbols
6 years ago
Behdad Esfahbod
c9413d7bb5
[graphite] Add HB_DEPRECATED annotation
6 years ago
Behdad Esfahbod
68c86af187
Always compile deprecated symbols
...
We haven't been keeping this updated. So, while we don't expose the
symbols in the headers if HB_DISABLE_DEPRECATED is defined, we still
always build them.
6 years ago
David Corbett
c55100000b
Add missing colons to GObject annotations
6 years ago
David Corbett
1e816d62ef
Fix Indic script tags in Graphite
6 years ago
Behdad Esfahbod
bf8469be9a
Attach CursivePositioning backwards, not forward
...
This is how Uniscribe does it. So, adjust. This is only relevant
to fonts that apply cursive positioning from a contextual lookup.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1181
6 years ago
Behdad Esfahbod
bdb53ca24a
[myanmar] Implement Zawgyi shaper
...
Enabled if script tag 'Qaag' is passed to HarfBuzz. Disables mark
advance-zeroing and fallback mark-positioning.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1162
6 years ago
Behdad Esfahbod
00c5c4a79d
[myanmar] Shuffle
6 years ago
Behdad Esfahbod
ec8f493bf9
[graphite] Remove assert
6 years ago
Behdad Esfahbod
5646dcbd11
Minor
6 years ago
Behdad Esfahbod
788e147855
[test] Add test for USE indic3
6 years ago
Behdad Esfahbod
a11972787a
Minor
6 years ago
Behdad Esfahbod
654365dc89
Pass indic3 tags to USE shaper
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/539
6 years ago
David Corbett
28d091d045
Parse Indic3 tags
6 years ago
Behdad Esfahbod
211cd3691b
Remove remains of get-codepoint-fuzzer
6 years ago
Behdad Esfahbod
120ed02725
[fuzzing] Fold get-codepoints-fuzzer into subset-fuzzer
6 years ago
Behdad Esfahbod
2c824d3644
[aat] Fix two wrongs that made a right before!
...
Unfortunately our static asserts (DEFINE_SIZE_STATIC) don't actually
fail when used in templates, thanks to SFINAE. Le sighs.
Probably fixes https://oss-fuzz.com/v2/testcase-detail/5740171484463104
6 years ago
Behdad Esfahbod
e940530c97
[aat] Fix mul overflow
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10897
6 years ago
Behdad Esfahbod
1d995a340b
Minor
6 years ago
Behdad Esfahbod
0744a02cb1
[arabic] Update to latest UTR#53
...
From Lorna Evans: "That was a new character added to Unicode 11.0"
6 years ago
Behdad Esfahbod
57b05210b1
[test] Fix use of deprecated symbols
6 years ago
Behdad Esfahbod
4f9e36e8cf
[graphite] Remove deprecated symbol use
6 years ago
Behdad Esfahbod
da591f2a9d
Whitespace
6 years ago
Behdad Esfahbod
4d205f0462
[graphite] Fix deva/dev2 resolution
...
See https://github.com/harfbuzz/harfbuzz/pull/730#issuecomment-428277800
6 years ago
Behdad Esfahbod
8061664ad1
Add doc stubs for recently added API
...
Thanks to David Corbett who revamped our script and language processing
and implemented full BCP 47 support.
https://github.com/harfbuzz/harfbuzz/pull/730
New API:
+hb_ot_layout_table_select_script()
+hb_ot_layout_script_select_language()
+HB_OT_MAX_TAGS_PER_SCRIPT
+HB_OT_MAX_TAGS_PER_LANGUAGE
+hb_ot_tags_from_script_and_language()
+hb_ot_tags_to_script_and_language()
Deprecated API:
-hb_ot_layout_table_choose_script()
-hb_ot_layout_script_find_language()
-hb_ot_tags_from_script()
-hb_ot_tag_from_language()
6 years ago
Behdad Esfahbod
cf975ac653
Remove use of deprecated function
6 years ago
David Corbett
66790d64c7
Increase HB_OT_MAX_TAGS_PER_SCRIPT to 3
...
No script has 3 tags yet, but the plan is for the Indic scripts to each
get a third tag someday.
6 years ago