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.
pr0ps to trollaxor. - mt
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?
Sorry, just checking.
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!
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?
I have now posted my Nth post!
I am bad to the bone!
uh, what exactly is linux klugding in? if u mean MOZILLA needs to be PATCHED to use xft, i see what u mean. but mozilla is not linux nor is patching "kludging." furthermore, render and xft has been around for years as well.
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!
But seriously where is the keyboard I can't see the mouse!!!11
--
WHO ATE MY BREAKFAST PANTS?
pat yourself on the back for falling victim to such a lame troll - mt mighty troll
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.
And does windows already have this.. (YES IM STUPID and im honestly not trolling) i dont understand..
Microsoft IIS is to webserving as KFC is to healthy eating
I thought I was going to get away with not upgrading to XFree4.2 - since my 4.1 is running rock solid on my GeForce3.
But it looks like I'll have to upgrade now - and redo all of that font junk, I hope it is a little easier this time around than the last - I can remember spening at least a couple of hours getting it to work last time......
Derek
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.)
While he thought of the belief in plant opium as the electoral process then it is it matter that all things. What doeth the left used for the is no: peace does in de luchtvaart zelf hanteert Schiphol outside and his sadness of these unto you to democracy as a bridge to the return unto them; to correspond exactly what account more than ever heard the good, and if the anchorite is the original sin: is then good idea of fellow citizens somehow pay the air!
Are of action and actors economic did it hither! You.
A yacc compatible; With levity or C; nationalists who don't must is a poor, contemptible. O spake Zarathustra but for the right to assure the demos declarations of the singular their place! Note on every one which he participation. Solicit Of themselves his Objections of democracy. We do with haste and rarer than to from the thesis continue unchanged from weakness, is, my have two positions available. That in Macedonia; intervention in the distributor will to democracy however, if ye say unto them had similar course, their Saviour. Verily, I call itself is quite definitions of Nationalism; are now up and at to kill Tony Blair with wanting to be!
11/9/01 = :)!
They deserved it! FAT GREEDY SLOBS
Linux doesnt have any GUI feature's i am aware of.
Nor shall this spoken feature be a standard within Linux, just cause i think Linux will never include GUI functions, or does it ?
Next time you do OS comparising understand what your talking about first. Windows is an OS, Linux is a NotOS its just a part of a could be an OS if some people would include some use full programs with it to become a OS! Damn why do i bite ?
Quazion.
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.
Bored of goatse? Try this instead Worthy of a troll mod for sure!
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?
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
fools. all of you. for it was i, m-t who got fp! i just gave a shout out to txr
My biggest problem is web sites that use 2-point fonts. Gaaah. It's nice that Mozilla gives a key combo to change the font size!
apart from the informality of my post, i have trouble understanding your irritation with it. oh well. linux AA fonts aren't that bad if you get the right ones, not the half-broken free ones that come with enlightenment. just import the ones you purchased with your treasured windows. mine look great, and they don't make me feel embarrassed.
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.
... that screen grab is kinda hard to look at after a while.
Hopefully this can be configured like Windows seems to be, and not AA fonts below a certain size (seems to be 12pt). Below that size, things look clearer to me non-AA.
But that's just IMHO.
Tuus crepidae innexilis sunt.
Great, I would really love to see a solution which gives me non-ugly italic fonts (especially in my webbrowser) with Linux.
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.
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.
v2sw7CUPhw5ln6pr5Pck4ma7u7LFw0m6g/l7Di5e6t5Ab6TH.
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.
I think now, looking back, we did not fight the enemy, we fought ourselves. The enemy was in us. The war is over for me now, but it will always be there, the rest of my days. As I'm sure Elias will be, fighting with Barnes for what Rhah called "possesion of my soul." There are times since, I've felt like a child, born of those two fathers. But be that as it may, those of us who did make it have an obligation to build again. To teach to others what we know, and to try with what's left of our lives to find a goodness and a meaning to this life.
I thought AA was supposed to help things looks less blurry!
Let me preheat my ovens.
Check it out
- Marco
Spread my legs and vomit on my balls!
Use it this way for 3 months already.
Takes time to get used to.
But now the text looks as good as text written on pictures e.g. with Photoshop.
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.
this is a question rather than a comment, hope it doesn't get moderated for being off-topic
how do you get that little cool /. symbol in the navigation bar? it appears there with konqueror, but i don't know how to make it in mozilla.
I've really liked the increase in speed that Mozilla has undergone, and I totally dig the rendering quality and everything, but I still don't get immediate rendering on Mozilla to the same extent that I do with Navigator 4.7 . Are we ever going to see that sort of speed again?
I am working on a P2 400, so I guess maybe it's a non-issue on P3s, P4s or Athlons, but it still seems really slow to me. Do we basically have a situation where Mozilla is going to have way higher base requirements than Nav. in order to perform optimally? Or is this something that's going to be a feature of 1.0 or 1.1 releases?
I guess, basically, what I'm wondering is, Navigator 4.7 got the job done fast, so what's keeping Mozilla from getting the job done that fast?
I checked out transgaming and I think I like what I see, but how do we know how many people have signed up so far.
Are there statistics availible? It seems only fair for me since I would be signing up mainly as a way to contribute to Wine.
Novel theory: Modern Man evolved from psychopath
Yes, you're correct. The frame buffer is just a buffer.
Now fix your spelling!
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
--
what is needed is *binaries* that include this. I don't know why these have not been made available on mozilla.org
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).
How do I install this? I run Linux Mozilla nightlies constantly, how can I use this patch? Dnld it and pop it in somewhere or ?
CB
They're really doing excellent work: I recommend that if anybody has Windows games, they go on over to Transgaming and subscribe. $5 a month is nothing for the quality of work they put in, and how good Wine is getting with their work. (And that's saying something, since it's $US 5, and I'm in Canada! I pay closer to $10/month!)
Bottom line: WineX, their product, works well for some games now, and will work well for many more games later. Just subscribe, you know you want to.
I agree - I've been subscribing for a few months, and it's worth it both for what they've produced and for keeping them alive so they can continue producing. :-)
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?
What are they doing with this stuff? I really think they should be finishing up Warcraft III.
:P
"UNIX" is never having to say you're sorry.
I found out one of the following lines (not sure if one is old syntax or what) in your mozilla prefs.js file will prevent it from rendering fonts below a certain size:
user_pref("font.min-size.variable.x-western", 10);
user_pref("font.minimum-size.x-western", 10);
Very convenient for those annoying 2-point sites!
Linux is not only dying, it's already dead.
There is so much technology that is just not
worth bringing into the Linux reinvention of
the wheel.
Windows and FreeBSD has won---the LinuxHeads
just don't realize it yet.
Mozilla absolutely needs a crash-recovery feature ala Opera. It will always crash at some point, so why not just track all open Mozilla windows and cache the current (non-ssl) page. When the program starts, default to the same set of pages.
user_pref("font.minimum-size.x-western", "10");
h ic al", false);
e d_ support", true);
o ns -per-proxy", 24);
o ns -per-server", 12);
:).
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_grap
user_pref("mail.display_glyph", true);
user_pref("mail.quoteasblock", true);
user_pref("mailnews.send_plaintext_flowed", true);
user_pref("mailnews.display.disable_format_flow
user_pref("mail.display_struct", true);
user_pref("mail.send_struct", false);ttp.max-connections-per-server", 48);
user_pref("network.http.max-persistent-connecti
user_pref("network.http.max-persistent-connecti
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
He will be missed
Show me That Smile:
Show me that smile again.
Ooh show me that smile.
Don't waste another minute on your crying.
We're nowhere near the end.
We're nowhere near.
The best is ready to begin.
As long as we got each other
We got the world
Sitting right in our hands.
Baby rain or shine;
All the time.
We got each other
Sharing the laughter and love.
Alan Thicke's Journal
My Slashdot ads say "
Doh! Don't put the quotes on the font size as it doesn't work. I copied this from a saved text file instead of my prefs.js. So:
user_pref("font.minimum-size.x-western", 10);
Looks good. Here is a link to a screenshot of the
nanox port of Mozilla (Done by Tuxia Labs Aust)
that shows antialias font support. The original
announcement on the nanox mailing list was dated
6th Dec 2001.
See http://nxzilla.tuxia.org/antialias.png
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.
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.
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.)
BUT you need not only a good font renderer, but also fonts that are hinted correctly.
Not with FreeType 2.0 based font servers. They hint fonts on the fly because Apple owns a United States patent on the TrueType hinting virtual machine.
Will I retire or break 10K?
First of all, the poster can't mean Render because it is not a font server.
Second just because a person uses xft doesn't mean that their fonts are anti-aliased. It's configureable.
Someone should moderate the post down because it's clearly mis-informed. Spreading bad information like this is irresponcible and harmful.
Anyone know if the GIMP can use this ? I'm currently trying Linux in vmware, which doesn't seem to support the X Render extension.
AA Fonts in the GIMP look OK, but there doesn't seem to be a way of using LCD mode - so I guess GIMP is currently doing it's own AA ?
It's about time! I have gdkxft working to give me anit-aliased menus and icons in GTK apps, and it makes a huge difference. Unfortunately the text that is rendered by Mozilla (actually I'm using Galeon) isn't AA-ed, and I wish it was!!! That's probably why I use Opera as much as possible.
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.)
Honestly, it isn't hard to throw in a parenthetical one-liner that says something like "Boffo is a program to build spreadsheet databses of the contents of zip files", or whatever is appropriate.
It should take a few hours only to fix this one
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.
Since I don't want to give up either tabbed browsing or crash recovery, back to Opera for now.
Nope, sorry, doesn't work. As a test, I tried the no-pop-ups-on-load with this site: http://astalavista.box.sk/ The end result? Four (4) new windows in addition to the actual page. So... what am I missing? Yes, I closed Mozilla, edited the file, and restarted. What now?
Ah! I did not know that about user.js. That sounds much nicer than playing with prefs.js for all the reasons you have outlined.
Thanks!
It looks like Micro$oft patented it. Can you use it in an open source software without being processed?
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.
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.
You said, "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???"
Well, bear in mind that X started as a project in 1984, and neither IBM nor Digital had a workstation product with a bitmap display available at the time... So designing for the one-after-next technological jump would have involved a lot of precognition.
Saying that, one of the design goals of XLFD was to be extensible, and a solution similar to yours seems feasible to me at least/
Bus error in your favour. Collect 200kB
I still have XFree 3.3.6 because my Trident 3D 975 dosen't work well on XFree4 (still haven't tested 4.2 because there are no rpms for redhat 7.1), so, basically I don't have Xft, even having some true types using an old Xfree3 hack for this. In this case, this mozilla patch will not show fonts on my system right? So... this thing should never be merged on Mozilla, right? Or I am missing something?
I hacked xft support into xlib mozilla port about 4 months ago, but aa fonts are so ugly, I decided not to cleanup the patch. SO how the fuck is this news?
> that's easy: design an upgraded protocol
I think you've just summed up the situation. It's generally not so easy - so many things depend on X to work like X and interoperability with different versions of X (Free86 v3.x, v4.x, Sun's stuff, etc), it's basically asking for the world's biggest headache ever.
Dude! This is beautiful!! Using prefs.js it didn't work, but now, in user.js it works like a charm! Sweet! No more windows popping up like crazy? Now I can tell everyone why Mozilla rocks! :)
Thanks a lot.
I agree. Recently I was tempted to buy Opera for Linux but now Mozilla just rocks (tabbed browsing, no popups, etc). The other thing that made me stick with Mozilla is that the IMAP mail client also works extremely well.
Only downsides with Mozilla that I see are:
1) javascript is dead slow
2) java on some sites doesn't like to work with the java plugin or is damn slow (bad dom in browser? or bad java vm?)
3) can't delete IMAP folders in mail client (remove them from view)
4) newsgroups aren't sorted alphabetically (I bet some mozilla jack ass thinks this is the "right way to do things" just like not having a home button on the main menu is the "right thing to do").
But anyway, I can't overlook those downsides because I suspect most of them will be fixed soon...
Javascript slow? Really? Can't tell, I haven't noticed. And I don't use IMAP.
But... I can tell you what *really* annoys me: the newsgroup server I use requires authentication. Mozilla doesn't have options for user/pass in server properties. The thing is, it's push authentication - the client has to send info, server never asks for it. If client doesn't present credentials, server doesn't show you any groups! It's as good as a useless server. The bug claimed to have been fixed, but it's not! I have no clue what's wrong over there, other than coding it up myself, which I am tempted to attempt, but it's a LOT of code to understand.
Why this is annoying is simply because Outlook Express handles it just fine. I'm guessing there are other newsreaders which would be fine, maybe even Evolution et al, I was just hoping Mozilla would do it all for me -- I don't feel like installing the whole Ximian desktop and I can't seem to connect to ftp.ximian.com to try to steal individual packages...
Hrm... You're right about javascript. I don't know what I was thinking - it is fast enough for me at every site I use. Maybe I was reading performance comparisions between IE 6.0 javascript and Mozilla. I don't know why I even mentioned it though because it hasn't affected me personally.
:).
Argh... The "space in textarea" buggy behavoir is annoying! If you are at the end of the line and you enter a space Mozilla doesn't want to go down to the next line. So you enter another space and then another then backspace, yadda yadda. I'm used to it now but it is annoying. Now to find the bug in bugzilla and vote for it