a question about fonts
beoneel at mindspring.com
Fri Apr 23 21:29:34 UTC 1999
In terms of rasterizers there is a TrueType rasterizer called freetype
at http://www.freetype.org. There is a system which uses it with X at
http://root.cern.ch and the results are pretty good.
>Hi Andreas, Duane, Reiner & other Squeak friends!
>Thanks for the lessons on fonts. After reading your messages, I did a bit
>of web browsing and I can summarize what I've learned so far about fonts
>(for those lurkers that are interested).
>* There are 2 types of font: Bitmap fonts and Outline fonts
>* Bitmap fonts are pre-rendered for a specific platform resolution and
>* Outline fonts (Andreas called them "Vector" fonts) are fonts that are
>stored as coordinates that describe the outlines of their characters -- True
>Type fonts (invented by Apple & Microsoft) are examples of outline fonts.
>* Outline fonts are rendered into Bitmap font formats by rasterizing
>software (this connects the dots, draws the curves and fills each character
>* Rasterizing software is generally built into most windowing operating
>* There are two types of rasterizing - easy and hard
>* Easy rasterizing algorithms take the Outline font coordinates and create
>Bitmap fonts out if them, but they do not make use of the auxiliary
>information (often described as "hints").
>* The more complicated rasterizing algorithms use all available information
>from the Outline font definition to make the most "pretty", scaleable font
>it can. This process takes longer, so the rendered font is generally cached
>(like in the StrikeFont cache).
>[I gather from your notes that Squeak's rasterizing algorithms only do the
>"easy" rendering, which is accurate only in larger point sizes]
>There is lots of technical jargon on the web (and in the Squeak sources)
>about fonts, and it is no easy task to find documents that describe all of
>the terms (I'm still wondering what "kerning", "ligatures" and "splines"
>are, although I can guess at their meanings from the context)
>Question: Since OS's apparently come with built in rasterizing software,
>couldn't a primitive call be added to Squeak to accomplish the more
>difficult rasterizing tasks? If an Outline font could be converted into a
>Bitmap font, by passing it with size parameters to the OS rasterizing
>routines, then the generated Bitmap font could be converted (if needed) and
>cached in the StrikeFont cache. [Note: I still know nothing about
>primitives, so this may be a dumb question]
>Observation 1: Even if Squeak's rasterizing algorithms can only handle the
>"simple" rasterizing, I think that adding "asStrikeFont" behavior to the
>TTSampleFontMorph would be of benefit for at least some point sizes. These
>could be used for banners, titles, etc. in our Morphic projects.
>Observation 2: Several people have told me that the full rasterizing
>algorithms are also very complex and challenging to write. The general
>consensus is: "don't go there". This may be true, but I have found hints
>on the web (http://w3c1.inria.fr/Fonts/#type1) that there are specs and free
>implementations available that maybe could be ported to Squeak (apparently a
>low quality rasterizer is available in Ghostscript, and rasterizing source
>is distributed with X). Unfortunately, I am not familiar with either of
>these free sources.
>This is a deep pool, but interesting stuff!
More information about the Squeak-dev