Jump to content

Computer font

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 195.144.9.74 (talk) at 17:59, 3 June 2007 (pens are polygons, and METAFONT shouldn't have lower hierarchy in TOC than OpenType). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A computer font is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats. Although the term "font" once referred to interchangeable typefaces using mechanical components such as a typeball element or a daisy wheel, most modern fonts are used in computing. There are three basic kinds of computer font file data formats:

  • Bitmap fonts consist of a series of dots or pixels representing the image of each glyph in each face and size.
  • Outline fonts use Bézier curves, drawing instructions and mathematical formulas to describe each glyph, which make the character outlines scalable to any size.
  • Stroke fonts use a series of specified lines and additional information to define the profile, or size and shape of the line in a specific face and size, which together describe the appearance of the glyph.

Bitmap fonts are faster and easier to use in computer code, but inflexible, requiring a separate font for each size and each face. Outline and stroke fonts can be resized using a single font and substituting different measurements for components of each glyph, but are somewhat more complicated to use than bitmap fonts as they require additional computer code to render them. For example, the letter "A" has three components, the two lines on the outside and the bar between the two outside lines, and may have more if the design has serifs.

Bitmap fonts versus outline fonts can be compared to the two main types of image file formats. Bitmap image formats such as Windows Bitmap (.bmp), Portable Network Graphics (.png), Joint Photographic Experts Group (.jpg or .jpeg) and Tagged Image Format (.tif or .tiff), store the image data as a grid of pixels, in some cases with compression. Outline or stroke image formats such as Windows Metafile format (.wmf) and Scalable Vector Graphics format (.svg), store instructions of how to draw the image rather than storing the image itself.

A bitmap image can be displayed in a different size only with some distortion, but renders quickly; outline or stroke image formats are resizable but take more time to render as pixels must be drawn from scratch each time they are displayed.

Fonts are designed and created using font editors:

Font types

Bitmap fonts

An assortment of bitmap fonts from the first version of the Macintosh operating system.

A bitmap font is one that stores each glyph as an array of pixels (that is, a bitmap). It is less commonly known as a raster font. Bitmap fonts are simply collections of raster images of glyphs. For each variant of the font, there is a complete set of glyph images, with each set containing an image for each character. For example, if a font has three sizes, and any combination of bold and italic, then there must be 12 complete sets of images.

Advantages of bitmap fonts include:

  • Extremely fast and simple to render
  • Unscaled bitmap fonts always give exactly the same output
  • Easier to create than other kinds

The primary disadvantage of bitmap fonts is that the visual quality tends to be poor when scaled or otherwise transformed, compared to outline and stroke fonts.

Early computer systems used bitmap fonts exclusively due to their limited processing power and memory. Improvements in hardware have allowed them to be replaced with outline or stroke fonts in cases where arbitrary scaling is desirable, but bitmap fonts are still in common use in embedded systems and other places where speed and simplicity are considered important.

Bitmap fonts are used in the Linux console, the Windows recovery console, and embedded systems. Older dot matrix printers used bitmap fonts; often stored in the memory of the printer and addressed by the computers print driver. Dot matrix printers are still used on carbon paper business forms. Bitmap fonts may be used in cross-stitch.

To draw a string using a bitmap font means to successively output bitmaps of each one character that the string comprises of, performing per-character indentation. As well as true type fonts, bitmap fonts can be monospaced (i.e.. every character is plotted a constant distant next to the previous one, while drawing) or proportional (each character has its own width). However, it depends on the font-handling application how each font will be displayed.

Scaling

Bitmap fonts look best at their native pixel size. Some systems using bitmap fonts can create some font variants algorithmically. For example, the original Apple Macintosh computer could produce bold by widening vertical strokes and oblique by shearing the image. At non-native sizes, many text rendering systems perform nearest-neighbor resampling, introducing ugly jagged edges. More advanced systems perform anti-aliasing on bitmap fonts whose size does not match the size that the application requests. This technique works well for making the font smaller but not as well for increasing the size, as it tends to blur the edges. Some graphics systems that use bitmap fonts, especially those of emulators, apply curve-sensitive nonlinear resampling algorithms such as 2xSaI or hq3x on fonts and other bitmaps, which avoids blurring the font while introducing little objectionable distortion at moderate increases in size.

A "trace" program can follow the outline of a high-resolution bitmap font and create an initial outline that a font designer uses to create an outline font useful in systems such as PostScript or TrueType. Outline fonts scale easily without jagged edges or blurriness.

Bitmap font formats

A bitmap color font for the Amiga OS.

Outline fonts

Outline fonts or vector fonts are collections of vector images, i.e. a set of lines and curves to define the border of glyphs. Early vector fonts were used by vector monitors and vector plotters using their own internal fonts, usually with thin single strokes instead of thick outlined glyphs. The advent of desktop publishing brought the need for a universal standard to integrate the graphical user interface of the first Macintosh and laser printers. The term to describe the integration technology was WYSIWYG. The universal standard was (and still is) Adobe PostScript. Examples are PostScript Type 1 and Type 3 fonts, TrueType and OpenType.

The primary advantage of outline fonts is that they can be easily transformed by applying a mathematical function to each vector point, scaling them without causing pixellation. Outline font characters can be scaled to any size and otherwise transformed with more attractive results than bitmap fonts, but requires considerably more processing and may yield undesirable rendering, depending on the font, rendering software, and output size.

Outline fonts have a major problem, in that Bézier curves cannot be rendered accurately onto a raster display (such as most computer monitors and printers), and their rendering can change shape depending on the desired size and position.[1] Measures such as font hinting have to be used to reduce the visual impact of this problem, which require sophisticated software that is difficult to implement correctly. Many modern desktop computer systems include software to do this, but they use considerably more processing power than bitmap fonts, and there can be minor rendering defects, particularly at small font sizes. Despite this, they are frequently used because people often consider the processing time and defects to be acceptable when compared to the ability to scale fonts freely.

Stroke-based font

A glyph's outline is defined by the vertices of individual strokes and stroke's profile. Its advantage over outline fonts include reducing number of vertices needed to define a glyph, allowing same vertices to be used to generate a different font that have different weight, glyph width, or serifs using different stroke rules, and the associated size savings. For font developer, editing a glyph by stroke is easier and less prone to error than editing outlines. Stroke-based system also allows rescaling glyphs without altering stroke thickness of the base glyphs. It is heavily marketed for East Asian markets for use on embedded devices, but the technology is not limited to ideograms.

Commercial developers included Agfa Monotype (iType), Type Solutions, Inc. (owned by Bitstream Inc.) (Font Fusion (FFS), btX2), Fontworks (Gaiji Master), which have independently developed stroke-based font types and font engines.

Although Monotype and Bitstream have claimed tremendous space saving using stroke-based font on East Asian character sets, most of the saving comes from building composite glyphs, which is part of TrueType specification.

Font formats

Type 1 and Type 3 Fonts

Type 1 and Type 3 fonts were developed by Adobe for professional digital typesetting. Using PostScript, the glyphs are outline fonts described with Bezier curves. Type 1 fonts used Adobe's proprietary hinting system, which was very expensive. Type 3 fonts were the same as the Type 1 without the hints, and thus may have visible rendering defects.

TrueType Font

TrueType is a font system originally developed by Apple Computer. It was intended to replace Type 1 fonts, which many felt were too expensive. Like Type 1 fonts, Bezier curves are used to describe the glyphs. It is currently very popular and implementations exist for all major operating systems.

OpenType Font

OpenType is a smartfont system designed by Microsoft .

METAFONT

METAFONT uses a different sort of glyph description. Like TrueType, it is a vector font description system. It draws glyphs using strokes produced by moving a polygonal or elliptical pen approximated by a polygon along a path made from cubic Bézier splines and straight line segments, or by filling such paths. Although when stroking a path the envelope of the stroke is never actually generated, the method causes no loss of accuracy or resolution.

See also

Notes

  1. ^ Stamm, Beat (1998-03-25). "The raster tragedy at low resolution".