> I have been looking into using the FreeType font > renderer Cool!
> (www.freetype.org) , and I was rather suprprised how > simple it > would be to implement our drawChars and > measureCharWidth > functions with it. > > I was initially looking at this as a means to solve > our Unix font > problems, and there is no doubt in my mind that this > is the way to > go -- not only would using FreeType completely > resolve the font > mess, but we would also get rid off the > Unicode->8-bit-locale > translation that we currently have to do at every > text-drawing and > text-measuring operation. > > As I have been examining what FreeType offers, I > came to the > conclusion that we would in fact be well advised to > use it from our > XP code, getting rid off the platform specific > measureCharWidth > and drawChars functions. There are several good > reasons for this: Is FreeType available on all our current platforms and all platforms that might be targeted in the future - I'm thinking palmtops. Maybe worth a thought. Also I'm wondering if this decision should be taken seperately from deciding whether we should use Pango at some point. Will that be a second change or should we look into the effects of both before redesigning a new API/architecture etc? > (1) We should be able to improve the WYSIWIGness of > our screen > output; on win32 in particular we currently struggle > with > cummulative truncating errors in width calculations > for which there > is no simple cure -- with FreeType we should be able > to get a > better precision. > > (2) We would be able to add font aliasing to all our > platforms. > > (3) We would be able to use proper kerning on all > platforms with > very little coding effort. This is very desirable > and at present would > be lot of work to implement (in platform code). > > (4) We would be able to use the scalable fonts > supported by > FreeType on all our platforms -- i.e., you could use > pfa/pfb fonts on > Windows, if you wanted to. FreeType supports > TrueType, > OpenType, PostScript, CID keyed fonts, and others. > > (5) Finally, and IMO most importantly, having an xp > font renderer > would greatly simplify maintanance and further > development. What > has proved to be the worst nightmare in the bidi > work, is getting > RTL text out on the screen correctly under different > OS's. For > instance, the capbilities of the various flavours of > win32 differ > widely, with no standard way of determining what > they are; inspite > of hours of work and long nights, RTL text still > does not display > correctly on some flavours of win32 when using some > fonts. We > end up with unreliable heurstics trying to convince > the system to > do what we want it to do. We will have to relive > this again and again > when someone will get to getting bidi work on Mac, > BeOS, QNX ... > With FreeType we would have a single layout engine > with single > set of bugs and equal (and excellent) capabilities > on all platforms. > > There is one drawback -- we may loose some OS > specific > capabilities. For instance some bidi-enabled win32 > can do > glyphshaping using OpenType fonts; FreeType2 at the > moment > cannot. I consider this a small price to pay. At the > moment we do > not make use of it, and will not in forseeable > future. We will want > this in the medium to long-term, but even then to do > glyphshaping > in the platform code would be a maintanance > nightmare; the > FreeType folk started a separate project on a layout > library that will > provide this functionality, so in long term there > will be an xp > solution. > > > It seems to me that the benefits of using FreeType > far outweight > any drawbacks. If we can agree on this, then > migrating to FreeType > should be one of the first things to do after the > 1.0 release. > > Tomas ===== http://linguaphile.sourceforge.net http://www.abisource.com __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com
