Commit Graph

10031 Commits

Author SHA1 Message Date
Behdad Esfahbod 4289684cdb [set] Fix-up previous commits 2022-03-21 15:37:05 -06:00
Andy John 1176620ba4 Move fn, fix doc. 2022-03-21 15:32:59 -06:00
Andy John 7d802994be Remove null checks. 2022-03-21 15:32:59 -06:00
Andy John ef588ea97b Add option to insert a sorted arrays of values to sets. 2022-03-21 15:32:59 -06:00
Andy John 7a1e79c3ba Fix typo. 2022-03-21 14:34:22 -06:00
Andy John 4ee00f943f Use bit shifting instead of multiplying and dividing. 2022-03-21 14:34:22 -06:00
Andy John 3125f5ae33 Add log base 2 versions of constants. 2022-03-21 14:34:22 -06:00
Behdad Esfahbod 1ffe637a0e [coretext] Remove dead code
Fixes https://github.com/harfbuzz/harfbuzz/issues/3484
2022-03-21 10:37:42 -06:00
TheBluuDot 7bdc20ec81 restores unintended addition in 43be5ba
restores two lines in restore in _hb_allocate_lig_id function that were unintentionally deleted in 43be5ba
2022-03-19 15:12:25 -04:00
Qunxin Liu 7cb002cb58 [subset] bug fix in prune_langsys
we should not cache visited langsys cause 2 different Record<Langsys>
could have different Tag while pointing to the same Langsys, a langsys
is redundant in Record<Langsys> A does not mean it's redundant in Record
B. Same thing for visited_script.
Also adding the number of features in the LangSys's feature list to the
visited langsys count so it's more accurate.
Plus some improvement in langsys compare()
2022-03-16 13:08:13 -06:00
Behdad Esfahbod cad2fe8e63 [baseline] Fix HB_NO_METRICS build
Fixes https://github.com/harfbuzz/harfbuzz/issues/3482
2022-03-15 10:49:29 -06:00
Behdad Esfahbod a8a89b80b4 [layout] Whitespace 2022-03-15 10:48:03 -06:00
Behdad Esfahbod 21f5ef56f5 [metrics] Simplify x-height fallback 2022-03-15 10:45:50 -06:00
Behdad Esfahbod 6bf8f0a38f [baseline] Use ot-metrics fallback API 2022-03-15 10:44:41 -06:00
Dominik Röttsches 965cf1d665 Make load_num_glyphs_from_loca conditional on HB_NO_BORING_EXPANSION
Fixes build errors complaining about this function being unused.
2022-03-14 15:16:35 +02:00
David Corbett 49fb8f9072 [USE] Treat visible viramas like dependent vowels 2022-03-13 14:45:27 -06:00
Khaled Hosny 1f79ba9407 4.0.1 2022-03-11 20:19:04 +02:00
Qunxin Liu a35757c6bc [repacker] expose hb_subset_repack() API, hb_object_t and hb_link_t structs 2022-03-10 17:26:20 -07:00
Matthias Clasen e7ab42b246 [layout] Fix handling of baseline variations
For BASE table format 1.1, the handling of design
space vs user space coordinates was inconsistent.
We were applying design -> user transformation
twice for the deltas, leading to wrong baseline
values.

Patch by Ebrahim Byagowi <ebrahim@gnu.org>

Fixes: #3476
2022-03-10 09:29:56 -07:00
David Corbett e5707a440c Update IANA Language Subtag Registry to 2022-03-02 2022-03-08 13:28:25 -07:00
David Corbett 13bb46cfd5 [USE] Remove obsolete overrides 2022-03-06 16:04:18 -07:00
David Corbett c33468d48e [USE] Treat all gc=Cn as independent clusters 2022-03-06 10:44:37 -07:00
David Corbett e497a8f142 [USE] Remove obsolete symbol/punctuation overrides 2022-03-06 10:44:37 -07:00
David Corbett 854219e056 [USE] Simplify `not_ccs_default_ignorable` 2022-03-06 10:44:37 -07:00
David Corbett 6e059a46b7 [USE] Allow any non-numeric tail in symbol cluster 2022-03-06 10:44:37 -07:00
David Corbett 5b0a59812d [USE] Restore the category WJ 2022-03-06 10:44:37 -07:00
Florian Pircher 05b3bdb0b3 [aat] Update OT to AAT mappings for hist and vrtr 2022-03-05 20:36:40 -07:00
luz paz cf3a0f7ab5 Fixed various misc. typos
Found via `codespell -q 3 -S ./perf/texts -L actualy,als,ba,beng,clen,crasher,dependant,eachother,fo,gir,inout,ist,nd,ned,ot,pres,ro,statics,te,teh,timne`
2022-03-06 04:59:24 +02:00
Khaled Hosny 8d1b000a3e 4.0.0 2022-03-01 21:27:32 +02:00
Khaled Hosny 6e466256e4 [doc] Typo 2022-03-01 12:01:18 +02:00
Garret Rieger f6071c16b0
[subset] Rename codepoint -> unicode in subset plan api 2022-02-28 23:45:40 +02:00
Khaled Hosny 1b5a2e0809 [doc] Various fixes to newly added documentation 2022-02-28 10:11:42 -07:00
Behdad Esfahbod 222301bfa4
Merge pull request #3429 from harfbuzz/external_plan
[subset] expose subset plan in public subsetting API
2022-02-24 12:55:01 -07:00
Behdad Esfahbod 651c280d0b [style] Move the negation into the constant 2022-02-18 18:21:46 -06:00
Matthias Clasen 16b232be0e [hb-style] Fix the sign of slant ratios
We want negative slant angles to yield
positive slant ratios. Fix that.

Test included.
2022-02-18 18:10:34 -06:00
Matthias Clasen e76061a737 [hb-style] Fix synthetic slant values
When reporting the slant ratio of a font
that has synthetic slant set, we were
reporting twice the expected value.
Fix that. Test included.
2022-02-18 17:53:54 -06:00
Behdad Esfahbod 56f11ec938 [buffer] Add HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT
Fixes https://github.com/harfbuzz/harfbuzz/issues/3454
2022-02-18 17:52:27 -06:00
Garret Rieger fc1548cf71 [subset] document return values. 2022-02-17 17:16:31 -08:00
Matthias Clasen f6efe34f5e [ot-metrics] Synthesize missing metrics
Add a variant of hb_ot_metrics_get_position that
synthesizes missing values.

New api: hb_ot_metrics_get_position_with_fallback
2022-02-17 18:34:59 -06:00
Behdad Esfahbod f8e9e315bb
Merge pull request #3437 from matthiasclasen/synthesize-missing-baselines
[BASE] Synthesize missing baselines
2022-02-17 14:34:46 -06:00
Behdad Esfahbod 8e900f2cda Revert "hb-algs.hh: Fix build on Visual Studio 2015"
This reverts commit 52c536bb8d.

See https://github.com/harfbuzz/harfbuzz/pull/3448
2022-02-17 13:29:04 -06:00
Matthias Clasen 95bb2ff719 [ot-layout] Add central baselines
Add HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL
and HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL
which are the centers of the ideographic em-box
and face box.
2022-02-16 17:37:35 -06:00
Matthias Clasen f81578fd86 [ot-layout] Synthesize missing baselines
Add a variation of hb_ot_layout_get_baseline that
synthesizes missing baselines, using heuristics in part
taken from the CSS Inline Layout Module, Level 3.

Includes some new tests for synthesized baselines.
The base2.ttf is a subset of Noto Sans Bengali that
includes just the Bengali Ka.

New API: hb_ot_layout_get_baseline_with_fallback
2022-02-16 17:37:33 -06:00
Behdad Esfahbod 5de67c8961 [ot-layout] Remove commented-out prototypes
Not gonna happen.
2022-02-16 17:08:19 -06:00
Behdad Esfahbod d2998faad3
Merge pull request #3410 from harfbuzz/boring-expansion
[Boring Expansion] >64k loca & hmtx tables

This does two things:

The num-glyphs reported by the face now is the maximum reported by the maxp and that deduced from the length of the loca table; I think this is the right thing to do anyway; According to OpenType such loca tables are invalid.

The interpretation hmtx tables that have excessive bytes at the end, again, invalid according to OpenType, has changed. Previously we were interpreting those excessive bytes as extra lsb values. Now we interpret them as extra advance values, the last of which is repeated for all missing glyphs. Again, these are tables that are invalid according to OpenType, and the advances are for glyph indices beyond maxp table's num-glyphs.

The combined effect is that the font can have shapes and advances for gid's beyond the maxp limit of 64k. In fact, maxp table becomes optional.
2022-02-16 14:37:09 -06:00
Behdad Esfahbod 98079109e6 [ot-layout] Add +hb_ot_layout_get_horizontal_baseline_tag_for_script()
New API:
+hb_ot_layout_get_horizontal_baseline_tag_for_script()
2022-02-16 13:54:22 -06:00
Matthias Clasen 9909e33268 Improve docs for hb_ot_layout_get_ligature_carets
Add some relevant details to the documentation
for this function.

Fixes: #3168
2022-02-15 18:48:54 -06:00
Behdad Esfahbod a396543ae1
Merge pull request #3411 from harfbuzz/draw
[draw] Finish and release draw API
2022-02-15 18:47:55 -06:00
Behdad Esfahbod f567b55619 [face] Use max numGlyphs of maxp and loca 2022-02-15 18:26:43 -06:00
Behdad Esfahbod c8fd8c1337 [ot-face] Use core tables 2022-02-15 18:13:44 -06:00