Behdad Esfahbod
e328ee0254
[glyf] Use memoryview() in decompile for larger glyphs
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
4ff6b3390e
[glyf] Use bytearray() when compiling
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
3252ed10ee
[GlyphCoordinates] Remove unused .isFloat()
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
b63b8ceb8b
[GlyphCoordinates] Remove internal dual representation
...
Always store coordinates as float. Convert to int in __getitem__() if is whole.
This changes observed values. But we never made any guarantees so that's fine.
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
acc56bdf72
[GlyphCoordinates] Faster .zeros()
...
Using .frombytes() since bytes() constructor can make zeros fast.
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
7ef101ccb1
[GlyphCoordinates] Speed up .zeros()
...
Such a pain that this is a speedup...
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
f6e8577476
[GlyphCoordinates] Revert back from double to float
...
We do proper rounding these days, so revert this back.
https://github.com/fonttools/fonttools/pull/964#issuecomment-814511128
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
e9acd9634f
[GlyphCoordinates] Store int data as 4byte, not 2byte
...
The memory increase is negligible, but means that we don't have to
worry about integer overflows anymore.
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
8be2f49b84
[GlyphCoordinates] Speed up __imul__()
...
Like the recent change to __isub__/__iadd__().
This, as well as the other, change do not handle overflows.
Going to fix that now.
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
96690de9a9
[varLib] Optimize out multiplication by 1 when computing deltas
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
77abdad0f7
[GlyphCoordinates] Move identity check to scale() / translate()
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
45e94ff2bd
[GlyphCoordinates] Speed up __isub__() and __iadd__()
2021-04-08 09:41:45 -06:00
Behdad Esfahbod
3892ece50c
[GlyphCoordinates] Remove Jython workaround
2021-04-08 09:41:45 -06:00
Khaled Hosny
cbb33d8aa9
Merge pull request #2259 from fonttools/subset-cpal-0xFFFF
...
subset: fix pruning unused CPAL palettes when 0xFFFF is present
2021-04-06 22:22:46 +02:00
Cosimo Lupo
2136aac0f0
subset: fix pruning unused CPAL palettes when 0xFFFF is present
...
FIxes https://github.com/fonttools/fonttools/issues/2257
2021-04-06 19:43:45 +01:00
Nikolaus Waxweiler
256018953a
Bump version: 4.22.0 → 4.22.1.dev0
2021-04-01 11:18:27 +01:00
Nikolaus Waxweiler
c71275720c
Release 4.22.0
2021-04-01 11:18:26 +01:00
Nikolaus Waxweiler
8735c86e00
Merge pull request #2254 from fonttools/update-news
...
Update NEWS.rst
2021-04-01 11:16:28 +01:00
Nikolaus Waxweiler
fa28e22daf
Update NEWS.rst
2021-04-01 11:11:02 +01:00
Cosimo Lupo
59e4e88d2e
Merge pull request #2249 from fonttools/CFF2fix
...
Add missing CFF2 dict operators
2021-04-01 11:08:24 +01:00
Just van Rossum
bf1b480064
Merge pull request #2251 from justvanrossum/improve-ttfont-getitem
...
[ttLib] Refactored TTFont.__getitem__ somewhat
2021-04-01 12:04:44 +02:00
Just van Rossum
21826f52dd
Merge pull request #2253 from justvanrossum/fix-536
...
[ttLib] TTFont.save: create file on disk as late as possible
2021-03-31 20:27:22 +02:00
justvanrossum
c7e736790f
TTFont.save: create file on disk only after compilation to tmp stream succeeded. This fixes #536
2021-03-31 15:38:39 +02:00
justvanrossum
6ff4444c41
refactored TTFont.__getitem__ somewhat: don't do major work in an exception handler; factor reading table from file into separate function
2021-03-30 21:26:54 +02:00
Zachary Scheuren
41da60f130
Add missing dict operators to CFF2
2021-03-30 21:24:14 +09:00
Behdad Esfahbod
3ce843e44b
Merge pull request #2221 from fonttools/subset-PairPosFormat2-ClassDef2-klass0
...
[subset] Improve PairPosFormat2 subsetting
2021-03-29 11:55:38 -06:00
Cosimo Lupo
a4f42d3b18
subset_test: add tests for PairPos2 useClass0 #2221
2021-03-29 16:18:42 +01:00
Behdad Esfahbod
8c59d4be0c
[subset] Improve PairPosFormat2 subsetting
...
This does two things:
1. Intersect subsetter glyphset with the table's Coverage before
passing to ClassDef1 for subsetting. Anything that doesn't
get past Coverage wouldn't ever get to ClassDef1,
2. Never reuse class0 of ClassDef2. There's unspoken assumption
that ClassDef2's class0 is never used for actual kerning, since
that's the unbounded "every other glyph" class. Previously our
ClassDef subsetter was reusing class0 if "every other glyph"
happened to become empty because of the subset glyphset. Don't
do that for PairPos's ClassDef2. As a result of this assumption,
don't keep a PairPosClass2 subtable if only ClassDef2's class0
survived subsetting.
Would be good to add tests for both.
Related to https://github.com/harfbuzz/harfbuzz/issues/2703
2021-03-29 16:17:27 +01:00
Just van Rossum
5fc65d7168
Misc py23 cleanups ( #2243 )
...
* Replaced all from ...py23 import * with explicit name imports, or removed completely when possible.
* Replaced tounicode() with tostr()
* Changed all BytesIO ans StringIO imports to from io import ..., replaced all UnicodeIO with StringIO.
* Replaced all unichr() with chr()
* Misc minor tweaks and fixes
2021-03-29 11:45:58 +02:00
Just van Rossum
a363bd75a1
Merge pull request #2241 from chrissimpkins/py23-transition-basestring
...
py23 transition: Convert `basestring` to `str`
2021-03-27 16:24:10 +01:00
Chris Simpkins
7abf2e4c75
transition basestring
to str
...
https://github.com/fonttools/fonttools/issues/2232
2021-03-27 10:23:29 -04:00
Cosimo Lupo
c2ba06dccc
Merge pull request #2237 from fonttools/fix-pair-pos-1-value-records
...
[otlLib] Ensure built ValueRecords are padded with 0s like when decompiled
2021-03-24 16:58:55 +00:00
Behdad Esfahbod
1e83650db8
[otlLib] Ensure built SinglePos ValueRecords are padded with 0s
...
Like when they are decompiled.
Part of https://github.com/fonttools/fonttools/pull/2237
2021-03-24 09:26:26 -07:00
Behdad Esfahbod
d961ef5e52
[otlLib] Ensure built PairPos2 ValueRecords are padded with 0s
...
Like when they are decompiled.
Part of https://github.com/fonttools/fonttools/pull/2237
2021-03-24 09:26:26 -07:00
Cosimo Lupo
b1ca16738c
[otlLib] Ensure built PairPos1 ValueRecords are padded with 0s
...
Like when decompiled.
See 2089d05126 (r48578120)
Part of https://github.com/fonttools/fonttools/pull/2237
2021-03-24 09:25:42 -07:00
Behdad Esfahbod
0e5fe2d1d7
Merge pull request #2236 from fonttools/feaLib-no-compile-fixups
...
[feaLib] Test that G* table compilation does not change data
2021-03-24 08:28:16 -07:00
Behdad Esfahbod
67bbabcdea
Remove run-tests.sh
...
I'm the only one who was using it. Remove now that pytest is what we
call.
2021-03-24 08:05:05 -07:00
Behdad Esfahbod
d0aaf1bceb
[feaLib] Set RangeStart/RangeEnd as float
...
Fixes the one failing test after previous commit.
2021-03-24 08:04:14 -07:00
Behdad Esfahbod
7297659c0b
Merge pull request #2238 from fonttools/no-unused-Format
...
Remove .Format from Coverage, ClassDef, SingleSubst, LigatureSubst, AlternateSubst
2021-03-24 07:59:13 -07:00
Nikolaus Waxweiler
cc76169074
Test that G* table compilation does not change data
2021-03-24 07:58:42 -07:00
Behdad Esfahbod
6243a24a09
[otBase] Delete .Format if was introduced by .preWrite()
...
https://github.com/fonttools/fonttools/pull/2238#issuecomment-805192631
2021-03-23 18:13:07 -07:00
Behdad Esfahbod
2a483f9856
[Tests] Fix most test expectations for AlternateSubst .Format removal
2021-03-23 18:01:32 -07:00
Behdad Esfahbod
03d0a62078
Remove .Format from MultipleSubst as well
2021-03-23 18:01:06 -07:00
Behdad Esfahbod
8f79235d00
[Tests] Remove hack after Coverage .Format removal
2021-03-23 11:44:13 -07:00
Behdad Esfahbod
d6bdfba587
[Tests] Fix more test expectations for SingleSubst .Format removal
2021-03-23 11:43:55 -07:00
Behdad Esfahbod
6b2b2f4949
[Tests] Fix most test expectations for ClassDef[12] .Format removal
2021-03-23 11:43:46 -07:00
Behdad Esfahbod
9ac1f39045
[Tests] Fix most test expectations for AlternateSubst .Format removal
2021-03-23 11:43:22 -07:00
Behdad Esfahbod
b62170e86d
[Tests] Fix most tests expectations for LigatureSubst .Format change
2021-03-23 11:43:15 -07:00
Behdad Esfahbod
61b06a7fe0
[Tests] Fix most tests expectations for SingleSubst .Format change
2021-03-23 11:43:03 -07:00
Behdad Esfahbod
de81aae164
[Tests] Fix more tests expectations for Coverage/ClassDef .Format change
2021-03-23 11:42:54 -07:00