QT 2.3, With Anti-Aliased Fonts
Hazzl noted the announcement that the New version of QT is out. While normally a release of a GUI toolkit isn't that big of a deal, but this release is significant since it is the first Open Source toolkit to make a non-beta release with X-Render support for Anti-Aliased Fonts. Congrats to all the Developers involved.
I had AA fonts working for a while with KDE 2.0 and X4.0.2. Worked great when my card's DRI module was loaded, but without the hardware acceleration it was super slow.
I eventually reverted to my standard setup, cause all the different alpha/beta/gamma/dela libraries and such were causing my machine to freak out. I'll try it again when its stable.
On a related note, I upgraded to KDE 2.1 yesterday, and got-DAMN does it whoop ass. Faster, more polished, more solid, better looking, and has lots of cool new gizmos to play with. Konqueror has made great strides. It's on par with Internet Explorer 4.x right now, and if it keeps up the momentum, will catch up to IE 5.5 in no time. No need to complain any longer about Linux not having a world class browser. It's here now, or at least very, very close. Kmail 1.2 is also a really nice email client.
Can't wait to see the final GNOME 1.4. I keep waffling between the two environments. It's nice to see both of them progressing so well.
That was a long-ass, train-of-consciousness ramble, for which I make no apologies.
--
If you print screenshots, what do you expect? And who would print screenshots full of text to get a readable hardcopy of that text anyway?
Why don't you just choose the 'Print' option from the application, rather than capturing the screen and then printing it? That way you'll get output correctly formatted for the device you're writing to (e.g. the printer).
1. Get X 4.0.2 source or the snapshot. 4.0.2 has the rendering extention necessary for AA'ed and RGB decimated fonts. Also get all the other software - KDE 2.1, Qt 2.3.0, etc. You get the picture. Also, you MUST get Freetype 2.0 source!
2. Build Freetype2. There's a little hack you must do here on some systems for X to compile properly. In your /usr/local/include/freetype2 directory (which is the default location for Ft2's headers), symlink ft2build.h to freetype/config/ft2build.h. This many not be necessary on all systems... it was for me. Minor problem.
3. THIS IS THE MOST IMPORTANT (HARD) PART! X configures itself rather stupidly in most cases as far as we have seen. hosts.def overrides all these annoying settings and lets you tweak precisely for your needs... so, let's make sure it does it right. Create a new config/cf/hosts.def file in your XFree86 source directory (commonly /usr/src/xc) - note that commented out items are detected at compile time specifically for your platform:
#define DebuggableLibraries NO
/*#define SharedLibGlu NO*/
/*#define NormalLibGlu NO*/
/*#define FSUseSyslog YES */
/*#define HasKatmaiSupport NO */
/* Tweak for your system or remove altogether.*/ /* this appears to be broken */
/*#define BuildDebug NO */
/*#define BuildXF86DRI NO*/
/*#define BuildXF86DRIDriverSupport NO*/ /* this seems to be broken too */
/* Use this if we're going to use external Freetype2 libs instead..*/ /usr/local
#define SharedLibXdmGreet YES
#define LinkGLToUsrInclude YES
#define LinkGLToUsrLib YES
#define SharedLibFont YES
#define SharedLibXft YES
#define SharedLibXrender YES
#define HasZlib YES
#define HasAgpGart YES
#define HasMMXSupport YES
#define Has3DNowSupport YES
#define BuildGLULibrary YES
#define BuildXF86DRM YES
#define DefaultGcc2i386Opt -O2 -fno-strength-reduce -mpentiumpro
#define JoystickSupport NO
#define XF86XAA YES
#define BuildFontServer YES
#define BuildFreeType YES
#define BuildXTrueType YES
#define BuildGlxExt YES
# define BuildRender YES
# define BuildGLXLibrary YES
# define BuildXvLibrary YES
# define BuildXF86DGALibrary YES
# define BuildXF86DGA YES
# define BuildXvExt YES
# define UsbMouseSupport NO
#define Freetype2Dir
4. Build X using a make World and make install (you can make logs of course if you want). You may have some problems... they're usually pretty easy to iron out - and I won't go into how here. Make sure you back up your existing X11 binary tree.
5. Configure X... do the whole thing. Try starting X with the bare basics. (Duh-step. :-)
6. If X is working, download this file...
...and extract it in /usr/X11R6/lib/X11/fonts
http://keithp.com/~keithp/fonts/truetype.tar.gz
7. Download this file...
...edit it and copy it to /usr/X11R6/lib/X11
http://keithp.com/~keithp/fonts/XftConfig
8. Start X again... this time, try to open an Xterm with the command:
xterm -fa courier
If the font is AA'ed... then BINGO! It works!
9. If you succeeded at 8, build Qt 2.3.0 and KDE 2.1 as you normally would. Read the docs. And there you go! Have fun! AA'ed fonts. :-)
...will it support dead keys (accented characters, where you first press the accent, then the letter)? So far, this has been on and off for a while. 2.2.2 botched it, 2.2.3 fixed it, 2.2.4 botched it again... Somewhat hard to type French text, if the accents don't work properly.
Mature products are somewhat better, but not dramatically so than their predecessors. IE 5 is perhaps better than 4, but not so dramatically better than 4 was than 3. MS will have a hell of a time making sure IE 6 isn't worse than 5.5.
The impressive thing about KDE an Gnome is how dramatically and rapidly better they are getting. This suggests that they haven't neared anything like a plateau, and that the commercial GUI vendors may find themselves lapped in the next eighteen months. It's easy to criticize these desktops since they are evolving in the open and all their early awkwardness is exposed for all to see.
Already they are at or near the magic boiling point of usability for most people. If you are much better than your predecessor but not good enough you're still not good enough. But good enough and rapidly getting better is a different story.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I used a beta of Qt for a while with KDE 2.1 and while the anti-aliasing looks very good it seems to create more eyestrain than the anti-aliasing in Windows (2000 at the moment). Too much of a good thing...
Yes, Gnome is nice, but did you know that there are KDE bindings for C++, java, python and perl? Python is also the common scripting language built into most major apps. If you want to, you can even access all exposed internal functions in KDE apps at the command line (via dcop), allowing things like bash scripting of GUI programs.
I'm not saying Gnome is bad at all -- but since you're saying "First time I started using C++, I thought what a hideous hack!", I figured you might be under the assumption that you have to use C++ to develop KDE apps. Yes, KDE itself is written in C++, but its apps are open to several languages.
In fact, KDevelop also has templates and good support for building Gnome and commandline apps. So you can even use KDE while developing Gnome apps, if you'd like.
--
Evan
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
It is just as good everywhere - provided you don't forget to compile in Unicode support on Windows (otherwise you won't be able to cut and past Unicode text between Qt and other Windows applications). I've written a large application with Python and Qt that depends extensively on Unicode support: http://www.xs4all.nl/~bsarempt/linguistics, and I was very glad to see that my app worked equally well on Windows as on Linux.
I think I see the problem. (Er, no pun intended.)
:)
On my desk as I type this, I have a laptop with a nice, crisp (but jaggy) non-anti-aliased display, and another machine running an older version of Linux and X displayed on a cheap 14" monitor that achieves anti-aliasing but the simple method of having a slightly out-of-focus display. (Dang cheap magnet coils, or something). I can read either at length without bother.
However, when I look at a screen shot of an antialiased display on this nice crisp LCD, it bugs me. I think the problem is that because the rest of the screen has sharp lines and text, my eyes keep trying to bring the AA'd text into focus -- obviously without success. On the CRT, however, the whole screen is "soft focus" so my eyes just give up and go with the flow.
Shrug. As long as it's something I can turn off (by font, perhaps?), I like the idea. Maybe its just that my eyes burned out long ago reading dot-matrix printouts and 80x25 character dumb terminal screens. They expect anything on a monitor to be jaggy
-- Alastair
Without anti-aliasing, arabic letters look very bad...
Anas
--
Actually, the Gnome codebase is quite well maintained. It's not perfect, but we're working on it. Perhaps you could list specific hard-core facts, rather than making assertions with no basis. If you do have a basis for saying that Gnome will collapse under its own weight in a few months, I'd love to hear it. As someone who has spent significant time looking at the Gnome framework, and being both a C and C++ developer, I can attest to the flexibility of the core C-based architecture with powerful bindings for languages of all sorts--C++, java, python, perl, etc. The Gnome framework, IMHO, is extremely powerful, flexible, and getting even better all the time. Now of course, if you're not used to something you may find it confusing at first. :) First time I started using C++, I thought what a hideous hack! With time I've come to appreciate the advantages of both C and C++. It's great to be able to use both.
----
Celebrate the finer things in life
With anti-aliased fonts printing of screenshots is nearly impossible, because of the anti-aliasing: the printer can't re-aliase and then do it's own anti-aliasing. It anti-aliases the fonts again, therefore you can read a 1280x1024 screen with a small font (aliased or not), but you can't read the printout if aliased
It would be nice to rerender for a printout - without aliasing
Windows has this problem too.
XRender will be supported in the upcoming 0.9-7 release. Full hardware support for XRender should make it in 0.9-8. When that happens the NVidia cards will probably be the fastest and most feature rich you can get for Linux. Given, this will be for x86 only for now, but as an AMD x86 user I can't complain.
:)
This info comes from a reliable source. And since NVidia has hired this X guru, I can only conclude that they're very serious about Linux/XFree support (Think SGI).
Posted from an AA'd konqueror browser (driver "nv" for now
-adnans
"In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people." --Linus Torvalds
Read 'em and weep, Linux people. Read 'em and weep.
Interpolation is an avaraging pixel values. When e.g. a texture in a 3-d model is enlarged (or shrunk) to fit a surface, the pixel values are calculated with interpolation.
Anti-aliasing is any technique that makes edges look sharper to the human eye. Note that this applies to object edges in 3-D models every bit as much as in text.
In practice, if you use interpolation to calculate the pixel values along the representation of a line, only thoes pixels that wholly or partially contain the line will be affected. With AA, pixels that do not contain any part of the line, but are "near" the line, may be drawn in a subtly different colour to fool the eye into seeing a smoother edge.
Take a screen capture of some AA text and blow it up in the gimp so that you can see the pixels, then take a look around the text edges - it's quite enlightening.
P.s., although I could easily give formulas for interpolation (it's simple linear interpolation), I don't offhand know what the calculations for AA are - but you can look them up with Google as easily as me, so its left as an exercise for the reader.
"I can see clearly now two-three has come,
:)
I can see all the objects on the page
Gone are the dark fonts that made my head ache
Thanks to those bright, bright Trolls, hacking away"
I think EVERY release of any software should come with a song!
AirSpeak - http://itunes.com/apps/AirSpeak