Using Uniscribe
Uniscribe provides APIs to support typography and to support the display and editing of international text, including the complex rules of Middle Eastern and Asian scripts. Uniscribe provides low-level routines for handling fully formatted text, and a simple ScriptString API set for unformatted text.
Using Uniscribe, applications only have to manage a backing store of Unicode character codes. Text layout applications do not have to maintain any other buffer or mapping table to track character order. Each application only has to store and manage the order in which the characters are entered by the user, which is the same logical order as defined by Unicode. The backing store never changes as a result of layout operations. Uniscribe maintains an index from the reordered clusters to the original character boundaries passed by the application.
The following topics are covered in this section.
Shaping
Other Processing
- Caching
- Displaying Text with Uniscribe
- Processing Complex Scripts
- Using Font Fallback
- Using the ScriptString Functions
Caret
- Displaying the Caret in Bidirectional Strings
- Managing Caret Placement and Hit Testing
- Translating Mouse Hit X Offset to Caret Position
Words and Character Clusters
- Using Character Clusters
- Using Word Break Points
- Working with Relationships Among Caret Positions, Justification Points, and Clusters