Skip to content
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

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

Open
ortegafernando opened this issue Apr 26, 2020 · 9 comments
Open

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

ortegafernando opened this issue Apr 26, 2020 · 9 comments

Comments

@ortegafernando
Copy link

ortegafernando commented Apr 26, 2020

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
Copy link
Member

mattlag commented Apr 27, 2020

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 mattlag closed this as completed Apr 27, 2020
@mattlag
Copy link
Member

mattlag commented Apr 27, 2020

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
Copy link
Author

Thanks a lot.

@daliborpuljiz
Copy link

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):

  • PS Names: make sure you apply the same logic as Roboto example
  • General: (use [Guess] for italic fonts
  • OS/2: make sure everything is in order in {Misc}, {Panose}, {Charsets}
  • TTF Names: make sure you apply the same logic as Roboto example

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

@mattlag
Copy link
Member

mattlag commented Oct 18, 2022

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!

@mattlag mattlag reopened this Oct 18, 2022
@mattlag mattlag changed the title OTF. Problem with regular, bold and families How to 'family' multiple fonts using Font Forge Oct 18, 2022
@daliborpuljiz
Copy link

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:

  • {Family} and {Preferred Family}
  • {Styles (subfamily)} and {Preferred Styles}

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
Copy link
Member

mattlag commented Oct 20, 2022

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
Copy link

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
Copy link
Member

mattlag commented Nov 27, 2022

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/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants