starting a new project
navigation and layout
Major versions, new features, and bug fixes are all automatically published to
glyphrstudio.com/online - and
bigger changes are usually announced on
the blog. More versions can be found at the
GitHub Project Page.
The Advance Width = NaN bug popped up again, and this time OpenType.js had an
update that addressed the issue. So, this version pulls in the latest version
of OpenType.js, which solves the Advance Width bug on import.
Fixed an SVG / Export issue where the Left Side Bearing was incorrectly being
either excluded, or included multiple times for linked component instances.
- Stopped an error from happening when a project only contains Ligatures.
Some OTF files when imported do not have Advance Width information present - this
is a bug with opentype.js returning NaN for advance width properties of glyphs.
Glyphr Studio defaults to "Auto calculate glyph width" in these cases, so you may not
notice it. The one place it will be very apparent is for the Space character, they appear
as having zero width when this happens.
Fixed a glyph dimensions calculation bug that was effecting Test Drive
(characters shown overlapping) and Export SVG (Errors causing export failure).
Bug Fixes (no kidding!)
Generating SVG for a glyph that contained Component Instances, fixed a bug where the position
of the Component Instance would (sometimes) not include the correct Left Side Bearing.
Fixed a handful of related bugs around deleting Components, Component Instances, and Ligatures...
and making sure all the linked and related glyphs knew about these changes and were, in turn,
Fixed an error in the Modegg example project.
Now support positive integers being separated / designated by '+' signs in path data.
Ignore namespaced attributes with ':' in the name to allow for importing SVG code snippets
that would otherwise throw 'prefix not bound to a namespace' errors.
- Fixed a bug where projects with Ligatures experienced an "Off by 1" or "Off by 2"
error, where character sequences were being replaced with the wrong Ligature.
- Disallowed the creation and exporting of Ligatures with source sequences of one character.
- Export Glyph SVG File - you can now save a .svg file that represents a single glyph.
Combined with drag-and-drop into another project, this allows you merge fonts by
moving characters from one project to another.
- Changed exported OTF shapes to be clockwise by default
- Fixed a bug where flat path points were hiding a handle when it was imported from a compound SVG shape
- Changed the non-breaking space glyph name from 'nobreakspace' to 'nbsp'
- Added soft hyphen U+00AD glyph to the list of exportable whitespace glyphs
- Updated the default font metadata to use canonical family names ("Regular" instead of "normal")
- New Previous / Next buttons below the Context Glyphs input box allow
you to quickly flip through glyphs.
- Mark overlapping path points - set a radius that highlights if two points
are very close together.
- SVG Import engine now supports the Glyph tag (for copy/pasting from SVG Fonts).
- Test Drive letter permutations - automatically add all Uppercase or Lowercase
letter permutations to the Test Drive preview area.
- Test Drive preview area now dynamically expands in height to the input content.
- Copy+Paste SVG straight to canvas bug is fixed.
- Lots of little keyboard handlers were broken at some point, now they're fixed.
- Toast messages work better when rapidly changing.
- Reverse Winding now keeps Path Point zero as the same point.
- Whitespace glyphs besides Space export with zero shapes.
- Notdef glyph scales to different capheights
- Default view for Kerning is auto-calculated, as opposed to static.
- Progressive Web App support - added app manifest information so that you can
"install" Glyphr Studio on your desktop machine.
- Better glyph names exported to SVG Fonts.
- For 'Highlight path points that contain non-integer values' project setting,
handles with decimal values are also drawn in red, as opposed to just the base point.
- OTF Character names are now exported as ASCII and conform to name standards.
- Fixed a bug involving exporting Ligatures along side default Ligatures that have
Unicode code points.
- Viewing glyphs that have no shapes as Context Glyphs now works.
- Fixed importing arc segments from SVG paths.
- The "Auto Fit" view algorithm now works better for edge cases.
- Shift + Rotate now snaps to one degree increments.
- Fixed the sluggishness / disconnect between the rotate handle and the actual glyph.
The rotation tool is now locked to cached glyph attributes, as opposed to relying on quick
deltas of mouse movement.
- Fixed a bug where flat points with only one visible handle were rotating improperly.
- Fixed the disappearing panels bug.
- Rotated component instances now save with the appropriate positive / negative angle attribute.
Old projects with rotated component instances will be upgraded, and will work as expected.
- Action to round x/y values for a Path Point, a Shape, or the whole Glyph.
- Project setting to highlight points that have decimal x/y values.
- Fixed a SVG import bug involving relative path commands across compound shapes.
- Performance improvement for large projects.
- Paste or Drag+Drop SVG straight onto the canvas - if your SVG is designed so it doesn't need to be scaled,
then you can copy the code and paste it directly to the edit canvas, or drag and drop an .svg file to import
- New Global Action - Advanced Diactritical Glyph generator. If you design glyphs in the Basic Latin and
Combining Diacritical Marks ranges, then this action will use them to generate the Latin Supplement and
Latin Extended A character ranges.
- The 'All Caps Font' Global Action is now extended to (optionally) cover the Latin Supplement, Extended A,
and Extended B glyph ranges.
- Snap to Grid / Snap to Guide. Thanks to GitHub user monolifed for contributing the feature!
- Updated the overall Glyph Names list to reflect the Unicode v.11 update that landed June 2018.
- Better default view for empty glyphs.
- Fixed a key binding so that the question mark glyph can be used as a Ligature, instead of summoning the
keyboard shortcuts dialog.
- Throw a warning if Monospace Global Action is set to zero as the width.
- Importing a custom range from the Open Projects page.
- Glyph Chooser panel now displays a selected range that was removed.
- Ligature and Component chooser panels now work.
- A huge Unicode Code Block range chooser - easily preview and add any Unicode code block to your project!
- Glyph Ranges now support custom range names.
- Glyph Ranges can now be edited.
- Font Exports and Imports now only export/import "active" glyph ranges... this may be more like a bug fix :-)
- It is now possible to disable the Basic Latin glyph range.
- Global Action: Re-size all glyphs - now has an additional option to update the Glyph Width (advance width) property.
- Ligatures for HTML comment strings now work, like <!--
- Ligatures 0x 0X u+ U+ now work - they previously were treated as invalid Unicode / Hex inputs, but they are valid 2 character ligatures.
- "Delete Glyph" action now available from the Glyph Chooser and Attribute panels.
- "Re-size Glyphs" is now available as a Global Action.
- "Convert Component Instances into Shapes" is another new Global Action, useful for flattening all shapes.
- More accurate naming for the entire Basic Multilingual Plane.
- Speed optimizations for OTF export.
- Exporting Ligatures now checks to see if there are any existing glyphs in the Unicode Private Use area, before writing Ligature information there.
- Fixed a bug around adding a glyph to another glyph as a component instance.
- Only showing multi-point advanced alignment actions when many points are selected.
- Ligatures export directly to OTF files!
- Ligatures that also have a single Unicode code point will be exported accordingly.
- A few small Ligature improvements around adding common ligatures, and displaying thumbnails.
- Fixed a bug around handling glyphs that use multiple Component Instances with the same Root Component.
- Correctly handle / draw side bearings equal to zero.
- Allow / disallow correct characters when exporting metadata to SVG Fonts.
- Fixed an export bug involving locked points and glyphs with left side bearings.
- Global Action - move all glyphs a certain number of Em Units in both X and/or Y directions.
- Fixed a History / Undo bug
- Added the Overshoot property control to Font Settings page
- Fixed a Component Instance copy+paste bug
- Rotating hierarchical Component Instances now works
- Better error message for SVG Import
- Fixed an Export SVG Font bug
- Global Actions - a set of actions that can be applied to many or all glyphs at once.
We have 3 to begin with, let us know if you have ideas for any others, they are easy
- Auto Zoom - a much improved algorithm for fitting the current Context Glyphs to your screen
- Shift + Nudge - holding down the shift key while using the arrow keys to nudge shapes and points
will now move 10 Em Units instead of one
- New Project - menu item and keyboard shortcut to launch a new Glyphr Studio project
- Fixed importing winding information for paths
- Limit length of Font Family Name string, which causes OTF errors
- Cleaned up some typos and global variables
- Better "total failure" page error message
- Major Kern tool performance updates - tested at 700 kern pairs
- Dueling sliders now work for Guide Transparency in the Context Glyphs dropdown
- Test drive now uses 100% of the height of the preview area
- Kern text white background now disappears when Transparency = 100%
- Context Glyphs - type a few glyphs to show before and/or after the glyph
you are currently editing on the edit canvas. Easily navigate to any of
those displayed glyphs by clicking on that glyphs name on the Edit Canvas.
- Notes on the Ligature and Kerning pages describing how to export to OTF
font files via SVG Fonts.
- Better slider controls for transparency settings (grids and guides) around
the whole tool.
- Contribute link now works in the Desktop client.
- Show a toast notification when Undo-ing spans many glyphs, and requires
navigating to a different glyph.
- Test Drive re-factored, including some very small updates.
- When inserting a new Component Instance, or using the 'Get Shapes' command to
paste all the shapes from one glyph to another, there are new options to also
copy Glyph Attributes like Width and Side Bearings. This is very useful if you
use these copy commands for diacritical marks, where the new glyph should have
both the shapes and the glyph dimensions of the root glyph.
- Little notation on the splash screen and on the About page that indicates if
Glyphr Studio has been updated in the past week.
- Removed glyphs 0x0080 through 0x009F from the chooser panel. In Unicode,
these are printing control glyphs that have no visual associated with them.
But, browsers tend to replace these with ANSI glyphs, so the glyph chooser was
erroneously showing previews, causing confusion.
- Fixed a bug where 'Bulk transform shapes' also transformed shapes in other glyphs.
- Added support for SVG number notation, where numbers like '220.127.116.11' are interpreted
as '123.45, 0.67, 0.89'.
- Fixed a bug to only export SVG glyphs if that glyph has a valid hexadecimal key value.
- Fixed a bug where you weren't able to set a shape's x/y coordinate to zero.
- Fixed a bug on Mac where releasing the command key did not exit multi-select mode.
(Releasing the key should work, but if not, clicking either the Arrow or Pen tool
again will now forcefully exit multi-select mode)
- Glyph Range in the Chooser panel is remembered when the panel is switched.
- Fixed a bug where editing shape width/height via Attributes Panel was not honoring Lock Aspect Ratio.
- Added a missing glyph to the default CJK character range
- Fixed a bug where custom range glyphs were not being displayed after import
- Extra checks to make sure font export doesn't fail (advance width must be non zero, descent must be negative).
- Fixed SVG Import polygon tag bug
- Importing SVG Fonts, and better path data parsing.
- Keyboard shortcuts now support Mac Command key
- Handling importing shapes with zero path points
- Handling exporting shapes with zero path points
- Fixed the 'Email the Glyphr Studio Team' link for Mac
- Importing OTF / TTF font files - "Unrecognized path command" error
- Glyph Action: combine all glyph shapes
- Export Option: set the maximum number of shapes per glyph to combine
- Handling extra whitespace while importing SVG polylines / polygons
- Deleting the last point in a path
- Importing metadata from TTF font files
- Updating the Edit History panel on Undo
- Updated tool tips for path point alignment features.
- Advanced Path Point and Handle alignment actions.
- Creating new paths in empty glyphs.
- Align Shapes - multi select two or more shapes or component instances, and you can align them Top/Middle/Bottom or Left/Center/Right.
- Import SVG - Arc To commands (A or a) fail gracefully by moving to the end point.
- Importing fonts only resulting in rectangles
- Import SVG - chained bezier curve notation: relative/absolute quadratic, relative/absolute cubic
- Import SVG - relative quadratic bezier curves
- Hamburger Menu, you know, to be more 'app like'
- Import SVG - relative bezier curve
- Import SVG - chained rect/oval/circle notation
- Backend navigation stability improvements
- Better handling for null/undefined values
- Exporting fonts with zero descender or ascender values
- Improved stability of importing Glyphr Studio Project Files
- Undo-ing caused points to be not selectable
- Not loading custom guide lines from project file
- Importing SVG scale and move error
- Displaying glyphs in the Chooser Panel that contain Component Instances
- Improved Combine Shapes algorithm - removing path that overlap the shape
- New toast pattern for transient messages
- Export option to flatten and combine whole glyphs
- Overlapping kern glyphs are shown using opacity
- Improved Combine Shapes algorithm
- Chooser panel in dual screen mode
- Toast appears in the edit window in dual screen mode
- Toast notifications - replaced some modal dialog messages
- Flatten Glyphs option in Test Drive - boolean combine all shapes in all displayed glyphs
- Combine Shapes edge case - points overlap another shapes edge
- Version checking new projects on import
- Combine two selected shapes
- Updated OpenType.js to v0.6.0
- OTF Font export
- Better support for finding path winding
- New layout and icons for actions
- Viewing glyph ranges between Import SVG and other pages
- Updating the name of a shape
- Point remaining selected when another shape is selected from the layers panel
- Editing custom glyph width from the attributes panel
- Handle thrashing bug
- Optimizing how path maxes are calculated
- Finding winding for paths with two points
- New Path point selection bug
- Rotate tool shows negative angles for small counter-clockwise rotations
- Multi-select path points canvas bug
- Rotation handle added to the Shape Edit tool.
- Updating a shape's position or size via the Attributes Panel
- Angle value for Handles in the Attributes Panel
- Performance enhancements for the Glyph Chooser panel.
- Saving a Glyphr Studio Project file
- Side bearings settings not being saved
- Properties causing errors in exported SVG Fonts
- Importing Beta 4 projects
- Exporting OTF files for FireFox
- Import SVG shapes with either zero height or width
- Better handling for deleting Components and Ligatures
- Open Projects page has better tabs
- Exporting OTF files with non-numeric identifiers
- Deleting the last shape in a glyph error
- Importing a v1.01 project
- Multi-select for Shapes. Use Ctrl + Mouse Click to select a set of shapes, and apply any action or edit to the set.
- OpenType.js can now export OTF fonts with UPM over 1000
- Export OTF file for FireFox
- Keyboard Shortcut ctrl+e exports an Open Type font file
- Keyboard Shortcut ctrl+g exports a SVG font file
- Export OTF uses AGLFN short glyph names
- Export bug where changes were not reflected unless the font name changed
- Import bug for whitespace glyphs
- Editing metadata that contain quotes
- Exporting fonts with UPM greater than 1000 now works
- Importing and exporting copyright and license info
- Changed all external links to use target="_blank"
- Unable to navigate away from pages with zero Components / Ligatures / Kern Pairs
- Better default selected tool
- Import and Export Font Files
- Help & Documentation site
- SVG Font import / export
- Adding points to a path
- New tool cursors
- New 'Add Point to Path' pen tool
- Canvas drawing performance
- Import / Export SVG Fonts
- Send shapes from one glyph to another
- Two-screen mode for all edit pages
- Streamlined attributes panel
- Custom Guides and Guides Panel
- Import SVG outlines
- Full Unicode support
- Two-screen mode
- Keyboard shortcuts
- Shape and path point nudging with the arrow keys
- History Panel shows undo-able actions
- Shapes can have their aspect ratio locked
- Convert between Shapes and Linked Shapes
- Bulk-transform all shapes in a Character
- Updated license to GPL 3.0
- Digits 0-9 appear in the Character Panel
- Scrolling issue between the Canvas and Panel areas
- Error while loading a project
- Linked Shapes
- Test Drive
- Save Glyphr Studio Project file
- Export TTX / FontTools .xml file
- Code base re-write, new JSON based project structure
- Start using GitHub for code repository / versioning
- UI aesthetics overhaul
- Improved vector editing tools
- Help page