Sascha Brawer
a0bbd5fab9
[feaLib] Detect duplicate glyph class definitions
2015-08-10 11:17:52 +02:00
Sascha Brawer
d72aac035e
[feaLib] Restrict length of glyph class names to 30 characters
...
This is required by the OpenType Feature File specification,
section 2.g.ii "Named glyph classes".
2015-08-10 11:17:52 +02:00
Sascha Brawer
ba238344b1
[feaLib] Implement top-level glyph class definitions
2015-08-10 11:17:52 +02:00
Sascha Brawer
b86e30d7c6
[feaLib] Rename features.py to ast.py, for Abstract Syntax Tree
2015-08-10 11:17:52 +02:00
Sascha Brawer
23997cfd95
[feaLib] Prevent deprecation warnings on Python 3
...
In Python 3, the method unittest.TestCase.assertRaisesRegexp
has been renamed to "assertRaisesRegex", and the frameworks spits
out deprecation warnings when using the method name from Python 2.
2015-08-10 11:17:52 +02:00
Sascha Brawer
05fe077654
[feaLib] Parse languagesystem
2015-08-10 11:17:52 +02:00
Sascha Brawer
f4ed6b5a85
Make pretty error messages for LexerError
2015-08-10 11:17:52 +02:00
Sascha Brawer
efbcba79a4
Handle inclusion of OpenType feature files
2015-08-10 11:17:52 +02:00
Sascha Brawer
ac700b0af5
Support FILENAME tokens when lexing OpenType feature files
...
When the lexer encounters the "include" keyword, it now enters
a special mode for scanning file names. After having scanned over
the file name, the lexer goes back to normal. The exact format
of file name strings is not defined by the OpenType feature file
specification, so we accept any character that is not a closing
parenthesis.
2015-08-10 11:17:52 +02:00
Sascha Brawer
612d2122ad
Store file path in Lexer
...
This simplifies the implementation of the parser for
OpenType feature files, since it can now just keep
token locations returned by the lexer. Before this
change, the parser had to un-pack the location tuples
and build new tuples that included the file path.
2015-08-10 11:17:52 +02:00
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
Cosimo Lupo
c31ee9362f
Merge pull request #333 from miguelsousa/misc_errors
...
fix two misc errors reported by Landscape
2015-08-09 09:03:45 +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
baf2179fc3
Merge pull request #330 from anthrotype/unicodeio
...
[py23] disambiguate bytes vs unicode in-memory streams
2015-08-07 18:15:28 +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
852e4e6593
Merge pull request #327 from anthrotype/escape_cr
...
[xmlWriter] escape carriage returns '\r' using XML character entity '&13#;'
2015-07-27 19:29:57 +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
Sascha Brawer
f928c9a32b
Merge pull request #326 from anthrotype/xmlReader_read_utf8
...
[xmlReader] open file for reading bytes (and revert two previous commits...)
2015-07-26 19:09:25 +02: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
911dec44b0
Merge pull request #325 from anthrotype/py23_round_float
...
[fixedTools] make sure fixedToFloat function returns float on both python 2 and 3
2015-07-24 16:56:48 +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
Sascha Brawer
e24f2eabce
Merge pull request #324 from anthrotype/xmlReader_utf8
...
Xml reader utf8
2015-07-23 19:07:10 +02: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