Title and Copyright Information |
About This Manual |
Audience |
New and Changed Features |
New and Changed Features for Tru64 UNIX Version 5.0 |
New and Changed Features for Tru64 UNIX Version 4.0F |
New and Changed Features for DIGITAL UNIX Version 4.0 |
Organization |
Related Documentation |
Reader's Comments |
Conventions |
1 | Introduction |
1.1 | Language |
1.2 | Cultural Data |
1.3 | Character Sets |
1.4 | Localization |
1.4.1 | Collating Sequence |
1.4.2 | Character Classification |
1.4.3 | Case Conversion |
1.4.4 | Language Information |
1.4.5 | Message Catalogs |
1.5 | Language Announcement |
1.6 | Terms and Definitions |
1.6.1 | Characters and Strings |
1.6.2 | Portable Character Set |
1.6.3 | The Universal Character Set |
2 | Developing Internationalized Software |
2.1 | Using Codesets |
2.1.1 | Ensuring Data Transparency |
2.1.2 | Using In-Code Literals |
2.1.3 | Manipulating Characters That Span Multiple Bytes |
2.1.4 | Converting Between Multibyte-Character and Wide-Character Data |
2.1.5 | Rules for Multibyte Characters in Source and Execution Codesets |
2.1.6 | Classifying Characters |
2.1.7 | Converting Characters |
2.1.8 | Comparing Strings |
2.2 | Handling Cultural Data |
2.2.1 | The langinfo Database |
2.2.2 | Querying the langinfo Database |
2.2.3 | Generating and Interpreting Date and Time Strings That Observe Local Customs |
2.2.4 | Formatting Monetary Values |
2.2.5 | Formatting Numeric Values in Program-Specific Ways |
2.2.6 | Using the langinfo Database for Other Tasks |
2.3 | Handling Text Presentation and Input |
2.3.1 | Creating and Using Messages |
2.3.2 | Formatting Output Text |
2.3.3 | Scanning Input Text |
2.4 | Binding a Locale to the Run-Time Environment |
2.4.1 | Binding to the Locale Set for the System or User |
2.4.2 | Changing Locales During Program Execution |
3 | Creating and Using Message Catalogs |
3.1 | Creating Message Text Source Files |
3.1.1 | General Rules |
3.1.2 | Message Sets |
3.1.3 | Message Entries |
3.1.4 | Quote Directive |
3.1.5 | Comment Lines |
3.1.6 | Style Guidelines for Messages |
3.2 | Extracting Message Text from Existing Programs |
3.3 | Editing and Translating Message Source Files |
3.4 | Generating Message Catalogs |
3.4.1 | Using the mkcatdefs Command |
3.4.2 | Using the gencat Command |
3.4.3 | Design and Maintenance Considerations for Message Catalogs |
3.5 | Displaying Messages and Locale Data Interactively or from Scripts |
3.6 | Accessing Message Catalogs in Programs |
3.6.1 | Opening Message Catalogs |
3.6.2 | Closing Message Catalogs |
3.6.3 | Reading Program Messages |
4 | Handling Wide-Character Data with curses Routines |
4.1 | Writing a Wide Character to a curses Window |
4.1.1 | Add Wide Character (Overwrite) and Advance Cursor |
4.1.2 | Insert Wide Character (no Overwrite) and Do Not Advance Cursor |
4.2 | Writing a Wide-Character String to a curses Window |
4.2.1 | Add Wide-Character String (Overwrite) and Do Not Advance Cursor |
4.2.2 | Add Wide-Character String (Overwrite) and Advance Cursor |
4.2.3 | Insert Wide-Character String (no Overwrite) and Do Not Advance Cursor |
4.3 | Removing a Wide Character from a curses Window |
4.4 | Reading a Wide Character from a curses Window |
4.5 | Reading a Wide-Character String from a curses Window |
4.5.1 | Reading Wide-Character Strings with Attributes |
4.5.2 | Reading Wide-Character Strings Without Attributes |
4.6 | Reading a String of Characters from a Terminal |
4.7 | Reading or Queuing a Wide Character from the Keyboard |
4.8 | Converting Formatted Text in a curses Window |
4.9 | Printing Formatted Text on a curses Window |
5 | Creating Internationalized X, Xt, and Motif Applications |
5.1 | Using Internationalization Features in the X Toolkit Intrinsics |
5.1.1 | Establishing a Locale with Xt Functions |
5.1.2 | Using Font Set Resources with Xt Functions |
5.1.3 | Filtering Events During Text Input with Xt Functions |
5.1.4 | Including the Codeset Component of Locales with Xt Functions |
5.2 | Using Internationalization Features of the OSF/Motif and DECwindows Motif Toolkits |
5.2.1 | Setting Language in a Motif Application |
5.2.2 | Using Compound Strings and the XmText, XmTextField, and DXmCSText Widgets |
5.2.3 | Internationalization Features of Widget Classes |
5.3 | Using Internationalization Features in the X Library |
5.3.1 | Using the X Library to Manage Locales |
5.3.2 | Displaying Text for Different Locales |
5.3.2.1 | Creating and Manipulating Font Sets |
5.3.2.2 | Obtaining Metrics for Font Sets |
5.3.2.3 | Drawing Text with Font Sets |
5.3.2.4 | Handling Text with the X Output Method |
5.3.2.5 | Converting Between Different Font Set Encodings |
5.3.3 | Handling Interclient Communication |
5.3.4 | Handling Localized Resource Databases |
5.3.5 | Handling Text Input with the X Input Method |
5.3.5.1 | Opening and Closing an Input Method |
5.3.5.2 | Querying Input Method Values |
5.3.5.3 | Creating and Using Contexts for an Input Method |
5.3.5.4 | Providing Preediting Callbacks for the On-the-Spot Input Style |
5.3.5.5 | Filtering Events for an Input Method |
5.3.5.6 | Obtaining Composed Strings from the Keyboard |
5.3.5.7 | Handling Failure of the Input Method Server |
5.3.6 | Using X Library Features: A Summary |
6 | Using Internationalized Software |
6.1 | Working in a Multilanguage Environment: Introduction |
6.2 | Setting Locale and Language |
6.3 | Selecting Keyboard Type |
6.3.1 | Determining Keyboard Layout |
6.4 | Determining Input Method |
6.5 | Determining the Input Mode Switch State |
6.6 | Defining the Search Path for Specialized Components |
6.7 | Using Terminal Interface Features for Asian Languages |
6.7.1 | Converting Between Application and Terminal Codesets |
6.7.2 | Command Line Editing That Supports Multibyte Characters |
6.7.3 | Kana-Kanji Conversion: Customization of Japanese Input Options |
6.8 | Supporting User-Defined Characters and Phrase Input |
6.9 | Using Printer Interface Features That Support Local Languages |
6.9.1 | Generic Internationalized Print Filters |
6.9.1.1 | pcfof Print Filter |
6.9.1.2 | wwpsof Print Filter |
6.9.2 | Print Filters for Specific Local Language Printers |
6.9.3 | Support for Local Language Printers in /etc/printcap |
6.9.4 | Enhancements to Printer Configuration Software |
6.9.5 | Print Commands and the Printer Daemon |
6.9.6 | Choosing PostScript Fonts for Different Locales |
6.10 | Using Mail in a Multilanguage Environment |
6.10.1 | The sendmail Utility |
6.10.2 | The mailx Command and MH Commands |
6.10.3 | The comsat Server |
6.11 | Applying Sort Orders to Non-English Characters |
6.12 | Processing Reference Pages in Languages Other Than English |
6.12.1 | The nroff Command |
6.12.2 | The tbl Command |
6.12.3 | The man Command |
6.13 | Converting Data Files from One Codeset to Another |
6.14 | Miscellaneous Information for Base System Commands |
6.15 | Using Language Support Enhancements for Motif Applications |
6.15.1 | Tuning the X Server for Ideographic Languages |
6.15.2 | Using Font Renderers for Multibyte PostScript Fonts |
6.15.2.1 | Setting Up the Font Renderer for Double-Byte PostScript Fonts |
6.15.2.2 | Setting Up the Font Renderer for UDC Fonts |
6.15.3 | Setting Fonts for Display of Local Languages |
6.15.3.1 | Accessing Local-Language Fonts for Remote Displays |
6.15.4 | Customizing a Terminal Emulation Window for Asian Languages |
7 | Creating Locales |
7.1 | Creating a Character Map Source File for a Locale |
7.2 | Creating Locale Definition Source Files |
7.2.1 | Defining the LC_CTYPE Locale Category |
7.2.2 | Defining the LC_COLLATE Locale Category |
7.2.3 | Defining the LC_MESSAGES Locale Category |
7.2.4 | Defining the LC_MONETARY Locale Category |
7.2.5 | Defining the LC_NUMERIC Locale Category |
7.2.6 | Defining the LC_TIME Locale Category |
7.3 | Building Libraries to Convert Multibyte/Wide-Character Encodings |
7.3.1 | Required Methods |
7.3.1.1 | Writing the _ _mbstopcs Method for the fgetws Function |
7.3.1.2 | Writing the _ _mbtopc Method for the getwc( ) Function |
7.3.1.3 | Writing the _ _pcstombs Method for the fputws( ) Function |
7.3.1.4 | Writing a _ _pctomb Method |
7.3.1.5 | Writing a Method for the mblen( ) Function |
7.3.1.6 | Writing a Method for the mbstowcs( ) Function |
7.3.1.7 | Writing a Method for the mbtowc( ) Function |
7.3.1.8 | Writing a Method for the wcstombs( ) Function |
7.3.1.9 | Writing a Method for the wctomb( ) Function |
7.3.1.10 | Writing a Method for the wcswidth( ) Function |
7.3.1.11 | Writing a Method for the wcwidth( ) Function |
7.3.2 | Optional Methods |
7.3.3 | Building a Shareable Library to Use with a Locale |
7.3.4 | Creating a methods File for a Locale |
7.4 | Building and Testing the Locale |
A | Summary Tables of Worldwide Portability Interfaces |
A.1 | Locale Announcement |
A.2 | Character Classification |
A.3 | Case and Generic Property Conversion |
A.4 | Character Collation |
A.5 | Access to Data That Varies According to Language and Custom |
A.6 | Conversion and Format of Date/Time Values |
A.7 | Printing and Scanning Text |
A.8 | Number Conversion |
A.9 | Conversion of Multibyte and Wide-Character Values |
A.10 | Input and Output |
A.11 | String Handling |
A.12 | Codeset Conversion |
B | Setting Up and Using User-Defined Character Databases |
B.1 | Creating User-Defined Characters |
B.1.1 | Working on the cedit User Interface Screen |
B.1.2 | Editing Font Glyphs |
B.2 | Creating UDC Support Files That System Software Uses |
B.3 | Processing UDC Fonts for Use with X11 or Motif Applications |
B.3.1 | Using fontconverter Command Options |
B.3.2 | Controlling Output File Format |
C | Setting Up and Using the Chinese Phrase Input Method |
C.1 | Enabling the SIM Service |
C.2 | Creating and Maintaining a Chinese Phrase Database |
C.3 | Using a Chinese Phrase Database |
C.3.1 | Phrase Input Supported Through the SIM Service |
C.3.2 | Phrase Input from the Input Options Application |
D | Using DECterm Localization Features in Programs |
D.1 | Drawing Ruled Lines in a DECterm Window |
D.1.1 | Drawing Ruled Lines in a Pattern |
D.1.2 | Erasing Ruled Lines in a Pattern |
D.1.3 | Erasing All Ruled Lines in an Area |
D.1.4 | Interaction of Ruled Lines and Other DECterm Escape Sequences |
D.1.5 | Determining if the DECterm Device Setting Supports Ruled Lines |
D.2 | DECterm Programming Restrictions |
D.2.1 | Downline Loadable Characters |
D.2.2 | DRCS Characters |
E | Sample Locale Source Files |
E.1 | Character Map (charmap) Source File |
E.2 | Locale Definition Source File |
Glossary |
Examples |
3-1 | Message Text Source File |
3-2 | Generating a Message Catalog Interactively |
5-1 | Setting Locale in an X Windows Application |
5-2 | Creating and Using Font Sets in an X Windows Application |
5-3 | Drawing Text in an X Windows Application |
5-4 | Communicating with Other Clients in an X Windows Application |
5-5 | Opening and Closing an Input Method in an X Windows Application |
5-6 | Obtaining the User Interaction Styles for an Input Method |
5-7 | Creating and Destroying an Input Method Context in an X Windows Application |
5-8 | Using Preediting Callbacks in an X Windows Application |
5-9 | Filtering Events for an Input Method in an X Windows Application |
5-10 | Obtaining Keyboard Input in an X Windows Application |
5-11 | Handling Failure of the Input Method Server |
6-1 | Default cp_dirs File |
6-2 | Setting Up a Local Language Printer with lprsetup |
7-1 | The charmap File for a Sample Locale |
7-2 | Fragment from a charmap File for a Multibyte Codeset |
7-3 | Structure of Locale Source Definition File |
7-4 | LC_CTYPE Category Definition |
7-5 | LC_COLLATE Category Definition |
7-6 | LC_MESSAGES Category Definition |
7-7 | LC_MONETARY Category Definition |
7-8 | LC_NUMERIC Category Definition |
7-9 | LC_TIME Category Definition |
7-10 | The _ _mbstopcs_sdeckanji Method for the ja_JP.sdeckanji Locale |
7-11 | The _ _mbtopc_sdeckanji Method for the ja_JP.sdeckanji Locale |
7-12 | The _ _pcstombs_sdeckanji Method for the ja_JP.sdeckanji Locale |
7-13 | The _ _pctomb_sdeckanji Method for the ja_JP.sdeckanji Locale |
7-14 | The _ _mblen_sdeckanji Method for the ja_JP.sdeckanji Locale |
7-15 | The _ _mbstowcs_sdeckanji Method for the ja_JP.sdeckanji Locale |
7-16 | The _ _mbtowc_sdeckanji Method for the ja_JP.sdeckanji Locale |
7-17 | The _ _wcstombs_sdeckanji Method for the ja_JP.sdeckanji Locale |
7-18 | The _ _wctomb_sdeckanji Method for the ja_JP.sdeckanji Locale |
7-19 | The _ _wcswidth_sdeckanji Method for the ja_JP.sdeckanji Locale |
7-20 | The _ _wcwidth_sdeckanji Method for the ja_JP.sdeckanji Locale |
7-21 | Building a Library of Methods Used with the ja_JP.sdeckanji Locale |
7-22 | The methods File for the ja_JP.sdeckanji Locale |
7-23 | Building the fr_FR.ISO8859-1@example Locale |
7-24 | Setting the LOCPATH Variable and Testing a Locale |
Figures |
3-1 | Converting an Existing Program to Use a Message Catalog |
B-1 | Components That Support User-Defined Characters |
B-2 | The cedit User Interface Screen |
B-3 | The cedit Font Editing Screen |
B-4 | Interpretation of Font Editing Screen for Sizing a Font |
B-5 | Keymap for cedit Functions |
C-1 | User Interface Screen of the phrase Utility |
D-1 | Drawing Ruled Lines with the DECDRLBR Sequence |
D-2 | Bit Pattern for DECDRLBR Parameters |
Tables |
3-1 | Coding of Special Characters in Message Text Source Files |
5-1 | Locale Announcement Functions in the X Library |
5-2 | X Library Functions That Create and Manipulate Font Sets |
5-3 | X Library Functions That Measure Text |
5-4 | X Library Functions That Draw Text |
5-5 | X Library Functions for Output Method and Context |
5-6 | X Library Functions for Interclient Communication |
5-7 | X Library Functions That Handle Localized Resource Databases |
5-8 | X Library Functions That Manage Input Context (XIC) |
6-1 | The stty Command Options for Controlling Terminal Line Discipline |
6-2 | The stty Options to Explicitly Set Application and Terminal Code |
6-3 | The stty Options to Enable/Disable History Mode |
6-4 | Command Line Editing in History Mode |
6-5 | The stty Options to Enable and Customize Japanese Input |
6-6 | Symbols in /etc/printcap File for Local Language Printers |
6-7 | Local Language Printers Supported by the lprsetup Command |
6-8 | Supported Codeset Conversions for English |
6-9 | X Server Options for Tuning the Font-Cache Mechanism |
6-10 | XLFD Registry Names for UDC Characters |
6-11 | Bitmap Fonts for Asian Locales |
6-12 | Bitmap Fonts for *.ISO8859-2 Locales |
6-13 | Bitmap Fonts for *.ISO8859-4 Locales |
6-14 | Bitmap Fonts for *.ISO8859-5 Locales |
6-15 | Bitmap Fonts for *.ISO8859-7 Locales |
6-16 | Bitmap Fonts for *.ISO8859-8 Locales |
6-17 | Bitmap Fonts for *.ISO8859-9 Locales |
B-1 | The stty Options for On-Demand Loading of UDC Support Files |
B-2 | The cedit Command Options |
B-3 | Keys for Miscellaneous Font Editing Functions |
B-4 | Keys for cedit Mode Switching |
B-5 | Keys for Fine Control of Cursor Movement |
B-6 | Keys for Moving Cursor to Window Areas |
B-7 | Keys for Drawing Font Glyphs |
B-8 | Keys for Editing Font Glyphs |
B-9 | The cgen Command Options |
B-10 | Options and Arguments of the fontconverter Command |
C-1 | Chinese Phrase Input Definitions |
C-2 | The stty Options Used for the SIM Service |
C-3 | The phrase Options for the VT382-D Terminal |
D-1 | Behavior of Standard Escape Sequences with Ruled Lines |
Index |