Cosimo Lupo
9c6c4c4f4c
merge_woff_metadata.py: make sure flavor is in "woff" or "woff2"
2016-07-04 16:11:04 +01:00
Cosimo Lupo
0782513d4d
Snippets: add 'merge_woff_metadata.py' and 'dump_woff_metatada.py' scripts
...
This is just to exemplify how one could use the `TTFont.flavorData` attribute to get/set the WOFF metadata.
See discussion at https://github.com/behdad/fonttools/issues/630
2016-07-04 15:51:51 +01:00
Denis Moyogo Jacquerye
384b050b08
Merge pull request #629 from jamesgk/mtilib-cmap
...
Add cmap handling to mtiLib
2016-06-30 22:32:54 +01:00
James Godfrey-Kittle
797061679a
[mtiLib] Make tables in parsers, don't pass in
2016-06-30 14:16:58 -07:00
James Godfrey-Kittle
1b61637473
Add cmap handling to mtiLib
2016-06-30 12:50:39 -07:00
Tal Leming
d5514cc566
Merge pull request #37 from anthrotype/no-empty-layerinfo
...
glifLib: don't write empty 'lib' element in layerinfo.plist
2016-06-28 10:38:37 -04:00
Cosimo Lupo
f92dcf36c1
don't write layerinfo.plist if 'lib' element is empty
2016-06-28 13:52:23 +01:00
Adrien Tétar
bac9e9b75a
Merge pull request #36 from anthrotype/element-text-none
...
glifLib: don't raise AttributeError if element.text attribute is None
2016-06-25 16:15:01 -07:00
Cosimo Lupo
f6689faf5b
glifLib: don't raise AttributeError if element.text attribute is None
...
When an element tree is built from code, or it is parsed from a string that was not pretty-printed (i.e. without indentation), the 'text' attribute of an Element instance can be None. So we must ensure it's not None before calling `strip()` method.
2016-06-25 19:04:24 +01:00
Behdad Esfahbod
3868ac845f
[Snippets/interpolatable.py] Flesh out some more
2016-06-24 19:00:56 -04:00
Tal Leming
321ea7f766
Merge pull request #33 from anthrotype/isinstance-mapping
...
validators: check isinstance of collections.Mapping rather than dict
2016-06-24 09:47:59 -04:00
Sascha Brawer
42177e03b7
Merge pull request #625 from jamesgk/fealib-scriptlang
...
[feaLib] Don't set language when script is unset
2016-06-23 15:44:44 +02:00
James Godfrey-Kittle
5c723ebfb0
[feaLib] Don't assume feature has lookups in DFLT
...
It's possible for all of a feature's lookups to be in specific script
and/or language systems, so this code could crash.
2016-06-22 16:19:45 -07:00
James Godfrey-Kittle
e2186dec53
[feaLib] Don't set language when script is unset
...
Before, if someone tried to set the language before setting the script
a None/language language system would be created (with actual tag
"None" stored in the feature table). This defaults to tag DFLT and
fails when a non-dflt language is set for DFLT, since that's illegal.
2016-06-22 11:29:42 -07:00
Sascha Brawer
87f86424ca
Merge pull request #623 from jamesgk/fealib-scriptlang
...
[feaLib] Fix exclude_dflt handling
2016-06-22 08:28:57 +02:00
James Godfrey-Kittle
aaf9294d97
[feaLib] Add another test for language systems
2016-06-21 16:40:17 -07:00
James Godfrey-Kittle
d1af1cfd4a
[feaLib] Fix exclude_dflt handling
...
This is to fix what I think was a misunderstanding of the exclude_dflt
keyword (and the implicit include_dflt option active by default).
Rather than including the following lookups in the default language
systems, I think it is used to include the lookups specific to default
language systems in the system defined by the current language
statement. Thus instead of registering a lookup in all default
systems when include_dflt is true, we should exclude the lookups
registered with default systems from the current system when
include_dflt is false.
2016-06-21 16:39:27 -07:00
Behdad Esfahbod
0deb34829c
[Snippets/interpolatable.py] Add preliminary script for detecting interpolation errors
...
Very basic. Right now detects if glyphs have wrong order of contours / components.
2016-06-15 18:46:59 +04:00
Behdad Esfahbod
220ff2b238
[pens.areaPen] Clean up a bit
...
Based on discussion in
https://github.com/behdad/fonttools/pull/618#issuecomment-226105824
2016-06-15 14:10:44 +04:00
Behdad Esfahbod
b3414e9ffd
[symfont] Use AreaPen from fontTools
...
It's about 20% faster.
2016-06-14 01:26:39 -04:00
Behdad Esfahbod
acbd3df647
[symfont] Add function to print function sources for caching
2016-06-14 01:23:40 -04:00
Behdad Esfahbod
1a48fc27a1
[symfont] Remove one level of function call
2016-06-14 01:16:57 -04:00
Behdad Esfahbod
b0b049774c
Implement analytical curve length for quadratic beziers
...
This is multiple times faster, and tolerance-independent.
I'll explain how I arrived at this later.
2016-06-13 20:08:50 -04:00
Behdad Esfahbod
56c27f45c9
Speed up perimeterPen
...
It's still too slow, but an improvement.
Also, remove duplicate copy from symfont.
2016-06-13 18:50:01 -04:00
Behdad Esfahbod
71fb49962a
Improve perimeterPen tests
...
The tolerance on the pen is set to 0.5%, so it does not make sense
to test for accuracy for anything more than integers given the
values.
2016-06-13 18:47:03 -04:00
Behdad Esfahbod
b7cf54aef1
[symfont] Minor
2016-06-13 18:20:42 -04:00
Tal Leming
89d8cfa7eb
Removing metainfo.plist is no longer expressly prohibited (it shouldn't be done though). Raise an error when removing a missing file.
2016-06-13 13:36:30 -04:00
Tal Leming
ea54c77670
Don't try to remove the root directory.
2016-06-13 13:33:31 -04:00
Tal Leming
be90029b22
Arguments were transposed.
2016-06-13 13:22:36 -04:00
Tal Leming
c864359fb2
Define writer.
2016-06-13 13:19:40 -04:00
Tal Leming
0e569793a7
The populated info objects should be written, not an empty object.
2016-06-13 13:17:36 -04:00
Tal Leming
bfba532621
Force the removal of non-empty directories during directory removal.
2016-06-13 13:13:56 -04:00
Tal Leming
15c4ff20a3
UFOLibError is now raised instead of GlifLibError.
2016-06-13 13:10:55 -04:00
Cosimo Lupo
04c19fda80
Merge pull request #619 from miguelsousa/pen-tests
...
AreaPen and PerimeterPen unit tests
2016-06-13 06:23:00 +01:00
Miguel Sousa
9efcaf05e4
Unit tests for AreaPen and PerimeterPen
2016-06-12 15:46:52 -07:00
Miguel Sousa
92e8455259
perimeterPen.py: make glyphset the first argument (like in all other pens)
2016-06-12 15:46:04 -07:00
Cosimo Lupo
b73b432add
Merge pull request #618 from anthrotype/area-pen
...
Area and Perimeter pens
2016-06-12 12:51:09 +01:00
Cosimo Lupo
c5ed6c6456
perimeterPen.py: handle implied lineTo in closePath
2016-06-12 11:49:00 +01:00
Cosimo Lupo
d51b88a234
areaPen.py: remove unused 'interpolate' function; call polygon_area directly in closePath
2016-06-12 11:37:02 +01:00
Cosimo Lupo
39f919f1f1
areaPen.py: calculate area under quadratic curve directly, using Green theorem
2016-06-12 03:14:09 +01:00
Cosimo Lupo
5f0e48e649
areaPen.py: make sure the first and last points of contour overlap
2016-06-12 03:13:32 +01:00
Cosimo Lupo
38359b054d
areaPen.py: invert sign of area (CCW is now positive)
2016-06-12 03:12:02 +01:00
Cosimo Lupo
c08e47ed47
perimeterPen.py: copy PerimeterPen from symfont.py
2016-06-11 23:07:23 +01:00
Cosimo Lupo
eb7e193773
areaPen.py: typo
2016-06-11 23:07:23 +01:00
Cosimo Lupo
76dc5d2607
areaPen.py: use tabs for indentation as that's the norm in fontTools
...
(despite I prefer spaces)
2016-06-11 23:07:23 +01:00
Cosimo Lupo
2dc88be8a7
areaPen.py: remove unused 'distance' function
2016-06-11 23:07:23 +01:00
Cosimo Lupo
2cb93ee7dd
areaPen.py: hook up quadratic_curve_area to AreaPen._qCurveToOne method
2016-06-11 23:07:23 +01:00
Cosimo Lupo
ac3b30e0db
areaPen.py: add default __future__ imports
2016-06-11 23:07:23 +01:00
Cosimo Lupo
ad4b94f4b9
areaPen.py: use regular tuples for points instead of namedtuple
2016-06-11 23:07:23 +01:00
Cosimo Lupo
046333dda5
areaPen.py: pen to calculate the area of a glyph (by Behdad)
...
https://github.com/behdad/fonttools/issues/617#issuecomment-225029592
2016-06-11 23:07:23 +01:00