More variable fonts nonsense

  • After a request to add more axes to the previous simple variable fonts tutorial the follow up escalated a bit. Since there are several files I thought it might be better to put them on github.

  • admin

    this is super cool!

  • @frederik thank you!

    There is one 'issue' that makes it difficult to abstract the code. And I was wondering if this could be implemented differently in drawbot.
    when setting the fontVariations the axis tag cannot be a variable:
    fontVariations( axisTag = someValue )

    It would be quite convenient to do:

    myAxis = 'wght' # or whatever
    # ... do some stuff with myAxis
    # ... and then just place the variable name
    fontVariations( myAxis = someValue )

    or to just iterate through axes without ever having to type the axistag.

  • admin

    You can convert a dictionary to keyword arguments:

    myVariations = {
        "wght": 100,
        "wdth": 900

    similar a list/tuple can be converted to a arguments:

    myColor = (1, 0, 1)
    rect(10, 10, 100, 100)

  • oh, yes!
    that is of course a very nice solution.
    will update some of the scripts in the next days.

  • admin

    listFontVariations() returns a (ordered) dict that can be adapted and reused as **keyword arguments while applying the font variations.

  • Are you able to run that code in Drawbot? The import from helper_functions doesn’t seem to work (?) @jo

  • @Christine hello!
    I just downloaded the zip from github and did test a few of the scripts in drawbot without any issue. did you change the folder structure and / or do you get an error message? what OS are you using?

  • Hoi 🙂
    I’m using OS 10.13.6, Drawbot says ModuleNotFoundError: No module named 'helper_functions'

    ––– ah, sorry, I just saw that there’s an extra file with the helper functions.