After 2b2aca1, DictCompiler/Decompiler's `arg_delta` method unconditionally attempts to get the first item to check if it's a list, but this fails with `IndexError` when the value is empty.
```
Traceback (most recent call last):
[...]
File "/Users/cosimolupo/Documents/Github/ufo2ft/Lib/ufo2ft/otfPostProcessor.py", line 15, in __init__
otf.save(stream)
File "/Users/cosimolupo/Documents/Github/fonttools/Lib/fontTools/ttLib/__init__.py", line 219, in save
self._writeTable(tag, writer, done)
File "/Users/cosimolupo/Documents/Github/fonttools/Lib/fontTools/ttLib/__init__.py", line 658, in _writeTable
tabledata = self.getTableData(tag)
File "/Users/cosimolupo/Documents/Github/fonttools/Lib/fontTools/ttLib/__init__.py", line 669, in getTableData
return self.tables[tag].compile(self)
File "/Users/cosimolupo/Documents/Github/fonttools/Lib/fontTools/ttLib/tables/C_F_F_.py", line 20, in compile
self.cff.compile(f, otFont)
File "/Users/cosimolupo/Documents/Github/fonttools/Lib/fontTools/cffLib.py", line 124, in compile
writer.toFile(file)
File "/Users/cosimolupo/Documents/Github/fonttools/Lib/fontTools/cffLib.py", line 300, in toFile
endPos = pos + item.getDataLength()
File "/Users/cosimolupo/Documents/Github/fonttools/Lib/fontTools/cffLib.py", line 1858, in getDataLength
return len(self.compile("getDataLength"))
File "/Users/cosimolupo/Documents/Github/fonttools/Lib/fontTools/cffLib.py", line 1879, in compile
data.append(arghandler(value))
File "/Users/cosimolupo/Documents/Github/fonttools/Lib/fontTools/cffLib.py", line 1910, in arg_delta
val0 = value[0]
IndexError: list index out of range
``
We shall reuse it as base class for the _DehintingT2Decompiler in subset module,
as we need to save the width in order to re-insert it after dropping the hints.
- in T2 charstrings, a byte code of 255 is followed by a 16.16 fixed
point number, not a 4-byte int as in T1. Noted by rroberts.
- some integers were not correctly encoded in the T1 compiler.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@485 4cde692c-a291-49d1-8350-778aa11640f8
- Changed a whole bunch of XXX traps into NotImplementedErrors
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@456 4cde692c-a291-49d1-8350-778aa11640f8
combined with actual outlines, but if it is, we need to do the closePath
before the components are added.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@440 4cde692c-a291-49d1-8350-778aa11640f8
T{1,2}OutlineExtractor is not backwards compatible and this change
basically makes them private classes: CharStrings now have a .draw()
method that takes a Pen object (see fontTools.pens.*), so you never
have to deal with the extractor objects yourself. Only lightly tested.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@417 4cde692c-a291-49d1-8350-778aa11640f8