2222 Commits

Author SHA1 Message Date
Behdad Esfahbod
24eb3f7197 [otData] Fix DeltaValue repeat value
The "" marker is used when a custom converter expects a list.
For DeltaValues, we expect a list as a single value, not a list
to be enumerated in XML. So, None is appropriate here. Cryptic,
I know...

Fixes https://github.com/fonttools/fonttools/pull/3757
2025-01-30 13:52:03 +00:00
خالد حسني (Khaled Hosny)
b467579c8d
Merge pull request #3720 from n8willis/ttLib
[Docs] ttLib: higher-level navigation and helper documentation
2025-01-29 23:23:17 +02:00
Cosimo Lupo
bddedc1bc1 restrict the rounding to where strictly needed
we don't need to round all simple glyphs' coordinates (which may be costly), only when these are used as components with an interesting transform
2025-01-24 18:05:18 +00:00
Cosimo Lupo
4ea10eb88f [glyf] fix rounding of bbox for nested transformed components
when getCoordinates is asked to round, e.g. from recalcBounds, only round the simple glyphs' coordinates; don't do any rounding for the coordinates of component glyphs otherwise rounding errors would accummulate if a composite glyph contains transformed/nested components
2025-01-24 15:10:18 +00:00
Cosimo Lupo
ec5d41929f [glyf] fix recalcBounds of transformed components with unrounded coordinates
Fixes https://github.com/googlefonts/fontc/issues/1206
2025-01-23 11:19:30 +00:00
Andrew Suzuki
68dbfba5c4 Ensure names attr exists on table__n_a_m_e 2024-12-22 10:44:06 -05:00
Nathan Williis
1b6b5872bb Black. 2024-12-07 17:23:09 +00:00
Nathan Williis
ba77dbe696 Fix broken code block syntax. 2024-12-07 16:58:58 +00:00
Nathan Williis
7d5c516b9a Fix broken list in bfs_base_table docstring. 2024-12-07 16:58:12 +00:00
Nathan Williis
3584705ea2 [Docs] Fix docstring formatting. 2024-12-06 14:05:31 +00:00
n8willis
02cc44530b
Merge pull request #3716 from n8willis/master
[Docs] Fill out ttLib table section. Part of a bottom-up docs rework for ttLib.

Note that 23546cf changes the `import`s for ttLib/tables/_g_v_a_r.py to un-confuse autodoc.
2024-12-06 12:16:54 +00:00
Nathan Williis
23546cfaa9 [Docs] Import TupeVariation class directly in gvar table module. Fixes a Sphinx autodoc confusion. 2024-12-06 11:38:09 +00:00
Nathan Williis
314eee05c7 [Docs] Fix docstring typo in gcid table module. 2024-12-06 11:37:17 +00:00
Nathan Williis
e5eb053105 Docs: add boilerplate docstrings to table converters. Mostly links to reference specs. 2024-12-04 15:58:46 +00:00
Behdad Esfahbod
1773f7b0ad [ttGlyphSet] Support VARC CFF2 fonts 2024-12-02 13:59:39 -07:00
ftCLI
1cb153b2c5 Remove unused imports from reorderGlyphs.py 2024-11-05 17:42:26 +01:00
ftCLI
a238ed2c31 Remove '.notdef' glyph handling code 2024-11-05 17:10:39 +01:00
ftCLI
ea59c39e21 Ensure '.notdef' is first glyph and update CFF table 2024-11-05 16:36:36 +01:00
Khaled Hosny
101ff1508c [removeOverlaps] Pass None to T2CharStringPen if widths equals defaultWidthX 2024-10-12 01:45:32 +03:00
Khaled Hosny
40b525c1e3 [removeOverlaps] Fix CFF CharString width
The width argument of `T2CharStringPen()` is inserted directly into the
CharString program, so it must be relative to Private.nominalWidthX, but
CharString.width is a calculated absolute value.

Some implementations, notably Adobe’s, will use the width from the CFF
CharString instead of the one from hmtx table.

Fixes https://github.com/fonttools/fonttools/issues/3658
2024-10-12 01:22:17 +03:00
Behdad Esfahbod
e8146a6d07 [glyf] Add optimizeSize option
Set to True by default. Can be turned to False on the table,
or at Glyph() compile time.

Also fixes Glyph's draw() to expand the glyph first. Otherwise
it was failing.
2024-10-11 08:31:31 -06:00
Behdad Esfahbod
6c2cbc273d [otConverters] Map int32
Unused. For completeness.
2024-10-07 06:08:35 -06:00
Behdad Esfahbod
0213bea88e [TupleVariation] Option to optimize for loading speed, not size 2024-10-06 18:11:48 -06:00
n8willis
63611d4474
Merge pull request #3627 from n8willis/docs-cleanup
Docs: clean up various code blocks in docstrings, to enable correct syntax highlighting in HTML / RTD output.
2024-09-16 10:40:05 +01:00
Nathan Williis
d05cdcf21f Docs: black 2024-09-11 15:48:09 +01:00
Nathan Williis
7d93689aca Docs: workaround doctest-vs-Sphinx syntax highlighting. 2024-09-11 15:45:46 +01:00
Nathan Williis
21d04842f8 Docs: fix code-example blocks in ttLib. 2024-09-03 17:55:02 +01:00
Cosimo Lupo
afd73dd2b1
NameRecordVisitor: remove unnecessary check for out of bounds nameIDs 2024-08-30 18:20:13 +01:00
Cosimo Lupo
8f01590353
FeatureParamsSize.SubfamilyID is *not* actually a NameID 2024-08-30 18:20:12 +01:00
Cosimo Lupo
821f37329e
NameRecordVisitor: include whole sequence of UI labels for character variants, not just first
Fixes #3616
2024-08-30 18:20:12 +01:00
Behdad Esfahbod
f4669f0538 [avar] Fix assertion
Fixes https://github.com/fonttools/fonttools/issues/3546
2024-05-31 01:36:17 -07:00
خالد حسني (Khaled Hosny)
1c3137ee14
Merge pull request #3528 from fonttools/remove-overlaps-cff
[ttLib.removeOverlaps] Support CFF table
2024-05-30 14:25:59 +03:00
Khaled Hosny
246bede217 [ttLib.removeOverlaps] Force calling new arguments by name 2024-05-25 19:08:18 +03:00
Just van Rossum
1c2a10f700 Rebuild tables lists 2024-05-25 17:50:29 +02:00
Khaled Hosny
525ab7733a [ttLib.removeOverlaps] Add removeUnusedSubroutines, default to True 2024-05-25 18:41:36 +03:00
Khaled Hosny
945bedd891 [ttLib.removeOverlaps] Do nothing if no glyphs were modified 2024-05-25 18:36:07 +03:00
Khaled Hosny
44b15b41f6 [ttLib.removeOverlaps] Remove unused subroutines 2024-05-25 18:32:01 +03:00
Khaled Hosny
ce8fcfcc4f [ttLib.removeOverlaps] Add all options to CLI 2024-05-25 18:29:10 +03:00
Khaled Hosny
9268e1cdee [ttLib.removeOverlaps] Use argparse 2024-05-25 18:25:03 +03:00
Khaled Hosny
2da78ba158 [ttLib.removeOverlaps] Handle removeHinting for CFF table 2024-05-25 18:16:05 +03:00
Khaled Hosny
2f9033b22d [ttLib.removeOverlaps] Support CFF table 2024-05-25 18:11:30 +03:00
Behdad Esfahbod
db60a248dc
Merge pull request #3395 from fonttools/varc-table
[VARC] Variable Composites table
2024-05-24 08:09:51 -07:00
Behdad Esfahbod
90fed08964 [ttLib.__main__] Fix decompiling all tables 2024-05-23 13:02:43 -06:00
Behdad Esfahbod
753197e017 [varc] Use multiVarStore instead of GDEF varStore
That's what we agreed upon.
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
973072b259 [Condition] Implement ConditionValue
Shift other Condition format numbers.

Implements
https://github.com/adobe-type-tools/opentype-spec-drafts/blob/main/condvalue_spec.md
2024-05-22 18:46:07 -06:00
Just van Rossum
77add05f7f Don't emit addVarComponent() if the component references the parent glyph (special case) 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
973dc5c9a7 [varc] Use Condition instead of ConditionSet
With more Condition formats.

df7dcc4618
https://github.com/harfbuzz/boring-expansion-spec/issues/147
2024-05-22 18:46:07 -06:00
Behdad Esfahbod
d53c08a497 [varc] Conditionals tested! 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
74f870f4ef [varc] Add ConditionSets 2024-05-22 18:46:07 -06:00
Behdad Esfahbod
c155632e8f [varc] Skip reserved records 2024-05-22 18:46:07 -06:00