Cosimo Lupo
af6804bed5
make USE_HARFBUZZ_REPACKER a 3-state option, defaults to auto
...
if explicitly enabled, it will raise ImportError if uharfbuzz is not found, and will propagate the uharfbuzz error instead of silently falling back to the pure-python serializer
2022-04-21 18:11:20 +01:00
Cosimo Lupo
7588062413
[configTools] remove cached set and simplify checking option id
2022-04-21 17:18:32 +01:00
Cosimo Lupo
e9bec87d1a
[configTools] Make Option eq=False so cmp/hash by id
2022-04-21 16:21:53 +01:00
Cosimo Lupo
ade9ce1173
[testTools] FakeFont needs a cfg attribute too
2022-04-21 15:56:11 +01:00
Cosimo Lupo
ec79257960
[optimize.gpos] declare/re-export option from module
2022-04-21 15:46:12 +01:00
Cosimo Lupo
4160f05242
[subset_test] test disabling hb repacker, and capture logging
2022-04-21 15:46:12 +01:00
Cosimo Lupo
1bb9607b72
[subset] add --no-harfbuzz-repacker CLI flag
2022-04-21 15:46:12 +01:00
Cosimo Lupo
c204537073
[otBase] check USE_HARFBUZZ_REPACKER in TTFont.cfg, add more logging
2022-04-21 15:46:12 +01:00
Cosimo Lupo
fea57a5cea
[config] register USE_HARFBUZZ_REPACKER option
2022-04-21 15:46:12 +01:00
Cosimo Lupo
e5d674ea5e
[configTools] accept either str or Option in Config mapping API
2022-04-21 15:46:12 +01:00
Cosimo Lupo
9a0dfbd403
[configTools] add copy constructor to Options
2022-04-21 14:31:58 +01:00
Cosimo Lupo
5aa8986179
[configTools] add __repr__ to Options mapping
...
print the default value only for brevity
2022-04-21 14:31:58 +01:00
Cosimo Lupo
cc6b12582c
Merge pull request #2588 from fonttools/hb-repack-mock-test
...
mock hb.repack error to test pure-python serializer gets used on failure
2022-04-19 16:19:10 +01:00
Cosimo Lupo
f6e212cc2d
subset_test: mock hb.repack raising an error to test pure-python fallback
2022-04-19 15:40:58 +01:00
Cosimo Lupo
822bbb2c69
subset_test: remove unused return value
2022-04-19 15:40:58 +01:00
Cosimo Lupo
60d2727a9b
subset_test: convert from unittest to pytest-style tests
2022-04-19 15:40:58 +01:00
Just van Rossum
a293606fc8
Merge pull request #2585 from justvanrossum/cmap-minor-cleanup
...
[cmap] don't handle expected case in exception handler
2022-04-19 11:44:27 +02:00
Just van Rossum
0ffe320b77
[cmap] don't handle expected case in exception handler, to avoid confusing tracebacks, such as seen in #2584
2022-04-18 09:15:01 +02:00
Cosimo Lupo
e92dd05101
Merge pull request #2552 from qxliu76/add_hb_repack
...
Use Harfbuzz Repacker for packing GSUB/GPOS tables
2022-04-14 20:03:18 +01:00
Cosimo Lupo
2c458719de
Merge pull request #2580 from skef/bg1899
...
Handle implicit CFF2 closepath within T2OutlineExtractor
2022-04-14 20:03:01 +01:00
Qunxin Liu
fe196bf88e
Use Harfbuzz Repacker for packing GSUB/GPOS tables
2022-04-14 10:42:50 -07:00
Jany Belluz
afa0998be2
Merge pull request #2416 from daltonmaag/add-conf
...
Add config module as per #2349
2022-04-14 16:54:18 +02:00
Jany Belluz
dbef683624
[config] Add documentation
2022-04-14 15:23:38 +01:00
Jany Belluz
268fbac85c
[config] Add tests
2022-04-14 15:23:22 +01:00
Jany Belluz
abc0441957
[config] Add new config module and use it for GPOS compression level
2022-04-14 15:23:02 +01:00
Jany Belluz
e530c2fa1c
[misc] Add new configTools module
2022-04-14 15:20:52 +01:00
Skef Iterum
520ee0236d
Handle implicit CFF2 closePath within T2OutlineExtractor
2022-04-14 07:19:44 -07:00
Jany Belluz
5b3db49d72
Merge pull request #2436 from daltonmaag/impl-designspace-v5
2022-04-14 16:16:32 +02:00
Jany Belluz
2ea5dc3496
[varLib] Add support for designspace 5 + STAT generation + tests
2022-04-14 15:05:50 +01:00
Jany Belluz
5a842cc249
[designspaceLib] Update documentation and add version 5
2022-04-14 15:05:20 +01:00
Jany Belluz
a7974986c3
[designspaceLib] Add designspace 5 tests
2022-04-14 15:04:38 +01:00
Jany Belluz
35e560603e
[designspaceLib] Add designspace 5 code
2022-04-14 15:03:58 +01:00
Just van Rossum
169731c7f5
[CFF/T2] Ensure that pen.closePath() gets called for CFF2 charstrings ( #2577 )
...
* [CFF/T2] Make sure to call pen.closePath() at the end of a CFF2/T2 charstring. Fixes #2455
* Add test case to verify pen.closePath() behavior
2022-04-09 14:50:59 +02:00
justvanrossum
c6cd6cf421
[TTFont] sync doc string with the one in _c_m_a_p.py (see also #1367 )
2022-04-09 08:31:03 +02:00
Behdad Esfahbod
17f71c0eb7
[cmap] Document rationale for getBestCmap choice of subtable
...
Fixes https://github.com/fonttools/fonttools/issues/1367
2022-04-08 13:27:44 -06:00
Cosimo Lupo
43e4315009
Bump version: 4.32.0 → 4.32.1.dev0
2022-04-08 16:07:06 +01:00
Cosimo Lupo
84f3c50099
Release 4.32.0
2022-04-08 16:07:06 +01:00
Cosimo Lupo
ae7ae9a5e5
Update changelog
2022-04-08 16:06:52 +01:00
Simon Cozens
2d62a2ac9e
Disable GSUB5 optimization ( #2540 )
...
* Disable GSUB5/GPOS7 optimization
* Revert "Fixup test expectations"
This reverts commit 7db13c9872884772312727e3478fb36ed9883004.
* Revert "Rename GPOS8->GPOS7"
This reverts commit 6d4c5fe31c9199e6d3e46cd0808e7640d1610e75.
* Revert "Fix varlib test expectations - now badly named."
This reverts commit 4adea942cc73b6afe58e00278da6cb3795935970.
* Allow GSUB5, disable GPOS7
* Revert "Revert "Fixup test expectations""
This reverts commit 42993ae6917f8f6e4c31f4be123caca24d27d2da.
* Fix up expectations
2022-04-08 15:54:34 +01:00
Cosimo Lupo
7ee2c9d891
testTools: factor our method to strip variable items from ttx dumps
...
it was scattered here and there, so define it once and reuse everywhere needed
2022-04-05 18:34:30 +01:00
justvanrossum
9ffb2e0f75
removed cringy comments from a long long long long time ago
2022-04-05 17:02:34 +02:00
Behdad Esfahbod
cace698bb0
Merge pull request #2571 from fonttools/interpolatable-contour-starting-point
...
[varLib.interpolatable] Check for wrong contour starting point
2022-04-01 15:22:24 -06:00
Behdad Esfahbod
f0214415cc
[interpolatable] Fix assert
2022-04-01 14:36:03 -06:00
Behdad Esfahbod
86b5d7103d
[interpolatable] Downgrade assert
2022-04-01 14:00:22 -06:00
Behdad Esfahbod
6b4e2e7147
[ufoLib / interpolatable] Wire up outputImpliedClosingLine parameter
...
ufoLib's glyph draw() was passing outputImpliedClosingLine=False to
PointToSegmentPen(). This was causing incompatible nodes in
interpolatable tool for certain fonts, like this in NotoSansDevanagari:
Glyph dabhadeva was not compatible:
Node count differs in path 1: 23 in NotoSansDevanagari-Bold, 24 in NotoSansDevanagari-CondensedBold
Node count differs in path 1: 24 in NotoSansDevanagari-CondensedBold, 23 in NotoSansDevanagari-CondensedLight
Because a final lineto before a closepath was being elided or not in
some masters but not others. Wire up the parameter and control it
from interpolatable tool to fix this.
2022-04-01 13:14:39 -06:00
Behdad Esfahbod
3165cc132a
[interpolatable] Add mirrored rotated contour for starting-point check
...
This further found an issue in NotoSansArabic which I visually verified:
Glyph qafLamAlefMaksuraabove-ar was not compatible:
Contour start point differs: NotoSansArabic-CondensedLight, NotoSansArabic-CondensedSemiBold
Contour start point differs: NotoSansArabic-CondensedLight, NotoSansArabic-CondensedSemiBold
Contour start point differs: NotoSansArabic-CondensedSemiBold, NotoSansArabic-Condensed
Contour start point differs: NotoSansArabic-CondensedSemiBold, NotoSansArabic-Condensed
2022-03-31 20:23:54 -06:00
Behdad Esfahbod
9e96b95467
[interpolatable] Don't keep contour-start-point index
2022-03-31 20:18:44 -06:00
Behdad Esfahbod
b705bcdc8f
[interpolatable] When checking for contour start point error allow for 5% error
2022-03-31 20:16:55 -06:00
Behdad Esfahbod
745631d16b
[interpolatable] In diff-contour-order, allow for 5% cost difference
...
Reduces false-positives, as in this one in NotoSansArabic:
Glyph asteriskArt-ar was not compatible:
Contour order differs: [0, 1, 2, 3, 4, 5] in NotoSansArabic-CondensedBold, [0, 3, 2, 1, 4, 5] in NotoSansArabic-CondensedLight
2022-03-31 19:52:48 -06:00
Behdad Esfahbod
3a846a5389
[interpolatable] Remove the empirical high-cost error
...
This was very empirical and has no theoretical background. Experiment
shows that this is mostly false-positive.
2022-03-31 19:37:00 -06:00