Commit c4b8b266 authored by Nerijus Baliunas's avatar Nerijus Baliunas Committed by Alexandre Julliard

Add new encodings ISO 8859-10 (cp28600), 8859-13 (cp28603), 8859-14 (cp28604),

8859-15 (cp28605). Add Lithuanian (Baltic) keyboard layout.
parent 3ef4f43c
......@@ -86,6 +86,7 @@ static const char* INIDefaultSansSerif = "DefaultSansSerif";
/* FIXME - are there any more Latin charsets ? */
/* FIXME - RUSSIAN, ARABIC, GREEK, HEBREW are NOT Latin */
#define IS_LATIN_CHARSET(ch) \
((ch)==ANSI_CHARSET ||\
(ch)==EE_CHARSET ||\
......@@ -96,7 +97,9 @@ static const char* INIDefaultSansSerif = "DefaultSansSerif";
(ch)==GREEK_CHARSET ||\
(ch)==HEBREW_CHARSET ||\
(ch)==TURKISH_CHARSET ||\
(ch)==BALTIC_CHARSET)
(ch)==ISO10_CHARSET ||\
(ch)==BALTIC_CHARSET ||\
(ch)==CELTIC_CHARSET)
/* suffix-charset mapping tables - must be less than 254 entries long */
......@@ -126,12 +129,12 @@ static const SuffixCharset sufch_iso8859[] = {
{ "7", GREEK_CHARSET, 28597, X11DRV_CPTABLE_SBCS },
{ "8", HEBREW_CHARSET, 28598, X11DRV_CPTABLE_SBCS },
{ "9", TURKISH_CHARSET, 28599, X11DRV_CPTABLE_SBCS },
{ "10", BALTIC_CHARSET, 1257, X11DRV_CPTABLE_SBCS }, /* FIXME */
{ "10", ISO10_CHARSET, 28600, X11DRV_CPTABLE_SBCS },
{ "11", THAI_CHARSET, 874, X11DRV_CPTABLE_SBCS }, /* FIXME */
{ "12", SYMBOL_CHARSET, CP_SYMBOL, X11DRV_CPTABLE_SBCS },
{ "13", SYMBOL_CHARSET, CP_SYMBOL, X11DRV_CPTABLE_SBCS },
{ "14", SYMBOL_CHARSET, CP_SYMBOL, X11DRV_CPTABLE_SBCS },
{ "15", ANSI_CHARSET, 1252, X11DRV_CPTABLE_SBCS },
{ "13", BALTIC_CHARSET, 28603, X11DRV_CPTABLE_SBCS },
{ "14", CELTIC_CHARSET, 28604, X11DRV_CPTABLE_SBCS },
{ "15", ANSI_CHARSET, 28605, X11DRV_CPTABLE_SBCS },
{ NULL, ANSI_CHARSET, 1252, X11DRV_CPTABLE_SBCS }};
static const SuffixCharset sufch_microsoft[] = {
......@@ -172,6 +175,7 @@ static const SuffixCharset sufch_windows[] = {
static const SuffixCharset sufch_koi8[] = {
{ "r", RUSSIAN_CHARSET, 20866, X11DRV_CPTABLE_SBCS },
{ "ru", RUSSIAN_CHARSET, 20866, X11DRV_CPTABLE_SBCS },
{ "u", RUSSIAN_CHARSET, 20866, X11DRV_CPTABLE_SBCS },
{ NULL, RUSSIAN_CHARSET, 20866, X11DRV_CPTABLE_SBCS }};
......
......@@ -663,7 +663,7 @@ typedef struct
#define TURKISH_CHARSET (BYTE)162 /* CP1254, -iso8859-9 */
#define HEBREW_CHARSET (BYTE)177 /* CP1255, -iso8859-8 */
#define ARABIC_CHARSET (BYTE)178 /* CP1256, -iso8859-6 */
#define BALTIC_CHARSET (BYTE)186 /* CP1257, -iso8859-10 */
#define BALTIC_CHARSET (BYTE)186 /* CP1257, -iso8859-13 */
#define RUSSIAN_CHARSET (BYTE)204 /* CP1251, -iso8859-5 */
#define EE_CHARSET (BYTE)238 /* CP1250, -iso8859-2 */
#define EASTEUROPE_CHARSET EE_CHARSET
......@@ -679,6 +679,8 @@ typedef struct
#define KOI8_CHARSET (BYTE)242 /* koi8-{r,u,ru} */
#define ISO3_CHARSET (BYTE)243 /* iso8859-3 */
#define ISO4_CHARSET (BYTE)244 /* iso8859-4 */
#define ISO10_CHARSET (BYTE)245 /* iso8859-10 */
#define CELTIC_CHARSET (BYTE)246 /* iso8859-14 */
#define FS_LATIN1 0x00000001L
#define FS_LATIN2 0x00000002L
......
......@@ -62,7 +62,11 @@ CODEPAGES = \
28596 \
28597 \
28598 \
28599
28599 \
28600 \
28603 \
28604 \
28605
C_SRCS = \
casemap.c \
......
/* code page 28592 (ISO 8859-2 Eastern Europe) */
/* code page 28592 (ISO 8859-2 Latin 2 (East European)) */
/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT */
/* DO NOT EDIT!! */
......@@ -643,7 +643,7 @@ static const unsigned short uni2cp_high[256] =
const struct sbcs_table cptable_28592 =
{
{ 28592, 1, 0x003f, 0x003f, "ISO 8859-2 Eastern Europe" },
{ 28592, 1, 0x003f, 0x003f, "ISO 8859-2 Latin 2 (East European)" },
cp2uni,
uni2cp_low,
uni2cp_high
......
/* code page 28593 (ISO 8859-3 Turkish) */
/* code page 28593 (ISO 8859-3 Latin 3 (South European)) */
/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT */
/* DO NOT EDIT!! */
......@@ -643,7 +643,7 @@ static const unsigned short uni2cp_high[256] =
const struct sbcs_table cptable_28593 =
{
{ 28593, 1, 0x003f, 0x003f, "ISO 8859-3 Turkish" },
{ 28593, 1, 0x003f, 0x003f, "ISO 8859-3 Latin 3 (South European)" },
cp2uni,
uni2cp_low,
uni2cp_high
......
/* code page 28594 (ISO 8859-4 Baltic) */
/* code page 28594 (ISO 8859-4 Latin 4 (Baltic old)) */
/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT */
/* DO NOT EDIT!! */
......@@ -643,7 +643,7 @@ static const unsigned short uni2cp_high[256] =
const struct sbcs_table cptable_28594 =
{
{ 28594, 1, 0x003f, 0x003f, "ISO 8859-4 Baltic" },
{ 28594, 1, 0x003f, 0x003f, "ISO 8859-4 Latin 4 (Baltic old)" },
cp2uni,
uni2cp_low,
uni2cp_high
......
/* code page 28599 (ISO 8859-9 Latin 5) */
/* code page 28599 (ISO 8859-9 Latin 5 (Turkish)) */
/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-9.TXT */
/* DO NOT EDIT!! */
......@@ -643,7 +643,7 @@ static const unsigned short uni2cp_high[256] =
const struct sbcs_table cptable_28599 =
{
{ 28599, 1, 0x003f, 0x003f, "ISO 8859-9 Latin 5" },
{ 28599, 1, 0x003f, 0x003f, "ISO 8859-9 Latin 5 (Turkish)" },
cp2uni,
uni2cp_low,
uni2cp_high
......
......@@ -66,14 +66,18 @@ $DEF_CHAR = ord '?';
[ 10081, "VENDORS/MICSFT/MAC/TURKISH.TXT", "Mac Turkish" ],
[ 20866, "VENDORS/MISC/KOI8-R.TXT", "Russian KOI8" ],
[ 28591, "ISO8859/8859-1.TXT", "ISO 8859-1 Latin 1" ],
[ 28592, "ISO8859/8859-2.TXT", "ISO 8859-2 Eastern Europe" ],
[ 28593, "ISO8859/8859-3.TXT", "ISO 8859-3 Turkish" ],
[ 28594, "ISO8859/8859-4.TXT", "ISO 8859-4 Baltic" ],
[ 28592, "ISO8859/8859-2.TXT", "ISO 8859-2 Latin 2 (East European)" ],
[ 28593, "ISO8859/8859-3.TXT", "ISO 8859-3 Latin 3 (South European)" ],
[ 28594, "ISO8859/8859-4.TXT", "ISO 8859-4 Latin 4 (Baltic old)" ],
[ 28595, "ISO8859/8859-5.TXT", "ISO 8859-5 Cyrillic" ],
[ 28596, "ISO8859/8859-6.TXT", "ISO 8859-6 Arabic" ],
[ 28597, "ISO8859/8859-7.TXT", "ISO 8859-7 Greek" ],
[ 28598, "ISO8859/8859-8.TXT", "ISO 8859-8 Hebrew" ],
[ 28599, "ISO8859/8859-9.TXT", "ISO 8859-9 Latin 5" ]
[ 28599, "ISO8859/8859-9.TXT", "ISO 8859-9 Latin 5 (Turkish)" ],
[ 28600, "ISO8859/8859-10.TXT", "ISO 8859-10 Latin 6 (Nordic)" ],
[ 28603, "ISO8859/8859-13.TXT", "ISO 8859-13 Latin 7 (Baltic)" ],
[ 28604, "ISO8859/8859-14.TXT", "ISO 8859-14 Latin 8 (Celtic)" ],
[ 28605, "ISO8859/8859-15.TXT", "ISO 8859-15 Latin 9 (Euro)" ]
);
......
......@@ -64,8 +64,12 @@ extern union cptable cptable_28596;
extern union cptable cptable_28597;
extern union cptable cptable_28598;
extern union cptable cptable_28599;
extern union cptable cptable_28600;
extern union cptable cptable_28603;
extern union cptable cptable_28604;
extern union cptable cptable_28605;
static const union cptable * const cptables[54] =
static const union cptable * const cptables[58] =
{
&cptable_037,
&cptable_042,
......@@ -121,6 +125,10 @@ static const union cptable * const cptables[54] =
&cptable_28597,
&cptable_28598,
&cptable_28599,
&cptable_28600,
&cptable_28603,
&cptable_28604,
&cptable_28605,
};
/* ### cpmap end ### */
/* Everything above this line is generated automatically by cpmap.pl */
......
......@@ -406,6 +406,15 @@ static const char main_key_LA[MAIN_LEN][4] =
"<>"
};
/*** Lithuanian (Baltic) keyboard layout (contributed by Nerijus Balinas) */
static const char main_key_LT_B[MAIN_LEN][4] =
{
"`~","","","","","","","","","((","))","-_","",
"qQ","wW","eE","rR","tT","yY","uU","iI","oO","pP","[{","]}",
"aA","sS","dD","fF","gG","hH","jJ","kK","lL",";:","'\"","\\|",
"zZ","xX","cC","vV","bB","nN","mM",",<",".>","/?"
};
/*** Layout table. Add your keyboard mappings to this list */
static const struct {
const char *comment;
......@@ -445,6 +454,7 @@ static const struct {
{"Slovak and Czech keyboard layout without dead keys", 28592, &main_key_SK_prog, &main_key_scan_qwerty, &main_key_vkey_qwerty},
{"Czech keyboard layout", 28592, &main_key_CS, &main_key_scan_qwerty, &main_key_vkey_qwerty},
{"Latin American keyboard layout", 28591, &main_key_LA, &main_key_scan_qwerty, &main_key_vkey_qwerty},
{"Lithuanian (Baltic) keyboard layout", 28603, &main_key_LT_B, &main_key_scan_qwerty, &main_key_vkey_qwerty},
{NULL, 0, NULL, NULL, NULL} /* sentinel */
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment