Unicode 4.0 Tutorial: Unicode Algorithms
Asmus Freytag - ASMUS, Inc.

Intended Audience: All

Session Level: Beginner, Intermediate, Advanced

The Unicode Standard and related specifications by the Unicode Consoirtum specify a number of algorithms. The specification of these algorithms in the Unicode Standard depends on the Unicode Character Properties. Part III 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?
  • What requirements does it address?
  • What is a Unicode Normalization form?
  • What is the actual specification of 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?
  • What are the issues?
  • What resources does the Unicode Standard provide?
  • Is any specific type of support required?
  • What are character foldings?
  • How does case mapping work?
  • How do character transformation interact with Normalization.

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