15 Things That Improved In FontForge This Year
A huge thanks to the FontForge community, a mix of font design hobbyists and professionals, and software developers, from around the world, for contributing some great fixes to FontForge this year.
Many of these improvements were made by Dr Ben Martin in Australia, who is able to spend time on FontForge thanks to the money raised by the Crafting Type workshops. Our workshops were started with the idea of bringing more designers into the FontForge community, and if you want to see more improvements, please donate to the TUG Libre Font Fund. TUG is a 501©3 in the USA, which means your donations may be tax deductible.
Here’s a list of the top 15 things that have improved:
1. Crashes
Too many to mention ;-) This is where the overall FontForge developer community is the most active.
Please email info@craftingtype.com or write an issue on Github if you experience a crash.
2. Windows Install: In Progress
We are still working on this, and have made good progress. Upcoming workshop participants can get a sneak peak :)
Please email info@craftingtype.com to let us know how much would you be willing to pay for a copy.
3. Mac Install: Done
This year we made it easy to install and run FontForge on Mac OS X - you can do it right now, if you want.
All you need is the X11.app (that comes as standard with OS X 10.8 and you can download X11.app for free if you don’t yet have it) and to download them FontForge.app file and copy it to /Applications.
Please email info@craftingtype.com to let us know how much would you be willing to pay for a copy.
4. Hotkeys: Fixed
Inside the Mac bundle is a hotkeys file, that defines all the hot keys for menu items: /Applications/FontForge.app/Contents/Resources/opt/local/share/fontforge/hotkeys/default
You can see this online in FontForge’s Github project, and make changes there for everyone to benefit from.
Sadly, They were broken, sometimes not working for the keys shown in menus…. a few things were defined twice; when keys defined twice, causing the 2nd definition to not work but still showing it in the menus, and when a function defined twice, the last definition was shown in the menus but that wasn’t always the ‘best’ one for users to learn.
The way X11.app processes keyboard events was different to X11 on GNU+Linux, causing some weirdness, this should now be fixed.
One known side effect of the fix is that hotkeys are now 'strong’: The mac builds now ensure that the Command key (with a 4-loops-on-a-square or Apple logo) works in addition to Ctrl for everything. This means hotkeys work both for those used to windows/gnu+linux (Ctrl-c to copy) and to mac (Cmd-c to copy) and sadly means some common mac things (Cmd-m to minimise, Cmd-w to close) don’t work.
Hotkey definitions is the main thing I hope everyone can give feedback on, because we can now change the hotkeys very fast.
Please email info@craftingtype.com or write an issue on Github about what hotkeys you expect to 'just work’ :)
5. Curve Interaction Fixes (more coming!)
Curve point types are less likely to unexpectedly change on you.
This was I think the biggest frustration with FontForge that seasoned type expert Thomas identified in the Portland workshop :) The first fix in this series is discussed at https://github.com/fontforge/fontforge/issues/533
This isn’t totally complete, and I’d like your feedback on what the remaining issues are. Try drawing different splines with various points and drag the points/BCPs/splines-themselves around and tell us where it doesn’t work as you expect.
Tangent points don’t update in real time and their angle can get wrong… also creating curve points is a bit odd…. But hopefully these issues will be fixed very soon! :)
Please email info@craftingtype.com or write an issue on Github about what curve editing you expect to 'just work’ :)
6. Control Point Rendering: Pretty
If you go to File, Preferences, Editing, the last 2 options - Edit Handle Size, and Inactive Handle Alpha - allow you to change the size of the point handles in the Char View, and set them transparent. These options are now turned on by default to 9 pixel wide points and 50% transparency.
7. Control Point Rendering: Always
Open a character, View menu, Show, Control Points Always. This is super useful when drawing curves, but can clutter the UI so it isn’t on by default.
Should it be?
8. Multi Control Point selection.
If you turn on 'Show, Control Points Always’ as above, then click on a Bezier Control Point (BCP), then Shift-click on another BCP, you can now use the arrow keys to move them together.
You can also shift-click-and-drag to do so interactively.
The interactive Scale and Rotate tools will then work on the BCPs selected, too.
This makes it possible to make symmetrical edits on things like Os, any pairs of points with parallel control points (like rounded terminals) and such
9. Mac: Window Titles Fixed
For many Mac users, the X11 window titles were not showing up, so you couldn’t figure out which window was which from either the Mac menu bar’s Window menu, or FontForge’s own Window menu.
Fixed!
10. Guides Dragging: Fixed
If a guide line is horizontal or vertical, you can grab and drag it, without converting it to a curve.
Its common for users to go to guide layer to move a guideline and have it turn into a curve on them unexpectedly.
Now this won’t happen.
11. Fill Preview: Fixed
View, Show, Fill now works properly - only for the currently active layer, not all layers. https://github.com/fontforge/fontforge/issues/419
12. Changing Metrics now change positioning of all layers
Changing bearings or centering in width now shifts all layers, not just the Fore layer. https://github.com/fontforge/fontforge/issues/340
13. Mac First Run: Fixed
The first time FF runs on OSX, it takes a while to cache all the fonts on the system (I’m not 100% sure why). On GNU+Linux this happen as part of showing the desktop UI shell, so it doesn’t create a wait, but its a bit mysterious for OS X users.
The first time experience matters, so now FF shows a little indeterminate progress bar to let you know it really is doing something.
14. Mac Versions: Visible
You can now see which version of the FontForge app is used, with the date in the finder window icon, and the git commit is shown if you right click and select 'Get Info’
15. Mac Latest FontForge With Python Scripting via HomeBrew: Fixed
FontForge with Python script support should now work well for Macs if you use https://gist.github.com/davelab6/6380365#file-install-sh
I’ve submitted the recent fixes to upstream HomeBrew so this should be available out of the box with Homebrew soon.
Here’s a few FontForge python scripts I’ve put together:
Simple font name generator that is more a example of how to write FF python: https://github.com/davelab6/fontforge-font-name-generator
Interpolation tool: https://github.com/davelab6/fontforge-simplepolator
Peg spacing tool (idea originated by Pablo Impallari, made by Daniele Capo): https://github.com/davelab6/Spacing-macro
UFO import/export tool (that binds to §, just left of the 1 key on my UK keyboard): https://github.com/davelab6/fontforge-ufo-depot
The build script I used in my MA, very rough: https://github.com/davelab6/fontforge-anthozoa
Control Point Killer (a very simple one, also possible in GUI with 'Make line’): https://github.com/davelab6/fontforge-retract-control-points
Control Points Stepper (made by Daniele Capo, a nice idea I believe originated by Petr van Blokland, implemented recently in Glyphs): https://github.com/davelab6/fitcurve-fontforge
Finally…
In Development: Enter Glyphs By Name In Metrics Windows
Today if you want to see characters you can’t type in the Metrics View, you have to drag them from the Font View.
In progress right now is a metric window input feature so you can write glyph names into the input box.
This embraces and extends Fontlab’s syntax: /one /two /#006f nonono
NOTE: Today this only works on 'word list’ files (load them from the input box dropdown).
This little-known feature allows you to set up a series of spacing lines to test with in a text file, and go through them by pressing the up and down arrows when the caret is in the text input box.
Soon you’ll also be able to input the glyphs by name in the input box.
There’s also few bugs to iron out.
You can see it all go down here: https://github.com/fontforge/fontforge/issues/651
Here’s a preview of the syntax that works:
nonono/one/two/three/nonono
nonono/one/two/three/nonono # there is a glyph named 'no'
nonono/one/two/threenonono
nonono/one/two/three//nonono
nonono/one/two/three//non/ono # there is no glyph named non
nonono/one//two//three/nonono
no//nono
n/#006Fn
nn/#006fn
nn/#006f/n
nn/#006f n
n\\o
no\\nono
n\006Fn
n\u006Fn
2 Notes/ Hide
- sawickies liked this
- neuralgazeio liked this
- fontworkshop posted this