grassmunk / Chicago95

A rendition of everyone's favorite 1995 Microsoft operating system for Linux.
4.47k stars 153 forks source link

Suggested fix for MS Sans Serif font issues #218

Open pkfbcedkrz opened 2 years ago

pkfbcedkrz commented 2 years ago

Since Pango / HarfBuzz have dropped support for many legacy bitmap fonts, the following Helvetica OTB font works as a replacement for MS Sans Serif, including bold and italic versions. Add the files to ~/.fonts or /usr/share/fonts to install:

cronyx-cyrillic.tar.gz

By default, some systems block bitmaps fonts (as opposed to TTF fonts with embedded bitmaps, which are not blocked by default). To enable this and other bitmap fonts, run

sudo rm /etc/fonts/conf.d/70-no-bitmaps.conf

If you see "No such file or directory," then bitmap fonts were already enabled on your system.

The name of the font is listed as "Helvetica" and so depending on distribution, it might conflict with Adobe's Helvetica font. Specifically, Debian lists both as Helvetica (Arch lists Adobe's font as "Adobe Helvetica" so there is no conflict). If, after installing this font, some programs show a different Helvetica font, the other font can be safely removed. To fix this for programs such as Firefox which still accept PCF and other legacy font formats, run:

sudo rm /usr/share/fonts/X11/*dpi/helv* (Debian-based only)

Do not uninstall xfonts-75dpi or xfonts-100dpi on Debian-based systems, as these are required by tasksel tasks

This font is primarily intended for Latin characters (ie, Western European languages).

Cyrillic users (Eastern Europe) can use a copy of Arial from a recent version of Windows along with a .conf file similar to the one currently used for MS Sans Serif - be sure to replace MS Sans with Arial in both the file name and file contents.

I am not sure what CJK font East Asian users should use - I use Noto as a fallback for CJK, but that is not bitmap.

More info about how this font set was generated can be found at https://gitlab.gnome.org/GNOME/pango/-/issues/534#note_1040472

Screenshot_2022-01-06_00-43-38

0x5066 commented 2 years ago

image That might just explain why Windows' Tahoma looks weird

pkfbcedkrz commented 2 years ago

@0x5066 Windows fonts still work in certain browsers, qt5 applications, and desktop environments (eg., TDE). But for universal support, OTB fonts will be the way to go going forward.

CrashOveride95 commented 2 years ago

So how do I install these OTB fonts exactly? Which ones do I use?

0x5066 commented 2 years ago

Been wondering too, I think I got it installed in my Manjaro VM by following the arch linux tutorial of manually installing them, but I don't see it pop up, even after restarting

pkfbcedkrz commented 2 years ago

@CrashOveride95 @0x5066 To install these fonts, make sure bitmap fonts are enabled (sudo rm /etc/fonts/conf.d/70-no-bitmaps.conf - if you see "No such file or directory," then bitmap fonts were already enabled). Then add all the font files to ~/.fonts or /usr/share/fonts.

For Debian-based systems, if you use Firefox or another app that still supports PCF, you might see a different font in the Firefox GUI. Run sudo rm /usr/share/fonts/X11/*dpi/helv* to remove this older version so that the names do not conflict.

CrashOveride95 commented 2 years ago

Where do I get that Terminus font you use for monospace?

pkfbcedkrz commented 2 years ago

Terminus OTB on Debian-based is provided by the package fonts-terminus-otb and on Arch-based by terminus-font. The Arch version has broken italics, so I'd recommend using the version from Debian instead: debian terminus.tar.gz

BalooRJ1 commented 2 years ago

Thank you for this solution! I was using MS Sans Serif, and since it does not support Unicode it would give a black box instead of the ellipses character in titles. Appreciate the fix, I am sure @EMH_Mark_I will add this to the guide.

EMH-Mark-I commented 2 years ago

I've been testing the Helvetica OTB font and it works almost perfectly. There is however issue with QT applications, such as KeePass or Virtualbox. I've noticed that these application windows are very widely spaced.

Screenshot_2022-01-22_00-34-16

Edit: Something else that I've noticed is an alignment issue with the title bar on Ubuntu MATE. This doesn't seem to affect XFWM however. I'll keep tinkering with it to see what different outcomes I can get. Screenshot_2022-01-22_11-22-12

EMH-Mark-I commented 2 years ago

Never mind the MATE title bar issue. It may be unrelated and part of a metacity theme issue. I'll address it later!

CrashOveride95 commented 2 years ago

I've been testing the Helvetica OTB font and it works almost perfectly. There is however issue with QT applications, such as KeePass or Virtualbox. I've noticed that these application windows are very widely spaced.

image

Having the same issue on my end, some QT programs like Ark are almost unusable

CrashOveride95 commented 2 years ago

I tried changing the font to Liberation Sans 8 as recommended by INSTALL.md and the spacing issue persists, I think this is unrelated to font

EMH-Mark-I commented 2 years ago

I tried changing the font to Liberation Sans 8 as recommended by INSTALL.md and the spacing issue persists, I think this is unrelated to font

You would have to change it in Qt5 Settings for it to apply to Qt applications. After applying the font change, log out then log back in and open KeePass.

CrashOveride95 commented 2 years ago

That's what I did

pkfbcedkrz commented 2 years ago

@EMH-Mark-I @CrashOveride95

The Qt font issues are not specific to this font, but related to all OTB fonts in general.

For Qt apps, I have found two options:

1) The plain Microsoft Sans Serif font still works when used along with the existing fontconfig file - however, be sure to use the original font from Windows, and not a converted form like described in INSTALL.md with bold added. I have found that the converted form will also cause elongated windows in some Qt apps.

or

2) Qt apps also still support PCF fonts, so you can use the PCF versions of cronyx Helvetica. These are available in Debian-based distros as xfonts-cronyx-75dpi and xfonts-cronyx-100dpi. I'm not sure what package provides these in Arch-based and other distros, so here is a copy : ubuntu-cronyx.tar.gz

This one will be listed as "cronyx Helvetica" or "Helvetica [CRON]" or something similar.

There is a 1px vertical alignment difference between these two methods in some Qt apps (eg, pcmanfm-qt), so I prefer the first method. Unfortunately that means bold fonts will be broken in Qt apps, but I have found this preferable to having a 1px misalignment, as is the case with the second method.

So - for GTK-based setups with a few Qt apps (such as my own), I'd recommend method 1. For Qt-based setups, I'd recommend method 2 so bold fonts work properly.