2234 Commits

Author SHA1 Message Date
Behdad Esfahbod
44fda3ac0b [varLib] Start OnlineVarStoreBuilder 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
c3a87f3fe4 [varLib] Fix DeltaFormat of variation Device table 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
a85dc19378 [varLib] Reuse base font's layout tables 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
72fe29359b [varLib] Start building Device table for variations 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
4715d2f44b [minor] Line terminators 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
12a5c5895d [varLib] Enable building gvar again
Was dropped accidentlaly in 680059d0.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
76ce34b06c [varLib] Implement mapping tail optimization 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
687c2c1812 [varLib] Build indirect advance-width in HVAR
Fixes VarIdxMap implementation as well.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
32bd6bcc31 [varLib] Add optimizeVarData()
Though not really effective right now since we don't split into
multiple VarData sets.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
3064985880 VarStore: Remove Reserved field 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
47a7dde070 [varLib] Make VarData.NumShorts automatic 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
f11414c93b [varLib] Implement new VarData, aka. ItemVariationData, table 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
38c88f6996 [varLib] Rename VarTuple to VarRegion 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
e7163eddb0 [varLib] Rename VarTupleList to VarRegionList
Aka. ItemVariationRegionList.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
35a401f04d [varLib] Add support for VarIdxMap, aka. DeltaSetIndexMap.
Update HVAR / VVAR to latest draft.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
a174aa76af [ot] Implement template converters
Eg. "OffsetTo(TypeName)"
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
831bf051c0 [varLib] Shuffle code around 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
c1717224da [varLib] Generate direct HVAR 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
e2da17e032 [opentype-gx/varLib] More work towards VariationStore
And HVAR/VVAR tables.
2016-09-27 19:49:41 +02:00
Behdad Esfahbod
4506796b32 Minor 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
32dd2e9e7e Add a VarStore at the end of GDEF 2016-09-27 19:49:41 +02:00
Behdad Esfahbod
4d7b5f6472 [varLib] Start implementing VariationStore 2016-09-27 19:49:41 +02:00
Cosimo Lupo
33fb81a282 [ttx] add --version option that prints fontTools.version.__version__ 2016-09-27 00:40:33 +01:00
Cosimo Lupo
5dabba6699 [ttLib] get 'ttLibVersion' from fontTools.version.__version__, but only write MAJOR.MINOR
otherwise it risks changing too often... ;)
2016-09-27 00:28:01 +01:00
Cosimo Lupo
a502694d14 add version.py module exporting '__version__' using metadata from pkg_resources
Do not export 'version' from top-level fontTools.__init__ module, as it is
rarely used; importing pkg_resources here would slow down importing fontTools.
2016-09-27 00:04:14 +01:00
Cosimo Lupo
4ae7bba184 [subset_test] add tests for --passthrough-tables option 2016-09-26 19:13:56 +01:00
Cosimo Lupo
9de25ea628 [subset] add --passthrough-tables option to keep any tables that the subsetter does not know how to subset 2016-09-26 19:13:04 +01:00
Cosimo Lupo
f171719e05 TSI5: set group to 0 (i.e. "AnyGroup") when compiling if glyph name is missing
This is also what VTT does when one does "Prepare font..." and a character is not present in the character groups template file ("CharGrp.txt"): it gets assigned to the default "AnyGroup" group, or 0.

Note that the TSI1 and TSI3 tables do not raise when a glyph name is in the glyphOrder but is missing in their internal mapping; they instead write an empty entry.

This makes easier to merge TSI* tables from different fonts or from earlier revision of the same font containing only a subset of the glyphs.
2016-09-26 16:15:29 +01:00
Sascha Brawer
f76792c0eb Parse anonymous data blocks
http://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html#10

For example, @mhosken is interested in experimenting with inlining
custom syntax (such as Python snippets) into feature files. After this
change, such experiments can be done on top of feaLib because the
Abstract Syntax Tree now contains the tag and content of `anonymous`
blocks.
2016-09-16 18:57:40 +02:00
Cosimo Lupo
0b88377419 Merge pull request #668 from moyogo/tsi1
TSI1: text can be utf-8
2016-09-16 13:43:43 +02:00
Cosimo Lupo
814e4d2d79 ttGlyphPen_test: add more test cases for removal of extra move/end points 2016-09-15 19:22:00 +02:00
moyogo
b97476885b [voltLib] parser: glyphs OrderedSymbolTable is case sensitive 2016-09-15 09:17:11 +01:00
moyogo
fa433c46a2 [voltLib] parser: add test for case sensitive glyph definition 2016-09-15 09:17:11 +01:00
moyogo
304994851b TSI1: text can be utf-8 2016-09-15 07:16:57 +01:00
moyogo
fbd90ec94b [voltLib] parser: don’t use feaLib.parse 2016-09-15 07:09:01 +01:00
moyogo
67c08a1f63 [voltLib] ast: don’t use feaLib.ast 2016-09-15 06:58:17 +01:00
moyogo
db3e019ead parser_test: comment out test_def_group_groups_undefined, TODO: reenable it 2016-09-14 17:25:26 +01:00
moyogo
291cdc133f [voltLib] use tuple for coverage and in mapping in tests as well 2016-09-14 17:25:26 +01:00
moyogo
76d8084d77 [voltLib] use OrderedDict for mapping 2016-09-14 17:25:26 +01:00
moyogo
31a1aa8c7a [voltLib] use tuple for coverage and in mapping 2016-09-14 17:25:26 +01:00
moyogo
2f71f7c9ad [voltLib] remove unsused SymbolTable.expand() and remove commented calls 2016-09-14 17:25:26 +01:00
moyogo
7541fc7b1a [voltLib] raise on cyclic groups 2016-09-14 17:25:26 +01:00
moyogo
b758c2b584 [voltLib] reuse GlyphDefinition.glyphs_ if present 2016-09-14 17:25:25 +01:00
moyogo
bc63725beb [voltLib] Add GlyphName, Enum, GroupName, Range to ast. Add resolve_group and glyph_range to Parser 2016-09-14 17:25:25 +01:00
moyogo
f91020c2f4 [voltLib] add OrderedSymbolTable, needed for Parser.glyphs_ and ranges 2016-09-14 17:25:25 +01:00
moyogo
e729fd9b54 [voltLib] parse ReverseChainingSingle substitution 2016-09-14 17:25:25 +01:00
moyogo
e93f7384a5 [voltLib] parse substitution as single, multiple or ligature sub 2016-09-14 17:25:25 +01:00
moyogo
c564b31f47 [voltLib] test for duplicate lang tag 2016-09-14 17:25:25 +01:00
moyogo
da80ce9cd1 [voltLib] test for duplicate script tag 2016-09-14 17:25:25 +01:00
moyogo
23106f71ec [voltLib] lookup name must start with letter 2016-09-14 17:25:25 +01:00