
This is the Skateboard extension for RoboFont3.
Skateboard is built on RoboFont, FontParts, UFOProcessor, MutatorMath and FontTools. Thanks to Frederik Berlaen, Just van Rossum, Ben Kiel, Tal Leming, Andy Clymer, Behdad Esfahbod, Cosimo Lupo and Commercial Type.
Using Skateboard

Skateboard window: Tool Buttons
From left to right:
- Open / Close / Save buttons for the designspace.
- Editor: this button appears if you have the DesignSpaceEditor extension installed. It will close Skateboard and open the file in the DesignSpaceEditor.
- Variable: this button appears if you have the Batch extension installed. Skateboard will try to generate a variable font with Batch. Note: there are many things that can go wrong and it won't do magic.
- Add Glyph: a sheet for making new glyphs in all masters at once. Type glyph names separated by space, the list will show which unicode values will be added from the GNUFL list.
- Text Window / Space Window: these buttons open the Skateboard Text and Skateboard Space windows.
- Preview UFO: this generates a preview UFO for the current location. These ufos are in the Previews/ folder next to the designspace file. If you want to proof, measure, print and so on.
Skateboard window: UFO panel
- Pick a designspace file using the open icon in the Skateboard toolbar. You can have only 1 designspace file open in Skateboard.
- This window will keep track of which UFOs are open, and which are on disk.
- It also keeps track of the current glyph and calculates previews.
- It draws instance previews in the glyph window background
- The black star marks the UFO at the default location.
- White / grey U icon: UFO is available but not open in RoboFont.
- Blue U icon: UFO is open and current.
- Green U icon: UFO is open but not current.
- Orange U icon: UFO is missing.
- Double click on the UFO item to open the UFO, bring it to front and open a glyph window.
Skateboard window: Preview Location panel
- Shows the current preview location.
- The value in the Designspace column can be edited.
- If an axis has a map, the Mapped column shows the mapped value in the Userspace column. This can not be edited.
- The Normalised column shows the normalised value, also not editable.
- The Interaction sources column of the Preview panel lets you select which direction an axis should go while dragging with the Navigator tool and in the colorfields. For instance, if you select horizontal for a width axis, any dragging in the horizontal direction will reflect in changes to the width axis.
- You can set multiple axes to the same interaction direction, but for some features only the first one is used.
- Control click on an axis shows a menu that lets you mute that axis. The axis is then ignored in all previews.
Skateboard window: Locations panel
- This is a list of all locations that are relevant in this designspace.
- The categories button lets you select which groups are shown
- "Open" locations are permutations of all axis values. This lets you navigate to places that might be extrapolating.
- "Support" locations are the locations for the support layers, if there are any. With the supports Skateboard also draws the areas where these masters reach.
In a RoboFont Glyph window: previewing with the Navigator tool
- Skateboard installs the navigator tool. The icon looks like this: ⌘
- Drag the Navigator tool to change the preview location. The cursor indicates where you are, and the values in the Skateboard window will also update.
- The preview shows the interpolated form for the current designspace location.
- Pins indicate how points in the masters are pulling at the interpolation. The actual masters are not shown, you can easily get to them. The pins are hidden while dragging.
- Blue pins indicate the deltas to the neutral.
- Dashed lines indicate the current factor of that master is 0, so it does not contribute anything to the interpolation. If you're on the default for instance, all lines are dashed.
RF Glyph window: Navigator menu
- Control click with the Navigator tool in the glyph window to get a menu with more options.
- Mark interesting location: this adds the current location to the locations list. These locations can be saved in the designspace.
- Copy the preview (as XML) so you can paste it in any RoboFont glyph window or elsewhere.
- Track Selection: for specific point structures such as the offcurve / tangent / tangent / offcurve in an S, this will calculate the colinearity of these points and show a green to red color to indicate how well it is going. This can help to establish where a support should be placed.
- Show: Using Other Tools the preview is drawn for all editing tools.
- Show: Using Navigator the preview is drawn when using the navigator tool. Note that these two options are not mutually exclusive
- Alignment of the preview: left / centered / right
- Which interpolation math to use: MutatorMath or Varlib. Each will show in their own subtle shade of grey. MutatorMath will extrapolate beyond the defined extremes of the axes and will be closer to results from Superpolator. Varlib will handle intermediates better and is closer to results from Variable Fonts.
- Round Geometry to Integers well, scary.
- Save PDF makes a PDF of the current glyph view
Tracking selections
If you select two smooth tangent points on either side of a straight section (as shown in a S), Skateboard analyses and shows the smooth / kinking thing in the preview. Future versions of Skateboard will support more structures.
- Green = good, no visible kinks.
- Red = bad lots of kinks.
Select the Skateboard / Track Selection item from the contextual menu. This makes the analysis sticky, it will show when the selection has changed. Now you can edit points and immediately see the effects on the interpolation. When you're done, you can clear the selection from the same menu.
You know that kinks can be prevented by making sure either the length of the bcps, or the angle remains the same. (Recommended: AngleRatioTool) But this can be hard to maintain between masters. The inside and outside curves in an S might be the same in the Thin and Narrow, but very different in the Black and Wide. This approach lets you judge the results and make decisions about additional supports, or changes in the design.
Adjusting points in the master to fix the kink (as shown in this movie) does of course not guarantee that the kinks are gone everywhere. This is a tool that will help you find some sort of acceptable compromise.
Skateboard Text window
- Currently a bit sparse, but this is a full UFO preview of the current location. Skateboard generates a small UFO with the required glyphs (so also components).
- Use the Text/Glyph button to switch between a line with glyphs and an overview of the masters of the current glyph.
- In text mode, you can use /? to include the current glyph in the text. Just like RF.
- Use the Positive/Negative button to toggle between black and white
- Text can zoom
Skateboard Space window
- This is a hybrid map and control. It will show the axes you picked as *vertical* and *horizontal* in the interaction sources.
- It shows masters, instances, supports, interesting locations and open locations.
- The colorfield was not very precise and took a lot of calculating.
A note on Supports
Open a window for a glyph in a support layer (a layer in the UFO that is listed as a source). Skateboard notices it is a support. It will present the preview as usual, but it will also calculate what this location would look like if that support was not there. The difference between these states is marked with red dots and dashed lines So these lines represent the contribution of that master to the mix.
Designspace format 4
Skateboard supports the latest designspace specification. It assumes that the neutral, default master is at the location with the default value of each axis. That might be different from what you're expecting. MutatorMath was less strict about this. But as we're moving towards a world of variable fonts, this is a nudge in the right direction. Switching the neutral in a designspace is not always trivial, so it's not done automatically.
Support glyphs can be placed in separate layers. The whole layer corresponds with a single designspace location. If you want supports at different locations you need to add layers. Empty glyphs are ignored. All glyphs in layers are interpreted as supports because they do not have their own kerning and font info. The Navigator menu in the glyph window has some tools for copying preview outlines to a layer.
Notes
- If your preview location is in on or near one of the masters, any edits to the current glyph will not appear to have any effect.
- The db button at the bottom will pop a debug browser with some interesting values.
- If nothing happens when you drag the Navigator Tool, make sure you've assigned a direction to at least one of the axes.
Version history
- 1.6.1: Extrapolation in SpaceWindow when MutatorMath is selected. Include the named instances when exporting to VF. Fix save confused Save dialog.
- 1.5.3: Small preferences window to switch between light and dark colors so you can adapt a bit. Add a flag for opening / not-opening UFOs after generating them. Fix some issues.
- 1.4: Switch between mutatormath and varlib in the Skateboard window. Improved support for axis mapping, location panel shows designspace location and userspace location. New Add Glyph: type glyph names, separated by space. The list shows which glyphs and unicodes will be added. New button labels, Text Window and Space Window.
- 1.3: Math flavor selection and sparks are now sticky application prefs. Sparks are drawn as dotted lines rather than the much fancier needles. Fix issue with dragging in Space Window that caused an out-of-bounds preview location and unexpected rules results.
- 1.2.7: Fix issue with generating instance. Improve resilience when generating Variable Font. Fix issue when drawing glyph with failing geometry. Preview UFOs respect math preference, also reflects in the UFO name. Fix small issues. Add menu for replacing missing UFO. Fix bug when copying to preview to clipboard. Drag/drop is disabled for now, an issue prevents satisfactory results.
- 1.2.5: Drag designSpace and sp3 files to the Skateboard window. Progress indicators when opening UFOs, generating variable font, preview font. Option-click on save button for save-as. Provide EditThatNextMaster with directions.
- 1.2.4: Improved tracking of a selection in the glyph window. The tracking menu item is part of the RF contextual menu.
- 1.2.1: Skateboard uses the DesignspaceProblems package for finding problems in a designspace. For now Skateboard only filters for problems that will make it impossible to display anything. A full list of problems can be found in the debug window.
- 1.1: Experimental import of Superpolator .sp3 files. And a file handler: drag + drop of designspace and superpolator documents to Robofont will open Skateboard.
- 1.0: First public release.
Disclaimer
No liability for lost data, lost time etc. Please contact me with questions and problems regarding Skateboard: erik@letterror.com