7117 Commits

Author SHA1 Message Date
Behdad Esfahbod
ade8ff627d [CFFToCFF2] Process charstrings before TopDict
Otherwise it fails for charset fonts.
2024-05-17 08:22:41 -07:00
Behdad Esfahbod
4e57e36c8b Typo 2024-05-16 18:17:40 -07:00
Behdad Esfahbod
d684952b6c [CFFToCFF2] Upconvert subroutines and charstrings
Also drop explicit width. See comments.
2024-05-16 18:04:59 -07:00
Behdad Esfahbod
f2006eb54f [merge] Add Ouch! 2024-05-16 17:41:29 -07:00
Behdad Esfahbod
53e141fc41 [cffLib.CFF2ToCFF] Update post table version if needed 2024-05-16 16:34:24 -07:00
Behdad Esfahbod
0a7433f847 [cffLib] Add CFF<->CFF2 convertors that work on otFont 2024-05-16 16:29:22 -07:00
Behdad Esfahbod
b009b614f3 [cffLib.CFF2ToCFF] Fixup 2024-05-16 16:16:14 -07:00
Behdad Esfahbod
1d1b7eb2f2 [cffLib] Add --verbose / --quiet to convertors
As well as actually save!
2024-05-16 16:07:03 -07:00
Behdad Esfahbod
ec36fe74d5 [cffLib / varLib] Merge two impls of convertCFFToCFF2
Fixes https://github.com/fonttools/fonttools/issues/1835
2024-05-16 15:57:31 -07:00
Behdad Esfahbod
4384eef42e [cffLib] Comment 2024-05-16 15:33:22 -07:00
Behdad Esfahbod
39ec4e6c0c [cffLib] Add CFFToCFF2 and CFF2ToCFF cmdline and module
The CFF2ToCFF module is rather solid, at least IMO.

This takes convertCFFToCFF2 from cffLib. Apparently there's a more
complete one in varLib.cff:

https://github.com/fonttools/fonttools/issues/1835

Should merge the two and finish them.
2024-05-16 10:47:24 -07:00
Behdad Esfahbod
60e30fe008 [cffLib] Add a simple (and quite possibly incomplete) convertCFF2ToCFF() 2024-05-15 17:33:00 -07:00
Behdad Esfahbod
c06e8ba1e8 [instancer/CFF2] Comment 2024-05-14 18:26:35 -06:00
Behdad Esfahbod
c22f7d5af4 [cffLib.specializer] Simplify vsindex protocol 2024-05-14 18:13:51 -06:00
Behdad Esfahbod
3d2df43a67 [instancer/CFF2] Comment 2024-05-14 17:13:21 -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
Behdad Esfahbod
cbec49c72c [cffLib] A couple of fixups
In particular, I don't know why we were appending a 'return'
at the end of CFF2 desubroutinized charstrings!
2024-05-14 11:56:15 -06:00
Behdad Esfahbod
1891a7220d [instancer/CFF2] Fixups 2024-05-14 11:11:39 -06:00
Behdad Esfahbod
385c2cb979 [instancer/CFF2] Instantiate private-dict values 2024-05-14 11:11:25 -06:00
Behdad Esfahbod
bdd42f14fc [instancer/CFF2] Fixups with used-vsindex handing
vsindex 0 is implied.

Also, add Unimplemented code for private-dict variable
values. I couldn't find any fonts using them, so for
now they remain unimplemented.
2024-05-14 01:15:04 -06:00
Behdad Esfahbod
68f87dd850 [instancer/CFF2] Fix tests
gvar is removed by the time we get to hmtx/vmtx subsetting.
2024-05-14 00:47:39 -06:00
Behdad Esfahbod
21fb882e67 [instancer/CFF2] Prune ununsed data 2024-05-14 00:35:09 -06:00
Behdad Esfahbod
6f85ebb02c [instancer/CFF2] Full-instancing 2024-05-14 00:11:29 -06:00
Behdad Esfahbod
ae18197f6f [instancer/CFF2] Instantiate hmtx/vmtx 2024-05-14 00:11:29 -06:00
Behdad Esfahbod
c9ed0d1348 [instancer/CFF2] Minor sanity check 2024-05-14 00:11:29 -06:00
Behdad Esfahbod
f6c72eabf9 [instancer/CFF2] Add specialize and generalize arguments 2024-05-14 00:11:29 -06:00
Behdad Esfahbod
bb9a23702b [instancer] Instantiate CFF2! 2024-05-14 00:11:29 -06:00
Behdad Esfahbod
969d09dcaf [instancer] Fix name decision-making
All limits are tuple these days.
2024-05-14 00:10:50 -06:00
Behdad Esfahbod
9f51fac512 [cffLib] Make sure we compile VarStore
Ouch. Took me a while to find this bug. If data is set,
it will be reused and no compilation happens.
2024-05-13 22:47:22 -06:00
Behdad Esfahbod
ce78d2c88f Typo 2024-05-13 17:17:30 -06:00
Just van Rossum
24cb4e0dcf
[feaLib.variableScalar] fix value_at_location() method (#3491) 2024-05-13 08:48:59 +01: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
Simon Cozens
9acbd12637
Better failure mode for sstruct (#3500)
* Check format fits and give sensible error if not

* sstruct.getformat now returns dictionaries, merge them
2024-05-07 14:01:46 +01:00
Behdad Esfahbod
8c32511e5a Hide cu2qu.cli from --help 2024-04-30 13:23:56 -06:00
Behdad Esfahbod
1d802db723 Remove qu2cu.cli from --help 2024-04-30 13:22:58 -06:00
Behdad Esfahbod
fbe2dc846c Fix --help showing qu2cu.qu2cu 2024-04-30 13:22:02 -06:00
Behdad Esfahbod
70b5456387 [cu2qu/qu2cu] Don't show benchmark module in --help 2024-04-30 13:14:07 -06:00
Behdad Esfahbod
a25e584955 [removeOverlaps] Show in --help 2024-04-30 13:13:53 -06:00
Behdad Esfahbod
e724acd41e [instancer] Raise NotImplementedError if avar2 VarStore present 2024-04-15 08:21:14 -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
Khaled Hosny
fbe4765460 Bump version: 4.51.0 → 4.51.1.dev0 2024-04-05 16:10:47 +02:00
Khaled Hosny
a1a5af2f1f Release 4.51.0 2024-04-05 16:10:46 +02:00
Behdad Esfahbod
ed092f2552 [avar] Raise exception instead of assert 2024-04-03 07:55:04 -06:00
Behdad Esfahbod
ff4100f309 Remove unused import 2024-04-03 07:24:53 -06:00
Behdad Esfahbod
6a2a204cc3 [interpolatable] Support avar2 in the .ttf codepath 2024-04-02 13:20:19 -06:00
Behdad Esfahbod
6e0acc9e4b Add a couple of __getitem__'s 2024-04-02 10:38:36 -06:00
Behdad Esfahbod
bf6ff3b514 [avar] Add support for mapping avar2
Untested.
2024-04-02 10:23:09 -06:00