-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Additional sorting view for the new glyphs view #1996
Comments
Thanks for your input: I will need some time to digest these ideas. I think I understand the gist of it, though. |
In a way, your recently added glyph grouping interferes/overlaps with my idea a little bit, or at least I see why it gets complicated. There's actually a second idea I've been wanting to propose, so allow my to expand: I encourage you to separate thinking of glyph views strictly into input and output. Input are glyph sets, with obviously the font's glyphs as the base set, and then filters applied to the base set in the same way that this works in existing apps. Actually, since you create the existing grouping dynamically based on the glyph set, it would be preferable if those weren't groups in the main view but filters in the side bar. Because currently I have to scroll to find Latin when I could just click on Latin (or any other category in the different groups) in the sidebar if it was directly accessible and see only Latin. That UI/UX is mature in other apps. This way I could combine filters, such as see Latin Uppercase by clicking on those two, because they are spelled out in the sidebar as opposed to being groups in the main view. Another idea that I haven't proposed yet because I believe it needs a Python (or any other easily usable) API and plugin infrastructure before it, is programmatically defined filters. These are plugins that return a glyph set as a result, based on any criteria defined in code and based on the font's data. You can only go so far in defining filters manually in a UI, but programmatically defined filters provide a leap forward in design-time font QA because they automatically update the viewable glyph set in those filters based on which glyphs have missing or wonky outlines, missing components, incompatible outlines, glyphs with intermediate masters, nodes with identical positions... the possibilities are endless, and often very particular to a workflow or font. Of course it's (ultimately) necessary to have simple filters definable in UI for inexperienced users, but it requires a lot of work to implement on your side, while programmatic filters require very limited work on your side with near-unlimited potential for power users. (Side note: Inside programmatic filters, glyphs can be coloured by the filter, the meaning of which is limited to that filter, as another filter can colour glyphs differently based on their other criteria.) The absolute majority of work I do in Glyph's scripting window are situations where I loop over the font's glyphs and either select/unselect them based on my criteria, or at least print their names to the output based on whatever data. I want all of that to be readily accessible and re-usable with a single click, and to not just filter based on any random criteria, but also see that visualized directly in the glyph view, what the glyph set actually looks like that just calculated. Okay, so this is all input. And then the output is how you print those glyphs to the screen visually. Currently only one output view exists, which is to just output one glyph after the other with line breaks, separated by grouping. I'm proposing a second output view that shows glyphs in a matrix as described above. You can also keep the groups. In that case, when grouped, the output view needs to be recalculated per group, so that in case of the matrix only those glyph extensions are created as columns that actually exist in that particular group and certain groups don't show loads of empty columns. But I seriously propose to move the groups to the sidebar to be directly accessible as a two-dimensional list:
and so on. I just tried it again in Fontra. While the grouping is generally helpful, I have to scroll through a 6,000 massive glyph set and visually identify the separators (and everything is just gray and the group headers are tiny) and then find the right group. If they were available on the side bar, I need just one click to find the right group. So if you were to implement the matrix view, I would probably remove the grouping by glyph name extension, because those are the two that are actually interfering with each other. |
Pro tip: the sections are collapsable. Alt-click on a header (un)collapses all sections. |
I understand your matrix concept, thank you. |
I was pleasantly surprised that Fontra's new glyphs overview has a "Glyph name extension" grouping mechanism.
While this is a noticeable step forward in gathering an overview of character variations, here's an additional idea that I've been sharing with other font editor makers in the past that I absolutely need for my work with many alternatives per character, such as for Arabic. I made a PDF generator for myself that generates that overview, but it's cumbersome to use to the point where I am too lazy to use it actually.
A view where glyphs are arranged in a matrix, one row per character, with columns corresponding to glyph name extensions. This allows a quick-glance overview of
Imagine a very calligraphic Arabic with up to 41 variants per character, and the same variants repeated for so many different characters that are supposed to share the same construction. The below view prohibits to extract any meaningful information about the glyph set.
The new "Glyph name extension" grouping allows to check whether all glyphs in that group share the correct base shape, but none of the other three pieces of information from the list above are possible to extract from this.
This means that the new view will have to scroll both vertically as well as horizontally (if extensions exceed available viewport).
I see this implemented not as part of the existing "Group by" section, but as an output "view" independent of the groups, so that it can be combined with any glyph set.
Following expectations in UI, there would maybe be little icons just above the glyph view (or also in the left pane) that will take whatever glyph set is produced as a result of glyph set input (and hopefully filters in the future), and output it either as a normal list as of right now, or alternatively in the described matrix.
By carefully resizing my Glyphs window, I could reproduce what I mean for a small section of the glyphs (marked blue), but it goes out of sync left and right because, on purpose, not all character have all extensions. I want that matrix to always be in sync and produce gaps where glyphs are missing. Side idea: Offer automatic "add glyph" in that empty spot.
I also saw that thumbnails are expanding for very wide glyphs, which I find absolutely awesome! I think this should be kept in the matrix view and the column adapts to its widest glyph.
The text was updated successfully, but these errors were encountered: