2233 Commits

Author SHA1 Message Date
Sascha Brawer
96da5a0f71 Support TTX format for MultipleSubst of FontTools 3.0 and earlier
Fix a backwards compatibility problem introduced by
1356a6775b
(pull request https://github.com/behdad/fonttools/pull/364), where new versions
of FontTools would not be able to process `<MultipleSubst>` elements
in TTX files generated by older FontTools releases.

Resolves https://github.com/behdad/fonttools/issues/355.
2015-09-11 08:19:20 +02:00
Cosimo Lupo
3c9c1d2631 Merge branch 'history' 2015-09-10 15:58:03 +01:00
Cosimo Lupo
d9e83d6348 [README] one line per sentence
as recommended by @davelab6 in https://github.com/behdad/fonttools/pull/366#issuecomment-139270612
2015-09-10 15:55:01 +01:00
Cosimo Lupo
207ffc78b1 Merge pull request #366 from anthrotype/history
[README] reintroduce a "History" paragraph
2015-09-10 15:52:04 +01:00
Cosimo Lupo
a6be08072b [README] reintroduce a "History" paragraph 2015-09-10 15:16:35 +01:00
Sascha Brawer
9f01a3fb5f Merge pull request #365 from brawer/feaLib
[feaLib] Implement GSUB lookup type 2
2015-09-10 15:33:05 +02:00
Sascha Brawer
17ab15c4af [feaLib] Implement GSUB lookup type 2 2015-09-10 15:28:02 +02:00
Sascha Brawer
088918ed76 Merge pull request #364 from brawer/MultipleSubst
[otTables] Simplify API for MultipleSubst
2015-09-10 15:24:58 +02:00
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