WINE terrible fonts

I really have no idea what to do.
Fedora 27
Wine 2.20

Everything looks aliased and terrible.
I tried installing winetricks, setting subpixel antiAA in gnome, installed MSFonts and Font smoothing RGB in PlayOnLinux

I have no idea what I am doing.

Can you give us an image?

Are you getting aliased fonts in the core WINE programs (winecfg, winefile, etc.), or just in a particular Windows program you are trying to run?

Does what you are trying to run have an AppDB page?

All I am trying to run right now is Foobar2k. Yes I am getting aliased fonts on WINE and PlayOnLinux as you can see from the capture. Foobar text is barely readable

Welcome to the world of microsoft where every font is from W2K and no actual effort has been put in since they fired all their workers.

No but really you can replace the MS Core Fonts with linux fonts I do believe. There was something I saw on WineHQ years ago about that in like 1.4 or 1.3.

What is going on on the left window of winecfg? It looks fine (apart from JPEG artifacts).

It looks like for whatever reason, certain fonts are not anti-aliased when they are between sizes 10 and 18.

For example: I am testing this in wineconsole where at those sizes DejaVu Sans Mono is anti-aliased, but Liberation Mono is not.

My guess is that that like @FaunCB suggested, this could be fixed with font substitution:

1 Like

It could be that the version of Wine that you are using is hella old and is missing a package that your distro needs to properly render the fonts.

Are you doing any sort of screen scaling? Running higher than 1920? Running an atypical aspect ratio (not 16:9 or 16:10)

Also, IIRC, there are multiple types of sub-pixel rendering and it is dependent on the screen you are using. You probably need the exact monitor detected and not a generic one. (probably not the issue)

How is this Microsoft’s fault when the Windows environment is not provided by Microsoft?

No the monitor is a standard 1920x1080 one. I am not doing any sort of scaling as far as I know

Edit: Well, I changed the font through Foobar to System and it improved dramatically. PlayOnLinux was showing not WIne versions installed for some reason so I installed Wine 3.0 through that. I have no idea if that changed anything but it didn’t fix the problem. Anyway, it is decent now in Foobar, I don’t have any other Windows applications yet but I am sure I am going to have the same problem if I get any.

If you want to experiment with the font rendering, there should be a Wine Wordpad program in C:\Program Files\Windows NT\Accessories. From my quick testing, there are different ranges for different fonts where they will render aliased.

Foobar2000 defaults to Meiryo UI, so whatever font is being used instead of Meiryo UI is the problem here, WINE is displaying that font without anti-aliasing.

Again, what is the difference between the winecfg window on the left and the one on the right? This really makes no sense to me, the UI font in WINE is never anti-aliased.

The left window is winecfg, the right is winecfg through PlayOnLinux
I had foobar configured to use Roboto Light on my Windows install and I copied the appdata foobar folder from that drive, so that may have been the culprit after all. I also tried arial but that was bad as well.

At certain size ranges, and the range changes from font to font, WINE will turn off anti-aliasing.

While I was doing some research I found a comment on Redhat’s bugzilla:

Websites may ask for tahoma, but isn’t that partly because of entrenched microsoft mindshare? If they request it, surely they’re expecting MS’s tahoma rendered by the MS font stack, not wine’s incomplete tahoma copy rendered by freetype. Meanwhile, distributions and desktops have gone to some effort to make the web look good out of the box.

Maybe this is a case of certain fonts being reimplemented by WINE not being complete; and this anti-aliasing is a poor quality embedded bitmap?

On my machine Roboto Light is antialiased all the way from 8 pt to 28 pt and higher.
With WINE’s substitute for Arial, antialiasing only turns on at 14 pt or higher.

Can you test this in WINE wordpad, is this similar for you?

By the way, older versions of WINE controlled anti-aliasing through regedit options in HKCU\Control Panel\Desktop but those don’t do anything with WINE 2.20 on my machine. Maybe they will work on PlayOnLinux if it is somehow forcing antialiasing?

Edit: You said you already installed MS fonts… maybe that package doesn’t include Meiryo UI?

I am seeing the exact same behaviour with Arial on Wordpad. That must be with Freetype Arial as MS Fonts is installed in PlayOnLinux, not WINE. It is indeed anti-aliased only at 14 pt or higher. I didn’t have Roboto Light installed on Fedora until just now but I can’t really see if anti-aliasing is working under 8 pt, the text is just too small. It is antialiasing at 8+ pt though. I don’t have Meiryo UI installed either.
I am trying to install Notepad ++ through PlayOnLinux to test but I am getting MD5 mismatch errors.

Another thing to add to the list of what-the-heck-is-going-on, take a look at Tahoma at 10 pt in wordpad, and Tahoma 10 pt in the winecfg Screen resolution settings (Graphics tab).

The spacing and kerning is a couple pixels off here and there and adds up to an 11 px difference by the end of the sample text. I’ve marked the difference in red when it increases, although I gave up partway through:


There is definitely something wrong here

Notepad seems to be handling it best although winecfg text is much sharper

Yeah, I don’t know what option PlayOnLinux sets to force anti-aliasing like that.
I tried the HKCU\Control Panel\Desktop registry options, but those do nothing on my machine. So there is probably some newer setting (unless PlayOnLinux is an old version of WINE) that enables anti-aliasing like that.

I’m out of ideas at this point.

This problem was fixed for me by installing ‘mscorefonts’ and using the script/editing the registry in this thread:

1 Like