• Preface
  • Open32 NLS Extension Overview
    • Abstract
    • Understanding Win32 National Language Support
    • Design of Open32 National Language Support
    • Writing International Applications using Open32
  • Input Method / Keyboard Support
    • Overview
    • Key Design Points
    • Functional Description by API or Message
      • ImmAssociateContext
      • ImmConfigureIME
      • ImmCreateContext
      • ImmDestroyContext
      • ImmEnumRegisterWord
      • ImmEscape
      • ImmGetCandidateList
      • ImmGetCandidateListCount
      • ImmGetCandidateWindow
      • ImmGetCompositionFont
      • ImmGetCompositionString
      • ImmGetCompositionWindow
      • ImmGetContext
      • ImmGetConversionList
      • ImmGetConversionStatus
      • ImmGetDefaultIMEWnd
      • ImmGetGuideLine
      • ImmGetIMEFileName
      • ImmGetOpenStatus
      • ImmGetProperty
      • ImmGetRegisterWordStyle
      • ImmGetStatusWindowPos
      • ImmGetVirtualKey
      • ImmIsIME
      • ImmIsUIMessage
      • ImmNotifyIME
      • ImmRegisterWord
      • ImmReleaseContext
      • ImmSetCandidateWindow
      • ImmSetCompositionFont
      • ImmSetCompositionString
      • ImmSetCompositionWindow
      • ImmSetConversionStatus
      • ImmSetOpenStatus
      • ImmSetStatusWindowPos
      • ImmSimulateHotKey
      • ImmUnregisterWord
      • CreateWindowEx
      • DefDlgProc
      • DefFrameProc
      • DefWindowProc
      • ActivateKeyboardLayout
      • GetKeyboardLayout
      • GetKeyboardLayoutList
      • MapVirtualKeyEx
      • ToAsciiEx
      • VkKeyScanEx
      • GetKeyNameText
      • GetKeyState
      • WM_CHAR
      • WM_IME_CHAR message
      • WN_IME_COMPOSITION message
      • WM_IME_COMPOSITIONFULL
      • WM_IME_CONTROL
      • IMC_CLOSESTATUSWINDOW
      • IMC_GETCANDIDATEPOS
      • IMC_GETCOMPOSITIONWINDOW
      • IMC_GETSTATUSWINDOWPOS
      • IMC_OPENSTATUSWINDOW
      • IMC_SETCANDIDATEPOS
      • IMC_SETCOMPOSITIONFONT
      • IMC_SETCOMPOSITIONWINDOW
      • IMC_SETSTATUSWINDOWPOS
      • WM_IME_ENDCOMPOSITION
      • WM_IME_KEYDOWN
      • WM_IME_KEYUP
      • WM_IME_NOTIFY
      • IMN_CHANGECANDIDATE
      • IMN_CLOSECANDIDATE
      • IMN_CLOSESTATUSWINDOW
      • IMN_GUIDELINE
      • IMN_OPENCANDIDATE
      • IMN_OPENSTATUSWINDOW
      • IMN_SETCANDIDATEPOS
      • IMN_SETCOMPOSITIONFONT
      • IMN_SETCOMPOSITIONWINDOW
      • IMN_SETCONVERSIONMODE
      • IMN_SETOPENSTATUS
      • IMN_SETSENTENCEMODE
      • IMN_SETSTATUSWINDOWPOS
      • WM_IME_SELECT
      • WM_IME_SETCONTEXT
      • WM_IME_STARTCOMPOSITION
      • WM_INPUTLANGCHANGEREQUEST
      • WM_INPUTLANGCHANGE
  • Font
    • Overview
    • Key Design Points
      • Understanding Differences between OS/2 Fonts and Windows Fonts
      • Differences in Application Programming
      • Required Functionality in Open32 NLS Extension
      • The Metrics Mapping
        • CharSet
          • PitchAndFamily
        • The Font Mapper
        • Vertical Writing Support
        • The System Predefined Fonts
      • Functional Description by API
        • ChooseFont (Modify)
        • CreateFont/CreateFontIndirect (Modify)
        • EnumFonts (Modify)
        • EnumFontFamilies (Modify)
        • EnumFontFamiliesEx (New)
        • GetTextMetrics (Modify)
        • GetOutlineTextMetrics (Modify)
        • GetTextAlign/SetTextAlign (Modify)
        • SelectObject (Modify)
        • TranslateCharsetInfo (New)
        • GetTextCharsetInfo (New)
    • Codepage, Locale, Unicode Support
      • Overview
      • Key Design Points
        • NLS Overview of Windows 95 and OS/2
        • NLS Implementation on Open32
          • National Language Support Policy on Open32
          • Windows Country Code v.s. OS/2 Country Code
          • Supported / Installed Codepages
          • Windows Codepage v.s. OS/2 Codepage
          • Comparison Table of Supported Codepages
          • System Default, ANSI Codepage and OEM Codepage
          • Supported / Installed Locales
          • System Default / User Default Locale ID
          • Thread Locale ID
          • User-override of Locale Information
          • Neutral Language
          • Locale in Clipboard
          • DDEML
          • Conversion To / From Unicode
          • Output of Unicode Character
          • Mapping From WIN32 Locale Item To OS/2 Locale Item
          • Mapping From WIN32 Char Type (CT_CTYPE) To OS/2 Char Type (LC_CTYPE)
          • Mapping From WIN32 Char Type Query To OS/2 Char Type Query
      • Functional Description by API or Message
        • ConvertDefaultLocale
        • EnumSystemCodePages
        • EnumSystemLocales
        • GetCPInfo
        • GetLocaleInfo
        • GetSystemDefaultLCID
        • GetSystemDefaultLangID
        • GetThreadLocale
        • GetUserDefaultLCID
        • GetUserDefaultLangID
        • IsValidCodePage
        • IsValidLocale
        • SetLocaleInfo
        • EnumCalendarInfo
        • EnumDateFormats
        • EnumTimeFormats
        • GetCurrencyFormat
        • GetDateFormat
        • GetNumberFormat
        • GetTimeFormat
        • CompareString
        • GetStringTypeA, GetStringTypeEx
        • IsDBCSLeadByteEx
        • LCMapString
        • MultiByteToWideChar, WideCharToMultiByte
        • GetClipboardData, SetClipboardData
        • IsChar* (IsCharAlpha,IsCharAlphaNumeric,IsCharLower,IsCharUpper)
        • lstrcmp,lstrcmpi
        • CharNextExA,CharPrevExA
        • TextOutW, ExtTextOutW
        • GetCharWidthW
        • GetTextExtentPointW
        • GetTextExtentExPointW
        • MessageBoxW
        • Macros
        • DdeConnect
        • DdeCreateStringHandle
        • DdeQueryString
        • SystemParametersInfo
        • GetSystemMetrix
    • Appendix A - Summary of APIs, Messages, Macros
      • New APIs
      • Modified APIs
      • New Messages
      • Modified Messages
      • New Macros
    • Appendix B - Reference Document
      • Public Document