Unicode 4.1 Tutorial: Unicode Algorithms
Asmus Freytag, President, ASMUS, Inc., USA

Intended Audience: N/A

Session Level: Beginner, Intermediate, Advanced

The Unicode Standard and related specifications by the Unicode Consortium specify a number of algorithms. The specification of these algorithms in the Unicode Standard depends on the Unicode Character Properties. Part III of the Unicode 4.1 Tutorial surveys the algorithms specified in the Unicode Standard, and extends the discussion of Unicode character properties as they relate to each algorithm. Part III provides answers to these questions:

  • What is a Unicode Algorithm?
  • How is an abstract algorithm different from an actual implementation?
  • How does it relate to Unicode Character Properties?
  • What is Unicode Normalization and what requirements does it address?
  • What is a Unicode Normalization form?
  • What are the different normalization forms (NFC, NFD, NFKC, NFKD)?
  • What do I need to know in applying normalization?
  • How does Normalization interact with the web?
  • What is the Unicode Bidirectional Algorithm?
  • How is it defined and how does it interact with other text layout tasks?
  • When do I need to support it?
  • How do I determine text boundaries and line breaks and what are the issues?
  • What resources does the Unicode Standard provide?
  • Is any specific type of support required?
  • What are character foldings?
  • How does character transformation interact with Normalization?

Part III of the Unicode 4.1 Tutorial is more detailed and will touch on the description of algorithms and other material that may require some familiarity with technical concepts.

Suitable for: Intermediate/Advanced, technical background suggested