4565 Commits

Author SHA1 Message Date
Cosimo Lupo
32aef4fc88
[G__l_o_c] import sys 2018-09-06 10:05:26 +01:00
Behdad Esfahbod
349cd94d17 [graphite] Fix for big-endian
Make all "if sys.byteorder..." and "byteswap" be on the same line for
earsier grep verification.

Fixes https://github.com/fonttools/fonttools/issues/1311
2018-09-05 21:12:53 -07:00
Frederik Berlaen
cffbfeeca1 read fea files with encoding utf-8
see https://github.com/adobe-type-tools/afdko/issues/165
2018-09-04 21:07:16 +02:00
Paul Linnerud
df429df9ec TSIC Support for Visual TrueType
TSIC is a source table for Visual TrueType to maintain sources for the cvar variation table.
2018-08-22 16:48:42 -07:00
Martin Hosken
0902cea8b6 Fix default lookups for a language 2018-08-17 10:32:55 +07:00
Behdad Esfahbod
c895f4f4a2 [subset] Add --layout-scripts
Fixes https://github.com/fonttools/fonttools/issues/1303
2018-08-01 14:29:06 -07:00
Cosimo Lupo
d125f52339
Bump version: 3.29.0 → 3.29.1.dev0 2018-07-26 15:12:56 +01:00
Cosimo Lupo
2ff6f930a1
Release 3.29.0 2018-07-26 15:12:55 +01:00
Cosimo Lupo
83f9156f8d
Merge pull request #1302 from moyogo/fix-subtable-break
Fix subtable break
2018-07-26 11:16:58 +01:00
Denis Moyogo Jacquerye
18ad93fb41 feaLib: reset forceSubtableBreak_ to False 2018-07-26 11:06:24 +01:00
Cosimo Lupo
68951b7c3d
feaLib: when name table not selected, skip building featureNames blocks
ufo2ft feature writer calls feaLib builder with tables=[GSUB] first, to run closure
over glyph substitutions; if the GSUB features contains 'featureNames' blocks, then
an AssertionError will be raised; in this case, we can simply skip building the
FeatureParams tables as we haven't build the name records they point to.
2018-07-26 10:51:37 +01:00
Behdad Esfahbod
05f95f0f58 [otBase] Try ExtensionLookup if other offset-overflow methods fail
If offset overflow happens other than between Lookup and SubTable, or
within SubTable, then we don't know how to fix it currently.  Now we
try to put that lookup in an Extension lookup anyway, since that will
isolate it and sharing with other lookups won't happen, hopefully
avoiding the overflow.

This is really a bandaid... What we want is the 99proof branch to
be finished and replace our current packing algorithm.

Fixes https://github.com/fonttools/fonttools/issues/1296
2018-07-25 11:06:44 -07:00
Behdad Esfahbod
642cb03296 Remove unused line of code 2018-07-25 11:06:44 -07:00
Cosimo Lupo
8991f2c097
Merge pull request #1300 from anthrotype/explicit-subtable-break
support explicit "subtable" breaks in kerning lookups
2018-07-25 11:58:26 +01:00
Cosimo Lupo
3734b6c036
cffLib/specializer: minor; use < instead of <= maxstack - 1 2018-07-25 11:56:32 +01:00
Kunihiko Sakamoto
41a21cce27 [cffLib.specializer] Leave 1 stack free area for subroutinizer use 2018-07-25 17:29:27 +09:00
Cosimo Lupo
9456ae9485
feaLib: support explicit 'subtable' statements in PairPos lookups
Fixes https://github.com/fonttools/fonttools/issues/1279
2018-07-24 17:13:52 +01:00
Cosimo Lupo
d3229d5777
feaLib: ensure languagesystems using 'DFLT' script tag precede all others
https://github.com/fonttools/fonttools/pull/1292#issuecomment-407427544

this is to match makeotf's behavior

https://github.com/adobe-type-tools/afdko/pull/498/files#diff-17824930b3cdfb707ae56e1f42bccec6R2305
2018-07-24 16:17:23 +01:00
Cosimo Lupo
1740d18584
Merge pull request #1292 from silnrsi/bugfix2
More depths to allowing languages in DFLT
2018-07-24 15:24:50 +01:00
Cosimo Lupo
248ae41e9d
loggingTools: fix CapturingLogHandler to work with py37
we can't set the logger.level directly because in py37 the logger has a _cache
attribute and that needs to be invalidated by calling setLevel method.

also, I noticed we weren't restoring the original 'disabled' attribute value...

And we need to also set/restore the 'propagate' attribute.
2018-07-24 12:17:59 +01:00
Cosimo Lupo
5a1ccf1640
Merge pull request #1297 from anthrotype/fix-mark-base-overflow
atttempt to fix offset overflows in MarkBasePos subtables
2018-07-23 12:58:39 +01:00
Cosimo Lupo
94c8bcc333
Bump version: 2.3.1 → 2.3.2.dev0 2018-07-21 19:18:11 +01:00
Cosimo Lupo
902fbc29d6
Release 2.3.1 2018-07-21 18:43:21 +01:00
Cosimo Lupo
e51f81dce4
Bump version: 2.3.0 → 2.3.1.dev0 2018-07-21 18:36:31 +01:00
Cosimo Lupo
6072fe1802
plistlib: rename some private functions
to better match the plist element names they are meant to construct
2018-07-21 18:34:27 +01:00
Cosimo Lupo
d7ac0ad359
subset: write default file extension based on --flavor or sfntVersion
Fixes https://github.com/fonttools/fonttools/issues/1298
2018-07-21 18:28:33 +01:00
Cosimo Lupo
ab3e069a25
test_plistlib: parametrize tests with use_builtin_types option 2018-07-20 19:25:19 +01:00
Cosimo Lupo
5dcf204729
plistlib: add use_builtin_types option
Fixes https://github.com/unified-font-object/ufoLib/issues/162
2018-07-20 19:20:33 +01:00
Cosimo Lupo
6e8e431dee
otTables: try to fix MarkBasePos subtable overflows
Fixes https://github.com/googlei18n/fontmake/issues/450
2018-07-19 17:52:00 +01:00
Cosimo Lupo
2798bf6d1f
otTables: print subtable type when can't split in fixSubTableOverFlows 2018-07-19 17:50:43 +01:00
Cosimo Lupo
0602e1fe7b
Release 2.3.0 2018-07-16 15:08:35 +02:00
Cosimo Lupo
bced5b62b9
Bump version: 2.2.5.dev0 → 2.3.0.dev0 2018-07-16 15:01:32 +02:00
Cosimo Lupo
42a3428d0f
writeLayerContents: make sure bytes strings in layerOrder are decoded
looks like defcon LayerSet.newLayer does not ensure the 'name' argument is a unicode
string, so serializing the layercontents.plist with the new ufoLib.plistlib may
lead to the layer name being encoded as a <data> element instead of a <string>.

Thanks Miguel for noticing this.
2018-07-15 21:32:13 +01:00
Cosimo Lupo
e15d56a2d3
test_etree: add test for pretty_print=True with ordered dict 2018-07-15 13:55:01 +01:00
Cosimo Lupo
bc7494b7f0
test_etree: start adding some unit tests to etree module 2018-07-15 12:32:17 +01:00
Cosimo Lupo
0c0d46e53b
etree: pretty_print is False by default (like in lxml) 2018-07-15 12:31:11 +01:00
Cosimo Lupo
6c6b94a580
etree: restrict py2 bytes to ASCII only 2018-07-14 20:06:22 +01:00
Cosimo Lupo
abe74f1edc
aarg! fix writeDataFileAtomically not removing empty file...
this had been broken for years, since commit 66e5ae02
2018-07-14 19:58:38 +01:00
Cosimo Lupo
b44e3d5087
validators: fixup doctests after adding unicode_literals 2018-07-14 19:42:16 +01:00
Cosimo Lupo
0951e2063e
ensure all modules do from __future__ import absolute_import, unicode_literals 2018-07-14 19:25:18 +01:00
Cosimo Lupo
83e8da2206
etree: only write self-closing <tag/> when element.text is None
like lxml does
2018-07-14 17:58:44 +01:00
Cosimo Lupo
1a94fbc121
etree: in invalid xml chars allow surrogates for 'narrow' pythons 2018-07-14 14:31:52 +01:00
Cosimo Lupo
5f61bcfcb4
etree: simplify regex for invalid xml chars 2018-07-14 14:07:42 +01:00
Cosimo Lupo
eea1766d9a
etree: fix valid XML regex for narrow UCS-2 only pythons
fixes https://ci.appveyor.com/project/adrientetar/ufolib/build/1.0.489/job/epryi911juu5lqdl#L72
2018-07-14 13:41:19 +01:00
Cosimo Lupo
d1fa34e72c
test_plistlib.py: mute harmless ResourceWarning on py27 2018-07-14 12:22:42 +01:00
Cosimo Lupo
59ac1aa357
test_plistlib: use ufoLib.etree 2018-07-13 18:50:02 +01:00
Cosimo Lupo
a9a37818cb
glifLib: use ufoLib.etree 2018-07-13 18:49:21 +01:00
Cosimo Lupo
a99a6d6ee5
plistlib: make signledispatch optional; use ufoLib.etree 2018-07-13 18:48:21 +01:00
Cosimo Lupo
d87c4edfe1
ufoLib.etree: add shim module that exports ElementTree API
works with both lxml and xml.etree backends

adds some missing things from built-in etree, such as the ability to
use an OrderedDict for attributes, support for pretty_print argument
to add indentation, etc.
2018-07-13 18:44:11 +01:00
Cosimo Lupo
49a88d6cbf
test_plistlib: must open plist as binary file
fixes https://ci.appveyor.com/project/adrientetar/ufolib/build/1.0.484/job/9em92wjinypwn2fu#L399
2018-07-12 14:10:48 +01:00