RoboFont

Mark SimonsonMark Simonson Posts: 1,206
edited April 2012 in Typeface Design
I've been contemplating moving to one of the new font editors, Glyphs or RoboFont. I've been playing around with both for quite a while, but I realized that the only way to see if either will really work for me is to spend at least a week in each, trying to actually build a font. I've decided to have a go with RoboFont first. After spending a couple of days with it, I like it a lot. It does help that I've already got a lot of other UFO-based tools, like Superpolator, Prepolator, etc.

I would like to hear observations from anyone else using RoboFont.

Comments

  • James PuckettJames Puckett Posts: 1,688
    You should document your experience for an ILT article. People are always bugging me for a comparison of the two, but I stopped using Robofont after two days do I don’t have much to say.
  • Mark SimonsonMark Simonson Posts: 1,206
    I think what makes me most interested in RoboFont is that it works well with other UFO-based tools I already have, and have had to use with FontLab up until now. RoboFont eliminates the export UFO/import UFO merry-go-round.

    The font I'm working with has four masters, thin/black/thinExCn/blackExCn. The UFOs I'm working with were exported from FontLab. I've got it set up with the UFOs (one for each master) are open simultaneously in RoboFont, Prepolator, and Superpolator. After I draw a glyph in RoboFont for each master, I check/fix the outlines so they can be interpolated properly in Prepolator, then check out how the interpolation looks in SuperPolator.

    With all this stuff going on, I've added a second monitor, brought out of retirement.

    I'm really liking the measuring tool.

    This is
  • James PuckettJames Puckett Posts: 1,688
    After I draw a glyph in RoboFont for each master, I check/fix the outlines so they can be interpolated properly in Prepolator, then check out how the interpolation looks in SuperPolator.

    With Glyphs I do all that in one window. It made me realize how much time I spent turning my head to see the other monitor a thousand times a day.
  • Mark SimonsonMark Simonson Posts: 1,206
    I intend to do something similar with Glyphs after a week or two of this. Unless I fall in love with RoboFont, which could happen. There's already a lot I like about it.
  • Coincidentally, I was just settling down to do the same tryout of Glyphs and Robofont, but starting with Glyphs. I look forward to hearing more of your reactions here. And I'll put some of mine in the "Thoughts on Glyphs font editor?" thread.
  • I've been using Robofont exclusively since August and I love it. It's pretty simple out-of-the-box, which I love. It's basically just a glyph editor.

    It took me more than a week to get up and running with Robofont. I found that starting with such a basic program made me reconsider my approach to designing. I had to forget some of the constraining FL-specific issues like Multiple Masters, Mask Layers, and the Font Info panes. I found the process to both open up my thinking and make my drawing more focused.

    All apps carry some of the designer's influence and it's especially true for font editors. But, to me, it feels like Robofont tries avoid this as much as possible. It wants to be neutral so you can build on it. I've found that the little helper bits of python I've had to (learn to) write along the way have significantly changed my Robofont experience. Like breaking in a new baseball glove, it took more than a week but now it's really comfortable.



  • It took me more than a week to get up and running with Robofont.
    For that reason, I wish the demo version was good for longer than 15 days (especially for those of us with different day jobs).
  • Mark SimonsonMark Simonson Posts: 1,206
    Jackson, if you don't mind saying, how are you using Python? Are you using many extensions/plug-ins? I've got that Ted Nudget tool that you did, and it works great.
  • Ted Nudget it a good example of customizing. I think there are four different ways people are using Interpolated Nudge, all different. That's how I want to use it. I'm actually planning on figuring out how to rewrite that so it works with the primary editing tool (and bug fixes (and I want it to work on arbitrary angles)).

    It's all little things like quickly swapping drawings to between layers (like Background Layer, Reference Layer, and Version Layer, all linked to different key commands) and making quick adjustments to the side bearings and positioning of glyphs. Most of what I've done was production for Harriet, so lots of scripts to set font.info bits quickly and consistently to lots of files.

  • Mark SimonsonMark Simonson Posts: 1,206
    edited April 2012
    I've been having a strange problem with layers. Let's say I make a new layer called "background" and paste some paths into it. Somehow, in working with Superpolator and Prepolator, the layer disappears. However, if I make a "new" layer called "background" in RoboFont, the paths I previously pasted into the missing layer are restored. So, somehow, something (probably Prepolator, since Superpolator is not modifying the UFOs as far as I know) is modifying the UFOs in such a way that the layer info gets messed up, but not irretrievably.

    (I should probably ask about this on the RoboFont forum.)
  • Do it!

    I'm not sure layers are an official UFO2 feature. Right now I believe they are being implemented as a private Robofont dictionary. The word was that this would be fixed as soon as UFO3 is finalized (and as soon as everyone updates their apps).
  • Mark SimonsonMark Simonson Posts: 1,206
    Okay, I posted the question on the RoboFont forum.

    That it might be something to do with limitations of UFO2 makes sense.
  • Jackson is right. The way RoboFont stores layers in UFO2 is not meant to be interoperable. The upcoming UFO3 implementation will store the layers in such a way other apps can access them.
  • Mark SimonsonMark Simonson Posts: 1,206
    edited April 2012
    Seems like RoboFont doesn't work well with glyphs that have lots of nodes and or many paths. I tried using it with a script logo that I've been working on, originally drawn in illustrator, seven letters plus an apostrophe. Everything in one glyph slot. The Illustrator paths had lots of redundant nodes that had to be cleaned up. I could have just done a remove overlap, but I needed to retain some overlapping shapes.

    While working on it, RoboFont became unresponsive at times, especially when switching between tools. I would often get the spinning beach ball. Quitting and restarting the app helped a little. At one point, RoboFont auto-closed a path I was working on (at least I think that's what happened). I was able to save (probably shouldn't have) but it crashed and I was unable to open the glyph in that UFO without it crashing. Fortunately, I was able to fix the UFO with Prepolator and work with it again in RoboFont.

    The biggest complaint I have with RoboFont so far is that it can get flakey sometimes when working with paths. Besides the example above, I have had trouble occasionally with the glyph editing window not updating properly. Example: Selecting or dragging or undoing have no visible effect. The only thing that fixes it is to restart the app. It hasn't happened often (maybe three times during the last week or so). I hope this is just a symptom of it being a relatively new app, and that this kind of thing will be fixed soonish.
  • Hey Mark,

    Any updates on your experiment?
  • Mark SimonsonMark Simonson Posts: 1,206
    I'm still poking around. I think I'm getting the hang of the drawing tools. I keep missing little things from FontLab, like having more than one glyph editor per open font, easily seeing what the length of a bcp handle is, seeing the effects of editing a master (I'm working with two) immediately (instead of save UFOs, check in Prepolator, and see how it looks in Superpolator). The scaling seems more primitive in some ways.

    Seems a bit buggy. Sometimes, for no reason I've been able to determine, the single-key shortcuts stop working. You know, like z for zoom in, x for zoom out, tilde for preview. Nothing happens when I try to use them. Closing and opening a new glyph editor doesn't seem to make a difference. I think quitting and restarting the program works, but seems like it didn't once. It comes back just as mysteriously. Ever seen this?

    I feel like I still need to spend more time with it before I decide.
  • Mark SimonsonMark Simonson Posts: 1,206
    Well, I took a break for a few weeks (not exactly on purpose). Getting back into it again the last day or so and discovering some cool things.

    First of all, thanks to Jackson for reminding me where the goodies are found: https://github.com/typemytype/

    I'd seen this before, but it kind of baffled me. All these folders and files, but no clue what to do with them. While poking around yesterday, I discovered the "Downloads" link—which doesn't look much like a link (gray text, no underline), which took me to a page with a notice saying "There aren't any downloads yet." Crap. But I kept reading, "But don't worry! You can download the source code as a zip or tarball above." And there in plain sight were two nondescript buttons. I clicked the one labeled "Download as zip" and low and behold, I finally got the stuff I wanted.

    Anyway, I think I just didn't take enough time to figure out what was what there previously and just gave up. Looking at it now, I see there are lots of ways to "git" stuff there. If they did any user testing on this site, I think it was only by people who have already been working with this kind of stuff for years.

    So I got all kinds of neat extensions and scripts added to RoboFont and have been trying things out.

    The main thing I've been playing around with is the Feature Preview extension. Not having something like this would make working on OT features pretty difficult. The UFOs I've been working with came from FontLab, so it took some fiddling to get it to work. Not that there were many things to fix (usWinDescent was negative, and there was a feature that had some old syntax not allowed in AFDKO 2.5), but it took considerable effort (combing through technical discussions and documents) to figure out where the problems were.

    The other big discovery was how RoboFont actually works with Metrics Machine. After years of using it with FontLab, I had to unlearn some things. With FontLab, you export a UFO, do your kerning in Metrics Machine, export the kerning as a feature file, and then paste this into the OT panel in FontLab.

    So, I clicked on the Metrics Machine button in RoboFont, and my font is ready to kern. But making changes in MM didn't seem to have any effect with the features back in RoboFont. I searched the RoboFont forum for an explanation and finally found (somewhere, I've lost it now) a passing reference noting that, when working MM, the kern feature is not shown in the features editor, and, in fact, you only work with the kerning in MM, not RoboFont, were it seems inaccessible. I guess it's stored in the UFO (duh). This is much tighter and seamless than I expected.

    Part of what confused me was that there was a (redundant, as it turned out) kern feature present in my feature code.

    The only hitch was that MM only seemed to have the key kerning pairs, and none of the kerning groups (classes). However, my kerning groups were present (and useless) in RF's group window. After a little investigation, I discovered I could use the Groups2Features extension to get the groups out and into a .fea file I could import into MM to restore the missing groups. So everything is all cool now.

    (While writing this, I discovered that I think I could have done it more simply by adding the MM class prefixes to the names of the groups, and they would have then been recognized by MM.)

    Although it's been frustrating, I feel like I'm learning a lot of very useful stuff, things I know I should know better, and it's not really that hard. With FontLab, I often have the sense of not quite being sure how or why it all works, and being a little afraid to touch things once I have it working.

    At this point, with the new things I'm learning, it's kind of exciting.
  • Mark SimonsonMark Simonson Posts: 1,206
    So, here's where I'm at:

    I like Robofont a lot, in spite of some rough edges.

    All of my existing fonts were built in FontLab, and in some cases the kerning was done in MetricsMachine. I've also gotten spoiled by Superpolator and other UFO tools. I've found it pretty easy to move my older fonts to Robofont.

    I like Glyphs a lot, too, but it doesn't really work all that well with these UFO tools, or with my legacy font data. It really seems to want to be an end-to-end solution. Which is okay, and I do want to try that. It seems to like having things set up certain ways, and that would mean redoing some things in order to work with my existing font data. But I could see doing new fonts with it.

    I don't think I will be able to totally abandon FontLab, either. I will probably work mainly in Robofont from now on, using Glyphs and FontLab as needed, just as I do with the other tools at my disposal.
  • James PuckettJames Puckett Posts: 1,688
    I like Glyphs a lot, too, but it doesn't really work all that well with these UFO tools, or with my legacy font data. It really seems to want to be an end-to-end solution.
    I think this stems from the genesis of the two programs—Robofont was created for users who want to work with UFO apps, while Glyphs was created on its own and happens to supports UFO. I manage to work around it, and Georg has improved Glyphs’ UFO support. This week I ran into trouble importing kerning from a UFO to a master in a Glyphs file, so Georg added functionality to do that. That was really the last stumbling block I had in my Glyphs/Superpolator/Metrics Machine workflow. Hopefully UFO3 will make it possible to just work in Glyphs with MM fonts in UFO end-to-end just like I do with the .glyphs format.
  • Hopefully UFO3 will make it possible to just work in Glyphs with MM fonts in UFO end-to-end just like I do with the .glyphs format.
    Unfortunately it will not help much. UFO 3 supports more than one layer per glyph but not more than one master per font. So I can save all outline data, but there is no place for kerning, vertical metrics and such. I can always stick it in the lib, but then nobody else will be able to read/use/understand this.
    So the only thing the layers support is useful is to store the background layers.
    I discussed this with Tal and Erik but that...
  • I’m thinking like this; If UFO supported multiple masters then people wouldn't buy Superpolator, right? So support for MM is probably not prioritized ;-)
  • James PuckettJames Puckett Posts: 1,688
    I doubt Erik is actually making that much money from Superpolator. There are less expensive options.
  • No that could be true. Haven't actually tried Superpolator but heard good things about it. FontLab MM (when carefully planned) has just been working so well for me so I never felt a need to use anything else.
  • FontLab MM (when carefully planned)
    Well, that says it all. I have always found FontLab MM a complete minefield.

    If seperate masters are saved as individual UFO files I don’t see a problem why Superpolator could not work together with Glyphs or other font editors. The lib could be used to save some specific MM metadata.
Sign In or Register to comment.