a question about fonts

Dwight Hughes dwighth at ipa.net
Fri Apr 23 17:47:56 UTC 1999


If you haven't already, take a look at http://fonts.apple.com/ -- they have
the full TrueType Reference online, plus still more info on fonts.

Also, check out the FreeType project which is working to create a free,
portable, TrueType engine: http://www.freetype.org/ .

-- Dwight

"Norton, Chris" wrote:
> 
> 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
> point size.
> *  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
> in)
> *  Rasterizing software is generally built into most windowing operating
> systems
> *  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!
> 
> ---==> Chris





More information about the Squeak-dev mailing list