The designer of this FontStruction has chosen not to make it available for download from this website by choosing an “All Rights Reserved" license.
Please respect their decision and desist from requesting license changes in the comments.
If you would like to use the FontStruction for a specific project, you may be able to contact the designer directly about obtaining a license.
My personal list of improvements I would like to see to the wonderful and amazing tool that is FontStruct.
They are related to the way I use it, and I have no idea how hard these changes would be to implement, or how useful they could be for others.
Perhaps, even, some of these features already exist an I just didn’t RTFM.
The list is in progress.
36 Comments
1. Better Magic Mouse support
Scroll to zoom using Apple’s Magic Mouse is too sensitive: it jumps between min and max values, making it impossible to accurately set the desired zoom level.
Even worse, it’s randomly triggered when placing or moving bricks, resulting in misplacements and non-undoable deletions.
2. Rotation indipendence for the bricks
What I mean is that the brick’s orientation used for stacking and composites should be the one on the grid, regardless of the “original” orientation.
Other than prevent unexpected results, it would allow a wider use of bricks currently offered in a single orientation, whitout the need of adding more.
I am using shortcut X (cut) as workaround for the point E, but I sign the points B and G too.
Bricks like the half arcs can not be stacked back to back, because there simply is no mirrored nor rotated version of them.
And it is pretty annoying when I move bricks to new places over another bricks, but can not fully undo such move. Or when I nudge group of bricks and some reach the limit, while others still move, the unto does not fix them all.
C. Streamlined interface
I like to have as much of the grid visible and uncluttered all the time, and find the bricks’ pool distracting and somewhat hard to parse (I have since learned that others like to expand it further. To each their own, I suppose :-)
Of course, my proposed solution would work best if point B. was implemented first.
@riccardo i think you meant nonrotatable
i guess that..
[D] Deselect Mode is about deselecting bricks from a selection
[E] Delete Selection is just pressing X to a seletion without it going to the copy & paste thing
[F] Return to origin is about removing nudging, rotatios &/or flips from a brick
[G] Consistent undo is about making the undo ***actually WORK***
Oh, you can certainly rotate those bricks; it just doesn't make a difference because there is no chirality or "handedness" to these shapes.
@Peter: Yes, cutting instead of deleting is an option, albeit suboptimal.
@digitalio: Again, yes, I meant non-rotatable. Since I can’t correct it, I will leave my shame for all to see. As for your guesses, they’re mostly correct. I intend to explain each point in the comments one by one.
@Goatmeal: Yes, of course, yet no if point B. is implemented.
@riccard0 - Certainly an interesting menu system you have devised here. Perhaps instead of a rotational reference, how about calling them "Sized Bricks," because they are varying sizes of the same brick shapes?
There are two different aspect to the system: the first is making clear that the shapes are detached from their rotation status, with the pull-out becoming just a shortcut for selecting a pre-made orientation.
The second(ary) aspect is that the consequent abstraction of the bricks’ pool allows to use the same interface mechanism to apply different grouping criteria for non-chiral bricks, to further simplify and focus its use.
D. Deselect mode
Have you ever tried to select a number of different bricks using [shift] to add to your selection? Well, if you accidentally select the wrong brick, either by dragging or clicking, there will no way to deselect it: you will need to deselect all and start again.
A method to deselect part of a selection would save time and relieve frustration :-)
P.S.: it seems comments don’t retain applied bold or italic.
E. A way to delete already selected bricks
As already mentioned in the comments, cutting the selection with [x] achieve a similar result, but is not the same. What if, for example, I already have copied bricks I need to paste in place?
Also, hitting [delete] for this kind of operation is such an almost universal convention that I need a moment to realise why nothing happens every time I instinctively do it.
I wonder how that would affect the multilayer fonts. During the recent competition I applied both mehods, removing bricks with eraser from just the active layer, versus cutting with X all the layers in selected area. And I also stumbled on the situation when I wanted to free up space for pasting bricks from clipboard. So I pasted nearby, cleared with X, selected again and moved selection in place. Maybe it would go more streamlined, if I could better plan ahead the bricks manipulation, but still, delete button seems the most natural way for me too.
@Peter Of course layers would complicate things (also) in this regard. But if consistency of behaviour is maintained, I think it could work. As for now, selection works on all visible layers and the eraser works only on the active layer. If the delete command works on selections, it should delete all visible layers: the same as copy, cut, paste, and move.
i guess that [I] makes it so that, if you copy a brick in "Layer-2", then select "Layer-1", the brick should copy into "Layer-1". this would probably only work if the select button were to select only bricks in the selected layer (which may be handy)
F. Back to the start
There are times when, for whatever reason (in my case often due to the aforementioned Magic Mouse misbehaviour) it isn’t clear what portion of the grid is shown, thus making it hard to guess where to scroll in order to return to the red dot at the intersection between “left” and “baseline”.
It would be useful to have a command ([0] perhaps?) that brings the visible portion of the grid back as it is when you create a new fontstruction (with or without resetting the zoom level).
@riccard0 double-clicking the hand in the tools will bring you back to the origin.
Thank you Rob! I was hoping that at least some features already existed and I just missed them.
One down :-)
For D you can do option/alt-click.
@meek: “For D you can do option/alt-click”.
This one is new, right? I’m pretty sure I tried it prior to writing it down, since it’s a pretty common convention.
In any case, thanks again!
No worries. It’s been there from an early stage, but it’s easy to oversee it.
G. Reliable Undo
Unfortunately at the moment the result of pressing [z] is not consistent nor reliable. A typical example is the nudging situation well explained by Petruuccio above, but there are other cases in wich trying to undo something yields unexpected and unpredictable, and potentially destructive, results.
I would then prefer that [z] would simply do nothing after a set number of steps and just admit to us: “sorry pal, I can’t go further than this, and you wouldn’t like it if I tried”.
like this?
😅 Perfect!
@riccard0
[D] is Alt+Drag
while in select mode
@18man, yes, thank you, Rob Meek pointed it out a few comments above. It works both with click and with drag (the same way shift works for adding to a selection).
H. Reset brick state
(thanks to digitalio for the reminder)
Working with many similar custom bricks, with 2×2 filters and nudging could result in not being sure of what the original state of the brick you are looking at was. At times I resorted to stab… ehm… stacking an unobtrusive brick on top of it in order to undo any nudging, flipping and/or rotation it may have endured.
A less fiddly method would be nice (and of course it would apply only on nudging if B. were implemented).
I. Copy between layers in colour fonts
The ability to copy and paste bricks between layers would save a lot of time and frustration for many designs. The feature could assume many different forms: from a “command” like the ones for uppercase/lowercase, to something like “duplicate layer”.
A way to keep it in line with the current behaviour would be to allow to paste a single layer selection onto a regular fontstruction and then copy and paste it back on the bottom layer of the colour font.
L will be 1/16 nudging.
@ctcg_ The fact is that 1/16 nudging is already possible with a 2×2 filter. However, because of the way angles and curves work, no amount of nudging subdivisions would guarantee you will reach the exact spot you need. Even with just straight lines, you can have a 1/32th of a brick width.
Nudging is a useful, arguably even essential, hack, but still a hack. It’s a way to break out of the grid, which, in turn, is one of, if not the core concept of FontStruct.
I, for one, am not looking forward to need to press [shift]+[arrows] 64 times to position one brick. A more granular solution could be adding a filter-like “displacement” panel with two sliders to refine the value of the nudging (with the added bonus to be able to see its values and reset them if needed).
A solution more in line with what I see as FontStruct’s original idea would be the ability to import (or draw) your custom bricks. But that would be a sure way to quickly spiral into madness ;-)
what about dark mode
@digitalio-2 Dark mode would be very nice for fontstructing in areas with little light.
for [K] i think its for making like bold, italic & different width variants of a font
Please sign in to comment.