Sascha Brawer
1356a6775b
[otTables] Simplify API for MultipleSubst
...
Resolves https://github.com/behdad/fonttools/issues/355
For making sure that `pyftsubset` still works after this change,
I have done the following steps:
* invoked Adobe's `makeotf` tool to build a custom font with a
MultipleSubst lookup. This lookup decomposes two two ligatures,
`c_t` and `f_f_i`, into their respective components.
* invoked the `pyftsubset` tool to produce a subset font with just
the `c_t` ligature;
* checked with `ttx` that the newly produced subset font contains
the requested `c_t` ligature and its components `c` and `t`,
but does not contain not any of `f_f_i`, `f`, or `i`.
2015-09-10 14:56:07 +02:00
Cosimo Lupo
fb145d1a82
Merge pull request #363 from miguelsousa/patch-1
...
typo
2015-09-10 13:11:45 +01:00
Miguel Sousa
b5feb2571b
typo
2015-09-10 03:45:55 -07:00
Cosimo Lupo
ae5bc2dc00
Merge pull request #361 from anthrotype/brotli-v0.2.0
...
[requirements.txt] pip install Brotli v0.2.0
2015-09-10 09:45:52 +01:00
Cosimo Lupo
c1a1d39b22
[requirements.txt] pip install Brotli v0.2.0
2015-09-10 09:42:56 +01:00
Cosimo Lupo
feed22b613
[README] fix typo
2015-09-10 09:40:39 +01:00
Cosimo Lupo
db6048461a
Merge pull request #359 from davelab6/patch-2
...
README: Update , merge in Doc/documentation.html
2015-09-10 09:28:13 +01:00
Sascha Brawer
83115774f3
Merge pull request #360 from brawer/unittest
...
[otTables] Add unit tests for SingleSubst, LigatureSubst and AlternatateSubst
2015-09-10 10:11:12 +02:00
Sascha Brawer
8d8288a862
[otTables] Add unit tests for SimpleSubst, LigatureSubst and AlternateSubst
2015-09-10 10:05:23 +02:00
Sascha Brawer
bce961b575
[feaLib] Fix documentation typo
...
Thanks to @mashabow for noticing it.
701c72116d (commitcomment-13147708)
2015-09-10 07:13:10 +02:00
Dave Crossland
67f7825883
Delete documentation.html
2015-09-09 14:48:09 -04:00
Dave Crossland
7d82398fa4
README: Update , merge in Doc/documentation.html
2015-09-09 14:46:40 -04:00
Sascha Brawer
044ea07863
Merge pull request #358 from brawer/ltag
...
Build ltag table also with Python 2.7
2015-09-09 20:32:22 +02:00
Sascha Brawer
d927ccf2a6
Merge pull request #356 from anthrotype/feaLib-fix
...
[feaLib] make LookupList.Lookup into a list of Lookup objects, not subtables
2015-09-09 20:32:09 +02:00
Sascha Brawer
7f70a79fc8
Build ltag table also with Python 2.7
...
Before this change, TTX (when running in Python 2.7) would fail
to compile a font if the input contained an `ltag` section.
With Python 3, it worked perfectly fine even before this change.
Resolves https://github.com/behdad/fonttools/issues/357
2015-09-09 20:24:08 +02:00
Cosimo Lupo
d89bcd422d
[feaLib] adjust test data to changes in builder.LookupBuilder
...
'LookupList' elements now contains 'Lookup' elements, in turn containing one or more lookup subtables
2015-09-09 18:21:33 +01:00
Cosimo Lupo
df06ce4981
[otConverters] use enumerate in writeArray, as sets don't support indexing
...
the feaLib parser returns glyph classes as set objects
2015-09-09 18:16:44 +01:00
Cosimo Lupo
efea2c17de
[feaLib] make LookupBuilder.build return Lookup instances, instead of raw subtables
...
The list of subtables should go in the 'SubTable' attribute of Lookup object.
This also sets the 'LookupType', 'LookupFlag' and 'SubTableCount' attributes.
2015-09-09 18:13:28 +01:00
Sascha Brawer
f4f71be239
Merge pull request #354 from brawer/feaLib-table
...
[feaLib] Use fontTools wrapper class for otTable's GSUB/GPOS tables
2015-09-09 17:06:12 +02:00
Sascha Brawer
4846f9006f
[feaLib] Use fontTools wrapper class for otTable's GSUB/GPOS tables
...
Resolves df740092d9 (commitcomment-13138084)
2015-09-09 17:00:27 +02:00
Sascha Brawer
91197a58a7
Merge pull request #350 from brawer/feaLib
...
[feaLib] Implement GSUB lookup types 1, 3 and 4
2015-09-09 15:14:01 +02:00
Sascha Brawer
5f5b07b8d7
Merge pull request #349 from brawer/glyphnames-beyond-bmp
...
Support non-BMP characters for synthetic glyph names
2015-09-09 15:03:06 +02:00
Sascha Brawer
67cef432e1
Merge pull request #353 from anthrotype/ttx-getopterror
...
[ttx] raise GetoptError and print messages to sys.stderr
2015-09-09 14:27:45 +02:00
Cosimo Lupo
e5b67b2451
[ttx] raise GetoptError and print messages to sys.stderr
2015-09-09 13:13:17 +01:00
Cosimo Lupo
d4e40e3e05
Merge pull request #352 from anthrotype/ttx-flavor
...
[ttx] add --flavor option to compile to "woff" or "woff2"
2015-09-09 13:08:03 +01:00
Cosimo Lupo
27e31e7e22
[ttx] add --flavor option for compiling to 'woff' or 'woff2'
2015-09-09 13:00:35 +01:00
Cosimo Lupo
0332f60d7f
Merge pull request #351 from anthrotype/woff2-fixes
...
add 'padding' attribute to glyf table
2015-09-09 12:20:04 +01:00
Cosimo Lupo
f8e59445c1
[woff2] minor
2015-09-09 12:16:49 +01:00
Cosimo Lupo
563f32f877
[glyf] add 'padding' attribute to glyf table; assert is in (0, 1, 2, 4)
...
The default (1) keeps the current behaviour (i.e. only pad when we can
use short offsets). Optional values are 0 (no padding), 2 and 4.
2015-09-09 11:15:26 +01:00
Cosimo Lupo
895c54cf92
[textTools] reduce usage of str concat in pad
function
2015-09-09 09:52:31 +01:00
Sascha Brawer
84e722cb6a
Merge pull request #1 from anthrotype/glyphnames-beyond-bmp
...
fix woff2_test failing on #349
2015-09-08 20:04:17 +02:00
Cosimo Lupo
ed03d57170
[woff2] make dummy glyphOrder based on gids when decompiling glyf table
...
Using TTFont.getGlyphOrder() would also require to decompile post and cmap tables.
But we don't need the actual glyph names in order to apply the WOFF2 glyf transform.
2015-09-08 17:01:59 +01:00
Sascha Brawer
a35291e8c1
[feaLib] Implement required
qualifier on language
statements
2015-09-08 15:55:54 +02:00
Sascha Brawer
a3783e1095
[feaLib] Reject language
and script
within feature aalt
and size
2015-09-08 12:18:03 +02:00
Sascha Brawer
792a958d6c
[feaLib] Implement parser for multiple substitutions (GSUB LookupType 2)
...
Actually building the GSUB table is not implemented yet, since this
will probably need changes to otTables.
2015-09-08 12:05:44 +02:00
Sascha Brawer
683a8f5dbc
[feaLib] Reject duplicate languagesystem declarations
2015-09-08 10:56:07 +02:00
Sascha Brawer
b0bbce88b1
[feaLib] Implement Single Substitution (GSUB lookup type 1)
2015-09-08 10:33:07 +02:00
Sascha Brawer
86004df3b0
[feaLib] Reject script dflt
and language DFLT
...
These are invalid casing variants of the frequently used
`script DFLT` and `language dflt`. Adobe's makeotf tool
does a similar check.
2015-09-08 09:26:24 +02:00
Sascha Brawer
20392fb491
[feaLib] Fix test failures caused by an earlier bug fix
...
An earlier change made sure that language tags would always be
four characters in length, even when ending in whitespace.
This made a few test cases in parser_test.py fail. By accident,
I had only run builder_test (instead of all unittest in fonttools)
before committing that change.
2015-09-07 22:05:10 +02:00
Sascha Brawer
c1ba66c2ea
[feaLib] Write LangSysRecords to GSUB and GPOS tables
2015-09-07 22:03:50 +02:00
Sascha Brawer
6140a4ec2b
[feaLib] Build ScriptList subtable
...
Also, fixed a bug that caused language tags to be sometimes stripped.
Added an assertion to verify that language tags are always 4 chars.
2015-09-07 21:34:10 +02:00
Sascha Brawer
d3c743bb27
[feaLib] Build feature tables
2015-09-07 17:22:37 +02:00
Sascha Brawer
2537a4da29
[feaLib] Enforce uniform lookup types inside named lookup blocks
2015-09-07 16:27:12 +02:00
Sascha Brawer
0963673d58
[feaLib] Rename a test case, for consistency with other test cases
2015-09-07 16:13:34 +02:00
Sascha Brawer
80de401c09
[feaLib] Implement ligature substitutions
2015-09-07 16:10:13 +02:00
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
701c72116d
[feaLib] Make feaLib compliant with the PEP8 style guide
...
After this change, pep8 v1.6.2 reports no style guide violations.
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