7040 Commits

Author SHA1 Message Date
Behdad Esfahbod
0572f78718 [svgPathPen] Add --glyphs 2024-01-30 13:45:25 -08:00
Behdad Esfahbod
16991a8cd2 [varLib] Remove unused code 2024-01-26 12:20:34 -08:00
Thatchapon Unprasert
447c9e1887
Support sbix Glyphs with graphicType "flip" (#3433)
* Support sbix Glyphs with graphicType = "flip"

Since iOS 17.4 beta, Apple introduced the "flip" graphic type for the sbix glyphs to reference the another glyph to be flipped by their render engine. Their use case is for directional emojis.

Example emoji: https://emojipedia.org/woman_walking_facing_right#technical

This is the example of the output XML after this PR:

```
<glyph graphicType="flip" name="u1F3C3.0.M.u27A1" originOffsetX="0" originOffsetY="0">
    <ref glyphname="u1F3C3.0.M" />
</glyph>
```

Before, it was just `<hexdata>` with some data in it.
2024-01-26 11:09:44 +00:00
Qunxin Liu
3e548ff29c fix bug in instancer iup optimization
pass in correct value to tolerance
2024-01-25 16:18:24 -08: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
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
701b06f3c6
[varLib]: do not log when there are no OTL tables to be merged 2024-01-11 12:00:08 +00:00
Khaled Hosny
6f5a2d0b34 Bump version: 4.47.2 → 4.47.3.dev0 2024-01-11 12:40:30 +02:00
Khaled Hosny
c97d60907d Release 4.47.2 2024-01-11 12:40:30 +02:00
Khaled Hosny
ad7ee2fc68 Bump version: 4.47.1 → 4.47.2.dev0 2024-01-11 12:16:32 +02:00
Khaled Hosny
7d5fca3eb5 Release 4.47.1 2024-01-11 12:16:27 +02: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
Cosimo Lupo
6388cfd6ea
Merge pull request #3406 from fonttools/stat-addname-ttfont
[otlLib] Pass ttFont to name.addName in buildStatTable
2024-01-09 16:15:45 +00:00
Jan Kučera
549ce732bf [merge] linter fixes 2024-01-08 16:12:26 +00:00
Jan Kučera
b034d5611f [merge] usage help 2024-01-08 15:07:02 +00:00
Jan Kučera
0d1c8b98b6 [merge] --import-file 2024-01-07 18:37:52 +00:00
Jan Kučera
08ae1dfe7f [merge] print merging keys when verbose 2024-01-07 18:00:23 +00:00
Jan Kučera
42c24a4735 [merge] args help 2024-01-07 17:12:53 +00:00
Jan Kučera
d975087ca2 [merge] --input-file 2024-01-07 16:40:05 +00:00
Jan Kučera
8df24b1b1f [merge] --output-file to Options 2024-01-07 15:59:33 +00:00
Khaled Hosny
c65dba41bb [otlLib] Pass ttFont to name.addName in buildStatTable
Avoids ltag warning similar to:
ae31d056051a28c39bc60fa2b827bc14efcef287
2024-01-07 14:37:53 +02:00
Behdad Esfahbod
62d54b03d3 [interpolatable] Remove unused code 2024-01-04 09:30:33 -07:00
Behdad Esfahbod
348774af36 [interpolatable] Disable overweight again
It mostly produces false-positives still.
2024-01-03 16:23:17 -07:00
Behdad Esfahbod
03c0d78489 [interpolatable] Enable overweight test
Very conservative.
2024-01-03 15:56:52 -07:00
Cosimo Lupo
2dc887c894
Bump version: 4.47.0 → 4.47.1.dev0 2023-12-18 18:13:40 +00:00
Cosimo Lupo
0ad281cdfd
Release 4.47.0 2023-12-18 18:13:39 +00:00
Behdad Esfahbod
71f7515ef5 [interpolatable] Speed up by removing unused data 2023-12-14 11:04:23 -07:00
Behdad Esfahbod
7fc14d81fa [interpolatablePlot] Reformat
Mostly resize to fit Letter paper size, and misc adjustments.
2023-12-14 10:22:15 -07:00
Behdad Esfahbod
0906c75dc1 [interpolatable] Rename variable 2023-12-14 10:20:32 -07:00
Behdad Esfahbod
7980707fe2 [interpolatable] Add Summary page to the front 2023-12-14 10:19:39 -07:00
Behdad Esfahbod
a5c056e088 [interpolatablePlot] Add Summary to PS/PDF output 2023-12-14 10:19:39 -07:00
Behdad Esfahbod
ff7d51b395 [interpolatablePlot] Add Index by glyphname 2023-12-14 10:19:39 -07:00
Behdad Esfahbod
f43cac5c57 [interpolatablePlot] Add table-of-contents at the end of PS/PDF 2023-12-14 10:19:39 -07:00
Behdad Esfahbod
c13463b6da [interpolatable] Merge PS/PDF code path 2023-12-14 10:19:39 -07:00
Behdad Esfahbod
aad3707227 [interpolatable] Minor simplify
https://github.com/fonttools/fonttools/pull/3391#pullrequestreview-1782022118
2023-12-14 08:20:52 -07:00
Behdad Esfahbod
a8f10ac4f2 [interpolatable] Support .glyphspackage
Fixes https://github.com/fonttools/fonttools/issues/3390

Untested.
2023-12-14 09:05:40 -05:00
Behdad Esfahbod
33d8b4633c [interpolatable] Fix typo 2023-12-13 19:19:31 -07:00
Behdad Esfahbod
0c5cb3b0ca
Merge pull request #3386 from fonttools/interpolate-from-master-scalars
[varLib.models] Add interpolateFromValuesAndScalars()
2023-12-12 06:44:12 -05:00
Behdad Esfahbod
36e2c6dcd3 [varLib.models] Simplify based on review 2023-12-12 04:39:05 -07:00
Behdad Esfahbod
86b2bf62e6 [varLib.models] Change interpolateFromMasters implementation 2023-12-11 18:55:54 -07:00
Behdad Esfahbod
381b55b936 [varLib.models] Refactor common logic 2023-12-11 18:54:16 -07:00
Just van Rossum
4826f9b016
Fix help string for AXIS=LOC 2023-12-11 15:59:30 +01:00
Behdad Esfahbod
455fc87081 [varLib.merger] Use new API for faster interpolation in Instancer 2023-12-10 18:40:48 -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
Cosimo Lupo
a5b3305edb
[interpolatable] ensure parent directory for various output paths
Fixes https://github.com/fonttools/fonttools/issues/3383
2023-12-08 15:18:33 +00:00
Cosimo Lupo
dd8102673d
Merge pull request #3380 from fonttools/getMasterScalars
[varLib.models] Add getMasterScalars
2023-12-08 14:30:21 +00:00
Behdad Esfahbod
754762d97d [interpolatable] Remove a couple unused lines 2023-12-07 17:03:17 -07:00