Sascha Brawer
3a41bf7024
[feaLib] Make ValueRecord an Expression, not a Statement
2015-12-11 14:39:59 +01:00
Sascha Brawer
ac86de36fb
[feaLib] Implement the lookupflag
statement
2015-12-10 19:17:11 +01:00
Sascha Brawer
dfd210faef
[feaLib] Parse lookupflag
also when MarkAttachmentType comes last
...
Before this fix, the parser failed to process statements of the form
`lookupflag MarkAttachmentType @GLYPHCLASS;` when no other flag
were set after the glyph class. However, statements like
`lookupflag MarkAttachmentType @GLYPHCLASS RightToLeft;` were
getting recognized perfectly fine.
2015-12-10 16:00:54 +01:00
Behdad Esfahbod
74ebf424c6
[mtiLib] Fix file permission
2015-12-10 15:44:51 +01:00
Sascha Brawer
0dbb2fdcc0
[feaLib] Parse lookupflag
statements
...
They do not have any impact yet, this change is just for the parsing.
2015-12-10 13:06:28 +01:00
Behdad Esfahbod
ef03a3be47
Merge fd2ft, rename it to mtiLib
...
Implements Monotype Imaging's OpenType_Table_Source format as
specified at:
http://monotype.github.io/OpenType_Table_Source/otl_source.html
2015-12-10 12:57:37 +01:00
Sascha Brawer
e0a3350406
[feaLib] Implement GPOS type 8: Chaining contextual positioning
2015-12-09 23:53:20 +01:00
Sascha Brawer
cb0adb98b9
[feaLib] Parse GPOS type 8: Chaining contextual positioning
...
No output is generated yet, this change is just on the parser.
The OpenType Feature File specification is surprisingly vague about
the exact syntax of chaining contextual positioning rules, so I expect
that we will have to iterate on this parser. However, the test case
in parser_test.py gets recognized by `makeotf`, so the current
implementation is unlikely to be completely wrong.
2015-12-09 23:04:36 +01:00
Cosimo Lupo
4ae2604dca
Merge pull request #397 from rsheeter/master
...
Experimental support for Google-style color bitmap fonts
2015-12-09 21:38:28 +00:00
Rod Sheeter
9927a91653
Remove change to _dict_subset (meant to be local/test only). Add a cmap fmt 0 to color font test file.
2015-12-09 13:32:35 -08:00
Sascha Brawer
a364f60d1d
[feaLib] Change semantics of markClass
to also define a glyphclass
...
While not really documented in the OpenType Feature File specification,
the AFDKO makeotf tool handles the `markClass` statement this way.
Also, some examples in the specification seem to imply this semantics.
2015-12-09 22:15:52 +01:00
Rod Sheeter
905eb831b9
Add Google-style color font test and make _dict_subset more forgiving.
2015-12-09 13:05:16 -08:00
Cosimo Lupo
812609e90c
[subset] fix logic of EBLC subsetting; avoid KeyError in EBDT subsetting
2015-12-09 09:42:15 -08:00
Rod Sheeter
9189d1a1f0
Experimental support for Google-style color bitmap fonts
2015-12-09 09:42:15 -08:00
Sascha Brawer
c2c033d3cf
[feaLib] Implement GPOS type 6: Mark-to-mark attachment positioning
2015-12-09 17:56:47 +01:00
Sascha Brawer
2af0adde6c
[feaLib] Parse Mark-to-mark attachment positioning statements
...
No output is produced yet; this will come in an upcoming change.
2015-12-09 17:14:13 +01:00
Sascha Brawer
96223b8aee
[feaLib] Implement GPOS type 5: Mark-to-ligature attachment positioning
2015-12-09 16:51:15 +01:00
Sascha Brawer
d622f99982
[feaLib] Clean up class names of Abstract Syntax Tree statements
...
The class names of tree nodes for substitution and positioning rules
are now consistent with `builder.py`, which in turn is consistent with
`otTables.py`.
2015-12-09 13:58:05 +01:00
Sascha Brawer
5b1b1d17f6
[feaLib] Restructure MarkBasePosBuilder in preparation of MarkLigPosBuilder
...
The upcoming MarkLigPosBuilder will have some parts in common with
MarkBasePosBuilder. Move these common parts into a helper method,
so that MarkLigPosBuilder will be able to call them.
Also, clean up the structure of MarkBasePosBuilder.
2015-12-09 13:23:50 +01:00
Sascha Brawer
7e846691e4
[feaLib] Consistently name LookupBuilders after their OpenType subtable class
2015-12-09 12:59:20 +01:00
Sascha Brawer
652bbeb51b
[feaLib] Centralize how lookups are built from subtables
2015-12-09 12:51:01 +01:00
Sascha Brawer
320a4a57c6
[feaLib] Centralize the building of coverage tables
2015-12-09 12:30:57 +01:00
Sascha Brawer
0532ec85d3
[feaLib] Parse GPOS type 5: Mark-to-Ligature Attachment Positioning
...
No output is produced yet, this is just the change on the parser.
2015-12-09 10:40:49 +01:00
Sascha Brawer
25acebd824
[feaLib] Minor parser refactoring in preparation for GPOS type 5
...
GPOS type 5 has much in common with GPOS type 4, so we want to share
the common parsing code.
2015-12-08 23:46:04 +01:00
Sascha Brawer
0fbbe037bf
[feaLib] Implement GPOS type 4: Mark-to-Base Attachment Positioning
2015-12-08 22:28:02 +01:00
Behdad Esfahbod
6c4d14dbce
Enable writing of Count values that are never set
...
This can happen with empty MarkMark / MarkBase tables.
2015-12-08 20:41:54 +01:00
Behdad Esfahbod
8128b509a4
[subset] Augment ContextHelper
...
As needed in my Monotype OpenType format parser. I'm not using the object
directly from subset module, but pushing back my changes here, in the hope
that we move this object to ttLib proper soon.
2015-12-08 20:40:42 +01:00
Sascha Brawer
790ea83a02
[feaLib] Parse GPOS type 4 aka Mark-to-Base Attachment Positioning
...
However, no output tables are being built yet. This change is just
implementing the feature file parser.
2015-12-08 19:04:42 +01:00
Sascha Brawer
bc4828589e
[feaLib] Merge test cases from the OpenType Feature File specification
...
The setup code for these unit tests was copied and pasted,
and this became a little repetitive.
2015-12-08 17:19:30 +01:00
Sascha Brawer
dfa1551ece
[feaLib] Implement markClass
statement
2015-12-08 17:04:21 +01:00
Cosimo Lupo
66386ab488
Merge pull request #428 from anthrotype/ttx-pad-tags
...
ttx: pad tags with space if length is less than 4
2015-12-08 13:08:52 +00:00
Cosimo Lupo
9f6055d5d9
Merge pull request #427 from anthrotype/recalc-bbox-expand
...
_g_l_y_f: expand glyphs inside `compile` if recalcBBoxes==True
2015-12-08 13:08:40 +00:00
Cosimo Lupo
9049d5f866
Merge pull request #425 from anthrotype/xmlreader-fileobj
...
make XMLReader accept file objects
2015-12-08 13:08:19 +00:00
Cosimo Lupo
e12aec52ed
ttx: use ljust to pad tags with space (more Pythonic)
...
as suggested by @adrientetar
2015-12-08 12:45:22 +00:00
Cosimo Lupo
79c2b8cbc1
ttx: pad tags with space if length is less than 4
...
so that you don't need to do `-t "CFF "` anymore.
Fixes https://github.com/behdad/fonttools/issues/265
2015-12-08 10:11:26 +00:00
Cosimo Lupo
db57418b55
Merge pull request #420 from moyogo/fealib-typo
...
feaLib: misnamed function in builder_test.py
2015-12-08 09:48:40 +00:00
Cosimo Lupo
738866492d
_g_l_y_f: expand glyphs inside compile
if recalcBBoxes==True; delete empty self.data lingering around
...
Fixes https://github.com/behdad/fonttools/issues/410 .
See also:
ecbe8f2c37 (commitcomment-14464893)
2015-12-08 09:35:00 +00:00
Sascha Brawer
c6ee46f299
[feaLib] Implement GPOS type 3: Cursive Attachment Positioning
2015-12-07 23:56:08 +01:00
Sascha Brawer
2391a11fc8
[feaLib] Test that the parser rejects enum pos cursive
constructs
2015-12-07 22:53:38 +01:00
Sascha Brawer
b0fda8ec45
[feaLib] Replace invocation of deprecated has_key()
by in
2015-12-07 22:49:20 +01:00
Sascha Brawer
6240593839
[feaLib] Parse anchors in format A, B, C, D, and E
2015-12-07 22:48:10 +01:00
Sascha Brawer
bdc72e1198
[feaLib] Do not emit empty GSUB and GPOS tables
...
The AFDKO `makeotf` tool does not emit empty tables, either.
2015-12-07 21:38:41 +01:00
Sascha Brawer
3433f363e7
[feaLib] Implement GPOS type 2, format 1
2015-12-07 21:26:58 +01:00
Cosimo Lupo
8933062db0
xmlReader: make xmlReader accept file objects
...
Fixes https://github.com/behdad/fonttools/issues/404
Also, fixed typo for ProgressPrinter method call: 'setlabel' -> 'setLabel'
2015-12-07 19:31:33 +00:00
Ben Kiel
e53d2068ca
Update doc
...
Added text for woff2
2015-12-07 13:26:16 -06:00
Cosimo Lupo
5cf297ca44
xmlReader_test: test ProgressPrinter and reading from path vs file object
2015-12-07 19:26:04 +00:00
Cosimo Lupo
af62ebf2b6
ttLib: rename 'fileName' arg to 'fileOrPath' in importXML function for consistency with saveXML method
2015-12-07 18:26:48 +00:00
Sascha Brawer
46983f573f
[feaLib] Parse GPOS type 2 format A and B, and ValueRecord format D
...
This is just the change on the parser. Building the output tables
is still marked as a TODO.
2015-12-07 17:18:18 +01:00
Behdad Esfahbod
5133e3777e
Undo accidentally commit changes
2015-12-07 15:15:51 +01:00
Cosimo Lupo
bc690a565d
Merge pull request #422 from anthrotype/vdmx-sort
...
[V_D_M_X_] sort records by yPelHeight when writing toXML
2015-12-07 11:15:10 +00:00