Bitstream
Font TechnologyFONT TECHNOLOGY looking for fonts?

Bitstream Panorama: a global text composition engine


overviewDEMOcomplex scriptssdk & evaluationfeaturescontact

Complex Scripts: Interpreting Complex Scripts
Bitstream Panorama:

  • Applies bi-directional algorithms (for writing direction)
  • Applies language rules
  • Interprets information in OpenType tables
  • Applies contextual shaping (to substitute, position, and connect characters)
  • Combines characters and diacritical marks
  • Renders the characters
Bi-Directional Algorithms
Bi-directional algorithms are needed to rearrange characters sequentially. For example, Arabic character characters may be entered on a keyboard one way, but they need to be rendered the correct way visually on a display. You can have more than one set of bi-di algorithms. Arabic requires one set for words, which are rendered right-to-left; and another set for numbers, which are rendered left-to-right.

Arabic: Bi-Directional Algorithms

Language and OpenType Rules
Language rules must be applied on the character string being rendered. A good text composition engine must also interpret OpenType rulesfor each character, including information from the GSUB (glyph substitution) and GPOS (glyph positioning) tables. Here is an example of the way in which OpenType rules affect character positioning.

The relative position of the Small-Uu-Matra depends upon the character to which it will be aligned. According to OpenType rules, the Small-Uu-Matra must be centered under the base consonant. Therefore, Bitstream Panorama must reposition the Small-Uu-Matra, centering it under the Ka.

Indic: OpenType Rules

Contextual Shaping
A text composition engine must also apply contextual shaping, as the design of a character depends on its position in a word and the characters on either side of it. Ultimately, contextual shaping and interpreting language rules involve putting together glyphs in order, depending on their context.

As shown in the example below, the shape of a character can change depending on the character that precedes or follows it. Although the design differences appear subtle, it is this subtlety that distinguishes excellent from average typography. A good text composition engine will be able to substitute, position, shape, combine characters with diacritical marks, and render the correct characters depending on their context.

Arabic: Contextual Shaping

Image courtesty of Sakkal Design

Conclusion
Problems: You need to support languages in each country in which your products are deployed, or having the ability to upgrade products in the future.

Issues: You need to compose and render complex scripts, each with their own language rules, as well as non-script based languages like Latin - and in a small footprint that does not require a lot of memory.

Solution: Compose and render complex and non-complex scripts with one solution. Take advantage of high-level APIs in Bitstream Panorama that:

  • Apply bi-directional algorithms (for writing direction)
  • Apply language rules
  • Interpret information in OpenType tables
  • Apply contextual shaping (to substitute, position, connect characters)
  • Combine characters and diacritical marks
  • Render the characters

<< backindex


 


BITSTREAM BROWSING FONTS PUBLISHING FONT TECHNOLOGY Bitstream Home Site Map Search