glyphr-studio / Glyphr-Studio-1

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

How to 'family' multiple fonts using Font Forge #307

Open ortegafernando opened 4 years ago

ortegafernando commented 4 years ago

HI, I am trying to use a font family with different glyphs in regular and bold font. When I install the fonts, they appear under same family in windows fonts, but when I use them in WORD, and apply BOLD I get the regular font "bolded", and not the bold font.

I have tried a lot of changes in font settings, but I can't get it working.

What are the settings to create a real family? Does only work with TTF and not with OTF ?

Thanks a lot

NOTA: I have tried deskptop and web apps.

mattlag commented 4 years ago

Yes, the fake-bolding of fonts is hard to get rid of - same issue for oblique-ing regular fonts when you have an italic font.. Unfortunately, there are two problems that make me unable to help you :-\

  1. How operating systems 'family' fonts together is slightly different from program to program, so there is no single answer here. It has something to do with metadata, but I don't know the exact metadata to tell you to update to create a family in both Windows and Office (or other programs). Digging through OTF / TTF metadata values, there are many 'family' fields which may be possible answers.

  2. Glyphr Studio uses OpenType.js to create OTF files, and OpenType.js has limited metadata writing support. If you really want to tackle this problem, I would try to find the answer to problem 1 above, then use something like Font Forge to edit the appropriate metadata. Font Forge is free and open source, and has complete control over editing metadata... so unlike Glyphr Studio, you actually stand a chance at accomplishing your goal.

This issue has come up many times before, and unfortunately this is my best answer. Please, if you do discover something useful, let me know :-)

mattlag commented 4 years ago

An idea that just occurred to me is to open many fonts that do actually 'family' successfully in Font Forge, and try to see what metadata fields are the same. This may help with problem number 1. I have not done this investigation before, but I may if I get some random time.

ortegafernando commented 4 years ago

Thanks a lot.

daliborpuljiz commented 2 years ago

After days of frustrations I've finally made it, and connected the dots and successfully made a family. My standard problem is the most of the free fonts in the wild do not contain Central European glyphs. Glyphr Studio is just amazing piece of software - thanks @mattlag! Using Glyphr Studio I can add those 6 CE letters, that I need most, in like 6 minutes. I'm still amazed how it magically runs off a browser.

Anyway - getting the font done is the easiest and first part. Unfortunately Glyphr Studio is not yet good enough with metas, hence we need the FontForge. I know it looks repelling at the first sight but actually you can't get any further without it. The magic lies in its Font Information dialogue. However, it's puzzling how to make it right so various software will accept the family.

Windows 11, for example, accepts almost anything and recognizes as family, but design software, like Affinity, is a bit more picky. MS Office is no better. The C:\Windows\Fonts handler is totally disconnected from Windows 11 font settings, being stubborn and not recognizing families without proper setup, as well.

My learning process how-to make it work was to study proper Google font family like "Roboto". I simply applied the same logic as those guys who produced them:

FontForge Font Information options tabs to set up (use "Roboto" family as an example):

Export to TTF or OTF, install. It should work. It has definitely worked for me. :)

mattlag commented 2 years ago

Thank you very much for following up! I have not yet tried to dig into this problem, but this is great information. I may add it as a FAQ or something in the help documents. Even if the answer is "Go to Font Forge to fix it" it's great to have a path forward!

daliborpuljiz commented 2 years ago

Thank you @mattlag. Actually it's easier than it looks at the first sight, but it's tedious, too, as one needs to be super extra careful and focused not to mess up somewhere in the process. Anyways, as I've said above - I think all of the above tabs are important and you have already got half of the required fields in the software.

My suspicion is that the most of the problems lie in the understanding of those metas:

The thing is that GlyphrStudio is really messing up all the metas inconsistently so I suggest you test it with the FontForge against the Roboto or something that you know for sure it's fine.

Good luck :)

mattlag commented 2 years ago

I'm going to use Font Forge, but for Glyphr Studio, we use OpenType.js to read and write all font data (glyph outlines and metadata). Honestly the last time I touched the font metadata code was many many years ago :-) so there is a chance OpenType.js has improved their metadata read/write ability since then. My first step will be to load a font family like Roboto into OpenType.js to see what it can do. I'm hoping this can be accomplished there, which means an update to Glyphr Studio could solve this problem. But even if OpenType.js / Glyphr Studio can't write the right metadata, giving specific guidance in Font Forge will be helpful.

Again - thank you so much for your effort and investigation!

daliborpuljiz commented 2 years ago

Noted, I'll try to keep an eye on the progress and give it a test once you'll be done.

Thanks for wonderful working software.

mattlag commented 2 years ago

Leaving this here in case it's helpful in the future

https://www.reddit.com/r/typography/comments/z5if3z/how_do_i_make_these_be_recognised_as_a_font/