Simon Cozens
73631c9642
otlLib documentation ( #2009 )
...
Document otlLib
Includes other minor changes:
* When a markFilterSet parameter is passed to a builder, LOOKUP_FLAG_USE_MARK_FILTERING_SET will be added to the lookup's flags.
* The unused arguments valueformat1 and valueformat2 were removed from ClassPairPosSubtableBuilder.
2020-07-03 12:52:50 +01:00
Simon Cozens
1ed5916a8a
Fix *all* docs about markFilterSet, not just the first one...
2020-07-03 12:50:57 +01:00
Simon Cozens
ece76d36e2
Unnecessary comments
2020-07-03 12:39:21 +01:00
Simon Cozens
f54528a70b
Remove unused arguments to ClassPairPosSubtableBuilder
2020-07-03 12:39:11 +01:00
Simon Cozens
3b50a533d5
otlLib now sets this flag itself.
2020-07-03 12:37:22 +01:00
Simon Cozens
8e0b1fbfe2
Allow location to be optional.
2020-07-03 12:35:55 +01:00
Simon Cozens
c43b58c973
Force mark filtering flag set.
2020-07-03 12:35:43 +01:00
Simon Cozens
e501dbb693
Add name to contributors
2020-07-03 11:39:18 +01:00
Simon Cozens
db8948b654
Document otlLib.builder, high-level lookup builders.
...
Essentially the documentation from #1995 , incorporates @dscorbett
feedback.
2020-07-03 11:38:29 +01:00
Cosimo Lupo
dc2ee4e082
glifLib_test: check case insensitive filenames are unique
...
tests for https://github.com/fonttools/fonttools/pull/2002
2020-07-03 11:37:17 +01:00
Cosimo Lupo
560561846b
Merge pull request #2002 from fonttools/use_case-insensitive_filenames
...
make sure a list of possible case-insensitive file names is send
2020-07-03 11:35:56 +01:00
Simon Cozens
6364d36633
[otlLib] Refactor chained contextual builders ( #2007 )
...
* Introduce a new subclass for chained contextual (sub and pos)
* Rename .substitutions to .rules in subst builders to allow for code reuse
* Make format of subtable break marker tuple common between sub/pos
Note that prior to this patch, add_subtable_break in a Subst builder adds:
(self.SUBTABLE_BREAK_, self.SUBTABLE_BREAK_, self.SUBTABLE_BREAK_, self.SUBTABLE_BREAK_)
while add_subtable_break in a Pos builder adds:
(self.SUBTABLE_BREAK_, self.SUBTABLE_BREAK_, self.SUBTABLE_BREAK_, [self.SUBTABLE_BREAK_])
This is messy. If we read the first element from the tuple instead of the last one to test if a rule is a subtable break, we can make the marker tuple the same.
* And now the subtable break code can be hoisted into superclass
* These helper methods will make the build routine common
* Hoist common build method to superclass
The diff doesn’t show it very clearly because it’s being too clever, but all I’ve done is moved one method. Everything works apart from the error message, which comes next.
* Fix the error message
2020-07-02 18:40:20 +01:00
Cosimo Lupo
070e9a7c7d
Merge remote-tracking branch 'origin/master' into colrv1-rev2
2020-07-02 14:41:43 +01:00
Simon Cozens
ebfa4ba1fe
Move feature builders to otlLib
...
Refactors feaLib, moving code which builds OpenType lookups into otlLib. Note that this changes feaLib's concept of `location` from a tuple to an object.
2020-07-02 14:09:10 +01:00
Cosimo Lupo
ff79338607
rename radial gradient Paint.Affine attribute to Transform
...
as suggested by Peter Constable in
https://github.com/PeterConstable/OT_Drafts/blob/master/COLR_V1/COLRv1formats_rev3.md#paintformat3-table-conicalradial-gradient
2020-07-02 12:21:12 +01:00
Cosimo Lupo
ac0a755d20
make linear/radial gradient 'point-less', inline x0,y0,x1,y1,...
...
https://github.com/googlefonts/colr-gradients-spec/issues/21
2020-07-02 12:11:40 +01:00
Cosimo Lupo
dea9896421
rename COLR Color -> ColorIndex, transparency to alpha
...
https://github.com/googlefonts/colr-gradients-spec/issues/17
https://github.com/googlefonts/colr-gradients-spec/issues/19
2020-07-02 10:27:47 +01:00
Cosimo Lupo
ff7dc9a1c5
Rename: Var* types: Scalar->Fixed, NormalizedScalar->F2Dot14, etc.
...
VariablePosition -> VarInt16
VariableDistance -> VarUInt16
cf. https://github.com/googlefonts/colr-gradients-spec/issues/17
2020-07-01 20:13:14 +01:00
Cosimo Lupo
690080b14d
use 32-bit GlyphIDs in COLRv1 baseGlyphs and layers
...
For forward-compatibility, see https://github.com/googlefonts/colr-gradients-spec/issues/8
2020-07-01 19:50:48 +01:00
Cosimo Lupo
4578f96e9d
colorLib_test: minor cosmetic changes
2020-07-01 18:29:26 +01:00
Cosimo Lupo
b215c000df
Rename LayerV1Array to LayerV1List, like with BaseGlyphV1List
...
See https://github.com/googlefonts/colr-gradients-spec/issues/14#issuecomment-652542829
2020-07-01 18:22:03 +01:00
Cosimo Lupo
5f18d9891c
rename BaseGlyphV1Array to BaseGlyphV1List
...
As suggested by Peter Constable in https://github.com/googlefonts/colr-gradients-spec/issues/14 and https://github.com/googlefonts/colr-gradients-spec/issues/18
2020-07-01 18:16:07 +01:00
Cosimo Lupo
50546c03c4
[C_O_L_R_test] better annotate offsets in hex dump (2)
2020-07-01 16:14:47 +01:00
Cosimo Lupo
d98e231f4b
[C_O_L_R_test] better annotate offsets in hex dump
2020-07-01 16:13:38 +01:00
Cosimo Lupo
caf3c5d216
[C_O_L_R_test] fixed typo in hex dump
2020-07-01 15:59:47 +01:00
Frederik Berlaen
d0767138f7
make sure a list of possible case-insensitive file names is send
...
not a dict where the key is the case sensitive file name
2020-06-20 17:45:27 +02:00
Cosimo Lupo
19103d9acc
Bump version: 4.12.1 → 4.12.2.dev0
2020-06-16 15:50:18 +01:00
Cosimo Lupo
9e8d152b54
Release 4.12.1
2020-06-16 15:50:17 +01:00
Cosimo Lupo
43715c6f21
Update changelog [skip ci]
2020-06-16 15:50:03 +01:00
Just van Rossum
dc7d016538
[ttLib.tables._n_a_m_e] Fix #1997 : Only attempt to recovered malformed data from bytes ( #1998 )
...
* don't attempt to recover malformed data from str, only from bytes. Fixes #1997
2020-06-16 16:35:40 +02:00
Cosimo Lupo
6b4430a8a3
Bump version: 4.12.0 → 4.12.1.dev0
2020-06-09 12:15:34 +01:00
Cosimo Lupo
b1b8026c15
Release 4.12.0
2020-06-09 12:15:33 +01:00
Cosimo Lupo
4018a05762
Update changelog [skip ci]
2020-06-09 12:13:48 +01:00
Just van Rossum
90c7c7fae1
Fix for #1985 : ensure that the AxisNameID in the STAT table is > 255 ( #1986 )
...
Fix for #1985 :
* ensure that the AxisNameID in the STAT table is not less than 256. This needed an additional argument to the addMultiLingualName() name table method.
* fvar axis name IDs must also not be less than 256, just like STAT axis names.
2020-06-08 19:39:28 +02:00
Khaled Hosny
df1b499dbc
Merge pull request #1987 from khaledhosny/voltlib-options
...
[voltLib] Accept DO_NOT_TOUCH_CMAP keyword
2020-06-08 17:39:03 +02:00
Simon Cozens
775dc6074e
fontTools.misc.* documentation, part 2 ( #1981 )
...
* Document misc.filenames
* Document misc.fixedTools
* Document misc.intTools
* Document misc.loggingTools
* Document misc.macCreatorType
* Document misc.macRes
* Document misc.plistlib
2020-06-08 15:53:48 +01:00
Khaled Hosny
d2167235e0
[voltLib] Accept DO_NOT_TOUCH_CMAP keyword
...
Corresponds to the “Do not overwrite camp table” option in VOLT.
2020-06-08 03:19:06 +02:00
Khaled Hosny
80dac9c0f4
[voltLib] Accept False for LookupDefinition.reversal
2020-06-08 02:52:58 +02:00
Cosimo Lupo
babca162e5
Merge pull request #1984 from liZe/master
...
Don’t calculate whole sets of unicode codepoints
2020-06-05 10:42:06 +01:00
Guillaume Ayoub
2a1f09dbb2
Don’t calculate whole sets of unicode codepoints
...
_getUnicodeRangeSets used to calculate sets containing lots of numbers, only to
get intersections between a set and ranges. Creating and manipulating a lot of
big sets requires a lot of memory.
The function has been replaced by _getUnicodeRanges, returning a list of range
starts boundaries and a list of range stops + corresponding bits.
Tests on intersectUnicodeRanges save about 130 MB (!) of RAM, with no
significant speed penalty.
2020-06-05 11:28:18 +02:00
Khaled Hosny
66a7751bd7
Merge pull request #1983 from khaledhosny/voltlib-str
...
[voltLib] Support writing back ast as VOLT data
2020-06-04 20:25:02 +02:00
Khaled Hosny
2956772c62
[voltLib] Plain dict is good now
2020-06-04 14:08:20 +02:00
Khaled Hosny
a1df9175ee
[voltLib] Support writing back ast as VOLT data
...
Adds __str__() method to ast classes that writes back VOLT data. Tries
to replicate VOLT syntax idiosyncrasies as much as possible for better
round-trip conversion.
2020-06-04 14:08:20 +02:00
Khaled Hosny
3c4f5a75bf
[voltLib] Unescape new line in lookup comments
2020-06-04 14:08:20 +02:00
Khaled Hosny
18886da333
[voltLib] Use NamedTuple for pos
...
Using a plain tuple here is ugly, it should have been another ast class,
using NamedTuple to not break backward compatibility. Needed for next
commit.
2020-06-04 14:08:20 +02:00
Khaled Hosny
5cc5d80871
[voltLib] Deduplicate some ast code
...
In preparation for next commits. Also remove unused classes.
2020-06-04 14:08:12 +02:00
Behdad Esfahbod
26ac716a8d
[subset/merge] Fix namespace clash
...
Fixes https://github.com/fonttools/fonttools/issues/1955
2020-06-02 15:13:30 -07:00
Nikolaus Waxweiler
7a723b7344
Merge pull request #1977 from fonttools/afmlib-dont-write-out-doctest
...
[afmLib] Do not write doctest file to disk
2020-05-29 16:59:17 +01:00
Nikolaus Waxweiler
b5d2952c23
[afmLib] Do not write doctest file to disk
...
It writes into the current working dir on test runs.
2020-05-29 16:50:42 +01:00
Nikolaus Waxweiler
fe17d5937a
[feaLib] Builder.build(): proper error msg on unsupported tables ( #1976 )
...
Raise NotImplementedError instead of an assertion error.
2020-05-29 16:44:19 +01:00