Sascha Brawer
da29d22748
Add lexer for OpenType feature files
2015-08-10 11:17:52 +02:00
Cosimo Lupo
915b8c303a
Merge pull request #332 from miguelsousa/mixed_indents
...
fix "indentation contains mixed spaces and tabs" errors reported by Landscape
2015-08-09 13:21:30 +01:00
Miguel Sousa
d28a942683
fix two misc errors reported by Landscape
2015-08-09 00:40:31 -07:00
Miguel Sousa
a7aef47695
fix "indentation contains mixed spaces and tabs" errors reported by Landscape
2015-08-09 00:33:50 -07:00
Cosimo Lupo
2a713bfd79
[woff2/woff2_test] replace 'StringIO' with 'BytesIO'
2015-08-07 18:23:55 +01:00
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