A font primer for X11 – OSnews

2022-09-17 12:58:41 By : Mr. Raymond Lei

This article aims to clear up that confusion about the different font types and how Linux (and other Unix-like operating systems) incorporates them into the user experience.

Ex-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker.

Follow me on Twitter @EugeniaLoli

i always awnted to know about this

…linux STILL has ugly looking fonts here and there, but i also CAN have very good looking fonts. I guess because of the open-concept it is nearly impossible to have a systemwide PERFECT looking font-set in action.

I’m impressed by some of freetypes rendering examples. It has better hinting than OS-X, but that also depends on the fonts used.

My opinion is: There’s no real reason that linux still has inferior font-appearance than OS-X, XP, WhatEverOS. Technically it is easily possible, but offering a consistent font-appearance is NOT one of linuxs strenghts.

http://www.osnews.com/phorum/read.php?f=1&i=4474&t=4458&v=f

Lets talk about the article here.

http://www.osnews.com/comment.php?news_id=8573

i guess i’m doing something wrong, because fonts simply still look awful on my fedora core 2 box, the antialiasing is so much overdone. i wish there where still bitmap fonts.

I was discussing this on one of the Ubuntu threads the other day. I still can’t make small fonts look all that great under linux. Tahoma-10, no matter what DPI. I’ve got Bitstream Vera Serif looking alright, but its still no match for cleartype

The cleartype link looks the best. The second one looks like crap, and the third link looks better than the second, but not as good as cleartype.

I think I’m doing something wrong too, because on my Linux box the fonts are very beautiful compared to the XP box at work. And it has TFT.

If you had ever compared ClearType and FreeType on an LCD, you’d not say that.

ClearType’s anti-aliasing is just awful. IMO FreeType’s anti-aliased rendering (with sub-pixel rendering on) is most pleasing to the eye on LCDs.

Jouni Hätinen: You could try the Bitstream fonts.

s/Linux fonts awful?/i dislike freetype/

s/Jouni Hätinen/zaphod/

From what ive seen on linux for the last 2 years, only old X programs such as xcalc have ugly fonts. Otherwise, everything is nice and smooth

Linux fonts look awsome. My gentoo desktop surpassed my XP box some time ago when it comes to font rendering. And mind you, I didn’t do anything to make that happen, thats just by default.

And I agree, the Bitstream fonts are where its at.

Screenshot 1 & 2 were from my Laptop. So I have seen what it looks like on an LCD. I admit screenshot 2 is crap but it is better than the fedora default which is screenshot 3.

Also the bitstream fonts, vera specifically looks identical to verdana under freetype.

My point is that ClearType shapes the letters better and has good spacing.

I would like to ask a question about how legal it is to reverse engineer font engines ala MacOSX’s.

Didn’t they have to redo freetype or remove a feature in the past. eg. Screenshot 2 I think has that feature compiled in.

I remember Rayiner H. in the past showing of his KDE desktop. Freetype on large LCDs work best.

I think resolution of 1024×768 and below is not as good as higher resolutions, using freetype.

.. with the TrueType bytecode interpreter turned ON is one of the things I always do after an installation of some Linux distribution. The auto-hinter is not good enough, yet, IMO. Un-antialised pure Tahoma-8/9 with bytecode hints is simply the perfect generic UI font, and a must-have for me (Yes, it’s the standard UI font on Windows, but it’s damn good, especially on my 1024×768 laptop, where big and bloated font sizes for the UI is banned).

If you don’t believe me, take a look a this screenshot [kde-look.org]:

http://www.kde-look.org/content/preview.php?preview=1&id=16526&file…

I would like to ask a question about how legal it is to reverse engineer font engines ala MacOSX’s.

I’m not really sure what you mean? One problem for Freetype is that Apple has patents related to hinting, which Freetype’s bytecode interpreter infringes on. Because of this, the bytecode interpreter is disabled by default. You specifically have to enable it at compile time to use it (otherwise, a non-infringing auto-hinter is used). See http://www.freetype.org/patents.html

same here, Slackware-10’s fonts are prettier than Windows fonts on my computer, bitstream does the trick here too…

plus i copied 3 of the windows fonts from a friends computer, Arial, Tahoma, Times New Roman…

I think that all are pretty good, and it is very difficult to choose a winner which basically means that all are ‘good enough’.

Above a certain quality, I think that choosing one or the other is more like choosing a paint or the other, a matter of subjective personnal preferences..

Me I can’t choose a winner because on each screenshot there are some parts which I prefer to the other and some parts which I think are inferior..

For exemple I don’t like the ‘S’ in Windows’screenshot but I like the ‘W’..

plus i copied 3 of the windows fonts from a friends computer, Arial, Tahoma, Times New Roman…

Those fonts look awful on Linux. It’s better to not copy them. Verdana on the other hand looks good. (Using the bytecode interpreter here + aa).

ill answer that with a quote from a previous poster…

“I think that choosing one or the other is more like choosing a paint or the other, a matter of subjective personnal preferences.”

If you don’t believe me, take a look a this screenshot [kde-look.org]

Looks horrible. No anti-aliasing at all. Even the BeOS font handling is better.

Also, when speaking about fonts on X11, please always mention the DPI of your system. Tahoma-8/9 could be anywhere between 4 and 30 pixels high…

Question about configuring X.org:

Should i load type1 and freetype in xorg.conf or freetype only?

Freetype handles both Type1 and TrueType (as well as OpenType) fonts. You can leave out the type1 part.

Cant make small fonts look good in X?

Try turning off anti-aliasing for sizes 8-12 (or there abouts). Not enough pixles ya know. That should help.

Depends on the fonts that you have installed, in addition to what you intend to install?

Most likely you have type 1 fonts with Xorg. Not sure about the open type fonts. Sorry, I am still on x 4.3. Check the directory where your fonts are load. Dont forget true type. 😉

locate font | grep -i TTF

This should narrow down the directories where your fonts are located. Sorry, not on my *nix box’s (at home). Stuck at work.

I spend the whole day yesterday playing with XD2 and Redhat 9, the thing is ByteCode enbled just handles normal Tahoma fonts and they are no doubt good. However try reading Italics or Bold and you will see the staircase effect. Slashdot is always badly rendered in my Laptop no matter what.

As Anand says about rendering italics. I should have used Slashdot in my screenshots.

yeah, i noticed that too, i just copied the regular font file, and leave out the bold and italic ones when i copied the windows fonts…

How long do they remain valid. Is it 20 years?

http://www.freetype.org/patents.html

Says the three patents were filed in 1989 and 1992. Does that mean in the next couple of years linux could have awesome fonts.

>> From what ive seen on linux for the last 2 years, only old X programs such as xcalc have ugly fonts. Otherwise, everything is nice and smooth <<

Yes – the Bitsream Vera Sans fonts with Linux are as good as anything on any platform – simply a non-issue here – one example, Bitstream vera sans, anti-aliasing, and KDE 3.3 – as pretty as anything out there.

how to get good fonts on linux. i am stumped. btw i am using slackware. fonts on my win xp machines looks a lot prettier than linux box.

I don’t really know or care about fonts. As long as there is a reasonable default, I’m happy.

But for at least the last year I have noticed that my Linux Desktop fonts look a LOT better than my fonts on WindowsXP. My Linux fonts are a lot smoother looking. When I do boot over to XP for whatever reason, I always notice how jagged the fonts look.

I haven’t done anything on either system with regards to the fonts. My WinXP box is a default install with no Desktop theme or user enabled fonts. Same with my Gentoo Linux setup. (Which uses either OpenBox or Gnome 2.8 depending on my mood.)

But I will say that this is a relatively new, and much welcomed, improvement to modern Linux distributions. When I first started playing with Linux on the Desktop in 1995/1996, fonts were horrible looking. And it didn’t seem to get better (without a lot of work) for several years. It has only been in the last couple of years that fonts have become a “non issue” for me under Linux.

1) Make sure your GUI has anti-aliasing turned on.

2) Make sure your app’s that you have complile have anti-aliasing turned on.

3) Read Font Deuglification at TLDP: http://tldp.org/HOWTO/FDU/

4) Make sure your XFree86 config files have the font paths set correctly. Do you have TTF, URW and so forth in your font paths?

5) Have you added the ghostscript fonts?

6) After adding new fonts have you done “xset fp rehash”

Hope some of this helps

…where can I get that monospace font that’s on Fedora?

“Should i load type1 and freetype in xorg.conf or freetype only? ”

Under XFree86, the Xserver choses which fonts to use according to the priority in which they were loaded. So, if your preference is for freetype or truetype, you would want to load them first in the xorg.conf file, to give them highest priority. Assuming this still applies, I have the following list in my xorg.conf:

FontPath “/usr/share/fonts/corefonts”

FontPath “/usr/share/fonts/ttf-bitstream-vera”

FontPath “/usr/share/fonts/TTF”

FontPath “/usr/share/fonts/freefont”

FontPath “/usr/X11R6/lib/X11/fonts/sharefonts”

FontPath “/usr/share/fonts/artwiz”

FontPath “/usr/share/fonts/terminus”

FontPath “/usr/share/fonts/100dpi”

FontPath “/usr/share/fonts/75dpi”

FontPath “/usr/share/fonts/local”

FontPath “/usr/share/fonts/misc”

FontPath “/usr/share/fonts/Speedo”

FontPath “/usr/share/fonts/Type1”

FontPath “/usr/share/fonts/unifont”

Having recently installed Xorg, I noticed the OpenOffice menu fonts looked VERY bad and jagged. Rearranging the font list in xorg.conf solved the problem.

@Lumbergh: Duely noted about the Tahoma example. Although, I should point out that in terms of actual size (in fractions of an inch), the Tahoma font in your screenshot corresponds to 7.2 point, while the standard Windows UI font size is 8 point. The standard UI font size in MacOS X is (11 point at 75 dpi, if I remember correctly), close to the 9 point size in my screenshot.

@John Blink: I tend to agree with you there. For anti-aliased rendering on lower-resolution screens, Freetype doesn’t do as well. With a good UI font, it’s not bad, but it’s not as good as Cleartype. However, given more pixels to play with, I have to say I prefer Freetype’s rendering on higher-resolution screens. On my laptop’s LCD, Cleartype hints too aggressively (and the color fringing from sub-pixel AA is noticible). I prefer the thicker look of the Freetype rendering.

Looks horrible. No anti-aliasing at all. Even the BeOS font handling is better.

Also, when speaking about fonts on X11, please always mention the DPI of your system. Tahoma-8/9 could be anywhere between 4 and 30 pixels high…

Well, I guess it’s all a matter of taste. The DPI of the screen from the screenshot is 75 x 75. If you ask me, anti-aliasing of fonts at small sizes decreases the readability of well hinted TrueType fonts, like Tahoma. This might be less of an issue on displays with higher resolutions. Oh, and of course, I’ll stamp this reply with a big ‘IMHO’.

sorry, i meant, fonts look unbearable without antialiasing. i mostly use small fonts, so antialiasing is not an option (it blurs parts of the charachters away, making them unreadable). so i understand i have to switch this bytecode hinting numbo jumbo thing on. how do i do that on fedora core 2?

With regard to font rendering — has anybody tried out Lycoris Desktop 1.4 to see how it handles rendering? It supposedly includes the Bitstream Font Fusion renderer, which in my limited experience with it on QNX RtP, seems to be quite good.

rm -fr /usr/share/fonts/100dpi

rm -fr /usr/share/fonts/75dpi

and MAGIC!!! horrible fonts disappear!! 🙂

I use Slackware 10 and a 17” TFT display 1280×1024 96 dpi, anti-aliasing, subpixel hinting and in my opinion the best fonts are the Bitstream Vera set.

They look very good also with Freetype bytecode turned off.

The only problem I have is with non latin languages…

It seens that Vera don’t cover these languages.

rm -fr /usr/share/fonts/100dpi

rm -fr /usr/share/fonts/75dpi

Doesn’t this over-complicated crap bother anybody here? Every time somebody has a Linux question the solution is always some brainfuck cd /etc/X11/ && ls -l | grep $[.[A-V]2s/gx | sed [s/sd\sd.f[%sdf | cat >/usr/local/share/lib/etc/fontconfig/.conf. Is there any application problem in Linux that can be solved without having to learn every CS issue surrounding it?

Online instructions tend to be given in terms of the command line because they are unambiguous and easier to describe. Most of the time, the user doesn’t need to understand the command, just transcribe it into the terminal. The exact same commands as he used could be accomplished in the GUI as follows:

1) Make sure you’re logged in as root

2) Start up your file manager, and go to the /usr directory. Then find the “share” folder, and click on it. Then find the “fonts” folder, then click on that.

3) Drag the folders “75dpi” and “100dpi” to the trash.

4) Log out then log back in.

Basically, all he did was remove a set of low-quality fonts. In order to remove fonts in Windows, you have to do the same exact thing, but instead you have to change “root” to “administrator” and “/usr/share/fonts” to “c:program fileswindowsfonts”.

man im getting tired of reading about software patents. they are like speedbumps (or maybe roadblocks, or even old men in junker cars, wearing hats and driveing way below the speedlimit as the road is wet) on the highway of computer evolution.

what anoys me most is, bloody apple owns the troublesome patents… those guys who *sell* a modified bsd…

they are worse than ms, imho.

Although wasn’t it interesting that according to the article, when Apple and Microsoft teamed up to work around the Adobe issue, Apple delivered Truetype, and Microsoft delivered…

By removing these directories what programs won’t work?

rm -fr /usr/share/fonts/100dpi

rm -fr /usr/share/fonts/75dpi

Fedora has an index.html that loads in Mozilla after a fresh install. In that file it always states that in the future they may remove the old font system.

So what would break in a regular distro?

don’t bother to try this. fonts still look horrible without antialiasing. i even installed tahoma from the ms site and to my surprise, it also looks broken.

i tried to compile freetype with hinting on, but got dependancy issues. i don’t get it, fonts looked ok on my ancient suse 7.0 install. why doesn’t anyone offers bearable nonantialiased font support anymore?

So? You linux zealots really need to grow up. Crying over sour grapes because Mac OS X is something linux can never be.

By elsa (IP: 83.169.145.—) – Posted on 2004-10-17 21:15:55

what anoys me most is, bloody apple owns the troublesome patents… those guys who *sell* a modified bsd…

they are worse than ms, imho.

i’m not a zealot. but taking from the oss scene and not realy contributing something back (does anyone realy uses darwin?) and making something crucial like font support in linux a troublesome issue is obviously not nice behaviour.

without bsd they most likely would still sell an os as crappy as os 9.

Not sure what the 7.2 point size is all about that you’re referring to. But the screenshot that I sent you was Tahoma-10, 96 DPI, cleartype-enabled.

To be fair to linux, at least Ubuntu Gnome comes with a default theme. XP without cleartype-enabled and the Silver theme that was in my screenshot is absolutely butt-ugly.

People around here tell me to turn of AA for small fonts 8-12. I don’t think so. XP handles them fine, as you have seen from the absolutely beautiful tahoma-10 screenshot I sent you.

Uhhmm, no. XP handles small clear-type enabled fonts beautifully.

I don’t have a website that I can post to (maybe Rayiner wants to link the screenshot I sent him at Tahoma-10, 96 DPI, cleartype-enabled, or if someone can put the screenshot up I’ll email it to them. And we can also further this discussion in the forums that John Blink linked to.

Maybe I have to “turn on” the bytecode interpreter if it’s not on by default. I’m using Ubuntu Gnome 2.8. What config file do I have to modify to do it.

It’s not that small fonts on Linux are horrible (circa Amiga 1988), but they’re just not as good as XP cleartype IMO.

And I have no idea why I’ve gotten so anal about fonts in the past year or so:)

If I recall correctly, your setup was a 15″ LCD at 1600×1200. That means that 10-point at 96dpi translates to a 7.2 point font (0.10″ tall characters). I was just pointing out that this is a bit small compared to the 8 point (0.11″) font standard in Windows, the 8.6 point (0.12″) font used in OS X, and the 9 point (0.125″) font I used in my screenshot.

Yes, my DPI is 96 and I like my fonts to be small and my setup is a 15″ UXGA LCD at 1600×1200. But I think you’ll agree that the tahoma-10 font screenshot I sent you looks good.

Larger fonts on Linux look good, but I can’t stand these “thick” fonts. Of course, this is all a matter of preference, but preference is all that matters on this issue.

By the way, do you have the “bytecode interpreter” turned on? Can this help X11 to look like what I have on my XP partition?

I agree that the screenshot you sent looks good, and I can see how you’d prefer it if you liked your fonts smaller and thinner. Personally, I prefer the thicker look of freetype’s rendering. Maybe it’s from using BeOS for all that time

On my setup, I do *not* have the bytecode interpreter turned on. The bytecode interpreter tends to make fonts thinner than I like. I’ve put up another screenshot you should look at. It’s a side-by-side comparison of your screenshot on the left, and mine on the right. Two closeups are provided, with Freetype on the window underneath, and Cleartype on top. Personally, I think the two are pretty close, though Freetype keeps the stems black where Cleartype turns them gray. In pixel sizes, both are actually about the same size. This screenshot was taken in Ubuntu, with the stock freetype (bytecode interpreter *off*), with hinting set to full, sub-pixel AA enabled, and with Vera 10-point @ 96dpi.

http://www.prism.gatech.edu/~gtg990h/vera-10-96.png

Thanks for the screenshot comparisons and the Xmag closeups.

I think your font setup is one of the best I’ve ever seen on Linux. It’s close to cleartype, but I still think cleartype has the edge, especially when the fonts get even smaller as in the poster names and IP addresses.

The Xmag closeups are very interesting. Let’s examine the Xmag closeup on the right. Isn’t the cleartype closeup the top one. Look at the ‘r’ and the ‘s’ in Personally. Notice how the top of the ‘r’ has some darker pixels at the right of the top curve of the ‘r’ that makes it appear to run into the ‘s’. Also, and maybe my eyes are playing tricks on me, but it appears that some of the glyphs have a weird tannish aura around them, maybe that’s because cleartype does more grayish pixels than freetype.

Your desktop looks very nice though and I’m probably nitpicking too much, but I still give the edge to cleartype.

Julian (IP: —.15.15.vie.surfer.at) wrote:

Freetype handles both Type1 and TrueType (as well as OpenType) fonts. You can leave out the type1 part.

Anonymous (IP: —.cable.mindspring.com) wrote:

Under XFree86, the Xserver choses which fonts to use according to the priority in which they were loaded. So, if your preference is for freetype or truetype, you would want to load them first in the xorg.conf file, to give them highest priority.

Yes, I know about the ordering of font directories. Julian’s answer was what I was hinting at (no pun intended). Can I be confident that freetype will handle all fonts well? What effect does it have on Type 1 fonts whether I load freetype only or freetype + type1?

Yes, I know about the ordering of font directories. Julian’s answer was what I was hinting at (no pun intended). Can I be confident that freetype will handle all fonts well? What effect does it have on Type 1 fonts whether I load freetype only or freetype + type1?

It depends on a lot of factors like, your desktop environment, your applications and whether or not you have the right fonts installed. All things being equal, almost all Linux applications support freetype and type1 fonts.

Your toolkit engines, especially GTK+, Qt and wxWidgets, should be able to handle any font you throw at them. All you need to do is make sure you have the correct fonts installed, and then use your desktop environment’s font

utility to select whichever font you desire.

You really shouldn’t concern yourself with Type1, Truetype, Opentype jargons. At the user end, if you have the right fonts installed, just use them. X usually loads all the necessary font plugins anyway.

It must be my LCD but in that screenshot the Ubuntu fonts looked like they had a glow around them. XP looked fine.

I sometimes have seen that glow in XP too, but for bold characters around the edges of my screen.

Note: The glow I am talking about can be seen in the xmag windows more clearly, I think it is the brownish colour.

You are not imagining the brown “glow”. It’s there.

It looks like the freetype font AA is using too dark of colors for the anti-aliasing (at least what I can tell from the Xmag).

You’re right about Cleartype having the edge here — mainly because at small point sizes, it does a better job of keeping the letters seperate from each other.

With regards to the glow, it’s definitely there. Cleartype’s filtering is a bit better, but I keep sub-pixel AA off in both environments, because I get notice fringes in both.

may be it is gamma correction trick issue ? when i do my own dithering algs. i got similar color shift. Try xgamma -gamma 1.4 or any and Freetype2 screenshot look less saturated