2020 Commits

Author SHA1 Message Date
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
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
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
Sascha Brawer
99acc50215 Merge pull request #367 from brawer/MultipleSubst
Support TTX format for `MultipleSubst` of FontTools 3.0 and earlier
2015-09-11 12:53:27 +02:00
Sascha Brawer
14fa29314b Merge pull request #2 from anthrotype/MultipleSubst
[otTables] skip if element is not tuple when parsing MultipleSubst XML
2015-09-11 12:45:31 +02:00
Cosimo Lupo
258bd6d8f3 [otTables] skip if element is not tuple when parsing MultipleSubst XML
the content of XML elements can be strings as well as (name, attrs, content)
tuples, so we can't use list comprehension here
2015-09-11 11:41:14 +01:00
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