I am wondering if it would be feasible to be able to assign multiple Layer Colors to a glyph.
The context of this question comes from following the progress of @HugoJ plugin FontDashboard and here
The plugin is a clever way of harnessing the organizing potential of Layer Colors by adding a level of game-like visualization displayed as progress bars.
I know people use Layers Colors to organize in all sorts of ways.
An example of the mock-up of the FontDashboard UI has this type of organization:
In this context, what if a user wants to select more than one category for a glyph, for example, Needs Redrawing (Red) andCheck Anchors (Purple). This would require being able to select multiple Layer Colors which isnāt possible at the moment.
While I donāt have an answer for how this would look in the Glyphs UI without it being visually clutteredā¦I am curious, are there any thoughts/plans of being able to assign multiple Layer Colors?
Iām not an expert, but LayerColor are not exclusive to GlyphsApp.
If you convert your .glyph to .ufo, LayerColors will be displayed if you open .ufo in another Font Editor. ( Whereas GlyphColor is a feature exclusive to GlyphsApp)
So it must probably be difficult to change this feature or to modify it in Glyph with adding possibility to assign multiple LayerColor.
A possible solution is to use GutenTag plugin by @FlorianPircher. Instead of assign LayerColor we could think about assign āstatusā tags to Glyph. Like this a glyph could have āNeeds Redrawingā and āCheck Anchorsā tag. In this case my script could check status Tag instead of LayerColor to build progress bars.
But this solution is less visual, and a bit more complex. (It easier to set LayerColor than to assign Tag)
By the way, Iām completely agree with you @gor.jious, Font Dashboard would be much more relevant in this way.
The shortcuts would trigger the following windows, with the insertion point blinking in the text field ready for input and the Return key ready to confirm the edit:
But this solution is less visual, and a bit more complex. (It easier to set LayerColor than to assign Tag)
I agree that the visual feedback would be somewhat lost switching to Tags. I guess the color aspect would only really be relevant when in Font View but with smart filters, it would be easy to filter categories by their tags.
I like the way that the GuidesPalette uses Tags with a checkbox toggle to choose with guides to display or not.
Ah right, Tags are only assigned to Glyph and not Layer. Hmm, I guess that would put a kink in thingsā¦unless Florian has a solution in mind.
You could always store custom metadata in the userData of the layer, but there is no built-in system in Glyphs for categorizing layers that way; you would need to write a custom plugin.
What is your use case? Track various issues regarding layers as shown in the screenshot of the Font Dashboard that you have posted above? Would this only apply to master layers, or would you also want to track other layer types (color layers, alternative layers, intermediate layers, ā¦)?
This is defintely the only way to do it. I could write small scripts to add/remove layer.userData ( for example layer.userData['Need-Redrawing'] = True)
How work GutenTag? Does it store tags in a glyph.userData ?
Do you think it could be potentially possible to store Tag per layer with GutenTag ?
For the moment it only work for master layers, but it would be really useful to track also alternative layers, intermediate layers.
Glyphs have a separate tags property, so there is no need for user data in Guten Tag. Instead of writing each category into its own user data on a layer (layer.userData["needs-redraw"] = ā¦), it would probably be better to write a set or array to a single user data field (layer.userData["categories"] = ["needs-redraw", ā¦]).
No, this is currently not possible. We are investigating something in this direction. If you have a specific use case in mind, we will consider it when planning future extensibility in this context.