Repeated Error Using Scalefast



  • I've been receiving the following error when generating a new font when using Scalefast:

    "File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/vanilla/vanillaBase.py", line 503, in action_
    self.callback(sender)
    File "scaleFast.py", line 533, in _generationCallback
    File "scaleFast.py", line 726, in generateGlyphsToFont
    File "scaleFast.py", line 756, in _buildScaledGlyphs
    File "scaleFast.py", line 763, in _retrieveScaledGlyph
    File "/Users/graemeswank/Library/Application Support/RoboFont/plugins/ScaleFast.roboFontExt/lib/mutatorScale/lib/mutatorScale/objects/scaler.py", line 266, in getScaledGlyph
    instanceGlyph.unicodes = masters[0][glyphName].unicodes
    TypeError: 'dict_values' object is not subscriptable"

    Sometimes it is an error related to not being able to replace a vanilla attribute:

    "File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/vanilla/vanillaBase.py", line 503, in action_
    self.callback(sender)
    File "scaleFast.py", line 519, in _generationCallback
    File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/vanilla/vanillaWindows.py", line 213, in setattr
    setAttr(Window, self, attr, value)
    File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/vanilla/vanillaBase.py", line 370, in setAttr
    assert not hasattr(obj, attr), "can't replace vanilla attribute"
    AssertionError: can't replace vanilla attribute
    Traceback (most recent call last):
    File "lib/doodleDelegate.pyc", line 96, in sendEvent

    File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/vanilla/vanillaBase.py", line 503, in action

    self.callback(sender)
    File "scaleFast.py", line 519, in _generationCallback
    File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/vanilla/vanillaWindows.py", line 213, in setattr
    _setAttr(Window, self, attr, value)
    File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/vanilla/vanillaBase.py", line 370, in _setAttr
    assert not hasattr(obj, attr), "can't replace vanilla attribute"
    AssertionError: can't replace vanilla attribute"

    I've tried this on both RoboFont 3 and 4, and have updated my python version, reinstalled Scalefast, and tried two different machines thinking any of those could have been the problem, but all to no avail.

    Has anyone encountered this problem before?


  • admin

    python 2 is not an option :) RF 3+ is build with python 3.

    The bug has to be solved in the repository... and you have to fix your interpolation error in your drawing anyhow :)



  • Thank you for getting to this, Frederik!

    Would a work around be to use an 2.x version of python for now (other than finding out which glyph is incompatible)?

    • Graeme

  • admin

    you have a glyph which is not compatible and ScaleFast tries to retrieve the unicode value. In python 3 values and keys of a dictionary is not a list anymore, this is the error that pops up


  • admin

    Ive make an issue in the repository followup here: https://github.com/roboDocs/ScaleFast/issues/14

    thanks


Log in to reply