Khaled Hosny
301d2db812
[subset] Support subsetting MS color tables
...
Add support for subsetting COLR table.
The CPAL table does not need subsetting, but unused palettes should be
pruned, this is not implemented however as it depends on COLR table,
which in turn will not be updated after pruning CPAL.
2015-12-01 11:59:52 +04:00
Sascha Brawer
152dff4361
[feaLib] Implement GSUB chain substitution rules
2015-11-30 15:02:09 +01:00
Cosimo Lupo
2eda1785f6
[py23] fix ImportError when trying to import unichr
, basestring
or unicode
when already defined
...
When one does `from fontTools.misc.py23 import *`, everything seems to work fine.
However, linters will complain when one uses the asterisk to import all names from a module, since they can't detect when names are left undefined -- asterisks are greedy and will eat all names.
If one avoids the asterik and attempts to import explicitly, like in `from fontTools.misc.py23 import basestring`, the problem then is that, if `py23` does not re-define the name -- e.g. under python2 `basestring` or `unicode` are built-ins -- then the import statement raises `ImportError`.
The same happens for the `unichr` function on a "wide" Python 2 build (in which `sys.maxunicode == 0x10FFFF`).
Now, to work around this, we need to re-assign those built-ins to their very same names. This may look silly, but at least it works.
2015-11-23 12:02:12 +00:00
Denis Jacquerye
d05df7eb7e
Python 2/3: replace str by basestring
2015-11-18 13:22:14 +00:00
Behdad Esfahbod
505c1a5ea7
Fixup previous change
...
ecbe8f2c37 (commitcomment-14464749)
2015-11-18 00:08:49 -08:00
Behdad Esfahbod
ecbe8f2c37
Fix decompile of Neirizi
2015-11-17 23:24:03 -08:00
Behdad Esfahbod
5d41ad985e
Merge pull request #411 from miguelsousa/subset_unittest
...
[subset] unittest & .notdef advance width fix
2015-11-16 19:00:18 -08:00
Miguel Sousa
6db7d30ed9
[subset] Preserve the .notdef glyph width when removing its outlines
2015-11-13 17:43:22 -08:00
Miguel Sousa
270b155d45
[subset] First unit tests and test data
2015-11-13 17:40:17 -08:00
Miguel Sousa
51bd7e00b5
white space
2015-11-13 17:36:13 -08:00
Miguel Sousa
29d7edf76f
[subset] mv subset.py subset/__init__.py
2015-11-13 17:36:02 -08:00
Cosimo Lupo
8019069f7c
[sfnt] make SFNTReader.tables an OrderedDict sorted by table offset
...
Fixes https://github.com/behdad/fonttools/issues/408
2015-11-13 17:38:50 +00:00
Cosimo Lupo
f10cb1f17d
[macCreatorType] fix KeyError raised by old version of xattr module
...
in version 0.6.4 (installed on OS X 10.10 python lib/extras) it raises
KeyError, whereas in the latest version available fom PyPI (v0.7.8) it
raises IOError.
Fixes issue in https://github.com/googlei18n/nototools/issues/113
2015-11-11 00:01:50 +00:00
Cosimo Lupo
49d929681e
[_p_o_s_t] remove max indices "reserved for future use"
...
the third (2015) edition of ISO/IEC 14496-22 "Open Font Format" increased
the limit from 32767 to 65535 (and thus eliminated the reserved numbers).
`array.array` will take care of raising the right `OverflowError` exception
so we don't need any further checking.
2015-11-10 00:11:28 +00:00
Adrien Tétar
0d3cdb1ee4
glifLib: open files as binary to avoid line-endings normalization
2015-11-08 15:41:43 +01:00
Adrien Tétar
0b60503f4f
test: fix a test on Windows
2015-11-08 11:49:06 +01:00
Adrien Tétar
ae7ad468c0
stop importing robofab in the test suite
2015-11-08 11:33:29 +01:00
Adrien Tétar
e345fec96f
meta: remove robofab files
2015-11-08 11:11:11 +01:00
Cosimo Lupo
491b1ebfb0
Merge pull request #401 from jamesgk/pen-tests
...
TTGlyphPen tests
2015-11-06 21:00:40 +00:00
James Godfrey-Kittle
45e496fdb8
[TTGlyphPen] Use bytes for array.array for python3
2015-11-06 11:50:39 -08:00
James Godfrey-Kittle
981ad5978c
Add endPath method to TransformPen
...
I think this was just forgotten before.
2015-11-06 11:25:48 -08:00
Denis Jacquerye
5b43ab5b42
ufoLib.test.test_glifLib: undo some 2to3
2015-11-06 15:11:04 +00:00
Denis Jacquerye
3be6afbf72
ufoLib.test.test_glifLib: remove test for robofab’s glyphNameToShortFileName
2015-11-06 15:06:52 +00:00
Denis Jacquerye
929ed4454c
ufoLib: drop READ_MODE and WRITE_MODE
2015-11-06 15:06:52 +00:00
Denis Jacquerye
92bf29bd70
ufoLib.glifLib: add anchors to list of attributes in description of readGlyph() and writeGlyph()
2015-11-06 15:06:51 +00:00
Denis Jacquerye
31d358af40
test_UFOConversion, test_UFO{1,2,3}: use plistlib load and dump
2015-11-06 15:06:51 +00:00
Denis Jacquerye
3df210b68f
ufoLib.test.test_glifLib: testRoundTrip() anchors don't come in the same order anymore
2015-11-06 15:06:51 +00:00
Denis Jacquerye
c643b67f08
ufoLib.glifLib: glyph.drawPoints(None) should set attr anchors
2015-11-06 15:06:51 +00:00
Denis Jacquerye
e1dd985741
ufoLib.glifLib: undo some 2to3
2015-11-06 15:06:51 +00:00
Denis Jacquerye
7deef57dd0
ufoLib.__init__: add basestring in Python3 and undo 2to3
2015-11-06 15:06:51 +00:00
Denis Jacquerye
07c10687c4
test_gliflib: new file name scheme
2015-11-06 15:06:51 +00:00
Denis Jacquerye
d70348e8a7
test_gliflib: use io.open
2015-11-06 15:06:50 +00:00
Denis Jacquerye
ab842f1e01
ufoLib.test.test_UFOConversion: absolute import
2015-11-06 15:06:50 +00:00
Denis Jacquerye
9c0c7e5177
ufoLib.test.test_UFO1, test_UFO2, test_UFO3: absolute import, unicode_literals, explicit bytes, use io.open
2015-11-06 15:06:50 +00:00
Denis Jacquerye
b6cb3738c8
ufoLib.test.testSupport, test_GLIF1 and test_GLIF2: unicode_literals, use basestring
2015-11-06 15:06:50 +00:00
Denis Jacquerye
72df478a91
ufoLib.plistlib: use basestring
2015-11-06 15:06:50 +00:00
Denis Jacquerye
c74ced8246
ufoLib.plistFromTree: utf-8 is good
2015-11-06 15:06:49 +00:00
Denis Jacquerye
ba7259a99c
ufoLib.plistFromTree: absolute import
2015-11-06 15:06:49 +00:00
Denis Jacquerye
3dabb84be5
ufoLib.xmlTreeBuilder: use io.open and basestring
2015-11-06 15:06:49 +00:00
Denis Jacquerye
77f2e022c7
ufoLib.validators: use io.open, use basestring instead of str
2015-11-06 15:06:49 +00:00
Denis Jacquerye
c6f84bdd9a
ufoLib.glifLib: use basestring instead of str
2015-11-06 15:06:49 +00:00
Denis Jacquerye
dc94aa17a7
ufoLib.glibLib: use io.StringIO, ioBytesIO, io.open
2015-11-06 15:06:49 +00:00
Denis Jacquerye
66e5ae0242
ufoLib __init__.py: use io.StringIO, io.BytesIO, and standard plistlib load and dump
2015-11-06 15:06:49 +00:00
Denis Jacquerye
41cb5a8d4c
validators: use basestring
2015-11-06 15:06:49 +00:00
Denis Jacquerye
f9ff5e5cfe
filenames: use basestring
2015-11-06 14:10:43 +00:00
Denis Jacquerye
90a5af640b
glifLib: add READ_BYTES_MODE and WRITE_BYTES_MODE
2015-11-06 14:10:42 +00:00
Denis Jacquerye
edfee17e5f
glifLib: use basestring and glyphSet maybe None in glyphNameToFileName()
2015-11-06 14:10:42 +00:00
Denis Jacquerye
607cdf9a39
ufoLib __init__: typo 'maetainfo' -> 'metainfo'
2015-11-06 14:10:42 +00:00
Denis Jacquerye
fd8440a223
validators: png signature as bytes
2015-11-06 14:10:42 +00:00
Adrien Tétar
7cd33cdca7
glifLib: cleanup returns_unicode
2015-11-06 14:10:42 +00:00