Slanter double and triple slanting components



  • Hi @gferreira thank you for looking at this. I have tried using the extension straight from the link you sent and when I choose new font it stalls when Generating Shifters. I did clear out the extension from Mechanic and restart. Any ideas?


  • admin

    hi @JustJoeDesign, thanks for trying it out.

    is there any error message in the Output Window (⌥ ⌘ O) or in the Console Log (⌥ ⇧ ⌘ O) ?



  • This is what the Output Window is saying:

    /Applications/RoboFont.app/Contents/Resources/lib/python37.zip/lib/fontObjects/pens/decomposePointPen.py:13: DeprecationWarning: 'transformation': DecomposePointPen does not require that argument.
    Traceback (most recent call last):
      File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/vanilla/vanillaBase.py", line 503, in action_
        self.callback(sender)
      File "slanter.py", line 308, in generateFontCallback
      File "slanter.py", line 125, in getGlyph
      File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/fontParts/base/base.py", line 466, in transformBy
        matrix = normalizers.normalizeTransformationMatrix(matrix)
      File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/fontParts/base/normalizers.py", line 1010, in normalizeTransformationMatrix
        "not %s." % type(value).__name__)
    TypeError: Transformation matrices must be tuple instances, not Transform.
    

  • admin

    @JustJoeDesign thanks. I think this one is fixed now – can you please try again?



  • This works perfectly now. Thank you, @gferreira!



  • @gferreira This did work for 4 of my 5 fonts... this is the error message I am getting on the one outlier:

    /Applications/RoboFont.app/Contents/Resources/lib/python37.zip/lib/fontObjects/pens/decomposePointPen.py:13: DeprecationWarning: 'transformation': DecomposePointPen does not require that argument.
    Traceback (most recent call last):
      File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/vanilla/vanillaBase.py", line 503, in action_
        self.callback(sender)
      File "slanter.py", line 295, in generateFontCallback
      File "slanter.py", line 103, in getGlyph
    TypeError: 'NoneType' object is not subscriptable
    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 "slanter.py", line 295, in generateFontCallback
      File "slanter.py", line 103, in getGlyph
    TypeError: 'NoneType' object is not subscriptable
    

    I even tried de-installing and re-installing but with no luck. Is there possibly something weird/wrong with my font file then?


  • admin

    @JustJoeDesign thanks for the feedback, happy to hear it works.

    the error message should be fixed now too (please download and install again).

    this font probably contains a broken component reference, or a component to an empty glyph. the script below will help you find it.

    font = CurrentFont()
    for glyph in font:
        if len(glyph.components):
            for component in glyph.components:
                if not component.bounds:
                    glyph.markColor = 1, 0, 0, 1
                    print(glyph.name, component.baseGlyph)
    

    cheers!



  • Thank you, @gferreira! All set now.



  • @gferreira Just a note — all unicode information was deleted in creating the new font.


  • admin

    hello @JustJoeDesign, thanks for the note.

    it’s fixed in the roboDocs fork, update coming soon to Mechanic…


Log in to reply