v2.2.0 – SVG Import now supports Transforms!

Hi All!

Thanks for hanging in there through the 3 patch releases (v2.1.8 / v2.1.9 / v2.1.10) where we introduced, then had to fix new Kern import functionality. Actually, v2.2.0 also has a kern bug fix as well… there were more edge cases than anticipated. In v2.2.0, we also added additional font import test coverage, so hopefully we’ll be able to better catch these issues in the future!

Import any SVG file!

That’s the big news for version 2.2.0. There isn’t any new or changed UI features, but this back-end improvement will really help all of you working with SVG (which, to be honest, is like most of you). This new capability is built off a recent improvement by our sister project, SVG to Bezier, which is what we use to (you guessed it) convert SVG tags into generic path outlines. For the past, oh, 14 years of Glyphr Studio history, importing SVG tags was limited to just the basic tag data itself, ignoring the transform attribute. For the most part this was okay, not many graphic design editors (like Adobe Illustrator) export their SVG with transform attributes. But, they would show up now and then, and they would cause imported shapes in Glyphr Studio to fail or not look like they were intended.

Supporting the transform and transform-origin attributes was almost as much work as just supporting the set of SVG shape tags in the first place. Doing the math on the SVG shapes was a challenge, but there is the added layer of complexity where shapes can be grouped in a g tag, which itself can have transforms. So, in addition to handling the transformations themselves, we also had to handle inheriting hierarchical transformations. Fun!

But we made it through. Specifically, we now support both the transform and the transform-origin attribute tags. The transform attribute has many options for transformation commands, and we now support all of these different types of transformations: matrix, translate, scale, rotate, skewX, skewY.

Along with these new transform capabilities, we grew our set of test SVG files to try to ensure all single cases and combinations of transformations result in shapes that are as expected. If you ever have a SVG file that does not import as expected, please send it to us at mail@glyphrstudio.com – we can find the bug and fix it, which will improve Glyphr Studio for everyone!