Crash while generating font
-
RF keeps freezing while generating font, it gives me this error (below) while the progress bar reads "remove overlap..."
Traceback (most recent call last): File "/Applications/RoboFont.app/Contents/Resources/lib/python2.7/vanilla/dialogs.py", line 110, in savePanelDidEnd_returnCode_contextInfo_ self._resultCallback(self._result) File "lib/doodleFontWindow.pyc", line 318, in _compileFont File "lib/fontObjects/doodleFont.pyc", line 677, in generate File "lib/fontObjects/doodleFont.pyc", line 769, in prepareCompile File "lib/fontObjects/doodleFont.pyc", line 784, in compileRemoveOverlap File "lib/fontObjects/doodleContour.pyc", line 34, in join IndexError: list index out of range Traceback (most recent call last): File "lib/doodleDelegate.pyc", line 65, in sendEvent_ File "/Applications/RoboFont.app/Contents/Resources/lib/python2.7/vanilla/dialogs.py", line 110, in savePanelDidEnd_returnCode_contextInfo_ self._resultCallback(self._result) File "lib/doodleFontWindow.pyc", line 318, in _compileFont File "lib/fontObjects/doodleFont.pyc", line 677, in generate File "lib/fontObjects/doodleFont.pyc", line 769, in prepareCompile File "lib/fontObjects/doodleFont.pyc", line 784, in compileRemoveOverlap File "lib/fontObjects/doodleContour.pyc", line 34, in join IndexError: list index out of range
Generating in Area51 works, but gives me this error:
makeotfexe [WARNING] [internal] Feature block seen before any language system statement. You should place languagesystem statements before any feature definition [features 1] makeotfexe [WARNING] Vendor name too short. Padded automatically to 4 characters. [features 1161] makeotfexe [WARNING] Major version number not in range 1 .. 255 [features 1165]
Any ideas how to resolve this?
-
Indeed, there was a stray single point on top of another point. That script worked great, thank you.
-
mmm, I guess you have in one of your glyphs an empty, open contour. During generating a font binary RoboFont is closing all open contours.
Try running this script looking for open contours and remove them instead of trying to close them, or send me the UFO.
f = CurrentFont() for g in f: contoursToRemove = [] for c in g: if c.open: ## collect all open contours contoursToRemove.append(c) for c in contoursToRemove: ## remove all open contours g.removeContour(c) if contoursToRemove: g.update()