2145 Commits

Author SHA1 Message Date
moyogo
bb0ab10ad0 [voltLib] ast.py: unicode_literals 2016-09-14 17:21:41 +01:00
moyogo
aa723adfcd [voltLib] formatting ast.py 2016-09-14 17:21:41 +01:00
moyogo
ed598b3cf6 [voltLib] Add process_marks to LookupDefinition 2016-09-14 17:21:41 +01:00
moyogo
fd3ffed261 [voltLib] Change how enum is parsed in coverage 2016-09-14 17:21:41 +01:00
moyogo
ed34ef3eca [voltLib] Add settings (ppem, compiler flags, cmap format) 2016-09-14 17:21:41 +01:00
moyogo
6fab2a4f7b [voltLib] Modify PositionAttachDefinition and parse_position to handle multiple TO coverages 2016-09-14 17:21:41 +01:00
moyogo
923fd2cb4d [voltLib] Add adjust pair positioning 2016-09-14 17:21:41 +01:00
moyogo
a2a62476c1 [voltLib] Add adjust by values to parse_pos() 2016-09-14 17:21:41 +01:00
moyogo
aaad2be5a5 [voltLib] Add anchor, pos, and attach 2016-09-14 17:21:41 +01:00
moyogo
7dffdbece1 [voltLib] Add LC, digits, period, underscore as valid NAME characters in lexer 2016-09-14 17:21:41 +01:00
moyogo
9fb1085c5e [voltLib] convert zip to list in test for Python3 2016-09-14 17:21:41 +01:00
moyogo
1e714c3e52 [voltLib] parse_position_() instead of parse_positioning_() 2016-09-14 17:21:41 +01:00
moyogo
34eaaa9512 [voltLib] Add test for substitution with contexts 2016-09-14 17:21:41 +01:00
moyogo
ffa929b404 [voltLib] Context can take multiple except/in_context, multiple left or right contexts 2016-09-14 17:21:41 +01:00
moyogo
6f4f7849cf [voltLib] Add DEF_LOOKUP to expected tokens in parse() 2016-09-14 17:21:41 +01:00
moyogo
7439ec2482 [voltLib] Better handling of context and coverage 2016-09-14 17:21:41 +01:00
moyogo
a34de5ac00 [voltLib] Fix indentation 2016-09-14 17:21:41 +01:00
moyogo
0f399e3e8d [voltLib] Undefined location in parse_coverage() 2016-09-14 17:21:41 +01:00
moyogo
04e9265cef [voltLib] Split test for def_group: glyphs, glyphs and group, range 2016-09-14 17:21:41 +01:00
moyogo
5571f2c12a [voltLib] Add def lookup, simple substitution 2016-09-14 17:21:41 +01:00
moyogo
c26e3228ce [voltLib] Add coverage, change group and enum 2016-09-14 17:21:41 +01:00
moyogo
8c0a35331e [voltLib] Add parse_coverage_() 2016-09-14 17:21:41 +01:00
moyogo
b0e5016aed [voltLib] Add DEF_Script to error message 2016-09-14 17:21:41 +01:00
moyogo
a6e4b6e425 [voltLib] loop on next_token being GLYPH, GROUP or RANGE instead of not being END_NUM 2016-09-14 17:21:41 +01:00
moyogo
32f8c9c1e7 [voltLib] Add feature definition 2016-09-14 17:21:41 +01:00
moyogo
888c862433 [voltLib] Add script and langsys 2016-09-14 17:21:41 +01:00
moyogo
1c4de40936 [voltLib] expand enum when creating GroupDefinition 2016-09-14 17:21:41 +01:00
moyogo
7ab01f730c [voltLib] Add ranges to GroupDefinition 2016-09-14 17:21:41 +01:00
moyogo
b92829351d [voltLib] Add GroupDefinition tests 2016-09-14 17:21:41 +01:00
moyogo
2ad6c3df12 [voltLib] Add SymbolTable 2016-09-14 17:21:41 +01:00
moyogo
1957fd2cd1 [voltLib] Add Parser and tests 2016-09-14 17:21:41 +01:00
moyogo
34e7a8d904 [voltLib] Add ast.GlyphDefinition 2016-09-14 17:21:41 +01:00
moyogo
3460f2e338 [voltLib] Add Lexer and tests 2016-09-14 17:21:41 +01:00
moyogo
127cdba11d [voltLib] Add VoltLibError 2016-09-14 17:21:41 +01:00
moyogo
da7f946741 [voltLib]: init 2016-09-14 17:21:41 +01:00
Cosimo Lupo
152c6d81b3 [py23_test] import round2 and round3 in py23_test module 2016-09-13 18:48:18 +02:00
Cosimo Lupo
8de2f44b31 [py23] don't export 'round2' and 'round3' in __all__, only 'round'
No need to pollute the namespace. If one needs one or the other, one can just import that explicitly.
2016-09-13 18:44:30 +02:00
Cosimo Lupo
f07c29c8bc [py23] export 'round' in __all__
(let's see if some of our tests that import * breaks now...)
2016-09-13 07:16:12 +01:00
Cosimo Lupo
b22f8c7310 [py23] in PY2 shadow built-in round with round3; in PY3 simply use built-in round 2016-09-13 07:13:32 +01:00
Cosimo Lupo
c7edcfec30 [py23_test] borrow round() test cases from cpython 2.7 test suite 2016-09-13 07:13:32 +01:00
Cosimo Lupo
ffa03f6566 [py23] add round2 and round3 function for simulating Python 2 and Python 3 built-in round
The implementation is inspired by https://github.com/PythonCharmers/python-future/blob/master/src/future/builtins/newround.py

It adds support for the old Python 2 round, and for negative 'ndigits'
2016-09-13 07:13:32 +01:00
Denis Moyogo Jacquerye
7930106740 feaLib: limit language statements to 1 feature block (#658)
* feaLib: limit language statements to 1 feature block

language exclude_dflt statements should only apply to lookups
defined in their feature block and not to lookups defined
in previous blocks sharing the same feature tag

* feaLib: add BuilderTest::test_FeatureFile_multiple_feature_blocks
2016-08-30 19:44:33 +02:00
JasonAtGithub
a41c60cb88 Fixed encoding error in subset tool in Windows
Fixed encoding error in subset tool in Windows which system default codepage isn't 65001.
For Example: 
When windows default codepage is 936, the command like 'pyftsubset myfont.ttf --text-file=mytextfile.txt' will throw an exception.
2016-08-29 20:43:33 +08:00
Miguel Sousa
f502bbba98 [CPAL] write paletteEntryLabels names 2016-08-28 16:24:58 -07:00
Miguel Sousa
3c6537de88 [CPAL] remove extra newline before palette label name 2016-08-28 16:21:21 -07:00
Cosimo Lupo
855c3b17c9 [woff2_test] adjust 'test_incorrect_compressed_size' to make it work with brotlipy
In the upstream google/brotli, if the `decompress` function receives an empty byte
string, it returns a brotli.error; whereas in 'brotlipy' it does not raise but
returns an empty string b"":
https://github.com/python-hyper/brotlipy/issues/43#issuecomment-240378257

This test case asserts that when 'totalCompressedSize' in the WOFF2 header is
incorrectly set, the woff2 reader fails -- either because the brotli decoder
raises an exception, or it returns a string whose length is not the one expected.
2016-08-17 12:07:02 +01:00
Behdad Esfahbod
8701fedcfe More solveCubic() hardening
It really should be quite solid this time. :-)
2016-08-13 16:29:49 -07:00
Behdad Esfahbod
5bea5f4fd6 Remove unused line 2016-08-13 16:25:09 -07:00
Behdad Esfahbod
ca7f8d8808 Harden solveCubic() some more
Fixes https://github.com/behdad/fonttools/issues/617#issuecomment-239146815
2016-08-12 22:43:20 -07:00
Behdad Esfahbod
9b3660df9f pointInsidePen: Disallow endPath()
https://github.com/behdad/fonttools/issues/621#issuecomment-234764830
2016-08-10 17:31:29 -07:00