1

I am using the Fixedsys Excelsior font as a custom font in several programs, and every now and then, the interface requests the text to be bold. I am assuming that in this case, a bold version of the font is somehow generated automatically by "thickening" the letters, and I don't like it. The following is an example from the Python interpreter in Ghidra:

Too bold text

I am wondering if it is possible to add a bold variant of this font which is in fact the same font, i.e. whenever a program displays Fixedsys Excelsior as bold, it will display Fixedsys Excelsior regular.

My naive impression was that this could potentially be achieved using fonttools and the corresponding ttx data type/format, but naturally this may be the entirely wrong tool. One way or the other, I have no idea how to achieve my goal and would be very grateful for any ideas how to do it. Thanks a lot in advance!

1

For a font to be regarded as the bold variant of another, it must have the following metadata properties:

  • It has to have the same family name.
  • The OS/2 weight class must be 700 Bold.

It may help to keep some other metadata (weight name, etc.) sane, in particular avoiding overlaps.

There are several programs that can modify these, but the one I am familiar with is FontForge. With this, your procedure is:

  1. Open the Fixedsys Excelsior font file with FontForge.
  2. Element → Font Info.
  3. Change Fontname, Name for Humans, and Weight to something else. Don’t touch Familiy Name.
  4. Go to the OS/2 section.
  5. Choose 700 Bold for the Weight Class.
  6. OK.
  7. Accept to create a new ID.
  8. File → Generate Fonts
  9. Save under a different file name.
  10. Ignore all potential warnings.
  11. Install both fonts.
  • Thanks a lot! This works perfectly in every application ... except for the Ghidra Python prompt. Alas, I am considering this a bug in Ghidra, or possibly Java. – Jesko Hüttenhain Jul 2 at 23:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.