Older blog entries for freetype (starting at number 12)

Life

These last months have been incredibly intensive. Lucie got her first surgical operation to repair her palate. It's been a bit hard but everything's well now. The next one is scheduled in 6 months. Apart from that, she's a really cute baby, and we love the way she smiles in the morning when waking up :-)

Moved

We finally left Paris, to move to my grand-parents house in the country. Preparation has been tedious, so was moving and installation, but we're happy at last. I need vacations though, and an ISDN line too :-)

Fonts

Didn't have the time to do anything on FreeType or anything else. I'd like to answer mslicker's latest rant by saying that font anti-aliasing has nothing to do with usability or legibility, since it's purely an aesthetics and technical question. Consider that:

  • anti-aliased fonts look cool. that's why games have been using them years before our desktops could support them, even though these were hand-drawn by artists

  • properly designed bitmaps are nice, but they are simply unable to scale gracefully, hence the advent of scalable fonts.

  • scalable fonts look atrocious in monochrome mode without adjustments, hence the invention of font "hinting" and "grid-fitting". A small number of high-quality TrueType fonts produce results that are similar to hand-tuned bitmaps at small character pixel sizes, but they require a lot of work from font designers. Apart from these, most scalable fonts still look "ugly" in monochrome mode.

  • Most of these ugly fonts look better when anti-aliased. Moreover, it's easier to get correct to good results when automatically hinting fonts for anti-aliased rather than monochrome output.

  • certain things like device-independent display are fairly better supported when using anti-aliased rendering, especially when disabling hinting.

Note that for some reason (aesthetics), people tend to have very strong opinions regarding fonts, be it from pundits, Slashdot readers or ordinary users.

Life

Lucie turned 2 months and she's beginning to be real fine at last. March has been real hell, but we could remove her gastric tube last week. Seeing her drinking from the bottle like any normal baby is a great joy. And she started sleeping whole nights, which makes our life much more enjoyable :-)

Work

Oh joy, my rusty Ultra-5 has been replaced by a shiny new Linux PC. Everything feels much faster, the keyboard doesn't suck, NFS is twice more responsive, the shell utilities are not broken (e.g. "patch" and "diff"), and I could get rid of CDE for Gnome 2 (which cannot be used on Solaris without installing system-level patches). This makes a real difference.

I have also discovered Synergy, a very cool little program to share a keyboard and mouse between two computers, independent of their OS. I'm really impressed by it, its automatic cut-and-paste management already saved me many hours, and it allows me to use my mouse wheel on both machines, even if one of them only has a "normal" mouse. If you're using several machines on the same desk, you should really consider this. And it's GPL !

Life

I'm glad to announce that Mounira and I are the happy parents of a little angel called Lucie, since February the 26nd 2003 :-) She suffers from a small medical condition that prevented here from correctly breathing when she came; she was thus transfered in emergency to another hospital about 20 minutes following her birth, which was quite a shock to us. She's still in intensive care as I write now, but going much better now, and we're confident that we'll get her home at the end of next week.

Her breathing is now completely normal, in all positions, and we've been confirmed that she didn't lack oxygen at birth. Lucie cannot eat normally though, her tongue being a bit too small/backwards, so she only drinks about half of its milk bottles, the rest is given through a gastric tube and a pump. That was impressive the first time, but we're getting used to the idea right now. And we're still experimenting with custom feeders (pluckers ?). Very hopefully, her syndrome will completely disappear when shell' be one or two years old; she'll then be a perfectly normal baby, though will require a lot of extra care from us until then.

While this latest month has been very hard for us, we had the opportunity to reconsider a lot of our life choices, like the place/city we live in, our work and our hobbies. I still don't know if I'll have much time for open-source in the coming years...

FreeType

I have already announced to the FreeType mailing lists that it may be a good idea to find a new commited guru for the project, since "retirement" is a serious option for me right now. In the meantime, I'm trying to get 2.1.4 released as soon as possible, but small annoying bugs kept appearing lately :-). Hopefully, it's now a matter of days, if not hours. Should be a nice release in terms of features and rendering quality too.

X11/XFree86

I hadn't seen it coming, which isn't very surprising since I don't follow development of XFree86/Gnome/KDE very closely anyway. I really don't know what will come out of this, but here are a few random comments on the X11 and XFree86 situation:

  • Is X11 slow ?

    When it comes to bare rendering performance, that's certainly not true. However, my opinion is that when most users say that they feel that X11 apps are "slow", they really mean that the apps are a little bit too unresponsive for their taste, i.e. that they take too long to react to a single button click, or drag a window. We're speaking of latencies in the order of 1/10th of a second. That may seem short, but users are very sensitive to this, ask any Mac developper :-) I have no definitive answer on the subject, but I get the feeling that some of the design of X11 is here to blame: specifically, the fact that the window manager runs as an independent process makes several trivial operations a lot longer than necessary. For more details, I recommend reading Why X Is Not Our Ideal Window System. Notice that this document is 13 years old, but that few problems seem to have been even touched !.

  • Is X11 too old ?

    Maybe, maybe not, it really depends on what you want to do. As a matter of fact, all recent development on Gnome and KDE seem to focus on non-standard features of XFree86 that are not part of X11 itself, i.e. fontconfig, Xft1/2, Xr, RandR, etc... Apart from that X11's rendering model is very dated (logical operations like AND/XOR/OR on pixel values aren't exactly useful today, the client must handle many or all possible visuals which is just a royal pain in the ass), the font model is one of the most stupid engineering thing I've seen in my programming life (and I'm not even thinking about XLFD :-) I guess that if all you need is Xterm and Emacs, it doesn't sound so bad...

  • Is X11 bloated ?

    The core X11 protocol is relatively lean and mean, but a lot of things have been implemented either as extensions, or on top of it like ICCC (the specification that states how applications should interact with each other, like clipboard management).

    Optional extensions are a pain for developers, they require you to double some of your code, which requires double testing, double code paths, and double potential sources of subtle bugs in an asynchronous environment; this is however not the rule, since some extension writers have been intelligent enough to provide client-side libraries that perform this automatically in an intelligent way (think Xft2 which works with or without the RENDER extension on the server, which allows you to run your apps with anti-aliased text on stock Sun machines, even if slowly). I would thus not directly blame X11 for these "problems". However, a lot of these extensions should go and have nothing to do on a typical build of XFree86 on my Linux machine.

    The ICCC is a mess, but very fortunately most of it can be ignored by applications, or simply abstracted. I wouldn't be surprised if advances performed by Free Desktop would make it irrelevant in a relatively near future.

  • Can DirectFB/Snap/Whatever replace X11 ?

    They're different things. DirectFB, Snap, GGI and many other things are really APIs to access the graphics hardware on a given machine through a unified API that is rich enough to enable advanced features like alpha composition, or video overlay; some of them even support hardware double and triplle buffering, as well as VSYNC synchronisation !. You can perfectly build a conformant (i.e. network-enabled) X11 server on top of them (e.g. XDirectFB), just like you can build a X11 server on top of the Win32 GDI or many other graphics APIs. Even extensions like RENDER and RandR can be implemented as long as the protocol is sufficiently clear.

    What's at stake here is to determine who controls the graphics hardware on a Unix workstation. The current state of the art for Linux and FreeBSD is that XFree86 controls anything, all other projects be damned. That has been understandable for some time, since X11 was the only "real" graphics interface for Unix for a long time. However, many people are seeing its limitations and can't stand them anymore, they're thus willing to experiment with different schemes to get the best possible performance for the kind of uses they envision.

    One good, but too unheard, example would be the still unfinished E17 whose Canvas can speak directly to OpenGL, literally smoking X11 in all tests while providing smooth alpha blending at all levels.

    There are very little reasons why XFree86 couldn't run well on top of a good accelerated graphics API which would allow to share the hardware with other applications and graphics system. Apple just did it with their own blend of XFree86 that runs on top of Quartz, this even allows you to "genie" X11 windows, since everything is stored in an OpenGL surface anyway. And why can't I run games in full-screen on most Linux installations I've tried ?

    Of course, this would go against the control-freak nature of the XFree86 core team which seems to believe that you must control the hardware to make a good X11 server.

I really wonder who's gonna control the hardware on my machines in the coming years. How well, this is long, maybe I should have started an article :-)

Life

Mounira and I are expecting a baby for March. It's a girl and we're very happy. On the other hand, all of our time is now dedicated to preparing everything for its coming, which includes moving about everything in our two-room appartment, and getting rid of anything we find "superflous", like my computer books, my large desk, my tower computer, my 18" LCD screen (aaargh), lots of furniture, etc...

I didn't restrained myself, which is probably why I did catch a very serious cold. I now need to stay home for a few days according to the doctor.. which, on the other hand, gives me an opportunity to write this diary entry :-)

FreeType

I've also performed a bit of coding, and just put FreeType 2.1.4-RC1 on SourceForge. It includes some significant improvements to both the automatic and Postscript hinters, thanks to David Chester and others. I advise you to install and test it on your system, you'll probably appreciate the improvements :-)

Fonts

I had not the pleasure to see the Bitstream Vera fonts yet, except the official screenshot. I wonder however in which format they'll be distributed, since this hasn't been announced publicly.

MacOS X

I've been playing with MacOS X and Jaguar on my brother's computer who uses it to make movies. My first impression are that everything seems a lot more polished than MacOS 9 (which I haven't used in a long time, I admit). Meanwhile:

  • OpenGL doing all the transparent blitting is cool, since you can seamlessly translate windows on the desktop. on the other hand, operations like resizing, which involves recomputing the whole window content are significantly slow (even GTK2 with double buffering seemed faster on my old 233 MHz laptop)

  • Any kind of serifed font seems fuzzy. The sans-serif ones are nice however, as long as you don't choose a character size that is "too small" (< 13 pt). My brother's computer is connect to two screens: one high-end 19", and a low-grade 15". The fonts look completely fucked up in the "small" screen, and are very hard to read. This is just to point how important screen quality is when judging the aesthetics of anti-aliased text (monochrome doesn't have this problem). And yes, we tried to adjust gamma.

  • Microsoft Word is very problematic when it comes to fonts: if forces TrueType hinting on all the fonts it uses, while preserving anti-aliasing even at small character sizes. The result is pretty poor quality, as well as inconsistent rendering when compared to other applications (the same font can have a very different aspect when hinting is enabled). Fortunately, this means that TrueType hinting is mostly becoming irrelevant for high-quality display (moreover, you can still embed bitmaps when you really need them). Unfortunately, I do not remember which version it was, maybe the "problem" has been fixed in more recent ones. Or maybe there is an option to disable this optimisation (though I'd doubt it).

Thanks

Finally, a big thank you to the person who answered my problem with the NVidia logo appearing each time I started the X11 Server on my laptop. I'm sorry for not remembering your name, and I don't know how to search back the logs on Advogato.

Meanwhile, I've played with all the options described in the insanely huge README. The hardware-accelerated support for the Render extension seems cools but I didn't notice a big difference in terms of application responsiveness (I suspect this is due to X11's brean-dead three-tiered design regarding window management), and it also seems to routinely hang the server (and hence the machine since I have no means to access it from an external terminal).

I didn't have the time to do anything useful in OSS land recently. For various reasons that I won't explain here, I've been unable to use my home computers for several weeks. But I just received my shiny new Inspiron 8200 from Dell, and boy, what a change this makes !

The Good

  • The UXGA ASV screen is absolutely fabulous. For us, mere mortals, this means a resolution of 1600x1400, 15" diagonal, and, much more importantly, some refined characteristics (in terms of contrast & color fidelity, refresh-rate, etc...). Playing movies is cool with this, unlike most LCD screens I've used before. This screen is currently €300 extra from a regular Inspiron, but it's probably worth it if you're fond of that kind of details.

  • Very surprisingly, the keyboard feels extremely good too on this machine. A few Dell users I know told me their keyboard was "bulky" and made of cheap plastic. That certainly is true, but for some reason, my fingers literally fly on this beast !!. I nearly type as fast as on a regular keyboard with it.

  • I had no problem installing RedHat 8.0 from scratch on the machine, except that XFree86 wasn't able to use the 1600x1400 resolution correctly in VESA mode. However, downloading the proprietary drivers from NVidia's site solved the problem. I'll soon replace it with Debian 3.0 however, and I don't know if things will be as easy..

The Bad

  • Well, the NVidia XFree86 driver is nice and all, but it splashes a huge company logo each time the server is started. Very frankly, that's damn annoying, and I'll try to see if there is some way to remove it.

  • There's a big fan within this beast, which I suppose is used to remove the heat generated from the processor. This is very surprising at first, because the fan starts and stops randomly. It takes some time to get used to the noise, though it's not too bothering. Compared to that, my old laptop was a dead brick, though I suppose that all Intel-class laptops share this "feature" now :-)

  • Generally speaking, the whole laptop seems very polished but fragile. Many parts seem to be made of thin plastic that won't resist much to pressure and not-so-exceptional conditions. The DVD drive seems to be crying "break me" when you open it, for example. No wonder that Dell sells Latitudes with approximately the same configuration but stronger casing for €1000 more :-)

    Very fortunately, I'm not a road warrior, and I'm pretty careful at handling laptops (/me crossing fingers).

The Ugly

  • nothing particularly distateful on the laptop itself. But UPS, which seems to have an exclusive distribution agreement with Dell in Europe did screw up things by large. I'm not going to detail it, but they've been clearly incompetent and refused to admit it on the phone despite numerous calls (e.g. claiming that my correct address wasn't valid for example !!). End result: five additional days for delivery, and numerous frustating phone calls/faxes with UPS and Dell representatives.

Conclusion

    This laptop is very good, but I wouldn't have bought it if it wasn't for the screen. If you're sensitive to this kind of details, go for it. Otherwise, you'd probably better consider some better alternative, i.e. some made with better plastic, or with a well supported video card :-)

OK, now back to hacking the stuff I like :-)

Beware, this is a huge entry !!

Work

It can be said: I've quitted the freelance consulting business for a new position as "expert software architect" for a relatively large embedded systems company.

My main motivation for the change was me getting tired of working on my own. Of all the contracts I've done these last three years, nearly all of them were performed entirely in my Paris office alone, mainly for US companies whose representatives I've nearly never met in person (aren't e-mail and PDF contracts wonderful things ? :o)

Interestingly, I also did participate during this period to a startup that some of you may remember as Henzai. Technically, the project was extremely challenging; unlike what many of you probably think, it didn't consist in porting Gnome to Linux PDAs, but to design a very advanced and innovative graphics system and GUI toolkit tailored for PDA screens (and "keyboards", as limited as they can be)

But my most memorable experience was the team we formed. We, the three techies (and founders) in the company did really found a way to work extremely quickly and efficiently together. I guess that our skills simply matched each other, because we could do in a few months a lot more than I could have ever imagined. It's a kind of magic, that I hardly ever found in the various teams I had joined before (at the Unis and previous employers alike).

Of course, the fall of the "dot-com boom" stirred the end of the company, and we had to separate for distinct working lives after that. I quickly went back to my usual consulting job, but working alone wasn't very pleasant after this experience. Moreover, the "freeze" also meant that my choice of contracts was becoming a lot shorter and a lot more boring...

Hence, it was just a matter of months before I decided to look for a new job. Very fortunately, I had secured sufficient amounts of cash in the bank, as well as very small developments contracts to be able to very carefully select and negociate employement proposals during several months...

Very funnily, two distinct companies proposed me consulting contracts at the same time, while I was reaching a final agreement with my (now) current employer. These two proposals were both very interesting (since they allowed me to perform paid work on FreeType itself, among other things), but required that I continue working on my own as usual (or maybe move to a different country !!)

Believe me, my final choice has been very difficult to make. I ultimately decided that I needed to change my work environment though; obviously, I was missing the coffee- room smalltalk !

I've just started this month at my new position, and I must say that I'm extremely happy to have lots of new colleagues to talk to. It's extremely refreshing, even though I know that the novelty will finish to wear off some day :-)

Mounira

Just to say that I couldn't have done all the things I've been through these last three years without the smiles and consent of my wife Mounira. Merci !! J'ai vraiment beaucoup de chance de t'avoir !!

FreeType

There are chances that my new employer(s) might be interested in integrating FreeType into their own products, and this could be fun. However, they already have their own working solution to their problem, and it works pretty well even though it has its own limitations.

I don't think I'll try to force or convince them about it, replacing a font engine with another one that exposes a different API can be a very delicate thing to do in certain systems. One important thing is the fact that upper layers of the system might depend on un-specified bugs or "features" that cannot be easily reproduced with the new code.

However, FT could make it in later major versions of their software, where more drastic internal changes are possible. Something tells me that this won't happen too soon though.

In all cases, I continue to work on the engine on my free time. I have written a lot of new code, but most of it breaks the build since the internal re-design isn't completely finish. Seems that a few weeks will be needed to round the corners :-)

Open Source

mathieu: thanks for you praise, but I'm certainly not as smart as you believe :-) To prove my point, I'll tell you that there is a subtle bug in one of the code snippets that invalidates some of the conclusions. (finding which one is left as an exercise to the reader)

Hey, that's just a draft after all ;-)

On the other hand, I have found some interesting relationships between garbage collection and cleanup stack management, as well as a method that could drastically reduce the number of push/pop pairs required to allocate memory safely when coding in an object-oriented way (and still with minimal interference with typical programmer's habits). This also means that the "invalidated" conclusion would still remain true (and be actually stronger)

Unfortunately, detailing all of this would take me at least four additional pages to the document, and I don't have the time to do that right now (don't ask me how I find the one required to write this mammoth diary entry :-)

On the other hand, you might be interested to know that I'm currently modifying the FreeType 2 internals to use CSEH. I'm doing this for at least two good reasons:

- it's easier than rewriting the library from scratch to use the MLib

- it's also easier because it doesn't need to deal with multi-threading (FT2 isn't thread-safe, and for very good reasons)

- it will provide me some real metrics regarding the code size savings and performance one would expect by using this technique instead of the usual "paranoid scheme" that is implemented in the 2.0.x family.

- these metrics will become part of the final CSEH document :-)

I'l probably post something here when this change is over..

Finally, I still live in Paris, so we could certainly meet there if you happen to come by. Contact me personally at my FreeType address if you want to. As you know, we also have one French friend in common that could be part of the meeting too :-)

FreeType

Well, well, I'm finally preparing a new release for FreeType !! Version 2.0.6 should be available next week, and will contain many important bug fixes and improvements to the font drivers. Since this results in noticeably better anti-aliased fonts in KDE and Gnome, don't hesitate to grab the latest CVS snapshot and install it on your machine to report any kind of problems before the official release.. ;-)

Since the library is becoming more and more central to Unix systems, I'm considering adopting a versioning scheme similar to the Linux kernel, where odd minor version numbers are used for "unstable" branches, and even ones for "stable" ones..

Let's plan a few things, ideally:

  • 2.1.0 will be an "unstable" re-work of the internal design in order to increase consistency and simplify module management and interfacing.. (as well as get rid of just too many hacks within the current sources :o)

  • 2.1.1 will provide a few new important features (sub-pixel filtering, customizable gamma correction, maybe even syntethic emboldening, etc..)

  • 2.1.2 will be a severe rework of the auto and postscript hinters to reach new levels of quality (especially in the monochrome cases).. well, actually, I don't know if I'll have the time to work on these really soon ;-)

  • 2.2 will be the next stable release everyone should upgrade to when it's available :-)


Linux

I finally ditched both RedHat and Mandrake in favor of Debian, and am only now realizing that I'm not going to regret it !!. I strictly don't know why, but KDE 2.2.1 is immensely more responsive on my laptop under the latter than these two other distributions. Even Gnome feels a lot faster too !! I don't know how this is possible, but I'd like to express my gratitude towards the unsung heroes who spend their time maintaing Debian as carefully as they do. APT / DSelect are beautiful once you learn how to use them..

Hell, even the man pages are more maintained and informative than in other distributions I've used. Talk about attention to details !! Great job Debianers !!


Work

I'm getting out of the freelance consulting business !! My main motivation being to take a break from the delays and uncertainty this kind of job requires. These are of course normally compensated by a good pay, but the projects I'm currently getting involved in are so drastically un-interesting that I found a few pay-roll proposals interesting..

I'm thus now officially looking for a job, and I'm sure this will be fun, once the Xmas holidays pass. In the meantime, I'm spending my time moving my furniture from my ex-office, buying all sorts of presents for my family (probably the first year where I didn't buy everything in the last 72 hours before Santa arrives ;-)

And of course, hacking quite a bit. I still don't know if my next job will leave me enough time for doing lots of open-source, but I certainly won't miss this little window of opportunity to work on my pet projects !!


Life

I've been visiting many hospitals lately, since four people in my family recently suffered from various health disorder. Gloomy..

One of my uncle has lung cancer though that's something I would have never imagined: he never smoked in his whole life and has been practicing sport ("boxe française", sort of kick-boxing) every damn week-end of these last 40 years...

Since he went through chimiotherapy, he's constantly tired and lost a lot of muscle and weight. He also needs a cane to walk and avoids stairs since climbing them is too hard for him..

The whole family is shocked. Some christmas aren't so merry sometimes..

Fucked

For a long time, my office/work machine had the unpleasant habit of rebooting unexpectedly. I always thought that this was due to a flaky install. I thus decided last week to re-partition my disk in order to re- install Windows as well as a recent Linux distrib.. This machine is equipped with a backup hard-drive where I did save all my important data. I then re-partitioned my main drive and launched the Windows CD install. For some reason, the installation program did format the backup disk as well.

I basically lost one month of work, and I'm extremely pissed about it (I suppose I'll burn backup CDs more often now). Not only that, but I also discovered that my original Windows crashes were still there, and that Linux failed to boot sporadically, due to unexpected segmentation faults in random locations of the boot sequence..

After some heavy testing, and buying a new motherboard+CPU combo, things are back to stable. However, don't expect me to work on open-source in the following month since I have a lot to recover from :-(


Linux

I however managed to get Mandrake 8.1 installed on both my laptop and work machine (RedHat 7.2 installed but never worked correctly on both of them), and I have mixed feelings about them.

First, the latest KDE is really nice, but it is incredibly slow on a Mobile 266MHz Pentium with 160 MB ram. Launching any KDE program takes several seconds, and everything feels rather unresponsive, especially in the user interface.. Gnome feels a lot faster, though clearly less polished. I haven't tried installing Ximian yet but I've heard good things about it.. Nautilus is a dog (much worse than Konq) and I fail to see any interest int it for me.. I'd never put my mother in front of it, she's going to scream :o)

On the other hand, on the office machine (700 MHz Duron, 256 MB), things are, unsurprisingly, much more responsive..


Fonts

Of course, I couldn't resist testing fonts ! My experience has been rather unpleasant however:


  • Quality

    Many people have complained about the quality (or lack of) of fonts under XFree86. The standard disclaimer regarding this problem is to "use better fonts". Actually, I want to make it clear that fonts are not the culprits here, font engines are, and a modern XFree86 server will use no less than 3 distinct ones to render glyphs !!

    The problem lies in the fact that the renderers used for Type 1 fonts (which are T1Lib used in the X Font server, and FreeType 2 from "libXft") both produce low-to-medium quality glyphs for now.

    Fortunately, I'm enhancing the FT2 Postscript hinter, though it still needs some tweaks to work properly with all fonts.. and I'm out of free time :-( :-(


  • Anti-aliasing

    Nice to see anti-aliased fonts widely deployed. After all, FreeType supported this in 1997, it was about time that XFree86 could support them :-) More seriously, the legibility of anti-aliased fonts vary greatly with the type of screen your using (LCD or CRT) as well as the resolution you're using. I've tried to play with gamma correction by making small modifications in the FreeType sources and it seems that it's difficult to get one solution that works on any kind of display. This means I'll need to add some sort of gamma/alpha lookup support in the anti-aliased renderer, which shouldn't be especially hard (finding good tables is a different topic :-)

    I'm very impressed by Keith Packard's work on LCD-optimised rendering. On my LCD display, I virtually see _no_ color fringes at all (I do with Adobe's CoolType and even MS Reader) and it _definitely_ improves the legibility of text. I need to find time to review the ClearType patents to see if his code conflicts with them. If not, I'm looking forward to add this kind of feature to the core FreeType renderer to let other projects like GtkFB benefit from it..

  • Listing fonts :

    As always, font listing is sadly highly inconsistent. First, KDE and Gnome will not return the same list of installed fonts in their respective font dialogs. Second, enabling anti-aliased fonts in KDE (which uses libXft) completely changes the list of installed fonts (since it uses a completely different configuration file than the X font server). Third, many applications provide font dialogs but fail to properly filter mono-width ones (for example, "fixed" is the only available font in the Konsole font dialog on my machine, even though Courier, Andale, Lucida Console, etc.. are installed)

    Finally, all font dialogs seem to request or provide 'X11 encoding' fields. Isn't it time to drop this aberration from our toolkits (I mean GTK and Qt ??) and hide this from users.. ?? Windows does it pretty well even though it supports (more abstract) encodings too..


  • Installation

    Installing new fonts is still very arcane apparently. Even when using helper tools like DrakFont, it seems that the font name aliasing scheme fools everything. For example, even if I installed "Verdana", I always get its alias during display when I select it in any font dialog.. It seems that installing several versions of the same font typeface will produce unexpected results too.. though I need to dig the issue more deeply.


Excuse me if I seem to rant a lot here, but I'm clearly not satisfied with Unix's font capabilities (if not to say about rendering and printing). I do believe that a unified font & type service is really needed in order to support advanced capabilities like font embedding as well as simplify system-wide and user font management.

I believe that our current infrastructure (including libXft) is just too limited and needs some serious effort. I'd love to work on this topic and have even started designing a few things, but I lack any kind of free time for the moment to do that satisfyingly.. sick.. :-(

Bah.. this has been a long diary entry.. I probably won't post here before one week or two..

It's been a long time since I didn't post there :-)



computers

my laptop's hard disk started to act really badly recently (strange noises, unreliable CD burning and even lockups on file accesses). After making all the usual checks for viruses, bad sectors, etc.. I came to the conclusion that it was dying and nothing could be done about it. I finally replaced it with a new 20 Gb TravelStar, re-installed Windows and copied my data here (backups _are_ wonderful !!)

The first thing I can say is that the computer seems a lot zippier now. Booting is now twice faster and even compiling large projects takes less time, even though it's still a lowly 266 MHz Pentium :o) !!

The second thing is that I have now plenty of space on this machine to install the latest Linux distribution. I'm using the XOSL BootLoader to manage partitions, and I highly recommend it to anyone needing to manage several OSes on their machine. By comparison, Lilo, Grub and the NT Boot Loader look like nerdish toys when it comes to select OS booting.

I'm looking forward to install the latest versions of Debian and Mandrake. My experience with Linux distributions in the past has been less than rosy. It seems I have a gift for breaking Linux installs with a few keystrokes :-)



fonts

I've made some interesting progress on FreeType lately. Mainly, I have added native Type 1 hinting support and improved the auto-hinter. Results are quite surprising because some of the free Postscript fonts have really bad hints (the Nimbus ones for example), and the auto-hinter now performs better with some of them.

It still has some problems with certain composite (i.e. accented characters) as well as serifed fonts, though I'm pretty satisfied with it. There is still a lot of work to do anyway, since I've not tested it with that many fonts for now, and because some issues, like high-quality rendering of diagonals, cannot be solved without taking extreme measures (e.g. re-writing a specific monochrome rasterizer :)

I'm looking forward to use anti-aliased fonts on Linux on a daily basis, either through KDE or Gnome. According to the " eating your own dogfood" principle, this will help find nasty rendering bugs tremendously :-)

The first "FreeType meeting" was organized this week-end in Aachen (Germany), and it has been really fun & interesting. One of my greatest pleasures was to finally meet Werner Lemberg (whom I've been working with for nearly 4 years now) and Just Van Rossum (though I only realized one hour before he left who he and his friend Eric really were). There was also Robert and Thorsten.

We discussed lots of topics: font formats, font editors, OpenType/GX, advanced typography, etc..

Thorsten made an impressive demo of some new font technology/format that his company developped, and is unable to really sell given the lack of adequate support in current systems (Windows/Mac/Unix/etc..).

We claimed that by developing a FT2 module, they could be able to target embedded system integrators, who would more than likely welcome such technology. After all, the system has been designed to allow the inclusion of proprietary font drivers as well.

We also talked a lot about the future of FreeType, and more specifically an upcoming engine that will be used to layout international text and perform advanced typographic effects. I think we have found some pretty ideas to really separate the "C coding work" from the really "typographic/language work". If succesful, this should allow the work to be distributed among a lot more people and to use Python instead of C whenever possible..

And also some talks regarding a few of my own top-secret projects :-)

I missed my train back to Paris (I hadn't run so fast for a long time, that really aches :-), had to find an hotel room (it was noisy as hell) before returning on Sunday.. Spend some time with my family then..

All in all, it has been fun, and turned to be a _lot_ more intersting than I initially expected. We should definitively invite more people the next time (i.e. Antoine, Peak, and other important contributors that are in Europe too)

For now, I'm packing up the last bits of the last FreeType 2 beta release (you know, the one that was promised "real soon now" in my last diary entry. Actually, the auto-hinting module has been available for more than a week now, but we're still updating some docs and the build system which now runs as intended on Unix)

If I'm lucky, the tarballs will be announced tonight.. I'm crossing my fingers..

3 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!