844 Commits

Author SHA1 Message Date
Cosimo Lupo
1cbb28acd8
Merge pull request #1870 from anthrotype/fealib-parser-no-glyphnames
feaLib: without glyphNames, warn but don't parse hyphens as ranges
2020-04-16 16:16:29 +01:00
Tom
c70395fbdb
[feaLib] Raise exception when GSUB statement doesn't match a rule. (#1876)
* [feaLib] Raise exception when substitute statement doesnt match any of the rules. Add tests that trigger said exception.
2020-04-16 16:10:03 +01:00
David Corbett
c97956672e [feaLib] Emit CID ranges with CIDs not glyph names 2020-04-03 19:40:22 -04:00
David Corbett
ec4273bbfd [feaLib] Emit spaces around hyphens in ranges 2020-04-03 17:36:34 -04:00
Cosimo Lupo
c1af75b803
feaLib.parser: check that glyph name is actually ambiguous
https://github.com/fonttools/fonttools/pull/1870#discussion_r403259450
2020-04-03 21:17:02 +01:00
Cosimo Lupo
a913431ecd
feaLib.parser: if no glyphNames, treat dash as names, not ranges
But print a warning about the possible ambiguity.

Fixes https://github.com/fonttools/fonttools/issues/1768
2020-04-03 12:42:22 +01:00
Cosimo Lupo
be77f3eeab
feaLib/parser_test: rename {Unicode,String}IO, remove misc.py23 2020-04-03 11:46:36 +01:00
Cosimo Lupo
c4aeec87dc
use ufoLib2 for cu2qu.cli and tests
the tests are skipped if ufoLib2 is not installed.
2020-04-01 19:23:57 +01:00
Cosimo Lupo
76cc29dda4
cu2qu: fix up imports for cu2qu.ufo, cli, and related tests 2020-04-01 19:01:32 +01:00
Cosimo Lupo
5c0d6f2a3e
Move test fonts to Tests/cu2qu/data 2020-04-01 18:59:35 +01:00
Cosimo Lupo
6ebc8249be
Move ufo.py, cli.py, __main__.py to fontTools/cu2qu 2020-04-01 18:46:48 +01:00
Cosimo Lupo
0782b4e4cf
cu2qu: Add missing Apache 2.0 header and copyright notice 2020-03-31 17:09:26 +01:00
Cosimo Lupo
c2e8403937
cu2qu: remove from __future__ imports 2020-03-31 13:38:51 +01:00
Cosimo Lupo
00058833f2
Move cu2qu.pens to fontTools.pens.cu2quPen 2020-03-31 13:34:46 +01:00
Cosimo Lupo
731b4944a6
cu2qu: fix up imports 2020-03-31 12:48:51 +01:00
Cosimo Lupo
7fa20b0b03
cu2qu: move all test files to Tests/cu2qu 2020-03-31 12:35:29 +01:00
Cosimo Lupo
06fdfab9dd
Merge pull request #1858 from fonttools/basetable1.1
Add variable support for BASE table 1.1
2020-03-23 11:36:40 +00:00
punchcutter
aeb5149f15 Add variable support for BASE table 1.1 2020-03-20 13:34:02 -07:00
Cosimo Lupo
3997c15179
designspace_test: add tests for add*Descriptor methods 2020-03-20 16:07:30 +00:00
justvanrossum
b14e6ecf4c update to unicode 13.0 2020-03-20 14:15:00 +01:00
Cosimo Lupo
2516a42a88
[varLib] revert to always build gvar, even if empty
turns out gvar is required by OT spec for VF with TrueType outlines:
see https://github.com/fonttools/fonttools/issues/1855#issuecomment-598769956
2020-03-13 15:29:38 +00:00
Simon Cozens
8fac69b0ea Also output mark attachment class 2020-03-11 13:59:05 +00:00
Simon Cozens
d6d21e067d Someone wrote more tests while I wasn't looking 2020-03-10 21:48:45 +00:00
Simon Cozens
ab075a9957 Annotate LookupFlag ttx dump 2020-03-10 21:42:28 +00:00
Nikolaus Waxweiler
36c64087a8 Add a proper message to IncludedFeaNotFound
Also, minor f-string refactor.
2020-02-27 18:13:45 +00:00
Cosimo Lupo
0d53cfbb99
woff2_test: add test with CBDT/CBLC font without glyf/loca tables 2020-02-26 18:24:53 +00:00
Christof Kaufmann
edbfe95f45 Add test for non-localized date parsing 2020-02-25 20:36:02 +01:00
Khaled Hosny
323d0c85d1 fontBuilder: Allow varLib to use fresh CFF table
Make sure the CFF table generated by fontBuilder can be used by varLib
without having to compile and decompile the table first. This was
breaking in converting the CFF table to CFF2 due to some unset
attributes.
2020-02-22 13:51:45 +02:00
Cosimo Lupo
a0a4901a5e
colorLib_test: add tests for buildCPAL v1 2020-02-17 18:28:24 +00:00
Cosimo Lupo
f60bcc2c5a
[CPAL] the absence of a color palette label nameID is 0xFFFF, not 0 2020-02-17 17:03:37 +00:00
Cosimo Lupo
acfae6721b
add tests for buildCORL and buildCPAL 2020-02-17 12:11:53 +00:00
Cosimo Lupo
183792c747
_g_l_y_f_test: add tests for Glyph.getCoordinates and GlyphComponent.to/fromXML 2020-02-13 18:08:38 +00:00
Cosimo Lupo
d8d824011a
Merge pull request #1830 from anthrotype/scaled-comp-bbox
[ttGlyphPen] quantize component.transform to F2Dot14 to normalize bbox
2020-02-13 15:37:45 +00:00
Nikolaus Waxweiler
5a53d1d4ad models: Use new exceptions where input is checked 2020-02-13 15:01:52 +00:00
Nikolaus Waxweiler
8f7a796bd3 init: Convert existing raised exceptions to new appropriate ones 2020-02-13 14:58:10 +00:00
Nikolaus Waxweiler
5cda8381f9
[feaLib] Check that glyph names referenced in the feature file are part of the glyph set (#1828)
This checks that glyph names that appear in a feature file are actually
in the glyph set provided in glyphNames. If the set is empty, no check
is done. This preempts a KeyError later during saving of a TTFont object
and makes this case much more easily catchable.

Closes #1723.
2020-02-13 14:47:29 +00:00
Cosimo Lupo
b6467b7e85
ttGlyphPen: quantize component.transform to F2Dot14 to fix issue with bbox
Fixes https://github.com/googlefonts/fontmake/issues/558

When drawing a composite glyph with a scaled component using the TTGlyphPen, the bounding
box coordinates may change depending on whether one computes them *before* compiling or
*after* decompiling. Before compiling, component.transform holds double precision floats,
but after compiling and decompiling, these are necessarily clamped to F2Dot14 fixed precision.

The TTGlyphPen needs to quantize transform floats to F2Dot14 so that the values don't
change after compilation.

Without this change, it may happen that round-tripping fonts through ttx (which by default
recalcBBoxes) will produce different bounding boxes for composite glyphs that have
scaled or transformed components.
2020-02-13 13:49:01 +00:00
Cosimo Lupo
e35228603d
Merge pull request #1829 from anthrotype/empty-glyf
[glyf] compile empty table as 1 null byte to make OTS and Windows happy
2020-02-12 14:52:23 +00:00
Cosimo Lupo
cf0567d8a5
subset_test: test subsetting font to empty glyf table 2020-02-12 14:25:25 +00:00
Cosimo Lupo
92e770ea16
_g_l_y_f_test: add tests for compiling/decompiling empty glyf table 2020-02-12 14:25:25 +00:00
Nikolaus Waxweiler
eb77a3be22 [varLib] Fill in the forward-mapped location 2020-02-11 15:45:49 +00:00
Nikolaus Waxweiler
ef2742593c Compare realpath against realpath
On Windows, tests may be run in the user's temp directory, so the previous code
may compare C:\Users\nikolaus.waxweiler\ against C:\Users\NIKOLA~1.WAX\.
2020-02-04 11:08:45 +00:00
Cosimo Lupo
1c2fb0e3ef
Merge pull request #1809 from justvanrossum/demo-issue1808
[varLib] demonstrate and fix #1808
2020-02-03 15:39:32 +00:00
Khaled Hosny
b9bc128f2c
Merge pull request #1816 from khaledhosny/varlib-cff2-source
[varLib] Allow using CFF2 table as source
2020-02-03 17:17:02 +02:00
Cosimo Lupo
78abdf2299
Merge pull request #1818 from fonttools/eblc-index-subtable-3
EBLC: fix padding length calculation for Format 3 IndexSubTable
2020-02-03 15:15:24 +00:00
Cosimo Lupo
8e2e7d98fc
add C_B_L_C_test.py to test we compile index table format 3 correctly 2020-02-03 14:07:25 +00:00
Khaled Hosny
09174b9129 [CFF2] Make recalcBBoxes work with CFF2 table
Add checks for CFF2 table next to CFF checks as applicable.
2020-01-31 23:39:47 +02:00
Khaled Hosny
38981b6dae [varLib] Allow using CFF2 table as source
Nothing clever, if the source font has a CFF2 table use it as if it were
a CFF table (i.e. non-variable, not sure what would happen in the source
CFF2 was variable already).
2020-01-31 23:39:47 +02:00
Khaled Hosny
014991d710
Merge pull request #1815 from khaledhosny/fealib-flag-fix
[feaLib] Don’t reset lookupflag in nested lookups
2020-01-30 13:06:42 +02:00
Khaled Hosny
42b51f084f
Merge pull request #1814 from khaledhosny/fealib-mult-fix
[feaLib] fix mixed single/multiple substitutions
2020-01-30 13:02:39 +02:00