[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] Reg:True Type Font display

From: Graham Asher
Subject: Re: [ft-devel] Reg:True Type Font display
Date: Thu, 25 Feb 2010 09:45:19 +0000
User-agent: Thunderbird (Windows/20090812)

Not only David. Many of us have spent large parts of our careers trying to make FreeType rasterization run faster. I made a couple of small contributions myself, to the fixed-point arithmetic and the anti-aliasing renderer. But my main solution has always been caching. In one library (CartoType) I use a two-stage cache. The first stage stores glyph outlines for a certain size. The second, main, cache stores rasterized bitmaps, bundled with their metrics into glyph objects. Outlines are cached to gain some speed when rendering the same glyph at many different rotations, which happens all the time in map labelling.

Historical note: it's now over ten years since I first implemented glyph caching for FreeType - for the Symbian OS. If anyone wants to examine the code, it has now been made open-source (under the Eclipse Public License, which is apparently more business-friendly than GPL).

Graham Asher
CartoType Ltd.

Werner LEMBERG wrote:
We have ported Free Type Font Library (freetype-2.3.11) on fixed
point DSP processor (BF533, 600 MHz) in VDSP Platform.

Basic functionality is working fine. We have got output display in
LCD monitor through HDMI connector.

But the FT_Load_Char() function is taking lot of time to execute
(around 3 ms per character).

Could you please provide your inputs for optimizing the function

Caching, caching, caching.  Especially loading a hinted TrueType glyph
needs a lot of resources.  I really doubt that there is any
possibility to make it really faster, given that David is a specialist
for exactly such things.  Note, however, that not all compilers
optimize in the same way, so you should play with your optimization
options, together with a lot of profiling.


Freetype-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]