Glyph properties and OT panel

Hello :slight_smile:

A few problems I’m encountering with glyph properties (‘info for selection’)

  • If I change the glyph name, all the properties are reset. I have to use a custom naming scheme, so it can’t find glyph properties in the default database, and I don’t want to write a whole new XML for one project, so it would be beneficial if glyph properties could stick to the glyph, rather than depend on the name.
  • Under the same circumstances, duplicating glyphs also resets the properties of the new glyphs, I think a duplicated glyph should inherit all the properties of the one it came from.
  • When trying to apply new properties to a range of glyphs, they don’t stick (the properties remain as they were before).

Then the OT panel:

  • IgnoreBaseGlyphs doesn’t turn blue like the other flags.
  • non-ASCII characters typed accidentally in the features or classes are invisible and thus pretty hard to debug. Maybe they could be stripped out if copy-pasting or highlighted, or at least displayed?
  • Similarly, space characters in the glyphOrder list invalidate the line they appear on, but since they’re a space glyph, they’re not visible if at the end of a line. Could they also be highlighted or stripped out?
  • Undo in the features panel always reverts the view to the top of the feature. In a complex font, there could be hundreds of lines of code, so having the view revert to the top means losing your place completely, especially since the cursor also seems to move to the very end of the feature.
  • Has anyone written a script to flag any classes that are not used in any feature? I’m pretty sure some of my classes are now irrelevant after several code changes, but without reading through every line of code in every feature I can’t be sure which can safely be removed. Maybe the classes list could check this automatically and grey out classes that are not referenced anywhere in the features?
3 Likes

Thank you, Ben, for the bug reports and the interesting ideas. We are discussing them internally.

2 Likes

Duplicating and renaming keeps more data, now.

I added IgnoreBaseGlyphs.

The feature text view and the macro window show all glyphs now.
Screenshot

Spaces will not be a problem any more. Please open the glyphOrder parameter once and hit OK to trigger the cleanup.

The Undo in the features is a known problem.

2 Likes

Lovely! :heart::relieved:

I have been thinking about the idea of “report unused glyphs” and “groups” scripts, though I haven’t had time to work on it. Also I would like to see OT groups and features separately; I do not like going back and forth to check the contents of each.

1 Like

I am working on a OT Peeper, which always display your OT Groups (classes) when you work on your lookups. There was a little sneek preview in my Robothon talk.

That’s a useful thing. I’d say a task for a script, since reading the OT code all the time in order to find unused classes might be heavy on cpu.

Also what I find a bit spoiling to a UX: there’s no “Cancel” button to abort. Somehow I expect it, and when I made changes that I don’t want in the end, I need to revert manually, thinking the revert was not complete. It always gives my tiny little stomach aches then :slight_smile:

1 Like

Yes! I am starting to find the same thing. I have more than 60 classes in my current font, and almost 30 features, so they exceed the window even when maximised. Scrolling all around to find the right class, editing it and then remembering which feature I was working on is turning into a process of trial and error.

Would it need to read it all the time, or just when the OT panel is opened and/or the compile button is hit?

Yes! I mentioned this ages ago, thanks for bumping it again.

The not needed classes is in the works.
And I have a look at the info for selection window.

2 Likes

Slightly off-topic (my apologies): There’s a script in @TimAhrens’ freemix collection that lists inaccessible glyphs. Actually pretty much the opposite of what Ben is looking for, but nevertheless useful in cleaning up your OT code. :slight_smile:

1 Like

Yes, I think maybe I had that in the back of my mind when thinking of a similar/opposite thing for classes :slight_smile:

One other request: if you’re working on classes, could it also check if there are classes that contain exactly the same glyphs? When redoing bit of code, I’ve ended up with classes that contain exactly the same things, so it would be helpful to know.

Agree. It needs either cancel or reset to default button, or both.

2 Likes

+1 for reset to default as well as cancel.

1 Like