4299 Commits

Author SHA1 Message Date
Tal Leming
45910b6131 Initial work on reading single file UFO.
This is a work in progress update of UFOReader and UFOWriter that
supports UFO in its package and zipped forms. Reading works. Writing is
not yet implemented.

I'm building a base file system (that lives on top of fs for now and
maybe in the long term) that the reader and writer then subclass. This
base class implements the file system interaction so that the reader
and writer can be blissfully ignorant about file systems.

Additionally, I ran into a problem with the local plistlib.py creating
an import error, so I've temporarily renamed it plistlibShim.py so that
I can continue working.

Did I mention that this is a work in progress? It's a work in progress.
2016-05-02 23:06:25 -04:00
Khaled Hosny
b5afd862e1 [glyf] Round component offset before compiling
We can get a float here.
2016-04-30 00:16:15 +02:00
Cosimo Lupo
70ec8513d0 varLib: use cElementTree if available to parse designspace
The C implementation of ElementTree is included in CPython since 2.5.
It's got the same API and is up to 20 times faster than the Python implementation.
We'd better use it.
2016-04-28 09:56:21 +01:00
Behdad Esfahbod
7a9c6be76c [mtiLib] Warn if trailing tabs are found 2016-04-27 17:04:25 -07:00
Behdad Esfahbod
71633457df [mtiLib] Ignore trailing tabs 2016-04-27 16:58:38 -07:00
Behdad Esfahbod
973270e7f9 [mtiLib] Assert that glyph name is not empty 2016-04-27 16:58:33 -07:00
Sascha Brawer
9f287353f3 [CPAL] Support CPAL table version 1 2016-04-27 13:15:45 +02:00
Behdad Esfahbod
da4d097234 [varLib.mutator] Add minimal docstring 2016-04-27 01:41:48 -07:00
Behdad Esfahbod
5fdd980564 [varLib.mutator] Remove copy-pasta comments 2016-04-27 01:40:46 -07:00
Behdad Esfahbod
3238b4270e [varLib] Add mutator, which instantiates a variation font
Run, eg:

$ python mutator.py ./NotoSansArabic-GX.ttf wght=140 wdth=85

API to be cleaned up.
2016-04-27 01:30:59 -07:00
Behdad Esfahbod
e13f46c1dd [varLib] Add _SetCoordinates() 2016-04-27 01:30:12 -07:00
Behdad Esfahbod
e391cdb787 [glyf] GlyphCoordinates: Implement __del__() 2016-04-27 01:14:08 -07:00
Behdad Esfahbod
e36b7069d9 [glyf] GlyphCoordinates: Upgrade to float in math ops if needed 2016-04-27 01:11:40 -07:00
Behdad Esfahbod
ac26b33f48 [varLib] Copy coordinates before modifying 2016-04-27 00:25:31 -07:00
Behdad Esfahbod
e963a5b2c9 [varLib] Remove unused imports 2016-04-27 00:21:46 -07:00
Behdad Esfahbod
f7d390a955 [varLib] Minor refactoring, and bug fix 2016-04-27 00:15:07 -07:00
Behdad Esfahbod
c8b5b618e0 [varLib] Minor simplification 2016-04-26 23:59:39 -07:00
Sascha Brawer
9e7e77bdf4 [CPAL] Share color records when possible 2016-04-26 17:40:00 +02:00
Sascha Brawer
15781e4183 Add unit tests for handling CPAL table 2016-04-26 11:53:09 +02:00
moyogo
84e7423a6e [feaLib] use OrderedDict instead of dict in MarkClass 2016-04-26 06:58:46 +01:00
moyogo
4ec59b27dd [feaLib] add test for issue #504 2016-04-25 22:37:58 +01:00
moyogo
f81e1411b3 [otlLib] glyph class as list and tuple instead of set and frozenset 2016-04-25 22:37:34 +01:00
moyogo
17c8e582d0 [feaLib] glyph class as list and tuple instead of set and frozenset 2016-04-25 22:36:56 +01:00
Khaled Hosny
cdda278bd4 Use ttLib.newTable when possible
I learnt about it from [1] and seems like a nice thing to use.

1. https://github.com/behdad/fonttools/pull/586#issuecomment-213285350
2016-04-23 02:00:24 +02:00
Tal Leming
185c04220d The UFO spec has changed with regard to kerning conflicts. Reflect this in ufoLib. 2016-04-22 13:30:28 -04:00
Miguel Sousa
cc5d6c96fa don't hardcode the table tags, rely on ttLib.getClassTag instead 2016-04-21 23:42:13 -07:00
Miguel Sousa
883ff5fbdc [sbix] correct __init__ method 2016-04-21 21:32:30 -07:00
Behdad Esfahbod
e9ecd07baa [mtiLib] Fix URL 2016-04-21 16:11:12 -07:00
Cosimo Lupo
d169acd10e Merge pull request #584 from miguelsousa/svg_init_fix
[SVG] correct __init__ method
2016-04-21 10:46:49 +01:00
Miguel Sousa
ce4af2a0a2 [SVG] correct __init__ method 2016-04-20 17:08:45 -07:00
Sascha Brawer
fb6712f3ec Merge pull request #582 from brawer/varLib
[varLib] Unit test for loading .designspace files
2016-04-19 02:44:12 +02:00
Behdad Esfahbod
8384c1e482 [varLib] Fix import 2016-04-18 16:48:13 -07:00
Sascha Brawer
2664773032 [varLib] Unit test for loading .designspace files 2016-04-18 12:12:45 +02:00
Cosimo Lupo
b149bd51db Merge pull request #579 from anthrotype/fealib-newline-in-string
fealib: allow newlines in string literals (and skip over them)
2016-04-18 09:39:53 +01:00
Cosimo Lupo
47039f709b feaLib.lexer_test: add test for newlines in string token 2016-04-17 22:21:40 +01:00
Cosimo Lupo
cd8457f091 feaLib.lexer: strip newlines embedded within a string
Fixes #578
2016-04-17 22:21:24 +01:00
Behdad Esfahbod
2312880d79 [varLib] Assert that we found the base master 2016-04-17 11:53:20 -07:00
Behdad Esfahbod
5f953db5ee [varLib] Document module a bit 2016-04-15 13:56:37 -07:00
Behdad Esfahbod
fe7f99de16 [varLib] Simplify things a bit
This seems to be created correct fonts now.
2016-04-15 13:49:27 -07:00
Behdad Esfahbod
908d1dac47 [varLib] use operator.iadd instead of operator.add
Reduces copying.
2016-04-15 09:00:57 -07:00
Behdad Esfahbod
fd238eb2ae [varLib] Build GX variation font using all masters
Needs some fixing, but the basics are there.
2016-04-15 08:56:04 -07:00
Behdad Esfahbod
99f97e13a3 [varLib] Clean up 2016-04-14 23:55:11 -07:00
Behdad Esfahbod
29bc9ea42e [varLib] Generate rudimentary GX variation font
To be improved.
2016-04-14 23:40:10 -07:00
Behdad Esfahbod
7625e25c0d [varLib] Parse .designspace documents 2016-04-14 15:54:06 -07:00
Behdad Esfahbod
ca4acf0fd0 [varLib] Move sample to doctest 2016-04-13 23:53:29 -07:00
Behdad Esfahbod
cc2fb5a400 [varLib] Rename MutatorModel to VariationModel 2016-04-13 23:46:12 -07:00
Behdad Esfahbod
0ee799fb03 [glyf] Add math operators to GlyphCoordinates 2016-04-13 22:54:39 -07:00
Behdad Esfahbod
0d0509a312 [varLib] Rename offsets to deltaWeights
Also negate the weights and add the current master's weight
as well (+1).
2016-04-13 16:44:59 -07:00
Behdad Esfahbod
cbda46c530 [varLib] Generate master offsets
TO be documented / renamed.  This is the contribution of other
masters, at each masters' location.
2016-04-13 16:37:16 -07:00
Behdad Esfahbod
ef4aa7e7f0 [varLib] Shuffle 2016-04-13 16:35:41 -07:00