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
Behdad Esfahbod
fdbf066a8c
[glyf] Add __bool__ / __nonzero__ to GlyphCoordintes
...
I'm really unhappy that doctests do NOT work anymore :(.
2017-04-05 15:43:14 +02:00
justvanrossum
8327d73dee
Edge case: Fix logic in choosing CFF vs glyf so we get the correct error if the font has neither.
2017-04-01 14:30:17 +02:00
justvanrossum
5ccc1ec59c
removed unneeded slice/copy, leftover when upgrading from .sort() to sorted()
2017-03-31 00:07:03 +02:00
Miguel Sousa
ddf9f2334b
[ttx] unnecessary lower()
...
Valid XML files always start with a lowercase declaration
187b886fde (commitcomment-21508520)
2017-03-28 03:43:01 -07:00
Miguel Sousa
fefe5d5c46
[ttx] Strip the BOM only in XML files
2017-03-28 03:43:01 -07:00
Miguel Sousa
076e2ba33a
[ttx] Close file before returning, to prevent ResourceWarnings in py3
2017-03-28 03:43:01 -07:00
Miguel Sousa
4fce7a0b7b
[ttx] Strip BOM from beginning of file
...
Fixes #896
2017-03-28 03:43:01 -07:00
Miguel Sousa
5e115c1d2a
[CFF2] Report the correct number of regions in the font
...
This change also makes the processing of the blend operator to be as described at https://www.microsoft.com/typography/otspec/cff2charstr.htm#section4.5
2017-03-23 17:12:31 -07:00
Cosimo Lupo
6ac3523d74
[_TTGlyphSet] fetch height and tsb from vmtx if available
...
The width and lsb from hmtx are already there
Fixes #893
https://github.com/fonttools/fonttools/pull/880#issuecomment-288558012
2017-03-23 12:51:16 +00:00
Behdad Esfahbod
1f372cc8ed
[merge] Add TODO item re merging duplicate items
2017-03-22 15:03:52 -07:00
Cosimo Lupo
21944d3cc8
Bump version: 3.9.1 → 3.9.2.dev0
2017-03-20 09:59:58 +00:00
Cosimo Lupo
524db89b69
Release 3.9.1
2017-03-20 09:59:07 +00:00
Behdad Esfahbod
9798c30d57
[varLib.merger] Really recombine multiple PairPosFormat2 subtables...
...
Fixup for 49d311550c29f7501dd4bc91cb24074e3d607b77
Previous try was completely dropping the ParPosFormat2 subtables. Ouch!
Fixes https://github.com/fonttools/fonttools/issues/888
2017-03-17 20:30:56 -07:00
Miguel Sousa
e2d4fe9da8
minor
2017-03-17 07:48:22 -07:00
Miguel Sousa
4de5af36cb
Add usage example of RecordingPen
2017-03-17 02:19:12 -07:00
Behdad Esfahbod
49d311550c
[varLib.merger] Recombine multiple PairPosFormat2 subtables...
...
...if they were split because of offset overflows.
Fixes https://github.com/fonttools/fonttools/issues/888
for most common cases.
2017-03-16 17:51:59 -07:00
Behdad Esfahbod
92cb5d28d6
[varLib.merger] Shuffle _ClassDef_invert for more uses
2017-03-16 17:46:28 -07:00
Behdad Esfahbod
7f83d6d445
[varLib.merger] Add TODO item
2017-03-16 16:18:27 -07:00
Behdad Esfahbod
0f5a46b1f9
[varLib.merger] Only insert PairPosFormat1 if non-empty
...
This is proper fix for c8b2088162f1542dd29b2d370aa2a2c081452559
2017-03-16 16:15:10 -07:00
Behdad Esfahbod
c8b2088162
Revert "[varLib.merger] only insert merged PairPosFormat1 subtable if at least one font has one"
...
This reverts commit d83c2fb2090fa58f94fdf32d1aa2d2d8665cec05.
This is wrong. We should insert if and only iff there's at least one of the
fonts with a Format1. Yours doesn't look at all fonts. Since this one is not a
bugfix but improvement, I'll fix it separately.
2017-03-16 16:07:46 -07:00
Behdad Esfahbod
a2b23811a2
Merge pull request #887 from fonttools/class-kern-merge
...
[varLib.merger] Fix interpolating PairPos Format 2
2017-03-16 16:03:34 -07:00
Cosimo Lupo
23511fd302
[varLib.merger] set ClassDef{1,2}.Format using same logic as otTables.ClassDef.preWrite
2017-03-14 16:14:08 +00:00
Cosimo Lupo
e6125b353e
[varLib.merger] avoid reusing the same Class2Record (mutable) objects
...
Class2Record is mutable, hence doing `[rec2] * l.Class2Count` produces a list containing multiple references to the same instance. When later on we do the interpolation, modifying one would modify them all.
We need to instantiate distinct objects.
See 6f41c2ab53 (commitcomment-21310803)
2017-03-14 14:46:17 +00:00
Cosimo Lupo
d83c2fb209
[varLib.merger] only insert merged PairPosFormat1 subtable if at least one font has one
2017-03-14 14:29:10 +00:00
Cosimo Lupo
aad0d46069
[varLib.merger] fix IndexError with empty ClassDef1 in PairPosFormat2
...
https://github.com/fonttools/fonttools/pull/881#issue-213020690
2017-03-14 14:26:55 +00:00