Cosimo Lupo
867ad325bf
[ttx] add support for dumping WOFF2 fonts to TTX
2015-08-07 18:23:41 +01:00
Cosimo Lupo
eb266373fd
[subset] specify woff2 among supported flavors in __doc__
2015-08-07 18:23:41 +01:00
Cosimo Lupo
0d21b67162
[woff2_test] add unit tests for woff2 module
2015-08-07 18:23:41 +01:00
Cosimo Lupo
4fc34de9e6
[ttLib] add 'test_data' folder containing font data to use in unit tests
2015-08-07 18:23:41 +01:00
Cosimo Lupo
b6ce7ae668
[woff2] add woff2 module with support for reading/writing single WOFF2 fonts (no font collections yet)
2015-08-07 18:23:41 +01:00
Cosimo Lupo
77ffbab995
[glyf] pad glyph data upon compile if self has attribute 'padding'
2015-08-07 18:23:41 +01:00
Cosimo Lupo
98e47a8746
[textTools] add 'pad' function to pad strings with null bytes
2015-08-07 18:23:41 +01:00
Cosimo Lupo
d50af59a52
[ttLib] pass if _getGlyphNamesFromCmap raises KeyError on 'cmap'
...
when _getGlyphNamesFromCmap gets called by the cmap parser itself, the
partially loaded subtable is removed and then restored later.
However, when a TTFont instance is imported from XML rather than from
binary file, its 'reader' attribute is None, and so the line:
tempcmap = self['cmap'].getcmap(3, 1)
will make TTFont.__getitem__ raise KeyError. It's better to fail nicely,
and return a dummy glyphOrder based on maxp numGlyphs.
2015-08-07 18:23:41 +01:00
Cosimo Lupo
2996c2e308
[sfnt] ovveride __new__ methods of SFNTReader and SFNTWriter to return flavor-compatible instances
2015-08-07 18:23:41 +01:00
Cosimo Lupo
bf0e336d31
replace all 'StringIO' with 'BytesIO'
2015-08-07 17:25:22 +01:00
Cosimo Lupo
2e058808fe
[py23] define BytesIO, StringIO and 'UnicodeIO' to disambiguate bytes vs unicode in-memory streams
2015-08-07 17:24:42 +01:00
Cosimo Lupo
9f846d3687
[xmlReader_test] test newlines gets normalised by expat parser, unless escaped
2015-07-27 19:24:02 +01:00
Cosimo Lupo
5102353afb
[xmlWriter] escape carriage returns '\r' using XML character entity '&13#;'
...
Fixes https://github.com/behdad/fonttools/issues/318
2015-07-27 12:58:02 +01:00
Cosimo Lupo
fcd31fdf19
[xmlWriter_test] test carriage returns '\r' are escaped with ' '
2015-07-27 12:58:02 +01:00
Cosimo Lupo
13d7d38259
[xmlReader_test] test that xmlReader correctly decodes UTF-8 bytes
2015-07-26 15:34:58 +01:00
Cosimo Lupo
edeb2c6c98
[xmlReader] open file for reading bytes
2015-07-24 16:59:07 +01:00
Cosimo Lupo
76c05ae052
Revert "[xmlReader] always open files using UTF-8 encoding"
...
This reverts commit 6b4567fcde138b069b1323d3127c103d007592cd.
2015-07-24 16:59:06 +01:00
Cosimo Lupo
fbdab03a1d
Revert "[xmlReader] make expat parser use UTF-8"
...
This reverts commit fe76598a80b16ed078606090470f491e4aadb660.
2015-07-24 16:59:06 +01:00
Cosimo Lupo
d7d59c527d
[fixedTools] make sure fixedToFloat function returns float on both python 2 and 3
2015-07-24 16:48:07 +01:00
Cosimo Lupo
4bfbdc8852
[xmlReader] initialise OTTableWriter instance with self.longOffset = False
...
Fixes https://github.com/behdad/fonttools/issues/323
2015-07-24 15:55:58 +01:00
Cosimo Lupo
fe76598a80
[xmlReader] make expat parser use UTF-8
2015-07-23 17:03:31 +01:00
Cosimo Lupo
6b4567fcde
[xmlReader] always open files using UTF-8 encoding
...
If no "encoding" argument is provided to Python3 `open`, the default plaftorm's encoding (cp1252 on Windows) is used when decoding bytes to unicode strings.
So, we use the `io.open` function (i.e. a backport of Python3 default file interface) with `encoding="utf_8"` argument.
Fixes https://github.com/behdad/fonttools/issues/323
2015-07-23 16:36:48 +01:00
Cosimo Lupo
c67295d759
remove remaining references to fondLib in macUtils.py and install.txt
...
Fixes #319
2015-07-08 16:40:19 +01:00
Cosimo Lupo
a54b98f445
add test for stringifyattrs method
2015-07-03 18:20:41 +01:00
Cosimo Lupo
1edb92b2b2
Merge pull request #316 from mashabow/cff-latin1
...
[cffLib] Fix encoding of Notice and Copyright values in XML on Python 2
2015-07-03 18:14:30 +01:00
mashabow
57e7a6b7a7
[cffLib] Fix encoding of Notice and Copyright values in XML on Python 2
2015-07-03 22:33:17 +09:00
Sascha Brawer
48cfcb076f
Add ‘meta’ to the list of supported tables
2015-07-03 15:13:04 +02:00
Sascha Brawer
3a6e5aca55
Merge pull request #315 from brawer/meta
...
Implement Apple’s “meta” table
2015-07-03 11:43:27 +02:00
Sascha Brawer
11d3770ca6
Implement Apple’s “meta” table
...
Because I could not find any fonts with “dlng” (design languages) or
“slng” (supported languages) sub-tables, these are not implemented yet.
We could easily implement them according to spec, but it is unclear
to what extent the spec is matching reality.
2015-07-03 11:36:50 +02:00
Behdad Esfahbod
c7187c3b20
Optimize reading array of GlyphIDs
2015-07-03 01:15:16 -07:00
Behdad Esfahbod
7d38ebb143
Minor
2015-07-03 01:01:10 -07:00
Behdad Esfahbod
0097e40ced
Minor
2015-07-03 00:55:54 -07:00
Behdad Esfahbod
089241a587
Minor
2015-07-03 00:53:15 -07:00
Behdad Esfahbod
a7e9d634d7
Minor
2015-07-03 00:50:34 -07:00
Behdad Esfahbod
1fbbbdd358
Micro-optimization for previous commit
2015-07-03 00:49:28 -07:00
Behdad Esfahbod
754a20d987
Implement lazy array for loading otData-driven arrays
...
Speeds up subsetting of GPOS table with many pairs by huge factor
(counted 5).
2015-07-02 18:00:41 -07:00
Behdad Esfahbod
b94ad38da5
[subset] Whitespace
2015-07-02 15:01:24 -07:00
Behdad Esfahbod
92093990cc
[ot] Minor
2015-07-02 15:01:20 -07:00
Behdad Esfahbod
aa9b3b6d43
[ot] Add readArray() and writeArray()
...
To be used soon to optimize partial / glyph array loading.
2015-07-02 15:01:15 -07:00
Behdad Esfahbod
64f1179230
Minor moving code around in prep for optimization work
2015-07-02 15:01:11 -07:00
Sascha Brawer
db1773af5d
Remove redundant line
...
It should have been removed in #4792d7419cd44a6fb3988b760b87dcb494db8488
2015-07-01 12:21:07 +02:00
Sascha Brawer
4792d7419c
Do not expose 'fvar' axis and instance flags in XML
...
The specification defines no values for these flags.
Resolves https://github.com/behdad/fonttools/issues/312
2015-07-01 09:10:32 +02:00
Cosimo Lupo
e05db5c75f
[_c_m_a_p] fix compiling of cmap subtable format 6
...
Fixes https://github.com/googlefonts/fontbakery/issues/551
the `codes` variable needs to be a sorted list of cmap keys, else the following line
```python
codes = range(codes[0], codes[-1] + 1)
```
cannot work properly, since dict keys are unsorted.
Up until 13a08d0c3a59402459875155b7dbd194787fb229, there was a line with
```python
codes.sort()
```
which was deleted for some reason.
2015-06-27 17:01:51 +01:00
Sascha Brawer
292315cf63
[GX] Use OpenType range for weight axis in ‘fvar’ test
2015-06-27 02:07:37 +02:00
Cosimo Lupo
4fd6373b92
[TTFont] keep input file open if we didn't open it
2015-06-26 18:30:18 +01:00
Cosimo Lupo
356c923411
[TTFont] wrap input file in a temporary stream to allow overwriting
...
Fixes https://github.com/behdad/fonttools/issues/302
2015-06-26 12:19:42 +01:00
Behdad Esfahbod
389c445760
Merge pull request #300 from brawer/fvar
...
[GX] Make it easier to construct ‘fvar’ tables from code
2015-06-26 01:48:03 -07:00
Behdad Esfahbod
e7795be277
Merge pull request #307 from garretrieger/master
...
Test for load a kern table with a bad glyph id.
2015-06-25 18:36:02 -07:00
Behdad Esfahbod
0c68f18361
Fix compile/decompile of kern table with invalid glyphs
...
Was "broken" in the performance work in commits
8724513a67f954eac56eeb77ced12e27d7c02b6b and
1d93f9099de4987c5c7d7e49a23f4c46a45dfab2.
Use slow method if exception raised.
The changes should move to TTFont layer itself. I'll move them
in a separate commit.
2015-06-25 18:31:52 -07:00
Garret Rieger
8bebea7253
Test for load a kern table with a bad glyph id.
2015-06-25 18:17:04 -07:00