9371 Commits

Author SHA1 Message Date
Sascha Brawer
b5e29cca9a [GSUB] Parse old-syntax MultipleSubst that has no index attribute
Apparently, earlier versions of TTX had produced XML whose
MultipleSubst.Sequence element came without an index attribute.
Resolves https://github.com/behdad/fonttools/issues/385
2015-10-13 17:44:53 +02:00
Cosimo Lupo
0b09d33d8a Merge pull request #383 from jamesgk/new-pen
Add pen which draws to TrueType glyphs
2015-10-06 21:26:57 +01:00
James Godfrey-Kittle
8b4c3b7892 Add assertion and comments to ttGlyphPen 2015-10-06 09:14:04 -07:00
James Godfrey-Kittle
b916c5bb93 ttGlyphPen: handle qcurves with no on-curve points 2015-10-06 09:12:15 -07:00
jamesgk
d0797e4f4b Add contributing and readme files 2015-10-05 18:14:26 -07:00
jamesgk
add9cf1d4d Add license. 2015-10-05 18:14:16 -07:00
jamesgk
10b1e9f500 More descriptive variable names. 2015-10-05 17:36:36 -07:00
jamesgk
2712c74b37 Add comments, fix comment formatting. 2015-10-05 16:01:11 -07:00
jamesgk
2c33e23bf3 Make "python setup.py install" actually work.
convert_curves is just a module (file), not a package (directory).
2015-10-05 15:58:58 -07:00
jamesgk
b1c4f96001 Don't allow this to be run as a script 2015-10-01 17:59:40 -07:00
jamesgk
c6c61105d8 Clean up stuff
There should be no changed functionality here. Just cleaning:
- Consistent variable naming style
- Consistent quote types for strings
- No lines over 80 characters
- At least some comment for every function
- Get rid of excessive error catching
2015-10-01 17:41:19 -07:00
jamesgk
a411cd2138 Handle segment.as_quadratic like replace_segments
Have a non-collection function for this, then a method of
SegmentCollection which uses that function.
2015-10-01 17:40:19 -07:00
jamesgk
72fef95dfd Return a report of conversion 2015-10-01 17:14:58 -07:00
jamesgk
a23b97e79c Take max N and max error as user inputs 2015-10-01 17:10:40 -07:00
jamesgk
e686d61aeb Initial commit 2015-10-01 17:09:28 -07:00
James Godfrey-Kittle
b0c03b86d6 Add pen which draws to TrueType glyphs. 2015-10-01 15:12:20 -07:00
Sascha Brawer
c5d6c6f58a Merge pull request #381 from anthrotype/trak
[trak] add AAT 'trak' table support
2015-10-01 14:43:43 +02:00
Sascha Brawer
0d0e087724 Merge pull request #382 from anthrotype/set_name
[name] add setName method to table__n_a_m_e
2015-10-01 14:17:40 +02:00
Cosimo Lupo
12bde8e97a [_n_a_m_e_test] use toUnicode() instead of built-in str() for py2 compat
NameRecord.__str__ returns a unicode string, but on Python2 the built-in str()
expects a bytestring, therefore it raises

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

We should probably change that as well.
2015-10-01 11:41:46 +01:00
Cosimo Lupo
11bcf8aaef [README.md] add <!-- {begin,end} table list --> comments; add 'trak' to table list 2015-10-01 11:05:53 +01:00
Cosimo Lupo
072d34062c [MetaTools/buildTableList] update README.md instead of documentation.html with tables list.
Also wrap and indent paragraph as a Markdown 'blockquote'.
2015-10-01 11:05:53 +01:00
Cosimo Lupo
898199f2bc [_n_a_m_e_test] add test_setName test case 2015-10-01 10:12:29 +01:00
Cosimo Lupo
a0a400d9c1 [name] add setName method to table__n_a_m_e
If the referenced name record already exists, the string is modified in place.
If it doesn't exist, a new record is created with the given IDs and string.
2015-10-01 10:11:48 +01:00
Cosimo Lupo
d20dec29db [trak] remove redundant if-else block
If nTracks == 0, nSizes is also == 0, the `else` part is sufficient.
There's a limit case when nTracks can be > 0, and nSizes == 0, but it's
unlikely or useless.
2015-10-01 09:29:04 +01:00
Cosimo Lupo
4f5419fdec [ttLib] add _t_r_a_k to list of available tables 2015-09-30 20:19:35 +01:00
Cosimo Lupo
380104c228 [_t_r_a_k_test] add tests for trak table 2015-09-30 20:19:35 +01:00
Cosimo Lupo
cb36478d4b [testTools] add getXML function to get the XMLWriter content as string 2015-09-30 20:19:35 +01:00
Cosimo Lupo
4eb134f5e4 [trak] add AAT 'trak' table support 2015-09-30 20:16:47 +01:00
Sascha Brawer
a596845801 [ltag] Use tobytes() instead of string.encode("ascii")
Addresses review comment 7f70a79fc8 (commitcomment-13471742)
2015-09-28 17:25:01 +02:00
Sascha Brawer
605582adf0 Merge pull request #380 from brawer/LookupBlock
[feaLib] Handle references to named lookup blocks
2015-09-28 16:56:57 +02:00
Sascha Brawer
75e4053e39 [feaLib] Handle references to named lookup blocks 2015-09-28 16:49:17 +02:00
Erik van Blokland
6f8a2d9b28 Merge pull request #48 from adrientetar/patch-1
ufoLib: fixes
2015-09-27 21:27:26 +02:00
Adrien Tétar
ff8bd252d4 ufoLib: previousFormatVersion None-check 2015-09-27 16:39:30 +02:00
Adrien Tétar
52ca505cb9 objectsDefcon: typo 2015-09-27 15:14:28 +02:00
Sascha Brawer
3182162cbe Merge pull request #379 from moyogo/meta
meta table: 'dlng' and 'slng' data is text
2015-09-25 08:12:20 +02:00
moyogo
2917e34dcb meta: test 'dlng' and 'slng' 2015-09-24 17:03:40 +01:00
moyogo
dc65ccfb27 meta: text 'should be' utf-8 2015-09-24 17:03:34 +01:00
moyogo
0ba22c0ba2 meta: add test for text data 2015-09-24 11:00:42 +01:00
Cosimo Lupo
72052af0f0 Merge pull request #377 from anthrotype/fix-subset-tags
[subset] fix issue with tags containing spaces (e.g. "SVG ", "cvt ")
2015-09-24 09:52:58 +01:00
Cosimo Lupo
0dd61f457e Merge pull request #378 from anthrotype/ttprogram-exception
[ttProgram] if can't disassemble bytecode, warn and dump toXML as it is
2015-09-24 09:45:04 +01:00
Cosimo Lupo
cef10ec654 [ttProgram] if can't disassemble bytecode, warn and dump toXML as it is
Fixes https://github.com/behdad/fonttools/issues/347
2015-09-24 09:32:49 +01:00
Cosimo Lupo
3e96d43ba9 [subset] fix issue with tags containing spaces (e.g. "SVG ", "cvt ")
The current argument parser in subset.py must strip out spaces in values,
in order to allow specifying comma- or whitespace-separated lists (for
example, cf. [line 2289](https://github.com/behdad/fonttools/blob/master/Lib/fontTools/subset.py#L2289))

Because of that, users cannot correctly specify table tags whose length
is less than 4 by enclosing the space in quotes.

For example, 'SVG ' table will be alwyas dropped even if I pass
`--drop-tables-='SVG '` and `--no-subset-tables+='SVG '`.

As a workaround, this patch removes the spaces from the 'SVG ' and 'cvt '
tags in the constant lists of the Option class, and it only tests that
`tag.strip()` is contained in those list.

Of course, this also means `--drop-tables-='SVG '` is now the same as
`--drop-tables-='SVG' as far as the subsetter is concerned.

Fixes https://github.com/behdad/fonttools/issues/376

Related https://github.com/behdad/fonttools/issues/265
2015-09-23 14:34:02 +01:00
moyogo
95059ebdee meta: handle dlng and slng as text 2015-09-21 19:48:41 +01:00
Cosimo Lupo
aa16d0aca1 Merge pull request #371 from anthrotype/py35-travis
[Travis] also test against newly released Python 3.5.0
2015-09-14 16:06:05 +01:00
Cosimo Lupo
cf310d4ff7 [Travis] also test against newly released Python 3.5.0 2015-09-14 16:01:14 +01:00
Sascha Brawer
459eabf2e4 [feaLib] Allow +*:~^! in glyph names but not in glyph class names
Matches the behavior of Adobe's `makeotf` tool v2.0.84 of 2015-09-03.
Resolves https://github.com/behdad/fonttools/issues/370.
2015-09-14 10:53:37 +02:00
Sascha Brawer
5820fb3222 Merge pull request #369 from brawer/unittest
Use XML snippets in all unit tests for fromXML() methods
2015-09-11 18:20:23 +02:00
Sascha Brawer
2bd315c49b Use XML snippets in all unit tests for fromXML() methods 2015-09-11 17:11:25 +02:00
Sascha Brawer
59084315d9 Merge pull request #368 from brawer/unittest
[otTables] Use XML snippets for testing fromXML() methods
2015-09-11 16:41:17 +02:00
Sascha Brawer
d63885e337 [otTables] Use XML snippets for testing fromXML() methods
This should make the unit tests more readable, and it also prevents
failures where a changed fromXML() implementation fails to ignore
interspersed whitespace. This has recently caused some developer
nuisance; see https://github.com/behdad/fonttools/pull/367.

Instead of having a custom parser implementation, it would be nicer
to call the actual XMLReader. However, XMLReader has a deeply built-in
assumption that it is processing an entire TTX file. Changing this
assumption would certainly be possible, but it would need a re-write
of the XMLReader code; having a custom parser just for unit tests
seems less involved.
2015-09-11 15:44:29 +02:00