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
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
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
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
Khaled Hosny
eed252cb92
[feaLib] Don’t reset lookupflag in nested lookups
...
In makeotf, lookups defined inside feature blocks inherit the current
lookupflag of the feature, so don’t reset the lookupflag for such
lookups.
2020-01-29 23:46:40 +02:00
Khaled Hosny
22bfc305ee
[feaLib] fix mixed single/multiple substitutions
...
If the single substitution involved a glyph class, we were incorrectly
using only the first glyph in the class.
Broken since ec6ff821f0e72022d7aec8794b6bb589d8f81808, apparently no one
else uses this feature!
2020-01-29 22:36:54 +02:00
David Corbett
62ed43ddb9
Do not fail on duplicate multiple substitutions
2020-01-26 10:30:17 -05:00
Jens Kutilek
67da54fb5f
Add a simple test
2019-12-18 11:09:23 +01:00
Khaled Hosny
b99ae0d469
[feaLib] Fix handing of duplicate LigatureCaret
...
The spec has been updated for a while to allow only one rule per glyph,
and makeotf uses the first and ignores the rest.
See https://github.com/adobe-type-tools/afdko/issues/95 , and
https://github.com/adobe-type-tools/afdko/issues/155
2019-09-26 16:44:46 +02:00
Khaled Hosny
197b36fef4
[feaLib] Don’t accept hex/octal numbers everywhere
...
Only in name, nameid, sizemenuname and Character.
2019-08-17 13:43:18 +02:00
Khaled Hosny
ae239722d4
[feaLib] Correctly handle octal numbers
...
From https://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html#9.e :
> Decimal numbers must begin with a non-0 digit, octal numbers with a 0
> digit, and hexadecimal numbers with a 0x prefix to numbers and
> hexadecimal letters a-f or A-F.
Fixes https://github.com/fonttools/fonttools/issues/1541
2019-08-17 13:43:18 +02:00
Nikolaus Waxweiler
01328213c7
Remove __future__ imports
2019-08-09 12:20:13 +01:00
Cosimo Lupo
6ea99e4569
feaLib/builder_test: use CapturingLogHandler instead of assertLogs
2019-06-11 13:14:47 +01:00
Khaled Hosny
41c7760be3
[feaLib] don’t write None in ast.ValueRecord.asFea()
...
The code tries to write the short format when some values as None, but
when writing the long format it would write any None value as is which
is invalid, use 0 for None values instead.
2019-05-03 00:53:09 +02:00
Cosimo Lupo
b1d055b133
Merge pull request #1539 from silnrsi/bugfix3
...
Compress type 1 GPOS tables better
2019-04-15 09:34:37 +01:00
Miguel Sousa
ddff29cb5d
Fix DeprecationWarning: invalid escape sequence
2019-04-01 14:04:14 -07:00
Khaled Hosny
45861a15ca
[feaLib] Reject invalid lookupflag without a value
...
Fixes https://github.com/fonttools/fonttools/issues/1538
2019-03-15 14:13:46 +02:00
Khaled Hosny
250eac4cae
[feaLib] Correctly handle lookupflag 0 in asFea()
...
Part of https://github.com/fonttools/fonttools/issues/1538
2019-03-15 14:13:46 +02:00
Martin Hosken
27d8d1bda0
Update tests
2019-03-15 11:16:51 +07:00
justvanrossum
e22453c933
followup to #1531
2019-03-06 16:47:16 +01:00
Khaled Hosny
c82fb8fa13
[feaLib] Support Python < 3.5 in previous commits
2019-03-01 01:48:48 +02:00
Khaled Hosny
7d03e93e67
[feaLib] Make unsupported "subtable" a warning
...
AFDKO’s makeotf warns and ignores the statement, so do the same. I’m
abusing FeatureLibError() as a lazy way to keep reporting the location.
2019-03-01 01:48:48 +02:00
Khaled Hosny
226f5518b7
[feaLib] "subtable" in single substitutions
2019-03-01 01:48:48 +02:00
Khaled Hosny
d9893ab05a
[feaLib] "subtable" in multiple substitutions
2019-03-01 01:48:48 +02:00
Khaled Hosny
c87e5cf4ad
[feaLib] "subtable" in alternate lookups
2019-03-01 01:48:48 +02:00
Khaled Hosny
7454a3eb48
[feaLib] "subtable" in ligature lookups
2019-03-01 01:48:48 +02:00
Khaled Hosny
cc1b6baff7
[feaLib] "subtable" in contextual positioning
2019-03-01 01:48:48 +02:00
Khaled Hosny
47d30499a5
[feaLib] "subtable" in contextual substitution
2019-03-01 01:48:48 +02:00
Khaled Hosny
6bb0545655
[feaLib] Don’t hard-code "subtable" support
...
Allow for making more lookups support subtabe breaks. Although AFDKO’s
makeotf supports subtable breaks only in pair pos lookups, I believe
that is an implementation limit that we don’t have to follow; all
OpenType lookups has subtables and it should be possible to code that in
the feature files.
2019-03-01 01:48:48 +02:00
Khaled Hosny
1a0aec4c56
[feaLib] Add forceChain to MultipleSubstStatement
...
For consistency with other substitution statements.
2019-02-19 18:59:58 +02:00
punchcutter
da5b1500b9
Read special case of contextual positioning.
2019-02-12 12:35:34 -08:00
Khaled Hosny
c3f3606c59
[feaLib] Allow hyphen in glyph class names
...
Matches AFDKO’s makeotf behaviour.
2019-02-10 14:31:37 +02:00
Khaled Hosny
b68596cc80
[feaLib] Add an ast test for the previous commit
2019-02-05 13:10:33 +02:00
Khaled Hosny
354b89c068
[feaLib] Implement ValueRecord.asFea()
...
ValueRecord had a makeString() method that takes an optional “vertical”
argument, but no code outside the tests sets this argument. Renamed it
to asFea() and dropped the “vertical”, so that it consistent with the
rest of feaLib.ast classes.
2019-01-28 11:52:36 +02:00
Khaled Hosny
e974ea3871
[feaLib] Add tests for ValueRecordDefinition.asFea()
...
Currently fail as it calls ValueRecord.asFea() which is not implemented.
2019-01-28 11:52:36 +02:00
Khaled Hosny
f48f4cc6b4
[feaLib] Round-trip useExtension keyword
2019-01-27 12:16:35 +02:00
Cosimo Lupo
baf11f64f4
feaLib/builder_test: add test for #1459
2019-01-19 12:17:38 +00:00
Cosimo Lupo
091b05296d
[feaLib] distinguish missing value and explicit '<NULL>' for PairPos2 format A
...
Fixes #1459
2019-01-19 11:46:05 +00:00
Khaled Hosny
baf4f560bb
[feaLib] Skip noop class PairPos subtables
...
If Coverage is None then the subtable is a noop that does nothing and
there is no point in building it. As a bonus, it makes OTS happy since
it will reject subtables where coverageOffset is NULL (0) and the spec
does not say whether this is allowed or not.
2018-09-16 12:23:34 +02:00
Cosimo Lupo
9536541aba
feaLib: demote warning about redefined kern pairs to debug message
...
https://github.com/fonttools/fonttools/issues/1147#issuecomment-421539956
2018-09-15 10:09:49 +02:00
Martin Hosken
fecf163d79
Revert spec4h2.fea
2018-09-07 15:46:29 +07:00
Martin Hosken
e048c3772c
Revert comment changes to spec4h1.fea
2018-09-07 15:43:53 +07:00
Martin Hosken
59a4e934ee
Get the fix we want
2018-09-07 15:37:33 +07:00
Martin Hosken
299ae2fb0b
Fix tests
2018-08-17 11:51:05 +07:00
Cosimo Lupo
83f9156f8d
Merge pull request #1302 from moyogo/fix-subtable-break
...
Fix subtable break
2018-07-26 11:16:58 +01:00
Denis Moyogo Jacquerye
fdf96904b3
feaLib tests: update PairPos subtable tests
...
The subtable break is being forced after every pos, it shouldn’t.
2018-07-26 11:06:17 +01:00