1908 Commits

Author SHA1 Message Date
Behdad Esfahbod
b23d7cba8c [Snippets] Add layout-features.py that prints GSUB/GPOS features 2015-08-20 12:36:19 +01:00
Behdad Esfahbod
587c0cd142 Revert "Revert "[run-test.sh] echo selected python interpreter version""
This reverts commit 551f9506b308697bea8d2c5597e1a853fac151f6.

Nice thing to have
2015-08-20 11:36:09 +01:00
Behdad Esfahbod
41dcb5a2cc Minor 2015-08-20 11:13:54 +01:00
Cosimo Lupo
7ef718b9c5 Revert "[travis] try python -c 'import brotli' to debug pypy3 build failing"
This reverts commit ecba74224a13b5d3bf9c0ca0829e63357086d19c.
2015-08-20 01:27:31 +01:00
Cosimo Lupo
551f9506b3 Revert "[run-test.sh] echo selected python interpreter version"
This reverts commit 8135df3fe9afc7eca6f9c75fbd271aec9ff24213.
2015-08-20 01:26:37 +01:00
Cosimo Lupo
ecba74224a [travis] try python -c 'import brotli' to debug pypy3 build failing 2015-08-19 23:58:18 +01:00
Cosimo Lupo
8135df3fe9 [run-test.sh] echo selected python interpreter version 2015-08-19 23:46:27 +01:00
Cosimo Lupo
ef71757a42 [woff2] cache reconstructed glyf data if requested to reconstruct loca before glyf 2015-08-19 22:58:17 +01:00
Cosimo Lupo
ef7310a293 [woff2_test] assert glyf isn't reconstructed twice if loca is accessed before 2015-08-19 22:55:24 +01:00
Cosimo Lupo
18d02aece9 [ttLib] convert KeyView object to list for py23 compatibility 2015-08-19 17:57:37 +01:00
Cosimo Lupo
3142e3319e add reordersTables() method to SFNTWriter and WOFF2Writer (return True for the latter) 2015-08-19 17:56:46 +01:00
Cosimo Lupo
1a34f0bd38 [woff2_test] no need to reorder tables when saving test WOFF2 fonts
the WOFF2 encoder currently must reorder them alphabetically in any case (for compatibility with the legacy OTS), so we don't need to do it twice
2015-08-19 17:00:43 +01:00
Cosimo Lupo
ebb64da7c0 [woff2_test] fix test failing in py3 2015-08-19 16:40:45 +01:00
Cosimo Lupo
4c8960bb9a [woff2_test] use OrderedDict like sfnt module 2015-08-19 16:36:32 +01:00
Cosimo Lupo
f083209590 [woff2] use OrderedDict like sfnt module 2015-08-19 16:36:03 +01:00
Cosimo Lupo
4fe88a41f3 [TTFont] fix reorderTable logic 2015-08-19 15:47:07 +01:00
Behdad Esfahbod
9aed8e1e9d Merge pull request #270 from anthrotype/woff2_14
implement WOFF2 encoder/decoder as standalone module
2015-08-19 15:33:44 +01:00
Behdad Esfahbod
a2374c847a Merge pull request #338 from anthrotype/reorderTables
change behaviour of reorderTables: allow True, None and False
2015-08-19 14:42:26 +01:00
Cosimo Lupo
6ba67ab699 [TTFont] changed behaviour of 'reorderTables' argument of save function
Reorder to OT spec recommended order if reorederTables == True (default).
Don't reorder if reorderTables == None.
Keep the input font original table order if reorderTables == False (and
the font has a reader object from which to get the original order).
2015-08-19 14:36:58 +01:00
Cosimo Lupo
099c260b36 [sfnt] use OrderedDict for SFNT{Reader,Writer}.tables dictionaries 2015-08-19 14:36:51 +01:00
Sascha Brawer
6c623928be Merge pull request #334 from brawer/feaLib
Parser for OpenType feature files
2015-08-17 20:13:53 +02:00
Cosimo Lupo
aa63a059b1 Merge pull request #337 from anthrotype/vhea
[_v_h_e_a] don't recalc vertical bounds if recalcBBoxes == False
2015-08-17 10:33:38 +01:00
Cosimo Lupo
4d6a94dfaa [_v_h_e_a] don't recalc vertical bounds if recalcBBoxes == False 2015-08-17 10:23:03 +01:00
Cosimo Lupo
f7064535ba [woff2_test] rename py3 deprecated 'assertRaisesRegexp' to 'assertRaisesRegex' 2015-08-11 17:47:17 +01:00
Cosimo Lupo
77b1a4aa8e rename 'test_data' folder to 'testdata' so it matches #334 2015-08-11 16:31:09 +01:00
Sascha Brawer
fb050c7a7f [feaLib] Parse rules for multiple substitution (GSUB LookupType 2) 2015-08-11 16:45:54 +02:00
Cosimo Lupo
00c3afd421 [requirements.txt] pip install Brotli-0.1.0 2015-08-11 15:24:50 +01:00
Sascha Brawer
72c1f165b4 [feaLib] Parse substitute from statements 2015-08-11 15:54:54 +02:00
Sascha Brawer
8b77f68dec [feaLib] Parse feature blocks with useExtension keyword 2015-08-11 15:28:59 +02:00
Sascha Brawer
f60d49471d [feaLib] Parse subtable statements 2015-08-11 15:14:47 +02:00
Sascha Brawer
e132741b2c [feaLib] Parse languagesystem in the same way as all other statements
In the new version, the parse_languagesystem_() function returns
an ast.LanguageSystemStatement, which then gets appended to the
current list of statements by the caller. Before this change,
the parse_languagesystem_() function would always append the
newly parsed statement to the list of top-level statements.
In practice, it does not matter because `languagesystem` is
only valid at the top level, but there is no good reason why
the parser method would have to be different from all other
constructs.
2015-08-11 12:55:09 +02:00
Sascha Brawer
abb9edacc9 [feaLib] Parse anchorDef statements 2015-08-11 12:53:30 +02:00
Sascha Brawer
00714511f0 [feaLib] Parse chained contextual substitution rules 2015-08-11 12:22:07 +02:00
Sascha Brawer
c165a1e019 [feaLib] Parse lookup blocks and references 2015-08-11 10:59:26 +02:00
Sascha Brawer
6d7540ecac [feaLib] Move block parsing to a separate method
We will soon support additional blocks beyond `feature`,
and keeping this refactoring separate from new functionality
makes it easier for code reviewers to follow the changes.
2015-08-11 10:19:39 +02:00
Sascha Brawer
1f2fadc864 [feaLib] Parse language statements 2015-08-10 16:30:10 +02:00
Sascha Brawer
4ab6e6b169 [feaLib] Parse script statement 2015-08-10 11:30:47 +02:00
Sascha Brawer
4bcdc60ca8 [feaLib] Remove write() methods
For now, it looks like we won't need them for anything; removing this
code makes the codebase a little bit less complicated.
2015-08-10 11:24:24 +02:00
Sascha Brawer
bc8279bab1 [feaLib] Parse ignore sub and ignore substitute statements 2015-08-10 11:17:52 +02:00
Sascha Brawer
482c498943 [feaLib] Improve unit tests for subtitution rules 2015-08-10 11:17:52 +02:00
Sascha Brawer
08d01bb24d [feaLib] Parse substitution rules for LookupTypes 1 and 3
The parsed representation should handle most of other LookupTypes
as well, but the parser cannot recognize them yet.
2015-08-10 11:17:52 +02:00
Sascha Brawer
37fa652fa9 [feaLib] Add unit test for scoping of valueRecordDef statements 2015-08-10 11:17:52 +02:00
Sascha Brawer
402726f02c [feaLib] Clarify an error message 2015-08-10 11:17:52 +02:00
Sascha Brawer
5270a978a9 [feaLib] Support hexadecimal numbers
The OpenType Feature File specification does not specify hex numbers
as explicit token type, but they appear several times in the examples
given by the spec.
2015-08-10 11:17:52 +02:00
Sascha Brawer
c06a377aa3 [feaLib] Implement valueRecordDef statements 2015-08-10 11:17:52 +02:00
Sascha Brawer
4169e584cc [feaLib] Clarify error message for malformed glyph class references
The new message makes clearer what exactly the parser was looking for
when processing a glyph class reference.
2015-08-10 11:17:52 +02:00
Sascha Brawer
bb5a7e7caf [feaLib] Make symbol tables separate objects
For example, named value records follow the same scoping rules
as named glyph classes.
2015-08-10 11:17:52 +02:00
Sascha Brawer
944fab8a5f [feaLib] Implement parsing of feature blocks 2015-08-10 11:17:52 +02:00
Sascha Brawer
3936e334f1 [feaLib] Resolve references to glyph classes 2015-08-10 11:17:52 +02:00
Sascha Brawer
a0bbd5fab9 [feaLib] Detect duplicate glyph class definitions 2015-08-10 11:17:52 +02:00