glyphr-studio / Glyphr-Studio-1

Now deprecated, Glyphr Studio v1 served us well from 2010 to 2023.
https://www.glyphrstudio.com
1.07k stars 94 forks source link

[Question] How to view/edit stylistic alternatives in GlyphrStudio #329

Closed TheHandsomeCoder closed 2 years ago

TheHandsomeCoder commented 2 years ago

Hey folks, really impressed with GlyphrStudio!

I'm working with a font that includes stylistic alternatives. Specifically it lets me use a single story a character instead of the double story a. I can access these through the typography options on OSX.

image

Is it possible to use the glyphs from the stylistic alternatives in GlyphrStudio? I have looked through the help docs and settings and unfortunately nothing jumped out at me.

Any help would be hugely helpful! :)

mattlag commented 2 years ago

I don't believe so... I may have to do more investigation to understand how stylistic alternatives are saved to OTF files (which table they are in). We use OpenType.js to read and write OTF files, so if they don't support it, Glyphr Studio can't either. I feel like i've dug around a fair bit in OpenType.js, but there is a chance i've missed something.

So the short answer is "no" - but there may be something to look into here.

TheHandsomeCoder commented 2 years ago

So my brief understanding of this is the Stylistic Alternatives are stored in the GSUB table as what I can effectively see is a map of glyph id to alternative glyph id. However I did look into OpenType and it looks like they currently don't support subing in the stylistic alternatives. However perhaps there's a way for me to access the glyphs in glypher studio anyway

Debugging I can see that the glyphs are just stored alongside their standard counterparts, just with a differnt ID

image image

When I import into Glypher I seem to only get glyphs catergorized by Latin, Latin A, Arabic etc. Is there a way for me to load a specific glyph outside of this?

Outside of this, I'll be looking to see if I can PR support for my use case into OpenType

mattlag commented 2 years ago

Interesting, right now Glyphr Studio assumes all glyphs have a corresponding Unicode when we import glyphs. Another place this pops up is with Ligatures, which are glyphs that don't have a specific Unicode ID. At the moment we don't import anything outside of standard Unicode ranges.

It seems like it may be possible, but to be honest it would be a pretty big work item (a whole new tab in the UI for stylistic alternatives)... and if you can't export them to a font, then what's the point of having them in the first place?

There are many areas like this where Glyphr Studio breaks down. It's a great tool for basic typeface design. But for any medium or advanced functionality need, you may need to 'graduate' to something like Font Forge or Glyphs.

TheHandsomeCoder commented 2 years ago

My specific use case is striping down a existing font for use in an app that doesn't support the Stylistic Alternatives in a font. The plan was to just sub in the glyph manually. I might just need to fork Glyphr and make the file manually. The I can use the glypher file from it in the standard version,

Thanks for the info! :)

mattlag commented 2 years ago

Oh, maybe I could re-state your scenario a different way, see if I understand. If you could have access to see stylistic alternates in Glyphr Studio, you could copy them from their non-unicode-codepoint area and paste the shapes to a codepoint so they could be included in a 'standard' font that doesn't use stylistic alternates.

TheHandsomeCoder commented 2 years ago

Yes, that is a significantly more succinct way of putting it 😅

On Wed, 1 Dec 2021 at 19:11, Matt LaGrandeur @.***> wrote:

Oh, maybe I could re-state your scenario a different way, see if I understand. If you could have access to see stylistic alternates in Glyphr Studio, you could copy them from their non-unicode-codepoint area and paste the shapes to a codepoint so they could be included in a 'standard' font that doesn't use stylistic alternates.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/glyphr-studio/glyphr-studio-1-help/issues/10#issuecomment-983972075, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAL7GRGYKWHJX2GBSI3UVFTUOZXMLANCNFSM5I24AQ4A .

--

mattlag commented 2 years ago

There are lots of ways you could go about forking / hacking Glyphr Studio to get it to do what you want (again, I think it's an interesting scenario, but I don't think I have time to implement it as a feature for everybody at the moment). Let me know if you have any questions about the codebase or the way things are done.

mattlag commented 2 years ago

I haven't fully wrapped my head around exactly what you're trying to do, but you may be able to use just OpenType.js to do it - especially if you don't need to edit the glyph outlines themselves. If you just need to copy stylistic alternates to a different codepoint and re-save, OpenType.js may be able to just do that from the command line by itself.

TheHandsomeCoder commented 2 years ago

Yup that worked perfectly, I just fliped the unicodes and names on the glyphs in the glyphset and exported it. Am now seeing the correct a in Glypher Studio

image

Code Sandbox for those who may need to do something similar in the future -> https://codesandbox.io/s/heuristic-poincare-pmocz?file=/src/index.js

mattlag commented 2 years ago

Nice, glad it worked! OpenType.js is fantastic at accessing and editing raw font file information. Glyphr Studio is basically just a nice looking vector editor built on top of it :-)