RoboFont Changelog

What's new in RoboFont 4.4

Oct 11, 2023
  • Jump to python3.9! Be aware, some extensions might not work, check for updates.
  • User Interface:
  • Set SF Mono or a fixed pitch in input text editors
  • Add Glyph sheet
  • Add Smart Set glyph names
  • Inspector Glyph note
  • Character Set in the application preferences
  • Add support for “Save All UFO’s” alternate menu item.
  • Improve font toolbar Mark and Layers buttons.
  • Improve changing unicode dialog text.
  • Fix alert text when installing existing extensions.
  • Improve user interface to maximize compatibility with Ventura.
  • Reuse the fixed width font when a default font is used to typeset a string (like an emoji) in the Output window.
  • Improve toolbar items with menu presentations when the FontOverview or GlyphEditor windows are resized.
  • Add support for multi group name selection in a group sheet.
  • Glyph Editor:
  • Improve dragging lines by making their location more accurate on screen.
  • Move dragging lines while in Transform mode.
  • Use anchorTextColor for the name of the anchor if no color is set in anchor.color.
  • Anchor names cannot be empty but None.
  • Improve images visualization in different layers by not drawing the image info.
  • Fix glyph view stored italicAngle, it cannot be None.
  • Outlines:
  • Improve snapping and rounding of points in the glyph editor.
  • Fix reselection of contour after a break.
  • Improve coloring of quadratic off curves points.
  • Support alt delete for multiple off curve points to snap to their on curve point.
  • Fix a bug when converting an off-curve only quadratic curve to bezier curves.
  • Improve start point while joining contour with the drawing tool.
  • Do not flag the glyph as loading while normalizing incoming data, otherwise trailing off curves are lost.
  • Don’t allow circular (components) references and send warning when trying todo so (even when renaming).
  • Preserve selection on setStartPoint.
  • Unsmooth on curve point while deleting off curve.
  • Improve deleting of glyphs used as components to avoid ghost references persist on disk.
  • Fix a ghost point bug on undo with a slice tool.
  • Skip check for trailing points in an empty contour.
  • Fix update margins after font info changed (italic angle).
  • When a left margin is set from python code, the selected paths will move accordingly.
  • Improve copy/paste of outlines data from other applications (Illustrator & Figma) into the glyph editor.
  • Set the default stroke color for tangent point the same as smooth stroke color.
  • Guidelines:
  • If guideline angle is None get it from the xy combo.
  • Rename guideline menu items to Local and Global.
  • Make guidelines longer, a hypothetical length of 100000 (left & right) should be enough. A huge board might be used for logo drawing.
  • Improve guideline layer caching.
  • Send guidelines Changed notifications during undo/redo.
  • Enable show guidelines when adding a guideline.
  • Show guidelines in all layers only when Show Guidelines display option is enabled.
  • Add support for single guideline.locked.
  • Images:
  • Set the default image sharpeness to 0.
  • Improve pasting image over existing image in glyph view.
  • Store image scale settings in the defaults.
  • Add glyph image bounds to the artboard edge calculations.
  • Improve image filters to avoid blurred images.
  • Unlock image after pasting image over glyph view
  • Display Image in glyph editor Diplay Options menu is enabled when image is dropped or pasted in the glyph view.
  • Inspector:
  • Improve speed of refreshing points inspector list.
  • Uncheck transformPane checkbox when a transformation is edited in the glyph editor.
  • Space Center:
  • Use the full suffix to populate the space center suffix menu.
  • Fix missing image factory used in spaceCenter.
  • Send spaceCenter key up when there is no glyph selection.
  • Improve MultiLine view when font info attributes are set to zero.
  • Font Overview:
  • Add warning when setting the default layer when ‘public.default’ is present.a
  • Set glyphOrder after layer.renameGlyph to update the CollectionView.
  • Fix removing layers when the layer is the active one.
  • Change order for sorting options.
  • Fix None mark color.
  • Add sort reset and support single sort option in the sort sheet.
  • In Single Window Mode, check if there is a glyph before handling layer set changes.
  • Preferences:
  • Add short cuts for default tools.
  • Improve help button for Extension tab in Preferences Window.
  • Rename glyphViewOncurvePointsSize to glyphViewOnCurvePointsSize (cap C).
  • Add force appearance support (follow the system light/dark color).
  • Improve updates on GlyphView appearance options.
  • Add preference defaultLayerName for new documents.
  • Add double click preference: glyphViewAllowDoubleClickToSwitchLayers.
  • Improve preferences Extension Sort Tools.
  • Add extensions directory attribute to the preference export.
  • Smart Sets:
  • Check if the smart list selection has a query to reset on font changed.
  • Improve storing smart sets with multiple documents are open.
  • Improve query reloads for smart sets.
  • Fix loading smart sets issue.
  • Scripting Window:
  • Fix major lag in using a CodeEditor in any window.
  • Improve line number view in CodeEditor.
  • Remove cmd+. cancel short cut as it crashes the app.
  • Fix storing “keep Visible” in the defaults for the output window.
  • Add API access to scripting window:
  • CurrentScriptingWindow()
  • AllScriptingWindows()
  • scriptingWindow.insertText(text)
  • scriptingWindow.setSelection((location, length))
  • Extensions:
  • Fix bug in installing extensions with start up scripts.
  • Fix bug in resolving extension version requirements.
  • Generate Binaries:
  • Improve autohint (ps and ttf) when fontmake is set as compiler.
  • Improve calculating hmtx table after a curve conversion.
  • Use otRound everywhere while compiling binaries.
  • Fix wrong attribute name in font compiler.
  • APIs:
  • Improve debugging information in log file.
  • Start an external changes observer when a font is loaded with no interface (shallow document)
  • Improve mojo.compile.stemhist
  • Include all the modules from the Python standard library.
  • Remove capital on stemhist.
  • Add support for inspectorTransformPaneAllowExternalTransformation.
  • Change Can Hide to Keep Visible in the output window.
  • Add RoboFont specific views as ezui objects, welcome mojo.ezuiViews! You’ll find:
  • GlyphSequence
  • GlyphPreview
  • CodeEditor
  • GlyphLineView
  • Send extra arguments to build in a windowController to maximize compatibility with ezui.
  • Adopt AppleScript for remote scripting and improve command line interface. Faster, more reliable.
  • Add support for tooltips in the script header.
  • Improve permission while installing the shell script.
  • Add readSmartSets in mojo.smartSet
  • Add support for glyph.copyToPasteboard and font/layer.copyGlyphsToPasteboard.
  • Log error when the extension defaults are unable to write to disk.
  • Remove deprecated glyph.index.
  • Add eventTool.shouldSendNotifications to hold notifications for other observers.
  • Add Timer, timerDecorator, timerFunction, profile, profileDecorator debug tools to mojo.tools.
  • Add support for setGlyphRecords and getGlyphRecords in a mojo.UI.MultiLineView.
  • Add support for mojo.UI.OpenInspectorWindow.
  • Add support for shouldAddSeparatorItem while building a menu with MenuBuilder.
  • Improve commandline install success message.
  • Add htmlView.getWKWebView() to get the webkit webview.
  • Add tiff2png to mojo.tools.
  • Add mojo.pipTools.
  • Raise the time out limit for the pip installer.
  • Fallback to font.asDefcon().dirty for font.hasChanged() when no document is set.
  • Add context manager support for mojo.UI.ProgressBar
  • Improve documentation in several mojo packages.
  • Shell command reports back to the external caller.
  • Improve copyToPasteboard doc string.
  • Subscriber:
  • Improve subscribing to adjunct objects.
  • Improve subscriber coalescer when notification comes in very fast.
  • Fix serious bug in subscriber when the notification is sent from a continuous trigger like a slider
  • Improve fontInfoDidChangeValue subscriber info object.
  • Add support for glyphEditorDidChangeDisplaySettings.
  • Improve compatibility of subscriber instances with ezui and windowcontroller
  • Improve subscriber error message when overwriting a subscriber event.
  • Embedded Packages:
  • Remove deprecated packages dialogKit and feaTools2.
  • Remove numpy as embedded package. Users will need to install it autonomously with pip installer.
  • Embed the charset_normalizer package.
  • Add fontFeatures as dependency.
  • Appearence (Dark Mode):
  • Remove shadow in statusbar warning (improves dark mode).
  • Add notification + subscriber support when the application appearance changed.
  • Implement dark mode colors and auto switching.
  • Add appearanceColorKey to mojo.UI.
  • Change defaults for cell metrics color in dark mode.
  • Update embedded packages.
  • Update GNFUL list.

New in RoboFont 4.3 (Oct 20, 2022)

  • Move to 10.12 as minimum requirement.
  • Remove local FDK support.
  • FontTools has moved to DesignSpaceDocument v5. Tools like Batch and Skateboard work with the new format, but they do not support discrete axes.
  • Update internal GNFUL list.
  • Keep unsaved glyphs into account while testing external changes. It avoids loosing data not saved on disk when reverting.
  • Use the latest py2app. Add support for dark mode and new toolbars on macOS 11 and 12.
  • Remove warning when the app file path contains a space.
  • Fix About Window bug when AFDKO is not the compiler tool.
  • Do not try to read glyphs from disk in closed file system if a font is not saved yet.
  • Improve mojo.NumberEditText by converting the int/float to a string without thousands separator (locale dependant).
  • Add support for ctrl ⌃ + alt ⌥ + delete to completely remove a glyph from a UFO (including layers, kerning and groups).
  • Improve removing default layer.
  • Force file type extension on filename when switching format in “Generate Font” sheet.
  • Glyph Editor:
  • Improve transform pane in Single Window Mode.
  • Improve opening empty glyphs with a very large units per em.
  • Improve pasting of PDF data.
  • Improve transform pane with selection when the glyph editor is not the first responder.
  • Improve joining contours two points with handles by un-smoothing the joined on curve point.
  • Improve “jump to glyph” dialog by splitting the search by all possible glyph name separators.
  • Fix converting selected on-curve-less quad curves.
  • Improve pasting glyph with images.
  • If the a component was selected and the base glyph is removed, the component selection does not linger in the glyph editor
  • Add glyphViewIgnoreFirstMouseDown key to Preferences Editor for Single Window Mode to ignore the first click in the glyph view.
  • Support shift + alt + click for converting a line to a quadratic segment.
  • Improve menu title: ‘Convert to Cubic’ without ‘Contour’.
  • Move down the selection CALayer in the glyph editor layers hierarchy. As a consequence, transform mode will be drawn on top of a selection.
  • Apply snapping to anchors and components when edited from the transform pane.
  • When an on-curve point part of a larger curve is deleted, RoboFont fits the curve and rounds the remaining handles based on the “Snap points to” value in the preferences.
  • Fix Transform Again in Single Window Mode.
  • Disable dragging margins outside the body of the glyph.
  • Adding a guideline with shift + g + click with an italic angle will apply the angle to the new guideline.
  • Display dragging lines with the italic angle if “Slant Point Coordinates” is on in the Preferences.
  • Add anchor popover accept slanted coordinates, again, if “Slant Point Coordinates” is on in the Preferences.
  • Point coordinates are typeset in italic if “Slant Point Coordinates” is on in the Preferences.
  • Display dragging lines with the italic angle.
  • Add a dragging constrain on the italic angle.
  • Close a glyph window on a removeGlyph event (either user interface or API) only when it shows the removed glyph.
  • Preserve first points while curve converting segments/contours.
  • While removing the last point of an open contour also remove all offcurves in a quadratic curve and unsmooth the last oncurve.
  • Dont add a quadratic off curve point when ⌘ command key is down
  • Register an undo change when adding a quadratic off curve
  • Improve snapping coordinates which are already whole numbers but represented as a float.
  • Break contour at the point when selection discontinues.
  • Don’t look for a layer or font with an orphan glyph to set the glyph window title.
  • Font Overview:
  • Improve smart set cell user interface.
  • Remove duplicates when creating a query based on glyph names.
  • Disable release mode checkbox when “Generate Features with fontTools” is on.
  • Don’t try to recover a glyph from disk with a KeyError (glyph does not exists).
  • Space Center:
  • Add Reset Beam to space center settings menu.
  • Add tickmarks and negative values for tracking and line height in a space center menu.
  • Set a space center edit text as first responder when opening a space center.
  • Improve display of non-existing glyphs.
  • APIs:
  • Update mojo.UI.GlyphWindowToPDF to support CALayers through merz.
  • Add ufoz as supported file type with mojo.UI.OpenFont.
  • Add OpenFonts into mojo.roboFont.
  • Add support for glyphEditorWillShowPreview and glyphEditorWillHidePreview in mojo.subscriber.
  • Improve mojo.UI.OpenScriptWindow to open new documents.
  • Warn when incorrect display settings are set with mojo.UI.setGlyphViewDisplaySettings.
  • Improve robofont shell command: print out an error message when the app is not found.
  • Add support for RFont.fontWindow() returning the font window.
  • Fix checking layer.getDisplayOption() for all
  • Raise a traceback when a script tries to remove the default layer.[STILL OPEN ISSUE: https://gitlab.com/typemytype/robofont/-/issues/452]
  • Improve fontParts info, groups, features and kerning getting the parent font object.
  • When calling the fdk tools seperatly use the EmbeddedFDK tools.
  • FDK and fontMake are always embedded, no need to validate the generate menu item.
  • Fix ttfautohint in fontMake by providing a string with options.
  • Add getGlyphViewScale in Single Window Mode.
  • In a tab view unselected views have no view.window().
  • Docs:
  • Massive reorganization of the subscriber docs. Easier to share single methods with HTML anchors.
  • General improvement on the mojo.UI docs page: deeper hierarchy, categories, overall review of docstrings
  • When RoboFont fails completely the error message points to a page on RoboFont documentation.
  • Inspector:
  • Increase text box size for auto naming sheet to display long glyph names.
  • Persist the collapsed state of the inspector contour list.
  • Scripting Window:
  • Reload operation in scripting window are now undoable.
  • Improve closing empty Python script documents. No prompt if the scripting window is empty.
  • Disallow opening scripts in tabs when opening from scripting menu.
  • Preferences:
  • Improve shell help text inside a preference window.
  • Improve setting shortcut with alternate menu items.
  • Fix toggling on/off blue values with a preference shortcut. It was shadowing the guidelines display option.
  • Add Jump To Layer with preference hot key.
  • Font Info:
  • Add Omit Mac Names in RoboFont tab in the font info sheet. The setting is accessible in the font.lib["com.typemytype.robofont.generateOmitMacNames"]. The lib expects a bool

New in RoboFont 4.2 (Apr 19, 2022)

  • Raise the minimum required OS version to 10.11.
  • Move to layer manager to a popover, and remove layer from the Inspector.
  • Add option to sync glyph layers width, markColor and unicode.
  • UI adjustments on Monterey
  • Check file structure before sending it to ufonormalizer, do not validate ufoz.
  • Store the size of the preference editor window.
  • Save test installed fonts to a folder inside the application folder.
  • Font Overview:
  • Delete all selected smart item with the action menu.
  • Disable undo when setting markcolor for a lot of glyphs, pref key markColorUndoMaxGlyphCount .
  • Add match as option to filter component and anchor names.
  • Glyph Editor:
  • Anchors validation should only remove control characters.
  • Allow triple click to jump to a component with alt down.
  • Enable the correct blue zone layer according the display settings.
  • Measurement info the tab indents must be relative to the point size.
  • Fix cuttoff pdf pastboard data.
  • Improve switching with preview key down.
  • Add support for preview key in single window mode while selecting in a font overview.
  • Fix bug when moving and closed single point contour.
  • Fix bug while removing the last segment.
  • Fix bug when ß is uppered to SS in jump to glyph.
  • Rename BezierDrawingTools to DrawingTools
  • Use the “glyphViewCanZoomWhileDragging” preference setting.
  • Highlight show offcurve on top of oncurves.
  • Add “middleground” public layer.
  • Snap guideline angle with shift to a multiple of 45°.
  • Show first point differently from the contour direction symbol.
  • Improve displaying curve length with italic angle and slanted coordinates.
  • Space Center:
  • Improve space center input has changed with the field editor.
  • Add support for /?@background.
  • Live updating space center with new pref keys: spaceCenterMaxGlyphCountForSendingEvents for events and spaceCenterMaxGlyphCountForLiveUpdating for editing.
  • Add slider for line space and tracking in space center menu + alt to round these values.
  • Preferences:
  • Improve validating preferences input controls.
  • APIs:
  • Add glyph key in subscriber contextual menu notification info.
  • Add glyph key in right mouse down in font overview contextual notification info.
  • Add disableSubscriberEvents with statement to disable all subscribers.
  • Fix subscriber missing event names.
  • Add ExtensionBundle.currentBundle() to retreive the extension bundle.
  • openInterface should create a new document when the font is set to None.
  • Add mojo.subscriber.listRegisteredSubscribers.
  • Adding glyph.readingErrors().

New in RoboFont 4.1 (Nov 24, 2021)

  • Improvements on Subscriber docs.
  • Text editors now use performTextFinderAction instead of performFindPanelAction. Text search with cmd+f, cmd+g and cmd+e improved
  • Improve Preference Editor error messages
  • Improve toolbar style for a font window on Big Sur and Monterey
  • Font Overview:
  • Change toggling fontOverview short cut: alt cmd e in single window mode
  • Remove focus ring in favor of secondary selection color when the view is not the first responder
  • Glyph Editor:
  • Tons of small display fixes
  • Glyph editor “Measurement Info” display option improved
  • Point coordinates displayed with italic values when the italic slant is active
  • Added glyphViewMetricsHeightInfoAttribute key in the preferences editor. You can now control the height of the white board in a glyph editor
  • Adding support for the indexesShouldFollowContour preference. If True, point indices of new contours in a glyph will not start from 0. Useful for hinting, it could be helpful for interpolation too
  • Join selection: it allows additional selected points which are not start and end points
  • The guideline angle knob now rotates in the same direction as the guide it edits
  • General improvements on quadratic curves (interaction and visualization)
  • Draw guidelines in the background layers
  • Improve cmd keep handle-in-the-same-direction dragging
  • Delete point on shift down reverse to preserve curve preference settings
  • Space Center:
  • “xHeight cut” display option in Space Center renamed “Cut Off“, now editable with cmd down when no glyph is selected
  • Improve suffix contextual menu when glyphs are added
  • Adding support for space center underline selection, see preference editor: spaceCenterSelectionStyle
  • APIs:
  • Adding support for glyph.autoContourOrder()
  • Adding support for setting sort descriptors in a collection view
  • Load all glyph before using font.holdChanges with statement
  • mojo.setDefault will validate the incoming value for a key if there is a validator

New in RoboFont 4.0 (Jul 16, 2021)

  • Using layers to drawing!!
  • Adding merz!!
  • Adding Subscriber!!
  • Font Overview:
  • Since full quadractics are supported don’t check and convert quadractic curves anymore.
  • Use esc or cmd + . to reset the font overview query.
  • Copy glyph width only when destination glyph is a template glyph.
  • Improved the UI for creating smart sets.
  • Glyph Editor
  • Support for full quadractic curves.
  • Improved add extreme points.
  • Improved zoom to mouse position.
  • Fixed bug in selection.
  • Selects automatically images when dropped on the canvas.
  • Does not draw drag lines when in transform mode.
  • Improved glyph editor scroll.
  • Improved rounding while slicing.
  • Reset selection path after undo.
  • Improved drawing while converting line to curve.
  • Add support for 45° contraint with the measurement tool.
  • Improve outline errors and remove some errors in favor of Glyph Nanny.
  • Add a pdf copy paste boardboard for improved interaction with other external drawing tools.
  • Space Center:
  • Use the embedded defconFont.kerning.find() instead of flat kerning.
  • Preferences:
  • Improved italic angle support.
  • Adding colors for slice.
  • Add “add guideline” hot key preference.
  • Disable old style drawing with glyphViewDisableDrawNotifications, as default this is False.
  • APIs:
  • Set a run callback optionally in a CodeEditor.
  • Disable pip installer search until it gets resolved.
  • Update embedded packages.
  • Adding identifiers (i.e., com.developerName.toolName) to addGlyphEditorSubview.
  • Fixed glyph editor subscription bug.
  • Adds glyphViewDisableDrawNotifications in the preferences editor.
  • Add .asFontParts() and .asDefcon() to all font objects for convienient switching.
  • Don’t add QTKit anymore.
  • Adds selection and measurement notifications in the glyph.
  • Added documentation for registerSubscriberEvent.
  • selection.hasSelection() forced to be a bool
  • Add Doodle.ImageSize factory.

New in RoboFont 3.0 Build 1803062007 (Apr 4, 2018)

  • Uses UFO3 as its native source format.
  • Written entirely in Python 3.
  • Lots of internal rewrites.
  • Opens UFO files with lightning speed.
  • Replaces roboFab with fontParts.
  • Layers are more independent.
  • Components refer to glyphs in the same layer.
  • Validating and converting incoming UFO2 data:
  • Removes duplicates in kern groups.
  • Removes glyphs that occur in too many kern groups.
  • Converts RoboFont 1+ lib keys to UFO3 objects.
  • Glyph View:
  • Use Cmd + Shift to add a diagonal constrain for line segments.
  • Use Alt + click on a line segment to convert it to a curve. Click near an on-curve point to select the off-curve point.
  • Space Center:
  • Speed improvements.
  • Show guidelines and blues.
  • New input syntax: /@ to select a glyph from a given layer. For example: /A@background.
  • Scripting:
  • Moving fontWillGenerate and fontDidGenerate to a more internal level, so it sends a notification when generating with a script.
  • Speeding up print() statement.
  • Adding Cmd + period to stop a script (like in DrawBot, thanks Just!!!).
  • Autocomplete ([{}]) in the code editor.
  • Adding glyphConstruction as a module!!
  • Renaming sys_path_override to external_packages – a folder to overwrite embedded packages.
  • Moving lots of internal modules to mojo.*.
  • Update of internal packages to UFO3, py3 and much more.
  • Adding RFont.hasInterface().
  • Preferences:
  • Use drag-and-drop to sort Miscellaneous Colors.
  • New raw Preferences Editor (press Alt while opening the RoboFont menu item).
  • New Preferences > Menus section, listing all menu items and keyboard shortcuts.

New in RoboFont 1.8.4 Build 1706131209 (Jul 5, 2017)

  • Updating internal packages.

New in RoboFont 1.6 Build 1410152315 (Oct 16, 2014)

  • Font Overview:
  • Improved alt copy of glyph selection to glyph names only.
  • Preserve checkboxes in the add glyph sheet.
  • Support for glyph note in the font overview list view and font search.
  • Glyph cell slider + alt will resize all open fonts cells
  • Improve add glyph sheet, with imports from character set or other open fonts.
  • Glyph Editor:
  • Better support for orphan point selection during copy paste.
  • Support drag and drop glyphs to a scripting window.
  • Undo support for flip layers.
  • Use italic slant offset as a display option.
  • Bug fixed in transforming components selection.
  • Reset selection after locking an image and switching from transform mode.
  • Slice tool snaps to guides.
  • Reset image selection after locking an image.
  • Improved support for copy paste and preserving contour order.
  • Jump to glyph pushes exact matches to the top.
  • Bug fixed joining contours when points are on top of each other.
  • Dont jumpt to hidden layers.
  • Space Center:
  • Enable flip.
  • Live preview of editing the left margin editing.
  • Bug fixed in Space Center when using the beam.
  • Space center size is a combo box.
  • Bug fixed in window order, when double clicking in space center.
  • Add in-between values when beam is active in space center.
  • Scripting:
  • Bug fixed in setting x, y values in guides.
  • Support for adding inspector window panes and toolbar items in both a font window as a glyph window with: inspectorWindowWillShowDescriptions, glyphWindowWillShowToolbarItems and fontWindowWillShowToolbarItems event notifications.
  • Bug fixed in glyph.isCompatible(otherGlyph) when comparing components.
  • ExtensionBundle has a new bundle.html attribute, must be a bool, indicating if the bundle has html help files.
  • Adding font.showUI() only if the font has no UI yet.
  • Improved glyph.center() to work better with layers.
  • Imporved getting bcpIn and bcpOut in bPoints with open contours.
  • Adding OpenSCriptWindow(path.py) to mojo.UI
  • Adding obj.getRepresentation to robofab glyph and font wrapper.
  • Bug fixed in getting extension icon.
  • Improved support for font.save() when no path is given and font has no path.
  • Remove closed documents from AllFonts.
  • Bug fixed in rounding kerning.
  • Bug fixed in diving a glyph.
  • Bug fixed in copying orphan glyphs.
  • Add space after # when comment lines of code.
  • Improved support for code completions.
  • mojo.CurrentFontWindow().setGlyphNamesAsSet(glyphNames)
  • font.setLayerDisplay has an option for "all".
  • mojo.UI.getTestInstalledFonts() and mojo.UI.testDeinstallFont(font)
  • Script file browers will hide empty .py files in the menu and support for alias.
  • Bug fixed in font.copy().
  • Adding font.info.udpate(otherInfoObject)
  • Support for subclassing internal font objects.
  • Improve messages while installing, de-installing extensions (with version numbers).
  • Adding currentFontOnly option in getting windows through mojo CurrentGlyphWindow(currentFontOnly=True) works for all windows in mojo.
  • Make it easier to add a UI to an existing font without a UI
  • Add mutatorMath + mutatorMath.designSpace icon :)
  • Inspector:
  • Visual support for multiple unicodes in inspector window.
  • Bug fixed in setting the transform matrix for components.
  • Transform pane accepts enter to apply a transformation.
  • Support for transform location while flipping.
  • Add a nice warning when assigning an unicode that already exists.
  • Preferences:
  • Adding agl-file path, for custom unicode to glyph name mapping. (agl: Adobe Glyph List)
  • Check if short key path exists.
  • Option to toggle __future__.division while executing a script.
  • Color preferences for preview fill and preview background
  • Improved support for sorting extensions.
  • Add hot key to toggle measurement info
  • Bug fixed: a rounding error while compiling a ttf.
  • Imporved test install.
  • Search Box in Info Sheet.
  • Support when users have installed vfb2ufo in /usr/local/bin.
  • Update the embedded FDK.
  • Bug fixing while generating an unsaved font.
  • Improved curve conversion from cubic to quadractic curves.
  • Support for curve conversion from quadratic to cubic with the same logic.
  • Improved support for test install when there is no UI.
  • Update color marks in the rule editor with the current colors in the font.
  • Hold shift down while launching will open RoboFont without any extensions installed
  • UI uniformity on list colors cells.

New in RoboFont 1.5.1 Build 1310082304 (May 12, 2014)

  • Fixed Preferences window bug for 10.6 users

New in RoboFont 1.5 (May 12, 2014)

  • Font Overview:
  • Added support for deletion of multiple Smart Sets.
  • Added option to choose a mark color when generating new glyphs.
  • Added support for selection of multiple Smart Sets.
  • Added support for navigation with arrow keys in Smart Sets.
  • New code editor for OpenType features.
  • Glyph Editor:
  • Fixed direction of keys for layer up/down. :)
  • Added Ctlr + Cmd in the Components contextual menu, to copy the base glyph metrics.
  • Added display option 'Show Segment index'.
  • 'Remove Overlap' works faster.
  • Separated display option 'Guides' from 'Rulers'.
  • Fixed bug in beam factory when two intersections are on top of each other.
  • Added 'Show Image Info'.
  • Glyphs with more than 5 unicodes are renamed to uXXXXX.
  • 'Add Components' now accepts both unicode value and glyph name when searching for glyphs.
  • Better support for selection of multiple tangent points.
  • Added Ctrl + Cmd + A to select all components.
  • Fixed bug in joining contours with line and curve segment.
  • Fixed bug in exporting smart list to groups.
  • Improved sliders for image colors.
  • Set components as selected after decomposing.
  • Added 'Lock Image' to image contextual menu.
  • Join a contour with another contour (only when two end/start points are selected).
  • Alt + click on a straight line to generate BCPs with the rule of thirds.
  • Set points as selected after slicing.
  • Space Center:
  • Same default settings as a glyph view for jumping to the next glyphs.
  • Added hot key to toggle Space Matrix.
  • Excluded PUA from converting back to unicode characters in the input field.
  • Improved esc menu.
  • Handling Space Window titles similarly as other windows.
  • Fixed small bug with drag-and-drop.
  • Added setBeam(pos) and beam() methods.
  • Added flexible cell widths.
  • Added hot keys to toggle kerning.
  • Inspector:
  • Added support for drag-and-drop reordering of contours.
  • Fixed bug with setting a note in a glyph.
  • Improved layer pane: drag-and-drop and reordering.
  • Generating:
  • Better output for ttf compiler.
  • Faster generation for all formats.
  • Fixed bug in ttf splines. (it's possible to have a contour without any on curves, doh)
  • Fixed bug with double points in ttf compiler.
  • Preferences:
  • Added 'Reveal Python Script folder' button to the Preferences > Python pane.
  • New default colors and options for the new code editor.
  • Allow any kind of short cut to be assigned to a script.
  • Scripting:
  • Added a selected attribute to Robofab bPoints.
  • Added glyph.removeSelection to RoboFab.
  • Allowed ExtensionBundle to save an extension or make one from scratch.
  • New Code Editor, with new syntax highlighting.
  • New mouse and keyboard shortcuts in a code editor:
  • select number —> Cmd + drag
  • select tuple —> Cmd + drag
  • select number —> Cmd + arrow up/down
  • select bool (True, False) + Cmd + click
  • select bool (True, False) + Cmd + arrow up/down
  • Remember settings for 'Show Line Numbers'.
  • Fixed bug in exporting preferences in mojo.UI.
  • Improved UI for Extension Builder.
  • Support for custom event send
  • Set and get a transform matrix from a Robofab component.
  • Check if the coding font used in the scripting window is installed.
  • Added AllSpaceCenterWindows and CurrentSpaceCenterWindow.
  • Added support for import/export preferences to/from a dict.
  • Added proper shortcuts for indenting and dedenting code.
  • Fixed bug in Robofab's rotate, skew and offset attributes.
  • Added support for applying transformation matrixes to an image object.
  • Publish event when an extension is built.
  • Added support for inserting BPoints in a contour.
  • Added support for custom events.
  • Fixed bug in robofab.contour.breakContour(point).
  • Added support for glyph, component and selection colors in mojo.glyphPreview.
  • mojo.UI.multiLineView returns a proper Robofab glyph.
  • Added SpaceCenterToPDF and GlyphWindowToPDF.
  • Improved smart sets in mojo.UI
  • Fixed typos!
  • 'Update found' bugs should be completely fixed. :)
  • Massively improved memory managment.
  • Added support for robofont://path and robofont-script://path.py.
  • Fixed bug with saving images.
  • Added support for opening .ttc TrueTypeCollection files.

New in RoboFont 1.4 Build 1301142150 (May 10, 2013)

  • Font Overview:
  • bug fixed in Smart Set to group convertion
  • don't mark template glyphs
  • bug fixed in setting glyph order by dragging glyphs
  • bug fixed in removing glyphs and template glyphs
  • building components with anchors
  • adding anchor syntax Agrave=A+grave@top
  • search for markcolor
  • smart set binders
  • bug fixed in include(myFile.fea)
  • bug fixed in Smart Set to group convertion
  • Glyph Editor:
  • bug fixed in remove overlap
  • bug fixed in slicing glyphs
  • correctly perform layer up, layer down hot key
  • swap complete glyph to layer when there is no selection
  • round componenents after decomposing to the value set in the preferences
  • bug fixed in beam glyphs
  • bug fixed in jump to layer pop up
  • page up, page down jump through component selection
  • page begin, page end jump through anchor selection
  • shift constrain in set scale image
  • bug fixed in flip horizontal and vertical
  • anchors will draw coordinates when show point coordinates is active
  • enter on anchor selection
  • transform position is written back to the defaults
  • bug fixed in slicing glyphs
  • correctly perform layer up, layer down hot key
  • swap complete glyph to layer when there is no selection
  • round componenents after decomposing to the value set in the preferences
  • adding anchor indexes and component indexes
  • fixing contrains bugs
  • better undo support for global guides
  • improving break contour
  • Generating:
  • optimizing pfa compiler
  • check contour direction while generating ttf or otf from different sources
  • Preferences:
  • adding Close Contour to hot keys
  • adding Space Center Input Selection Color
  • Scripting:
  • support for opening binary fonts without UI and scripting
  • clear output before script run
  • robofab kerning is not utterable
  • adding stemHist to mojo.compile
  • backup code if code makes RoboFont crash :)
  • debug window is accessible through mojo
  • support for isCompatible with nice error report
  • support for tabs in scripting window
  • OpenFont(… showUI=False) can be opened in a glyph window or space center
  • font.templateSelection in robofab
  • adding hasOverlap() to robofab (both in glyph and contour object)
  • font.copy(showUI=False/True) to make a copy with or without UI
  • adding QTKit
  • bug fixes in cocoa drawing tools
  • setGlyphViewScale and centerGlyphInView for a glyph window object
  • open the multiline view as vanilla like object
  • support for glyph math and boolean operation with | union, % difference, & intersection and xor
  • support for tracking in Space Center aSpaceCenter.setTracking(10)
  • new event callbacks in Space Center spaceCenterDraw, spaceCenterKeyDown, spaceCenterKeyUp
  • adding GlyphWindowToPDF and SpaceCenterToPDF to mojo.UI
  • Metrics:
  • optimizing RTL kerning
  • esc in space center input will cancel setting metrics
  • make sure the space center input box is continuous
  • fixing space center large linespace frame size
  • don’t live update space center on glyph change when there are lots of characters to display
  • fix an old scroll to selection bug in Space Center
  • let users know if an UFO is unsaved when switching to an other app (juming RoboFont icon in the dock)
  • all number edit values have support for up and down arrows
  • better support for single window mode with additional glyph windows and current glyph
  • pop up a warning if RoboFont is stored in a folder containing space characters
  • send event when an external change has happened
  • adding view short keys for font window (window ⇢ view)
  • better support in detecting quadratic / cubic glyphs
  • bug fixed in external updates and save operation
  • optimizing external changes (like when a UFO is stored in a dropbox folder and changed when RoboFont is active)
  • toolbar are more flexible and easier to change
  • remove empty contours during loading