2766 Commits

Author SHA1 Message Date
Sascha Brawer
3f839878eb [name] Fix issues with name.addMultilingualName()
Fixes https://github.com/fonttools/fonttools/issues/931.
2017-04-21 13:14:24 +08:00
Behdad Esfahbod
b4827ae965 Add recordingPen.replayRecording 2017-04-20 14:54:13 -07:00
Sascha Brawer
a5c8977dd3 [name] Fix platform ID for names whose language code is in ltag table
https://github.com/fonttools/fonttools/issues/931
2017-04-20 17:38:31 +08:00
Behdad Esfahbod
656478fc6d [varLib] Add notes re encoding multilingual names 2017-04-19 11:10:00 -07:00
Behdad Esfahbod
f056c124e5 [misc.classifyTools] Make classification order stable
Sets don't have a welldefined comparison function, so sort them...

Not the most efficient implementation, but good enough.

Fixes https://github.com/fonttools/fonttools/issues/927
2017-04-18 15:57:14 -07:00
Sascha Brawer
e8530360bd [name] Add helper for building multi-lingual names
Fixes https://github.com/fonttools/fonttools/issues/921.
2017-04-19 02:26:32 +08:00
Sascha Brawer
068ca5afbb [ltag] Helper method for adding language tags 2017-04-18 18:15:32 +08:00
Behdad Esfahbod
787b39d9b5 [subset] Add MVAR and STAT as no-susbetting-needed tables 2017-04-14 15:27:52 -07:00
Behdad Esfahbod
806b7dcd8d Minor 2017-04-14 14:30:51 -07:00
Cosimo Lupo
8fbd1e5f6d
Bump version: 3.10.0 → 3.10.1.dev0 2017-04-14 22:06:44 +01:00
Cosimo Lupo
8e3c48fbe2
Release 3.10.0 2017-04-14 22:05:06 +01:00
Behdad Esfahbod
e886617ab0 [avar] Remove fixupSegments
Fixes https://github.com/fonttools/fonttools/issues/923
2017-04-13 15:50:44 -07:00
Behdad Esfahbod
e9eb1f3297 Fix __all__ entry
Fixes https://github.com/fonttools/fonttools/issues/920
2017-04-13 15:49:01 -07:00
Cosimo Lupo
94c88f56cb
[recordingPen] add DecomposingRecordingPen
Uses the DecomposingPen as mixin, and raise KeyError on missing glyphs

See https://github.com/fonttools/fonttools/pull/880#issuecomment-288558012
2017-04-13 14:22:39 +01:00
Cosimo Lupo
b438dbeee5
[basePen] add LoggingPen and DecomposingPen, subclass BasePen from DecomposingPen
This is so we can reuse addComponent with the recording pen, without having to
inherit from the BasePen (which also splits curveTo and qCurveTo commands).

Log warning message on missing glyphs by default, optionally raise KeyError
if skipMissingComponents = False
2017-04-13 14:22:29 +01:00
Behdad Esfahbod
932b938d7d [varLib] Minor 2017-04-12 21:56:49 -07:00
Behdad Esfahbod
968c25dd7f [varLib] Generate avar table
Fixes https://github.com/fonttools/fonttools/issues/916
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
191cea5965 [varLib] Fixup for 91f4fd90d4fdee293052d9d226a31baa2e7edda8
Oops!  Too many Axis classes.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
0fa41c14b9 [varLib] Check all master and instance locations are valid
Ie. they don't specify any unknown axes, and location is within
axis minimum/maximum.  We also allow master / instance locations
to not specify some axes, and we fill in the axis default for those.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
9034f4f3f1 [varLib] Rewrite axis configuration code
We do not accept nonstandard axes if <axes> element is not present.
Breaks one test.  Needs updated expectations.

Soon we'll be generating avar as well and all will be better, much better.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
e73cc7ae34 [varLib] Move code around 2017-04-12 21:54:43 -07:00
Behdad Esfahbod
51fd216c62 [varLib] Towards encoding all name languages 2017-04-12 21:54:43 -07:00
Behdad Esfahbod
80c020d260 [varLib] Remove "custom" axis
This was added before when glyphsLib was always exporting the (unused)
custom axis.  It doesn't now, so remove.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
242faa798a [varLib] Remove unused build(..., axisMap) argument
Axis map should be specified in designspace file now.
2017-04-12 21:54:43 -07:00
Behdad Esfahbod
c922962056 [varLib] Minor 2017-04-12 21:54:43 -07:00
Behdad Esfahbod
5a21b60ed9 [varLib.designspace] Add main functionality
Loads designspace file from commandline and pretty-prints it.
2017-04-12 21:54:43 -07:00
Miguel Sousa
e69960cce0 [subset] Remove outdated comment from instructions
https://github.com/fonttools/fonttools/issues/144#issuecomment-290982065
2017-04-12 18:26:38 -07:00
Cosimo Lupo
980ac7d415
[transformPen] use FilterPen as the base class instead of AbstractPen 2017-04-12 14:17:15 +01:00
Cosimo Lupo
107bf48ffe
[filterPen] add FilterPen base class
Can be useful for others, e.g.:
https://github.com/googlei18n/ufo2ft/issues/120#issuecomment-288503784
2017-04-12 14:17:15 +01:00
Cosimo Lupo
6862262301 Merge pull request #915 from anthrotype/logmixin
[loggingTools] added LogMixin class
2017-04-12 11:34:17 +01:00
Cosimo Lupo
1e31e55682
[loggingTools] add docstring to exemplify usage of LogMixin 2017-04-12 11:20:42 +01:00
Behdad Esfahbod
8c62165008 [varLib] Build MVAR table
Does not implement gasp table variations, but the rest should work.
2017-04-11 11:10:54 -07:00
Cosimo Lupo
cca1d20b0e
[loggingTools] added LogMixin class
This is useful to quickly add logging functionality to classes, and
to reduce boilerplate.

It adds a 'log' property to the class inheriting from it, which uses
logging.getLogger to get a logging.Logger (sigleton) object named after
<module>.<class> of self.
2017-04-11 18:40:52 +01:00
Cosimo Lupo
f1e9bf30e4
[TSI*] Added docstrings to explain the purpose of VTT private tables 2017-04-11 10:01:47 +01:00
Cosimo Lupo
fab26fd5c1
[loggingTools] rename 'match' to 'assertRegex'
https://github.com/fonttools/fonttools/pull/913#discussion_r110820088

https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertRegex
2017-04-11 09:34:39 +01:00
Cosimo Lupo
6567a8bc92
[TSI0] return empty byte string if no 'indices' attribute is set
previously it was returning a str on python3
2017-04-10 20:53:02 +01:00
Cosimo Lupo
be9784c916
[TSI0] use unsigned 'L' instead of signed 'l' as textOffset format
https://gitter.im/caryll/otfcc?at=58eb78288bb56c2d1192d56c
2017-04-10 19:47:48 +01:00
Cosimo Lupo
9528717f6e
[loggingTools] add 'match' method to CapturingLogHandler
Can be useful for writing tests:

>>> with CapturingLogHandler(log, "WARNING") as captor:
...     # do something with logging
>>> assert captor.match('some .* pattern')
2017-04-10 19:47:48 +01:00
Cosimo Lupo
a8442490dd
[py23] add backport for python 3's SimpleNamespace class
This can be useful sometimes. The code is taken from the docs:

https://docs.python.org/3/library/types.html#types.SimpleNamespace
2017-04-10 19:47:48 +01:00
Cosimo Lupo
0e56002348
[TSI1] Fix computation of the textLength of VTT private tables entries
https://gitter.im/caryll/otfcc?at=58e28b284cb8d091735567fe

Thanks Belleve Invis! ;)
2017-04-10 19:47:48 +01:00
Adrien Tétar
a4a3ae6d49 EBLC: fixes for py3 zip
Closes #909.
2017-04-10 01:10:45 +02:00
Cosimo Lupo
81452301e1
Bump version: 3.9.2 → 3.9.3.dev0 2017-04-08 15:55:36 +02:00
Cosimo Lupo
d011688978
Release 3.9.2 2017-04-08 15:55:35 +02:00
Adrien Tétar
a03eb1137b pens: add a wx pen 2017-04-07 20:50:20 +02:00
Behdad Esfahbod
e5a9fd7faa [otTables] When splitting PairPos subtable, don't set class=0
Doesn't matter when compiling to binary, but makes Python objects cleaner.
2017-04-06 15:34:00 +02:00
Behdad Esfahbod
86549315fd [varLib.merger] Fix recombining of multiple PairPosFormat2 subtables
Gosh!  This is the kind of thinko that doesn't happen with less dynamic languages...

Good one hour of debugging at TYPO Labs. Glad this one is fixed finally!

Fixes https://github.com/fonttools/fonttools/issues/888
2017-04-06 15:29:13 +02:00
Behdad Esfahbod
4c07266971 [varLib] Minor 2017-04-06 15:29:09 +02:00
Behdad Esfahbod
43060a0d08 [varLib] Do not encode gvar deltas if all values smaller than tolerance
Tolerance is set to .5 by default.  Most designspaces never hit this since
for most, all deltas are integers anyway.  Moreover, all such detas will
round to zero anyway.
2017-04-05 15:43:14 +02:00
Behdad Esfahbod
b572ae6c5b [varLib] Do not encode gvar deltas that are all zeroes 2017-04-05 15:43:14 +02:00
Behdad Esfahbod
33d57dc2c3 [glyf] Add getter to fetch raw array 2017-04-05 15:43:14 +02:00