11939 Commits

Author SHA1 Message Date
Khaled Hosny
b39077b64e Fix setup.py to install fontTools.subset
Broken since 29d7edf76f9ca888d120f2018e08e2b337ba7cf8.
2015-12-01 11:58:20 +04:00
Sascha Brawer
152dff4361 [feaLib] Implement GSUB chain substitution rules 2015-11-30 15:02:09 +01:00
Behdad Esfahbod
fdd84fad88 Merge pull request #12 from googlei18n/error-em
Specify tolerance in em through `max_err_em`
2015-11-24 15:38:22 -06:00
Behdad Esfahbod
a9d364ddcb Add URL to spec 2015-11-24 15:01:11 -06:00
Behdad Esfahbod
24f088110e Rename from FontWorker to FontDame
Spec is also available now, at:
https://github.com/Monotype/OpenType_Table_Source/
https://rawgit.com/Monotype/OpenType_Table_Source/master/otl_source.html
2015-11-24 15:00:15 -06:00
jamesgk
bf6b2d9f7e Specify tolerance in em through max_err_em
This way, the `max_err` parameter is consistent with the other
functions (being in font units).
2015-11-24 12:52:03 -08:00
Cosimo Lupo
196254ae1e Merge pull request #414 from anthrotype/py23-import-fix
[py23] fix ImportError when trying to import names when already defined
2015-11-23 12:07:41 +00: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
James Godfrey-Kittle
f82e320395 Merge pull request #5 from googlei18n/error-em
Specify max error in em instead of font units
2015-11-20 14:40:07 -08:00
jamesgk
4f107a9119 Merge branch 'master' into error-em 2015-11-20 14:39:10 -08:00
Behdad Esfahbod
a5e23c01f6 Merge pull request #4 from googlei18n/stats-arg
Take in dictionary of conversion statistics
2015-11-20 14:19:47 -08:00
jamesgk
85821f081d Update readme with max_error param changes 2015-11-20 12:08:28 -08:00
jamesgk
79ea6b4973 Swap order of "max_err" and "max_n" parameters
I like this new order better, since max_err seems to be the more
important parameter, and it corresponds more closely with the actual
font object params (which can be lists) than max_n (which is always
a single value).
2015-11-20 12:06:18 -08:00
jamesgk
e94071a2d8 Specify max error in em instead of font units
This should be more compatible between fonts with different UPM. In
fact, it should work within a single call with such fonts.

The default max error is now 0.0025 em, which is about 5 units for a
2048 UPM font.
2015-11-20 12:04:48 -08:00
jamesgk
5ef46a5bb3 Update readme with API changes 2015-11-19 17:17:56 -08:00
jamesgk
042a392d35 Take in dictionary of conversion stats
This allows stats to be accumulated between function calls.
2015-11-19 17:11:06 -08:00
jamesgk
8bbdb47cf5 Rename "robofab" module to "rf"
Apparently naming this robofab conflicts with the global robofab
module.
2015-11-19 16:59:49 -08:00
jamesgk
68d5213dd1 Update comments -- conversion is always compatible 2015-11-19 16:45:05 -08:00
jamesgk
45364ed045 Move RoboFab-specific code to a "robofab" module 2015-11-19 16:40:52 -08:00
Adrien Tétar
744423d267 Merge pull request #8 from moyogo/py23
Python 2/3: replace str by basestring
2015-11-18 15:31:34 +01: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
James Godfrey-Kittle
815c435fc9 Merge pull request #3 from anthrotype/round-int
don't truncate floats but round them before casting them to ints
2015-11-16 11:11:55 -08:00
Cosimo Lupo
e8db3a18bb don't truncate floats but round them before casting them to ints 2015-11-14 18:04:22 +00: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
6bd52a6f6d Merge pull request #409 from anthrotype/sfnt-table-order
[sfnt] make SFNTReader.tables an OrderedDict sorted by table offset
2015-11-13 17:44:20 +00: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
Adrien Tétar
f733002fea Merge pull request #7 from moyogo/badges
README: link badges with Travis-CI and AppVeyor project pages
2015-11-13 16:06:08 +01:00
Denis Jacquerye
7a4f0328e7 README: link badges with Travis-CI and AppVeyor project pages 2015-11-13 14:19:51 +00:00
jamesgk
ebcd99b1df Rearrange some code
Hopefully this should make the code supporting the public API more
clear.
2015-11-12 16:36:23 -08:00
jamesgk
3855de8887 Move non-RoboFab code into a separate module 2015-11-12 16:22:15 -08:00
jamesgk
3e7c9a39d3 Move cu2qu into a package 2015-11-12 16:18:58 -08:00
Cosimo Lupo
7f5d5454fc Merge pull request #406 from anthrotype/xattr-keyerror
[macCreatorType] fix KeyError raised by old version of xattr module
2015-11-11 00:06:54 +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
75d4805256 Merge pull request #405 from anthrotype/post-maxint
[_p_o_s_t] remove max indices "reserved for future use"
2015-11-10 00:20:44 +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
91190587b8 Merge pull request #2 from moyogo/appveyor
Add AppVeyor files
2015-11-08 18:03:51 +01:00
Denis Jacquerye
4611f4d6fc README: add Appveyor and Python versions badges 2015-11-08 16:56:50 +00:00
Denis Jacquerye
c7c9d901e8 Add Appveyor files 2015-11-08 16:56:50 +00:00
Adrien Tétar
08a6281a91 Merge pull request #1 from unified-font-object/patch-1
glifLib: open files as binary to avoid line-endings normalization
2015-11-08 15:44:30 +01: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
0e3ca80eea add README 2015-11-08 11:22:08 +01:00
Adrien Tétar
e345fec96f meta: remove robofab files 2015-11-08 11:11:11 +01:00