The Weekly Juan #10: "Cheap, High Quality Fonts in Squeak"

tim Rowledge tim at rowledge.org
Sun Apr 29 02:53:14 UTC 2007


On 28-Apr-07, at 6:33 PM, Juan Vuletich wrote:

> I agree with the kerning issue. It is one of the disadvantages I  
> talked about in my page.
>
> But, an image that already has FreeType (I guess you're talking  
> about it), what's the need for something like what I did?

As you say, it might seem like there is little point in using the  
bitmaps if one has the plugin. However, not all machines are fast  
enough to render the characters 'live'. There is certainly a useful  
libration point of functionality where the plugin is used to  
initially render character glyphs and then the cached glyph is used  
for actual rendering. The caching could be on the basis of all  
characters in a font at once, or just the characters used, or  
predictive caching based on character frequency in the relevant  
language.

An example of this approach is RISC OS, where they generated cached  
character glyphs in 1/2 sub-pixel antialised form at need as a way of  
getting very high quality screen and printer fonts as far back as  
1987. On a machine with 1Mb ram and 4mips! If this isn't a plausible  
way of getting decent fonts on more recent but non-leading-edge  
machines then I'd be very surprised.

> If you really care about kerning and other issues (like in Sophie),  
> the proper solution is modeling the fonts and rendering them. My  
> solution is for more modest needs, like a programmer that wants to  
> avoid extra complexity and is happy with nice looking code.

Indeed - and my suggestion would offer you a relatively easy way of  
improving that nice facility with a lot less manual hacking. You  
could also make use of any font on the users machine instead of just  
the ones that you have spent the time processing, which would surely  
reduce the wear and tear on your fingertips :-)

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Diagnostics are the programs that run when nothing else will.





More information about the Squeak-dev mailing list