Sascha Brawer
8e8a0d68c7
[feaLib] Prohibit script
and language
statements within named lookups
2015-09-07 13:33:44 +02:00
Sascha Brawer
5f2e55d5fc
[feaLib] Emit lookups for alternate substitutions
2015-09-07 11:39:09 +02:00
Sascha Brawer
102c0e0e56
[feaLib] Handle languagesystem
, script
and languaguage
statements
...
Currently, the compiler uses them to figure out which set of
languagesystems would apply for the current scope. However, this
information is not yet used for anything.
2015-09-07 11:39:09 +02:00
Sascha Brawer
4f27ce3585
[feaLib] Ensure that "languagesystem DFLT dflt;" comes first
...
According the to the OpenType Feature File specification,
"languagesystem DFLT dflt;" must be the first languagesystem
statement in a file.
2015-09-07 11:39:09 +02:00
Sascha Brawer
df740092d9
[feaLib] Basic test framework for building OpenType features
2015-09-07 11:39:09 +02: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
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
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
c06a377aa3
[feaLib] Implement valueRecordDef statements
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
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