AIX Globalization
Total Page:16
File Type:pdf, Size:1020Kb
AIX Version 7.2 AIX globalization IBM AIX Version 7.2 AIX globalization IBM Note Before using this information and the product it supports, read the information in “Notices” on page 227. This edition applies to AIX Version 7.2 and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright IBM Corporation 2015, 2018. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents About this document ......... v Interchange converters—8-bit ....... 97 Highlighting .............. v Interchange converters—compound text ... 100 Case-sensitivity in AIX ........... v Interchange converters—uucode ...... 102 ISO 9000................ v UCS-2 interchange converters ....... 103 UTF-8 interchange converters ....... 105 AIX globalization ........... 1 Miscellaneous converters ........ 107 Writing converters using the iconv interface ... 107 What's new in AIX globalization........ 1 Code sets and converters ........ 107 Separation of messages from programs ..... 1 Overview of iconv framework structures ... 108 Conversion between code sets ....... 1 Writing a code set converter ....... 110 Input method support .......... 2 Examples .............. 114 Converters overview........... 2 Input methods ............. 118 Using the message facility ......... 2 Input method introduction ........ 118 Setting multicultural support for devices .... 4 input method names .......... 119 Changing the language environment ..... 5 Input method areas .......... 120 Changing the default keyboard map ..... 5 Input method command......... 120 ICU4C libraries ............ 5 Programming input methods ....... 120 Locales ................ 5 Working with keyboard mapping...... 123 Understanding locale .......... 6 Using callbacks............ 124 Understanding locale categories ....... 7 Bidirectional input method ........ 127 Understanding locale environment variables ... 8 Cyrillic input method (CIM) ....... 128 Understanding the locale definition source file.. 10 Greek input method (GIM) ........ 130 Multibyte subroutines .......... 10 Japanese input method (JIM) ....... 131 Wide character subroutines ........ 10 Korean input method (KIM) ....... 138 Bidirectionality and character shaping .... 11 Latvian input method (LVIM) ....... 139 Code set independence ......... 11 Lithuanian input method (LTIM) ...... 139 File name matching........... 12 Thai input method (THIM) ........ 140 Radix character handling ......... 12 Vietnamese input method (VNIM) ..... 140 Programming model .......... 12 Simplified Chinese input method (ZIM-UCS) 140 Subroutines for multicultural support ..... 13 Single-byte input method (SIM) ...... 141 Locale subroutines ........... 13 Traditional Chinese input method (TIM) ... 143 Time formatting subroutines........ 18 Universal input method ......... 145 Monetary formatting subroutines ...... 19 Reserved keysyms........... 145 Multibyte and wide character subroutines ... 21 Message facility ............ 147 Globalized regular expression subroutines ... 44 Creating a message source file....... 148 Code sets for multicultural support ...... 47 Creating a message catalog ........ 152 Single-byte and multibyte code sets ..... 48 Displaying messages outside of an application Unique code-point range ......... 48 program .............. 154 Data representation........... 48 Displaying messages with an application Character properties .......... 49 program .............. 154 ASCII characters............ 51 Example of retrieving a message from a catalog 156 Code set strategy ........... 52 Write messages ............ 156 Code set structure ........... 53 Culture-specific data handling........ 160 ISO code sets ............. 54 Culture-specific tables ......... 160 IBM PC code sets ........... 68 Culture-specific algorithms ........ 160 UCS-2 and UTF-8 ........... 77 Example of loading a culture-specific module Converters overview for programming ..... 80 for Arabic text for an application ...... 161 Using the iconv command ........ 81 Layout (bidirectional text and character shaping) Understanding libiconv ......... 81 overview .............. 162 Using converters ............ 85 Supported languages and locales ....... 166 Code set conversion filter example ..... 85 Globalization reference .......... 173 Naming converters ........... 87 Globalization checklist ......... 173 List of converters ............ 87 List of multicultural support subroutines ... 179 PC, ISO, and EBCDIC code set converters ... 87 Character maps............. 184 Multibyte code set converters ....... 91 ISO code sets ............ 184 Interchange converters—7-bit ....... 95 IBM PC code sets ........... 202 © Copyright IBM Corp. 2015, 2018 iii Multicultural support sample program ..... 218 Notices .............. 227 Message source file for my_example..... 219 Privacy policy considerations ........ 229 Creation of message header file for my_example 219 Trademarks .............. 229 Single-source, single-path code set independent version .............. 219 Index ............... 231 Single-source, dual-path version optimized for single-byte code sets .......... 221 Use of the libcur package ......... 224 iv AIX Version 7.2: AIX globalization About this document This publication provides application programmers with complete information about enabling applications for multicultural support for the AIX® operating system. It also provides system administrators with complete information about enabling networked environments for using globalization features in the AIX operating system. Programmers and system administrators can use this publication to gain knowledge of globalization guidelines and principles. Topics include locales, code sets, input methods, subroutines, converters, character mapping, culture-specific information, and the message facility. Highlighting The following highlighting conventions are used in this publication: Bold Identifies commands, subroutines, keywords, files, structures, directories, and other items whose names are predefined by the system. Also identifies graphical objects such as buttons, labels, and icons that the user selects. Italics Identifies parameters whose actual names or values are to be supplied by the user. Monospace Identifies examples of specific data values, examples of text similar to what you might see displayed, examples of portions of program code similar to what you might write as a programmer, messages from the system, or information you should actually type. Case-sensitivity in AIX Everything in the AIX operating system is case-sensitive, which means that it distinguishes between uppercase and lowercase letters. For example, you can use the ls command to list files. If you type LS, the system responds that the command is not found. Likewise, FILEA, FiLea, and filea are three distinct file names, even if they reside in the same directory. To avoid causing undesirable actions to be performed, always ensure that you use the correct case. ISO 9000 ISO 9000 registered quality systems were used in the development and manufacturing of this product. © Copyright IBM Corp. 2015, 2018 v vi AIX Version 7.2: AIX globalization AIX globalization Globalization provides commands and Standard C Library subroutines for a single worldwide system base. An globalized system has no built-in assumptions or dependencies on language-specific or cultural-specific conventions such as: v Code sets v Character classifications v Character comparison rules v Character collation order v Numeric and monetary formatting v Date and time formatting v Message-text language All information pertaining to cultural conventions and language is obtained at process run time. The following capabilities are provided by the globalization features to maintain a system running in an international environment: v “Separation of messages from programs” v “Conversion between code sets” What's new in AIX globalization Read about new or significantly changed information for the AIX globalization topic collection. How to see what's new or changed In this PDF file, you might see revision bars (|) in the left margin that identify new and changed information. March 2018 Added the IBM-858 code set to the Non-Unicode encoded languages and locales in AIX table in the “Supported languages and locales” on page 166 topic. Separation of messages from programs It is necessary to keep messages separate from the programs and provide them in the form of message catalogs that a program can access at run time. It facilitates translations of messages into various languages and to make the translated messages available to the program based on a user's locale. Related concepts: “Message facility” on page 147 It is necessary to keep messages separate from the program by providing them in the form of message catalogs that the program can access at run time. This arrangement facilitates translations of messages into various languages and make them available to a program based on a user's locale. To aid in this task, commands and subroutines are provided by the Message Facility. Conversion between code sets A character is any symbol that is used for the organization, control, or representation of data. A group of such symbols that are used to describe a particular language make up a character set. A code set contains © Copyright IBM Corp. 2015, 2018 1 the encoding values for a character set. The encoding values in a code set provide an interface between the system and its input and output devices. Multicultural