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
still works as before, only that now it requires tox to be available in the /home/clupo/.pyenv/plugins/pyenv-virtualenv/shims:/home/clupo/.pyenv/shims:/home/clupo/.pyenv/bin:/home/clupo/.pyenv/plugins/pyenv-virtualenv/bin:/home/clupo/.local/bin:/home/clupo/bin:/home/clupo/.cargo/bin:/home/clupo/Applications/node-v6.11.4-linux-x64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin, else it will fail
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.
by encoding as integers all float values that have no decimal portion.
This optimization is expected to reduce the file size of CFF2 fonts that have intermediate masters.
Related to https://github.com/adobe-type-tools/afdko/issues/444
Many thanks to @cjchapman for the help on the fixed point math
To avoid the 'No handlers could be fonud' message, from now on, one should always
configure logging in one's scripts or applications.
logging.basicConfig, or fontTools.configLogger (with some predefined defaults
useful for fonttools scripts) can be used to quickly configure logging.
Read the python docs for more advanced logging usage.
this is the mapping between the half of each percentage intervals and
the associated usWidthClass:
{56.25: 1,
68.75: 2,
81.25: 3,
93.75: 4,
106.25: 5,
118.75: 6,
137.5: 7,
175.0: 8}
Notice how wdth=80 (in the adjusted test case) will fall in width class
3, instead of 4, because it is < 81.25, thus closer to the nominal 75
than to 87.5.