Slashdot Mirror


Xft Hack Improves Antialiased Font Rendering

Eugenia writes: "Font antialiasing first made its way to XFree through Qt/KDE only a year ago and GTK+/Gnome followed some time after. Even with the latest version of Freetype 2.08, which reportedly brings better quality, the result is still not up to par with the rendering quality found on some commercial OSes. David Chester has hacked through the Xft library and he achieved an incredibly good quality on antialias rendering under XFree86. With this hack, at last, XFree can deliver similar aesthetic results to Mac OS X's or Windows' rendering engines. Check the two brand-new screenshots ('before' and 'after') at his web page and notice the difference with your own eyes."

124 of 336 comments (clear)

  1. Breaks out in song... by CaptCanuk · · Score: 3, Funny

    I can see clearly now the fonts are antialiased...
    I can see all webpages, in my way...

    --
    ---- The geek shall inherit the Earth.
  2. ClearType? by Latent+IT · · Score: 4, Informative

    I get the feeling that there is still work to be done, though. If you have windows xp, it's worth turning on the ClearType setting in Display -> Appearance -> Effects. XP starts as anti-aliased, but ClearType brings an even greater level. Of course, if you haven't seen ClearType in action, it's hard to expect improvement from plain old win2k. But the font improvements shown above in XFree are amazing, like night and day, no more blocky p's and q's at the wrong font size, which will make a lot of happy people at non MSFT boxes. =)

    1. Re:ClearType? by Eugenia+Loli · · Score: 3, Informative

      Yes, this is true. WinXP's Clear Type is more advanced than the traditional anti-alias true type rendering, but it is valid ONLY for LCD screens, *not* for CRTs. I think this post here is pretty informative on Clear Type... :)

    2. Re:ClearType? by taion · · Score: 5, Informative

      XFree86 4 supports sub-pixel anti-aliasing (aka ClearType). You just need to put match edit rgba=rgb; in XftConfig.

      --

      ----------
      Floccinaucinihilipilification - the action or habit of judging something to be worthless
    3. Re:ClearType? by frantzdb · · Score: 4, Informative

      With X, just add match edit rgba=rgb; to /etc/X11/XftConfig to get ClearType fonts in X.

      --Ben

    4. Re:ClearType? by Darren+Winsper · · Score: 2

      Err...I don't see the word "kernel" in there anywhere for a start. Second, damn near every distro provides XFree with AA support these days.

  3. good, but not quite excellent.. by thesupraman · · Score: 5, Informative


    Having worked with GOOD font rendering software (mainly for broadcast television) I can say that most gui renderers do a pretty horrible job.

    It's not that they get the font shape wrong, or don't antialias correctly, it's that they don't allow for how people see things, and just antialias 'mathmatically correct'.

    With the fonts we use for television character generaters, several seperate rendering passes are used to give:
    1 - a solid and anti-aliased 'interior' to the font (this is 'normal' antialiasing)
    2 - a perimeter or border to the font, in a slightly different colour/darkless level, to make the edge stand out
    3 - a seperate rednering to the alpha channel to stop the font from 'blending' excessivly at the edges with the background (ie: a buffer zone).

    This makes a MASSIVE difference to the quality of the fonts, especially on anything other than a solid colour background.

    unfortunately, no OS as yet does this for it's screen display fonts, which is a pity, as it makes a BIG difference.

    Having said that, I'm VERY happy that improvements are happening, as good font rendering makes a hugh difference to the effort required to read text.

    1. Re:good, but not quite excellent.. by BJH · · Score: 2, Insightful

      Unfortunately, there's a BIT of a DIFFERENCE between rendering for overlay ON video (which means you can take AS long AS you like), and DOING anti-aliasing for a semi-REAL-time user INTERfAcE.

    2. Re:good, but not quite excellent.. by thesupraman · · Score: 5, Informative


      Hmm, I guess we don't do real time text then, damn, I was pretty sure that was what I did, certainly looks like it, I must have been dreaming...

      Of course, there IS a difference when you need to display a full page of scrolling text at speed, but since characters are normally only rendered once each, and then cached, the processor time required to do high quality anti-aliased text is actually very very small in relation to just about everything else (laying out the text is a much more processor intensive task for most uses).

      The time required to properly alpha-blend it is a little higher (depending on the windowing system and graphics hardware), but still not that great.

      One BIG thing that gets missed is the fact that antialiasing for LCD is quite different from antialiasing for trinitron, which is quite different for antialiasing for a standard CRT, due to dot placement/shape, and that also makes quite a difference (I believe microsoft has an LCD mode, and freetype can do one, from memory).

    3. Re:good, but not quite excellent.. by mike_sucks · · Score: 2, Insightful

      Doesn't it scare you that something as fundamental as screen rendering algorithms can be changed using a *checkbox on a page from a remote website*?

      My god, no wonder new exploits are constantly being found in Windows and IE.

      Mike.

      (-1, Offtopic)

      --
      -- "So, what's the deal with Auntie Gerschwitz et all?"
    4. Re:good, but not quite excellent.. by saintlupus · · Score: 2

      Yeah, it says it is from "Microsoft Corporation". Or was that "Microsoft Corperation"?


      The real Microsoft Corporation is user number one. All others are imposters.

      --saint

    5. Re:good, but not quite excellent.. by scrytch · · Score: 2

      I'd agree that while renderers for television fonts may be more sophisticated, the reason for 2 and 3 have a whole lot to do with compensating for the poor contrast of NTSC and the bleed effects on older and cheaper televisions with lousy shadow masks. #1 is a trait that even consumer computer video cards don't have, and #2 is more of a graphic design principle for when you don't control the background -- it'd be nice to get the effect for text over graphic backgrounds, but a grey bar at 25% opacity under the text will usually do decently. It's definitely not an effect you want for black text on white backgrounds.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  4. Comment removed by account_deleted · · Score: 5, Informative

    Comment removed based on user account deletion

  5. Comment removed by account_deleted · · Score: 2, Interesting

    Comment removed based on user account deletion

  6. Changing two lines of code is "hacking through"? by Anonymous Coward · · Score: 3, Insightful
    The site says:


    Again, please note that my changes consisted only of two lines of code worth of changes: setting some flags in freetype glyph structs, and adjusting the rendering resolution. Any praise should generally be directed to the folks at freetype and the author of Xft and XRender, Keith Packard.



    How does changing two lines of code merit a frontpage story on slashdot?
  7. mine looks better by Catmando · · Score: 3, Interesting

    All i can say is that my fonts look better than those screenshots. But its probably because of the sub pixel rendering on my lcd screen.

    all you have to do is add one line to your XftConfig

    here is a howto:
    http://jmason.org/howto/subpixel.html

  8. Re:Do I detect a hint of jealousy? by foqn1bo · · Score: 2, Insightful



    Did YOU ever do anything so simple who's outcome was so useful? No, of course not. Otherwise you wouldn't be so damn pissed about it. Two lines of code it may be, but the results are what got people talking about it, and in the end that's all that matters. Except to people like you, of course.

  9. Re:Ok, this is excellent by greenfly · · Score: 2, Offtopic

    What you are looking for is called Enlightenment :)

    It's basically the only window manager I've seen that does fine-grained window memory right.

  10. Why is font rendering in X so bad? by lightspawn · · Score: 5, Interesting

    (half off-topic, I know).

    It's like the text is always too small, too large, or not the one the developer intended.

    Not to troll, but this is exactly the kind of thing that has much more effect than technical people believe.

    Is it something in the design? The freely available fonts?

    1. Re:Why is font rendering in X so bad? by Error27 · · Score: 3, Informative
      >>Not to troll, but this is exactly the kind of thing that has much more effect than technical people believe.

      Most people believe it.

      It's possible to get fonts to look correct... My fonts look fine. The real trick I think, is to get fonts working right by default.

    2. Re:Why is font rendering in X so bad? by lightspawn · · Score: 4, Insightful

      Sure it's possible - for you. But here's a newsflash - most people, (who, by the way, know a lot more about their industries than you) don't know enough about X to configure it. And most don't have either the time or the inclination to learn.

      So how the OS is shipped determins how good the fonts look for most people. If you can make it look better, make that the default.

      The goals of "making everybody see the light and switch to Linux, thus toppling micro$oft" and "forcing every Linux user to spend hundreds of hours learning about the system" are MUTUALLY EXCLUSIVE.

    3. Re:Why is font rendering in X so bad? by brucet · · Score: 2, Informative

      Check out the XFree86 Font De-uglification HOWTO.

      It has a lot of information on font rendering in X11 and following its advice can really make a big difference in improving the look of the fonts, (especially in Netscape I found).

      -Bruce

    4. Re:Why is font rendering in X so bad? by mcrbids · · Score: 2

      Here here!

      This man speaks WISDOM!

      Honestly, I don't recompile for stuff like this. Do I know how to recompile the kernel? Yep. Done so many times. Do you think I actually DO?

      Not unless there's a real good reason for it.

      I use Linux to get a job done. It does rather well. I like the fact that if I want/need to, the source is available for me to find/fix a bug, and I've found plenty of bugs, (and they are all fixed now in the default distro of XX product)

      But I don't compile stuff unless there's a damn good reason.

      I don't upgrade KDE until there's an RPM. I don't use software I have to compile unless there's no other option. The time spent just isn't worth it.

      So if Alan and his friends at Red Hat decide not to ship with AA fonts, I have ugly fonts. Ugly fonts are still readable, and allow me to get my job done.

      The ability to do something does not mean you have a reason sufficient to actually do it!

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
  11. Greetings. by Anonymous Coward · · Score: 5, Informative


    Here's another mirror. Sorry about those stupid ads.

    I also want emphasize one thing that I say on the website. I can't take a whole lot of credit for the improvement. For sure, the freetype project and Keith Packard, author of XRender and Xft did all of the hard work. I just tweaked a few settings (adjusted glyph proportions and turned off hinting).

    David Chester

  12. Re:Steve Gibson debunks M$'s "innovation" by spectecjr · · Score: 3, Insightful

    Check out this article [grc.com]. ClearType is just Microsoft's name for sub-pixel rendering, and it's been around for decades now.

    Yeah, but Gibson is also an ass who doesn't seem to know the difference between scientific method and guesswork.

    MS research has the fully detailed papers which indicate the fourier transforms, information theory and signal processing theory behind the technique. Which is a damn sight more thorough than Gibson's quackery.

    "Oh yeah, apple did it all in the 70s". Bullshit. Back then, the Apple II didn't have the hardware or the CPU power to do the kind of calculation you need to do for Cleartype. Nor did it have the color resolution. All Apple's tech was was a way of hacking color out of a monochrome NTSC signal -- not getting better resolution out of a monochrome signal using color. Get the difference?

    When are people around here going to do some thinking and some research instead of acting like idiots? I thought that people who flock to sites like this were supposed to be tech savvy? Maybe it's just me, but I thought that indicated at least a modicum of intelligence instead of blind sheepery.

    Simon

    --
    Coming soon - pyrogyra
  13. erm... why is hinting enabled then? by koekepeer · · Score: 4, Insightful

    it might just be a typical "ignorance is bliss" situation on my side, but if this effect was largely achieved by disabling the (apparently buggy) hinting support in freetype, why did they enable it in the first place?

    i'm not trying to insult the freetype guys, they've done great work to make X look nicer, but this hack would probably not exist if they would have disabled hinting by default.

    the screenshots do look okay, but are still somewhat blurry. i actually prefer not using antialiasing below 10pt anyway, the fonts quickly become unreadable. but that IMHO of course.

    1. Re:erm... why is hinting enabled then? by spitzak · · Score: 2
      You have not tried XP.

      Correct anti-aliasing like it appears they are doing now allows even the tiny fonts to be antialiased and readable, and it looks like they enable it all the time now. "font smoothing" appeared to be a hack that recognized patterns of pixels, much like the old Macintosh "smooth printing" did.

      The algorithims being used by Xft and OS/X are the same as these new correct anti-aliasing used in XP, and thus both have tried to antialias all fonts. Although there are bugs in Xft, when it works it looks to me that all fonts can be better with antialiasing.

  14. AA text fuzzy? by rubinson · · Score: 4, Insightful

    I'm really not trying to troll here but anti-aliased text has always looked fuzzy to me. In the screen shots, for example, the spacing and sizing of the AA text is certainly nicer but the default text seems shaper and crisper. Am I wrong here? Joel Spolsky agrees with me but everyone else seems so excited about AA text that I have to wonder if I'm missing something.

    1. Re:AA text fuzzy? by BrookHarty · · Score: 2

      I would agree, then I started using WinXP and cleartype. Cleartype amazed me when I first saw it, it is perfect anti-aliasing.

      I cant wait to see something like this as standard on linux. My work computer is a sunblade 100 running linux, Only thing that it needs is good AA fonts.

    2. Re:AA text fuzzy? by JabberWokky · · Score: 2
      It really depends on your monitor and the settings on your video card. I've had configurations where the AA looked better, and others (most) where I prefered just having nonantialiased best. The antialiased icons in KDE, however, look great. But then, I'm not looking for the details nor demanding instant recognition of many dozens of them per second.

      --
      Evan

      --
      "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
    3. Re:AA text fuzzy? by Darren+Winsper · · Score: 2, Interesting

      AA has always been a matter of preference. My first computer had RISC OS on it, which had anti-aliased font rendering by default from the get-go. I guess I just got used to it and expect it. The one place I don't like AA is in my X terminals, which is funny since the one place RISC OS never had anti-aliasing was its command line :)

    4. Re:AA text fuzzy? by frantzdb · · Score: 3, Informative

      It is available for X. See my other post on this page.

      --Ben

    5. Re:AA text fuzzy? by Electrum · · Score: 2

      I agree that those screen shots look blurry, but if you get used to the anti aliasing on Windows 2000, which only does larger fonts, it is definitely an improvement. I have friends with laptops (LCD's) and XP, and they absolutely love ClearType. So I think it's a combination of getting used to it (it won't look good immediately, since you are used to sharp, jagged edges) and getting a decent font renderer (which Linux may or may not have). Give yourself a few days of it and see if it looks better to you. You might end up wishing you'd done that a long time ago.

    6. Re:AA text fuzzy? by epukinsk · · Score: 2

      With this hack, if the edge of a character goes straight down the middle of a pixel, the pixel is lit up at 50% brightness. That means if you have a 1px wide black line that straddles the border between pixels, you end up seeing a 2px wide gray line. On the other hand, without AA, the renderer forces the line to one side or the other, which is where the aliasing comes from.

      ClearType takes something a of a middle of the road approach. It takes the hinting into account, trying to push things towards pixel borders when it can, but not forcing it too much. This is what XFree does by default, the only thing is that it does the hinting rather poorly, so you still see a lot of the effects of "forcing" the text towards the pixel boundaries.

      Evil empire or not, ClearType on a CRT is by far the cleanest AA screen displayed type I've ever seen. I imagine it's even sharper on an LCD. I can't wait for Linux to develop a competetive solution (we're almost there!)

      -Erik

    7. Re:AA text fuzzy? by CDWert · · Score: 2

      I have to agree 100% here...

      I always feel like Im looking at one of those 'are you stoned ?' t shirts with blury text.

      I have been hammering away at aconsole since 79, I have 20-20 vision in my 30's and have singularly NEVER gotten a headache from looking at a screen to long, I hated when ambers came out I like green.

      But you are not alone, everytime Im looking at AA I try to focus.

      Your not missing anything, who is anyone to tell you youre wrong, like the old myopic lady that has her fonts jacked up to the size of playing cards, it works for her.

      NOW This is true on a screen, this is transient infromation, mine isnt up long enough to have to look good.

      --
      Sig went tro...aahemmm.....fishing........
    8. Re:AA text fuzzy? by StarTux · · Score: 2

      You're not trolling as quite a lot of people just do not like AA text, even in the Mac world.

      Matt

    9. Re:AA text fuzzy? by foobar104 · · Score: 2

      Antialiasing is a neat tool, used in moderation. I just dream of 200dpi screens where it's pointless.

      At work I have two monitors on my desk, both 21" Sonys. The one on the left runs at 1280x1024. The one on the right runs at 2048x1556 (I think). When I read PDFs, I open Acrobat full-screen on the right display, with AA turned on. Sitting about two feet away from the screen, as I usually do, the PDF is then almost indistinguishable from the printed page.

      Medium-high resolution (> 120 dots per inch) with decent AA is a powerful combination.

    10. Re:AA text fuzzy? by spitzak · · Score: 2
      Although "Clear Type" as described by MicroSoft is useless on CRT's, there sure are a lot of reports of people here saying they "clicked ClearType on and the display is better". They are either delusional or the "Clear Type checkbox" is also changing the basic anti-aliasing algorithim.

      Certainly the XP machines I have seen in stores (which are probably at the default settings) have nice anti-aliasing on the fonts in the dialog boxes. I would consider it the equal of what I have seen on OSX and from Xft when it works. I don't think we will see better until hardware is added to properly composite the a-a images in gamma corrected space.

      So I suspect people are clicking the checkmark, Windows is figuring out they don't have an LCD and not actually changing things, and the people are fooling themselves into thinking the display is better when in fact it is the same.

    11. Re:AA text fuzzy? by spitzak · · Score: 2
      *both* those images had antialiasing turned on.

      The left image had the (apparently broken) "hinting" turned on, which mangled the sizes of the characters. But both then rendered the resulting characters with the same anti-aliasing algorithim.

  15. Re:Steve Gibson debunks M$'s "innovation" by idealego · · Score: 2, Funny

    http://grcsucks.com/

  16. Font antialiasing is a crutch by Proc6 · · Score: 4, Funny

    Why can't people see the real answer is just to develop ultra high resolution displays finer than the resolution of the human eye, then we can just make razor sharp fonts like a high quality laser printer. :) Okay, so we'd need a 4gig GeForce20 Ultra, but it would look 3R33T.

    --

    I'm Rick James with mod points biatch!

  17. that's something completely different by markj02 · · Score: 5, Insightful
    Computer text is usually rendered onto a solid color and displayed on a high-quality, high-bandwidth device. That has almost nothing to do with rendering text for overlay onto a pictorial background and display on a low-pass, noisy device like broadcast television. Rendering text for GUIs the way you render it for television would be like slapping people in the face to get their attention and just would drive them crazy.

    Anti-aliasing for computer displays is overrated anyway. Whether it helps or hurts readability depends on the font and font size, and on high resolution displays it is pointless. Printed matter isn't anti-aliased either, and printed matter is the gold standard for good looking text.

    So, if you want text that looks nice, get yourself a 150dpi or higher monitor and don't bother with anti-aliasing. Anything else is a kludge.

    1. Re:that's something completely different by nzhavok · · Score: 2, Funny

      OK that has to be the most rediculous argument I've heard today: "if you want text that looks nice, get yourself a 150dpi or higher monitor". Ummm why? I'm using opera in windows XP at the moment and guess what the text looks great, if I reboot into linux and into non aliased fonts in Konqueror half the text I see will look like crap.

      You don't always have to throw hardware at a problem to solve it, that's MCSE thinking!

      --

      He who defends everything, defends nothing. -- Fredrick The Great
    2. Re:that's something completely different by epukinsk · · Score: 2

      So, if you want text that looks nice, get yourself a 150dpi or higher monitor and don't bother with anti-aliasing.

      Could you please point me to the resolution independent graphics engine for Linux that would be necessary to take advantage of a 150dpi monitor?

      Otherwise it's still 72dpi, it's just that the inches are smaller than usual.

      -Erik

    3. Re:that's something completely different by GigsVT · · Score: 2

      Otherwise it's still 72dpi, it's just that the inches are smaller than usual.

      This has to be the most ludicrous thing I have ever read on Slashdot.

      "My penis is 12 inches long, it's just that the inches are smaller than normal"

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    4. Re:that's something completely different by epukinsk · · Score: 2

      What I'm saying is that you're not increasing the effective resolution if just increase the display resolution. If your characters are 20 pixels high, and you double the screen resolution, the characters are still 20 pixels high. They are no sharper. In order to take advantage of the extra resolution you need a display engine that displays everything twice as big.

      -Erik

  18. Xft and fontconfig by po8 · · Score: 4, Informative

    XFree86 4 supports sub-pixel anti-aliasing (aka ClearType). You just need to put match edit rgba=rgb; in XftConfig.

    Ah, how intuitive... how many hours of reading manpages, HOWTOs and FAQs did it take to figure that one out?

    Be patient. Keith Packard is pretty well done with his design and implementation of a new font selection configuration mechanism currently known as "fontconfig". Fontconfig separates the font selection from the rest of Xft, allowing other applications such as printer drivers to select fonts using the same mechanism and policy as X applications.

    In the process, fontconfig replaces the arcane Xft configuration language with an XML DTD. This should allow easier hand-editing of this configuration. More importantly, it should allow GUI toolkits such as KDE and Gnome to easily put a GUI interface on font selection configuration. Hopefully, in a few months you'll be able to just click a button to get sub-pixel font rendering with Xft.

  19. Kinda sorta bloatware by colmore · · Score: 3, Insightful

    This really isn't meant to be a flame.

    This seems to me to be a technology of limited use. Even at high screen resolutions almost all text is rendered at 12 pt, at which size anti-aliasing is more or less worthless.

    It makes title bars look pretty. It makes big text on web pages look pretty. But for 99% of the text you see, it doesn't do much.

    I don't want to discount the effort. I mean, if this program is as good as the screenshots suggest, then excellent job. (I haven't been able to test it out myself yet)

    I guess I'm just not used to the modern computing era when it really is possible to throw in everything and the kitchen sink. I've gotta keep reminding myself that if something takes up an extra meg of Ram/swap and thirty megs of drivespace, that really doesn't matter. All of my instincts are still roughly in the 486 era, and I still think "why?" at every feature.

    I just think at this point, the opensource community needs to give up its right to accuse others of bloatware. Bloatware is the modern standard, and if we don't embrace it, we look feature-poor. But Linux in the form that nearly everyone sees it and uses it today is bloatware. Well designed bloatware, for the most part, but bloatware nontheless.

    --
    In Capitalist America, bank robs you!
    1. Re:Kinda sorta bloatware by nagora · · Score: 2
      But for 99% of the text you see, it doesn't do much.

      When using fonts not specifically designed for low-res (300dpi and under) it does make a big difference; I find the web really clear in GillSans but without AA Gill just turns into blobs in many situations.

      TWW

      --
      "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
    2. Re:Kinda sorta bloatware by foobar104 · · Score: 2

      This really isn't meant to be a flame.

      This seems to me to be a technology of limited use. Even at high color depths almost all text is rendered as black-on-white, which makes color pretty much worthless.

      It makes title bars look pretty. It makes big pictures on web pages look pretty. But for 99% of the text you see, it doesn't do much.

      reducto ad absurdum

      ;-)

  20. Re:Excellent! by ThatComputerGuy · · Score: 2

    Actually, I had the same problem.. very few fonts that would do AA, and even then, the Konsole text would come out very garbled...

    It turned out that I had just never edited my /etc/X11/XftConfig. Just a suggestion, seems likely that it's your problem too.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  21. Re:Changing two lines of code is "hacking through" by sumengen · · Score: 2, Interesting

    Do you think he got inspired by god and changed those two lines. There must be background work where he did all the tests and research about this.

    An analogy from mathematics is about how mathematicians come up with proofs to theorems. They first come up with a theorem which is a solution to a problem hoping their guess (or guesses) are correct. Then starting with the solution, step by step try to prove back to the original problem. Once they come up with a solution, it is probably 10 pages long and pretty ugly. Then they start refining the proof. At the end you have 3 lines of proof, which makes you think "How did this guy come up with this cute proof?".

  22. Font rendering in the X server by kcbrown · · Score: 5, Interesting
    I've asked this before, but nobody has given me a terribly good answer yet.

    Why isn't font rendering done properly in the X server itself, where font rendering originally was done? Why must it be done client side?

    I mean, the X server already knows what kind of visual you're trying to render to, so it's really just a question of getting the X server to pick up the necessary font information (transparency information at the edges of the letters if you insist on the X server itself not understanding how to render fonts). And the types used for the font rendering calls are all opaque anyway, so it shouldn't matter whether or not the font structure in the GC (on the server) stores additional information about the font being rendered, right?

    All it would take in addition to the improved font rendering code in the X server is the definition of a new font server protocol that allows the transmission of more than just bitmap information to the X server from the font server and you'd be done, right?

    So why isn't this being done instead of these client-side hacks that require magic rendering extensions (which are quite cool in and of themselves, but why should the client have to have a full set of fonts stored locally in order to do antialiased text?) ? The biggest advantage of this scheme by far is that you don't have to have any magic support for antialiased fonts in your toolkits: you get antialiased fonts for everything no matter what toolkit it's using (even Athena widgets would have antialiased text if the antialiased font rendering were done entirely server-side).

    Or is this already what's being done, but I somehow missed it?

    --
    Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
    1. Re:Font rendering in the X server by Adnans · · Score: 4, Informative

      This might explain why client-side rendering was chosen. There are pros and cons but the pros seem to outweight the cons by far.

      The biggest advantage of this scheme by far is that you don't have to have any magic support for antialiased fonts in your toolkits

      This doesn't seem to be a problem since most populair toolkits already support the Render extension. Remember, RENDER is a completely new rendering system for X, not just anti-aliasing.

      ...even Athena widgets...

      If there was great demand for this it would already have happenend don't you think? Changing the Xaw toolkit to support RENDER would not be too hard I think.

      -adnans

      --
      "In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people." --Linus Torvalds
    2. Re:Font rendering in the X server by Darren+Winsper · · Score: 2

      I'm no XFree expert, but this is what I think is going on.

      The anti-aliasing is a small part of what is the XRender extension. XRender is not so much an ordinary extension but a whole new rendering system the XFree developers are developing.

      The standard X11 protocol requires 1-bit bitmapped fonts and the XFree team couldn't just up and break it so fundamentally, so they did XRender. While they were at it, they implimented things like alpha-blending (Which is pretty much needed for proper AA anyway) and some other things, but I don't know specifics.

      The AA has gotten a lot of attention simply because it solved a major shortcoming of X, whereas the others are just nice.

      Now, because the AA is part of XRender and not a replacement font subsystem, each individual toolkit has to be adapted to use The XRender font system, as opposed to the normal X11 font subsystem. With the advent of GNOME2, both major toolkits will have support for AA fonts, which is good enough for me :)

    3. Re:Font rendering in the X server by kcbrown · · Score: 5, Insightful
      Look, my comment is in no way a criticism of RENDER. I can see lots of advantages to having that extension, and it's excellent work.

      What I'm talking about is fonts, and only fonts.

      Antialiased text might be an interesting and cool use of the RENDER extension, but it's not a particularly good use, and here's why:

      1. Every toolkit for which you want antialiased text must be compiled with Xft support (or whatever client-side font handler supports the RENDER extension).
      2. Every client machine on which you're running an X application must not only have the above mentioned toolkits, but must also have a set of fonts to be used by the client.
      3. You now have to concern yourself with whether or not the fonts are all the same on all of the client machines you're going to use.
      4. If you want to use a font on multiple clients, you have to install it on all of those clients, instead of simply sticking it on the font server.
      5. Since there's no guarantee that the X server supports the RENDER extension, every client (or toolkit that the client uses -- this could be included in Xft, for instance) has to have fallback code which uses the standard X font calls in case the RENDER extension is unavailable. But this is a big problem, because now you have to concern yourself with whether your font metrics (among other things) for your standard server-side fonts are the same as the ones for the fonts on the client, since the font set being used by the X server is different than the font set being used by the client.
      6. Proprietary toolkits and clients (particularly those that are statically linked) gain no benefit at all -- they use non-antialiased fonts as usual.
      7. All the world isn't Unix, you know. What are you going to do about those X clients that are running on systems on which your toolkits won't even compile (VMS comes to mind, outdated as it may be)? X isn't just supposed to be network-based, it's supposed to be platform independent, but this method of font handling is anything but.

      The end result that I see is that client side font rendering doesn't give you any real advantages over server side rendering, with the sole exception (that I can think of, at any rate) that the client will know that the font being displayed on the screen and the font being used for printing will have the same metrics and appearance. Other than that, you take a performance hit (client has to upload the font to the server every time it wants to use it, the same font will be uploaded multiple times by multiple clients or at least multiple toolkits, since it's possible for the toolkit to cache the font locally in shared memory or something. I'm making certain assumptions about the implementation here, though), you get inconsistent font handling and rendering (what says that toolkit A will use the same font set as toolkit B?), you'll probably use a lot more in the way of server resources if you're running clients on lots of different machines, and worst of all your desktop looks really inconsistent. The only time you don't really run into most of this is when the client and server are on the same machine. While I'll admit that this is most of the time, if you're going to give up some of the advantages of a networked display system why stop there?

      It seems to me that this way of handling fonts does exactly the same thing for fonts that client-side GUI toolkits does for look and feel: causes a ton of confusion, makes it difficult to get a consistent look and feel on the desktop, and causes a lot of waste in the process.

      So the bottom line is that, as far as I can see, what we really need is the RENDER extension and server-side antialiased font handling. (We also need server-side toolkits, but that's a discussion for another day).

      --
      Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
    4. Re:Font rendering in the X server by kcbrown · · Score: 2
      The standard X11 protocol requires 1-bit bitmapped fonts and the XFree team couldn't just up and break it so fundamentally, so they did XRender. While they were at it, they implimented things like alpha-blending (Which is pretty much needed for proper AA anyway) and some other things, but I don't know specifics.

      I haven't looked at the X protocol itself, but the Xlib call to draw text on the screen is XDrawString() and XDrawText(). In both cases, you use a GC specifier, and the GC itself is what contains which font you want to use to perform the text drawing operation.

      While the documentation may specify how exactly fonts are drawn, the GC is an opaque data type. That implies that it should be possible to change its internal representation on the server without any client-side consequences (I'm assuming that the GC really is a server side construct and not an Xlib construct).

      But if you must make client-side changes in order to support antialiased fonts, there's only one proper place to do it: Xlib itself. At least then you'll automatically get antialiased font support in all of your toolkits on that client, without having to change a thing in those toolkits (because you can change the Xlib implementations of XLoadFont(), XDrawString(), etc., as needed).

      --
      Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
    5. Re:Font rendering in the X server by evbergen · · Score: 3, Interesting

      I agree. Your last remark (the need for server-side toolkits) also hits home IMHO, and I'd suggest a few more things for them:

      1. the elements in these toolkits must be able to be defined in terms of server primitives orother elements, using a platform independent special-purpose language. And not only their appearance but also where simple interactions are concerned, such as a 'down' button that moves a slide down and a scrollable view up;

      2. the server must be able to receive these definitions from the client itself or to fetch it from an external source on behalf of the client (honor server security by making sure the definition language's scope is limited to the user interface only);

      3. the server must be able to cache these elements using unique identifiers by which they can be referenced. These should have two parts: a functional part and an appearance part. Clients specify an element's functional part as a requirement, and its appearance part as a hint, in order for users to be able to provide alternatives (i.e. theme support);

      4. a proper encryption and authentication model for the X channel.

      This makes the server able to operate more independently, instead of requiring a round trip to the client for every simple operation, making operation over low-security, low-bandwith, high-latency networks such as the internet *much* more practical.

      Potentially, this would provide a lot more elegant distributed computing model than the whole mess we have now for exporting user interfaces, with http, html, the DOM, jscript and all those gross hacks that seem impossible to get right if you look at today's browsers.

      What do you think?

      --
      All generalizations are false, including this one. (Mark Twain)
    6. Re:Font rendering in the X server by spitzak · · Score: 2
      Re: #5, the need for fallback Xlib font code: actually the Xft extension is the first example I have ever seen in X where an extension is written correctly, it contains the fallback code! If your program uses it, it will still work if connected to an X server, because Xft will recognize this, and emulate itself as well as possible on it (it does a good job, too, the quality is equal to fltk where I worked quite a lot on selecting the proper Xlib fonts).

      I want to congratulate Keith on actually doing this right. But one of the big problems with X is that no other "extension" has ever done this, forcing every programmer who wants to use the extension to "detect" it and have fallback code. This has been true for 15 years, back to the shared memory extension. This is a very bad design because it strongly discourages uses of the extensions.

      Your other comments have merit, though I think client-side rendering is probably necessary for accurate word processors. But they really should rewrite Xlib and replace the font calls with something that calls Xft so that every program gets antialiased fonts. It is shameful that they have not done this, it means that even if we have the most beautiful AA in the world half the programs on Linux will still look ancient.

    7. Re:Font rendering in the X server by acoopersmith · · Score: 3, Informative

      Sun is working on advanced font rendering and layout in the X server. The project is still in the early stages of development, but since it's open source, you can see what's there so far at http://stsf.sourceforge.net/.

  23. Re:Above is now a Complete Mirror by Raphael · · Score: 2, Informative
    It doesn't seem to display correctly in ns4. I had to use "view source" in order to read any of the text and get the url of the pictures.
    Probably you need to double check your table html.

    This is not only a problem with Netscape. The HTML code of the page is broken: there is a <table> tag at the beginning of the page and it is never closed. The table structure is incorrect anyway, because the <table> tag is immediately followed by <td> without a <tr>. The same problem occurs for a <center> tag and a <font> tag that are never closed (besides, the <font> tag occurs just before a block-level <h2> tag, so it should have no effect). Also, all color specifications are incorrect: missing quotes, missing "#" sign before the hex values.

    MrP-, if you are mirroring this slashdotted page, it would be a public service to fix the most obvious errors so that the mirrored page can be viewed by most browsers and passes at least some minimal HTML validation tests. The easiest way to fix the problem would be to remove the offending tags (2nd, 3rd and 4th line in the original page).

    I highly recommend checking the page with HTML Tidy or with the W3C validator.

    --
    -Raphaël
  24. Re:color me crazy by Hektor_Troy · · Score: 2

    I'm not entirely sure what to think if the "aesthetics" of say ClearType (or whatever it's called) in Windows. I just turned it on a few minutes ago, and my initial reaction was:
    "Hmm ... it looks like they just made the text broader*, as if they've made something like tripple vertical AA**"
    It doesn't hurt my eyes, and text generaly looks more "roundish"*** which is nice - I think. Maybe it isn't, not quite sure yet. Now, this text (the text I'm typing right now) looks "skinny"* compared to the other text, as if it's only getting a double vertical AA** treatment.

    Antialiased text (and other things) in theory is nice, because it's more "true to nature" (if there is such a thing in computing) - when was the last time you looked at bubble and thought "nah, those edges are jagged"? I thought so. On the other hand, I have from time to time caught myself looking out the window on say a sunrise and thinking "damn. They sure are using some cool effects."

    I think another poster hit the nail. In essence he's saying that the people who make the AA algorithms are aparently more interested in making them "mathematically correct" than visually pleasing. Having stared at Microsofts ClearType for almost 15 minutes now, I tend to agree with both CmdrTaco and the aforementioned poster - somethings rotten in the state of text-AA.

    *I'm Danish - can't quite think of a better word in English.
    **I have no idea if that even makes sence outside of my own head :-)
    ***Nope, can't even think of a better word in Danish.

    --
    We do not live in the 21st century. We live in the 20 second century.
  25. Re:Linux/X86 configuration standard needed bad by taion · · Score: 3, Interesting

    Ah, but you see... I _don't_ use Linux. I use FreeBSD, and that trick is marked _quite_ clearly in the FreeBSD handbook in the fonts subsection of the X section.

    <evangelism>
    I haven't had any problems with finding FreeBSD documentation, actually. Practically everything is on the FreeBSD website or one of its mailing lists, so I don't experience problems here.

    On the other hand, I get to build everything from source, so I need to do everything for hours upon hours anyway! (:
    </evangelism>

    --

    ----------
    Floccinaucinihilipilification - the action or habit of judging something to be worthless
  26. Re:Changing two lines of code is "hacking through" by JabberWokky · · Score: 2
    Do you think he got inspired by god and changed those two lines. There must be background work where he did all the tests and research about this.

    Down at the bottom of the page, he shows his older method which was individually optomized for a particular font (he chose Times New Roman), and which he later abandoned. So yes, he explored at least one entire line of thought before abandoning it and apply what he had learned from that.

    --
    Evan

    --
    "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  27. Re:Linux/X86 configuration standard needed bad by Adnans · · Score: 4, Informative

    Ah, how intuitive... how many hours of reading manpages, HOWTOs and FAQs did it take to figure that one out?

    It could have taken you one Google search for "xfree86 subpixel rendering" to find this link!

    -adnans

    --
    "In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people." --Linus Torvalds
  28. Re:My AA issue by PlazMatiC · · Score: 2, Informative

    libgdkxft, which does subpixel antialiasing, is apt-gettable in debian woody.
    All you need to do after apt-getting the packages is install a bunch of truetype fonts, then add the line 'export LD_PRELOAD=/usr/lib/libgdkxft.so' to your ~/.xession or some other appropriate location:
    I had some issues getting it all working, but that was mostly user error. (I'd been playing with xfstt shortly before trying gdkxft and they seemed to interfere with each other)
    A good howto on setting it up is here
    It makes mozilla look really pretty =)

  29. Re: Shitty browser by HeUnique · · Score: 4, Informative

    On the contrary...

    If there is a browser that you got a chance to see an IE only web site is Konqueror on KDE 3.0 - it got the most compatible with MSIE javascript and rendering techniques...

    --
    Hetz (Heunique)
  30. Disabling hinting is NOT the way to go by Johan+Veenstra · · Score: 4, Insightful

    This guy just disabled hinting and adjusted the rendering resolution to his liking.

    Without hinting, fonts will never look as good as they do on MS Windows or OS X.

    Messing with the rendering resolution to make certain fonts look a little bit better seems to be the kind of hacking a chicken without a head could do.

    This is not the ueberhack slashdot makes it out to be. This is not news.

    regards,

    Johan V.

    1. Re:Disabling hinting is NOT the way to go by Archie+Steel · · Score: 2

      Perhaps, but I tried it last night and all the fonts look much, much better. On my 19" monitor in 1280x1024, they even look better than any Windows AA I've seen so far! So who cares if it was simple to do: it works, and very, very well! In that sense, it is a major breakthrough: Linux (and Unix in general, I guess) now has nicer AA fonts than Windows, and at least equal to those of OS X.

      --

      Reminder: find a new sig
    2. Re:Disabling hinting is NOT the way to go by BigSven · · Score: 3, Informative

      Actually the result of hinting depends on two things. First, the font needs to be hinted well. Unfortunately only very few fonts are well-hinted. For those that aren't it makes indeed sense to turn hinting off entirely. Second, your font renderer needs to support the hinting information embedded into the font.

      TrueType fonts have bytecode with hinting information that can be interpreted by the renderer. This is what freetype-2.0 did up to version 2.0.1. Due to patent issues this feature was turned off by default in version 2.0.2. All newer versions of freetype use something what they call autohinter. While this gives better results for badly hinted or unhinted fonts, it does not (yet) achieve the excellent results you get from using the hints embedded in well-hinted fonts.

      The solution is thus not to disable hinting but to enable the bytecode interpreter in your freetype2 libs. Of course you also need some decent fonts.

    3. Re:Disabling hinting is NOT the way to go by daw · · Score: 3, Informative

      It's true, disabling hinting is just plain stupid. The real problem is that TrueType font hinting is patented (by Apple!) and so though the freetype library (used by Xft for font rendering) has the code to do it properly, it's disabled by default in favor of an "automatic hinting engine" that probably makes things worse. So I'm not surprised that disabling hinting in a default build of freetype makes things look better. But it's a really dumb way to proceed.

      The right solution is to recompile freetype with the patented hinting turned ON, and the automatic hinting engine turned OFF. It really looks good, way better than either of that guy's screenshots.

    4. Re:Disabling hinting is NOT the way to go by Archie+Steel · · Score: 2

      Well, I went through all the 100+ TT fonts I have installed on my machine, and they all look nicer. It's not even just an impression: the difference is striking. Since I've already got all of the fonts I need for daily use, I'll keep this simple, yet very useful hack until they actually fix it officially.

      Did you even try the hack? Did it cause problems in some applications? Or are you just bitchin' 'cause you didn't think of it first? :-)

      --

      Reminder: find a new sig
  31. Re:that's something completely different, -1 cluel by jacrawf · · Score: 2, Insightful
    Bzzzt. Printing is analog, it's naturally anti-aliased.

    Uh, actually virtually all CRTs are analog too. (Old CGA displays don't really matter much these days, though...) Or did you think the signal coming out of that 15-pin d-sub VGA connector was digital? Surprise, it isn't. Not to mention that some of the electrons meant to bombard phosphorescent element n tends to go astray a bit and bleed into adjascent phosphorescent elements. The results of this can be seen quite dramatically on low-quality CRTs at high resolutions.

    In other words, paper is really no less digital than a CRT is. Just as a 640x480 image looks kinda blocky taking up your whole CRT, it looks just as blocky taking up a whole sheet of paper. It's paper's virtue of being able to handle insanely high resolutions that makes it suitable for "displaying" really clear graphics and text. I can't think of a single reason that a CRT oughtn't be able to do the same one day. Anti-aliasing is simply a stop-gap technology until that day arrives, IMHO.

    Personally, if I had the option, I'd go for a 150 DPI (or better, actually 300 DPI would make me happy) display over something that only does, say, 1280x1024 with antialiasing. I'd much rather talk about picas and points than pixels. Pixels suck; they're the cause of too much geek envy. (Admit it! When you were still stuck with an 800x600 display you were drooling when your rich friend upgraded to a 20" display that could do a whopping 1600x1200.)

  32. Re:that's something completely different, -1 cluel by markj02 · · Score: 4, Insightful
    Bzzzt. Printing is analog, it's naturally anti-aliased.

    Well, maybe that's what they tell the arts majors. However, the term "aliasing" actually refers to what happens when you try to exceed the Nyquist limit: different frequencies are "aliased" together. Anti-aliasing removes that by band-limiting the signal in some way prior to sampling. When you print with toner on paper, there is nothing band-limited about the resulting image: the toner/paper transition has very high contrast edges at just about any resolution you care to look and those result in very high frequency components in the image.

    the fact the the text doesn't look butt-ugly as usual.

    You demonstrate a common occupational hazard for people working in graphics: you prefer style over function.

    Think about anti-aliased text on a 150 dpi monitor.

    For most monitors, you wouldn't even be able to tell the difference. And for a high-resolution monitor designed to display text, you make the display worse if you try to anti-alias.

    Usually. What about when it isn't?

    If you composite onto an image, the text needs to undergo the same filtering as the the image has undergone or it will look unnatural. In the case of compositing text into television images, there happens to be a single answer because, by convention, television cameras try to degrade the image in roughly the same traditional way. For digital images you find on computers, the filter could be anything.

  33. Re:KDE Myths by 10Ghz · · Score: 2

    Ikons will be in 3.0. Crystal-icons will be in 3.1. Check out the screenshot from lates KDE Kernel Cousin: http://kt.zork.net/kde/kde20020301_34.html )

    --
    Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
  34. Get rid of /. Ads by kiwipeso · · Score: 2

    JavaScript Instructions to get rid of Ads.

    --
    - Kaos games and encryption systems developer
  35. Re:Linux/X86 configuration standard needed bad by Adnans · · Score: 2

    That's because selecting it from a drop-down-menu is comparatively intuitive, all other restrictions of Windows notwithstanding. :)

    You know, I think I could enable subpixel rendering *faster* on Linux. On Windows, I would need to *find* the menu where windows hides this option. If you've experienced XP you'll know that this might not be as easy as it sounds. I'm sure I'll be pestered along the way by so called warnings about "damage" to my computer if I enter such and such a directory :-)

    And once the XftConfig langugage is replaced by a more structured XML DTD (soon) it will be much easier to concoct a GUI which would supposedly make activating/deactiving these features easier.

    -adnans

    --
    "In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people." --Linus Torvalds
  36. Re:color me crazy by Electrum · · Score: 2

    Now color me crazy, but since when has attaining similar aesthetic content to Windows been considered a good thing? It hurts my eyes just to look at it. I long for the good old days without those fancy anti-aliased fonts, although Mac OS X is quite pleasurable to use.

    I didn't like the anti aliasing ("smooth edges of screen fonts") in Windows 2000 and didn't use it for a long time. Then it somehow got turned on, and when I noticed I decided to give it a chance. After a few days, I got used to it, and everything really does look better now. I stopped using Linux as a desktop, fonts being a big reason, so I don't know how well X does fonts with this (imho the screenshots are horrible on the eyes), but I suggest giving it a try for a few days and see if you end up liking it better.
  37. Regardless... by Grendel+Drago · · Score: 2

    Regardless, it works.

    The incredible quantity of design that went into X still produces an end result which causes the uninitiated to say "it's way too complex, and it just plain sucks."

    Of course, then we explain that it doesn't suck, and that it's based on a perfectly sound architecture, and that it's really a work of beauty.

    None of that changes the fact that it sucks.

    The fonts look better with this (ugly) hack. Much, much better. This is the Sistine Chapel of two-line hacks.

    --grendel drago

    --
    Laws do not persuade just because they threaten. --Seneca
  38. Plain XFT looks better by YellowBook · · Score: 2, Informative

    Maybe it's because I'm using subpixel rendering
    on my LCD screen right now, but the 'after' images
    look much worse than the regular XFT rendering to
    me.

    --
    The scalloped tatters of the King in Yellow must cover
    Yhtill forever. (R. W. Chambers, the King in Yellow
  39. Bring the holly grail: the GUI! by jotaeleemeese · · Score: 2

    So in place of using configuration files that I can analyze, modify and distribute in an automatic fashion you suggest that it is better to find out a little checkbox somehwere in the middle of who knows how many tabs, sub-menus and other check-boxes, all this sometimes hidden behind one or two buttons and that make the change undistributable (unless you understand the registry, and sometimes not even then).

    Yeah, GUIs are very intuitive and easy to use.

    --
    IANAL but write like a drunk one.
  40. The truth by nomis80 · · Score: 5, Interesting

    Fact 1: Hinting improves font legibility at smaller sizes.

    Fact 2: Freetype doesn't interpret the bytecodes in the fonts that are needed for proper hinting because of patents detained by Apple.

    Fact 3: It uses an alternative bytecode "guesser". People may or may not like it, even though it usually improves legibility. This Canadian dude (I have the right to use this term because I am myself a Canadian dude ;)) only disabled the bytecode "guesser" because he didn't like it. Fine.

    Fact 4: Rather than disabling the bytecode "guesser", enable the patented bytecode interpreter. Remember, this is illegal if you live in the U.S. and haven't licenced the patents from Apple.

    For your enjoyment, I've made RPMs for Mandrake 8.1 and Redhat 7.2 of the Freetype library with the patented bytecode interpreter enabled.

    1. Re:The truth by Junta · · Score: 2

      Are the rpms you provide simply the result of changing line 378 of include/freetype2/config/ftoption.h, to #define TT_CONFIG_OPTION_BYETCODE_INTERPRETER?

      My distribution happens to do that by default :) Some fonts still look really ugly, but better than that auto-hinting crap.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    2. Re:The truth by wytcld · · Score: 2

      Freetype 2.0.8 also compiles from the tar with no dependencies, and just installed cleanly for me on Debian stable after enabling the patented bytecode interpreter. Instructions for doing that are in README.UNX in the base dir after untarring. Then, for KDE 2.1 (back from when that was available for Debian stable), Control Center | Look and Feel | Style - go there and uncheck "Using Anti-Aliasing" (it appears to be set but in some versions of KDE it has not in fact been enabled in the user's control file until reset), press Apply, recheck it, press Apply, exit KDE, restart, and there you are.

      It lowers the effective contrast and looks slightly blurry, but I find I can read it faster, taking in more words per glance.

      ____

      --
      "with their freedom lost all virtue lose" - Milton
  41. Bill for Font Renerding Improvements by squaretorus · · Score: 5, Funny

    $10,000

    Breakdown:
    Changing 2 lines of code = $1
    Knowing which 2 lines =$9,999

  42. This is often referred to as analysis by LunarOne · · Score: 2, Insightful

    Anyone who has maintained a large codebase, or has made mods to someone else's code, knows this:

    Sometimes hours and hours of work can result in very few lines of code. It reminds me of the carpenter's rule: "think twice, saw once". Sometimes a great deal of analysis yields more results than many lines of code.

    --

    Read my sig if you like, but I'll never see yours, thanks to Discussions, Viewing, Disable sigs...
  43. Re:Linux/X86 configuration standard needed bad by blkros · · Score: 2

    I actually found this informative, and not at all trollish. Someone mod it up....Oh, I forgot, it mentioned an OS other than Linux in a good light. Well, then, never mind.

    --
    Damnit, Jim, I'm an anarchist, not a F@#$!^& doctor!
  44. ClearType/XFree comparison by epukinsk · · Score: 2

    Check out this page which I just threw up. It shows the difference at the pixel level between ClearType and this guys hack.

    You can see that ClearType isn't just using grays, it's using other colors... presumably that will only make a difference on LCDs. But you can see quite clearly that ClearType is trying to get full pixels whenever it can. Look at the second leg of the 'n'... it's a gray blob with the XFree hack, but Cleartype has a solid black line.

    -Erik

    1. Re:ClearType/XFree comparison by Acous · · Score: 2, Informative

      This is because XP uses 'hinting' which is disabled in the xfree hack. try doing a side by side comparison of normal xfree antialiased text against XP, it should appear closer. freetype hinting is not yet as good as windows.

  45. What does Microsoft want us to obsess over today? by heroine · · Score: 3, Interesting

    Sometimes I wish instead of cleartype that Microsoft advertized 3 years ago it was 3D graphics or something because even though there seems to be more to life than font rendering, most people don't know what's important without Microsoft to lead the way. Now that we have to spend our existances getting the absolute best approximation to cleartype it's like Microsoft advertizes exactly what doesn't matter so their competition doesn't beat them at what does matter.

  46. Hmm.. Matter of opinion.. by Mike+Hicks · · Score: 2

    Well, I must say that at larger sizes, I much prefer the original `hinted' text, since it shows up much darker on my display. However, the non-hinted text seems to be much more legible at smaller sizes, and it definitely scales much more cleanly (no jumping from everything being ~1 pixel wide to everything being ~2 pixels).

    If the non-hinted text could be made darker, that would be great! Of course, I hear that the hinting engine is getting better and better, so who knows what will be the best a year from now..

  47. Re:Steve Gibson debunks M$'s "innovation" by saintlupus · · Score: 3, Interesting

    I thought that people who flock to sites like this were supposed to be tech savvy? Maybe it's just me, but I thought that indicated at least a modicum of intelligence instead of blind sheepery

    You're obviously not in my first-year CS courses. Maybe its because I'm coming back to school several years older than my classmates, but christ, they're pretty clueless about technology.

    If one more of them says he's in CS because programming pays well, I'm going postal.

    --saint

  48. A note on hinting and freetype... by Junta · · Score: 2

    If you want to accomplish something similar, before compiling freetye, look at line 435 of include/freetype/config/ftoption.h in the source distribution before compiling. That disables the hinter. I'm not if this is as effective as what the guy did to the Xft library. I don't have the orginal source files at the moment, so I can't tell exactly what he changed. I also can use his libXft.

    Another option is to realize that the hint guessing that freetype does to avoid patent infringement problems by default can be changed to use a bytecode interpreter that does proper hinting of TrueType fonts, Change line 378 of the above mentioned file for this to occur. I still don't understand how making the code "optional" makes it any less patent infringing..

    Of course, no matter how you configure freetype, it will still look like crap without good fonts.
    http://www.linuxquebec.com/~nomis80/ has a script to automate installation of Microsoft true type fonts.

    Of course by enabling the bytecode interpreter and *possibly* by getting MS fonts without a MS OS, you may be doing illegal stuff, but if pretty fonts under X is outlawed, then only outlaws will have pretty fonts under X, or something like that....

    Disabling hinting with the default fonts is probably the most legal way to go, but what is the fun in that?

    --
    XML is like violence. If it doesn't solve the problem, use more.
  49. Re:Linux/X86 configuration standard needed bad by Archie+Steel · · Score: 2

    "XFree86 4 supports sub-pixel anti-aliasing (aka ClearType). You just need to put match edit rgba=rgb; in XftConfig."

    Ah, how intuitive... how many hours of reading manpages, HOWTOs and FAQs did it take to figure that one out?

    Goddammit. This is what I really hate in Linux. You have to read tons of obsolete and badly written documentation until you can turn on something as trivial as sub-pixel rendering.

    Actually, whenever I want to find out about something, I usually hit the newsgroups to do a search. Usually I find what I need in about fifteen minutes or so. That's what I love about Linux: the community is always eager to help each other out by writing about their experiences. You don't find the same spirit of community in Windows...

    Unless you enjoy tweaking your computer for hours and hours instead of getting something productive done at work, the current state of affairs is just unacceptable.

    You said it, not me: if you enjoy tweaking your machine, you can do it for hours - but you don't have to. If you just want to do productive work, go ahead! In most modern distros (Mandrake in particular) the hardware detect and system setup is automatic...I don't know about sub-pixel AA for laptops, though...it might be good if someone actually made a distro just for laptops, as these usually seem more temperamental than desktops (and not only with Linux: installing Windows on some laptops can be quite complicated...)

    --

    Reminder: find a new sig
  50. Don't you mean... by Junta · · Score: 3, Funny

    that you take your glasses *off* to anti-alias fonts? :)

    --
    XML is like violence. If it doesn't solve the problem, use more.
  51. Re:Anti-aliasing is here to stay. by foobar104 · · Score: 3

    Those high-res printers you speak of, still use anti-aliasing.......

    No, they don't. A dot on paper is either there, or it isn't. You don't print with multiple shades of grey and black ink to give the illusion of higher resolution. Around the 200 DPI mark, printed text takes on the appearance of smooth letterforms, not patterns of dots. Of course, you can tell the difference between 200 and 2400 DPI easily, but the point is that 200 DPI is where you stop seeing the pixels before you see the letters.

    You may be thinking of halftones, which are patterns of dots of various sizes that can achieve the illusion of tone when viewed from a reasonable distance. This isn't anti-aliasing at all.

    And by the way, an ellipsis has three dots, like this: ...

  52. Nice, but still not quite right... by jonr · · Score: 2

    The only AA font system I have ever liked, is the old RiscOS AA. It rendered the font very well. They where clear, (MS AA is worse), precise, (RiscOS used 'sub-pixel AA, which made different looking characters pixel-wise, but looked the same on screen. Just type 'iiiiiiiiiiiiii' in the Times font into Word/Mozilla) and it was very configurable; Anti-alising, hinting etc. could all be set by the user. The MacOS X fonts look similar, but I still have to see them in action.

  53. Re:Now THAT's intuitive!!! by Codifex+Maximus · · Score: 2

    > wow. not only is it buried in some friggin configuration file (how many does X have?

    Likely no more friggin configuration files than Windows has friggin hives and friggin entries in it's friggin registry.

    Bleah.

    --
    Codifex Maximus ~ In search of... a shorter sig.
  54. Hard to read by tweakt · · Score: 2

    Those patents are kinda hard to read. Maybe them should have used the hinting technology to print it ;-)

  55. Gamma curves and antialiasing by Theovon · · Score: 4, Insightful

    People in the XFree project may already be considering this, but antialiased objects look much better when you take into consideration that a gray ramp that is perceptually linear is not optically (luminously?) linear.

    To be specific, imagine you're drawing an antialiased line, and you have come to a point where the line covers 50% of two adjacent pixels, so you decided to paint them both with 0x7f. The problem there is that a pixel that looks like 50% gray is actually emitting 18% as much light as a full-on pixel, so when you put the two 18% pixels together, they add up to 36% instead of 100%. The result is that a thin antialiased line will appear to get darker and lighter along its length. If you were to take this into account, it might improve antialiased text further.

    The function to apply to all pixels is this, where x is a number from 0 to 255 representing the brightness you WANT to get, and y is what you have to plot:
    y = (int)(255.0 * pow(x/255.0, 1/2.5) + 0.5)

    The +0.5 rounding factor in there may not affect much.

    I believe it was a Dr. Poynton who talked at length about this in the 1998 Siggraph.

    Thanks.

    1. Re:Gamma curves and antialiasing by spitzak · · Score: 2
      Yes, this is exactly what is missing in all the antialiasing solutions so far. Perhaps Xft can do this correctly and beat everybody! Here is my suggestion:

      The brightness of a byte on the screen (after the byte is scaled to the range 0-1) is best described by the sRGB standard:

      V = B However it can also be simulated rather accurately as B*B, if that is useful for fast implementation.

      Using the B*B approximation: If C is the coverage of a pixel in a letter then the output color of drawing a pixel of color F against a background of color B is

      sqrt((F*F-B*B)*C+B*B).

      A more complex formula can be made by using sRGB instead of B*B. This may be worth it if a lookup table is used.

      I see a few ways to accomplish this with reasonable speed:

      1. Some trick with shifts and masking could be done to simulate the above function in integer math.

      2. There are 256 values for F and 256 values for B. There are also some number of values for C, I think only 17 for the current antialiasing algorithim. This results in a lookup table of 1088K.

      3. Some combination of integer math and a smaller lookup table.

      4. Any of these tricks could be done in hardware, though that likely means MicroSoft did it first.

    2. Re:Gamma curves and antialiasing by spitzak · · Score: 3, Informative
      The sRGB standard is this (sorry it ate the lessthan sign):

      V = B < .04045 ? v/12.92 : pow((v+.055)/1.055, 2.4)

  56. Re:What does Microsoft want us to obsess over toda by Junta · · Score: 2

    I don't think any of this has to do with ClearType really. I think people are motivated by seeing how nice fonts look on other systems (including ClearType, but also Mac, and what Be had, etc...)
    The bits that make ClearType above and beyond typical anti-aliasing are actually in the Xrender extension used by the AA font system, and that is subpixel operations (i.e. taking advantage of order of red, green, and blue elements in an LCD screen to effectivvely triple horizontal resolution). The key things needed are a) well-hinted fonts and b) good strategy for understanding and following those hints. a is easy to solve by downloading, say, MSs fontset. A more proper solution will eventually happen, but for now it works. b has caused some problems, as this little thing shows. The "auto-hinting" functionality where FreeType tries to guess the hints without actually interpreting them causes fonts to look worse than better, and in the end we are better off with no hinting than auto-hinting. The "proper" solution to hinting is in FreeType, a bytecode interpreter for the hints. The problem here is it is not a default because doing so would make Apple (who has a patent on reading and using those hints) angry. I posted already in this forum the "right" way of disabling hinting in freetype or enabling the better, but illegal bytecode interpreter....

    A lot of the growing pains has more to do with Apple than it does with MS.... AA fonts look nice, even if they bring next to nothing to the table in terms of utility and usability, and I don't think the development needs the prodding of MS to seek out better eye-candy. If anything, MS is pushing more eye-candy (XP) because of prodding from Apple and X based eye-candy...

    --
    XML is like violence. If it doesn't solve the problem, use more.
  57. Re:Linux/X86 configuration standard needed bad by Otter · · Score: 2
    I discovered that tweak in the last Slashdot article on Xft, made the same comment Smallest did (although I got modded up rather than down for doing it) and received the same response you made.

    Well, duh. Yes, I know all about Google and Google groups. That's how I get all my Linux setups working eventually. The point is (besides the issue of how I was supposed to search for an option I didn't know exists -- why would I search for "subixel rendering"?) that this is something that should be solved by the installer, not by Google searches by the user.

    And work is apparently underway to do that.

  58. Re:Printed matter by flimflam · · Score: 2

    Well, you are very confused. Laser printers do use pixels. While the individual characters (if you're using PostScript fonts) are defined by vectors, they are rendered by the PS RIP as just lots of little dots at whatever resolution the printer is. The same thing is happening on your screen (if you're using non-antialiased font rendering), just at much lower resolution.

    --
    -- It only takes 20 minutes for a liberal to become a conservative thanks to our new outpatient surgical procedure!
  59. Re:Changing two lines of code is "hacking through" by dark_panda · · Score: 3, Funny

    You are so right. Slashdot's standards are obviously falling. I mean, a year ago, a good hack took seven lines of code to merit frontpage news. Now it only takes two.

    I predict the next great hack frontpage story to be "Linux in one really huge line of Perl".

    J

  60. Fact 2 is inaccurate by Moritz+Moeller+-+Her · · Score: 2

    Freetype DOES interprete hinting, if you enable it by changing 5 characters in the source code.

    Well, people, if the patent is not valid where you live, mainlya here in Europe, get these updated RPMS for SuSE I made. No guarantees, they work for me and the hinting works in them.

    http://hippokrates.jura.uni-mannheim.de/

    --
    Moritz
  61. So Now What? by Alan · · Score: 2

    It drops into debian unstable very nicely, but what then? I tried enabling the libgdkxft library using the GNOME-AA session via GDM, and the AA fonts looked nicer (I think). Is this what is needed? It doesn't make any change in the non-AA session...

    The problem is that I think my XftConfig is messed up as the fonts displayed in the console (powershell) are ugly, leave remenants, etc.

    Can anyone give a geek a hand?

  62. Ugh by praedor · · Score: 2

    I just gave it a try and I must say that it looks frickin' horrible compared to the aa done in KDE/QT. I had to back it out to make the aa fonts on my system look better and more readable. Looking at the xft-based aa fonts from the hack made me think my glasses prescription was f*cked or that I had scum in my eyes.


    Nice try and all but until it can do it as well as QT, it isn't ready for primetime.

    --
    In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
  63. Re:Anti-aliasing is here to stay. by foobar104 · · Score: 2

    Some printers do vary the dot size to achieve a sort of anti-aliasing.

    That's fundamentally different from antialiasing. That technique can best be described as "smoothing."

    I tried using ASCII art to show the effect of smoothing, as distinct from antialiasing, but I got frustrated and gave up. Suffice it to say that antialiasing uses oversampling and averaging, while smoothing simply attempts to fill in the corners that look too jagged to the eye.

    Fairly crappy explanation, but I'm too sleepy to write a better one.

  64. blurry text by Mr.+Slippery · · Score: 3, Insightful
    With this hack, at last, XFree can deliver similar aesthetic results to Mac OS X's or Windows' rendering engines.

    Ah, so blurry text is an "aesthetic result"?

    "Anti-aliasing" just means blurring, and is in general not a good thing. And this particular hack turns off hinting, to make it every blurrier.

    Like headaches? Install this.

    --
    Tom Swiss | the infamous tms | my blog
    You cannot wash away blood with blood
  65. Actual MacOS Screenshot for Comparison by johnrpenner · · Score: 3, Interesting

    when it comes down to it, HERE's an actual Mac OS9 screenshot to compare to the Xfree anti-aliasing. notice that OS9 doesn't anti-alias text below (user settable) 12 points (handy, and faster). i've set the browser font to be: Times-12 -> imo, after examining both the X shot and this shot at 400% magnification, it seems to me that the hinting and definition of the MacOS still yields clearer text. someone might also want to post up a OS-X and XP screenshot of the same web page: http://salon.com/ent/feature/2002/03/02/shakespear e/index.html so we can have a REAL comparison of actual screenshots instead of a lot of /. theorizing about about the Nyquist limit. regards, johnrpenner.

    1. Re:actual MacOS screenshot for comparison by markj02 · · Score: 2
      It's hard to compare these things via screen shots because a good antialiasing engine will take into account the kind of monitor you are using.

      However, in my subjective judgement, the MacOS9 screenshot you provide is just awful, both when viewed on an LCD and a regular CRT (but you may be using a weird gamma). Not only is the font too small to be anti-aliased usefully, the same page mixes anti-aliased and non-anti aliased text.

      The nicest rendering of the page is perhaps on XP using ClearType, not because of anti-aliasing, but because it gets a somewhat higher resolution at the same pixel size. MacOSX with font smoothing on a CRT also looks pretty nice to me. Unlike your screenshot, both XP and OSX use smoothing more consistently, which probably contributes to the improved appearance.

      However, with font smoothing in both XP and OSX, diagonal lines become too thinned out, and if you go down in font size further, the page becomes an unreadable blur. Arguably, the non-smoothed/non-anti aliased version of the page (which I tried on both XP and Linux), is still the most readable, and it looks sharp, consistent, and readable at font sizes even smaller than what your page shows.

      As I was saying, anti-aliasing makes some large fonts more pleasing to look at but it doesn't seem to improve readability much, and you run the risk of severely degrading readability and appearance on some pages. Anti-aliasing and font smoothing do belong in PhotoShop and similar applications, where the goal is to make a small amount of large text look nice; for interactive use, they are mostly gimmicks as far as I'm concerned. If you want nicer looking text on a display, your best bet is to buy a higher resolution monitor or to use something like ClearType.

      (Discussing the differences in meaning between "font smoothing" and "anti-aliasing" could fill another page.)

  66. actual MacOS screenshot for comparison by johnrpenner · · Score: 2


    when it comes down to it, HERE's an actual Mac OS9 screenshot to compare to the Xfree anti-aliasing.

    notice that OS9 doesn't anti-alias text below (user settable) 12 points (handy, and faster). i've set the browser font to be: Times-12 -> imo, after examining both the X shot and this shot at 400% magnification, it seems to me that the hinting and definition of the MacOS still yields clearer text.

    someone might also want to post up a OS-X and XP screenshot of the same web page:

    http://salon.com/ent/feature/2002/03/02/shakespear e/index.html

    so we can have a REAL comparison of actual screenshots instead of a lot of /. theorizing about about the Nyquist limit.

    regards,
    johnrpenner.

  67. Re:Printed matter by flimflam · · Score: 2

    Um, care to post a link on some info about one of these machines? The only typesetters I've ever dealt with (or heard of) are all bitmapped (albiet at very high resolution: 2400dpi or slightly higher).

    --
    -- It only takes 20 minutes for a liberal to become a conservative thanks to our new outpatient surgical procedure!
  68. Small text and anti-aliasing by Tom7 · · Score: 2


    Fonts that are hinted for screen display shouldn't be anti-aliased at small sizes. It makes them blurry. The font author has already essentially laid out the pixels exactly as they should appear for those sizes. At least give people the choice. (Do you play anti-aliased NES games on your emulator, or do you leave the pixels as-is?)

    Second, it would be nice to have "ClearType" (that is, sub-pixel AA) on linux, too. Is anyone working on this?

  69. Re:I think you are wrong by BlowCat · · Score: 2

    Freetype is a library for supporting TrueType fonts only. It may or may not support anti-aliasing, but its scope is limited to a subset of the fonts used with X. Type 1 fonts are not affected by FreeType, neither are bitmapped fonts.

  70. Re:GNOME-bashing idiot by praedor · · Score: 2

    By the by...exactly WHERE did I say ANYTHING about Gnome in my original post? Nowhere. YOU took what I said, a fact that QT-based aa (which predates Gnome aa, by the way of another fact) looks better than what happens after using the libXft altered lib. You seem to have a chip on your shoulder, assuming a Gnome attack where there wasn't any.


    I reported a fact. Plain and simple. I did not mention Gnome at all. I don't use it and couldn't care less how it does anything so there was no point in my holding your defensive hand.

    --
    In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
  71. Excelleny, hinting == misapplication of an idea. by Performer+Guy · · Score: 3, Insightful

    This is great stuff, well done. It is also a perfect illustration of the dangers of using a misunderstood technology; hinting. Hinting was originally designed to help non antialiased fonts shift character vectors to align with discrete pixels for a more recognizable character description. It's application to antialiased fonts was foolish and never worked because the antialiasing is perfect for displaying the subpixel hint shifts being applied and makes the fonts look extremely ugly. Hinting on antialiased fonts was a complete misapplication of an earlier display kludge.

    This work illustrates this perfectly. No need for debates, look at the images and learn. Well done and kudos for an awesome and simple piece of work.

  72. Re:Aliasing. by markj02 · · Score: 2
    You say that as if convolution and removing high frequency components from the spectrum (say, using an FFT) are significantly different techniques; they aren't. Things get a little more interesting once you go to non-linear techniques.

    But, ultimately, font smoothing and anti-aliasing are limited techniques: a gray square just isn't the same as a white square with a thin black line running through it, no matter how much processing you do to decide on the shade of gray.

  73. xp by LennyDotCom · · Score: 2, Interesting

    XP's smooth font crap bugs the hell out of me it just looks like blurry text to me

    --
    http://Lenny.com
  74. Re:Excelleny, hinting == misapplication of an idea by Performer+Guy · · Score: 2

    I know it increases the sharpness of the characters, unfortunately the fools who implement this miss the point that to do so it moves the fonts by subpixel ammounts and when you mess this up it looks abominable.

    I know the issues about subpixel positioning etc, I'm a graphics programmer and have been for about 15 years. I am gurrently working full time on image processing software.

    The imprecision in the shape is awful and get's worse the smaller you go. GO look at the results instead of banging your sharpness drum. What good is sharpness if your edge is in the wrong place? This attempt to defeat Nyquist is an abomination and produces incorrect and ugly results, this has just been proven in spectacular fashion.

  75. Is antialiasing really a good thing? by mellon · · Score: 2

    I find that anti-aliased fonts are a real drag to try to read. I wish there was some way to shut off anti-aliasing in MacOS X. The anti-aliased fonts are more mathematically correct renderings of font glyphs represented mathematically, it's true, but they just look blurry to me.

    It used to be that people would spend a lot of time hand-optimizing a font to look good on screen. This is definitely costly, and I can see why one would want to teach a computer to do it nicely, but anti-aliasing doesn't seem to be a good answer to me.

    Am I crazy, or do other people have the same experience with anti-aliased fonts? I'm using MacOS X, by the way, and the output looks a lot like the "after" output in the article, so I don't think I can blame my problem on a bad anti-aliasing algorithm.

  76. Re:Anti-aliasing is here to stay. by foobar104 · · Score: 2

    Ink is a real physical liquid and paper is porous. What do you think happens with ink on paper? It bleeds out a little, randomly, you will never get two "pixels" the same. Thus the "jagged staircase" effect is slightly reduced.

    1. Laser-type printers don't actually use ink. They use a powdered toner that can be affixed to the paper in very precise ways. Toner affixed by a laser doesn't bleed.

    2. Quality control is a huge part of the commercial printing process. Colors and tones are expected to be visually indistinguishable from press to press, and from run to run, and from sheet to sheet. While it's true to say that no to spots are ever absolutely identical, they're much, much closer than you think. Look at two samples through a loupe sometime.

    3. This has nothing to do with antialiasing.