Enhanced Text API
From OpenLaszlo
Contents |
Text API Enhancements
Justification for API Addition
Flash 10 supports a new Text Layout Framework with advanced typography features.
- Bidirectional text: Includes vertical text and over 30 writing systems including Arabic, Hebrew, Chinese, Japanese, Korean, Thai, Lao, the major writing systems of India, Tate-Chu-Yoko (horizontal within vertical text) and more.
- Formatting: Text with inline graphics (images, SWFs, or any DisplayObject) and multiple columns of text with text flow and text selection through these columns. Additionally support for vertical text, Tate-Chu-Yoko (horizontal within vertical text) and justifier (Eastern European).
- Print-quality typography for the web: Allows for kerning, ligatures, typographic case, digit case, digit width, and discretionary hyphens.
- Mouse and Keyboard user gestures - standard keyboard and mouse functionality for copy, paste, undo and cut.
- Text metrics: Includes measurements and offsets of fonts
In DHTML, HTML 5 and CSS3 also provide advanced typography features.
This page will discuss which features are desirable, which can be implemented in a cross platform way, and if any incompatible changes to the API will be needed.
Flash Text Layout Engine / Framework
The new Flash text API is composed of a lower level Text Engine API (which is built into the player), and a higher level Text Layout Framework API (which is implemented as a Javascript library).
Documentation is at http://opensource.adobe.com/wiki/display/tlf/Text+Layout+Framework
API reference at http://livedocs.adobe.com/flex/gumbo/langref/
(not sure if this is old or new, they renamed the text components to "Spark") http://opensource.adobe.com/wiki/display/flexsdk/Spark+Text+Primitives
API Changes
TBD
API Specification
TBD
Justification for API Change
When you describe the problem that your API change addreses, please be sure to provide answers to the following questions.
- Does this API change have any effect on existing code?
- Explain how compatibility will be maintained (for the deprecation state)?
- Justify why we should proceed with this change.

