glyphr-studio / Glyphr-Studio-2

Glyphr Studio v1 is more than a decade old. V2 is here to save the day.
https://www.glyphrstudio.com
122 stars 17 forks source link

Clearly visible Glyph metrics in editor view (suggestion) #93

Closed RYG81 closed 1 year ago

RYG81 commented 1 year ago

While searching for a good tool similar to mac pp Glyphs3 (https://glyphsapp.com/), I came across Glyphr Studio. I find it exactly what I need for my small task of editing/adding additional glyphs to a font. I am using this tool for last 4-5 days, and somehow managed my need. But I feel one thing is required and is clearly visible Glyph metrics right inside glyph editor view. You already have a tutorial on this here - https://www.glyphrstudio.com/tutorial/ A perfect picture - https://www.glyphrstudio.com/tutorial/metrics.png to describe it, but in glyph editor view this is missing. image It would be great to have the metrics lines visible, which is managed at project/font level, to make it easy to add/edit glyphs for a font already present. Rahul

mattlag commented 1 year ago

Hello! Yes, the screenshot you posted (and this issue) is in Glyphr Studio v2 - it's currently in Alpha and has very limited functionality. Guidelines are actually on the roadmap for v2 (probably Beta 2).

Just FYI, v2 probably isn't suitable for full projects just yet - there are probably many bugs and limited functionality.

You can see from v1 we have many options for Guidelines, including defaults for key metrics, but also the ability to create custom horizontal or vertical guide lines for whatever you want: image

Something like this will be included in v2 eventually!

(It's highly recommended to use v1 for any project you actually care about 🙂 https://www.glyphrstudio.com/online/)

mattlag commented 1 year ago

Tracked in #94 for v2-beta2

RYG81 commented 1 year ago

Thanks. I used v1 only, but didn't notice the screen similar to what you shared above. Will try again.

mattlag commented 1 year ago

No problem - let me know if you have any more questions! mail@glyphrstudio.com

RYG81 commented 1 year ago

Sure, thanks. One feature request would be to get details from Glyph/Character similar to this website - https://symbl.cc/en/unicode/blocks/bengali/ When we move cursor over a glyph thumbnail we get bigger view with details we can use in other application or for other things to do like getting Hex code, Unicode ID, copying glyph itself etc. would be great.

Also for the guidelines i found if i extend the glyph shape beyond right and left side guide. guideline moves with shape edge image (here blue line is its actual position)

this little confusing when i just need to add one or two glyph that can handle proper positioning. It is possible I am doing something unexpected :)

Thanks, Rahul

mattlag commented 1 year ago

Good suggestions. For the glyph tiles, we do show the full name and hex code as a tool tip... but they are not easily copyable: image

FYI I also maintain https://unicode.ninja, which provides lots of details for every unicode character, including easy ways to copy the character, hex, or html entity. But adding some of this functionality to Glyphr Studio is a good idea (I'll add it to the list for v2)

For your second issue, there are two options for "glyph width". If you import an OTF or TTF file, the Glyph Width > Auto Calculate is unchecked by default, which means the advance width will be fixed to a specific number: image

If you check this box, Glyphr Studio will automatically calculate the advance width based on the shapes in your character, and the side bearing settings: image

There are global defaults for the side bearings, but they can be customized per character. Overall, Glyphr Studio is designed for beginners and hobbyists, so for new projects this "auto calculate" is set to true for all characters to make things easy.

The problem you describe where you move a path point and it's updating the glyph width, seems to indicate that auto calculate is set to true for that character.

RYG81 commented 1 year ago

Your replies really encourage me to use this tool more. https://unicode.ninja/ this one also pretty good source, thanks for this.

Just wanted to know have you ever worked on Indic (Indian languages)? I am currently trying to bring it to Unity game for my personal project. But unity does not support Ligature, GSUB and GPOST, hence not working as expected. I recently read about Baraha fonts, where developer mapped other languages over Latin character mapping Though its good idea but this also not working as expected. But this make me think that is there is a way to map one font character to other font map then may be one common map can be used for many languages. But I am not sure if this possible or right way of doing multiple languages.

My research on this is on going, if you have any suggestion, please let me know. Thak you very much.

RYG81 commented 1 year ago

You said – The problem you describe where you move a path point, and it's updating the glyph width, seems to indicate that auto calculate is set to true for that character.

Will this affect in generated font also? I mean, will this change the position of previous and next character spacing with the current character in a word? Because for some case, I am having issue with overlapping characters in a word.

Rahul

mattlag commented 1 year ago

I have not worked on Indic languages. I think what you describe is possible, but that mapping cannot be saved automatically to the font file itself. You, as the developer, will have to define and store that map. For example, if you have a ligature for 0x123 and 0x456, you could (in a regular font file) save this as a Ligature definition where these two characters are replaced with liga-01. Since you cannot use Ligatures, you would have to find another character to overwrite, like 0x789 - then in your app's game code, you would have to do a pass over all your text, recognize sequences you want to replace, then replace the characters in your string before you display it within your game. The good news here is that - yes, Unicode has a definition for all the characters... but you don't have to follow that standard, you can write any character shape to any character in the font. If you keep track of where everything is, you can use any character for anything you want. Just FYI, there is a "Private Use" area in Unicode that is specifically left blank for font designers to use however you wish. If you want, you could use this blank area for your extra characters (if you were worried about "overwriting" other areas of the font). image

In fonts, each character has an "Advance Width" property - which is how much horizontal space that character will take up on the line of text. The shapes in that character can be less wide than the Advance Width, or wider, there is no limitation. Almost always there is some space on either side of shapes in characters (this is the side bearing) if there was no side bearing, then all the letters in your font would touch, which is hard to read. In the other case where shapes go beyond the advance with, they run the risk of overlapping with the previous or next character on the line. Glyphr Studio's "Auto Calculate" feature only exists while you are editing - once you hit Export to OTF then all the characters with Auto Calculate get a final calculation and converted to a fixed Advance Width in the actual OTF file. Within Glyphr Studio you can preview your characters before you export on the Test Drive page. Drawing the shapes for each glyph is just the first step. You will probably also have to do a lot of work to make sure all the characters look good together. image

RYG81 commented 1 year ago

Hi,

I just wanted to know if I add Ligature in font and export font as .ott, will glyph studio have those ligature listed if I open that new font in it again?

mattlag commented 1 year ago

No - Ligatures can export to OTF, but we cannot import Ligatures from OTF. https://www.glyphrstudio.com/help/overview_file_formats.html

It's highly recommended to use the Glyphr Studio Project File as the main thing you work with and save. After you are done with changes, save both the Project File, and export the OTF file to use. If you only save the OTF file, it will be missing a lot of information that is included in the Project File.