Behdad Esfahbod
b1142b60cb
[VARC] Adjust to latest flags change
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
297e0bd257
[VARC] Use var-int encoding for AxisIndicesIndex
...
Slightly larger fonts, but more consistency, and freed
a flag bit.
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
6a09096800
[VARC] Use variable-length encoding for VarIdx'es
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
c3dfe10cce
[VARC] Use TupleVariations tuple encoding for axisValues
...
Free improvement.
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
e88e47f8ff
[VARC] Take a stab at instancing
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
902b2a194e
[VARC] Fix scaleUpem
...
Instancing left.
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
a7ca67ada8
[VARC] Update subsetting
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
c91984ef77
[VARC] Use sparse-regions in MultiVarStore
...
Might revert as the savings are small.
https://github.com/harfbuzz/boring-expansion-spec/issues/103#issuecomment-1861531669
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
0f0148e54a
[VARC/scaleUpem] Implement
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
f24808c58c
Black
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
ce3e260955
[VARC/test] Update the rest of the test expectations
...
We're using a different font for varc-ac00-ac01...
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
28385ec07e
[VARC/test] Adjust test
...
This subset font is from a different source and has
different glyphs.
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
22e02ccb47
[VARC/test] Adjust a test
...
This worked with the previous font it seems, but not with
the new font. Or maybe I've screwed up something...
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
ebd877bbcb
[VARC/test] Start adding
2024-05-22 18:46:06 -06:00
Behdad Esfahbod
3ff2ee61e1
Move lazy datastructures to misc.lazyTools
2024-05-22 18:45:28 -06:00
Behdad Esfahbod
c952237ed3
[otConverters] Make _LazyList generic
2024-05-22 18:45:27 -06:00
Behdad Esfahbod
65cc8bfb3c
Merge pull request #3506 from fonttools/cff2-instancing
...
[instancer] CFF2 instancing
2024-05-17 13:17:12 -07:00
Khaled Hosny
dbe1264b34
[subset] Prune unused user name IDs even with --name-IDs='*'
...
This option should affect only pre-defined name IDs, user name IDs
should be pruned when nit used, as usual.
Fixes https://github.com/fonttools/fonttools/issues/3508
2024-05-17 19:26:19 +03:00
Cosimo Lupo
511024bdc9
[ttx] use GNU-style getopt to intermix options and positional arguments
...
Fixes https://github.com/fonttools/fonttools/issues/3507
2024-05-17 12:07:59 +01:00
Behdad Esfahbod
0a7433f847
[cffLib] Add CFF<->CFF2 convertors that work on otFont
2024-05-16 16:29:22 -07:00
Behdad Esfahbod
60e30fe008
[cffLib] Add a simple (and quite possibly incomplete) convertCFF2ToCFF()
2024-05-15 17:33:00 -07:00
Behdad Esfahbod
17474e19a4
[instancer/CFF2] Yet another test
2024-05-14 14:04:12 -06:00
Behdad Esfahbod
267fa79cca
[instancer/CFF2] Add another test
...
This one has private blend values.
2024-05-14 13:47:08 -06:00
Behdad Esfahbod
b3dc48a967
[instancer/CFF2] Micro-optimize commands
2024-05-14 13:39:09 -06:00
Behdad Esfahbod
1011d7e996
[instancer/CFF2] Add another test
2024-05-14 13:34:20 -06:00
Behdad Esfahbod
6d915fc816
[instancer/CFF2] Add test
2024-05-14 12:28:00 -06:00
David Corbett
0738c41dfb
[psCharStrings] Shorten output of encodeFloat
2024-05-10 18:47:23 -07:00
Behdad Esfahbod
2ce45c2861
[bezierTools] Fix infinite-recursion in calcCubicArcLength
...
Fixes https://github.com/fonttools/fonttools/issues/3502
2024-05-07 08:54:42 -07:00
Behdad Esfahbod
d4fd62dc1e
Fix build. Sorry
2024-04-30 13:28:57 -06:00
Behdad Esfahbod
705acc994f
Merge pull request #3473 from fonttools/avar2-modules
...
[avar2] Implement avar2 support in ttGlyphSet.
2024-04-06 07:59:22 -05:00
Behdad Esfahbod
2f80d6a176
[interpolatable] Remove obsolete comment
...
Well, it won't be true anymore when varc-table branch merges.
2024-04-02 13:28:45 -06:00
Behdad Esfahbod
d590feba99
[avar] Add test for ttGlyphSet support
2024-04-02 11:42:42 -06:00
Khaled Hosny
fae87446a8
Add some basic tests for reorderGlyphs
2024-03-30 17:22:38 -06:00
Cosimo Lupo
f15857cf3f
filterPen_test: add tests for decomposing filter pens
2024-03-05 15:58:42 +00:00
Cosimo Lupo
345d6b2f81
[instancer] drop explicit no-op axes from tuplevariations
...
Fixes #3453
2024-03-04 15:25:48 +00:00
Cosimo Lupo
f02813bd54
[cu2qu/ufo] return set of modified glyph names from fonts_to_quadratic
...
In ufo2ft preProcessor, we need to know which specific glyphs were actually modified (converted to quadratic), in order to do other things while processing filters, not simply if the fonts were modified as a whole; thus, here I changed fonts_to_quadratic to return the set of modified glyph names instead of just True/False. The change is backward compatible because code that checks whether the returned value is True/False will continue to work since bool(set) is True for non-empty set, False for empty ones.
2024-03-04 12:11:09 +00:00
Khaled Hosny
0f953cccd8
[otlLib] Support building MATH table
2024-02-14 02:48:13 +02:00
Behdad Esfahbod
4d3d8c5aba
[designspace] Update test to exercise multiple <mappings>
2024-02-05 16:10:58 -07:00
Cosimo Lupo
96054e8152
[otlLib] choose most compact contextual lookup format ( #3439 )
...
* [otlLib] chose most compact contextual lookup format
Fixes https://github.com/fonttools/fonttools/issues/2934
2024-02-05 16:59:29 +00:00
Behdad Esfahbod
1e989abec4
[designspaceLib] Add "description" to <mappings> and <mapping>
...
Fixes https://github.com/fonttools/fonttools/issues/3435
2024-02-05 09:58:51 -07:00
Cosimo Lupo
6ff7d00e06
[feaLib] fix ordering of alternates in aalt lookups
...
Fixes https://github.com/fonttools/fonttools/issues/2937
2024-01-25 13:25:41 +00:00
Cosimo Lupo
796f677225
restore original spec5d1.fea example and modify expected ttx instead
2024-01-24 16:41:34 +00:00
Cosimo Lupo
957b5fb45a
don't sort product of liga components to keep declaration order
...
technically we are tweaking the original example from the spec but it keeps the spirit, so that the product of glyph classes produces the same representation in the font as if the sequences were manually enumerated (while keeping the declaration order)
2024-01-24 12:59:00 +00:00
Cosimo Lupo
f96b2128a1
[feaLib] keep declaration order of ligatures within ligature set
...
Fixes #3428
2024-01-24 12:59:00 +00:00
Jens Kutilek
7cdac78423
Add transformRoundFunc parameter to RoundingPens ( #3426 )
...
* Add optional transformRoundFunc to RoundingPen and RoundingPointPen
* Add tests
* Add doc about comparing UFO to TTF glyphs
* Use floatToFixedToFloat for example with rounding
2024-01-23 18:59:09 +01:00
Khaled Hosny
2616ab959c
feaLib: Drop glyph and class names length limit
...
These were implemented to follow FEA spec, but makeotf does not seem to
have a name length limit any more (or it has a very large one, I tested
a 600-character name and it was accepted).
Fixes https://github.com/googlefonts/ufo2ft/issues/588
See also https://github.com/googlefonts/ufo2ft/pull/811#discussion_r1461667058
2024-01-22 16:38:54 +02:00
Cosimo Lupo
b8b1bc4341
path_test: fix parsing xml declaration
...
the latest lxml.etree.fromstring complains with syntax error when the xml declaration contain 'standalone' but does not contain encoding, apparently the xml declaration attributes have predefined order
2024-01-15 17:21:17 +00:00
خالد حسني (Khaled Hosny)
1c25210360
[featureVars] Re-use FeatureVariationRecord's when possible
...
If a FeatureVariationRecord with the same ConditionTable exists re-use
it and append FeatureTableSubstitutionRecord’s.
Without this, in the following feature code only the first lookup will
be applied since there will be two FeatureVariationRecord with the same
ConditionTable, so the first will be matched and the other will be
skipped:
conditionset test {
wght 600 1000;
wdth 150 200;
} test;
variation ccmp test {
sub e by a;
} ccmp;
variation rlig test {
sub b by c;
} rlig;
With this change only one FeatureVariationRecord will be created with
two FeatureTableSubstitutionRecord’s.
2024-01-10 19:06:26 +02:00
Behdad Esfahbod
36e2c6dcd3
[varLib.models] Simplify based on review
2023-12-12 04:39:05 -07:00
Behdad Esfahbod
5a5898c824
[varLib.models] Add interpolateFromMastersAndMasterScalars()
...
Faster than the alternative way to calculate them.
2023-12-10 17:15:42 -07:00