176 Commits

Author SHA1 Message Date
Sascha Brawer
3c65e82307 [otlLib] Move building of otTables.Lookup from feaLib to otlLib 2016-01-20 19:25:41 +01:00
Sascha Brawer
51ec0bf5cc [otlLib] Move building of MarkGlyphSetsDef table from feaLib to otlLib 2016-01-20 11:28:33 +01:00
Sascha Brawer
3eacada029 [otlLib] Move building of LigCaretLists from feaLib to otlLib 2016-01-20 09:49:09 +01:00
Sascha Brawer
939b03fbea [otlLib] Move building of LigGlyphs from feaLib to otlLib 2016-01-20 09:16:31 +01:00
Sascha Brawer
bfff7b4e86 [otlLib] Move building of CaretValues from feaLib to otlLib 2016-01-20 08:23:42 +01:00
Sascha Brawer
1bb757ee3c [otlLib] Return None for empty argument to buildAttachList()
This simplifies call sites when building GDEF tables.
Also, publicly expose the buildAttachPoint() function.

https://github.com/behdad/fonttools/issues/468#issuecomment-173006650
2016-01-19 23:25:47 +01:00
Sascha Brawer
d1fd788af9 [otlLib] Build AttachLists in otlLib instead of feaLib 2016-01-19 22:38:23 +01:00
Sascha Brawer
f9f951d2ae [otlLib] Do not emit empty <Value/> elements for empty ValueRecords
No changes in the compiled binary representation, this just affects XML.
After this change, the XML for empty ValueRecords is identical to the
output from makeotf.

https://github.com/behdad/fonttools/issues/471
2016-01-19 22:01:30 +01:00
Sascha Brawer
35cc4b886d [otlLib] Minor: Use variable names that are less confusing 2016-01-19 16:54:52 +01:00
Sascha Brawer
ed4c93514c [otlLib] Test what otlLib.buildSinglePos() does with empty values
Context: https://github.com/behdad/fonttools/issues/471

This test helps to isolate the problem. Now we know that it is
in feaLib while otlLib behaves correctly.
2016-01-19 16:49:54 +01:00
Sascha Brawer
ce7cc432f2 [otlLib] Implement otlLib.getSinglePosSubtable()
https://github.com/behdad/fonttools/issues/468
2016-01-19 15:40:19 +01:00
Sascha Brawer
6c7776683e [otlLib] Implement buildSinglePos() 2016-01-19 14:22:28 +01:00
Behdad Esfahbod
305b8eaae3 [otlLib] Minor 2016-01-18 12:32:01 +01:00
Sascha Brawer
049fd4bd8f [otlLib] Move CursivePos building from feaLib to otlLib 2016-01-14 17:54:47 +01:00
Sascha Brawer
9612ef1a22 [otlLib] Move buildCoverage from feaLib to otlLib 2016-01-14 17:10:45 +01:00
Sascha Brawer
0f8882bcc3 [otlLib] Move creation of ValueRecords from feaLib to otlLib 2016-01-14 16:27:04 +01:00
Behdad Esfahbod
65dafa3c01 [otlLib] Fix badaf94691cd16ae5b801896d2c56a044d88c3d4
Ugh.
2016-01-14 15:06:59 +00:00
Behdad Esfahbod
badaf94691 [otlLib] Sanity-check buildAnchor() input 2016-01-14 14:59:10 +00:00
Behdad Esfahbod
79953e9912 [otlLib] Fix build 2016-01-14 12:32:32 +00:00
Behdad Esfahbod
d7ca50a624 Minor 2016-01-14 12:28:32 +00:00
Behdad Esfahbod
5ea2acad56 [otlLib] "Hide" internal function 2016-01-14 12:27:39 +00:00
Sascha Brawer
18297eb591 [otlLib] Move buildAnchor from feaLib to otlLib 2016-01-14 13:08:26 +01:00
Sascha Brawer
0c001da24a [otlLib] Add tests for buildDevice() 2016-01-14 12:24:37 +01:00
Sascha Brawer
bf29ec9555 [otlLib] Move the building of Device tables from feaLib to otlLib 2016-01-14 11:48:17 +01:00
Sascha Brawer
6246c71a07 [feaLib] Port to otlLib builder for supported lookups
Make the output of otlLib.buildLigatureSubst() deterministic.
Before this change, otlLib ligatures were emitted in a non-deterministic
sorting order (depending on what hash value Python would give
to a string tuple).
2016-01-14 10:27:54 +01:00
Behdad Esfahbod
5c34acb94d Add otlLib, which is library to work with OpenType Layout tables
Contains the sketch and start of a stateless GSUB/GPOS/GDEF builder.
Will be used by mtiLib, feaLib, and the future voltLib.  Can also
be used by clients to build these tables with much less pain.
2016-01-13 17:52:30 +00:00