Version History

Version 4.5b (build 2405201619)

  • Fixing a pygment api change.
  • Print out the message that a banner is showing, just in case banners can be off system wide for RoboFont.
  • Fix renameGlyph and restore the glyph order correctly.
  • Test if the glyph is not `None before trying to get layer and font attributes.
  • Add RoboFont control PathPopUp as ezui item.
  • Improve doc string for MenuBuilder.
  • Decrease Spacecenter window minimum height.
  • Improve preserving smooth flag while transforming.
  • Use guideline color to draw intersections.
  • Add fallback margin intersection with beam for orphan glyphs.
  • fix typo: leftMarginIntersection with ‘t’.
  • Improve smoothness while deleting points.
  • Update glyph editor when italicSlantOffset is changed.
  • Improve documention for MenuBuilder.

Version 4.5b (build 2405081434)

  • Force download of cloud storage files while opening.
  • Ignore extension root folder while exporting preferences.
  • Add support for animated zoom: glyphViewAnimatedZoom. Hold shift for speed zoom.
  • Improve image scale sheet.
  • Improve loading extension when something is not valid.
  • Improve SpaceCenter api tracking and line height with the corresponding menu sliders.

Version 4.5b (build 2404151433)

  • Only add new off curves while dragging a newly selected contour.
  • Store template status of glyph while getting and setting data represenations.
  • Fix warning text while saving extension bundles.
  • Add guideline while showing the contexual menu.
  • Fix bug in RFont when the path is not the absolute path.
  • Convert hard returns to \n in space center.
  • Improve label display with many points.

Version 4.5b (build 2403181207)

  • Fix reading lib keys from extensionbundle.

Version 4.5b (build 2403151856)

  • Use the new Extension bundle api !!!
  • Upgrade Extension Builder.
  • Support mark color list None.
  • Add support for additional visual bounds, in a glypheditor.
  • Explictly embed openstype_plist
  • Improve preference window changed notifications.

Version 4.5b (build 2402281726)

  • Fix modal windows blocking pip tools.

Version 4.5b (build 2402272221)

  • Update internal packages.

Version 4.5b (build 2402232220)

  • Only toggle the inspector when there is main window and in single window mode.
  • Fix point identifiers when breaking contours

Version 4.5b (build 2402202141)

  • Fixing ezui

Version 4.5b (build 2402201729)

  • python 3.12!!!!
  • Fixing missing import on older macOS.
  • Fixing dark mode on older macOS.
  • Move import of external frame after the app is launched.

Version 4.5b (build 2402181614)

  • Fix missing identifiers while joining contours.
  • If an anchor has no name, set it to None.
  • Improve inspector acnhor and components lists.
  • Adding glyphViewSnaptoFontInfoMetrics preference to set a magnetic distance to snap to font metrics.

Version 4.5b (build 2402121723)

  • Fix the order of layer up/down in SWM.
  • Improve point smoothness while editing the contour.
  • Improve preserve curves for tiny changes.
  • Add small 10° constrain for 0° and 90° shift drags.
  • Un smooth both points on contour join.

Version 4.5b (build 2401252039)

  • Improve inspector glyph unicodes input.
  • Add support for alt to invert skew and rotate in the Inspector transform pane.
  • Line straightness indicator test on line line to toggle of the smooth flag.
  • Apply defaultBackgroundLayerColor also on “public.background” layer names.
  • Test while calling RFont if the object is not already an RFont.
  • Improve set short cuts for multiple alternate menu items.
  • Fix issue while closing the preference editor.
  • Set modifierMask to 0 for menu items which dont have a modifier key.
  • Improve support for shift draggin offcurve points.
  • Add support for Test Install All.

Version 4.5b (build 2401121414)

  • Adding tool.getGlyphEditor().
  • Add ScriptRunner to
  • Add loadBundle() to the extension bundle.
  • Update ezui and merz.

Version 4.5b (build 2401051907)

  • Adding scriptingWindowWill/DidOpen/Close to subscriber.
  • Improve selection update with off curves only.
  • Update space center after a glyph is deleted.
  • Removing some things that shouldn’t have been committed. Sorry!
  • Merge branch ‘release’ of into release
  • When a subscription is registered after Subscribers have been instantiated, active the new subscriptions when needed.
  • Adding scriptingWindowWillOpen, scriptingWindowDidOpen and scriptingWindowWillClose.
  • Add destroyRepresentation and destroyAllRepresentations to RF fontParts objects.
  • Fix in MenuBuilder: a title should not be required.
  • Improve support for generating compatible OTF binaries.
  • Improve deleting points and preserve curve logic.
  • Adding documentationURL to the extension spec.
  • Improve point smoothness when deleting line line segment.
  • Fix issue where deleting a point get snapped to the oncurve handle.
  • Fix bug when removing very tiny segments.
  • Fix bug in space center input matrix.

Version 4.5b (build 2312131731)

  • Add -nS when turnOnSubroutinization is False
  • Update ufoOperator

Version 4.5b (build 2312111946)

  • Improve support for off curves and shift dragging over the italic angle.
  • Improve testing if a RFont has already an interface.
  • Always reverse iteratate while removing indexes from a list.
  • Change license url to RF4.
  • Test if the angleBounds or bounds are not None while drawing glyph metrics.
  • Move color list building to the start up of RoboFont.
  • Update merz and ezui.

Version 4.5b (build 2311161753)

  • Improve glyph list inspector panes.
  • Wrap apprearances changed into a try and execpt.
  • fix glyphClipViewBackgroundFillColor typo
  • The subscriber object could be None after closing the window.

Version 4.5b (build 2311031546)

  • Reverse export button in glyph inspector
  • Set background of clip view to the preview background color.
  • Add glyphEditor.activateGlyphEditorAtIndex(index).
  • Update GNFUL list
  • Use the new NSAutosaveElsewhereOperation to check for autosave operations.
  • Fix bug while removing a empty glyph from a layer.
  • Remove trailing commas in preference editor json.
  • Just check if the collection is not None.
  • Separate get colors from default and other space center defaults
  • Add support for glyph.markColor being a color name from the preferences.
  • Add globalSyncGlyphlayersSettings to the preferences.
  • Disable sorting for color well lists
  • Jumping to 4.5
  • Add readSmartSets in mojo.smartSet
  • Use bash -c command to install and write RoboFont shell script to disk.
  • Clear update changes on scripting window reload.
  • Fix point reordering while selection overlapping points.

Version 4.4b (build 2309261611)

  • Improve tool ordering.
  • External script reports back to the external caller.
  • Improve multiline view when font info attributes are set to zero.
  • Add extensionsDir to the preference export.
  • Reverse point and contour selection.

Version 4.4b (build 2309182154)

  • Add suport for tooltips in the script header.
  • Clear index layer caches on preference changes.
  • Fix wrong attribute name in font compiler.
  • Enable show guidelines when adding a guideline.
  • Only show guidelines in layers when show guidelines is enabled.
  • Improve fontInfoDidChangeValue subscriber info object.
  • Improve preference capitalized labels.
  • Remove NewLineGlyph and EmptyGlyph from mojo.UI.
  • Add glyph image bounds to the artboard edge calculations.
  • Check if incomming glyph records are defcon objects.

Version 4.4b (build 2308291143)

  • Improve storing menu item callbacks.
  • Add warning when setting the default layer when ‘public.default’ is present.
  • Fix bug in installing extensions with start up scripts.
  • Fix bug in resolving extension version requirements.

Version 4.4b (build 2308281650)

  • Upgrade GNFUL list.
  • Include all std lib modules.

Version 4.4b (build 2308262242)

  • Fix storing “keep Visible” in the defaults for the output window.
  • Fix launch error.

Version 4.4b (build 2308252250)

  • Improve changing unicode dialog text.
  • Fix loading smart sets.
  • Re-install —> Uninstall for installing existing extension.
  • Adding Timer, timerDecorator, timerFunction, profile, profileDecorator debug tools to
  • Fix a ghost point bug on undo with a slice tool.
  • Improve images in layers by not drawing the image info.
  • Add support in subscriber for glyphEditorDidChangeDisplaySettings.
  • Add tiff2png to
  • Support for setGlyphRecords and getGlyphRecords in a mojo.UI.MultiLineView.
  • Adding missing arguments for site.addsitedir and site.addpackage, important for pip.
  • Fix None mark color.
  • Allow copy paste of filenames.
  • Unsmooth on curve point while deleting off curve.

Version 4.4b (build 2308141425)

  • Improve toolbar items with menu presentations.
  • Clearify preference label.
  • Improve permission while installing the shell script.
  • Exclude numpy, issue solved upstream in fontfeatures.
  • Fixing command line install typo.

Version 4.4b (build 2307142107)

  • Embed numpy.

Version 4.4b (build 2307141637)

  • Add preference defaultLayerName for new documents.
  • Send spaceCenter key up when there is no glyph selection.
  • Change Can Hide to Keep Visible in the output window.
  • Improve commandline install succes message.
  • Add support for multi group name selection in a group sheet.
  • Add sort reset and support single sort option in the sort sheet.
  • Change defaults for cell metrics color in dark mode.
  • Add fontFeatures as dependency.
  • Change order in ruleview sorting options.
  • Improve type2charstring factory with an off curves only quad curve.
  • Add support for inspectorTransformPaneAllowExternalTransformation.
  • Add double click preference: glyphViewAllowDoubleClickToSwitchLayers.
  • Improve copyToPasteboard doc string.
  • Add deprecated pref color.
  • Remove capital on stemhist.
  • In SWM check if there is glyph before handling layer set changes.
  • Raise the time out limit for the pip installer.

Version 4.4b (build 2305191108)

  • Improve coloring quadratic off curves points.
  • Reuse the font when a string is added to the Output window.
  • Set SF Mono or a fixed pitch in input text editors.
  • Make guidelines longer, a hypothetical lenght of 100000 should be enough.
  • Improve snapping to the first rounding value multiple by pre rounding on arrow keys.
  • Revert a change to snap points the first multiple of the rounding value setting.
  • improve mojo.compile.stemhist
  • Fix copy existing image.
  • Improve NoneTypeColorWell.
  • Passing on subscriber build arguments during init.
  • Adding GlyphLineView to ezui.
  • Fire nstimers in common run loop mode instead of the default mode.
  • Improve image selection with enabling lock image.
  • Set the default image sharpenss to 0.
  • Start an extrenal changes observer for a shallow document.
  • Set a smaller min size for the inspector window.
  • Improve coalescer when notification comes in very fast.
  • Add short cuts for default tools.

Version 4.4b (build 2304252218)

  • Fix bug in font compiler.

Version 4.4b (build 2304251627)

  • Update checkboxes in the transformPane when its been set externally.
  • Fix bug in subscriber when subscribing adjunct objects.
  • Improve calculating hmtx table after a curve conversion.
  • Fix a selection path reset on setting left margin.
  • use from objc import super !!

Version 4.4b (build 2304212357)

  • Store image scale settings in the defaults.
  • Sending extra arguments to build in a windowController.
  • Update internal packages.

Version 4.4b (build 2304180924)

  • Update internal packages.

Version 4.4b (build 2304161256)

  • Improve command line interface.

Version 4.4b (build 2304151205)

  • Move remote scripting to applescript!

Version 4.4b (build 2304131642)

  • Adding * GlyphSequence for ezui.
  • Add support for glyph.copyToPasteboard and font/layer.copyGlyphsToPasteboard.

Version 4.4b (build 2304101811)

  • Dont check for trailing points in an empty contour.
  • Fixing major lag in using a CodeEditor in any window.
  • Change help image for extension preference pane.
  • Use the full suffix to populate the space center suffix menu.

Version 4.4b (build 2304041121)

  • Improve autohint (ps and ttf) when fontmake is set as compiler.
  • Silly me, must be the most left control point.
  • Add RoboFont version and build to the log each time it launches.

Version 4.4b (build 2304031522)

  • Remove dialogKit and feaTools2.
  • Add mojo.ezuiViews and load it automically, a place where all RF ezui views are register: GlyphPreview, CodeEditor.
  • Fix 14 years old bug: hmtx must use miny controlPointBounds value.
  • Improve dragging lines.
  • Fix missing image factory, used in spaceCenter.
  • Only round to the next integer on arrow keys when there is only a single point in the selection.
  • Remove a selection notificaiton on reset, when there was nothing to reset.
  • ufo2ft improved lose languagesystem…
  • Check if there is an active event in the event manager.
  • Update GNFUL list.
  • Log when the extension defaults are unable to write to disk.
  • Improve linenumber view.
  • Improve guideline layer caching.
  • Fix delete all glyphs with component references.
  • Move dragging lines while transforming.
  • Remove deprecated glyph.index.

Version 4.4b (build 2303080915)

  • Fix issue with the doodle.OutlineInformation factor on a glyph object.
  • Register glyphPreview for usage in ezui.
  • Rename OpenScriptWindow to OpenScriptingWindow.
  • Rename glyphViewOncurvePointsSize to glyphViewOnCurvePointsSize (cap C).
  • Update ezui!!!

Version 4.4b (build 2303061747)

  • Add eventTool.shouldSendNotifications to hold notifications for other observers.
  • Add support for CurrentScriptingWindow(), AllScriptingWindows() + scriptingWindow.insertText(text) + scriptingWindow.setSelection((location, length)).
  • Support alt delete for multiple off curve points to snap to their on curve point.
  • Move reading ufoLib validation preferences to the finish launch notification, fixes issues on pre macOS 16.
  • Send guidelines changed notifications during undo/redo.
  • Fixing undo/redo on global guidelines.
  • Rename guideline menu items to Local and Global.
  • Round differently with arrow keys: round first to the nearest multiplier.
  • Remove tiny rounding errors on the horizontal and vertical coordindates while transforming.
  • Add support for single guideline.locked.
  • Round on curve when moving only the off curve.
  • Fix pipTools.
  • Fixing update margins after info changed.
  • Improve query reloads.
  • Improve selection color preferences.
  • Use anchorTextColor for the name of the anchor if no color is set in anchor.color.
  • Add support for mojo.UI.OpenInspectorWindow.
  • Remove cmd . cancel short cut as it does crash the app.
  • ezui fixes, thanks Tal!

Version 4.4b (build 2302171541)

  • Check if an oposite handle has changed before rounding it.
  • Improve start point while joining contour with the drawing tool.
  • Add deprecated warning when using old convertions tools.
  • Add support for “Save All UFO’s” alternate menu item.
  • Preserve selection on setStartPoint.
  • Check if there is still a color list selection.
  • Add support for shouldAddSeparatorItem while building a menu with MenuBuilder.
  • Force update UI after outputView.clear().
  • Show dragged lines while in transform mode.
  • Improve auto doc for fontParts overwrites.
  • Do not add the origin point in a pasted PDF data.
  • Improve subsriber error message when overwritting an subscriber event.
  • Do not flag the glyph as loading while normalizing incoming data, trailing off curves are lost.
  • Send message first then create a thread.
  • Update GNFUL list.
  • Update overview when the window becomes active

Version 4.4b (build 2301191706)

  • Small esthetic change in font window update button.
  • Improve error message when unicode is not valid.
  • Improve default dark color settings and add debugger colors.
  • Always make a discord thread while postin betas.

Version 4.4b (build 2301171357)

  • Force embed the charset_normalizer package.
  • Improve start up model dialgo text.

Version 4.4b (build 2301171157)

  • Call the notification before initializing all default inspector panes.
  • Force scroll to the end of an output window.
  • Add force appearance support in prefs.
  • Fix glyph view stored italicAngle cannot be None.
  • Add appearanceColorKey to mojo.UI.
  • Remove some collectionView redraws in multiwindow mode.
  • Use otRound everywhere while compiling binaries.
  • Add notification + subscriber support when the app appearance changed.
  • Implement dark mode colors and auto switching.
  • Set glyphOrder after layer.renameGlyph to update the collectionview.
  • Adding htmlView.getWKWebView() to get the webkit webview.
  • Dont allow circular references and send warning when trying todo so.
  • Improve speed of refreshing a point inspector list.
  • Remove shadow in statusbar warning.
  • Check circular component references while setting the baseglyph in a component.

Version 4.4b (build 2212161543)

  • Remove numpy as embedded package. Gives issues as there is no universal2 wheel.
  • Improve font toolbar Mark and Layers buttons.
  • Fix feature editor on ventura in SWM.
  • Improve UI for sort sheet.
  • Aesthetic UI change in the preference misc tab.
  • Check if the document has a collection view while removing a glyph.
  • Improve control color for pane toggle buttons.
  • Set image color when there are no other filters active.
  • Make sure everything is unsubscribed when a glyph object is removed (anchor, component, …)
  • Test if a glyph has a layer before getting the layer.color.
  • Show image when image is dropped or pasted in the glyph view.
  • Fix SaveQuerySheet on ventura.
  • Improve mojo.subscriber register functions docstrings.
  • Check if the smart list selection has a query to reset on font changed.

Version 4.4b (build 2211231439)

  • Jump to python3.9!
  • Draw line number background color while drawing the marks.
  • Adding mojo.pipTools
  • Fallback to font.asDefcon().dirty for font.hasChanged() when no document is set.
  • Fix reselection of contour after a break.
  • Fix .asFontParts() for orphan EmptyGlyph objects.
  • If guideline angle is None get it from the xy combo.
  • Anchor names cannot be empty but None.
  • Improve glyhp list inspector panes by not auto expanding while mouse down.
  • Fix removing layers when the layer is the active one.
  • Improve storing smart sets with multiple documents are open.
  • Set the default stroke color for tangent point the same as smooth stroke color.
  • Fix [NSEvent characters] issue.
  • Embedding numpy
  • Remove the deprecated plistlib Data check.
  • Adding context manager support for mojo.UI.ProgressBar
  • Catch pdfminer error while pasting empty pdf data.
  • Rounding coordinates when adding offcurve points.
  • Jump to pdfminer.six
  • Jump to 4.4
  • Improve setting glyph from editor line view.
  • Improve setting glyphs from lineview.
  • Apply position scale on public layers.

Version 4.3b (build 2210191007)

  • Fix bug in getting layer display options “all” must not be an empty string.
  • Deprecate Guides from glyph zoom settings

Version 4.3b (build 2210172209)

  • Fix break contour by reseting the selection.
  • Force fileType from generate accesory View.

Version 4.3b (build 2210130836)

  • Disable release mode checkbox when generate fea with fontTools is True.
  • Presist the collapsed state of the inspector contour list.
  • Improve displaying italic coordinates when there is an italic angle.
  • Dont try to recover a glyph from disk with a KeyError (glyph does not exists).
  • fix ttfautohint in fontmake by providing a string with options.
  • Add asFontParts asDefcon for non existing space center glyphs.
  • FDK and fontMake is always embedded, so dont validate the generate menu item.

Version 4.3b (build 2210101451)

  • In a tab view unselected views have no view.window().
  • When calling the fdk tools seperatly use the EmbeddedFDK tools.
  • 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.
  • Improve removing default layer.
  • Add getGlyphViewScale in SWM.
  • Improve fontParts info, groups, features and kerning getting the parent font object.
  • Add support ctrl + alt + delete to completly remove a glyph from a UFO.
  • Adding Jump To Layer with preference hot key.

Version 4.3b (build 2209080916)

  • Remove local FDK support.
  • Remove warning when the app file path contains a space.
  • Update GlyphWindowToPDF with support for layers and merz.
  • Improve Number Edit text by converting the int/float to a string without thousands separator.
  • Round new selection after deleting points.
  • Add OpenFonts into mojo.roboFont.
  • Improve transform pane in SWM.
  • Add Omit Mac Names in RoboFont tab in the font info sheet.
  • Fix typo in checking layer.getDisplayOption()

Version 4.3b (build 2209011519)

  • Fix checking last menu item in a list.

Version 4.3b (build)

  • Improve setting shortcut with alternate menu items.
  • Missed a deprecated LooseVersion.
  • Fix typo in spaceCenter.setShowLayers(..)
  • Fix Transform Again in SWM.
  • Add custom error message and error link.

Version 4.3b (build 2208251400)

  • Improve transform pane with selection when the glyph editor is not the first responder.
  • Improve joining contours by un-smooth the joining on curve points.
  • Fix append orphan glyph with image (like copy paste).
  • Improve opening empty glyphs with an exuberant upm.
  • Reload scripts with the same document and so the same undo manager.
  • Use the latest py2app (building issues seems to be resolved upstream).
  • Dont include all std pacakges, py2app seems to be improved on embeddeding std lib.
  • If a font has no path, do not try to read the glyph from disk on closed file system.
  • Switch to packaging.Version.
  • Deprecate SpaceCenterToPDF and GlyphWindowToPDF.
  • Adding unsavedGlyphs into account while testing external changes.
  • Add tickmarks and negative values for tracking and lineheight in a spacecenter.
  • Improve pasting pdf data.
  • Raise a traceback when a script tries to remove the default layer.
  • Add glyphViewIgnoreFirstMouseDown preference to ignore the first
  • While removing last point of open contour also remove all offcurves in a quad curve and unsmooth the last oncurve.
  • Always set point coordinates even is they are the same, a convertion to an int could have happend.
  • Set a space center input as first responder when opening a space center.
  • Move to 10.12 as minimum requirement.
  • Improve subscriber docs.
  • Parse subscriber documentation with tickmarks.
  • Improve closing empyt py script documents.
  • Test if the glyph object has a parent layer/font in the inspector panes.
  • Improve visualisation of component path on removing base glyph.
  • Do not embed tkinter.
  • Remove an old aqua osX requirement.
  • Improve smart set cell UI.
  • Remove duplicates when creating a query based on glyphNames.
  • Improve UI of Changing unicode to auto naming sheet.
  • Improve snapping anchor and components from the transform pane.
  • Add support for RFont.fontWindow() returning the font window.
  • Add support for OpenFonts.
  • Add support to omitMacNames.
  • Fix toggling on/off blues with a preference shortcut.
  • Support shift + alt click on line to convert to a quadratic segment.
  • Fix About Window bug when afdko is not the compilertool
  • Use subprocess in a with statement so it auto closes the stdout and stderr file objects.
  • Fix dragging line when jumping to other glyphs while dragging.

Version 4.3b (build 2206031749)

  • Improve mojo.UI.OpenScriptWindow to open new documents.
  • Preserve first points while curve converting segments/contours.
  • Fix converting selected on-curve-less quad curves.
  • Display dragging lines with the italic angle.
  • Add a dragging constrain on the italic angle.
  • Improve anchor and guidelines visualisation with an italic angle.
  • Disable dragging margins outside the body of the letter.
  • Improve shell help text inside a preference window.
  • Only close a glyph window on removeGlyph when its shows the actuall removed glyph.
  • raise exception if setMaxAmountOfVisibleTools input is smaller than 1.
  • Warn when incorrect display settings are set.
  • Fix bug when the compile tools is not set to afdko.
  • Dont add quad off curve when command key is down and register a undo change when adding a quad off curve.
  • Move down the selection layer, fe transform will be drawn on top of a selection.

Version 4.3b (build 2205062222)

  • Add ufoz as supported file type with OpenFont.
  • Post markColor changed notification when setting serialized data into a glyph.
  • Use the updated defcon FuzzyNumber with improved equal.
  • Improve jump to glyph by splitting the search by all possible glyph name separators.
  • Disallow opening scripts in tabs when opening from scripting menu.
  • Add Reset Beam to space center settings menu.
  • Update internal GNFUL list.
  • Improve robofont shell command: print out the error messsage when the app is not found.
  • Fix subscriber bug in retreiving the glyph object with no glyph editor open.
  • Fix pasting glyph with images into orphan glyphs.
  • Dont open an anchorPopover on double click when no anchor is selected.

Version 4.3b (build 2204280841)

  • Push RoboFont version to 4.3
  • Add support for glyphEditorWillShowPreview glyphEditorWillHidePreview in subscriber.
  • Improve OK button on point label sheet.
  • Improve menu title: Convert to Cubic without ‘Contour’.
  • setContentGlyph can have an extra attr
  • Try to fix the NOtice
  • Fix bug in bezierTools.isCollinear + add tests
  • Fixing compare smartSets

Version 4.2b (build 2204141839)

  • Improve displaying curve length with italic angle and slanted coordinates
  • Add progress window while syncing glyph layers
  • Add modal dialog for syncing all glyphs
  • Add support for selected SmartSet and add with SmartSetsEditor()

Version 4.2b (build 2204081639)

  • Improve syncing with template glyphs.
  • Improve stamping with closed file systems.
  • Fix popover issue in ExternalChangesWindow.
  • Add glyph.readingErrors() to extract reading errors.
  • Set kerning after the displayOptions in a multiscrolllineview
  • Improve drop of any nsimage related data into a glyph view, support for drop with universal control from ipad ;)
  • add support for multiple dragging types for a canvas

Version 4.2b (build 2203301000)

  • Fix test with new lxml
  • Try to remove the custom wheels
  • remove unused import
  • missing attribute name

Version 4.2b (build 2203282154)

  • Font could be None with an orphan glyph
  • Fix missing zoom argument

Version 4.2b (build 2203272231)

  • Fix generating bug

Version 4.2b (build 2203231446)

  • Add slider values in space center menu + alt to round these values
  • Improve copy paste with unicode values
  • Improve setup to catch GNFUL updates
  • Change order of public preview layer (put it on top of the default preview)
  • Add Show Start point display option

Version 4.2b (build 2203161715)

  • Re-notarized RoboFont

Version 4.2b (build 2203161617)

  • Fix app crashing bug

Version 4.2b (build 2203161155)

  • Improve layer glyph syncing by splitting it up by attribute
  • Add sync all button
  • Fix removing last layer
  • Fix removing default layer
  • Touch markcolor while setting glyph data
  • Always copy the default layer as last, dont add layers for pasted glyph copies
  • Improve measurement display
  • Show first point vs starting point direction.
  • Always set show alpha ina colorpanel to true
  • Select contour on undo while drawing.

Version 4.2b (build 2203081004)

  • Use the max of info.capHeight glyph.height to set the bitmap ctx frame
  • Dont add selected point and achor layers for duplicated point coordinates.
  • Improve doc strings.
  • Add support to allow alt drag & drop directly in a font overview.
  • Add docs to clearify when the method is been called.
  • Add support for alt cmd e to popup the fontwindow in single window mode.
  • Use the layer of the glyph object while setting the content glyph in a glyph window
  • Layered glyph layers should listen to image cleared/
  • Rename guides to guidelines.

Version 4.2b (build 2202191935)

  • Set glyph and frame in public layers preview and middleground
  • Add glyph in subscriber contextual menu notification.
  • Add glyph in right mouse down in font overview contextual notification
  • Anchors validation should only remove control characters.

Version 4.2b (build 2202182203)

  • Add disableSubscriberEvents with statement to disable all subscribers
  • Allow triple click to jump to a component with alt down.
  • Delete all selected smart item with the action menu.
  • Improve color cell double click in layer manager.
  • Improve validating pref controls
  • Enable the correct blue zone layer according the display settings
  • lock pyobjc to 8.1
  • Improve space center input changes with field editor.
  • Allow only to open a single layer popover
  • Measerment info tabs must be relative to the point size
  • Set layer name in inspector window title
  • getLayerName with an L

Version 4.2b (build 2202061750)

  • 10.13 bug fixes
  • Set selection dirty after left margin change.
  • Check if there is glyph name before trying to find a kerning pair
  • Fix renaming methods and initiate _lastJumpGlyphName
  • Always set colors and symbols in a glyph layer

Version 4.2b (build 2202032216)

  • Disable undo when setting markcolor for a lot of glyphs, pref key markColorUndoMaxGlyphCount.
  • Modify placement of the add rule button.
  • Add hot key for opening the layer manager
  • Fix missing wrong translated pdf pastboard data
  • Move to layer manager to a popover.
  • Check if a subscriber has a defconEvent name name.
  • Move images even if there is no bounds in the synced layer glyphs.

Version 4.2b (build 2201311054)

  • Move Layers icon one up in the toolbar
  • Fix jump to glyph when non default layer is selected in SWM.
  • Fix sync left margin layers

Version 4.2b (build 2201292032)

  • Improve setting glyphs in glyph view with preview key down
  • Fix print to debug window
  • Check low level event names are present in the subscriber dicts while terminating
  • Check file sturcture before sending it to ufonormalizer
  • Fix deprecated BezierDrawingTool -> DrawingTool
  • Improve BuildMenu with support to pick a menu with fe main > Font
  • Add ExtensionBundle.currentBundle() to retreive the ext bundle
  • Improve syncing left margin
  • Check if the layer glyph is a template glyph when swapping default layer
  • Improve line number view
  • Remove layers info pane
  • Move layer inspector pane to font overview layers sheet
  • Add support to tint images in
  • Improve fallback /?@layerName when the layer does not exists
  • Dont set glyph metrics when the value has not changed
  • Add option to sync glyph layers width, markColor and unicode

Version 4.2b (build 2201221924)

  • use custom dmgBuild
  • Dont set sets into a setSublayers_
  • Small preference window UI adjustments on Monterey
  • Dont hold back selection changed notification on mouse pressed
  • Fix dissappearing cells
  • Improve smallGlyphPreviewCell
  • Improve base event tool by adding a didSetup() flag method
  • Update the tool menu with all available tools
  • Fix bug when setting tool in a view without a tool setup
  • Rename BezierDrawingTools to DrawingTools
  • Add support for preview key in SWM while selecting in a font overview
  • Fix bug when moving and closed single point contour
  • fix bug while removing the last segment
  • Improve checking showing point text info based on the amount of points
  • fix bug when ß is uppered to SS
  • fix issue when to much segment length info is shown
  • remove smartSet unique lib keys of no smart set is stored in the UFO
  • store the size of the preference editor window
  • use the “glyphViewCanZoomWhileDragging” preference
  • test if there a /? layerName given

Version 4.2b (build 2112311655)

  • Dont draw off on oncurve indicator on move to point.
  • Fix the apple notarisation issue

Version 4.2b (build 2112302221)

  • Fix and sync Space Center menu with line view settings.
  • update output window according the PyDELiveUpdateOutputView pref
  • Improve setApplyKerning api
  • openInterface should create a new document when the font is set to None
  • Draw background rect differently for linenumber ruler
  • fix bug when pressing cancel in list view and subclass the table view form vanilla
  • Add support to highlight show offcurve on oncurves
  • Set a empty glyph when /?@layername does not exists
  • Check on enter keydown if the selected glyph is not EmptyGlyph or NewLineGlyph
  • add support for /?@background

Version 4.2b (build 2112102222)

  • Simply live updating space center with new pref keys: spaceCenterMaxGlyphCountForSendingEvents for events and spaceCenterMaxGlyphCountForLiveUpdating for editing.
  • Raise the minimum required OS version to 10.11.
  • Add match as option to filter component and anchor names.
  • Fix subscriber terminate bug.

Version 4.2b (build 2112082306)

  • improve rounding of scaling glyph cells
  • Add ! indicator + variable delay times based on glyph count in a space center
  • show font metrics as floats when its a float
  • fix bug in listRegisteredSubscribers

Version 4.2b (build 2112032235)

  • add mojo.subscriber.listRegisteredSubscribers.
  • save test installed fonts to a folder inside the application folder.
  • fixing subscriber bug on closing multi glypheditors.
  • Improve setGlyphs for single window mode.

Version 4.2b (build 2112011726)

  • Show max glyph indicator in a space center
  • Setting the minifaction and magnifaction filter for path layer to trilinear to fix disappearing paths
  • both measurments and selection are defcon objects: dont allow to overwrite them
  • adding test for asDefcon asFontparts
  • Add support for asDefcon for points
  • typo in groups.asFontparts
  • Add “middleground” public layer
  • touch version number
  • Dont draw dragged lines when magic contour selection is on
  • snap guideline angle with shift to a multiple of 45

Version 4.1b (build 2111191909)

  • Improve display of images: dont add filters when nothing is set
  • Update internal smart set data on change
  • Fix bug in mojo.SmartSets
  • Set layernames while setting a font in a space center
  • Improve pasting compounds paths
  • When a windowController is not a subscriber call destroy when the window get closed
  • Improve display of horizontal and vertical measurement info

Version 4.1b (build 2111121636)

  • remove ALL macRoman artifacts
  • Fix bug when removing layered glyph layers
  • Rename guides -> guidelines in main menu
  • Fix duplicated contextual menu entry

Version 4.1b (build 2111111552)

  • Remove all references to useMacRoman
  • Improve subscribing to single defcon notifications for multiple objects

Version 4.1b (build 2111090906)

  • Fix typo turnOnSubroutinization
  • Improve point deleting by not preserving the curve all the time
  • Convert guideline double click sheet to popover
  • Rename/remove lib keys + typos (old Doodle and RF1)
  • Add toolbarstyle in single window mode
  • Remove focus ring in favor of secondary selection color
  • Use macOS alert.setShowsSuppressionButton_
  • Only add anchor layers when showAnchors is flagged true
  • Fix double click selection bug
  • Use the new vanilla addToolbar api
  • Set toolbar style for a font window

Version 4.1b (build 2110262259)

  • mojo.setDefault will validate the incoming value for a key if there is a validator
  • Adding support for space center underline selection, see preference editor: spaceCenterSelectionStyle
  • Improve point deleting with qcurves.
  • Point delete on shift down reverse the presurve curve pref settings
  • Improve cmd handle dragging
  • Improve joining contours while drawing
  • Force load all glyph before using holdChanges with statement
  • Improve importing extensions with shortkeys
  • Use a coalescingDecorator to delay space center updates
  • Remove old reverse glyph compiler parts
  • Improve removeSubscriber a lot!
  • Improve pref editor
  • Add renameInLayers=False argument to font.renameGlyph
  • Improve renameGlyph in the glyphOrder, avoid duplicates
  • Only rename if the oldName exists
  • glyphEditorWantsToolbarItemsEventInfoExtractor does not have a view yet
  • Add support to display the glyph.height as option instead of the unitsPerEm
  • Update doc string for setGlyphViewDisplaySettings

Version 4.1b (build 2110061420)

  • subscriber _terminateInstances needs a list
  • Adding support for the indexesShouldFollowContour preference.

Version 4.1b (build 2110011334)

  • Improve preference error message
  • Use performTextFinderAction instead of performFindPanelAction
  • Adding deprected note in auto docs

Version 4.1b (build 2109222256)

  • Adding support for sort descriptors in a collection view.
  • Rename glyph should also renames the glyph order.
  • RPoints has a changed callback from fontParts
  • Setting different short cut for toggling fontOverview: alt cmd e in single window mode.
  • Improve setting display modes
  • Remove deprecated display modes keys
  • Remove registering old defaults
  • if nothing is set for public.skipExportGlyphs and public.postscriptNames remove the lib key
  • Fix find bar short cuts
  • Remove all referecenses to xHeight Cut —> Cut Off
  • Only apply keydown zoom in/out when cmd is not down
  • Improve measurement info text layers

Version 4.1b (build 2109022240)

  • Make cut off pref accessible in the pref editor
  • Fix adding layers in meaurement info layer

Version 4.1b (build 2109021008)

  • Use a smaller default min zoom level for a glyph editor.
  • If a glyph editor has multiple glyphs check if there is one seleted to be the currentGlyph
  • Update the dispatcher for the new methods so that duplicate observations aren’t registered in the font.dispatcher.
  • Implement observation of all glyphs and layers at the currentFont level.
  • Starting to add currentFontGlyphDidChange and CurrentFontLayerDidChange subscriber callbacks
  • Improve subscriber documetation
  • Improve space center suffix list when glyphs are added
  • Improve join selection: allow additional selected points which are not start and end points.
  • Setting point coordinates in italic when the italic slant is active
  • Adding guidelines in the background layers
  • Add support back to slice a glyph with a selected guideline.
  • Add defaults for singleWindowSpaceCenterSize and singleWindowFontOverviewSplitViewSize.
  • Improve support for headless fonts without a main font window
  • Improve quad handles (only add them when the segment is a qcurve)
  • Fix headless font newGlyph issue
  • Fix preference with art board borders instead of width/height
  • Fix beam inbetween value when the pair has kerning
  • Implement ‘glyphViewMetricsHeightInfoAttribute’ pref controlling the height of the white board in a glyph editor.
  • Rename x height cut to Cut Off and make it editable with cmd down
  • Improve quad off curve selection
  • Dont add duplicated layers into a parent layer view
  • Add short cut to show point labels sheet
  • only set glyph order when releaseMode is True, fixing reordering issue
  • Adding support for glyph.autoContourOrder()
  • Typo in Measurement Tool menu item
  • Turn guideline knob the other side

Version 4.0b (build 2106301755)

  • Add support for pasteSpecial, as default it copies also the width of the glyph.
  • Add support back in for dragging guides on the italic angle.
  • Use internal callbacks for internal tool, public tools could overwrite to easily
  • Reset selection path when component data has changed.
  • Add support for “—-“ to build seperator in while building the menu from a list
  • Getting the fontOverview subscriber working
  • Adding guideline support in point menu
  • Add glyph key in the subscriber info object on roboFontDidSwitchCurrentGlyph
  • Send notification when scale will / did change
  • Fix curve converter on selection
  • On select all always update the image bounds paths
  • Get get the file name of the image based on existsing image data
  • Use the Image.Updated notification to update the image layer
  • Set width of last column of a layer info pane list
  • Set image clear and update notification names
  • Check glyph on None and not the bool(image) + check the path
  • Set glyph dirty after transformation is applied
  • Dont overwrite the sortBy in a fontParts FontsList
  • Add Measurment Tool in the Glyph menu
  • Clear the transform info when transform mode is toggled on
  • Improve fit glyph to window
  • Fix cross hair position on mousedown
  • oh… if width is 0 show the stroke of the metrics
  • Measurments should update on glyph width changed
  • Update canvas and canvasGroup docstrings
  • Adding glyphs to undo redo notifications

Version 4.0b (build 2106071057)

  • Add trial license for RF4
  • Empty the margin text layer when there is no margin
  • Check explicitly on None to check if there is a margin

Version 4.0b (build 2106042329)

  • Unsmooth copied open contours
  • Embed vanilla list2 branch
  • Update merz, ezui

Version 4.0b (build 2106021419)

  • Fix deleting glyphs with phantom notifications
  • Add buy button to the correct titlebar view
  • Update merz with support of container transformations

Version 4.0b (build 2106010108)

  • Fix test due to change in fontTools
  • Add rightMouseUp to subscriber
  • Rewrite menus and restructure menus
  • Double click to edit the anchor name
  • Paste from Illustartor as pdf works again
  • Fix moving “quad” off curve points
  • Fix reordering components and anchor inspector pane items
  • Improve check if the selection represents a segment
  • Add support to convert curves to quad and cubic
  • Add docs for extensionContainer
  • Improve subscriber doc strings
  • Depending on the amount of point show only the selected ones
  • Fix import progressWindow
  • Add the ability to observe adjunct objects.
  • Draw coordinates backgroundcolor

Version 4.0b (build 2104222316)

  • Set line width in background layers glyphs.
  • Mark window title to re-layout after license button is added.
  • Adding global guideline with alt + addGuidelineKey
  • Use drawPreview as notification name for the publicPreviewLayer
  • Fixing subscriber docs bugs
  • Improve hot key default doc string
  • Improve images undo
  • Set image alpha value in the image layer
  • Split up metrics into metrics and background metrics layers, this makes it possible to draw vertical metrics on top of images.
  • Adding support to get a layer at a preview location
  • Fix duplicated move on quad off curve points
  • Improve autoSave on Big Sur
  • Remove scroll + alt to cycle through glyphs behaviour.
  • Getting psautohint to work…
  • Use the same symbol size for colored anchors.
  • Catch SystemExit and preventing it kills RF

Version 4.0b (build 2104072353)

  • Improve toggling smartListView pane
  • Fixing Big Sur ruleEditor UI
  • Improve ToggleRuleEditorButton on 10.16
  • Improve editing tool while cmd option drag line segment
  • Improve toggling path browser in a scripting window.
  • Fix jumping to other glyph within a non default layer.
  • Ignore off curve only contours in remove overlap
  • Move contextual menu input controls to sheets: guideline menu and point labels.
  • Guidelines uses their own color if set.
  • Flag the selection as dirty on glyph.change()
  • Change the order of off curves while continue drawing in new contour.
  • Keep support for 10.10: fix with conditional setTabbingMode
  • Embed merz and ezui
  • Add selection and measurement notifications in the glyph.
  • Fixing drawing while converting line to curve
  • Fix italic angle support + update directly when preference changes
  • Fix position of glyph editor scroll view by wrapping into a group container.
  • Adding identifiers to addGlyphEditorSubview.
  • Use more consistent event names. Add previously unsupported events.
  • Fix pdf past and copy
  • Add “add guideline” hot key preference.
  • Fix add extreme points
  • Fix bug in groups sheet when there is no selection
  • Adding new license keys
  • Fix missing whitespace in multiline strings.
  • Typo, worng variable name in retreiving documents while opening RFont
  • Use esc or cmd + . to reset the font overview query
  • Use the same button cell to add and remove rule editor rows.

Version 4.0b (build 2103031349)

  • Set content scale for text layers
  • Copy width only when destination glyph is a template glyph.
  • Disable pip installer search until it gets resolved
  • fix missing scale attribute
  • Support for glyph None in glyph layer
  • Fixing opening RFonts with interface.
  • Add Doodle.ImageSize factory.
  • Check if the off curves are quad only without anchor while transforming.
  • Fix glyph editor subscription bug
  • Always set the image object to be able to subscribe.
  • Select the dropped image
  • Reset seleciton path before sending out notifications

Version 4.0b (build 2102251507)

  • Add glyphViewDisableDrawNotifications preferences
  • Dont draw drag lines on transform.
  • Reset selection path after undo.
  • Improve rounding while slicing
  • Remove print statement
  • Fixing dragged dashed lines on newly made selection.
  • Embed Subscriber, mega thanks to Tal!!
  • Improve zoom to mouse position.
  • Reset cached selection objects on resetSelection
  • Check if there is a start of drag in the slice tool
  • Upgrade shell script help to py3
  • check if there is an fdk…
  • Try to preserve selection on setting data from serialization
  • Dont show layers who will be deleted.
  • Fix pdf past by auto closing/ending the pen
  • Improve aicbTools for others to use
  • cmd-R will also save the pref editor (like cmd-s)
  • Test if there are no glyph names provided in a save query sheet
  • Convert dialogs to the new vanilla dialogs
  • Remove “Toggle Rulers” for hot keys.
  • Improve setting selection foreground and background layers
  • Always send selection notifications when the action is not “Changed”
  • Draw template unicode from the baseline in a cell
  • Always add default display options

Version 4.0b (build 2102192138)

  • Use the new ask vanilla dialog
  • mirror object.asFontParts() - object.asDefcon()
  • Update guidelines and measerment lines on component changes
  • send viewWillChangeGlyph notification
  • add deprecated attribute back in to get the legacy code working
  • Move warning level to once (was ignore)
  • disable releaseMode when fea are generated with fontTools
  • Check if there is a view to set defaults in edit tool layers
  • Dont add QTKit anymore

Version 4.0b (build 2102140043)

  • Fix bug when a show metrics is off
  • Adding test on export without space and fix the issue.
  • rename autohint callback to psautohint
  • move fdk autohint to psautohint
  • Typo find observations must return an event

Version 4.0b (build 2102112144)

  • Remove all reference to font.segmentType layer.segmentType glyph.segmentType contour.segmentType
  • Improve remove overlap in fontCompiler
  • update vanilla with autolayout-improvements
  • switch to pathops if there are quads in the overlap
  • fix compiling off curve only contours
  • Improve add quad off curve dragging with alt down
  • Remove spline checking of incoming ttf, ttc and woff/ttf
  • Add support to alt drag extra quad off curve
  • Improve drawing background layers
  • Prevent smoothness over a single off curve quad curve
  • Fixing selection transform
  • use kerning.find instead of flat kerning..
  • Add support for merz in a single window mode
  • Implement italicAngle
  • Fix issues when the contour is empty
  • Improve rounding: dont edit point data on selection and setting of leftMargin

Version 4.0b (build 2102042339)

  • Remove selection on remove contour.
  • Add pdfminer as dependency
  • Improve aliased straight line drawing
  • supporting to pdf pasteboard and deprecate eps pasteboard
  • starting with italic angle support
  • Improve selection display updates
  • Add hover close indicators in the selection layer
  • set an opacity for the bitmap
  • use the start point generator for continue and close path indicators
  • implement bitmaps
  • set background layer images with 50% opacity
  • double the radius of point click
  • improve selection hold and release while changing the current glyph
  • support for glyphWindow.setGlyphs([]) (very rough, dont use it yet)
  • Adding centerGlyph back in the glyph view
  • Adding isUndoing isRedoing to mojo.UI

Version 4.0b (build 2101272326)

  • Improve beam factory for quad curves (measurements)
  • improve setting contour selection when there are no oncurve points
  • improve quad contour.segments and intersectionAtPoint (no intersection possible for now)
  • Add support for observer identifiers in addObserver and findObservations
  • improve drawing quads
  • Adding icon for beta builds
  • Adding blues
  • Improve image layers
  • adding point label colors
  • adding point labels
  • improving curve length tests
  • improve line straightness factory
  • fix drag and drop images
  • update embedded FDK
  • add quad support in curve length pen
  • Add curve length layers
  • Adding prefs for curve length
  • Improve text for dx dy length
  • Add support to get a point on a quad
  • Improve guideline layers
  • add asFontParts for all internal defcon objects
  • Fix layer info pane
  • remove unused imports
  • Enable scrolling with phase None
  • Import a GlyphRecord object fixing single window mode

Version 4b (build 2101160140)

  • Adding pref to disable all old style drawing: glyphViewDisableDrawNotifications
  • Add pref for slice color
  • move defaults from 3 to RF4
  • Use 45 contraint setting for measurement tool
  • Move add guideline to contextual menu, rulers are gone
  • embed merz
  • Improve codeEditor support for setting menu run callback
  • outline errors: rounding segments before comparing
  • first working layer version!!

Version 3.5b (build 2011161841)

  • Enable wantsLayer for big sur
  • Adding disableEvents, enableEvents to
  • Ignore document menu callbacks in UI-less documents.
  • Improve license check when start date is given
  • Adding support for default increment: glyphViewIncrement
  • Rename info sheet checkbox.
  • Add generate features with fontTools option in the font info sheet.
  • convert string lib keys to settings
  • Allow drop reordering when all glyphs are shown: use the glyph count, not the smart set list selection.
  • Remove duplicated point.labels in the contextual menu.
  • Preserve selection in smart set list after a reload.
  • If is None display as an empty string.
  • Fix point smoothness checkbox in inspectorpan.

Version 3.5b (build 2007102200)

  • Fix the improved extracting unicode from glyph name.

Version 3.5b (build 2007101519)

  • Rename Application Help to RoboFont Help :)
  • Draw background color when no font is set in a multilinescrollview.
  • Add multiline.setShouldDrawGlyph(True/False).
  • Fix generating from layer getting the correct components from the correct layer.
  • Improve glyph.autoUnicodes() by supporting uniXXXX and uXXXXX
  • Use the new buffer offset for kerning preview.
  • Add support to generate with fontmake
  • Add font.testInstall arguments, simalar to generate.
  • CoreServices.LSGetApplicationForURL is deprecated
  • Resetting glyphset while checking for external changes.
  • formatVersion could be None.

Version 3.5b (build 2006162121)

  • Convert number first to string before setting into a control.
  • Reset glyphset after a closing the file system
  • Fix bug when saving back to ufo2 and resetting the glyphSet object.
  • Update internal test for external changes.
  • Rename menu title Reverse to Reverse Contours
  • Remove dummy callback rGlyph.rasterize().

Version 3.5b (build 2006132126)

  • Add cffsubr and notarize it.
  • Adding spaceCenter.getOffset(), spaceCenter.setOffset((x, y)).
  • Improve support for asyncio.
  • Fix bug in opening help window.
  • Improve joining contours.
  • Fix joining same contour jump.
  • Typo while opening in OpenFont
  • Change end user license link.
  • Fix stamping data with the new auto closing UFOReader.
  • Set fontParts newGlyph clear argument to True by default.
  • Use UFOReader.ufoFormatVersionTuple to compare UFO version.
  • Move slice with alt down while slicing.
  • Join contours with drawing tool by alt click on a different contour.
  • Remove all selected objects when swapping layers.
  • Always use the latest GLIF xml version to display external chagnes.
  • Improve + tab for font window, glyph window, single mode font window, space center, feature window.
  • Ignore tabbing for Extension Builder, Help, Output, Inspector and preferences.
  • Allow empty selection in a smart set list, used when selection and query arent matching.
  • Improve arrow up and down in smart set lists.
  • Use the notification to catch selection changes in a smart set list.
  • Improve retrieving all extensions.
  • Always call draw preview notifications even for empty glyphs.

Version 3.5b (build 2005131711)

  • Set deployment target to 10.10…

Version 3.5b (build 2005111539)

  • Revert back to markdown 3.2.1

Version 3.5b (build 2005111337)

  • importlib_metadata is required by markdown…

Version 3.5b (build 2005101544)

  • Dont use a composite operation while drawing coordinates.
  • Use realpath while installing extensions.
  • Rename kern groups to MMK prefixes when converting back to ufo2.
  • Print traceback when observer failed.
  • Missing hot keys for blues in a space center.
  • Improve font.openInterface
  • jump to 3.5

Version 3.4b (build 2004251446)

  • Adding keep history preference in space center apprearance.
  • Always check incoming queries in a smart set if they are valid.
  • Fix bug: keep space center history entry could be empty.
  • Add support to hide images in the glyph view.
  • Query could be None while checking deprecated keys.

Version 3.4b (build 2004181428)

  • There could be a permission error when autosaving…
  • Update internal packages

Version 3.4b (build 2004151132)

  • Keep history in space center
  • Fix space center set beam typo.
  • Make the robofont:// url sheme work again
  • Support for guideline.selected
  • Test invalid ufo xml
  • A fontTools glyph has not always with and unicodes

Version 3.4b (build 2004071235)

  • Use master for fontMath and mutatorMath.
  • Catch errors while reading unicodData and try to recover outlines in bad glif xml…
  • Improve reading broken glif xml. (aka dont crash but show a nice warning).
  • Ignore .DS_Store while hashing extensions.
  • Improve space center completion and add shift+enter to add /n.

Version 3.4b (build 2004031700)

  • Improve dragging cross origin with segment selection.
  • Fix vanished glyph cells.

Version 3.4b (build 2004022149)

  • Fix crash when removing glyph when glyph window was open.
  • Ignore Icon? files while hashing extensions.
  • Improve cocoaDrawing tools drawGlyph when the glyph is a very a very shallow glyph object.
  • Change glyphViewCanZoomWhileDragging default to False.
  • Set different priority for view base toolbar items.
  • Improve reloading smart sets.
  • Fix NSShadow import.
  • Keep ufo2svg as a legacy dependency.

Version 3.4b (build 2003232105)

  • Use a proper default value for glyphCellLayerIndicatorColor.
  • Adding dialogkit back in…

Version 3.4b (build 2003231722)

  • Add default for textbox background colors `glyphViewDefaultTextBoxBackgroundColor.
  • Use the new defconAppKit color subclassing: glyphCollectionGridColor, glyphCollectionBackgroundColor, glyphCollectionInsertionLocationColor, `glyphCollectionInsertionLocationShadowColor.
  • Remove dialogkit dependency
  • Improve build script and requirement text
  • Layer indicator has his own color pref: glyphCellLayerIndicatorColor, glyphCellSkipExportIndicatorColor, glyphCellNoteIndicatorColor.
  • Check duplicated hover start point when points are close together.
  • use the lastest defcon!
  • Remove woffTools and ufo2svg as dependecy. If you need those use the pip installer.

Version 3.4b (build 2003201508)

  • Improve reloading custom smart queries.
  • Sort extension case insensitive.
  • Improve shift dragging scale transformation.
  • Recalculate multiline view when the view has external frame changes.

Version 3.4b (build 2003161944)

  • Fix build dmg
  • Fix misleading message when de-installing an extension.
  • Update the internal GNFUL list
  • Remove unused import.
  • Angle seems to be a method of a nsObject, so dont use it
  • a file-like object should also have a fileno callback.

Version 3.4b (build 2003111930)

  • Add notarizing entitlements.
  • Fix space center hitting tick mark changing unwanted display options.
  • Check if the double click callback is set in a space center before sending it out.
  • Fix bug when reverting changes to removed layers
  • Dont follow in includes while getting the kern fea.
  • Move top line of space center for easier adjustment with a custom script.
  • Post a glyph width changed when the temp left margin has changed while dragging.
  • An inspector window should have no focus input fields on the first opening.
  • Euhm must be Postscript Name…
  • Add addedUndoItem notification.
  • Extension pycExlude must be a list of relative paths to the extension lib folder.
  • Adding scriptsMenuChanged notification.

Version 3.4b (build 2002262337)

  • notarize and codesign

Version 3.4b (build 2002242159)

  • Improve glyph info pane UI.
  • Add glyphViewMininumVisibleZoom to default editor.
  • HARD RUNTIME notarisation
  • Fix bug in loading smart sets from path.
  • Strip comment before checking to add a whitespace on new line in a code editor.
  • Fix student licenses check bug.
  • Add `defaultFontInfoAttributes to the defaults: a dict of font info values which are set by default.
  • Only change the default layer while removing the default layer.
  • Remove print statemen
  • Allow unsmoothing of non-smoothable points (move, line-line points)
  • Dont hightlight a closing parts when the cursor location is zero
  • adding a comment where the css of the extension commes from
  • Improve smart set list on changes when the ruleeditor has a query.
  • fontParts templateKeys and templateGlyphs must be tuples
  • Adding code highlighing css while converting extension md to html
  • replace %% with % in extension style.css

Version 3.4b (build 2001292139)

  • Move the space center indicator based on the scroll bar settings.
  • A multiline view does not always belong to a space center.

Version 3.4b (build 2001291540)

  • Improve space center needs update indicator.

Version 3.4b (build 2001272227)

  • Caching bug for updating scripts menu in nested folders.
  • Improve drag and drop of glyph selection in smartset lists.
  • Support for contextual menu in smartset lists
  • Adding pref ui for spaceCenterMaxGlyphsForLiveUpdate.
  • Show a needs update indicator in a space center.
  • Fix bug when removing the default layer.
  • Improve document specific smart sets.
  • Remove the font lib identifier and replace it with a smartset specific one.
  • Stupid typo appendAnchor must be appendGuideline..
  • Try and execept sending to observers
  • Optionally validate incoming defaults: setDefault(key, value, validate=True).
  • Dont smooth starting point and end point of open contours.
  • The extension could also be a .ufoz
  • Dont add template glyphs on newGlyph, just make set them als non template.

Version 3.4b (build 2001151708)

  • Add support for selecting parts of with an subclass of an editingTool, see
  • Typo + check if there is a glyph view and arraycontroller.
  • Remove deprecated lib.baseObjects
  • Improve converting down kerning groups.
  • Display images in space center.
  • Dont hold first click when a space center control has focus.
  • Set rowheight in smartsetList.

Version 3.4b (build 2001112213)

  • Improve cocoaDrawingTools.
  • When updating DEFAULT SETS in one active windows reset the seletion.
  • Select group item will OR combina all child queries.
  • Allow group in group in the smartset api.
  • Only set smart set in the font lib if its different.
  • Fix but in dealloc and removing view from superview.
  • Reoreder menuitem in smartlist option menu.

Version 3.4b (build 2001101108)

  • Support for drop on row of glyph names to append the dropped glyph names.
  • Make a selection after a reload and reset of a selection.
  • Update GNFUL list
  • Add isPaneVisible showPane togglePane to an AccordionView

Version 3.4b (build 2001091521)

  • Adding glyphViewContinueDrawingAtPointStrokeColor and glyphViewContinueCloseContourAtPointStrokeColor default.
  • Continue drawing in at the starting point of a contour.
  • On shift down with free scale map scale xy values to the same value.
  • Improve reselecting images after undo.
  • Rename import of deprecated smartSets in mojo.UI.
  • Improve set image scale sheet.
  • Move all smartSet mojo api to mojo.smartSet
  • Add point label color to the defaults.
  • Change the separator color in an accordion view.
  • Improve colorCell.
  • Add smartset font level mojo support.
  • New Smartset list!!!
  • Change the documentation help url.
  • Change accordionView collapsed state defaults keys.

Version 3.4b (build 1912231255)

  • Exlude checkbox must be smaller.
  • Skip without cap k :)
  • Dont use a fallback zero width space as replacement text.
  • Add QTKit anyhow.

Version 3.4b (build 1912201425)

  • Add warning for when extension short cut is already taken.
  • Fix bug in converting splines for single off qubic curves.
  • Dont delete contour if there are equally amount of off curves selected as oncurves.
  • Fix bug in glyph metrics math and add tests.
  • Improve UI for skipped glyphs.
  • Add NumberEditText to mojo.UI.
  • Adding tests
  • Set default value when there are not defaults around.
  • Add skip glyph cell indicator.
  • Dont set target for menu item when no callback is given
  • Wrap building menu item names and short cuts in try except.
  • Adding UI for public.postscriptNames in the font info sheet.

Version 3.4b (build 1912091618)

  • Fix selection for short keys in preferences.
  • Add UI for public.skipExportGlyphs in font info sheet.
  • Support for folder as a collection of startup scripts.
  • Rearange the preference window.
  • Update all cell views with the prefecences has changed.
  • Improve SpaceCenterWindow().setFont
  • Adding glyph cell colors for template glyphs.
  • Typo glyphCellHeaderHightlightColor -> glyphCellHeaderHighlightColor.
  • Move preferences around.
  • Oooooh the cellMetricsLine and cellMetricsFill color should be not so dark.

Version 3.4b (build 1912072323)

  • fix ’cellMetricsFillColor’ is not defined

Version 3.4b (build 1912071454)

  • Fix space center selection in centered RTL.
  • Adding pref spaceCenterWaterFallSizes info and docs.
  • Fix waterfall disappearing letters.
  • Fix toolbar segmented toolbar control.
  • Add notifications fontWindowWillOpen and fontWindowDidOpen
  • Improve and add font tests.
  • Adding normalizing invalid groups.
  • When spacecenter is set to RTL reverse the x mouse metrics drag.
  • Adding support for font.lib['public.skipExportGlyphs'].
  • Adding savedState to drawingTools.
  • Adding center argument to drawingTools in transform, rotate, skew and scale.
  • Move glyph cell colors to defaults.
  • Improve traceback message when compiling fails on glyph level.
  • Something for the future
  • Updating internal GNFUL list.
  • Check if there are any other apps supporting .ufo files
  • make the unicde rule editor input work on 10.15
  • overwrite fontParts selectedContours: contours with a single point selection are also selected
  • pip installer!!!
  • Add searchbox in pref short cuts pane
  • Dont continue any dragging action, when margin drag is found
  • Fine tune undo with empty glyphs.
  • Stamp disk data after save with shouldNormalizeOnSave on.
  • Add callback to completly ignore all events.
  • Add docs for font.generate.
  • add support for font.generate(layerName="background")
  • Fix MultiLineView setSelection and getSelection
  • change obj.dirty state for fontparts wrapper decorator, fixes a fe dirty states of glyphs in font.round().
  • Component basename should always be present
  • Add glyph.selectedBPoints

Version 3.4b (build 1911101747)

  • Improve lib undo
  • Preference artbox size input should not be continuous
  • Improve rounding of centerpoint while rotating
  • Improve kern sheet: up/down select next/prev pair from pairs list
  • Make imagePNGData avaible in
  • Adding pycExclude argument in extension

Version 3.3b (build 1911042224)

  • Improve generating kerning features
  • Improve shallowDocument and opening glyph and space centers
  • Improve code editor when no lexer is set

Version 3.3b (build 1910261948)

  • Rename UIdocument and to shallowDocument in font parts object and fix small issue.

Version 3.3b (build 1910231429)

Version 3.3b (build 1910231149)

  • Fix bug on tranforming orphan glyphs
  • Improve kern selection in kerning view in RTL
  • Always un-smooth on deleting offcurves
  • Improve space center switching from RTL LTR
  • Improve charcterToGlyphName with a fallback
  • Fix argument name issue
  • Improve when wrapping a defcon.Font in an RFont
  • Adding internalFontClasses to mojo.roboFont
  • Try to convert the args to unicode for the command line tool

Version 3.3b (build 1910091627)

  • remove unicode()
  • typo
  • fix bug when opening a glyph window without any other window open
  • Change ery joly button text Oke to Ok
  • Improve setting smooth after removing line curve combo
  • improve picking the correct python version for extensions
  • adding support for lib.x.y different python version with a compiled pyc
  • add support for different python versions in extensions
  • after setting a font update the glyph line view in a space center

Version 3.3b (build 1910021654)

  • after setting a font update the glyph line view in a space center
  • move anchors in a empty glyph while spacing
  • excaping unicode characters discriptions in the preference editor
  • adding notarizing
  • adding allObsevers to
  • ignore empty menu short cuts in the preference editor
  • only update the file browser when its visible when RF gets active
  • jump to python3 lexer for the python code editor
  • set auto save name for html window
  • remove print statement
  • a glyph could be None in GlyphPreview
  • Rename ambiguous menu title: New Sets Folder
  • flip image while drawing inside a glyph cell
  • add extension to dropped images
  • fix converting back to groups with identical groupname to UFO2

Version 3.3b (build 1909120913)

  • jump to py3.7: this will invalid all .pyc only extensions (like MetricsMachine, Prepolator)
  • GlyphPreview can preview anything that looks like a glyph objects and works with a pen.
  • Adding helper to trace where a print statement is comming from
  • Add the fontParst document to the document controller even when no ui is provided, so it ends up in AllFonts and CurrentFont.
  • Improve error message when an alias can not be resolved
  • Improve single line space center drawing
  • Don’t embed ufoLib anymore, this could lead to errors in extensions…
  • Use glyph objects to check if a collectionviews contains a glyph
  • Remove future and fontTools py23
  • Remove all PY2 PY3 variables
  • Change basestring to str (py3)
  • Change unichr to chr
  • Set correct layer while setting a font in space center
  • Improve getDisplayOption and setDisplayOption doc string
  • Improve and fix layer.setDisplayOptions(), must be a dict now.
  • font.glyphOrder changes automatically on glyph rename by notifications
  • font.glyphOrder must return a tuple
  • Adding glyphs to `stemHist callback

Version 3.3b (build 1907141143)

  • Dont remove the identifiers when joining two contours…
  • Remove identifier when joining a single contour
  • Read a py file as utf-8 to parse the menu title name
  • Adding renameGlyph test
  • Dont iterate and change a dict at the same time, while renaming in kerning and groups
  • Fix open contour converting to curve segment
  • Improve removing trailing off curve point

Version 3.3b (build 1907071341)

  • Improve guideline pane: fix bug while removing a guideline
  • Adding support for pytest in scripting window
  • Improve closing empty scripting document
  • Adding tracking in space center
  • Prefent overwriting glyph names in list mode.
  • Add getQueryResult for SmartSet objets to retreive the result of a query.
  • Embedding fontmake
  • Fix the dashed dragging lines
  • When the scripting window is empty, reset the change count.
  • Improve extension banners
  • Ignore open contours on union, booleanoperations

Version 3.3b (build 1905221146)

  • Ignore open contours on union, booleanoperations
  • After a reselect restore the current moude down point.
  • Improve color cells in inspector window.

Version 3.3b (build 1905211158)

  • Improve support for glyphWindow.setGlyph(glyph)
  • Improve removing off curve points.
  • Improve point smoothness while deleting.
  • Adding tracking areas to canvas to support mouse entered and mouse exited.
  • Really fix external save inside RF to prevent external change pop on saving by the menu.
  • Dont show a popup when the user cancelled installing an extension.
  • Jump to next layer in space center in the correct order
  • Set layer color based on the pref settings, only for foreground and background

Version 3.3b (build 1905152139)

  • Improve switching between global - local guidelines.
  • Support for guideline colors, anchor colors.
  • Set modification date in internal document when saving programatically.
  • Snap anchors to oncurve points while dragging
  • Fix component sheet in while adding component in layer.
  • Fix small aesthetic anchor coordinate drawing
  • Support for expiration date in extension builder.
  • Support for style.css in markdown extension docs.
  • Support for fencedCode hightlighting in the extension markdown + higher baseLevel for markdown toc.
  • Dont use the appkit localization.
  • Add guideline inspector pane
  • Remove guideline lib keys when removing the guide.
  • Improve tests.
  • Improve fontParts hasOverlaps.
  • Dont smooth line line corner points.
  • Move point, segment, contour, anchor and component index background colors to the prefs.

Version 3.3b (build 1904201651)

  • Adding extension bundle expireDate
  • Dont crash hard when somehting fails while drawing in a multiline scrollview
  • mojo.Canvas send the correct pastboard types + remove print statement
  • support fontParts fileStructure
  • embedded markdown
  • support for .md in extensions docs on save only
  • explicit destroy all representation when a component baseglyph changed
  • flatting UI for the accordionview
  • rect must not be a bool :)
  • change to applicationWillFinishLaunching_ instead of did
  • Build with an experimental vanilla branch with support for auto layout!!

Version 3.3b (build 1903261520)

  • Improve modifying empty glyphs behaviour in space center
  • trigger after default layer changed + wrapper could be an empty list
  • only build template glyphs is its not existing yet
  • Remove »> from doc string

Version 3.3b (build 1903182313)

  • Set the unicode formater correctly (internal macOS change)
  • raise KeyError when the glyphName is not found
  • Add support for creating missing glyphs while sorting by characterset.
  • Improve fontParts glyphName in font logic for template glyphs
  • Adding doc strings
  • Adding GlyphSequenceEditText and splitText to mojo.UI
  • improve shell script: the app file can now be renamed!
  • return tuples for font.templateSelectedGlyphNames
  • No releasemode for ttf export.
  • Check of there is an active layer.

Version 3.3b (build 1903121059)

  • Improve extracting AGL GNFUL lists
  • Add xml glyph diff for external changes window (double click on changed glyphs in the external change window)
  • FIx code editor backgroundColor pref typo
  • Add support for drag and drop in a canvas view.
  • update FDK

Version 3.3b (build 1903061506)

  • font.bounds must ignore empty glyphs
  • Use WKWebView as default HTMLView
  • Improve fontParts/mojo dialogs.
  • Fix ufo3fdk glyph name normalizer.

Version 3.3b (build 1902251253)

  • Add docs to PostBannerNotification.
  • Sort paths first before digesting into hash.

Version 3.3b (build 1902242148)

  • Support for expiring date in extensions.
  • Use guideline color, if set.
  • Add support for banners: mojo.UI.PostBannerNotification
  • Prevent adding alternative open script menu items if the short key is already taken.
  • Clear the whole glyph on copy as component.

Version 3.3b (build 1902152254)

  • Keep contrains with shift down while skewing.
  • Add nice warning when deleting a smar set.
  • Maintain the glyph order after removing glyph (while alt is not pressed)
  • Press ctrl + delete to convert to a template glyph and remove all possible layers
  • Dont allow duplicated glyph in kerning groups
  • Improve required settings
  • Improve revert to saved
  • Adding “glyphViewCanZoomWhileDragging” preference
  • Improve inspector panes
  • Single window inspectors can should only display that document glyph info.
  • Fix accordionview for 10.14.
  • Improve setting markcolor badjes in search fields.
  • Improve point labels: tuples, use point.clearLabels() to remove them.
  • Keep the glyph order after an external change.
  • Allow arbitrary loads external data (like external help file).
  • Draw anchor coordinations bellow the anchor.
  • Adding centerInView for StatusInteractivePopUpWindow
  • Prefer group kerning while adding a fresh pair. Look up in existing groups.

Version 3.3b (build 1901291601)

  • Adding showProgress keyword for font.testIntall
  • Improve preserving identifiers while undo/redo
  • Remove identifiers from removed points while inserting a point
  • Going to RF3.3!!!
  • Adding allowsMovingMargins for a subclass of the editingtool.
  • Make dragTransformMatrix availalbe in a subclass of the editingtools
  • Fix issue in jumping to line number in code editor
  • Set the kerning input not strict to allow both kern gorups as single glyphnames
  • Adding with RGlyph.holdChanges() to hold and release all notifications
  • Switch to fontTools otRound to round coordinates
  • Point labels is a list not a dictionary
  • Reset selection on transformation a fontparts object

Version 3.2b (build 1901141024)

  • Reset selection on transformation a fontparts object
  • Adding tests
  • Adding ‘normalizeWriteModTimes’ ‘checkExternalChagnes’ as defaults
  • Fixing bug in getting the externalChanges
  • Improving steppers
  • Also normalize when the is None.
  • Improve drawing coordinates for anchors on selection.
  • Fix font size issue and drawing of measurement.
  • Fix slider in image contextual menu.
  • Improve drawing of guides and end points
  • Solve deprecated warning and use CoreServices instead of LaunchServices
  • Fixing accordionView

Version 3.2b (build 1901040013)

  • Improve space center performance
  • Reuse/cache NSAttributedStrings and NSBezierPaths
  • Don cache color gradients, keep a reference to the color instead

Version 3.2b (build 1901022326)

  • Fix shifting images on left margin change.
  • Add normalizeWriteModTimes default option while normalizing ufo on save.
  • Improve space center updating.
  • New icons for dark mode.
  • Remove unnecessary save restore
  • Dont update ruler views everytime the glyph view refreshes
  • Fix issue while restoring a document
  • Dont use patterns to make gradients
  • UI improvements 10.14
  • Adding uharfbuzz as package

Version 3.2b (build 1812232315)

  • Load exension bundle from the extension object instance.
  • Set objc verbose, so traceback are comming back
  • While executing tests print out the error message
  • Fix copying glif xml, lxml is using single quotes instead of doubles…
  • While saving path could be None, dont update the window header.
  • Remove temporaly hack to make ufoz saveble, fixed in defcon PR.
  • Wrap the glyph drawing inside a try except statement.
  • Fix list view column header dragging crash
  • Missing attribute in a statusbar

Version 3.2b (build 1812172318)

  • Send callback when using arrow keys in inspector number controls
  • white space
  • When opening a compressed ufo load all glyphs from all layers
  • Fix short cut issue in while building extensions
  • Update space center input view when toggling Beam with a script
  • Reset path in the UI correctly when saving with fontParts
  • explicitly set the file structure to packages when saving as non compressed

Version 3.2b (build 1812162145)

  • explicitly set the file structure to packages when saving as non compressed
  • move copy into the try except statement while autosaving
  • Removing py2 related code
  • Adding contour tests
  • flatKerning is moved to fontParts
  • adding immutableDict
  • Set file url on when the path is different.
  • improve
  • Make a copy while auto saving to prefent issues when saving normally.

Version 3.2b (build 1812141619)

  • Make a copy while auto saving to prefent issues when saving normally.
  • fix glyphWindow.setGlyphViewScale by force setting the scale value.
  • force setting font attributes when adding text to output window
  • when glyph changes template flag add or remove it from the layer templateglyph set
  • adding flatKerning in fontparts
  • dont overwrite setStartSegment

Version 3.2b (build 1812072117)

  • Fix template glyph issue.
  • Implement a branch of booleanOperations fixing the remove overlap issue.

Version 3.2b (build 1812071432)

  • Update internal packages
  • GNFUL with unicode 11, happy skateboarding!!
  • Use psautohint instead of fdk autohint.
  • Draw layer image before checking if the glyph is empty.
  • Improve slider in menus.
  • Move image when dragging side bearings.
  • Improve re-save with the same settings.
  • flip layers should not flip unicodes around.
  • Improve code editor with support for emoji for all you emoji coders
  • Improve setting default layers and updating related views.
  • Flag glyph as changed if they are template and if the width is the same while setting glyph.width
  • Improve auto completion.
  • Glyph view and feature editor has now a status bar, instead of placard scrollviews scrollers.
  • Fixing changing short cut when there is an alternate menu item.

Version 3.2b (build 1811262327)

  • working autohinter.

Version 3.2b (build 1811262310)

  • Update the embedded FDK.
  • Improve warning when provided unicode is not valid.
  • Disable Dark Mode on 10.14 as this flag seems to cause all the trouble.
  • Improve drawing speed.
  • Copy unicodes when pasting in glyph cell collection.
  • Improve copy and swap to layers.
  • Fix exportPreferences.
  • Preference editor requires fallback for shortcuts like “ -> " and \ -> \.

Version 3.2b (built 1811081816)

  • Fix embedding fs module.

Version 3.2b (built 1811072339)

  • Update internal packages.
  • UFOz support
  • Move ufoLib to fontTools.ufoLib.
  • Update components when renaming glyphs.
  • Improve for 10.14
  • Fix preference editor.
  • Load extension before setting short cuts.
  • font.glyphOrder is more important then sort descriptors.

Version 3.2b (built 1809261511)

  • Update internal packages.
  • Fix issue while removing glyphs with remove from kerning and groups is enabled.
  • Disable auto replacements in a code editor.
  • Fix drawing image from layer with an alpha value.

Version 3.2b (built 1809050949)

  • Fix typo in notification: will must be did…

Version 3.2b (built 1809041630)

  • Wrap drawing notification in a try except statement.
  • Improve UI font overview: draw layer content even if not present in default layer.
  • Improve reading fea with non ascii in comments.
  • Alt delete glyph will remove the glyph in all layers.
  • Font overview shows all glyphs in all layers, even if they are not set in the glyph order.

Version 3.2b (built 1808302356)

  • Remove designspaceDocument its now embedded into fontTools.
  • Improve extension bundle validation.
  • Add support extension bundle requirements and specific version (drawBot == 3.114) or a min version and up (drawBot >= 3.114).
  • Improve updating components when the base glyph is changed.
  • Fix issue where osx localises numbers in space center.
  • Fix bug while converting colors to a hex notation.
  • Improve measurements on open paths.
  • Improve contour.removeSegment() on open paths and a trailing off curve.
  • Fix bug a scripting window split views.
  • Adding spaceCenter.getLineHeight() and spaceCenter.setLineHeight(value)
  • Fix autohint bug.

Version 3.2b (built 1808212210)

  • Fix error in compiling truetype fonts.

Version 3.2b (built 1808201107)

  • Fix cursor issues while changing screens with different resolutions.
  • Adding getGlyphViewHotKey and setGlyphViewHotKey.
  • Add pref to disable layer background color: glyphViewDrawLayerBackgroundColor.
  • Improve setting unicode from glyph.
  • Improve drawing anchor points coordinates.
  • Improve sending notification while holding preview key.
  • Improve subclassing of fontPart objects.
  • Add applicationScreenChanged to base tool.

Version 3.2b (built 1807250023)

  • Huge speed bump in generating binaries.
  • Fix hidden long callback.
  • Dont fail hard while validating extensions.
  • Fix super calling class method in fontParts.
  • Set index of active tool while building the glyph window tool toolbar item.
  • Fix error on deleting points.
  • Improve component info box.
  • Use allFonts as keyword in SelectFont.
  • Improve loading extensions with requirements, load them first.
  • Fix unwanted change notifications.
  • Add copy metrics in layer pop up.
  • Fix error while setting number in input field.

Version 3.2b (built 1807131054)

  • Update internal packages.
  • Fix issues when setting char set prefs.
  • Remove old mechanic methods in extension bundle. Mechanic 2 get info from the server.
  • Improve outline errors.
  • Improve displaying labels.
  • Send refresh notification when labels are edited.
  • Fix checkbox selection issue in Inspector.
  • Adding .mechanic icon.

Version 3.2b (built 1807092254)

  • Update internal packages
  • Improve display of anchors.
  • Improve RFont.newGlyph(..) to try to keep the same object if the glyph already exists
  • Add glyph.selectedPoints and deprecate glyph.selection.
  • Check if file exists while opening file browser in scripting window.
  • Touch version number!!

Version 3.1b (built 1807041450)

  • Fix small issues in defcon and ufoLib related to the new validation settings.
  • Fix removePoint issues.

Version 3.1b (built 1807041225)

  • Support for enabling ufo validation while reading and writing. see defautls: ufoLibReadValidation and ufoLibWriteValidation.
  • Improve notifications while test installing.

Version 3.1b (built 1807021454)

  • Update internal packages.

Version 3.1b (built 1806271754)

  • Improve menu builders.

Version 3.1b (built 1806271615)

  • Auto convert empty point names to None.
  • Remove trailing off curve while copying from font overview.
  • Fixing extractEvent by removing tuple values.
  • Update component references while editing a glyph
  • Fix reading .enc files.
  • Fix importing ps binary font files.

Version 3.1b (built 1806161138)

  • Fix bug in space center and beam measurements.
  • Update internal packages
  • Show warning on duplicated short cuts.
  • Add to unit test inside RF.
  • Added RFont.hasChanged().

Version 3.1b (built 1806102250)

  • Adding ufoProcessor to the embedded packages.
  • Easier to subclass EditingTool and disable editing but keep selection.

Version 3.1b (built 1806081458)

  • Fix bug in outlines error
  • Improve Bezier Tool
  • Improve space center and single window currentGlyphChanged notifications.
  • Adding spaceCenterMaxGlyphsForLiveUpdate pref to the preference editor.
  • Pasting glif xml also updates the glyph.lib with the pasted pasting xml
  • Update internal packages (mosty fontTools with the new additions to designsSpaceLib)

Version 3.1b (built 1806042318)

  • Support for inserting menu items for every contextual menu.
  • Copy paste also copies width and used when the dest glyph is empty.
  • Remove the change count on
  • Add all available fontParts callbacks.
  • Update internal packages

Version 3.1b (built 1805210915)

  • Fix cutting and adding point in a quadratic world.
  • Remove control characters in incoming font info (name records).
  • Update internal packages

Version 3.1b (built 1805151559)

  • Update internal packages
  • Fix bug in space center when using /? and /!
  • Fix installing roboFont shell script access

Version 3.1b (built 1805111530)

  • Improve sending notifications when editing single points.
  • Fix bug when RoboFont was not installed before and the license file is being dropped.

Version 3.1b (built 1805111451)

  • Fix json-bytes bug.
  • Dont set image attributes in lib is there is no image.
  • Update internal packages.

Version 3.1b (built 1805091509)

  • Adding pref for loadFontGlyphLimit
  • Adding default for guideline magnetic and showMeasurements.
  • Update internal packages.

Version 3.1b (built 1805081056)

  • Fix bug in getting parent objects in a fontParts world. (the same..)

Version 3.1b (built 1805071016)

  • Fix bug in getting parent objects in a fontParts world.

Version 3.1b (built 1805050923)

  • Update internal packages.
  • Fix layer.setDisplayOption()

Version 3.1b (built 1804251158)

  • Update internal packages.
  • Update how fontParts interacts with the implementation RoboFont.
  • Improve flipping components.
  • Fix typo in contour.hasOverlap()
  • Improve pasting image data in glyph view.
  • Check components transformation for float vs int
  • Support reordering foreground layer

Version 3.1b (built 1804131135)

  • Fix bug when RF1 was not installed..

Version 3.1b (built 1804092342)

  • fix pref upload…

Version 3.1b (built 1804092137)

  • Improve auto close in de code editor.
  • Remove mac roman option.
  • Update internal packages

Version 3.1b (built 1804042320)

  • Flip layer up/down.
  • Improve auto close in code editor.
  • Deselect before decomposing with a script (it does not keep the selection).
  • Typo in autounicode.
  • Disable zoom in image scale sheet.
  • Character set in preference keep their order.
  • Remove the default sorting preference.
  • File like object in py3 needs a encoding attribute
  • Fix alt delete off curve point.

Version 3.1b (built 1803282154)

  • Send currentGlyphChanged from space Center (as a try out..)
  • Add ctrl alt cmd O to reveal the log file in finder.
  • Dont crash hard on unpaired save() restore() drawing statements.
  • Adding woofs icon.
  • Adding color pref for echo paths.
  • Fix single window mode save.
  • Copy guideline attributes when jumping from local to global.
  • Update internal packages

Version 3.0b (built 1802261548)

  • New license, you need to download the RF3 beta license.
  • Improve Jump to definition in a code editor.
  • Small py3 improvements.
  • Fix small bugs.
  • Update internal packages

Version 3.0b (built 1802162351)

  • improve codeEditor autocomplete {[(“’ (these changes are under deliberation…)
  • make all RF guideline attributes available in fontParts
  • adding glyphList gnufl to use GN2UV, UV2GN
  • adding support for alt click link segment on 1/3 of segment length to grab the off curve, instead of just adding the off curve points.
  • Update internal tools.

Version 3.0b (built 1802072213)

  • ufoLib removes @MMK_R_ and @MMK_L_ prefixes nicely.
  • fontParts improvements, thanks to Ben and Andy!!!
  • Adding ctrl cmd C and ctrl cmd V, copy from layer and paste in layer for font overview.
  • Kerning groups displays as the fea group with the @ grayed out so you’ll see something will change.
  • Fix issue when setting width of glyph and round that value.

Version 3.0b (built 1802052052)

  • Improve renaming of the default layer (done in defcon)
  • Improve references in fontParts (done in fontParts)
  • Add fallbacks for guidelines.
  • Dont show alternate menu items in short cuts list.
  • Warn and fix when glyphOrder contains duplicates.

Version 3.0b (built 1801311757)

  • Updating internal packages.
  • Adding diaglogKit back into the game.
  • Fixing some py3 related dict items.
  • Converting from UFO2 smooth falls back to False
  • Improve UI scrolling when flipping back and forth to glyphs and features.
  • base64 needs bytes

Version 3.0b (built 1801262333)

  • Fix renameGlyph.
  • Add support showFullKernGroupNames.
  • Update embedded packaged.
  • Sort by drag and drop misc colors.
  • Rename sys_path_override to external_packages and create the folder by default
  • Improve undo for guidelines.
  • Dont add empty strings as glyph.names
  • Add glyphConstruction as module!!
  • Improve embedded docs with py3 samples
  • Adding RFont.compileGlyph and redirect to glyphConstruction
  • cmd + s in the preference editor to store into the defaults.
  • Remove dialogKit (if someone is missing this, please report)

Version 3.0b (built 1801180001)

  • Set version number to 3!!
  • Improve font.generate with old crufty FL formats
  • Improve compiling vfb
  • Fix issue in single window mode and remove glyphs

Version 2.0b (built 1801162247)

  • Support for “public.postscriptNames” lib key.
  • Fixed annoying py2 vs py3 float division in defconAppKit.
  • Improve external change detection.
  • Fix issue in space center with unencoded glyphs.

Version 2.0b py3 (built 1801151603)

  • Update of internal tools: defcon, vanilla

Version 2.0b (built 1801142157) & Version 2.0b py3 (built 1801142158)

  • All py3 improvements.

Version 2.0b (built 1801110011) & Version 2.0b py3 (built 1801110012)

  • Tons of py3 improvements.
  • Adding a feature file normaliser (remove non ascii chars)
  • Separate logs for RoboFont version and python version.

Version 2.0b (built 1801092328) & Version 2.0b py3 (built 1801092330)

  • Tons of py3 improvements.

Version 2.0b (built 1801082228) & Version 2.0b py3 (built 1801082229)

  • Python 3!!!!!!!
  • Update of internal packages.
  • Ported FDK to python 3!!!!!
  • Adding warning defaults (see Preference Editor)
  • Massively improve launch time.
  • Fix issue with a mix of open and closed contours.
  • Happy New Year!!!!!

Version 2.0b (built 1712271727)

  • Improve and fix external changes where there are no changes.
  • Lower the start drag time for font overview (now set on .25 of a ses).
  • Fix bug while adding a cmd drag constrain.
  • Reconsider renaming unreferenced groups.
  • Adding cmd + .` (like in DrawBot, thanks Just!!!).
  • The smart list should always have a selection.
  • Adding brotli dependency, so woffs can be build with fontTools
  • Change the bundle identifier to com.typemytype.robofont2. On the first launch RF will copy all older prefs in to the new pref file. Extensions and scripts stay the same and used for both versions.
  • Image.bounds is a attribute not a method…

Version 2.0b (built 1712112317)

  • Draw stroke before drawing blues.
  • Improve converting from ufo2 to ufo3.
  • Typo in single window mode.
  • defconAppKit: improve font info sheet

Version 2.0b (built 1712062331)

  • Fix group sheet: small error while removing glyphs and ui improvements.
  • Fix bugs in setting preferences space center colors.
  • Fix bugs in resetting preferences.
  • Update contour when using arrow keys with the bezier drawing tool.
  • Adding support shift+cmd for diagonal constrains.
  • If a single glyph fails to write RF will just report but still save the rest of the UFO.
  • Prevent adding glyph without glyph name.
  • Not removing short key prefs for RF1.8
  • On 10.13 os.listdir is not alphabetically anymore, sort before setting extensions and scripts.

Version 2.0b (built 1711242344)

  • Make it launch…

Version 2.0b (built 1711241623)

  • Reading invalid UFO2s that are valid in a UFO2 world:
    • unreferenced kerning groups: rename groups starting with @ to at_ if the group has no reference in the kerning.plist
    • remove duplicates it checks all kerning groups and removes all duplicates
    • glyph occurs in to many groups: report and remove that glyph from the invalid groups
  • Add fontParts autoUnicode()
  • Double click to edit a kern value in the kerning list.
  • Anchor names can be None in UFO3
  • Adding extractNSEvent in `
  • Add a diagonal constrain for line segments, use shift!!.
  • Adding auto point size as option for single line space centers.
  • Moving fontWillGenerate and fontDidGenerate to a more internal level, so it will send a notification when generating with a script.
  • Remove old characterSet options in the font info sheet, use the glyphOrder
  • Update internal FKD tools
  • Show guidelines and blues in a space center.
  • Make code completion work again.
  • New space center input: /@ to select a glyph from a given layer.
  • Improve code print
  • Update internal tools: fontParts, defcon, vanilla, fontTool, …

Version 2.0b (built 1710261741)

  • Annoying small typo when opening the inspector.

Version 2.0b (built 1710241149)

  • Support for next/pref glyph and layer in a Space Center.
  • spaceCenter.setLayer("foreground") to change the layer with a script.
  • Speed up opening of existing UFO.
  • Update dependencies
  • Write glif xml while copy past without trailing off curve.

Version 2.0b (built 1710041707)

  • Show the stack for a warning.
  • Fix issue when typing a wrong value in the space center value input.
  • New preference color for zero width glyphs.
  • Edit spacing with cmd down to move the glyph in his own white space.
  • Improve extension builder
  • Small changes and fixes and removing deprecated warning and …

Version 2.0b (built 1709150858)

  • minor changes in UI
  • protect some defcon representation factories (they cannot be overwritten by any other script)

Version 2.0b (built 1709011115)

  • Add short cut for Add Glyphs
  • Fixing typos in fontParts
  • Eliminate duplicates in glyph order

Version 2.0b (built 1708312057)

  • All extensions are loaded on start up
  • Negative glyph width is again possible.
  • Improve column names in inspector
  • Improve short cuts
  • Make Transform Again work
  • Improve kerning inside RoboFont, improved sorting of kerning pairs
  • Converting back to UFO2 add layers in the old RF1.8 style
  • Improve adding groups with support for new kerning prefixes
  • Add font.glyphOrder when its not set (very old ufos)

Version 2.0b (built 1708092325)

  • Fix typo in fontCompiler.
  • Add “roundTolerance” to fontCompiler options.
  • Adding fontPens`

Version 2.0b (built 1708082324)

  • Explicitly import baseObjects this is deprecated but used by lots of extensions.

Version 2.0b (built 1708082254)

  • Normaliser after save should work when default shouldNormalizeOnSave is True.
  • Extension bundles get a not required requirements attribute. Other extensions can require other extension (see others requiring DrawBot)
  • Dont add off curves when alt dragging, just move the oncurve without moving the off curves.
  • Adding CodeEditor to mojo.ui.
  • Check glyph width for false floats and convert to ints.
  • New pref: Menus listing all short cuts.
  • Adding beta days counter.
  • Adding RFont.hasInterface().
  • Dont check if Metrics Machine is installed, its not a nice RF extension.

Version 2.0b (built 1707261639)

  • update internal packages
  • dont check on Metrics Machine as this is not an extension
  • Improving saving over the same file with different ufoFormatVersion
  • Improve font.close()
  • Improve converting from ufo2 to ufo3

Version 2.0b (built 1707111545)

  • Adding Label API for fontParts points and bPoints.
  • Adding license entry for extensions.
  • When generating otf while the round value is set to 0 the coordinates will not be rounded while generating.
  • Improve selecting guides.
  • Update embedded FDK
  • Improve sorting glyphs by dragging.
  • Improve reading menu title from py file.
  • Fix cut.
  • Fix point labels.
  • Fix copy as component.
  • Fix double click path to select all.
  • Support for even bigger unicodes.

Version 2.0b (built 1706262219)

  • Support for menuTitle and shortKey descriptions in a script.
  • Add CallbackWrapper to`
  • Improve internal selection of font overview.
  • Fix guides menus.
  • Fix some smaller issues.
  • Improve opening of UFO2 and binary fonts.

Version 2.0b (built 1706131103)

  • Fix some fontParts internal connections

Version 2.0b (built 1706061517)

  • Fix bug: check if a notification has a specific attribute.

Version 2.0b (built 1706022222)

  • Update internal packages.
  • Copy paste anchors.
  • Inspector lists get Glyph.selectionChanged notifications
  • Adding getReverseComponentMapping to fontPart wrapper
  • Parse glyph names before setting them as font.glyphOrder
  • Components must refer to glyphs from the same layer
  • Add addComponent identifier arg for point pens
  • Adding fontParts test: from lib.fontObjects.fontPartsWrappers import testRoboFontEnvironment
  • Fixing adding item to preference start up scripts.
  • Dont show ui on `font.copy().
  • Improve font.removeGlyph(..)
  • Fix point labels
  • Rename default layer on any new font object (from public.default to foreground)
  • Fix issue on layer changed notification (fixing: KeyError: 'newValue')
  • Improve support when an encoding is provided in a script

Version 2.0b (built 1705231644)

  • Load binaries via fontParts
  • Fixing single window mode issues
  • Dont set the document changed after save…

Version 2.0b (built 1705221516)

  • Alt + click with edit tool will convert lines to curves.
  • Make sure all point pens have identifier arguments
  • Dont allow negative width…
  • Improve setPartent
  • Improve angledBoundsPen
  • Fix fontParts

Version 2.0b (built 1705172151)

  • Fix cmd-g and all find related short cuts.
  • Update internal packages
  • Using fontParts with the new proposed module
  • Fix guides angle that could be None
  • Preparing extensions to host their own license file
  • Fix jump to glyph in font overview
  • Fix issue when copy layer to layer with internal fontParts api
  • Add deprecated warning when using glyph.guides –> glyph.guidelines
  • Using warning module so user can enable or disable (still have to make the pref UI)

Version 2.0b (built 1703211455)

  • Fix compiling rtf by removing numpy completely.
  • Fix selecting anchor points.

Version 2.0b (built 1703211137)

  • Adding text size preference.
  • Extension can point a uninstall script.
  • Convert guides to UFO3 guidelines.
  • Updating dependencies.
  • Full support for fontParts with additional RoboFont methods.
  • Fixing small issues related to the conversion to UFO3.

Version 1.8.3b (built 1702022141)

  • updating internal libraries.

Version 2.0b (built 1701181735)

  • Adding deprecated warnings to FontParts.
  • Fixing font overview drag and drop.
  • Fixing scrolling smart sets.

Version 2.0b (built 1701152113)

  • fixing fontParts see commits and issues at
  • Warn when old style smart sets are present, they will work but are not editable anymore
  • revert back to the old drawing tools, and not the subclass of drawBot (became to complex)
  • Set correct document changed flags for script and feature editor

Version 2.0b (built 1701131343)

  • Make it work on Sierra
  • Fix small issue when the external edit window pops up
  • Make sure the store the features as unicode strings

Version 2.0b (built 1701122356)

  • Open UFO3 with lighting speed, seriously super speed: 30.000 glyphs in less then 3-4 sec.
  • Mega giga speed bump for space center even with lots and lots of glyphs, tested with 500 glyphs and I didnt feel any lag…
  • The fontParts api should be almost complete with and should kinda work parallel as the old UFO2 api.

Version 1.8.2b (built 1612201704)

  • Make the font info sheet work on 10.11+
  • Make the progress bar work on 10.11+
  • Move modification data toucher to, so a scripted save will also touch the root folder.
  • Improve space center input checker.
  • Improve circular warning by adding the source glyph.

Version 1.8b (built 1612031450)

  • Updating internal packages.
  • Use logging for logs, saved to Application Support/RoboFont/robofont.log

Version 1.8b (built 1611230904)

  • Updating MutatorMath.
  • Jumping version.
  • Solve start up bug…

Version 1.7.4b (built 1611212247)

  • Updating embedded packages.
  • Adding spaceCenterSelectionChanged notification.

Version 1.7.4b (built 1611202102)

  • Add warning when adding glyphs with already existing unicodes.
  • Show an outline error when smooth points aren’t really smooth.
  • A mojo.canvas has support for swipes and other events.
  • New space center notifications: spaceCenterDrawBackgroundLineView and spaceCenterDrawLineView
  • Ignore components menu when there are just to many.
  • Add font and glyph metrics to guides measurements.
  • Improve inspector transform pane input fields.
  • Ignore autoSavePath on preferences export.
  • A scripting window can become a floating window.

Version 1.7.3b (built 1610121754)

  • Adding sys_path_override to RoboFont application support folder to overwrite embedded packages and modules. Be careful!

Version 2.0b (built 1609082301)

  • A more robust UFO3 version!!!
  • Should be able to do your hard precious work

Version 1.7.1b (built 1609082244)

  • Support for MacOS Sierra.

Version 2.0b (built 1607181348)

  • Very first release with support for UFO3
  • Please handle with care, it will crash, it will not work bug free

Version 1.7b (built 1605141504)

  • Fix issue while compiling lots of UFOs.

Version 1.7b (built 1605061202)

  • Improve contour joining.
  • Add constrain when moving tangent point with an move to anchor.

Version 1.7b (built 1605050000)

  • Make the old ttfCompiler available with a deprecated warning.
  • Fix the EmptyCompiler, so it works with FeaturePreview.

Version 1.7b (built 1605041547)

  • Fix small issue in sending notification for a thread…

Version 1.7b (built 1605041001)

  • Adding glyph cell notification: glyphCellDraw and glyphCellDrawBackground
  • New icon
  • Fix issue while decomposing a selected component.

Version 1.7B (built 1604252323)

  • Implicit import so py2app embeds that EmptyOTFCompiler

Version 1.7b (built 1604252146)

  • Typo while getting the correct FDK version (local / embedded)

Version 1.7b (built 1604251502)

  • Add dummy EmptyOTFCompiler, in the original place… but still deprecated

Version 1.7b (built 1604201419)

  • Forgotten import while adding a contextual menu in a Space Center.

Version 1.7b (built 1604191603)

  • Improve transform, more focus on the proportional constrain.
  • Show transform info while transforming.
  • Adding skew + scale for scaling italics. Use “shift lock” to enable. An italicAngle must be set.
  • autoUnicode() uses uni<4-hex> and u<5-hex> glyph names to set the unicode value.
  • Adding clear guides to contextual menu.
  • Add notification spaceCenterAdditionContextualMenuItems for additional contextual menu items in a space center.

Version 1.7b (built 1603312218)

  • Adding support for dummy DSIG table. (see font - info - RoboFont pane).
  • Disable drag in a Space Center
  • Fix a bug that removed duplicated guides with same angle and position.

Version 1.7b (built 1603241211)

  • Improve API on collection view, mainly used externally in the glyphCollectionDraw notification.

Version 1.7b (built 1603211545)

  • Updating embedded GNFUL list.
  • Updating embedded FDK.
  • Fix About panel on 10.11

Version 1.7b (built 1603151708)

  • Adding GNFUL, glyphNameFormatter (with a : script separator)
  • Send notification when RoboFont will terminate.
  • Store custom unicode - glyph name map in the prefs (only those which aren’t in the GNFUL list)
  • Fix bug in KernCenter.
  • The length of the guides lines is calculated dynamically.
  • Don’t show output window when a print statement is not in the main thread. (both fixed here as well as in Mechanic)
  • Set italic angle as skew value (see options)
  • Dragging a guide with an italic angle if there is one set.
  • Add clear buttons to Extension Builder.
  • font.templateGlyphs is an attribute not a method.
  • Small optimisations in the rule editor (aka search)
  • Fix issue in Space Center when the input box is still active.
  • Draw end points of open paths differently.
  • Delay updating of components in the font overview (this should speed up editing a lot!)
  • Add version of embedded packages in the About window.

Version 1.7b (built 1602122157)

  • Solve issue in single window mode while opening a second document.

Version 1.7b (built 1602122126)

  • New notification glyphCollectionDraw, send when redrawing the ice cube glyph view. Be careful and don’t draw heavy stuff. Cache before!
  • Improve selection in font overview.
  • Remove kerning pair in `kerning.elimitate(..)

Version 1.7b (built 1602082207)

  • Add an optional check when the font does not contains an ‘o’ so ttfautohint recognise it as a symbol font.
  • Improve regenerating of the scripting menu, prevent loss of hot keys.
  • Fix bug in comparing components in the robofabWrapper.
  • Fixing flipping glyph.
  • Adding magnetic attribute to a guide object.
  • Show contextual guide menu when the guide is locked.
  • Optionally disable snapping of off curve points.
  • Support jumping to first and last glyph with home and end key.
  • Support for /! to display the glyph selection in a space center.

Version 1.7b (built 1601082309)

  • Adding rFont.templateGlyphOrder
  • Fixing drag and rop issue with files in a code editor.
  • A glyph view has drawTextAtPoint and drawTextInRect to assist you to draw text in the glyph view.
  • Update glyph after move(x, y).
  • Better support for orphan glyphs.
  • Embedding feaPyFoFum, use the font.lib key com.typesupply.feaPyFoFum.compileFeatures to enable it while generating.
  • When no glyph name is given don’t analyse while pasting.
  • Improve code editor syntax highlighting.
  • Updating the embedded FDK to the most recent release.

Version 1.7b (built 1511231129)

  • Building extensions with “.pyc only” enabled copies script linked to the menu as normal .py files.

Version 1.7b (built 1511171500)

  • Keep BPoint anchors smooth when inserting an other bPoint.
  • Reset all warning button in the preferences.
  • Fix ttf compiler when a GOADB is averrable in the font.lib.

Version 1.7b (built 1510291033)

  • Prevent circular component references.
  • Fix issue setting maxComponentElements.
  • Show message when generating failed.
  • Fix display of left margin while changing it in a Space Center.
  • Support for displaying big unicodes in Space Center and glyph cells.
  • Fix makeotf by using Popen to retrieve all stdout and stderr.
  • The Font Overview’s search query should not change while show/hide the find bar.

Version 1.7b (built 1510071143)

  • Fix bug when pulling bcp out of two overlapping oncurve points.
  • Improve color overlay for images on 10.11.
  • Improve performance in Space Center when there is no need of a current glyph (aka /?).

Version 1.7b (built 1509281617)

  • Add support for some display options in a Kern Center (same hot keys as in a Space Center).
  • Fix issue when something wants to set a lib object in a RFont.
  • Update the embedded FDK.

Version 1.7b (built 1509151643)

  • Support for cmd+F in single window mode.
  • Update glyph cell representation when a layer is removed
  • Fix weird cmd+` issue.

Version 1.7b (built 1509101522)

  • Improve cursors when switching between retina and pixelated displays.
  • Fix bug when removing a last smooth bPoint in an open contour.
  • Support for . + --> self. in a code editor.
  • Fix spaceCenter.getPointSize().

Version 1.7b (built 1508282101)

  • Revert segmented layer display options (pressed/dark is on, released/light is off).
  • Improve setting data in inspector list views. ( cannot by None or empty, baseGlyph is required for a component).
  • Update unicode values while opening a UFO (helps when there are no unicodes in the UFO)
  • Do not add a unicode value for a template glyph if the unicode already exists.
  • When renaming a glyph also update the glyph order.
  • Added updateAllSmartSets() to update a smart set list in the ui.
  • Added selectSmartSets(selection) to set a selection in a smart list. (selection is a list of indexes)
  • Improving SmartSet support. (it works now)
  • Sort again when a glyph is dragged and no specific row is provided.
  • Store inspector pane sizes and reused them while opening.
  • Only show find bar when the font window is the main window.
  • Set the text field as first responder, whatever setting are used.
  • Improve support for cursors on retina displays, when using a cursor please use CreateCursor(pathOrNsImage, hotspot)

Version 1.7b (built 1507282329)

  • Fix colors label in search bar.
  • Support to manually resize the columns in the font overview.
  • Fix compiling scripts where the file name contains unicode chars.
  • Snap to grid even when there is no transformation set.

Version 1.7b (built 1507232110)

  • Send notification when drawing the background when the view is inactive.
  • Adding MenuBuilder to `mojo
  • Improve SliderEditStepper with support for floats
  • Improve drawing tool.

Version 1.7b (built 1507011742)

  • Add GDEF if necessary while building TTF binary.
  • Add local python lib dir to sys.path.

Version 1.7b (built 1506261211)

  • Improve glyph.setParent(font)
  • Remove limitation for ttfautohint requiring a lowercase ‘o’
  • Update vanilla, compositor and fontTools

Version 1.7b (built 1506132352)

  • Fix big unicodes issue, by updating ufo2fdk
  • Recalculate beam position when setting it with a script.
  • Ignore shutil.rmtree errors.

Version 1.7b (built 1506081655)

  • Adding vertical metrics color to the preferences.
  • Adding roundedRect to mojo.drawingTools
  • Adding glyphWindow.getVisibleRect() to a glyph window. This is the actual visible rect without the scrollers and rulers.
  • Improve undo.
  • Support for Data() object in json.
  • Check if the extension root path exists.

Version 1.7b (built 1506021656)

  • Adding menu when launching in safe mode (shift down).
  • Check ‘autoSavePath’ default key and revert the expand user back to ‘~/…’.
  • Disable info.clear().
  • Fix starting point shift while setting extreme points.
  • Improving mojo.canvas.
  • Improve off curve while modifying in an open contour.
  • Add glyphWindow.addAdditionalView(vanillaView).
  • Adding glyphs should should clear the glyph when overwrite is enabled.
  • Installations of extensions is based on extension in the default folder.
  • Add glyph window tool sorting in the preferences.
  • Drag and drop should copy the width of the dropped glyphs.
  • Rename glyph is possible when the glyph already exists as a template glyph.

Version 1.7b (built 1505182242)

  • Improving mojo.canvas.
  • Fix starting starting point issue while setting extreme points.
  • Revert button highlights for layer panel in the Inspector.

Version 1.7b (built 1505131056)

  • Add AllWindows() and CurrentWindow() to mojo.UI.
  • Add find bar to Output window.
  • Support to get a CurrentGlyph() from a Space Center selection.
  • Fix fontTools and update with compositor to get Feature Preview work as good as ever.

Version 1.7b (built 1505102317)

  • fix issue when mark colors are ints
  • fix issue when font doest contains any cursers while opening
  • glyph.note could be None so don’t copy it

Version 1.7b (built 1505092318)

  • fix some SmartSet object issues
  • support for mark color visual colors in rule editor
  • copy and paste glyph.note
  • some typos (toggle component info with hot key)
  • add removeDefault in
  • support for custom extension root use default key: “extensionsDir”

Version 1.7b (built 1504271527)

  • improve sortBy AllFonts:
    AllFonts(“familyName”, “styleName”, “italicAngle”, “isItalic”, myCustomFunction, useDefault=True, reverse=False)

    “isItalic is an embedded custom function, custom functions takes a font as argument and should return a bool, int, str or a tuple with one of those types
  • improve cap lock down and hot keys
  • improve font.copy() by also copying layers
  • support for VDMX table: use font.lib key “com.robofont.robohint.VDMX” with following data structure:
    version : 1, # recommended
    ratRanges : [
    {bCharSet : int, xRatio : int, yStartRatio : int, yEndRatio: int, groupIndex : int}
    groups : [
    {yPel : yMax, yMin}

Version 1.7b (built 1504171012)

  • change to github fontTools package
  • add AllFonts().sortBy(fontInfoAttr) useful to sort a list of font by fe usWeightClass
  • fix shiftDown in Space Center
  • fix commandDown in combination with capLock when using arrowKeys

Version 1.7b (built 1504151130)

  • fix measurement in layer glyphs
  • ignore cap locks for hot keys, shift has to be explicitly be pressed
  • ignore template flag when importing empty glyphs from a binary font

Version 1.7b (built 1504131456)

  • improve checking fonts for quad curves
  • fix bug in measurement tool with an italic offset
  • use the width of the glyph to check if a component can be used with the flag USE_METRICS (only while generating TTF)
  • transform matrixes in components must be tuples
  • while transforming glyphs check the transform matrix while transforming the metrics
  • adding support for cap lock modifier key in event tools
  • change behaviour of the arrow keys based on if the cap lock key is down, when cap lock is down the arrow keys behave like a mouse

Version 1.7b (built 1504031715)

  • fix moving tangent points
  • change goaDB lib key to “com.typesupply.ufo2fdk.glyphOrderAndAliasDB”
  • support to hide template glyphs in space center

Version 1.7b (built 1503311659)

  • jump to 1.7 :)
  • support for custom glyphOrderAndAliasDB, store it into the font.lib with key “com.robofont.GlyphOrderAndAliasDB”
  • support for hdmx table, store it into font.lib with key “com.robofont.robohint.hdmx”
  • fix a slicing issue
  • copy all unicodes during generating
  • fix shortkey UI bug
  • add contextual menu event in font overview “fontOverviewAdditionContectualMenuItems”

Version 1.6.1b (built 1502231104)

  • set point size correctly when opening a new Space Center
  • fix bug in checking component baseGlyph names for robofab interpolation
  • be nice and pop up a proper warning when a UFO is badly written (but with correct syntax, like 2 moveTo points in the same contour)
  • fix bug while generating glyphs when the template already exists
  • improve group sheet and make it more flexible
  • add KernCenter, GroupCenter and SpaceMatrix to mojo.UI
  • fix some small mojo.compile.ttfautohint issues
  • layer glyph with image are now properly written back to the UFO
  • send notification when a testInstall is done “didTestInstallFont”

Version 1.6.1b (built 1502041115

  • Typo’s in the Check Curves sheet and fix import error
  • remove empty dicts in the glyph.lib while saving
  • fix generating ttf binaries
  • move multiple tangent points selection according their angle
  • improve glyph view updates on 10.9
  • round the center points while transforming a glyph
  • optionally disable event stream use “enableExternalFileCheck” (True/False)

Version 1.6.1b (built 1501131649)

  • fix image bug (forgot the import something…)
  • fix disappearing view on small zoom levels
  • enable automatic text replacements in code editors
  • fix fontTools recalcBounds when there is no extreme point

Version 1.6.1b (built 1501051131)

  • fix beam spacing issues
  • use LooseVersion, just in case extensions are using non standard version strings.

Version 1.6.1b (built 1501041137)

  • set default info attributes also for fonts without an UI
  • correct colors sliders for 10.10
  • support word wrap in codeeditors (py, fea, …)
  • jump to definition (alt+cmd+J)
  • fea syntax colouring support for glyph names with dot
  • limit the levels of undo (default 30 but can be set by a hidden preference)
  • speed improvements by not using lazy from AppKit import *
  • glyph view should be feel a lot faster (almost 4 times faster)
  • adding from mojo.canvas import CanvasGroup (same as Canvas but with no scrollview)
  • fixing kerning sheet UI

Version 1.6.1b (built 1411271640)

  • fixing autosave
  • touch .ufo file so the mod that adds up
  • add support for center in a space center
  • small UI improvements in 10.10
  • bug in setting layer color through robofab
  • fix bug in joining contours
  • fix some high unicode input bugs
  • clear distinction between cmd+F (selected find as a smart set rule) and cmd+alt+F (toggle the view)
  • fix setting short keys
  • fix accordionView on 10.10
  • remember the cursor position when pasting glyphs in a space center
  • fix reordering extensions in the pref window
  • support for some extensions time logging
  • always send the current glyph in a notification
  • make the guides popup menu a bit wider
  • send spaceCenterInputChanged notification
  • check the current font before updating status bar
  • better support to set display states in a glyph line view
  • adding toggle upside down in the prefs
  • fix layer order in a glyph cell preview
  • robofab insert glyph and set item use the same internal logic
  • fix font.cmp

Version 1.6b (built 1410062128)

  • Fix FDK on 10.9 and 10.10… (seems like py2app doesnt copy permissions)

Version 1.6b (built 1410041628)

  • beta only for 10.9+ (will also work on 10.10)
  • Fix embedding control type

Version 1.6b (built 1410031507)

  • add a nice warning when assigning an unicode that already exists
  • fix background color bug in preview mode
  • extension name must be ascii only
  • extension dev name can be unicode
  • optimize behavior between mouse and arrow keys point modifications
  • add in-between values when beam is active in space center
  • add hot key to toggle measurement info
  • add mutatorMath + mutatorMath.designSpace icon :)
  • kerning can be set to zero for a specific pair (breaking the old robofab API…)

Version 1.6b (built 1409112333)

  • make it easier to add a UI to an existing font without a UI
  • easier to wrap defcon objects
  • solve small bug in extreme points
  • handle shift click on selected points
  • fix robofab font.kerning.remove(pair) and del font.kerning[pair]

Version 1.6b (built 1408212151)

  • fixing transform hot corners
  • adding currentFontOnly option in getting windows through mojo CurrentGlyphWindow(currentFontOnly=True) works for all windows in mojo
  • fix font.path with an empty font
  • fix joining contours
  • dont jumpt to hidden layers
  • typo in testDeinstallFont(fontObject)
  • set default size for html help view
  • support for esc in Add Layer Sheet

Version 1.6b (built 1407241330)

  • fix warning when checking/resolving aliases
  • improve cmd+F without toggle, always show the find bar
  • improve add glyph sheet, with imports from character set or other open fonts
  • fix window order bug, when double clicking in space center
  • fix joining contours when points are on top of each other
  • improve messages while installing, de-installing extensions (with version numbers)
  • improve segment selection
  • jump to glyph pushes exact matches to the top
  • support for cmd +/- in the space center inputs and matrix view
  • glyph cell slider + alt will resize all open fonts cells
  • fix left/right issue in kern center
  • space center size is a combo box
  • support for subclassing internal font objects
  • fix kerning

Version 1.6b (built 1406261244)

  • improved support for copy paste and preserving contour order
  • adding
  • ui uniformity on list colors cells
  • rounding issues in transform pane

Version 1.6b (built 1406242316)

  • mojo.CurrentFontWindow().setGlyphNamesAsSet(glyphNames)
  • improved support for code completions
  • optional to toggle future division

Version 1.5.2b (built 1406121057)

  • font.setLayerDisplay has an option for “all”
  • improved support for test install when there is no UI
  • mojo.UI.getTestInstalledFonts() and mojo.UI.testDeinstallFont(font)
  • typo in mojo.compile.stemHist
  • update color marks in the rule editor with the current colors in the font
  • components preview color adjustments
  • hide empty py files in the menu and support for alias
  • prefs for preview fill and preview background colors
  • solved bug in font.copy()
  • better support for sorting extensions
  • shift down while starting RoboFont will launch a clean install without any extensions installed
  • support for curve conversion from cubic to quad with the same logic as the other way around
  • enable again “flip” in space center
  • live preview of editing the left margin editing
  • when a font has more then 10000 glyphs parts are loading in a thread

Version 1.5.2b (built 1405051443)

  • bug fixed in settting and getting display states of a space center
  • don’t read all glyphs while jumping to an other glyph in a glyph view
  • always send key down event in a space center
  • typo fixed in importPreferences

Version 1.5.2b (built 1404232335)

  • fixing bug in drawing bitmaps
  • support for transform location while flipping
  • reset image selection after locking an image
  • glyph order should only show existing glyphs also in the ui less font object
  • send “Glyph.WidthChanged” whenever the glyph.width changed

Version 1.5.2b (built 1404110024)

  • fix bug in getting the length of an empty contour
  • slice tool snaps to guides
  • improve curve conversion when generating ttf files

Version 1.5.2b (built 1404022257)

  • bug fixed on 10.6
  • bug fixed on setting an defcon observer in a robofab object
  • adding space when commenting a line of code #line of code

Version 1.5.2b (built 1403311552)

  • fixing but in setting x, y values in guides
  • support for adding inspector window panes and toolbar items in both a font window as glyph window
  • typo in .isCompatible() when comparing components
  • extensionBundle has a new bundle.html attribute, must be a bool indicating if the bundle has html help files
  • fixing a rounding error while compiling to ttf

Version 1.5.2b (built 1402161613)

  • visual support for multiple unicodes in inspector window
  • adding agl path, for custom unicode <-> glyph name mapping
  • fixing bug in copy paste point selection (due to the new orphan points copy selection)
  • destroy all cached contour bounds when a glyph has changed

Version 1.5.2b (built 1402072349)

  • fix nice warning :)
  • adding font.showUI() only if the font has no UI yet

Version 1.5.2b (built 1402071558)

  • better support for orphan point selection during copy paste
  • select the glyph window before setting a glyph
  • test install fonts send out a FontNotificationActionFontsChanged so it works better with native mac apps
  • changed to work better with layers
  • support drag and drop glyphs in the scripting window
  • bug fixed in setting the transform matrix in the inspector
  • bug fixed in removing observers
  • bug fixed in alt copy to glyph names

Version 1.5.2b (built 1401191422)

  • check on open contours when getting the bcpIn from a bpoint
  • raise error when setting an bcp in an open contour
  • support for orphan point selection during copy paste

Version 1.5.2b (built 1312310908)

  • fixing space center beam bug
  • remove keyring dependency and add getPassword, setPassword and deletePassword to mojo.UI
  • adding email package
  • adding OpenSCriptWindow(
  • undo support for flip layers
  • better support for removing line segments

Version 1.5.2b (built 1312161507)

  • adding smtplib and keyring as modules

Version 1.5.2b (built 1312111726)

  • use italic slant offset as a display option
  • adding getRepresentation to robofab glyph wrapper
  • support when users have installed vfb2ufo in /usr/local/bin
  • bug fixed in getting extension icon
  • bug fixed in transforming components selection

Version 1.5.2b (built 1312031619)

  • preserve checkboxes in the add glyph sheet
  • support for glyph.note in the font overview list view and font search
  • improved support for when no path is given and font has no path
  • remove closed documents from AllFonts
  • support for transform component offset
  • set background color in the scrollview of the output window
  • glyph preview draws the full glyphs and a white outline stroke for components

Version 1.5.2b (built 1311202307)

  • update the embedded FDK
  • fix bug while generating an unsaved font

Version 1.5.2b (built 1311181343)

  • fixing bugs in the pre compiled glyphs cache

Version 1.5.2b (built 1311132221)

  • set the output from a script not editable
  • fix popover bug in extension builder
  • reset selection after locking an image
  • reset selection when switching to transform mode
  • check if short key path exists
  • save state when zooming in/out with cmd + -
  • inspector transform pane accepts enter to apply a transformation
  • fix bug in rounding kerning
  • updating template glyph when changing char set in font info sheet
  • fixing bug in diving a glyph
  • fix bug in copying orphan glyphs
  • cache pre-compiled glyphs
  • check on point remove if point is a simple corner point
  • use the new booleanOperation package for super speed remove overlap
  • fix bug in robofab info
  • get unicode from glyph name uni or u
  • don’t draw focus ring in single window mode as it seems to be buggy on 10.9

Version 1.5b (built 1310020951)

  • dont preserve selection when point structure has changed after undo
  • adding `fontDidClose event
  • group undos while dragging values in the code editor
  • support for up/down/left/right even for tuples in the code editor
  • support for layer images saving in a .robofontImg file
  • new shortcut editor in the prefs
  • set ttf compiler preserve curves as default
  • typo in
  • updating mojo.UI for creating shortKey defaults

Version 1.5b (built 1309232305)

  • delete multiple smarts sets
  • drag and drop smart sets only when only 1 is selected
  • Space center uses the defaults for jumping to the next glyph (selected set or all glyphs)
  • revert the smart set counter behavior
  • set layer up/down correctly :)
  • adding ctr+cmd to copy metrics from a component in the glyph view contextual menu
  • adding space matrix view toggle hot key
  • robofab bPoints can be selected
  • robofabwrapper glyph.removeSelection
  • reload method for a html view
  • drag and drop contours in inspector window
  • making the drop down list in space center input longer
  • adding segment index
  • allow ExtensionBundle to save an extension of make one from scratch

Version 1.5b (built 1308292133)

  • reveal python script folder button in prefs
  • typos
  • remove overlaps works fasters
  • try to search for the parent of a glyph in a robofabwrapper glyph
  • update the smart set in a thread

Version 1.5b (built 1308182209)

  • 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
  • finally jumping to version number 1.5 :)
  • adding mark color option when generating new glyphs
  • separate show guides from rulers
  • check for empty image dicts in glyph lib
  • better output for ttf compiler
  • round width when right margin is set
  • fix font attributes in code editor
  • set glyph changed when setting new unicode
  • exclude PUA from converting back to unicode chars in space center
  • improved esc menu in space center
  • fix bug in beam factory when two intersections are on top of each other

Version 1.4b (built 1307311601)

  • remember show line numbers
  • import and export defaults with the new syntax colors system
  • highlight longer slices of text
  • handling space window titles similarly as others
  • bug solved in exporting prefercense in mojo.UI
  • making the prefs wider so number displays can be bigger
  • improved UI for extension builder
  • bug solved in extending text selection with shift arrows
  • adding Show Image Info
  • moving Show measurement info to the display options

Version 1.4b (built 1307152301)

  • setting and getting transform matrix from a robofab component
  • check if the font used for the scripting window is installed
  • adding AllSpaceCenterWindows and CurrentSpaceCenterWindow
  • support for import and export prefs to and from a dict
  • new syntax highlighter (based on pygments)
  • dont force a point to float coordinates
  • always use the font window to display messages and dialogs
  • rename colors to appearance in glyph view prefs
  • set to default “fontGenerateCheckComponentMatrix” to False for full matrix support in components
  • proper shortcut for indent and decent
  • prevent deleting foreground layer
  • typos in activating and deactivating fonts
  • remember show line numbers

Version 1.4b (built 1307011427)

  • typo in glyph view display settings
  • bug fixed in getPointSize() in a Space Center
  • bug fixed in draggin multiple points

Version 1.4b (built 1306251145)

  • update found should be solved completely :)
  • bug solved in robofab rotate, skew and the offset attribute
  • rename glyphs with more then 5 unicodes with uXXXXX
  • bug solved in parsing incoming urls
  • add components takes both unicode search value as glyph name search
  • better support for multiple tangent point selection
  • ctrl + cmd + A (select all components)
  • support for setting transform matrixes in an image object
  • check if the rename glyph is not empty
  • small bug fix in space center while drag and drop
  • fix bug in joining contours with line and curve segment
  • add proper support for left - right scrolling (while zooming in Space Center and glyph view)

Version 1.4b (built 1305242155)

  • support for mutli smart set selection
  • arrows keys in smart set
  • don’t change input when there is no selection in space center
  • improved preparing objects for garbage control

  • adding a close glyph window method
  • make the glyph also work stand alone

  • adding “parts” report while generating and adding log to compilers
  • faster generate by not updating the progress bar

  • UI changes to license window

  • publish event when extension is build
  • set html as string into an help window

  • bug solved in smart set rename “All Glyphs”
  • publish currentGlyphChanged when opening a glyph window
  • better support for external changes

  • bug in export smart list to groups
  • del in an robofabwrapper bPoint
  • bug fixed in setting a note in a glyph

  • adding update view to the multiline view
  • support for inserting BPoints in a contour
  • support for ‘robofont://path’ and ‘robofont-script://’
  • support for license with start date

Version 1.4b (built 1303202301)

  • bug fixed in saving images
  • better support for external updates
  • bug fixed in image sliders
  • typos
  • space center has sp.window() returning the vanilla window object
  • support for custom events
  • glyph parent is not required for get and set ray margins
  • select components after decomposing
  • bug fixed in robofab contour.breakContour(point)
  • bug fixed in ttf splines, its possible to have a contour without any on curves, doh
  • improved event stream
  • bug fixed in opening ttc collections
  • setBeam(pos) and beam() in space center
  • fixing “slash” glyph dropped on space center
  • flexible cell width in space center

Version 1.4b (built 1302261653)

  • fixed setting unicode in list view
  • only update content when file path changes if its a ufo
  • set left to right properly (flags next to the menu item)
  • support for glyph, component and selection colors in mojo.glyphPreview
  • mojo.UI.multiLineView returns a proper robofab wrapped glyph
  • adding toggle kerning in space center hot keys
  • robofabwrapper adding setLayerDisplay
  • proper order of layers in glyph view
  • adding SpaceCenterToPDF and GlyphWindowToPDF
  • improved insertGlyph when source glyph already in font
  • check the text font in scripting window, should not be None, otherwise use fallback font
  • adding lock image to image contextual menu
  • join a contour with an other contour (only when two end/start points are selected)
  • fixing double points in ttf compiler
  • fixing bug in kerning.round()
  • opening .ttc TrueTypeCollection files
  • bug fixed in decomposing components from the contextual menu
  • opening space center sets the selected glyphs when there is already a space center open
  • remove image extension if no images in the font
  • alt click generate bcp on straight line with the rule of thirds
  • set points as selected after a slice
  • bug in intersectionTools, narrow it down with cleaner floating numbers
  • bug in jumpToGlyph don’t fixed hex numbers
  • add color sliders and color to images
  • fixed save as bug, for fonts without UI
  • typo in compile tools
  • improved smart sets in mojo.UI

Version 1.3.1b (built 1301081247)

  • new event callbacks in Space Center: spaceCenterDraw, spaceCenterKeyDown, spaceCenterKeyUp
  • changing decompose pen to a pointPen to support open paths and point names
  • support for tracking in Space Center: aSpaceCenter.setTracking(10)
  • fix an old scroll to selection bug in Space Center

Version 1.3.1b (built 1301041826)

  • check if outputview is not None before updating the font in a scripting window
  • improving break contour
  • improving control click and control down in tools
  • fail silcently when components arent in the font or the font is not set, in mojo.glyphPreview
  • typo in decomposing based on the transform matrix
  • only check for the second angle if there is a second handle to maintain bcp contrains
  • fix pfa generation without any unicode value
  • changing to numbereditText for font info sheet
  • extending support boolean operation for robofab glyphs
  • better undo support for global guides
  • scale bug in drawingTool
  • try to recover the contour after an undo
  • bug solved when trying to close a single point path
  • support for glyph math and boolean operation with union, % difference, & intersection and xor
  • don’t live update space center on glyph change when there are lots of characters to display
  • remove empty contours during loading
  • set imported ttf as “qcurve” prefered segmentType
  • check contour direction while generating ttf or otf from different sources
  • fixing space center large linespace frame size
  • open the multiline view as vanilla like object

Version 1.3.1b (built 1212082218)

  • fixing save smart set query bug
  • fixing loading smart sets bug
  • check if the transform center is None during transform drag
  • point must have handles to move over his handles :)
  • check of the a py doc file has been moved (attr from file manager seems to be None)
  • check for glyph is None in editing tool on copy, paste, cut and delete
  • don’t set default dir when opening a script
  • nicely set anchor names and coordinates

Version 1.3.1b (built 1211231119)

  • fixed bug in displaying smart set cells if there is no document anymore
  • fixed bug in deleting parts
  • fixed bug in robofab wrapper getting segments
  • fixed bug in convert splines when the quad contour is an open path
  • the starting point can be none if the component reference does not exists

Version 1.3.1b (built 1211201207)

  • changing anchor syntax to Agrave=A+grave@top
  • adding Deselect to main menu edit
  • new preference for Space Center input view selection color
  • fixing contrains bugs
  • bug fixed in selecting anchors and components
  • optimized bcp angle while smooth and the second bcp is really short
  • don’t pass open paths to remove overlap
  • changed to a proper get and set getGlyphViewDisplaySettings and setGlyphViewDisplaySettings in mojo.UI
  • adding Anchor indexes and component indexes display options
  • setGlyphViewScale and centerGlyphInView for a glyph window

Version 1.3.1b (built 1211141643)

  • adding view short keys to the window -> view main menu
  • optimizing pfa compiler
  • bug fixed in setting glyph order by dragging glyphs
  • better support in detecting quad / cubic glyphs
  • backup code if code makes RF crash :)
  • bug fixed in beam glyphs
  • debug window is accessible through mojo
  • bug fixed in removing glyphs and template 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
  • bug in writing smart sets to defaults
  • bug fixed in external updates and save operation
  • overwrite checkbox glyphs when adding glyphs
  • building components with anchors
  • adding anchor syntax Agrave=A+grave:top
  • adding support for isCompatible with nice error report
  • support for tabs in scripting window
  • space center new syntax: /:

Version 1.3.1b (built 1211021533)

  • optimizing external changes (like when a UFO is stored in a dropbox folder and changed when RF is active)
  • OpenFont(… showUI=False) can be opened in a glyph window or space center
  • search for markcolor
  • smart set binders
  • toolbar are more flexible and easier to change
  • shift constrain in set scale image
  • font.templateSelection in robofabwrapper
  • bug fixed in flip horizontal and vertical
  • adding hasOverlap() to robofabwrapper (both in glyph and contour object
  • anchors will draw coordinates when show point coordinates is active
  • font.copy(showUI=False/True) to make a copy with or without UI
  • adding QTKit
  • enter on anchor selection
  • big fixed in renameGlyph(..)
  • transform position is written back to the defaults
  • make sure the space center input box is continuous

Version 1.3.1b (built 1210191347)

  • bug fixed in include(myFile.fea)
  • bug fixed in remove overlap
  • better and more flexible drawing tools, useful for subclassing

Version 1.3.1b (built 1210152150)

  • Bug fixed in Smart Set to group convertion
  • Don’t mark template glyphs
  • 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
  • Added Close Contour to hot keys
  • Support for opening binary fonts without UI and scripting
  • Clear output before script run
  • robofab kerning is not utterable
  • adding stemHist to mojo.compile
  • optimizing RTL kerning
  • esc in space center input will cancel setting metrics
  • 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

Version 1.3.1b (built 1209291109)

  • fixed bug in remove overlap
  • fixed slicing two different contours (like an ‘o’)
  • added “Close Contour” to hot keys

Version 1.3b (built 1209241438)

  • while generating decompose when a component has a scale transform
  • compare fonts with None
  • proper rayMargin in dummy glyph
  • bug in deinstalling tool
  • robofab handle segment with trailing off curve correctly

Version 1.3b (built 1209142115)

  • more precision in mouse cursors and hit point
  • adding getToolsOrder, setToolsOrder
  • the inspector view is resetting the first responder to the glyph view as soon as there is an empty control selection
  • component color must be transparent in the glyph preview
  • check if the font used in the codingtext views is still installed
  • check glyph name while deserializing
  • to create a glyph order let the emptyoutlinecompiler make the glyph order if it is set to none
  • making the font info sheet more flexible
  • reset selection after decomposing
  • update components references after undo and change in space center

Version 1.3b (built 1209060932)

  • annoying bug solved in robofab wrapper without UI
  • bug solved in getParent, taking the slowdown in comparisons

Version 1.3b (built 1209032229)

  • transform again (cmd-d)
  • improved jump to glyph in space center
  • renaming layers
  • adding new prefs to pref window
  • cell slider change when using keys to zoom the glyph cells
  • slowing down by checking each glyph.getParent() in the collection view
  • reset, export and import prefs
  • adding mojo.UI importPreferences exportPreferences

Version 1.3b (built 1208271408)

  • all assets are Retina ready
  • mixed selection
  • for Retina users there is a switch to turn off antialias drawing “shouldDrawWithAntialias”

Version 1.3b (built 1208221734)

  • fixed bug in remove overlap
  • measurements and drawing tool have support for guides
  • some new icons, retina read

Version 1.3b (built 1208211213)

  • fixed bug in setting glyph and keep the same scroll amount, making switching glyphs less jumpy
  • ttf compiler check if anything goes wrong in generating the empty font and report nicely
  • typo, been there a loooong time :)
  • adding a clearDefaults in
  • esc during transform
  • reset transform during delete and cut
  • allow transformation of single points and multiple points not even in a segment
  • magic selection tool should also select single move to points
  • typo in showing blues with a hotkey
  • slice bug solved
  • nasty transformation bug
  • better support for transform and guides

Version 1.3b (built 1208112316)

  • fixed bug in displaying contour indexes
  • updating FDK to makeotf.lib version: 2.5.558255
  • better support for preserving point attributes during remove overlap

Version 1.3b (built 1208071518)

  • adding pref starting point color for open contours
  • changing some warnings
  • check if mouseDownPoints is not empty in editingTool
  • return the value of RSegment.smooth
  • properly handle cancel in new layer sheet
  • contour.points represent the same order of points, they must not be distilled from segments
  • updating FDK to 2.5 with better support for mark to mark (patch from Miguel and Erik)

Version 1.3b (built 1207212036)

  • nasty bug :)

Version 1.3b (built 1207202230)

  • build menus improvements
  • feature editor allows drag and drop and checks on .fea and convert it to “include(dropFilePath);”
  • adding “getScriptingMenuNamingShortKey” and “setScriptingMenuNamingShortKey” to mojo.UI
  • preference for format used in test install “testInstallFormat” (should be “otf” or “ttf”)
  • read glyph order from binary fonts
  • ttfautohint requires “o” character so test it during generating
  • all textEditor have disabled rich text formatting
  • reorder points when segments, only for the [off on …. off] combination
  • ttf compiler: space can be anywhere in the glyph order
  • bug solved in editing tool: dragging a mix of off curves and on curves
  • get transformMatrix from image object in robofab
  • adding FDK stemHist support

Version 1.3b (built 1207051351)

  • check binary font for control char in
  • check if selection strokwidth is 1 to draw pixel stroke
  • adding crosshair to anchor, component dragging
  • clear also all layers when a glyph gets deleted
  • bug in angleboundscontrolpen
  • fallback for robofab kerning for missing key to None
  • alt delete also removes the template glyph
  • adding mojo.compile
  • bug in prefs if default template font doesn’t exists
  • draw cross hair with scale
  • adding breakContour(point) to robofabwrapper
  • adding drag delay of 0.12 sec in the glyph cell overview
  • typo solved in kerning sheet

Version 1.3b (built 1206281028)

  • copy glyphs and create layers if the glyph is layered
  • update selection from robofabwrapper
  • degrees / radians conversion problem in saving transform setting to the defaults
  • checking glyph name when dragging them around
  • index bug while drag and drop glyphs from a sub set

Version 1.3b (built 1206252319)

  • fixing ray margins
  • typo in robofabwrapper interpolation kerning
  • don’t overwrite the “glyph” key in the info notification object
  • get level of search for python files from the defaults “pythonFileFolderLevel”
  • space center alt down + drag move glyph in y, alt+cmd+drag move glyph x and y
  • always decompose first while generating
  • adding join contours in contextual menus
  • adding separators in contextual menus
  • marque selection color in prefs
  • font overview repsonds to cmd - j adds a jumps to glyph
  • adding break contours in contextual menu
  • adding layer data in copy paste from font overview
  • check space center input for glif xml and replace it with
  • adding “glyphViewMininumumVisibleZoom” to defaults
  • smaller zoom levels with shift cmd + -
  • adding test install hot key
  • adding font metrics to measurements and some measurement prefs
  • better error message if generate format is not supported
  • robofab wrapper appendSegment removePoint removeBPoint
  • support for robofabwrapper glyph metrics to set value with a string glyph metrics math
  • moving selection drawing to base event call myTool.drawSelection(scale) to draw the selection
  • add default for drag and drop glyph order sorting “fontCollectionViewAllowsDragAndDropSorting”
  • check if the user as selected a sort option otherwise ignore it and do nothing
  • font overview drag and drop
    • self drop on row: add contours
    • self drop on row+ alt: add as components
    • self drop between row: reorder glyph set
  • add “binaryFontWillOpen” notification
  • alt click smart list to select set
  • scroll with control to zoom faster with scroll wheel
  • single click to select kerning pair

Version 1.3b (built 1206051421)

  • mojo has support for CurrentFontWindow?()
  • window objects like CurrentFontWindow() and CurrentGlyphWindow() has window() method returning the window
  • solved bug in editing when marque selection
  • adding help to the name space for scripting
  • set smart set selection to main set if a glyph has been added
  • update unicode after paste in the font overview
  • don’t display unichr in space center when its bigger then 65536 (python unicode is limited…)
  • adding draw drawpoints and box to robofab components
  • converting ttf off curve points must be in the bounds of the original bezier segment

Version 1.3b (built 1205301658)

  • select layers by double click
  • remove overlap: contours should not be in the dest glyph
  • don’t publish key down event when quick preview jumps to an other layer
  • solved bug in setting layer color
  • code and feature editor will not convert (p) to ℗
  • support for beams, rays in robofabwrapper
  • support for external editing of .py and feature files
  • solved bug in info sheet: reset font info with some basic attributes

Version 1.3b (built 1205242234)

  • fixing font.close()

Version 1.3b (built 1205230011)

  • check for template glyphs when adding new glyphs
  • python pane get tabs
  • new “glyphCellViewUnicodeReplacement” default for setting the icon when the template glyph has no unicode value
  • don’t return when quick preview is down
  • “Add Glyphs” when enter is pressed its the same as the apply button
  • bug in editingTool when glyph is None
  • adding defaultForeGroundLayerColor and defaultBackGroundLayerColor to the prefs
  • ignore shift down constrain while command is down
  • move bcp while close a contour
  • on glyph change also check if the glyph name is scheduled for deletion
  • typos
  • solving weird layer color syncing
  • return public.glyphOrder when there is no document in the RoboFab Font object
  • Space Center input text could be None
  • adding syncope
  • bezier drawing tool continue to draw in selection only if the contour is open
  • reverse interpolation in robofab
  • bug solved in extension bundle
  • add anchor sheet only when there is a name given
  • run python files directly from the file browser by cmd-R or contextual menu
  • bug in robofont shell command
  • only move contours in shifting with italic offset
  • only reset selection if the selection has contours, so components keeps their selection
  • update the selection list after pasting
  • resizable column headers in the inspector view
  • quick memory allocation by overwriting the font attribute and destroying all glyph representations
  • better stroke hit by point calculations

Version 1.3b (built 1205042333)

  • point inside fixed
  • check for selection during transforming a set of glyphs
  • reverse how transformation are added
  • check if grid size is not 0
  • prepare to save transformation in the user defaults
  • user defaults for joining contours “glyphViewAllowsJoiningContours”
  • bug solved when glyph is empty and transform metrics is on
  • write transforms back to defaults and recover them while opening the inspector window
  • transform move, ignore do metrics while transforming
  • better support for changing scripting hot keys in the prefs
  • check for “f” short cuts in script and disable the “Full Screen” short cut
  • bug snapping contours when both points are selected
  • always check mixed components first while generating
  • removed “action” button in layers inspector pane
  • don’t send keydown notification in preview mode
  • adding path to save notifications

Version 1.3b (built 1204262328)

  • solved bug in pointInside
  • default width for new glyphs setDefault(“newGlyphWidth”, 123)
  • post notification when glyph window get selected and deselected
  • don’t join contours when in transform mode
  • solved bug in cut with template glyph
  • set first responder on adding a row in de predicateEditor
  • scroll better in single line mode in space center

Version 1.3b (built 1204252116)

  • close current contour on double click (drawing tool)
  • toggle selection on mouse click with magic contour selection
  • bug in removeAnchor
  • typo in setting value in space center
  • allow spaces in anchor names
  • auto suffix based on current glyph
  • show hide space matrix
  • solved bug in select all when there is no glyph set
  • esc to ignore prompted a “don’t show again” dialog
  • ignore first mouse down when in single window mode
  • better support for new glyph windows, don’t fit to window directly
  • typos
  • new prefs: glyphViewShouldDrawCoordinateBackground
  • remove old deprecated warning
  • tab with hot key through bcp-anchor-bcp
  • better support for layers visibility when layer is the selected layer
  • update rulers when a new glyph is been set
  • solved an annoying bug in transform

Version 1.3b (built 1204122357)

  • CurrentFont().glyphOrder creates and removes template glyphs
  • better handling of notifications for “viewWillChangeGlyph” and “viewDidChangeGlyph”
  • fixed bug on shift constrain on y axis jumped over the first 5 units
  • join contours takes the glyph view scale into the snapping distance, the snapping distance pref is getDefault(“glyphViewCloseContourSnapDistance”, 5)
  • fixed bugs in mojo.UI getting and setting character sets
  • fixed bug in remove overlap comparing numpy objects

Version 1.3b (built 1204112307)

  • typos
  • adding
  • point inside is using a faster cocoa method to check if a point is inside a glyph
  • close the inspector window when cmd-i is pressed
  • cmd-f shows find panel in font overview
  • set starting points hot key and better support from the menu
  • bug solved in drawing tool
  • drawing tool get current selected contour as starting contour to draw in
  • 45° constrain as pref
  • cmd-g in scripting window for find next
  • check if there is a doc open in the inspector window
  • space center set the current value when tabbing to an other value
  • save .py files encoded as utf-8
  • smaller increase of grid disappearing
  • bug in slicing: bounds should be checked as bounds not as rects
  • unicode value could be None when setting it in the inspector

Version 1.3b (built 1203302239)

  • solved bug in transform
  • typo in extensionBundle
  • make anchors visible if one is added
  • set mod time for ufo if a ufo is saved
  • better support for importing woff files
  • better naming for quad and cubic curves
  • bug solved in robofab compare font
  • bug solved in smart set
  • warning on duplicated glyph when adding them
  • during select all, show anchors in the selection, even if they aren’t visible
  • bug solved in joining contours
  • bug solved in copy paste different kind of objects
  • undo support while adding anchors
  • improved undo support in space center input fields
  • required to enter after a value is edited
  • improved support for smartest in mojo.UI
  • added addSmartSet, removeSmartSet, setDefaultCharacterSet, getDefaultCharacterSet, removeCharacterSet, getCharacterSet, setCharacterSet, setMaxAmountOfVisibleTools, getMaxAmountOfVisibleTools
  • typo in preferences
  • italic angle support in beams and measurements
  • take the closest distance when joining contours
  • addComponent copy metrics will be disabled when the glyph contains some contours
  • space center keeps track of the current glyph when opening
  • don’t break contour but delete single on curve point in the contour
  • new (hidden) pref for saving the FDK data next to the ufo
  • scripting window keeps track of placing and size of the window
  • adding mojo.compile
  • bug in cutting and slicing contours
  • always add update menu in extensions menu
  • dont assume added glyphs are robofabwrapperglyph only :)
  • adding support for external scripting with shell command: see prefs, robofont -h
  • up must be down while layer up & down :)
  • hard import csv

Version 1.2b (built 1203010033)

  • transform pane bug solved
  • bug solved in closing window in single window mode
  • bug solved in dropping glyphs names to an existing smart set
  • glyph.mark can be set as None

Version 1.2b (built 1202281532)

  • transform metrics as option in the transform pane
  • the app is code signed for 10.8 usage
  • bug solved in robofab set and get type for bPoint
  • really remove deleted glyphs :)
  • registerExtensionDefaults in mojo.extensions
  • don’t send mouseUp notification when zooming
  • bug solved in mojo.drawingTools text with a fill and stroke color set
  • extreme points will add only points between two selected on curve points or add all extreme points when nothing is selected

Version 1.2b (built 1202211510)

  • mayday, mayday lost space center, mayday mayday lost space center

Version 1.2b (built 1202202347)

  • new pref: when deleting glyphs also delete the glyph name from groups and kerning
  • UI tweaks in revert sheet
  • better support for drag and drop on smart sets (also drag on top of smart set to add the glyph name)

Version 1.2b (built 1202172245)

  • AccordionView in mojo.UI
  • transform options in inspector window
  • bug solved in sort sheet
  • reverse quad curves after remove overlap (so they will have a default TT direction)

Version 1.2b (built 1202171157)

  • open folder in scripting window
  • lock side bearings in glyph window
  • better support for eps copy paste
  • redesign the glyph view preference pane
  • shift and command shift are in the glyph view preference pane
  • check glyph order in binary compilers for template glyphs
  • new preference color schemes for quad and cubic curves (stroke of the handle and stroke of the point is changeable)
  • on paste check segmentType and convert if necessary
  • UI bug in tabbing through the font info sheet (10.6 only)
  • typos and better naming for curve descriptions
  • bug solved in robofab segment.selected

Version 1.2b (build 1202111549)

  • global app cache for template glyph image cells
  • support to hide measurements info (usefull when lots of measurements are added)
  • select added components
  • set glyph to unchanged on revert
  • Space Center prevent unintentionally click’n drags
  • adding reverse to flipping
  • tab shift to select previous point
  • tab alt to be able to select off curves
  • undo support for transform actions
  • alt next/previous glyph jumps to glyphs from another smart set
  • adding bcp minimal mouse moved distance uses the glyph view scale
  • drag’n drop glyphs in the space center, use alt to add them to the current space center input string
  • bug in extension bundle in getting the correct filename with an extension
  • order glyph based on “public.glyphOrder” from font.lib
  • new mojo.UI.UpdateCurrentGlyphView

Version 1.2b (build 1201222125)

  • bug solved when adding glyphs with robofab
  • separate revert for changed, added and removed glyphs

Version 1.2b (build 1201201438)

  • extension builder has support for resource path, a folder that can contain images or additional data, this is not a place to store python files
  • from mojo.extensions import ExtensionBundle, getExtensionDefault, setExtensionDefault, getExtensionDefaultColor, setExtensionDefaultColor
  • new events glyphWindowWillOpen glyphWindowWillClose fontWillSave fontWillAutoSave
  • equalize side bearings support for slanted italic angles
  • scroll through glyphs in glyph view: previewKey + alt + scroll wheel
  • use metrics math in inspector glyph info pane
  • Application alias added to the dmg
  • mojo.roboFont.version :)
  • the mark colors are drawn with a black triangle in the back when they are transparent
  • use slanted angle in the glyph cells
  • preserve starting points when converting splines
  • adding removeGuides to robofabwrapper
  • bug solved when new glyph are added they seems to be not selectable
  • move glyph names suffix and kerning to the display option menu in the space center
  • adding font.copy() in robofab wrapper
  • open .fea files with a native document, this will open a new feature window with no font attached, it possible to send the feature to all open fonts or a selection of open fonts.
  • adding icons for otf ttf fea pfa woff pfb py (will only be applied if RF is the default app to open the files)
  • typo in extensionbuilder
  • support for ttf in woff files

Version 1.2b (build 1201102252)

  • extension builder has support for resource path, a folder that can contain images or additional data, this is not a place to store python files
  • from mojo.extensions import ExtensionBundle, getExtensionDefault, setExtensionDefault, getExtensionDefaultColor, setExtensionDefaultColor
  • new events glyphWindowWillOpen glyphWindowWillClose fontWillSave fontWillAutoSave
  • equalize side bearings support for slanted italic angles
  • scroll through glyphs in glyph view: previewKey + alt + scroll wheel
  • use metrics math in inspector glyph info pane

Version 1.2b (build 1201081533)

  • draw the grid first in the glyph view
  • extensionBundle in mojo.extensions import ExtensionBundle
  • copy paste glif xml
  • bug solved when deleting points
  • components are added when selected all
  • reorder components in inspector by drag and drop
  • check on nested components
  • solved weird issue in 10.7 fullscreen to set the tool cursor
  • RF can open folders, they will be listed in the tree of a scripting window
  • send proper UFObecomeActive notifications
  • contextual menu in file browser
  • debug window got colors prefs and copy paste the text will ignore rich text attributes
  • better support for FDK when it goes wrong somewhere and the embedded FDK will return proper feedback
  • robofab rotate in degrees instead of radians
  • bugs solved when adding/removing glyphs when a sub set is selected
  • space center can go full screen
  • adding smart suffixes in space center, based on splitting glyph names on “.”

RoboFont 1.2 beta 1112311500

  • test install works also not document based fonts, like OpenFont(“path/to/my/font”, showUI=False)
  • alt click drag to select offcurves only
  • new colors in the pref: measurment, contour index, point index
  • draw some component info in the new Component info display option
  • make sure the license window opens only once
  • refinements when a users has more then 7 tools installed, a drop down menu will appear in the last segment of the tool button

RoboFont 1.2 beta 1112291718

  • nicer defaults for glyph offset in the glyph view
  • aicbtools (copy paste from Illustrator and FL) supports open paths
  • preference: hide dashed cross line during dragging
  • better rounding point coordinates
  • inspector points are displayed as a tree view
  • typo’s :)
  • scripting window: enter on a file will send the file as current document
  • adding sparkle autoupdater (not for beta versions, but beta version can upgrade to release versions)
  • adding extensionValidator
  • new license system
  • disable PS autohint when there are no blue values are set
  • defaults system for extensions (they use a another pref file to save defaults)
  • predefined chararcterset is saved in the font.lib
  • save sorting options in the font.lib
  • draw less of the grid when its zoomed out
  • export features
  • bug solved int smooth dragging oncurve points
  • copy paste bug solved: the starting point will be the same
  • robofab
    • handle obj.selected = True / False better
    • appendComponent will check if it is referencing to itself
    • bug in scale components

RoboFont 1.1 release candidate 3

  • find bar/panel in scripting window output text view
  • add components has a checkbox enable copying metrics
  • bug space center preventing notifications
  • ignore mask color and guides during copy in the glyph view
  • bug in kerning sheet when the group name is not in the font.groups
  • generating chooses are enabled/disabled based on the export format
  • ignore none template glyphs in robofab
  • improved conversions between cubic and quads
  • save states for the font overview panes
  • warning if groups contains ‘ (single quote)
  • HelpWindow in mojo.UI
  • .py files are now also document based
  • typos
  • extension builder can handled required major minor version of RoboFont
  • import extensions in extension builder
  • extensions builder write files atomically
  • file browsers improvements
  • clear info in the info sheet
  • ignore anchors during binary compile
  • single line and waterfall have a horizontal scrollbar
  • new column in font overview: mark color
  • bug in extreme points
  • undo/redo on glyph selection in font overview
  • mirror all/selected glyphs in transform panel
  • use a find bar in 10.7
  • mojo.UI can open a glyph in a window and create a new space center

RoboFont 1.1 release candidate 2

  • scrolling when you jump with tab in the info sheet
  • remember the developer and developer URL in the extension builder
  • bugs in Space Center
    • close the window with unsubscribing the glyphs
    • better accept mouse move so it will not disturbes other views
  • adding drawPreview event
  • space center can hide “in between” / control glyphs
  • display selection in font overview status bar
  • bugs in robofab
    • print font will now print familyName and styleName
    • removeGuide
  • update the output view when you print something directly
  • use the glyph view bounds for calculating the length of the guides
  • better support for generating ttf binaries
    • if you have ttfautohint installed autohint is an option. I cannot embed ttfautohint cause of their license.
    • beter support for preserving same amounts of points
  • draw glyph coordinates in context of the background, slightly darker on darker backgrounds
  • opens all files: ttx, T1 binary, T2 ascii, postscript outlines no accept T1 suitecases
  • drawing tool: alt click (no drag) will convert the last segment to a line
  • lock guides is a global user default instead of local to the glyph view

RoboFont 1.1 release candidate

  • solved sorting error
  • revert
  • bug in transform
  • update the glyph view during paste
  • glyph order issue in ttf generation
  • use allowPseudoUnicode in the super smart sort

RoboFont 1.1

  • robofab
    • f.glyphOrder returns the glyph order
    • lots of bug fixes in the robofab wrapper
  • bitmap representation is align to the grid properly
  • grid is a solid line
  • typos
  • scripting window has an “Edit With…” toolbar item
  • kerning and groups sheet edits can be canceled, so the changes will not happen in the font
  • generating binaries: the order is the same as in the UI, when generating there is a new option that will add mac roman in front of the glyph order
  • ice cube tray view show when a glyph has been edited
  • from mojo.UI import SetCurrentGlyphByName ## SetCurrentGlyphByName(“a”) will set the glyph with that glyph name in the current glyph view
  • don’t copy unicode value if that unicode value already exists in the font
  • bug in extreme points
  • adding text color and background to the scripting window
  • save as will not save template glyphs
  • mark colors are added the the color palet
  • columns in the font overview can be hidden with right click on the column header (like iTunes)
  • new super smart sorting options (thanks to Tal), you’ll never create a enc file again :)
  • if the default font for template glyphs isn’t installed on your system it will take the default system font
  • images can be saved in the new image folder next to the UFO (similar like in UFO3 but not inside the UFO)
  • header with glyph name in font overview change color when the mark color is to close

RoboFont Golden Master 1.0

  • rename the app to RoboFont
  • embedded FDK, optionally you could choose your own FDK in the prefs
  • new remove overlap (thanks to Tal for bundling our forces)
  • bug fixes
  • adding a lot of new attributes to the RoboFabWrapper
    • glyph.image
    • glyph.addImage(path)
    • glyph.guides
    • glyph.addGuide((x, y), name=””)
    • font.guides
    • font.addGuide((x, y),name=””)
    • glyph.addObserver(observer, methodName, notification)
    • glyph.removeObserver(observer, notification)
    • glyph.extremePoints()
    • contour.extremePoints()
    • store :)

Version 0.2b 1107072148

  • fixed bug SpaceCenter waterfall mode
  • scrolling of glyph view only when the cursor is over the edge, no inset anymore :)

Version 0.2b 1107071235

  • Moving multiple components bug.
  • Inspector view:
    • when changing the display options for the current layer its updates the glyph view.
  • rewrite line number ruler view in pure python. (less external frameworks)
  • support for Lion (this binary will not run on Lion if you need one I can generate one for you)
  • bug in groupsheet
  • improved default kerning sheet. (if you haven’t installed Metrics Machine)
  • bug in setting and adjusting the tools toolbar item. (the toolbar item was not visible anymore)
  • delete glyph in the font overview will now adjust the current selection glyph in all views.
  • restructure glyph line view so subclassing makes more sense
  • bug when the width of the layered glyph don’t match the width of the foreground glyph.
  • faster loading of feature files during opening UFO.
  • order in layer color when creating a new one. (not random anymore)
  • bug in smartest create missing glyphs.
  • space center
    • space center zooms with a touch pinch.
    • space center input view accepts ‘=a’. (take the value from glyph with name ‘a’)
  • glyph view scrolls during drag of selection.
  • created guides snaps to points and are grid fitted. (as set in the preferences)

Version 0.2b 1106241100

  • full support for UFO2 (see plugin for converting UFO2.5+beta fonts to real UFO2s)
    • all layers can have an image but only one
    • layers are written to the glyph.lib
  • enormous speed improvement
  • build components in “Add Glyphs” and char set in the preference window and in a smart set collection: Agrave=A+grave also possible to add a unicode value Agrave=A+grave|00C0
  • template glyphs dont end up in generated binaries
  • “add components” adds also the width when its the first component in the glyph
  • improved save panel
  • icon jumps after test installing a font
  • preferences:
    • added add component hot key
    • added decompose hot key
  • improved image scale sheet
  • Renaming linestraightnessIndicator to Outline Error
    • Outline error checks if two paths are on top of each other
  • RobofabWrapper:
    • glyph.mark is available: glyph.mark = (r, g, b, a)
    • font.layerOrder
    • font.renameGlyph(oldName, newName, renameComponents, renameGroups, renameKerning)
    • segments can iterate
    • improved update of all connecting windows and views
    • bug in insert glyph
  • UI enhancements:
    • progress bar when adding glyphs
    • all sheets should “cancel” with “esc”
  • glyph View:
    • new zoom cursors
    • command x or option delete to cut
    • improved measurement tool
    • improved display of points (corner, tangent, curve)
    • command click to select the nearest contour
    • guides can hide there measurements
    • rules take less space, glyph view is 10px larger on both sides
  • spaceCenter:
    • contextual menus on selected glyphs
    • glyph name is also selectable
    • accessible through mojo: from mojo.UI import AllSpaceCenters, CurrentSpaceCenter
    • input fields accepts dragged glyphs from font overview
    • improved the /? current glyph by showing also the current layer glyph
    • added hot key (see preference window)
  • scripting window:
    • restructure the scripting window toolbar
    • output window catches stderr
    • enable to hide/show output window when the app is not active
    • tab bug when the window is really big
  • inspector view:
    • layers can be sorted
    • mark colorwell shows also none colors
  • solved bugs:
    • saving a ufo
    • scripting OpenFont()
    • groups sheet bug
    • reading .enc files
    • only convert from UFO1 when its necessary
    • undo (much faster now)

Version 0.2b 1105031641

  • italicAngle:
    • glyph view slants the margins.
    • possible to get a slanted display values for the points coordinates, check the prefs.
    • slanted input and display in the space center.
    • also accesible with scripting: glyph.angledLeftMargin and glyph.angledRightMargin
    • renaming the line straightness to Contour Error, this will also highlight lines that are not on the italic angle.
  • groupSheet improvements: left to right alignment
  • typos :)
  • space center get a combo box and a new preference input for setting sample input text.
  • improved plugin menu building.
  • spliting colors for points: oncurve points, curve points and tangent points.
  • bug in alt creating and dragging a bcps in the last segment.
  • the glyph view is the first responder in single window mode.

Version 0.2b 1104270131

  • Bug in deleting points with the new preserve curve preference setting.
  • Display tangents points differently.
  • Unifying toolbars.
  • Dont show guide cursor when in quick preview mode.
  • In transform mode hit enter to reset the transform box.
  • Bigger cursor size for guide cursors.
  • Hit (shift +) “tab” to go to the next prev point (only when a single point is selected)

Version 0.2b 1104261259

  • More accurate undo naming.
  • Perform undo on decomposing.
  • Solved bugs with anchors.
  • alt + drag oncurve will only drag the oncurve point instead of all bcps.
  • Rewrite of the scriptin window, no more drawers.
  • Bug solved with setting colors when a smart set is selected.
  • Doodle will ask if you want to delete a glyph, cause it isn’t undoable.
  • Hit enter in the font overview will send the glyph to the glyph view / glyph window
  • Smart set get icons if they are based on a query instead of a list of glyph names.
  • Typo in flipping.
  • All pop up windows accepts “esc” to close the pop up.
  • Space center beam will not draw the intersecting dots.
  • Measurement tool also measure components.
  • Better undo for guides.
  • There is minimum size to select points in the glyphview. So if you prefer the points are displayed rather small in the glyph view they will be still selectable.
  • New preference: preserve curve on point deletion.
  • Space center bug: “\n” will give a visual slot in the space center input view.
  • plugin:
    • Build plugin with the extension builder.
    • Give external developers possibilities to create bigger extensions for Doodle
    • A plugin is a package with python files, html help files, and info.plist
    • Restructured the preferences.

Version 0.2b 1104201034

  • Rewrite how transform box in inspector view works.
  • Shortcuts:
    • simple transformations: flip, rotate.
    • copy / swap to layer (if there is only one layer it will not do anything).
  • New sorting options: by character set. Those characters set are the same as in the preferences.
  • The preferences character set can import .enc files and will add them to the character set list. The name of the file will be the name of the character set (you can change this anytime). The list supports also dropping .enc files.
  • New glyph view setting: next glyph shortcut will take you to a next glyph in the “All Glyphs” set or a glyph from the selected set.
  • When a glyph cell size is big it will draw metrics in the cell view.
  • When a glyph cell is reallly big it will also draw layers in the background.
  • Bugs in robofabWrapper:
    • removeGlyph
    • typo decompose
    • setting left/right margins

Version 0.2b 1104141615

  • damn, import FL :)

Version 0.2b 1104141536

  • Bug solved:
    • Double click to transform selection can handle dragging without clicking again.
    • Kerning sheet bug only allow kerning groups and no other.
    • Some robofab wrapper bug solved.
  • Preference events tab: double click to show the selected files in the Finder.
  • Complete rewrite of how open contours join. It’s possible to join two or more selected contours.
  • Smart list item can change name by click-hold-click or pressing enter
  • Renaming glyphs in the inspector view gives feedback when a glyph cannot be renamed (only if the new name already exist in the font).
  • Space center get a ‘\n’ to insert manual line breaks
  • New Focus ring in the glyph view and font overview. (instead of dimming the view)
  • In single window mode: font overview single click will select the glyph, double click will make the glyph view the first responder, the glyph view will start to receive shortcuts and other events.
  • On start up the glyph cell header is set similar like the previous documents.
  • Inspector view:
    • The point list contour get a mixed state check box, with a minus to show that some points are selected but not all.
    • Bug in transform box when the value isn’t set.
    • Transformation can be applied on the whole font or on the glyph selection in the font overview. (see the little arrow on the transform button)
  • Just try for fun: import FL :)
  • The glyph view get an unlimited drawing board. There is a growing edge of 200 units around the glyph view. When a point gets near the border the glyph view will adjust his size.
  • The first points get draw when it’s part of a ‘line’ segment.
  • The glyph cell template glyphs are a bit darker.
  • The line spacing in the scripting window is a bit bigger.
  • Grid draws only when it’s usefull to have a grid. The smaller the grid size the more you have to zoom in to see the grid. (This is to get better performance)
  • Robofab wrapper:
    • font.generate(path, format=”otf”, checkOutlines=False, autohint=False, releaseMode=False, glyphOrder=None, progressBar=None), possible formats are “otf”, “ttf”.
    • support for handling fonts without UI: OpenFont(path, showUI=False) or RFont(showUI=False)
    • OpenFonts can handle multiple paths, it will return a list of font objects.
  • Feature code is displayed in the same font settings as in the scripting window.
  • Smart list queries shows a nice error sheet when the query is wrong (mostly if “math” is a mistake in the regular expression).
  • Improved scripting editor completion (press ‘esc’ when starting a new word).
  • Improved feature editor completion (press ‘esc’ when starting a new word).
  • minimum system version is 10.6 (the app will not start anymore on previous os’s).

Version 0.2b 1103211728

  • Major bug in checking external changes. This should be solved now :)

Version 0.2b 1103191355

  • Preference color panels get alpha continuous callbacks.
  • Font window panes are stored in the user defaults.
  • Drawing: connecting paths get oval instead of star
  • Removing points will only maintain the curve if selections is equal to 1 oncurve point.
  • Dimming font overview and glyph view when they aren’t the first responder.
  • Bug in inspector glyph info view input most be integers or floats for width, leftMargin, rightMargin.
  • Nicer display of template glyphs. Users can set there default font to preview template glyphs. Template glyphs are glyphs users didn’t changed yet.
  • Mark colors get updated when users apply preferences.
  • Features get checked for text junk (coming from FL). The junk (none utf8 text) will be removed from the feature file.
  • Bug in setting the left margin via scripting.
  • Add component has the same search functionality as the jump pop up window.
  • Space center point size pop up get updated when zooming with scrollwheel and cmd +, cmd -.
  • External changes get new window. All updates for all open fonts will be collected in a single update window. Possibility to update all or reject all. Glyphs get undo support during update.
  • Improved toolbar: split font functionality and view pand actions.
  • Adding “enter” down to Apply preferences.
  • Rebuild the glyph undo managers.

Version 0.2b 1102230010

  • Improved layer management view.
  • Space Center issues:
    • scroll on selection (bottom view).
    • alt+arrows keys now proper select that value.
  • Round metrics values aswell during drag in glyph view and Space Center.
  • Anchors get selected first before bcp’s, if alt key is down the order get reversed.
  • Bug in font compilers when the font doesn’t has a path.
  • Bug in renaming a glyph.
  • some smaller bugs :)

Version 0.2b 1102162215

  • Scroll to selection in Space Center bug solved.
  • New Layer management view in Inspector view.
    • View options of each layer in the background.
    • Actions: copy / swap between layers.
    • add/remove layers.
    • random bright colors for each new layer :)
  • Template glyphs works also on existing ufo’s.
  • Performance update.
  • Feature text view get updated on changes.
  • Command space click will zoom in :)

Version 0.2b 1102100002

  • Improvement in copy paste images.
  • Bug in copy paste open paths
  • Command space down is zooming in any order of key down.
  • Glyph templates:
    • Glyph templates are initialized glyphs where nothing happend.
    • They aren’t saved to the UFO file.
    • A visual difference between glyphs that had some changes and glyph that are generated during for example start up.
  • Most dragging views in single window mode can be collapsed by dragging.
  • Straight line indicator shows also points which are on top of eachother
  • Improvement in smart list items.
  • Performance improvement in smart list items by not calculating the length of each item during a change in the font.
  • Bug in inspector view.
  • New hotkey: break contour.

Version 0.2b 1102072350

  • Performance update: don’t refresh all view in Space Center and Inspector during drag operation.
  • Bug in test install.
  • Anchor editing possible: adding, moving around, deleting and renaming (contextual menu).
  • Bug in Sparkle updater: don’t show “automatically update” pop up window at second launch.
  • A lot of new hot keys.
    • You can also apply the same hot key to different actions…
  • Command click when there is no selection: select the closest contour
  • Inspector transform view can take floats :)
  • Proper support for right to left in Space Center
  • new icon :)

Version 0.2b 1101271042

  • Improved performance
  • Input fields for contextual image menu.
  • UI improvements:
    • Draggable field controlling the splitviews in single window mode.
    • Don’t draw margin move element when there is a selection.
    • Trying to maintain the collapsed items in the inspector view.
    • Update the toolbar in single window mode when installing a new tool.
  • Bug in image glyph.
  • Bug in Smart list sets when a new glyph has been added to the font.
  • Anchors: adding and moving, deleting (renaming isn’t yet possible, should build a contextual menu)
  • Guides:
    • Angles has an input field in the contextual menu.
    • Moving points are snapped to guides.
  • Moving some preferences around: adding hotkeys:
  • Space Center:
    • Solved some bugs
    • Use ‘/?’ for displaying the current glyph in any selection (fontwindow, glyphwindow)
    • Beam: measurement tool
  • Adding some cocoa drawing tools to the namespace callback. Is handy when you wanted to draw some extra info in the glyph view. With this tools you can draw the like in drawbot.
    • rect(x, y, w, h)
    • oval(x, y, w, h)
    • newPath()
    • moveTo((x, y))
    • lineTo((x, y))
    • curveTo((x1, x2), (x2, y2), (x3, y3))
    • closePath()
    • drawPath()
    • text(“string”, x, y)
  • Copy Paste bug when glyph was empty
  • Quick type to change glyph in the glyph view has been replaced with a hotkey and a jump-to-glyph-popup-window
  • Image scales has nice metrics preview lines.

Version 0.2b 1101142243

  • Guides
    • Guides can have a name. (set name in the contextual menu)
    • Guides snap to points in a glyph during drag and alt drag. (for angle)
    • Angels are now stored as floats for more precision.
    • Guides are magnetic now! Selection will snap to guide.
  • Font overview can search for baseGlyph names in the components.
  • Bug in correct contour direction.
  • Auto contourorder in contextual menu.
  • Paste works now for every tool, editTool, drawTool, sliceTool, measurmentTool and every subclass of the baseTool.
  • During drag of selection + control down will copy the selection.
  • A Layer glyph can contain a component refering to a glyph in the foreground layer only.
  • Toggle segments with shift down.
  • Multiple selection of bcp’s.
  • Measurment tool can measure from side bearings.
  • Feature view bug.
  • Align can keep the bcp relative to the anchor points.
  • Space Center: alt + arrow keys to navigate through the metrics.
  • Some tiny annoying bugs.
  • UI improvements.

Version 0.2b 1101101216

  • icon!
  • bug fixes.
  • UI improvements.

Version 0.2b 1101080023

  • Moving on to version 0.2b :-)
  • The relaunch issue should be solved in this version. It was a chmod -x bug. The relaunch script must be executable and it wasn’t, arglll.
  • You can already solve this issue in the current running version of Doodle by running this script inside Doodle, in the Scripting Window. Download the script here:
  • So this line for the last time: can crash on relaunch but install goes fine :) (see Crash during install/relaunch).

Version 0.1b 1101071820

  • quadratics can now delete points.
  • imporvements on contextual menus.
  • Can crash on relaunch but install goes fine :) ((see Crash during install/relaunch).

Version 0.1b 1101061959

  • improvements for single window mode.
  • improvements for smart sets.
  • more accurate setting of glyph changes.
  • Can crash on relaunch but install goes fine :) (see Crash during install/relaunch).

Version 0.1b 1101052151

  • complete rewrite how selection works
  • complete rewrite how editing works
  • complete rewrite of copy paste
  • inspector window
    • glyph info
    • point as list (editable)
    • components as list (editable)
    • anchors as list (editable)
    • glyph note
    • preview
    • transform
  • improved transformation
  • extra contextual menus in glyphview
  • single window mode
  • improved preferences window
  • icons in toolbar
  • Can crash on relaunch but install goes fine :) (see Crash during install/relaunch).

Version 0.1b 1010242019

  • Undo manager for each glyph. Switching between font undo manager and glyph undo manager depends on focus: glyphwindow, single selection in font window, single selection in space center.
  • Huge performance upgrade.
  • Added labels to points. Available through the contextual menu in the glyph window (right click).

Version 0.1b 1010012237

  • sparkle bug should show pref window now.
  • improved handling of ttf splines:
    • update editing
    • update adding points and splitting contours.
  • default kerning sheet has improved.
  • groups sheet: showing groups and editing groups.

Version 0.1b

This is still a very early beta :)