Important: The information in this document is obsolete and should not be used for new development.
Chapter 1 - Introduction to Text on the Macintosh
This chapter is an overview of Macintosh text handling. It is meant to help you
get started by introducing the concepts described in detail throughout the rest of Inside Macintosh: Text.The chapter contains four major sections. The first presents high-level concepts, and the following three develop those concepts further and give important programming suggestions and hints:
If you are developing a text-handling application, read this chapter's first section, "Macintosh Text Overview," before reading any other parts of this book. You can then either read the remainder of this chapter before going on, or start immediately on the other chapters, returning to this chapter as needed for further explanation of script-system concepts and for specific programming suggestions. The chapters that are most important for general application development are "TextEdit," "QuickDraw Text," "Font Manager," "Text Utilities," and "Script Manager." The chapters that are most important for applications that use input methods, or for developers of input methods, are "Text Services Manager" and "Dictionary Manager."
- "Macintosh Text Overview" summarizes what text means for Macintosh programmers, including how to support text in multiple languages. It concludes with suggestions for planning your application's level of text handling.
- "Writing Systems and Script Systems" surveys the issues that must be addressed by any computer-based text-handling system, and then describes the organization of the Macintosh script management system, the set of software managers and resources that help you support text-handling capabilities across many languages.
- "How Script Systems Work" describes the approach taken by the script management system to provide multi-language capabilities in areas such as text display, text input, and string manipulation.
- "Script Systems in Use" describes how the computer user interacts with script systems, including installing script systems, switching text input and display from one language to another, and controlling script-system configuration.
If you are developing or modifying a script system, read this chapter completely before turning to other chapters and appendixes. Those that are most important for understanding script-system design are "Script Manager," "Built-in Script Support," "International Resources," and "Keyboard Resources."
Valuable information related to the topics discussed in this chapter can be found in
Guide to Macintosh Software Localization. That book discusses features of individual script systems and gives specific techniques for software localization.
Chapter Contents
- Macintosh Text Overview
- Separation of Tasks
- Text Is Graphics
- Characters, Glyphs, Character Codes, and Bytes
- Text Storage
- Keyboards and Input Methods
- Writing Systems and Script Systems
- Macintosh Text Utilities
- TextEdit, a Text-Processing Service
- Planning Your Text Handling Capabilities
- Rudimentary Text Handling
- Moderate Text Handling
- Sophisticated Text Handling
- Writing Systems and Script Systems
- Features of the World's Writing Systems
- Character Representation
- Line Direction and Alignment
- Contextual Forms and Character Reordering
- Diacritical Marks
- Uppercase and Lowercase Characters
- Word Demarcation
- Styles
- Numbers, Currencies, and Dates
- Character Order and Text Sorting
- Variations Among Languages and Regions
- Components of the Macintosh Script Management System
- The Macintosh Text Managers
- The Script Manager
- QuickDraw
- Font Manager
- Text Utilities
- Text Services Manager
- Dictionary Manager
- The WorldScript Extensions
- WorldScript I
- WorldScript II
- Components of a Script System
- International Resources
- Keyboard Resources
- Fonts
- How Script Systems Are Classified
- Types of Script Systems
- Script Codes, Language Codes, and Region Codes
- Script Codes and Resource ID Numbers
- The System Script and Auxiliary Scripts
- Font Script and Keyboard Script
- How Script Systems Work
- Character Encoding
- The Standard Roman Character Set
- Inconsistencies in Roman Character Encoding
- Other 1-Byte Character Encodings
- 2-Byte Character Encodings
- Japanese
- Chinese
- Korean
- Font Handling
- Font Availability and Selection
- System Font and Application Font
- Roman Characters and Associated Fonts
- Other Font Issues
- Character Rendering and Text Display
- Storage Order and Display Order
- Line Direction and Alignment
- Primary Line Direction
- Alignment
- Justification
- Style Runs, Font Runs, Script Runs, Direction Runs
- Text Layout
- Caret Handling
- The Caret
- Caret Positions at Direction Boundaries
- Caret Movement With Arrow Keys
- Highlighting
- Unidirectional Text
- Mixed-Directional Text
- Converting Screen Position to Text Offset
- Printing
- Text Input
- Keyboards and Key Translation
- Font and Keyboard Synchronization
- Handling Keyboard Equivalents
- Input Methods
- Entry and Conversion
- Differences Among Script Systems
- Text Manipulation
- Sorting Strings
- Formatting Dates, Times, Numbers, and Symbols
- Dates and Times
- Numbers and Symbols
- Analyzing Characters
- Searching, Modifying, and Converting Text
- Finding Word Boundaries and Line Breaks
- Script Systems in Use
- Installing and Enabling Script Systems
- Components of the System Script
- Components of Auxiliary Scripts
- Installing Modifications to a Script System
- How the User Switches Among Script Systems
- User Control of Script Settings