Advice on a personal project

  • Hi all,

    This may be an unorthodox question, but I'm after some advice on whether RoboFont would be a good solution for an experiment I'm working on in my spare time.

    I am currently building a keyboard prototype that incorporates pressure sensors beneath the keys to output different values (through a serial port). I intend to translate this on-screen into a character/glyph of different weights, corresponding to the strength of the hit on the key... Similar in behavior to this project by Andy Clymer:

    So far I have solved the hardware problems, but the ability to render fonts using Python seems to be a bigger undertaking than I initially thought.

    After reading up on RoboFab, I understand that a combination of GlyphMath and interpolation (using Vanilla) would generate the desired solution. However, I'm slightly confused as to how FontLab fits into the equation, as I have—so far—been unsuccessful in getting a stand-alone build of RoboFab installed on my machine.

    Would RoboFont give me the ability to build on these features as a holistic solution? Or would I be better off sticking it out with RoboFab (and its dependencies).


  • admin

    He Ben

    If you have a python package installed in the current python on your local machine, that package will be accessible in RoboFont.

    RoboFont is adding the site-packages of the current python to the sys.path.

    So if you have a python package that can read from a serial port it must be possible to access that package in RoboFont

    good luck!

  • Hi Frederik,

    I'm currently having a play around with the Vanilla window (I'm a huge fan of addObserver).

    I imagine the next step would be to allow the serial port to modify the glyph geometries between the two master glyphs using glyph math. This will probably take a bit of thinking/tinkering, but I'll let you know how I go!

    Thanks again for your help.


  • admin

    He Ben

    You can use glyph math:

    # you will need to have two masters off course
    # add the two master glyphs and divide them by 2 
    # equal and much safer to multiply by .5;
    resultGlyph = (firstGlyph + secondGlyph) * .5

    and display the resultGlyph in a vanilla window with a glyphPreview see

    Off course you can do all of this outside RoboFont.

    off topic: if you have problems installing RoboFab in FontLab I would redirect you to the RoboFab group, there is already a topic on installing RoboFab in FontLab.