📄 olenls.h
字号:
/***
*olenls.h - National language support functions.
*
* Copyright (C) 1992-1996, Microsoft Corporation. All Rights Reserved.
*
*Purpose:
* This describes the NLSAPI functions for Win16 and Mac. This is a subset
* of Win32 NLSAPI, and is a non-Unicode version.
*
*Implementation Notes:
* This files is largely ported from the Win32 header winnls.h.
*
*****************************************************************************/
#ifndef _OLENLS_
#define _OLENLS_
#ifndef NONLS
#ifdef __cplusplus
extern "C" {
#endif
#ifndef EXTERN_C
# ifdef __cplusplus
# define EXTERN_C extern "C"
# else
# define EXTERN_C extern
# endif
#endif
#ifdef __MACAPI__
# ifndef FAR
# define FAR
# endif
# ifdef _MSC_VER
# define NLSAPI_(TYPE) EXTERN_C TYPE __pascal
# else
# define NLSAPI_(TYPE) EXTERN_C pascal TYPE
# endif
#else
# define NLSAPI_(TYPE) EXTERN_C TYPE WINAPI
#endif
/***************************************************************************\
* Constants
*
* Define all constants for the NLS component here.
\***************************************************************************/
/*
* Character Type Flags.
*/
#define CT_CTYPE1 0x00000001 /* ctype 1 information */
#define CT_CTYPE2 0x00000002 /* ctype 2 information */
#define CT_CTYPE3 0x00000004 /* ctype 3 information */
/*
* CType 1 Flag Bits.
*/
#define C1_UPPER 0x0001 /* upper case */
#define C1_LOWER 0x0002 /* lower case */
#define C1_DIGIT 0x0004 /* decimal digits */
#define C1_SPACE 0x0008 /* spacing characters */
#define C1_PUNCT 0x0010 /* punctuation characters */
#define C1_CNTRL 0x0020 /* control characters */
#define C1_BLANK 0x0040 /* blank characters */
#define C1_XDIGIT 0x0080 /* other digits */
#define C1_ALPHA 0x0100 /* any letter */
/*
* CType 2 Flag Bits.
*/
#define C2_LEFTTORIGHT 0x1 /* left to right */
#define C2_RIGHTTOLEFT 0x2 /* right to left */
#define C2_EUROPENUMBER 0x3 /* European number, digit */
#define C2_EUROPESEPARATOR 0x4 /* European numeric separator */
#define C2_EUROPETERMINATOR 0x5 /* European numeric terminator */
#define C2_ARABICNUMBER 0x6 /* Arabic number */
#define C2_COMMONSEPARATOR 0x7 /* common numeric separator */
#define C2_BLOCKSEPARATOR 0x8 /* block separator */
#define C2_SEGMENTSEPARATOR 0x9 /* segment separator */
#define C2_WHITESPACE 0xA /* white space */
#define C2_OTHERNEUTRAL 0xB /* other neutrals */
#define C2_NOTAPPLICABLE 0x0 /* no implicit directionality */
/*
* CType 3 Flag Bits.
*/
#define C3_NONSPACING 0x0001 /* nonspacing character */
#define C3_DIACRITIC 0x0002 /* diacritic mark */
#define C3_VOWELMARK 0x0004 /* vowel mark */
#define C3_SYMBOL 0x0008 /* symbols */
#define C3_KATAKANA 0x0010
#define C3_HIRAGANA 0x0020
#define C3_HALFWIDTH 0x0040
#define C3_FULLWIDTH 0x0080
#define C3_IDEOGRAPH 0x0100
#define C3_KASHIDA 0x0200
#define C3_ALPHA 0x8000
#define C3_NOTAPPLICABLE 0x0 /* ctype 3 is not applicable */
/*
* String Flags.
*/
#define NORM_IGNORECASE 0x00000001 /* ignore case */
#define NORM_IGNORENONSPACE 0x00000002 /* ignore nonspacing chars */
#define NORM_IGNORESYMBOLS 0x00000004 /* ignore symbols */
#define NORM_IGNOREWIDTH 0x00000008 /* ignore width */
#define NORM_IGNOREKANATYPE 0x00000040 /* ignore kanatype */
#define NORM_IGNOREKASHIDA 0x00040000 /* ignore Arabic kashida chars */
/*
* Locale Dependent Mapping Flags.
*/
#define LCMAP_LOWERCASE 0x00000100 /* lower case letters */
#define LCMAP_UPPERCASE 0x00000200 /* upper case letters */
#define LCMAP_SORTKEY 0x00000400 /* WC sort key (normalize) */
#define LCMAP_HALFWIDTH 0x00000800 /* narrow pitch case letters */
#define LCMAP_FULLWIDTH 0x00001000 /* wide picth case letters */
#define LCMAP_HIRAGANA 0x00002000 /* map katakana to hiragana */
#define LCMAP_KATAKANA 0x00004000 /* map hiragana to katakana */
/*
* Language IDs.
*
* The following two combinations of primary language ID and
* sublanguage ID have special semantics:
*
* Primary Language ID Sublanguage ID Result
* ------------------- --------------- ------------------------
* LANG_NEUTRAL SUBLANG_NEUTRAL Language neutral
* LANG_NEUTRAL SUBLANG_DEFAULT Process default language
* LANG_NEUTRAL SUBLANG_SYS_DEFAULT System default language
*/
/*
* Primary language IDs.
*/
#define LANG_NEUTRAL 0x00
#define LANG_ALBANIAN 0x1c
#define LANG_ARABIC 0x01
#define LANG_BAHASA 0x21
#define LANG_BULGARIAN 0x02
#define LANG_CATALAN 0x03
#define LANG_CHINESE 0x04
#define LANG_CZECH 0x05
#define LANG_DANISH 0x06
#define LANG_DUTCH 0x13
#define LANG_ENGLISH 0x09
#define LANG_FINNISH 0x0b
#define LANG_FRENCH 0x0c
#define LANG_GERMAN 0x07
#define LANG_GREEK 0x08
#define LANG_HEBREW 0x0d
#define LANG_HUNGARIAN 0x0e
#define LANG_ICELANDIC 0x0f
#define LANG_ITALIAN 0x10
#define LANG_JAPANESE 0x11
#define LANG_KOREAN 0x12
#define LANG_NORWEGIAN 0x14
#define LANG_POLISH 0x15
#define LANG_PORTUGUESE 0x16
#define LANG_RHAETO_ROMAN 0x17
#define LANG_ROMANIAN 0x18
#define LANG_RUSSIAN 0x19
#define LANG_SERBO_CROATIAN 0x1a
#define LANG_SLOVAK 0x1b
#define LANG_SPANISH 0x0a
#define LANG_SWEDISH 0x1d
#define LANG_THAI 0x1e
#define LANG_TURKISH 0x1f
#define LANG_URDU 0x20
/*
* Sublanguage IDs.
*
* The name immediately following SUBLANG_ dictates which primary
* language ID that sublanguage ID can be combined with to form a
* valid language ID.
*/
#define SUBLANG_NEUTRAL 0x00 /* language neutral */
#define SUBLANG_DEFAULT 0x01 /* user default */
#define SUBLANG_SYS_DEFAULT 0x02 /* system default */
#define SUBLANG_CHINESE_SIMPLIFIED 0x02 /* Chinese (Simplified) */
#define SUBLANG_CHINESE_TRADITIONAL 0x01 /* Chinese (Traditional) */
#define SUBLANG_DUTCH 0x01 /* Dutch */
#define SUBLANG_DUTCH_BELGIAN 0x02 /* Dutch (Belgian) */
#define SUBLANG_ENGLISH_US 0x01 /* English (USA) */
#define SUBLANG_ENGLISH_UK 0x02 /* English (UK) */
#define SUBLANG_ENGLISH_AUS 0x03 /* English (Australian) */
#define SUBLANG_ENGLISH_CAN 0x04 /* English (Canadian) */
#define SUBLANG_ENGLISH_NZ 0x05 /* English (New Zealand) */
#define SUBLANG_ENGLISH_EIRE 0x06 /* English (Irish) */
#define SUBLANG_FRENCH 0x01 /* French */
#define SUBLANG_FRENCH_BELGIAN 0x02 /* French (Belgian) */
#define SUBLANG_FRENCH_CANADIAN 0x03 /* French (Canadian) */
#define SUBLANG_FRENCH_SWISS 0x04 /* French (Swiss) */
#define SUBLANG_GERMAN 0x01 /* German */
#define SUBLANG_GERMAN_SWISS 0x02 /* German (Swiss) */
#define SUBLANG_GERMAN_AUSTRIAN 0x03 /* German (Austrian) */
#define SUBLANG_ITALIAN 0x01 /* Italian */
#define SUBLANG_ITALIAN_SWISS 0x02 /* Italian (Swiss) */
#define SUBLANG_NORWEGIAN_BOKMAL 0x01 /* Norwegian (Bokmal) */
#define SUBLANG_NORWEGIAN_NYNORSK 0x02 /* Norwegian (Nynorsk) */
#define SUBLANG_PORTUGUESE 0x02 /* Portuguese */
#define SUBLANG_PORTUGUESE_BRAZILIAN 0x01 /* Portuguese (Brazilian) */
#define SUBLANG_SERBO_CROATIAN_CYRILLIC 0x02 /* Serbo-Croatian (Cyrillic) */
#define SUBLANG_SERBO_CROATIAN_LATIN 0x01 /* Croato-Serbian (Latin) */
#define SUBLANG_SPANISH 0x01 /* Spanish */
#define SUBLANG_SPANISH_MEXICAN 0x02 /* Spanish (Mexican) */
#define SUBLANG_SPANISH_MODERN 0x03 /* Spanish (Modern) */
/*
* Country Codes.
*/
#define CTRY_DEFAULT 0
#define CTRY_AUSTRALIA 61 /* Australia */
#define CTRY_AUSTRIA 43 /* Austria */
#define CTRY_BELGIUM 32 /* Belgium */
#define CTRY_BRAZIL 55 /* Brazil */
#define CTRY_CANADA 2 /* Canada */
#define CTRY_DENMARK 45 /* Denmark */
#define CTRY_FINLAND 358 /* Finland */
#define CTRY_FRANCE 33 /* France */
#define CTRY_GERMANY 49 /* Germany */
#define CTRY_ICELAND 354 /* Iceland */
#define CTRY_IRELAND 353 /* Ireland */
#define CTRY_ITALY 39 /* Italy */
#define CTRY_JAPAN 81 /* Japan */
#define CTRY_MEXICO 52 /* Mexico */
#define CTRY_NETHERLANDS 31 /* Netherlands */
#define CTRY_NEW_ZEALAND 64 /* New Zealand */
#define CTRY_NORWAY 47 /* Norway */
#define CTRY_PORTUGAL 351 /* Portugal */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -