(C) Copyright IBM Corp. 1991, 1994. All rights reserved.
Version Notice
About This Book
Who Should Use This Book
Terms Used
Notations Used
Distinction of HOST code and PC code
DBCS in IBM Systems
SBCS
DBCS
Considerations Required to Support DBCS
No Language Knowledge Required for DBCS Enabling
Differences between SBCS and DBCS System Hardware
Uniqueness in DBCS Input, Output, and Manipulation
DBCS Supported Code Structure
Coded Character Sets
Character Set and Code Page
Combined Code Page ID (Mixture of SBCS and DBCS)
Extended Code Pages
IBM Standard and National Standard
SBCS PC Code for Each DBCS Language
DBCS PC Code for Each DBCS Language
Code Page Supported in DBCS OS/2 2.1
User Definable Characters
DBCS Alphanumeric Characters
DBCS PC Code Area Tables
Country Code and Combined Code Page
How To Use Both DBCS and SBCS in a String
DBCS Personal System Hardware
DBCS OS/2
What is DBCS OS/2
DBCS OS/2 System Structure
OS/2 Common DBCS Related Functions
DBCS OS/2 Additional and Unique Function
Where You Should Support DBCS (Hypothetical Applications)
Types of Character Data
Hypothetical Applications
Business Application (Order Entry)
Programming Language Compiler
Full Screen General Editor
General Considerations
Considerations for Enabling DBCS
Considerations for Languages
String Manipulation
Basics on String Manipulation
Data Type
Byte-Counting or Character-Counting
Byte-Based Operation or Character-Based Operation
Padding, Truncation, ...
Insertion and Appending
Comparison, Search, ...
Replacing/Overwriting Characters
Ordering
Normalization - Wide Character
Text Processing
Presentation
Keyboard Input
Keyboard and Input Methods
DBCS Keyboard and Input Method Basic
DBCS Keyboard and Keyboard Mode
DBCS Input Method
Keyboard and Input Methods in DBCS PM
Input Mechanism in DBCS PM
Frame Controls
DBCS Input and PM Application Programs
WC_DBE_KBDSTAT
WC_DBE_PECIC
WC_DBE_APPSTAT
MDI (Multiple-Document Interface)
On-The-Spot Conversion in DBCS PM
WM_CHAR
Mnemonics and Accelerator Key
Alternate Mnemonics
Accelerator Key
Control Windows in DBCS PM
DBCS PM Unique Window Controls
Dialog Box
Single Line Entry Field Control
ES_SBCS
ES_DBCS
ES_MIXED
ES_ANY
Multi-line Entry Field Control
Styles
Word Wrap
Search and Change
Case-insensitivity
Prompted Entry Field Control
Text Output
Fonts
MBCS Fonts
MBCS Raster Fonts
MBCS Font Facename and Size
MBCS Outline Fonts
Available Fonts in DBCS PM
Available Raster Fonts
Available Outline Fonts
Short Vector Outline Fonts
ATM Outline Fonts
Different Fonts Handling of DBCS OS/2
Proportional DBCS Font
System Default Font
System Default Font Size Difference
System Default Font Can Be Selected
Different Display Devices Resolution
Fonts for UDC
Font Handling Consideration in DBCS PM
Font Size Handling
Dialog Unit and Dialog Size Handling
Loading Fonts
Querying/Creating Fonts
Proportionally-Spaced Fonts
Selecting An MBCS Font
Select a Default Font
Select a Scalable Font
Summary of Font Handling
Moving Cursor
Horizontal Cursor Move
Vertical Cursor Move
Text Formatting
Word Break and Punctuation
Char Extra and Breakchar Extra
Vertical Writing
Hardware Variation
dif .Display Resolution
Printing Devices
Supported Code Pages in OS/2 API
Code Translation
WinCpTranslateChar
WinCpTranslateString
Character vs. Byte
Include Files
Database
Data Types
Byte-Counting or Character-Counting
LENGTH Scalar Function
SUBSTR Scalar Function
SQLLEN Field of SQLDA
Truncation
Constants
LIKE Predicate
For Character Strings:
For Graphic Strings:
VARGRAPHIC Scalar Function
Comparison and Ordering
Naming Conventions
Code Pages
SQLDA and SYSCOLUMNS System Catalog
Communication
Data Exchange with Host
Code Translation
Data Type
CONVERT and GET_CP_CONVERT_TABLE
TrnsDt
TrnsDt and WinCpTranslateString
3270 Emulator
5250 Emulator
3270 File Transfer
Different Keyword/Syntax
Additional Parameters
Host File Transfer Program
EHLLAPI (Emulator High-Level Language API)
OIA (Operator Information Area)
OIA Image
Code Point and Character Differences
Shift Status and CAPS Lock Status
Additional Error Status Indications
OIA Group
Session Options
EAD/NOEAD, SO/NOSO/SPACESO and Affected Functions
EAD or NOEAD
SO, NOSO or SPACESO
ESC and EOT
Field and Character Attributes
ATTRB Session Option
EAB Session Option
EAD Session Option
DBCS Considerations in General
Cursor Position
PS Position (at Copy Target)
PS Position (at Copy Source)
Search
DBCS Considerations in a Specific Function
COPY STRING TO FIELD (33)
COPY STRING TO PS (15)
GET KEY (51)
SEND KEY (3)
SET SESSION PARAMETERS (9)
LAN Server and Requester
Hints and Tips
DBCS Support in a Typical Application Model
A Typical Application Data Processing Model
Input Data
Block Device
Character Device
Other Input Device
Process Data
Output Data
Help Information
A Typical Application Module Structure
The Control Information
The country code
The code page
The language ID
The DBCS environment vector
The Handling Methods
The Handling Resources
Data Processing Style
Single Module
For both SBCS and DBCS
Avoid Hard-coding
Run-Time Dynamic Link of DBCS OS/2 Unique Functions
For All Countries (Country-Independence)
Modifying existing SBCS Products for DBCS Support
Hard─Coded Modules
Concerns on Planning
DBCS Application Development Environments
Different NLVs of Toolkit
Dialog Editor
Font Editor
RC Resource Compiler
IPFC Information Presentation Facility Compiler
Compiler Option
Sortkey
Codepage
APSYMBOL.APS File
C Programming Language Compiler
IBM C Set++ for OS/2 V2.1
C Compiler
C Runtime Library
PM Debugger
Other utilities
OS/2 System Kernel Debugger
Test Consideration
Test Phase
Functional Verification Test
SVT/PVT Phase
Test Data
File Data or Field Data
Keyboard Input Data
Display and Printer Output
SBCS Code Table of Each Combined Code Page
Japanese Extended Code Page 1041 (for 942)
Korea Extended Code Page 1040 (for 944)
Tradition Chinese Extended Code Page 1043 (for 948)
Korean Standard (KS) Code Page 1088 (for 949)
IBM GB Code Page 1115 (for 1381)
IBM BIG-5 Code Page 1114 (for 950)
Code Page 437
Code Page 850
DBCS PC Code Area Tables
DBCS PC Code Area for Korean. (934, 944)
DBCS PC Code Area for Korean. (949)
DBCS PC Code Area for Simplified Chinese (1381)
DBCS PC Code Area for Traditional Chinese (938, 948)
DBCS PC Code Area for Traditional Chinese (950)
System Structure of Each DBCS OS/2 NLVs
OS/2 H
OS/2 P
OS/2 T
Keyboard and Input Method in Each DBCS Country
Japanese Keyboard and Kana-to-Kanji Conversion
Japanese Keyboard
Japanese Input Method - Kana-to-Kanji Conversion
Korean Keyboard and Korean Input Methods
Korean Keyboard
Korean Input Method - Hangeul-to-Hanja Conversion
Chinese Keyboard and Input Methods
Keyboard and Input Methods in T-Chinese
Keyboard and Input Methods in S-Chinese
OS/2 APIs In Different NLVs
EHLLAPI In Different NLVs