Slashdot Mirror


Xft Support For Mozilla

keithp writes "The results of a few short hours of hacking by blizzard (with a bit of help from me) can be seen here." According to Keith, "The hope is to have a patch of less than 100 lines; currently it's more like 400 lines. ... The patch uses a new version of the Xft library available at http://keithp.com. That will be integrated into the XFree86 CVS tree after 4.2 stablizes; the existing Xft library will remain in place for backwards compatibility. One feature of the new library is that it works with older X servers that don't have the Render extension, providing AA text (including the LCD optimizations) for any screen with a TrueColor visual." Chris Blizzard provided a link to the patch itself, as it stands right now.

72 of 190 comments (clear)

  1. Nice link... by FortKnox · · Score: 4, Funny

    the first link autocloses the window...

    And am I the only one that thought "Wow, Blizzard stopped coding for WarCraft 3 to help Mozilla out?!?"

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    1. Re:Nice link... by XBL · · Score: 2

      I know that he has been heavily involved with Mozilla for well over a year, maybe even over two years. Cool guy.

  2. LCD what? by augros · · Score: 2, Interesting

    LCD optimizations? what are these, and how can i get them? and are they sexy?

    why is this patch HUGE compared to the older one that often gets supplied with the libgdkxft.so that you preload?

    1. Re:LCD what? by chabotc · · Score: 5, Insightful

      This patch patches mozilla to fully use Xft rendering. The other patch patched mozilla to use GDK rendering.

      Mozilla is trying to move away from using gdk for its font rendering to make it more portable and less reliant on gdk. Also it should be more flexiable and faster.

      I gues the difference in size comes from the fact that it takes more code to use Xft directly then to use libgdkxft. (this is kinda obvious, since the Xft using code is then in libgdkxft).

      Bottom line though, the libgdkxft patch didnt have a chance to get included in main stream mozilla, where as this ones probably does.

    2. Re:LCD what? by Brian+Kendig · · Score: 3, Informative

      I'm assuming that 'LCD optimizations' refers to antialiasing using specific units in a triad, as has been discussed here a long while ago (with regards to a technology from Microsoft known as 'ClearType', I think -- the only original idea I've ever heard of from Microsoft).

      If I remember correctly, it makes use of the concept that every pixel in a LCD display is made up of a red element, a green element, and a blue element, smooshed together horizontally. So if you antialias black-on-white text by breaking down each pixel into thirds like this, you can get much finer results than if you treated each pixel as an indivisible element. Each character antialiased in this way will be faintly edged with blue on the left and red on the right, but it's not noticeable to a casual user.

      I could be completely misinterpreting the meaning of 'LCD optimizations,' though.

    3. Re:LCD what? by Reality_X · · Score: 2, Informative

      Unfortunately, Microsoft didn't come up with ClearType. Well, they came up with the name, but the technology was in use by many others before MS, see http://grc.com/ctwho.htm for some information.

      Also, the sub-pixel font rendering was in XFree86 before it was declared "ClearType" and used by MS.

  3. VERY exciting by kwj8fty1 · · Score: 5, Informative

    This patch looks very promising. One of windows XP's big claim was better LCD support; they are right, it does look quite sharp on any type of square pixel display.

    As I'm sure most of you know, most monitors use round pixels, whereas most LCDs use square or the more typical rectangular pixels. So what this means from a GUI standpoint: You need to optimize for the output device. The end result in the screenshot looks GREAT.

    Good work guys!

    1. Re:VERY exciting by Booker · · Score: 4, Informative

      An excellent explanation of antialiasing for LCDs can be found here, and a HOWTO for implementing this on Linux is here. The screenshots in the article do look better than I have been able to achieve, though.

    2. Re:VERY exciting by Otter · · Score: 5, Insightful
      From the HOWTO:
      Now, edit your /etc/X11/XftConfig file, and add a line at the end. Most LCD screens will look better with R-G-B LCD Sub-Pixel Rendering. If yours does, add this line:
      match edit rgba = rgb;

      See, this is what I love and hate about Linux. The good news is someone hacked this up and someone else documented it and now Konqueror looks *sweet* on my TiBook.

      The bad news is -- how the hell was I supposed to know to do this? I mean, besides reading every comment on Slashdot until someone posted a link. (Thank you, by the way, for two excellent links.)

    3. Re:VERY exciting by Khalid · · Score: 4, Informative

      No ! you could have looked for it in goups.google.com by sarching for something like this "LCD, TrueType, Xfree86" you would have found it in some seconds !!

      searching in groups.google.com has become a "reflex" for me, and it pays !!

    4. Re:VERY exciting by spectecjr · · Score: 3, Informative

      An excellent explanation of antialiasing for LCDs can be found here [grc.com], and a HOWTO for implementing this on Linux is here [jmason.org]. The screenshots in the article do look better than I have been able to achieve, though.

      An even better explanation not written by a muppet who doesn't seem to get it that NO, the Apple II did NOT have this first, and NO, his crappy implementation is NOT how it works -- he's only got a 1st order approximation -- can be seen here:

      http://research.microsoft.com/~jplatt/ClearType/de fault.htm

      Oh yeah; read the papers that he links to. That's where you'll get the real scoop on the technique.

      Simon

      --
      Coming soon - pyrogyra
    5. Re:VERY exciting by ajs · · Score: 2

      You, an average end-user, are not supposed to know this. You are supposed to do what all software end-users do. Wait for your vendor to add it as a configuration option to some gui menu somewhere.

      It's not the XFree86 folks' job to give you wizzy convinient way to do it. It's their "job", if you'll pardon the term, to provide the underlying functionality.

      I imagine that by the time the next rev of Gnome is integrated into the next rev of Red Hat, you'll see such an option in the Gnome control panel. If that's too long to wait, then you're not an end-user.

      If it only feels too long, then you're SOL ;-) Start reading them man-pages!

  4. Oh dear by Tony+Hoyle · · Score: 4, Insightful

    Whoopee.... blurry text, just what I needed.

    Luckily I never load Render & I never intend to - after about 5 minutes of looking at KDE with it enabled I had a bad headache. That font smoothing stuff is *really* hard on the eyes.

    I remember when the old archimedes did the same thing... it kinda worked there because they were crappy monitors anyway. With a sharp 17" it's not an improvement.

    1. Re:Oh dear by slashdot2.2sucks · · Score: 2, Interesting

      What resolution are you running in <= 800x600 ?

      I run at 1600x1200 with large, scalable truetype and type1 fonts and while without AA the fonts don't look bad, with AA the fonts appear to have perfectly, continuous, crisp edges and are not fuzzy at all.

      Also, with the way XFree is set up now, you can have AA on/off for different sized fonts, so if you are at a low resolution you can turn AA off for tiny fonts and on for larger fonts.

    2. Re:Oh dear by st.+augustine · · Score: 2, Insightful


      Whoopee.... blurry text, just what I needed....That font smoothing stuff is *really* hard on the eyes....it kinda worked
      [back in the day] because they were crappy monitors anyway. With a sharp 17" it's not an improvement.

      I love it when people can't tell the difference between "I hate it" and "It sucks."
      --

      -- Some things are to be believed, though not susceptible to rational proof.
    3. Re:Oh dear by damiam · · Score: 5, Informative
      If you don't read AA fonts at normal sizes, then don't use them. I only enable them for larger fonts, where they look good.

      Put this into /etc/X11/Xftconfig:

      match
      any size > 8
      any size < 15
      edit
      antialias = false;

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
    4. Re:Oh dear by Malc · · Score: 2

      I primarily use Windows. I've been using AA fonts under WinNT/2K for years, and I can't stand looking at a screen without them. MSFT have done a good job. What I have discovered in my brief forrays into Linux, is that Mozilla seems to do a horrid job of rendering AA fonts, even with the same fonts taken from my Windows partition. I don't understand it, but the same page in Mozilla under Linux is far inferior to when it's displayed under Windows, to the extent some smaller point sizes become almost unreadable.

    5. Re:Oh dear by spectecjr · · Score: 3, Interesting

      I primarily use Windows. I've been using AA fonts under WinNT/2K for years, and I can't stand looking at a screen without them. MSFT have done a good job. What I have discovered in my brief forrays into Linux, is that Mozilla seems to do a horrid job of rendering AA fonts, even with the same fonts taken from my Windows partition. I don't understand it, but the same page in Mozilla under Linux is far inferior to when it's displayed under Windows, to the extent some smaller point sizes become almost unreadable.

      That may be because Windows doesn't actually 'antialias' fonts until they get way too small (less than about 4 or 5 point), or way big (bigger than about 30 point). In the middle, it takes a half-antialiasing, half-hinting approach. So curves and diagonals get smoothed, but important high-frequency information in the font (ie. horizontal, vertical lines) don't get modified.

      This gives nice sharp stems in the letter I, for example. And in 'i', the dot on top is antialiased, but the rest of the font is drawn as single-pixel lines (at least, at about 10pt on my screen it is).

      It's kind of clever, and works pretty well.

      Si

      --
      Coming soon - pyrogyra
    6. Re:Oh dear by jovlinger · · Score: 2, Informative

      Good hinting is key. And is really hard.

      I believe that M$ have several fundamental patents in the area of automatic hinting (which I seem to recall involves global minimazation).
      So don't hold your breath waiting for Linux to get it.

    7. Re:Oh dear by Jay+Carlson · · Score: 2
      What a great time to read this. Now, for the second day in a row, I have a huge headache at the end of the day from using KDE antialiasing.
      • This was on a 1024x768 laptop display, with subpixel rendering correctly configured.
      • All sizes antialiased. Hey, it workes on the Mac, and I really do want to know if antialiasing is better for me for the majority of text I work with. With subpixel rendering, it seems plausible...
      • Using a variety of well-hinted fonts, primarily the "Microsoft Web core fonts"
      • At sizes comparable to what I normally use
      So why did I put up with this headache for a *second* day? Because I seem to be unusually sensitive to changes in text display. When I switched from a Diamond Stealth 64 VRAM (968) to a Matrox Millenium, I got this same headache for like four days, even though I was running the same monitor, same resolution, same refresh rate, and same fonts. IIRC, it even had the same TI ramdac! But the Millenium had higher quality analog circuitry after the ramdac, and had sharper edges. After I got used to it, it was much nicer.

      It may not be sharpness. If I get stuck in an environment where I have to spend a lot of time reading fonts I'm not used to, I get this kind of headache for a while too.

      So now, the question is, do I care enough to try another day using the Xft setup? Will it be worth it? Who knows, but I'm gonna go have a beer and go nowhere near a display for about 12 hours....

    8. Re:Oh dear by Brian+Kendig · · Score: 3, Interesting

      I find jagged fonts hard on my eyes, too... but I also find antialising under Linux to be hard on my eyes.

      Here's an example of the Slashdot page antialiased under Mac OS X. Compare it to the example above. How come it looks so much cleaner under OS X (practically as good as printed type) than it does under Linux? Will Linux ever support this quality of antialiasing?

    9. Re:Oh dear by Brian+Kendig · · Score: 2

      That's interesting... at what resolution and color depth were you viewing the OS X screenshot?

      I honestly don't see any blurriness in the OS X screenshot at 1280x1024 resolution and 24-bit color...

    10. Re:Oh dear by kilrogg · · Score: 2

      I'm on an 1400x1050 LCD (24bit), and I agree with the above poster, the OSX image looks very blurry. Were both of these screen shots intended for LCD screens?

  5. Wait for stability by kenneth_martens · · Score: 3, Insightful

    While I like the idea of making my Mozilla browsing experience more aesthetically pleasing, I am not willing to sacrifice stability.

    This new patch is great, but you shouldn't update yet. Wait until it's merged into the official release. Unless, of course, you like to try out new things, in which case go get the update.

    Anyway, I look forward to getting the final version of this. (Until then, I'll just have to buy a bigger monitor.)

  6. Re:So what you're telling me is... by Archie+Steel · · Score: 2, Insightful

    Not Linux, young troll, Mozilla. Anti-aliased fonts have been available for quite a while in KDE and Gnome. Speaking of which...is it me, or does Netscape 6.2 already support anti-aliased fonts?

    In any case, I'm still waiting for important stuff, like multipe consoles and desktops, good memory management, remote graphical apps, etc. to be standard features on Windows...

    --

    Reminder: find a new sig
  7. Gdkxft has had this for a while by ronmon · · Score: 5, Informative

    It anti-aliases your GNOME widget fonts and there is a separate patch for Mozilla (good up to 0.9.6), which works nicely with Galeon, BTW.

    Check it out.

    1. Re:Gdkxft has had this for a while by daserver · · Score: 2, Insightful

      Gdkxft is a very dirty hack. I really hope this new patch is going to be included in mozilla since this a point where it's lagging behind konqueror. Right now I use truetype fonts from m$ and they work just fine. Would be nice to try the new patch though :)

    2. Re:Gdkxft has had this for a while by matman · · Score: 4, Interesting

      Well it's not too bad. Xwindows supports a generic interface for rendering things that are accelerated by hardware (falling back to software when need be). Now, please, if I'm wrong, someone correct me, but I believe that it works like this: XFT is an API for drawing fonts in XWindows - it replaces X's old font interface. XFT talks to freetype to turn a string into a vector image (font file) into a bitmap image. The bitmap image that freetype produces can either be a monochrome pixmap (what normal X font routines use) or a 256 colour pixmap with antialiasing). XFT takes the 256 colour (greyscale) image and gives it an alpha channel (through some kind of an operation like multiply or darken only in GIMP. It then passes this image to XRender to have it rendered on the screen. Right now, most QT or GTK apps use QT and GTK font rendering routines. These routines used to use the normal x font stuff... if you patch them to use XFT, they all get anti-aliasing. Mozilla has it's own widget set, so it needs it's own patch to use the better font rendering mechanisms.

      The font support is in the right place, it's just that applications need to be changed to use the new, better interface, instead of the old interface that can't do hardware accelerated alpha channel stuff.

  8. Huh? by Score0,+Overrated · · Score: 2, Insightful

    The hope is to have a patch of less than 100 lines; currently it's more like 400 lines

    Why don't you concentrate on making sure the code works instead of aiming for some arbitrary patch size?

    1. Re:Huh? by keithp · · Score: 5, Informative
      Why don't you concentrate on making sure the code works instead of aiming for some arbitrary patch size?


      It's not arbitrary; I believe about 3/4 of the patch consist of unnecessary changes to code that shouldn't be executed in the Xft code path. Unfortunately, the internal abstractions for dealing with fonts are somewhat strained in the current code base, making this assertion testable but not easily verified by visual inspection.

    2. Re:Huh? by barzok · · Score: 2

      Damn, took my comment. I'd take 400 lines of clean, clear, easy to manage/understand code over 100 lines that came from the Obfuscated C Contest anyday.

  9. Already possible, sourt of. by foonf · · Score: 4, Interesting

    Look here. This is with the version of mozilla included in Debian unstable, patched to work with the gdkxft hack. The real question is will this new patch actually be included in any commonly distributed Mozilla binaries. Because if it isn't, I don't think many are going to recompile the whole damn thing just for anti-aliasing (but that won't stop people from complaining about the lack of it!).

    --

    "(Man) tries to live his own life as if he were telling a story. But you have to choose: live or tell." --Sartre
    1. Re:Already possible, sourt of. by foonf · · Score: 2

      It is slower, but on a relatively fast machine (P3-900, 384mb) its not really a big deal. To put it in perspective, its no different than the difference between AA and non-AA KDE on the same machine.

      --

      "(Man) tries to live his own life as if he were telling a story. But you have to choose: live or tell." --Sartre
  10. Lets get some facts straight first. by clump · · Score: 4, Insightful
    That Linux has to kludge in a feature that Windows has had for seven years?

    So basically, we are still waiting for it to be a standard feature?

    What I think people should keep in mind is that you are comparing a multi-billon-dollar corporation with access to all kinds of patents and trade secrets to what *volunteers* do in their spare time. Keep in mind access to good fonts are what corporations like Microsoft and Apple *slow down* to keep people on their platforms.

    If you want to stick your head out against possible liability so others can *freely* use something be my guest. At least don't criticize when others do.
    1. Re:Lets get some facts straight first. by toast0 · · Score: 2

      Microsoft distributes the base true type fonts at no cost, in fact they either invented or popularized the (usually inexpensive) true type font system to compete with expensive fonts from other vendors.

      Other than the basic fonts (courer new, times new roman, maybe arial), i don't use much in the way of fonts in windows or linux, and microsoft provides those fonts to me on both platforms

    2. Re:Lets get some facts straight first. by Graff · · Score: 5, Interesting
      Microsoft distributes the base true type fonts at no cost, in fact they either invented or popularized the (usually inexpensive) true type font system to compete with expensive fonts from other vendors.

      Well, actually Microsoft only agreed to use TrueType when it came out. It was actually developed by Apple. They developed it for Windows and Macintosh in order to combat Adobe's strangle hold on the market. Here's an intresting quote on Microsoft's site on TrueType:
      The TrueType digital font format was originally designed by Apple Computer, Inc. It was a means of avoiding per-font royalty payments to the owners of other font technologies, and a solution to some of the technical limitations of Adobe's Type 1 format.

      You can see a pretty detailed history of TrueType on this web page.

    3. Re:Lets get some facts straight first. by david.johns · · Score: 2, Insightful
      I don't have links off the top of my head. Let me google. (Also, I'm replying kinda to the top-level poster and also to the person directly above me.)

      Ahah! Here it is. As you can see, there were some initial issues in the way that truetype was developed. Microsoft may provide the fonts free, but the original move to create truetype fonts in general was a point of contention between companies.

      The only reason I point this out is that it shows that TrueType and Windows' anti-aliasing were developed to counter various strategic threats to Microsoft. I don't pick on Apple because if you read between the lines and the rest of the history, they were burned by some 'incompatibility' that was created by Microsoft.

      Anyway - Microsoft isn't giving this away just because, and the original push for TrueType/Anti-aliasing was a major money sink for two companies. (Also, IP issues and development time made it unlinkely to end up in early Xfree, for instance - leading to the problems we've seen on free Unices.)

      On the other hand, two implementations of bluetooth drivers for linux were available before even one for Windows. Should we then accuse Microsoft of being slackers when it comes to technology adoption? Turnabout is fair play.

  11. Re:what is this feature.. is it those nice fonts? by Jace+of+Fuse! · · Score: 2, Redundant

    And does windows already have this...

    Font Smoothing has been available to Windows since at least OSR2 (or Win95 with Plus). ClearType further extend this in Windows XP, and it looks REALLY nice.

    X11 as others have pointed out, does in fact have support for font antialiasing. For whatever reason, Mozilla apparently needed a patch in order to take advantage of it. I'm not too sure what the technical reasons are that all applications don't just automatically take advantage of it -- but I'm sure there are people who would be willing to clearify that.

    --

    "Everything you know is wrong. (And stupid.)"

    Moderation Totals: Wrong=2, Stupid=3, Total=5.
  12. Re:that you dont know what your talking about... by Quazion · · Score: 2, Informative

    Correct me if i am wrong, but isnt the framebuffer just a buffer ? that gets send to the videocard in a sertain way ?, yeah oke its a Grapical Function/Feature, but not a GUI ( Grapical User Interface ). Its just a layer to put an GUI interface on, Xft adjusts only the GUI interface not ? The framebuffer hasnt got functions to display text i hope, but i could be wrong...

    Quazion.

    Ps. sorry but i am a bad mood and yes i never played with the framebuffer before, i really love X :)

  13. Italics by pigeon · · Score: 2, Interesting

    Great, I would really love to see a solution which gives me non-ugly italic fonts (especially in my webbrowser) with Linux.

  14. This is actually a new feature for Mozilla... by OneFix · · Score: 5, Informative

    Yea, the tree closed for 0.9.8 like a week ago. Tree Closes for 0.9.8. For those that don't want to click the link, here's what it says...

    ...0.9.8 will have a variety of new items including new natively drawn widgets on WindowsXP, Mac OS X, and GTK, when you are in the classic skin (We will have more on this later, including screenshots)...

    If you're really interested in what's going on with the project, try the latest Build Comments

    Yesterday was the last of the frozen trunk builds. And if that's not enough, the Tree Is Opened for 0.9.9 checkins.

    And there's now a Mozilla 1.0 Manifesto that lays down precisely what Mozilla 1.0 should be (which will come right after 0.9.9).

    Of course, it's nice to see a change in SlashDot change its view of the project. But, then again, maybe I was right all along. :)

  15. Speaking of Mozilla by astyanax · · Score: 2, Interesting

    I believe 0.9.8 is due out tomorrow. Is anyone else foaming at the mouth for this release like me? :) Can't wait... well I can wait long enough not to download nightlies and pretend it's the real release.

  16. Mozilla just keeps getting cooler. by BgCntry · · Score: 4, Insightful

    No matter what gets said here about feature bloat and endless delays, Mozilla is just the coolest and most ambitious browser out there. At this rate it's well on its way to becoming the Emacs of the browser world, and it might even be there now. I've been using it as my main browser for god-knows-how-long. It's been fascinating to watch it evolve from the early milestone releases up to now.

    Hell, Mozilla's never going to be finished, and I don't really care to see it finished either. I'd have to find a new religion.

    1. Re:Mozilla just keeps getting cooler. by abe+ferlman · · Score: 3

      I agree. I've finally switched from Konqueror. Konqueror is still a little faster on my machine (200mhz pentium, 196M ram - don't laugh :), but the tabbed browsing feature just rocks *so* hard, and at this point they are about equal in terms of stability. Since I use blackbox, Konqueror isn't really any better integrated into my system, but I do kind of miss the way that it operated directly as a file browser and autocompleted things for me- it's just ever so slightly less convenient to use mozilla for such things.

      But I have to tell you the Mozilla project has done a tremendous job since I first tried it out last year and couldn't get my mail accounts to work properly. It is basically a mature browser, and it's only getting better.

      Two caveats:
      1. if Konqueror gets tabbed browsing, I may starve to death trying to choose between them.
      2. Mozilla folks: PLEASE give us a (preferably one-handed) keyboard shortcut for "next tab". So we can, you know, hold our mice while switching tabs :)

      --
      microsoftword.mp3 - it doesn't care that they're not words...
    2. Re:Mozilla just keeps getting cooler. by pergamon · · Score: 5, Funny

      I'm pretty sure emacs fanatics will tell you that emacs already is the emacs of the browser world.

    3. Re:Mozilla just keeps getting cooler. by LeBleu · · Score: 3, Informative

      Try control + page up or control + page down. They added those as shortcuts for switching tabs the milestone after they added tabbed browsing, as I recall. On an extended keyboard, I can easily do those with just my right hand. Of course, I use my right hand for the mouse, so I don't know if it would help with your dilemma.

      --
      --LeBleu

      If you're reading this you're part of the mass hallucination that is Kevin the Blue.

    4. Re:Mozilla just keeps getting cooler. by fawadhalim · · Score: 3, Informative

      Check out http://www.mozilla.org/projects/ui/accessibility/m ozkeyplan.html. It's got the exaustive list of keyboard shortcuts for Mozilla. (Works with mozilla, though).

    5. Re:Mozilla just keeps getting cooler. by iceburn · · Score: 2, Funny

      vim junkies will probably say the same thing about emacs, but I don't think they'll mean it in the same way as the emacs fanatics ;)

      --
      A sphincter says what?
    6. Re:Mozilla just keeps getting cooler. by Thomas+Miconi · · Score: 2

      At this rate it's well on its way to becoming the Emacs of the browser world...

      Oh boy, now that's some mozilla-bashing ! :o)

      Thomas Miconi

  17. Depends by jeti · · Score: 5, Informative

    Antialiased fonts can look extremely good and
    make reading less stressful for the eyes.

    Look at text in newer versions of MacOS, BeOS
    or Windows XP. Especially at LCD screens the
    quality is absolutely convincing.

    BUT you need not only a good font renderer, but
    also fonts that are hinted correctly.

  18. XFT is... by skia · · Score: 5, Informative
    For the uninitiated:

    Xft is a simple library designed to interface the FreeType rasterizer with the X Rendering Extension.


    FreeType is a software font engine that can be used in graphics libraries, display servers, font conversion tools, text image generation tools, etc. to produce high quality glyphs and characters. The important thing here is that FreeType supports Adobe Type1 and TrueType (that is, Windows) scalable fonts.


    the X Rendering Extension is a protocol that represents a new way to render (that is, draw) stuff on your screen in X windows.


    thus, Xft's incorporation into Mozilla gives us smooth, high quality, Windows compatible fonts while surfing the web on Linux or *BSD

    --

    --

  19. Unfortunately .. by Eloquence · · Score: 5, Insightful
    .. the screen-shot still shows the flaws of anti-aliasing under Linux. Take a look at the "k" in the "Bookmarks" text on the toolbar, or at the "W" in Wednesday -- this is what it actually looks like if you turn on anti-aliasing under KDE. Some fairly standard fonts just get really ugly and you have to search a long time until you have disabled all of them everywhere without removing them (webpages can probably still use them), or you have to disable anti-aliasing entirely at certain font sizes (haven't figured out how to do that yet, but haven't really looked either, KDE doesn't seem to have an option for it at least, but somewhere in the mess that is X configuration I'm sure it's possible).

    Even if Linux desktop installations weren't so horribly deployed as they are by most distributors (I completely lost faith in SuSE after their handling of the Euro-Sign, I think that they are no longer interested in ordinary desktop users), anti-aliasing algorithms itself could probably be much improved, although the Freetype page points out that Apple patents are a problem and some features had to be disabled (damn you, Apple!). All in all, I'm not happy with anti-aliasing support at all, except for subpixel rendering, which works very well on my Notebook. (And don't give me the "You didn't pay, don't complain" bullshit -- I paid a lot of cash to distributors already, but they seem to prefer to spend it on the server end).

    1. Re: Unfortunately .. by Sandmann · · Score: 4, Informative

      > the screen-shot still shows the flaws of antialiasing under Linux

      You are right that the k and the W don't look good, but that does not have anything to do with your kernel, but rather the fact that Verdana and Times should not be antialiased at that size. Antialiasing these fonts at that size with hinting enabled is really font murder.

      You don't want hinting enabled with antialiasing at that size, because hinting is a way to distort the fonts so that they can be rendered at very low resolution, and antialiasing is essentially a cheasy way to increase resolution. That is why you see the weird "k": the hints don't expect the resolution to be this high.

      Here is a piece of an actual screenshot, showing Verdana mostly un-antialiased, and antialiased in the preview box in the fontselector.

      As others pointed out, to match Windows in quality you will need high quality fonts. Of couse, the MS/Monotype fonts (Ariel, Verdana, Trebuchet, etc) are well done and especially well-hinted (if you don't antialias them at sizes where they shouldn't be), but actually the Luxi fonts that are shipping with XFree86 4.2 are not bad - their hints just need some work.

      For fun, I hinted Luxi Sans (with the Gimp) at a few sizes. This is not a real screenshot, but it does show how it could look with better hints. (Note that the bold antialiased Luxi Serif is not hinted at all - a bit of careful hinting would probably improve it somewhat).

      > anti-aliasing algorithms itself could
      > probably be much improved, although the
      > Freetype page points out that Apple patents

      This is nonsens. The Apple patent covers the interpreter for the hints in TrueType fonts. Most distributions turn the interpreter on, regardless of the patent, and in fact the bad rendering of the "k" that you complain about is there precisely because both interpreter and antialiasing were used.

    2. Re: Unfortunately .. by Eloquence · · Score: 2
      Thanks for the insights! It's probably just a matter of deployment again, default installations should turn "hinting" off at low font sizes (this is reasonably obscure knowledge, so even developers can't be expected to have it as the screenshot shows). Of course, having all font/anti-aliasing settings accessible through a nice GUI, which would put reasonable constraints/warnings on user changes, would probably be best. Do you know how Windows currently sets these settings automatically? They seem to strike a very good balance, and I've never seen a flawed low size font rendering under Windows.

      I am not familiar with the patent in question -- good that it doesn't seem to concern anything essential!

  20. Sooo, How do we build this? by stevek · · Score: 2, Informative

    I'm guessing what I need to do is get a fresh mozilla sourcebase from CVS (just updated to 0-9-8 branch), apply Blizzard's patch (change some paths), get keithp's "fonts" directory from his CVS, build that, then build mozilla..

    Anyone actually get it built?

  21. Re:So what you're telling me is... by jedidiah · · Score: 2

    "extreme performance sacrifices"?

    That really funny. In my experience, X has always been faster than WinXX on comparable hardware. This is even true if you add in bloated desktops like KDE or GNOME. OTOH, WinXX doesn't have the inherent flexibility to allow for the seamless use of alternate desktops. (so much for "standards")

    Let's not even get into any version of WinXX where the comparison is remotely fair. Add on reasonable robustness and Windows starts to get really slow and bloated.

    Linux has always had VM support to equal or rival any version of windows.

    Besides, individual fonts are much more important than the underlying "font technology".

    --
    A Pirate and a Puritan look the same on a balance sheet.
  22. Re:[OT] Re:Topic: you .sig on transgaming by Odinson · · Score: 2
    I hope they script a page with at least monthly numbers. If it makes sense for me to join, I'll want others to as well.

    Recruiting others would be easier if I could say, we only need 19 thousand more people.

    In any case thanks.

  23. Re:AA? Goog grief... by cymen · · Score: 3, Interesting

    user_pref("font.minimum-size.x-western", "10");

    of course most cool award goes to:
    user_pref("dom.disable_open_during_load", true);
    (no popups onload from javascript but clicked popups still work)

    also good:
    user_pref("image.animation_mode", "once");
    user_pref("network.http.max-connections", 128);
    user_pref("network.huser_pref("mail.quoted_graph ic al", false);
    user_pref("mail.display_glyph", true);
    user_pref("mail.quoteasblock", true);
    user_pref("mailnews.send_plaintext_flowed", true);
    user_pref("mailnews.display.disable_format_flowe d_ support", true);
    user_pref("mail.display_struct", true);
    user_pref("mail.send_struct", false);ttp.max-connections-per-server", 48);
    user_pref("network.http.max-persistent-connectio ns -per-proxy", 24);
    user_pref("network.http.max-persistent-connectio ns -per-server", 12);

    On *nix go to ~/.mozilla/default/something_random/ and edit prefs.js - note, copy it to prefs.js.new, edit it, close mozilla, copy it over prefs.js, restart mozilla, tada (if you edit it while moz is open it'll kill your new prefs.js version because it writes it out on exit or something).

    Under Windows go to \Documents and Settings\ to your directory (make sure you have "show all files" in the folder prefs) and you'll find it. Or use that search feature :).

  24. Re:Pixel shape by spitzak · · Score: 2
    Actually the deal is that LCD screens have three rectangles for the pixels, a red one, green one, and blue one, next to each other.

    Normal screens do draw a round dot but there is the phosphor mask in front of that which are the pattern you see, diffraction by the screen makes the dots themselves overlap. On modern screens each pixel is then a blurry overlapping circle cut out of a pattern of vertical stripes of red, green, and blue. There is probably a way to take advantage of this for improved antialiasing but there seems to be no control over the exact registration of this pattern with the dot location, unlike the LCD.

  25. Re: X11 calls by spitzak · · Score: 3, Informative
    Xft does not cause old X11 programs to suddenly be antialiased. What the "native X11 calls" means is that Xft works (in that it produces readable output) if it talks to an X server that lacks the Xrender extension or that lacks the fonts.

    This won't help the end-user much, but it is a huge deal because it removes the main impediment stopping all programs from immediatly switching to xft.

    Normally when somebody makes an "extension" to an existing interface they write it so you cannot use the "extension" without also updating what you are talking to. This means that anybody writing a program using the new interface either has to say "you have to update your drivers" which is user-unfriendly, or they have to put in a big mess of code to "detect" the extension and then have to write two interfaces, one using the extension and one not. The real result is almost nobody uses the extension because it it too much of a pain to write to.

    X is horrid with these things. Shared memory images (an interface now 15 years old) required you to detect whether the server did it and write totally different code for non-shared. The result is that the majority of programs don't use shared memory images. If they had written the detection and emulation into it, I'm sure *EVERY* program would use shared images today.

    Congrats to Keith Packard for figuring this out!

    Now lets see the same thing done for the rest of XRender, so we can get anti-aliased lines and shapes without having to write everything twice.

  26. Re:what is this feature.. is it those nice fonts? by spitzak · · Score: 2
    The "technical" reason is that the XFree86 people are totally paranoid about back compatability and the Xlib interface to fonts sucks.

    XRender provides an all-new and much nicer interface to fonts, and it makes sense for programs to use it. However it would be nice to see a rewrite of Xlib so that attempts to use old font calls cause emulation code to be run that draws Xft fonts.

    MicroSoft deserves credit for implementing anti-aliased fonts while both Mac and X people were convincing themselves it was impossible or too slow. They also deserve credit for having the balls to change their already existing font interface to draw the new fonts, despite the fact that some programs that depended on the exact pixels drawn would break and make people mad. It did help them that thier font interface sucked less than 1/10th as much as Xlib, though...

  27. Re:No offense, but ... by spitzak · · Score: 3, Informative
    Typo there, here is the correct text (on one line like this works):

    match any pixelsize > 8 any pixelsize < 15 edit antialias = false;

    This goes into ~/.xftconfig or into /etc/X11/XftConfig.

  28. Problem with AA in X by Tom7 · · Score: 2

    The problem with AA fonts in X, to me, is that they anti-alias all fonts, even the tiny ones that are hand-hinted to look good when pixels are scarce. Verdana 10 pt looks shitty when it is anti-aliased, for instance.

    However, for large fonts, I don't think there is much question that anti-aliasing really helps. The X guys should do the same thing that Windows does and only anti-alias fonts after a certain size. (Or at least make it configurable on a font-by-font and size-by-size basis.)

    (XP's cleartype on LCDs is a different story; I'm not sure how I feel about that at small sizes yet.)

  29. Re:Now if they would just add crash-recovery by SmileyBen · · Score: 2

    Whilst I agree with other comments that point out that Mozilla really is pretty crash-proof already, you might like to follow the Total Recall project on mozdev...

  30. Re:AA? Goog grief... by BlueGecko · · Score: 3, Informative

    I'd really refrain from editing the prefs.js file directly. Instead, just create a file in the same directory called user.js and store your custom preferences there. user.js is parsed after prefs.js , and is not modified by the GUI when you alter preferences, so if you mess up it's much easier to fix. (And, conversely, you're guaranteed that the GUI won't mess it up for you.)

  31. Why doesn't X just do the right thing with fonts? by kcbrown · · Score: 3, Interesting
    This bit about having to render fonts using a completely different mechanism than what's already provided by X is complete nonsense, IMHO. Why doesn't X font rendering simply do the right thing?

    I can understand that X fonts originally were simple bitmaps that got rendered directly to the screen. But the X server knows what kind of visual is being rendered to, so I don't see why it can't render in a more sophisticated manner when drawing to a visual with at least 16 bits worth of color depth.

    Were the original designers of the font rendering mechanism so braindead as to specify that all fonts forevermore would be bitmaps??? What the hell for???

    As for the X font protocol, that's easy: design an upgraded protocol that the X server can also deal with, that's used to transmit font information along with transparency information. Or use a separate channel for the transparency information and keep the bitmap protocol the way it is.

    But either way, font rendering belongs in the server, and having the client do it is complete nonsense.

    I mean, the GC is an opaque data type, as is the Font, right? So what's to prevent you from having a mask with a depth greater than 1, which is created when you use XSetFont() with a font that has alpha information?

    Help! I don't understand!!

    --
    Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
  32. Re:Microsoft patented it by spectecjr · · Score: 2

    It looks like Micro$oft patented it [uspto.gov]. Can you use it in an open source software without being processed?

    Given that MS have stated over and over to both other people and their own employees that they only use patents defensively -- eg. if someone sues them for patent infringement, they'll dig through their patent list and attack that company back with all the ones that they have infringed.

    Of course, there's a certain amount of risk to just ignoring it. You could always license the patent. *shrugs*

    Simon

    --
    Coming soon - pyrogyra
  33. Its the pdf blur! by ahde · · Score: 2

    While it may be a closer approximation of what it will look like on print, its just an illusion. Anti-aliasing *is* blurring. While unantialiased(?!) fonts may be uglier, they are easier on the eyes.

  34. Re:AA? Goog grief... by cymen · · Score: 2

    Did you open up the file again and double check it's still set? I went to the link and I didn't get any popups - I did have Mozilla itself popup and ask if I wanted to get the java plugin (not installed). Perhaps this java thingy they have on their site opens the windows?

    Anyway, see the other reply about users.js or whatever it's called. If you are already using that maybe try adding it to prefs.js and see what happens.

  35. Re:Too bad Recall doesn't work right now by SmileyBen · · Score: 3, Insightful

    Sure - but wait for the APIs to stabilize and everything to get sorted by 1.0, and then mozdev-type projects will properly take off!

  36. Re:what is this feature.. is it those nice fonts? by marmoset · · Score: 3, Informative
    MicroSoft deserves credit for implementing anti-aliased fonts while both Mac and X people were convincing themselves it was impossible or too slow.


    Um, MacOS >= 8.5 has supported antialiasing by default since 1998, and there was defacto support even earlier than that in Adobe Type Manager 3.x and up, IIRC. The CoreGraphics (Quartz) antialiasing in OSX is visually far superior to what was available in Classic, but AA in general certainly not a Johnny-come-lately feature on Apple's platforms.
  37. Re:what is this feature.. is it those nice fonts? by spitzak · · Score: 2

    Isn't 1998 later than when MicroSoft did it? I may be confusing the dates, however.