Cosimo Lupo
a9f0c89585
transform: add getters for xScale, xyScale, yxScale, yScale, xOffset and yOffset
...
UFO images have a transformation matrix with those names.
This makes the Transform look more like a namedtuple, in that it can be accessed both by
index and by property name.
2018-10-26 17:10:40 +01:00
Cosimo Lupo
6a5a4c7422
varLib.models: fix TypeError comparing float with None
2018-10-26 11:07:12 +01:00
Behdad Esfahbod
7ee81c8821
[varLib] Take total bounding box into account when resolving model
...
Umm. Not sure how useful this is, but helps with cases where there
were not masters on extremes and people expected this to work.
Happens in Higher-Order Interpolation since the axis extremes
are not interesting.
Fixes https://github.com/googlei18n/fontmake/issues/473
Test case (in case someone wants to add it to test suite!):
Before:
$ ./fonttools varLib.models 0,0 .5,0 0,.5 .5,.5 1,1
Sorted locations:
[{}, {'A': 0.5}, {'B': 0.5}, {'A': 0.5, 'B': 0.5}, {'A': 1.0, 'B': 1.0}]
Supports:
[{},
{'A': (0, 0.5, 0.5)},
{'B': (0, 0.5, 0.5)},
{'A': (0, 0.5, 0.5), 'B': (0, 0.5, 0.5)},
{'A': (0.5, 1.0, 1.0), 'B': (0, 1.0, 1.0)}]
After:
$ ./fonttools varLib.models 0,0 .5,0 0,.5 .5,.5 1,1
Sorted locations:
[{}, {'A': 0.5}, {'B': 0.5}, {'A': 0.5, 'B': 0.5}, {'A': 1.0, 'B': 1.0}]
Supports:
[{},
{'A': (0, 0.5, 1.0)},
{'B': (0, 0.5, 1.0)},
{'A': (0, 0.5, 1.0), 'B': (0, 0.5, 1.0)},
{'A': (0.5, 1.0, 1.0), 'B': (0, 1.0, 1.0)}]
2018-10-25 19:46:44 -07:00
Cosimo Lupo
10e10a2c82
Merge pull request #1344 from anthrotype/ufo-reader-and-writer
...
make UFOWriter a subclass of UFOReader, use mixins for shared methods
2018-10-25 17:12:27 +01:00
Cosimo Lupo
78f572294f
Revert "UFOReader: have readInfo return a dict"
...
This reverts commit 440c71345a88f32ccad06d662fb30272f9253f07.
2018-10-25 16:55:59 +01:00
Cosimo Lupo
440c71345a
UFOReader: have readInfo return a dict
...
but keep current behavior whereby caller can pass an Info object.
The readInfo method was the only one that takes an output argument,
all the others just return some raw data.
I like to fully construct my classes in their __init__ method.
E.g. Info(**reader.readInfo())
2018-10-25 15:36:08 +01:00
David Březina
7e33c427db
Better test for none-ness
2018-10-24 19:08:11 +02:00
David Březina
28245afe1e
Fix normalization error when condition’s minimum/maximum are missing in designspace, update test too
...
Fixes #1346
2018-10-24 18:46:45 +02:00
Cosimo Lupo
59d9abf5f3
UFOReader: getFileModificationTime should be without leading underscore
...
that's what it's currently in UFOReader. The UFOWriter and GlyphSet will gain that one for free.
2018-10-24 17:43:47 +01:00
Cosimo Lupo
46ffe7ef42
reuse __enter__, __exit__ and close methods from UFOReader superclass
2018-10-24 14:14:37 +01:00
Cosimo Lupo
8cc613fda3
ufoLib: remove stray print()
...
I forgot this in a previous commit
2018-10-24 12:37:37 +01:00
Cosimo Lupo
7f3bf46096
ufoLib: use a single (abstract) base class for sharing methods between UFOReader, UFOWriter and GlyphSet
2018-10-23 20:41:35 +01:00
Cosimo Lupo
0a9e1e56ef
ufoLib: Add UFOReaderWriter alias of UFOWriter
2018-10-23 20:40:53 +01:00
Cosimo Lupo
3167e31be8
ufoLib: also reuse _readLayerContents method
...
plus fix some redundant 2to3 left-overs
2018-10-23 20:30:52 +01:00
Cosimo Lupo
f997005fb7
make UFOWriter a subclass of UFOReader, use mixins for shared methods
2018-10-23 19:43:37 +01:00
Cosimo Lupo
1a14b38de2
UFOWriter: normalize path by removing trailing slashes
...
or else os.path.dirname(Font.ufo/) would think that the directory doesn't exist...
2018-10-23 19:10:39 +01:00
Cosimo Lupo
edd01b3fa0
Bump version: 3.31.0 → 3.31.1.dev0
2018-10-21 19:09:09 +01:00
Cosimo Lupo
3230dec69b
Release 3.31.0
2018-10-21 19:05:10 +01:00
Cosimo Lupo
fe4381df56
ufoLib: add readData, writeData and removeData methods
2018-10-21 15:42:02 +01:00
Ben Kiel
8bb9d0ed6c
Change UFOLib creator
2018-10-19 11:25:52 -05:00
Cosimo Lupo
13cf8ef1ab
Merge pull request #1335 from anthrotype/fonttools-ufolib
...
merge ufoLib into fontTools.ufoLib
2018-10-19 14:28:20 +01:00
Cosimo Lupo
6a7493adbb
designspaceLib: port to using lxml via fontTools.misc.etree
...
indentation is now two spaces like lxml (unchangeable) default
https://github.com/fonttools/fonttools/pull/1335#issuecomment-431112494
2018-10-18 20:03:54 +01:00
Cosimo Lupo
9e85f3bcc3
svgLib: use fontTools.misc.etree
2018-10-18 19:50:26 +01:00
Cosimo Lupo
8081bf57fa
etree/plistlib/glifLib: using (default) single quotes in XML_DECLARATION
...
https://github.com/fonttools/fonttools/pull/1335#issuecomment-431118568
2018-10-18 19:49:52 +01:00
Cosimo Lupo
6db88d7cb7
remove deprecated fontTools.varLib.designspace
2018-10-18 18:40:54 +01:00
Cosimo Lupo
9557c6a229
fix deprecation warnings when using ABC from collections module
2018-10-18 18:12:43 +01:00
Cosimo Lupo
e871b2f41d
pointPen: add missing classes to __all__
2018-10-18 16:12:58 +01:00
Cosimo Lupo
6b1bf4247b
move pointPen to fontTools.pens subpackage; keep ufoLib.pointPen alias
2018-10-18 16:03:09 +01:00
Cosimo Lupo
b23a208805
ufoLib: fix doctests failing on py27 for unicode_literals
...
I hate doctests.
2018-10-18 15:40:32 +01:00
Cosimo Lupo
8ba98afb92
etree: remove 'XMLTreeBuilder' from __all__
...
only present in py27 elementtree:
6e57382464/Lib/xml/etree/ElementTree.py (L1676-L1677)
2018-10-18 15:40:32 +01:00
Cosimo Lupo
3e19f6d985
keep fontTools.ufoLib.etree as a shim module for fontTools.misc.etree
2018-10-18 11:12:08 +01:00
Cosimo Lupo
081b0fc090
keep fontTools.ufoLib.plistlib compatibility shim
...
the old readPlist, writePlist are only kept in fontTools.ufoLib.plistlib,
not in fontTools.misc.plistlib
2018-10-18 11:11:34 +01:00
Jens Kutilek
76e7b7a786
Add PointPen support to TT Glyph objects ( #1334 )
...
* Add drawPoints method to _g_l_y_f.Glyph
* Add drawPoints method to ttFont._TTGlyph
2018-10-18 11:52:38 +02:00
Cosimo Lupo
176b5f763d
change 'import ufoLib' to 'import fontTools.ufoLib'
2018-10-17 17:43:28 +01:00
Cosimo Lupo
7ee7ccd568
move ufoLib.etree to fontTools.misc.etree
...
we can use this ElementTree-like XML API for ttx or designspaceLib, not
just ufoLib
2018-10-17 17:30:39 +01:00
Cosimo Lupo
e42bfd65f4
move ufoLib.plistlib to fontTools.misc.plistlib
...
As PLIST are not only UFOs (e.g. DesignSpace documents)
2018-10-17 17:29:34 +01:00
Cosimo Lupo
1f7155c432
Merge branch 'fold-into-fontTools' into fonttools-ufolib
2018-10-17 17:21:44 +01:00
Cosimo Lupo
7cd80a37dd
move Lib/ufoLib to Lib/fontTools/ufoLib
2018-10-17 17:05:17 +01:00
Cosimo Lupo
935aad1a25
DefaultTable: pass extra **kwargs in toXML (for glyf table class)
...
when ttx fails to decompile a buggy glyf table, the DefaultTable implementation is used,
but TTFont._tableToXML passes 'splitGlyphs' keyword argument to table.toXML when
the tag is 'glyf'.
Let's simply ignore it here.
2018-10-16 17:21:50 +01:00
Behdad Esfahbod
c4b475852d
[varLib.merger] Implement FeatureVariations instantiation
...
Fixes https://github.com/fonttools/fonttools/issues/1244
2018-10-14 23:25:56 -07:00
Cosimo Lupo
49c7bd1e1d
Release 3.0.0
2018-10-11 11:31:35 +01:00
Cosimo Lupo
59cb035cdf
minor: ensure self._path is a unicode string
2018-10-10 18:26:14 +01:00
Cosimo Lupo
58455d9c9b
setModificationTime should not warn if path does not exist
...
the self._path argument of UFOWriter is not always an existing local filesystem
path. It may be a fallback string repr like '<memfs>' when the filesystem
being used does not map to the local OS filesystem (like MemoryFS)
2018-10-10 15:30:31 +01:00
Cosimo Lupo
1c05b67e1c
warn if passed an explicit 'structure' argument with dest being an FS object
...
it doesn't make sense to say structure='zip' if we are saving to an already instantiated
FS object. The 'structure' keyword argument only makes sense when the destination is
a path string, where we have a choice whether to create either a UFOZ (zipfile) or a
normal UFO package.
For an already instantiated FS object, we always write it out as a flat package,
without the root contents subfolder.
2018-10-10 15:28:15 +01:00
Cosimo Lupo
b84eb25a50
glifLib: do not cache the output of getGLIF
...
Fixes https://github.com/unified-font-object/ufoLib/issues/80
2018-10-10 12:37:32 +01:00
Cosimo Lupo
f2018e2a26
skip (and warn) if could not set modified time
...
Fixes https://github.com/unified-font-object/ufoLib/issues/48
2018-10-10 10:54:57 +01:00
Cosimo Lupo
9b88135931
accept both int or long as valid integer types on py27
...
Fixes https://github.com/unified-font-object/ufoLib/issues/52
2018-10-10 10:54:57 +01:00
Cosimo Lupo
a09abd7feb
add UFOFileStructure enum to __all__
2018-10-10 10:54:57 +01:00
Cosimo Lupo
14dd3347f1
make _sniffFileStructure private
2018-10-10 10:54:57 +01:00
Cosimo Lupo
7101e62863
Bump version: 2.4.0.dev0 → 3.0.0.dev0
2018-10-09 18:33:14 +01:00