104b94745Smrg/*
25104ee6eSmrg * $XTermId: charsets.h,v 1.35 2024/12/01 23:50:59 tom Exp $
304b94745Smrg */
404b94745Smrg
504b94745Smrg/*
604b94745Smrg * Copyright 2023,2024 by Thomas E. Dickey
704b94745Smrg *
804b94745Smrg *                         All Rights Reserved
904b94745Smrg *
1004b94745Smrg * Permission is hereby granted, free of charge, to any person obtaining a
1104b94745Smrg * copy of this software and associated documentation files (the
1204b94745Smrg * "Software"), to deal in the Software without restriction, including
1304b94745Smrg * without limitation the rights to use, copy, modify, merge, publish,
1404b94745Smrg * distribute, sublicense, and/or sell copies of the Software, and to
1504b94745Smrg * permit persons to whom the Software is furnished to do so, subject to
1604b94745Smrg * the following conditions:
1704b94745Smrg *
1804b94745Smrg * The above copyright notice and this permission notice shall be included
1904b94745Smrg * in all copies or substantial portions of the Software.
2004b94745Smrg *
2104b94745Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
2204b94745Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
2304b94745Smrg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
2404b94745Smrg * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
2504b94745Smrg * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
2604b94745Smrg * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
2704b94745Smrg * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2804b94745Smrg *
2904b94745Smrg * Except as contained in this notice, the name(s) of the above copyright
3004b94745Smrg * holders shall not be used in advertising or otherwise to promote the
3104b94745Smrg * sale, use or other dealings in this Software without prior written
3204b94745Smrg * authorization.
3304b94745Smrg */
3404b94745Smrg
3504b94745Smrg#ifndef included_charsets_h
3604b94745Smrg#define included_charsets_h 1
3704b94745Smrg
3804b94745Smrg/*
3904b94745Smrg * According to
4004b94745Smrg *  Digital ANSI-Compliant Printing Protocol
4104b94745Smrg *  Level 2 Programming Reference Manual
4204b94745Smrg *  EK-PPLV2-PM. B01
4304b94745Smrg *
4404b94745Smrg * the supplementary character sets Greek, Hebrew, Latin-5 and Latin/Cyrillic
4504b94745Smrg * are standardized by ISO:
4604b94745Smrg *  ISO Greek is 8859-7
4704b94745Smrg *  ISO Hebrew is 8859-8
4804b94745Smrg *  ISO Latin-5 is 8859-9
4904b94745Smrg *  ISO Latin/Cyrillic is 8859-5
5004b94745Smrg *
5104b94745Smrg * These are derived from the data at
5204b94745Smrg *  ftp://www.unicode.org/Public/MAPPINGS/ISO8859/
5304b94745Smrg *
5404b94745Smrg * Note: the "figure A-xx" comments refer to EK-PPLV2-PM.
5504b94745Smrg */
5604b94745Smrg
5704b94745Smrg#ifndef PUA
5804b94745Smrg#define PUA(n) (0xEEEE + (n))
5904b94745Smrg#endif
6004b94745Smrg#define UNDEF  0x2426		/* rendered as a backwards "?" */
6104b94745Smrg
6204b94745Smrg/*
6304b94745Smrg * A "codepage" is treated different from the NRC mode:  it is always enabled.
6404b94745Smrg * Reuse the UNI() macros by temporarily setting its state.
6504b94745Smrg */
6604b94745Smrg
6704b94745Smrg#if OPT_WIDE_CHARS
6804b94745Smrg#define begin_CODEPAGE(size) \
6904b94745Smrg	if (!(xw->flags & NATIONAL)) { \
7004b94745Smrg	    screen->utf8_nrc_mode++; \
7104b94745Smrg	}
7204b94745Smrg#define end_CODEPAGE() \
7304b94745Smrg	if (!(xw->flags & NATIONAL)) { \
7404b94745Smrg	    screen->utf8_nrc_mode--; \
7504b94745Smrg	}
7604b94745Smrg#else
7704b94745Smrg#define begin_CODEPAGE(size)	/* nothing */
7804b94745Smrg#define end_CODEPAGE()		/* nothing */
7904b94745Smrg#endif
8004b94745Smrg
8104b94745Smrg/*
8204b94745Smrg * xterm's original implementation of NRCS in 1998 was before Unicode became
8304b94745Smrg * prevalent.  Most of the necessary mappings could be done using definitions
8404b94745Smrg * from X11/keysymdef.h, using ISO-8859-1 as the default.
8504b94745Smrg */
8604b94745Smrg
8704b94745Smrg#define map_ASCII(code) \
8804b94745Smrg	switch (code) { \
8904b94745Smrg	    XXX(0xA0, UNDEF) \
9004b94745Smrg	    XXX(0xFF, UNDEF) \
9104b94745Smrg	}
9204b94745Smrg
9304b94745Smrg#define unmap_ASCII(code,dft) \
9404b94745Smrg	switch (code) { \
9504b94745Smrg	    MAP(0xA0, 0x1B) \
9604b94745Smrg	    MAP(0xFF, 0x10000) \
9704b94745Smrg	    default: dft; break; \
9804b94745Smrg	}
9904b94745Smrg
10004b94745Smrg#define map_DEC_Spec_Graphic(code) \
10104b94745Smrg	begin_CODEPAGE(94) \
10204b94745Smrg	switch (code) { \
10304b94745Smrg	    XXX(0x5F, UNDEF) \
10404b94745Smrg	    UNI(0x60, 0x0020)	/* nbsp, treat as blank */ \
10504b94745Smrg	    UNI(0x61, 0x0020)	/* reserved, treat as blank */ \
10604b94745Smrg	    UNI(0x62, 0x25AE)	/* black vertical rectangle */ \
10704b94745Smrg	    UNI(0x63, 0x215F)	/* "1/" */ \
10804b94745Smrg	    UNI(0x64, 0x0020)	/* "3/", not in Unicode, ignore */ \
10904b94745Smrg	    UNI(0x65, 0x0020)	/* "5/", not in Unicode, ignore */ \
11004b94745Smrg	    UNI(0x66, 0x0020)	/* "7/", not in Unicode, ignore */ \
11104b94745Smrg	    UNI(0x67, 0x00B0)	/* degree sign */ \
11204b94745Smrg	    UNI(0x68, 0x00B1)	/* plus-minus sign */ \
11304b94745Smrg	    UNI(0x69, 0x2192)	/* right-arrow */ \
11404b94745Smrg	    UNI(0x6A, 0x2026)	/* ellipsis */ \
11504b94745Smrg	    UNI(0x6B, 0x00F7)	/* divide by */ \
11604b94745Smrg	    UNI(0x6C, 0x2193)	/* down arrow */ \
11704b94745Smrg	    UNI(0x6D, 0x23BA)	/* bar at scan 0 */ \
11804b94745Smrg	    UNI(0x6E, 0x23BA)	/* bar at scan 1 */ \
11904b94745Smrg	    UNI(0x6F, 0x23BB)	/* bar at scan 2 */ \
12004b94745Smrg	    UNI(0x70, 0x23BB)	/* bar at scan 3 */ \
12104b94745Smrg	    UNI(0x71, 0x23BC)	/* bar at scan 4 */ \
12204b94745Smrg	    UNI(0x72, 0x23BC)	/* bar at scan 5 */ \
12304b94745Smrg	    UNI(0x73, 0x23BD)	/* bar at scan 6 */ \
12404b94745Smrg	    UNI(0x74, 0x23BD)	/* bar at scan 7 */ \
12504b94745Smrg	    UNI(0x75, 0x2080)	/* subscript 0 */ \
12604b94745Smrg	    UNI(0x76, 0x2081)	/* subscript 1 */ \
12704b94745Smrg	    UNI(0x77, 0x2082)	/* subscript 2 */ \
12804b94745Smrg	    UNI(0x78, 0x2083)	/* subscript 3 */ \
12904b94745Smrg	    UNI(0x79, 0x2084)	/* subscript 4 */ \
13004b94745Smrg	    UNI(0x7A, 0x2085)	/* subscript 5 */ \
13104b94745Smrg	    UNI(0x7B, 0x2086)	/* subscript 6 */ \
13204b94745Smrg	    UNI(0x7C, 0x2087)	/* subscript 7 */ \
13304b94745Smrg	    UNI(0x7D, 0x2088)	/* subscript 8 */ \
13404b94745Smrg	    UNI(0x7E, 0x2089)	/* subscript 9 */ \
13504b94745Smrg	} \
13604b94745Smrg	end_CODEPAGE()
13704b94745Smrg
13804b94745Smrg#define unmap_DEC_Spec_Graphic(code,dft) \
13904b94745Smrg	switch (code) { \
14004b94745Smrg	    MAP(0x5F, 0x10000) \
14104b94745Smrg	    MAP(0x60, 0x14)	/* nbsp, treat as blank */ \
14204b94745Smrg	    MAP(0x61, 0x78)	/* reserved, treat as blank */ \
14304b94745Smrg	    MAP(0x62, 0x0A)	/* black vertical rectangle */ \
14404b94745Smrg	    MAP(0x63, 0x0D)	/* "1/" */ \
14504b94745Smrg	    MAP(0x64, 0x0E)	/* "3/", not in Unicode, ignore */ \
14604b94745Smrg	    MAP(0x65, 0x0B)	/* "5/", not in Unicode, ignore */ \
14704b94745Smrg	    MAP(0x66, 0xB0)	/* "7/", not in Unicode, ignore */ \
14804b94745Smrg	    MAP(0x67, 0xB1)	/* degree sign */ \
14904b94745Smrg	    MAP(0x68, 0x15)	/* plus-minus sign */ \
15004b94745Smrg	    MAP(0x69, 0x0C)	/* right-arrow */ \
15104b94745Smrg	    MAP(0x6A, 0x16)	/* ellipsis */ \
15204b94745Smrg	    MAP(0x6B, 0x17)	/* divide by */ \
15304b94745Smrg	    MAP(0x6C, 0x18)	/* down arrow */ \
15404b94745Smrg	    MAP(0x6D, 0x19)	/* bar at scan 0 */ \
15504b94745Smrg	    MAP(0x6E, 0x1A)	/* bar at scan 1 */ \
15604b94745Smrg	    MAP(0x6F, 0x1B)	/* bar at scan 2 */ \
15704b94745Smrg	    MAP(0x70, 0x1C)	/* bar at scan 3 */ \
15804b94745Smrg	    MAP(0x71, 0x1D)	/* bar at scan 4 */ \
15904b94745Smrg	    MAP(0x72, 0x1E)	/* bar at scan 5 */ \
16004b94745Smrg	    MAP(0x73, 0x1F)	/* bar at scan 6 */ \
16104b94745Smrg	    MAP(0x74, 0x80)	/* bar at scan 7 */ \
16204b94745Smrg	    MAP(0x75, 0x81)	/* subscript 0 */ \
16304b94745Smrg	    MAP(0x76, 0x82)	/* subscript 1 */ \
16404b94745Smrg	    MAP(0x77, 0x83)	/* subscript 2 */ \
16504b94745Smrg	    MAP(0x78, 0x84)	/* subscript 3 */ \
16604b94745Smrg	    MAP(0x79, 0x85)	/* subscript 4 */ \
16704b94745Smrg	    MAP(0x7A, 0x86)	/* subscript 5 */ \
16804b94745Smrg	    MAP(0x7B, 0xC6)	/* subscript 6 */ \
16904b94745Smrg	    MAP(0x7C, 0x87)	/* subscript 7 */ \
17004b94745Smrg	    MAP(0x7D, 0xA3)	/* subscript 8 */ \
17104b94745Smrg	    MAP(0x7E, 0xB7)	/* subscript 9 */ \
17204b94745Smrg	    default: dft; break; \
17304b94745Smrg	}
17404b94745Smrg
17504b94745Smrg#define map_ISO_Latin_1(code) \
17604b94745Smrg	begin_CODEPAGE(96) \
17704b94745Smrg	switch (code) { \
17804b94745Smrg	} \
17904b94745Smrg	end_CODEPAGE()
18004b94745Smrg
18104b94745Smrg#define unmap_ISO_Latin_1(code,dft) /* nothing */
18204b94745Smrg
18304b94745Smrg#define map_NRCS_Dutch(code) \
18404b94745Smrg	switch (code) { \
18504b94745Smrg	    MAP(0x23, XK_sterling)	/* U+00A3 POUND SIGN */ \
18604b94745Smrg	    MAP(0x40, XK_threequarters)	/* U+00BE VULGAR FRACTION THREE QUARTERS */ \
18704b94745Smrg	    UNI(0x5B, 0x0133)		/* LATIN SMALL LIGATURE IJ */ \
18804b94745Smrg	    MAP(0x5C, XK_onehalf)	/* U+00BD VULGAR FRACTION ONE HALF */ \
18904b94745Smrg	    MAP(0x5D, XK_bar)		/* U+007C VERTICAL LINE */ \
19004b94745Smrg	    MAP(0x7B, XK_diaeresis)	/* U+00A8 DIAERESIS */ \
19104b94745Smrg	    UNI(0x7C, 0x0192)		/* LATIN SMALL LETTER F WITH HOOK (florin) */ \
19204b94745Smrg	    MAP(0x7D, XK_onequarter)	/* U+00BC VULGAR FRACTION ONE QUARTER */ \
19304b94745Smrg	    MAP(0x7E, XK_acute)		/* U+00B4 ACUTE ACCENT */ \
19404b94745Smrg	}
19504b94745Smrg
19604b94745Smrg#define unmap_NRCS_Dutch(code,dft) /* nothing */
19704b94745Smrg
19804b94745Smrg#define map_NRCS_Finnish(code) \
19904b94745Smrg	switch (code) { \
20004b94745Smrg	    MAP(0x5B, XK_Adiaeresis)	/* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */ \
20104b94745Smrg	    MAP(0x5C, XK_Odiaeresis)	/* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */ \
20204b94745Smrg	    MAP(0x5D, XK_Aring)		/* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */ \
20304b94745Smrg	    MAP(0x5E, XK_Udiaeresis)	/* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */ \
20404b94745Smrg	    MAP(0x60, XK_eacute)	/* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ \
20504b94745Smrg	    MAP(0x7B, XK_adiaeresis)	/* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */ \
20604b94745Smrg	    MAP(0x7C, XK_odiaeresis)	/* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */ \
20704b94745Smrg	    MAP(0x7D, XK_aring)		/* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */ \
20804b94745Smrg	    MAP(0x7E, XK_udiaeresis)	/* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */ \
20904b94745Smrg	}
21004b94745Smrg
21104b94745Smrg#define unmap_NRCS_Finnish(code,dft) /* nothing */
21204b94745Smrg
21304b94745Smrg#define map_NRCS_French(code) \
21404b94745Smrg	switch (code) { \
21504b94745Smrg	    MAP(0x23, XK_sterling)	/* U+00A3 POUND SIGN */ \
21604b94745Smrg	    MAP(0x40, XK_agrave)	/* U+00E0 LATIN SMALL LETTER A WITH GRAVE */ \
21704b94745Smrg	    MAP(0x5B, XK_degree)	/* U+00B0 DEGREE SIGN */ \
21804b94745Smrg	    MAP(0x5C, XK_ccedilla)	/* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */ \
21904b94745Smrg	    MAP(0x5D, XK_section)	/* U+00A7 SECTION SIGN */ \
22004b94745Smrg	    MAP(0x7B, XK_eacute)	/* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ \
22104b94745Smrg	    MAP(0x7C, XK_ugrave)	/* U+00F9 LATIN SMALL LETTER U WITH GRAVE */ \
22204b94745Smrg	    MAP(0x7D, XK_egrave)	/* U+00E8 LATIN SMALL LETTER E WITH GRAVE */ \
22304b94745Smrg	    MAP(0x7E, XK_diaeresis)	/* U+00A8 DIAERESIS */ \
22404b94745Smrg	}
22504b94745Smrg
22604b94745Smrg#define unmap_NRCS_French(code,dft) /* nothing */
22704b94745Smrg
22804b94745Smrg#define map_NRCS_French_Canadian(code) \
22904b94745Smrg	switch (code) { \
23004b94745Smrg	    MAP(0x40, XK_agrave)	/* U+00E0 LATIN SMALL LETTER A WITH GRAVE */ \
23104b94745Smrg	    MAP(0x5B, XK_acircumflex)	/* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */ \
23204b94745Smrg	    MAP(0x5C, XK_ccedilla)	/* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */ \
23304b94745Smrg	    MAP(0x5D, XK_ecircumflex)	/* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */ \
23404b94745Smrg	    MAP(0x5E, XK_icircumflex)	/* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */ \
23504b94745Smrg	    MAP(0x60, XK_ocircumflex)	/* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */ \
23604b94745Smrg	    MAP(0x7B, XK_eacute)	/* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ \
23704b94745Smrg	    MAP(0x7C, XK_ugrave)	/* U+00F9 LATIN SMALL LETTER U WITH GRAVE */ \
23804b94745Smrg	    MAP(0x7D, XK_egrave)	/* U+00E8 LATIN SMALL LETTER E WITH GRAVE */ \
23904b94745Smrg	    MAP(0x7E, XK_ucircumflex)	/* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */ \
24004b94745Smrg	}
24104b94745Smrg
24204b94745Smrg#define unmap_NRCS_French_Canadian(code,dft) /* nothing */
24304b94745Smrg
24404b94745Smrg#define map_NRCS_German(code) \
24504b94745Smrg	switch (code) { \
24604b94745Smrg	    MAP(0x40, XK_section)	/* U+00A7 SECTION SIGN */ \
24704b94745Smrg	    MAP(0x5B, XK_Adiaeresis)	/* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */ \
24804b94745Smrg	    MAP(0x5C, XK_Odiaeresis)	/* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */ \
24904b94745Smrg	    MAP(0x5D, XK_Udiaeresis)	/* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */ \
25004b94745Smrg	    MAP(0x7B, XK_adiaeresis)	/* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */ \
25104b94745Smrg	    MAP(0x7C, XK_odiaeresis)	/* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */ \
25204b94745Smrg	    MAP(0x7D, XK_udiaeresis)	/* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */ \
25304b94745Smrg	    MAP(0x7E, XK_ssharp)	/* U+00DF LATIN SMALL LETTER SHARP S */ \
25404b94745Smrg	}
25504b94745Smrg
25604b94745Smrg#define unmap_NRCS_German(code,dft) /* nothing */
25704b94745Smrg
25804b94745Smrg#define map_NRCS_Italian(code) \
25904b94745Smrg	switch (code) { \
26004b94745Smrg	    MAP(0x23, XK_sterling)	/* U+00A3 POUND SIGN */ \
26104b94745Smrg	    MAP(0x40, XK_section)	/* U+00A7 SECTION SIGN */ \
26204b94745Smrg	    MAP(0x5B, XK_degree)	/* U+00B0 DEGREE SIGN */ \
26304b94745Smrg	    MAP(0x5C, XK_ccedilla)	/* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */ \
26404b94745Smrg	    MAP(0x5D, XK_eacute)	/* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ \
26504b94745Smrg	    MAP(0x60, XK_ugrave)	/* U+00F9 LATIN SMALL LETTER U WITH GRAVE */ \
26604b94745Smrg	    MAP(0x7B, XK_agrave)	/* U+00E0 LATIN SMALL LETTER A WITH GRAVE */ \
26704b94745Smrg	    MAP(0x7C, XK_ograve)	/* U+00F2 LATIN SMALL LETTER O WITH GRAVE */ \
26804b94745Smrg	    MAP(0x7D, XK_egrave)	/* U+00E8 LATIN SMALL LETTER E WITH GRAVE */ \
26904b94745Smrg	    MAP(0x7E, XK_igrave)	/* U+00EC LATIN SMALL LETTER I WITH GRAVE */ \
27004b94745Smrg	}
27104b94745Smrg
27204b94745Smrg#define unmap_NRCS_Italian(code,dft) /* nothing */
27304b94745Smrg
27404b94745Smrg#define map_NRCS_Norwegian_Danish(code) \
27504b94745Smrg	switch (code) { \
27604b94745Smrg	    MAP(0x40, XK_Adiaeresis)	/* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */ \
27704b94745Smrg	    MAP(0x5B, XK_AE)		/* U+00C6 LATIN CAPITAL LETTER AE */ \
27804b94745Smrg	    MAP(0x5C, XK_Ooblique)	/* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */ \
27904b94745Smrg	    MAP(0x5D, XK_Aring)		/* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */ \
28004b94745Smrg	    MAP(0x5E, XK_Udiaeresis)	/* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */ \
28104b94745Smrg	    MAP(0x60, XK_adiaeresis)	/* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */ \
28204b94745Smrg	    MAP(0x7B, XK_ae)		/* U+00E6 LATIN SMALL LETTER AE */ \
28304b94745Smrg	    MAP(0x7C, XK_oslash)	/* U+00F8 LATIN SMALL LETTER O WITH STROKE */ \
28404b94745Smrg	    MAP(0x7D, XK_aring)		/* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */ \
28504b94745Smrg	    MAP(0x7E, XK_udiaeresis)	/* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */ \
28604b94745Smrg	}
28704b94745Smrg
28804b94745Smrg#define unmap_NRCS_Norwegian_Danish(code,dft) /* nothing */
28904b94745Smrg
29004b94745Smrg#define map_NRCS_Portuguese(code) \
29104b94745Smrg	switch (code) { \
29204b94745Smrg	    MAP(0x5B, XK_Atilde)	/* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */ \
29304b94745Smrg	    MAP(0x5C, XK_Ccedilla)	/* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */ \
29404b94745Smrg	    MAP(0x5D, XK_Otilde)	/* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */ \
29504b94745Smrg	    MAP(0x7B, XK_atilde)	/* U+00E3 LATIN SMALL LETTER A WITH TILDE */ \
29604b94745Smrg	    MAP(0x7C, XK_ccedilla)	/* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */ \
29704b94745Smrg	    MAP(0x7D, XK_otilde)	/* U+00F5 LATIN SMALL LETTER O WITH TILDE */ \
29804b94745Smrg	}
29904b94745Smrg
30004b94745Smrg#define unmap_NRCS_Portuguese(code,dft) /* nothing */
30104b94745Smrg
30204b94745Smrg#define map_NRCS_Spanish(code) \
30304b94745Smrg	switch (code) { \
30404b94745Smrg	    MAP(0x23, XK_sterling)	/* U+00A3 POUND SIGN */ \
30504b94745Smrg	    MAP(0x40, XK_section)	/* U+00A7 SECTION SIGN */ \
30604b94745Smrg	    MAP(0x5B, XK_exclamdown)	/* U+00A1 INVERTED EXCLAMATION MARK */ \
30704b94745Smrg	    MAP(0x5C, XK_Ntilde)	/* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */ \
30804b94745Smrg	    MAP(0x5D, XK_questiondown)	/* U+00BF INVERTED QUESTION MARK */ \
30904b94745Smrg	    MAP(0x7B, XK_degree)	/* U+00B0 DEGREE SIGN */ \
31004b94745Smrg	    MAP(0x7C, XK_ntilde)	/* U+00F1 LATIN SMALL LETTER N WITH TILDE */ \
31104b94745Smrg	    MAP(0x7D, XK_ccedilla)	/* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */ \
31204b94745Smrg	}
31304b94745Smrg
31404b94745Smrg#define unmap_NRCS_Spanish(code,dft) /* nothing */
31504b94745Smrg
31604b94745Smrg#define map_NRCS_Swedish(code) \
31704b94745Smrg	switch (code) { \
31804b94745Smrg	    MAP(0x40, XK_Eacute) \
31904b94745Smrg	    MAP(0x5B, XK_Adiaeresis)	/* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */ \
32004b94745Smrg	    MAP(0x5C, XK_Odiaeresis)	/* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */ \
32104b94745Smrg	    MAP(0x5D, XK_Aring)		/* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */ \
32204b94745Smrg	    MAP(0x5E, XK_Udiaeresis)	/* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */ \
32304b94745Smrg	    MAP(0x60, XK_eacute)	/* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ \
32404b94745Smrg	    MAP(0x7B, XK_adiaeresis)	/* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */ \
32504b94745Smrg	    MAP(0x7C, XK_odiaeresis)	/* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */ \
32604b94745Smrg	    MAP(0x7D, XK_aring)		/* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */ \
32704b94745Smrg	    MAP(0x7E, XK_udiaeresis)	/* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */ \
32804b94745Smrg	}
32904b94745Smrg
33004b94745Smrg#define unmap_NRCS_Swedish(code,dft) /* nothing */
33104b94745Smrg
33204b94745Smrg#define map_NRCS_Swiss(code) \
33304b94745Smrg	switch (code) { \
33404b94745Smrg	    MAP(0x23, XK_ugrave)	/* U+00F9 LATIN SMALL LETTER U WITH GRAVE */ \
33504b94745Smrg	    MAP(0x40, XK_agrave)	/* U+00E0 LATIN SMALL LETTER A WITH GRAVE */ \
33604b94745Smrg	    MAP(0x5B, XK_eacute)	/* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ \
33704b94745Smrg	    MAP(0x5C, XK_ccedilla)	/* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */ \
33804b94745Smrg	    MAP(0x5D, XK_ecircumflex)	/* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */ \
33904b94745Smrg	    MAP(0x5E, XK_icircumflex)	/* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */ \
34004b94745Smrg	    MAP(0x5F, XK_egrave)	/* U+00E8 LATIN SMALL LETTER E WITH GRAVE */ \
34104b94745Smrg	    MAP(0x60, XK_ocircumflex)	/* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */ \
34204b94745Smrg	    MAP(0x7B, XK_adiaeresis)	/* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */ \
34304b94745Smrg	    MAP(0x7C, XK_odiaeresis)	/* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */ \
34404b94745Smrg	    MAP(0x7D, XK_udiaeresis)	/* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */ \
34504b94745Smrg	    MAP(0x7E, XK_ucircumflex)	/* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */ \
34604b94745Smrg	}
34704b94745Smrg
34804b94745Smrg#define unmap_NRCS_Swiss(code,dft) /* nothing */
34904b94745Smrg
35004b94745Smrg/*
35104b94745Smrg * Unlike NRCS, which splices a few characters onto ISO-8859-1, the
35204b94745Smrg * supplementary character sets are complete, normally mapped to GR.  Most of
35304b94745Smrg * these mappings rely upon glyphs not found in ISO-8859-1.  We can display most
35404b94745Smrg * of those using Unicode, thereby supporting specialized applications that use
35504b94745Smrg * SCS with luit, subject to the limitation that select/paste will give
35604b94745Smrg * meaningless results in terms of the application which uses these mappings.
35704b94745Smrg *
35804b94745Smrg * Since the codepages introduced with VT320, etc, use 8-bit encodings, there is
35904b94745Smrg * no plausible argument to be made that these mappings "use" UTF-8, even though
36004b94745Smrg * there is a hidden step in the terminal emulator which relies upon UTF-8.
36104b94745Smrg */
36204b94745Smrg
36304b94745Smrg#define map_DEC_Supp_Graphic(code,dft) \
36404b94745Smrg	begin_CODEPAGE(94) \
36504b94745Smrg	switch (code) { \
36604b94745Smrg	    XXX(0x24, UNDEF) \
36704b94745Smrg	    XXX(0x26, UNDEF) \
36804b94745Smrg	    UNI(0x28, 0x00A4)	/* CURRENCY SIGN */ \
36904b94745Smrg	    XXX(0x2C, UNDEF) \
37004b94745Smrg	    XXX(0x2D, UNDEF) \
37104b94745Smrg	    XXX(0x2E, UNDEF) \
37204b94745Smrg	    XXX(0x2F, UNDEF) \
37304b94745Smrg	    XXX(0x34, UNDEF) \
37404b94745Smrg	    XXX(0x38, UNDEF) \
37504b94745Smrg	    XXX(0x3E, UNDEF) \
37604b94745Smrg	    XXX(0x50, UNDEF) \
37704b94745Smrg	    UNI(0x57, 0x0152)	/* LATIN CAPITAL LIGATURE OE */ \
37804b94745Smrg	    UNI(0x5D, 0x0178)	/* LATIN CAPITAL LETTER Y WITH DIAERESIS */ \
37904b94745Smrg	    XXX(0x5E, UNDEF) \
38004b94745Smrg	    UNI(0x5F, 0x005F) \
38104b94745Smrg	    XXX(0x70, UNDEF) \
38204b94745Smrg	    UNI(0x77, 0x0153)	/* LATIN SMALL LIGATURE OE */ \
38304b94745Smrg	    UNI(0x7D, 0x00FF)	/* LATIN SMALL LETTER Y WITH DIAERESIS */ \
38404b94745Smrg	    XXX(0x7E, UNDEF) \
38504b94745Smrg	    default: dft; break; \
38604b94745Smrg	} \
38704b94745Smrg	end_CODEPAGE()
38804b94745Smrg
38904b94745Smrg#define unmap_DEC_Supp_Graphic(code,dft) \
39004b94745Smrg	switch (code) { \
39104b94745Smrg	    MAP(0x24, 0x1B) \
39204b94745Smrg	    MAP(0x26, 0x1B) \
39304b94745Smrg	    MAP(0x28, 0xA4)	/* CURRENCY SIGN */ \
39404b94745Smrg	    MAP(0x2C, 0x1B) \
39504b94745Smrg	    MAP(0x2D, 0x1B) \
39604b94745Smrg	    MAP(0x2E, 0x1B) \
39704b94745Smrg	    MAP(0x2F, 0x1B) \
39804b94745Smrg	    MAP(0x34, 0x1B) \
39904b94745Smrg	    MAP(0x38, 0x1B) \
40004b94745Smrg	    MAP(0x3E, 0x1B) \
40104b94745Smrg	    MAP(0x50, 0x1B) \
40204b94745Smrg	    MAP(0x57, 0x97)	/* LATIN CAPITAL LIGATURE OE */ \
40304b94745Smrg	    MAP(0x5D, 0x98)	/* LATIN CAPITAL LETTER Y WITH DIAERESIS */ \
40404b94745Smrg	    MAP(0x5E, 0x1B) \
40504b94745Smrg	    MAP(0x5F, 0xDF) \
40604b94745Smrg	    MAP(0x70, 0x1B) \
40704b94745Smrg	    MAP(0x77, 0x99)	/* LATIN SMALL LIGATURE OE */ \
40804b94745Smrg	    MAP(0x7D, 0xFF)	/* LATIN SMALL LETTER Y WITH DIAERESIS */ \
40904b94745Smrg	    MAP(0x7E, 0x1B) \
41004b94745Smrg	    default: dft; break; \
41104b94745Smrg	}
41204b94745Smrg
41304b94745Smrg#if OPT_WIDE_CHARS
41404b94745Smrg
41504b94745Smrg/*
41604b94745Smrg * derived from http://www.vt100.net/charsets/technical.html
41704b94745Smrg */
41804b94745Smrg#define map_DEC_Technical(code) \
41904b94745Smrg	begin_CODEPAGE(94) \
42004b94745Smrg	switch (code) { \
42104b94745Smrg	    UNI(0x21, 0x23B7)	/* RADICAL SYMBOL BOTTOM Centred left to right, so that it joins up with 02/02 */ \
42204b94745Smrg	    UNI(0x22, 0x250C)	/* BOX DRAWINGS LIGHT DOWN AND RIGHT */ \
42304b94745Smrg	    UNI(0x23, 0x2500)	/* BOX DRAWINGS LIGHT HORIZONTAL */ \
42404b94745Smrg	    UNI(0x24, 0x2320)	/* TOP HALF INTEGRAL with the proviso that the stem is vertical, to join with 02/06 */ \
42504b94745Smrg	    UNI(0x25, 0x2321)	/* BOTTOM HALF INTEGRAL with the proviso above. */ \
42604b94745Smrg	    UNI(0x26, 0x2502)	/* BOX DRAWINGS LIGHT VERTICAL */ \
42704b94745Smrg	    UNI(0x27, 0x23A1)	/* LEFT SQUARE BRACKET UPPER CORNER Joins vertically to 02/06, 02/08. Doesn't join to its right. */ \
42804b94745Smrg	    UNI(0x28, 0x23A3)	/* LEFT SQUARE BRACKET LOWER CORNER Joins vertically to 02/06, 02/07. Doesn't join to its right. */ \
42904b94745Smrg	    UNI(0x29, 0x23A4)	/* RIGHT SQUARE BRACKET UPPER CORNER Joins vertically to 026, 02a. Doesn't join to its left. */ \
43004b94745Smrg	    UNI(0x2A, 0x23A6)	/* RIGHT SQUARE BRACKET LOWER CORNER Joins vertically to 026, 029. Doesn't join to its left. */ \
43104b94745Smrg	    UNI(0x2B, 0x23A7)	/* LEFT CURLY BRACKET UPPER HOOK Joins vertically to 026, 02c, 02/15. Doesn't join to its right. */ \
43204b94745Smrg	    UNI(0x2C, 0x23A9)	/* LEFT CURLY BRACKET LOWER HOOK Joins vertically to 026, 02b, 02/15. Doesn't join to its right. */ \
43304b94745Smrg	    UNI(0x2D, 0x23AB)	/* RIGHT CURLY BRACKET UPPER HOOK Joins vertically to 026, 02e, 03/00. Doesn't join to its left. */ \
43404b94745Smrg	    UNI(0x2E, 0x23AD)	/* RIGHT CURLY BRACKET LOWER HOOK Joins vertically to 026, 02d, 03/00. Doesn't join to its left. */ \
43504b94745Smrg	    UNI(0x2F, 0x23A8)	/* LEFT CURLY BRACKET MIDDLE PIECE Joins vertically to 026, 02b, 02c. */ \
43604b94745Smrg	    UNI(0x30, 0x23AC)	/* RIGHT CURLY BRACKET MIDDLE PIECE Joins vertically to 02/06, 02d, 02e. */ \
43704b94745Smrg	    XXX(0x31, PUA(0))	/* Top Left Sigma. Joins to right with 02/03, 03/05. Joins diagonally below right with 03/03, 03/07. */ \
43804b94745Smrg	    XXX(0x32, PUA(1))	/* Bottom Left Sigma. Joins to right with 02/03, 03/06. Joins diagonally above right with 03/04, 03/07. */ \
43904b94745Smrg	    XXX(0x33, PUA(2))	/* Top Diagonal Sigma. Line for joining 03/01 to 03/04 or 03/07. */ \
44004b94745Smrg	    XXX(0x34, PUA(3))	/* Bottom Diagonal Sigma. Line for joining 03/02 to 03/03 or 03/07. */ \
44104b94745Smrg	    XXX(0x35, PUA(4))	/* Top Right Sigma. Joins to left with 02/03, 03/01. */ \
44204b94745Smrg	    XXX(0x36, PUA(5))	/* Bottom Right Sigma. Joins to left with 02/03, 03/02. */ \
44304b94745Smrg	    XXX(0x37, PUA(6))	/* Middle Sigma. Joins diagonally with 03/01, 03/02, 03/03, 03/04. */ \
44404b94745Smrg	    XXX(0x38, UNDEF)	/* undefined */ \
44504b94745Smrg	    XXX(0x39, UNDEF)	/* undefined */ \
44604b94745Smrg	    XXX(0x3A, UNDEF)	/* undefined */ \
44704b94745Smrg	    XXX(0x3B, UNDEF)	/* undefined */ \
44804b94745Smrg	    UNI(0x3C, 0x2264)	/* LESS-THAN OR EQUAL TO */ \
44904b94745Smrg	    UNI(0x3D, 0x2260)	/* NOT EQUAL TO */ \
45004b94745Smrg	    UNI(0x3E, 0x2265)	/* GREATER-THAN OR EQUAL TO */ \
45104b94745Smrg	    UNI(0x3F, 0x222B)	/* INTEGRAL */ \
45204b94745Smrg	    UNI(0x40, 0x2234)	/* THEREFORE */ \
45304b94745Smrg	    UNI(0x41, 0x221D)	/* PROPORTIONAL TO */ \
45404b94745Smrg	    UNI(0x42, 0x221E)	/* INFINITY */ \
45504b94745Smrg	    UNI(0x43, 0x00F7)	/* DIVISION SIGN */ \
45604b94745Smrg	    UNI(0x44, 0x0394)	/* GREEK CAPITAL DELTA */ \
45704b94745Smrg	    UNI(0x45, 0x2207)	/* NABLA */ \
45804b94745Smrg	    UNI(0x46, 0x03A6)	/* GREEK CAPITAL LETTER PHI */ \
45904b94745Smrg	    UNI(0x47, 0x0393)	/* GREEK CAPITAL LETTER GAMMA */ \
46004b94745Smrg	    UNI(0x48, 0x223C)	/* TILDE OPERATOR */ \
46104b94745Smrg	    UNI(0x49, 0x2243)	/* ASYMPTOTICALLY EQUAL TO */ \
46204b94745Smrg	    UNI(0x4A, 0x0398)	/* GREEK CAPITAL LETTER THETA */ \
46304b94745Smrg	    UNI(0x4B, 0x00D7)	/* MULTIPLICATION SIGN */ \
46404b94745Smrg	    UNI(0x4C, 0x039B)	/* GREEK CAPITAL LETTER LAMDA */ \
46504b94745Smrg	    UNI(0x4D, 0x21D4)	/* LEFT RIGHT DOUBLE ARROW */ \
46604b94745Smrg	    UNI(0x4E, 0x21D2)	/* RIGHTWARDS DOUBLE ARROW */ \
46704b94745Smrg	    UNI(0x4F, 0x2261)	/* IDENTICAL TO */ \
46804b94745Smrg	    UNI(0x50, 0x03A0)	/* GREEK CAPITAL LETTER PI */ \
46904b94745Smrg	    UNI(0x51, 0x03A8)	/* GREEK CAPITAL LETTER PSI */ \
47004b94745Smrg	    XXX(0x52, UNDEF)	/* undefined */ \
47104b94745Smrg	    UNI(0x53, 0x03A3)	/* GREEK CAPITAL LETTER SIGMA */ \
47204b94745Smrg	    XXX(0x54, UNDEF)	/* undefined */ \
47304b94745Smrg	    XXX(0x55, UNDEF)	/* undefined */ \
47404b94745Smrg	    UNI(0x56, 0x221A)	/* SQUARE ROOT */ \
47504b94745Smrg	    UNI(0x57, 0x03A9)	/* GREEK CAPITAL LETTER OMEGA */ \
47604b94745Smrg	    UNI(0x58, 0x039E)	/* GREEK CAPITAL LETTER XI */ \
47704b94745Smrg	    UNI(0x59, 0x03A5)	/* GREEK CAPITAL LETTER UPSILON */ \
47804b94745Smrg	    UNI(0x5A, 0x2282)	/* SUBSET OF */ \
47904b94745Smrg	    UNI(0x5B, 0x2283)	/* SUPERSET OF */ \
48004b94745Smrg	    UNI(0x5C, 0x2229)	/* INTERSECTION */ \
48104b94745Smrg	    UNI(0x5D, 0x222A)	/* UNION */ \
48204b94745Smrg	    UNI(0x5E, 0x2227)	/* LOGICAL AND */ \
48304b94745Smrg	    UNI(0x5F, 0x2228)	/* LOGICAL OR */ \
48404b94745Smrg	    UNI(0x60, 0x00AC)	/* NOT SIGN */ \
48504b94745Smrg	    UNI(0x61, 0x03B1)	/* GREEK SMALL LETTER ALPHA */ \
48604b94745Smrg	    UNI(0x62, 0x03B2)	/* GREEK SMALL LETTER BETA */ \
48704b94745Smrg	    UNI(0x63, 0x03C7)	/* GREEK SMALL LETTER CHI */ \
48804b94745Smrg	    UNI(0x64, 0x03B4)	/* GREEK SMALL LETTER DELTA */ \
48904b94745Smrg	    UNI(0x65, 0x03B5)	/* GREEK SMALL LETTER EPSILON */ \
49004b94745Smrg	    UNI(0x66, 0x03C6)	/* GREEK SMALL LETTER PHI */ \
49104b94745Smrg	    UNI(0x67, 0x03B3)	/* GREEK SMALL LETTER GAMMA */ \
49204b94745Smrg	    UNI(0x68, 0x03B7)	/* GREEK SMALL LETTER ETA */ \
49304b94745Smrg	    UNI(0x69, 0x03B9)	/* GREEK SMALL LETTER IOTA */ \
49404b94745Smrg	    UNI(0x6A, 0x03B8)	/* GREEK SMALL LETTER THETA */ \
49504b94745Smrg	    UNI(0x6B, 0x03BA)	/* GREEK SMALL LETTER KAPPA */ \
49604b94745Smrg	    UNI(0x6C, 0x03BB)	/* GREEK SMALL LETTER LAMDA */ \
49704b94745Smrg	    XXX(0x6D, UNDEF)	/* undefined */ \
49804b94745Smrg	    UNI(0x6E, 0x03BD)	/* GREEK SMALL LETTER NU */ \
49904b94745Smrg	    UNI(0x6F, 0x2202)	/* PARTIAL DIFFERENTIAL */ \
50004b94745Smrg	    UNI(0x70, 0x03C0)	/* GREEK SMALL LETTER PI */ \
50104b94745Smrg	    UNI(0x71, 0x03C8)	/* GREEK SMALL LETTER PSI */ \
50204b94745Smrg	    UNI(0x72, 0x03C1)	/* GREEK SMALL LETTER RHO */ \
50304b94745Smrg	    UNI(0x73, 0x03C3)	/* GREEK SMALL LETTER SIGMA */ \
50404b94745Smrg	    UNI(0x74, 0x03C4)	/* GREEK SMALL LETTER TAU */ \
50504b94745Smrg	    XXX(0x75, UNDEF)	/* undefined */ \
50604b94745Smrg	    UNI(0x76, 0x0192)	/* LATIN SMALL LETTER F WITH HOOK Probably chosen for its meaning of "function" */ \
50704b94745Smrg	    UNI(0x77, 0x03C9)	/* GREEK SMALL LETTER OMEGA */ \
50804b94745Smrg	    UNI(0x78, 0x03BE)	/* GREEK SMALL LETTER XI */ \
50904b94745Smrg	    UNI(0x79, 0x03C5)	/* GREEK SMALL LETTER UPSILON */ \
51004b94745Smrg	    UNI(0x7A, 0x03B6)	/* GREEK SMALL LETTER ZETA */ \
51104b94745Smrg	    UNI(0x7B, 0x2190)	/* LEFTWARDS ARROW */ \
51204b94745Smrg	    UNI(0x7C, 0x2191)	/* UPWARDS ARROW */ \
51304b94745Smrg	    UNI(0x7D, 0x2192)	/* RIGHTWARDS ARROW */ \
51404b94745Smrg	    UNI(0x7E, 0x2193)	/* DOWNWARDS ARROW */ \
51504b94745Smrg	} \
51604b94745Smrg	end_CODEPAGE()
51704b94745Smrg
51804b94745Smrg#define unmap_DEC_Technical(code,dft) \
51904b94745Smrg	switch (code) { \
52004b94745Smrg	    MAP(0x21, 0xD5)	/* RADICAL SYMBOL BOTTOM Centred left to right, so that it joins up with 02/02 */ \
52104b94745Smrg	    MAP(0x22, 0xD6)	/* BOX DRAWINGS LIGHT DOWN AND RIGHT */ \
52204b94745Smrg	    MAP(0x23, 0x1D)	/* BOX DRAWINGS LIGHT HORIZONTAL */ \
52304b94745Smrg	    MAP(0x24, 0xD7)	/* TOP HALF INTEGRAL with the proviso that the stem is vertical, to join with 02/06 */ \
52404b94745Smrg	    MAP(0x25, 0xD8)	/* BOTTOM HALF INTEGRAL with the proviso above. */ \
52504b94745Smrg	    MAP(0x26, 0x84)	/* BOX DRAWINGS LIGHT VERTICAL */ \
52604b94745Smrg	    MAP(0x27, 0xD9)	/* LEFT SQUARE BRACKET UPPER CORNER Joins vertically to 02/06, 02/08. Doesn't join to its right. */ \
52704b94745Smrg	    MAP(0x28, 0xDA)	/* LEFT SQUARE BRACKET LOWER CORNER Joins vertically to 02/06, 02/07. Doesn't join to its right. */ \
52804b94745Smrg	    MAP(0x29, 0xDB)	/* RIGHT SQUARE BRACKET UPPER CORNER Joins vertically to 026, 02a. Doesn't join to its left. */ \
52904b94745Smrg	    MAP(0x2A, 0xDC)	/* RIGHT SQUARE BRACKET LOWER CORNER Joins vertically to 026, 029. Doesn't join to its left. */ \
53004b94745Smrg	    MAP(0x2B, 0xDD)	/* LEFT CURLY BRACKET UPPER HOOK Joins vertically to 026, 02c, 02/15. Doesn't join to its right. */ \
53104b94745Smrg	    MAP(0x2C, 0xDE)	/* LEFT CURLY BRACKET LOWER HOOK Joins vertically to 026, 02b, 02/15. Doesn't join to its right. */ \
53204b94745Smrg	    MAP(0x2D, 0xDF)	/* RIGHT CURLY BRACKET UPPER HOOK Joins vertically to 026, 02e, 03/00. Doesn't join to its left. */ \
53304b94745Smrg	    MAP(0x2E, 0xE0)	/* RIGHT CURLY BRACKET LOWER HOOK Joins vertically to 026, 02d, 03/00. Doesn't join to its left. */ \
53404b94745Smrg	    MAP(0x2F, 0xE1)	/* LEFT CURLY BRACKET MIDDLE PIECE Joins vertically to 026, 02b, 02c. */ \
53504b94745Smrg	    MAP(0x30, 0xE2)	/* RIGHT CURLY BRACKET MIDDLE PIECE Joins vertically to 02/06, 02d, 02e. */ \
53604b94745Smrg	    MAP(0x31, 0xE3)	/* Top Left Sigma. Joins to right with 02/03, 03/05. Joins diagonally below right with 03/03, 03/07. */ \
53704b94745Smrg	    MAP(0x32, 0xE4)	/* Bottom Left Sigma. Joins to right with 02/03, 03/06. Joins diagonally above right with 03/04, 03/07. */ \
53804b94745Smrg	    MAP(0x33, 0xE5)	/* Top Diagonal Sigma. Line for joining 03/01 to 03/04 or 03/07. */ \
53904b94745Smrg	    MAP(0x34, 0xE6)	/* Bottom Diagonal Sigma. Line for joining 03/02 to 03/03 or 03/07. */ \
54004b94745Smrg	    MAP(0x35, 0xE7)	/* Top Right Sigma. Joins to left with 02/03, 03/01. */ \
54104b94745Smrg	    MAP(0x36, 0xE8)	/* Bottom Right Sigma. Joins to left with 02/03, 03/02. */ \
54204b94745Smrg	    MAP(0x37, 0xE9)	/* Middle Sigma. Joins diagonally with 03/01, 03/02, 03/03, 03/04. */ \
54304b94745Smrg	    MAP(0x38, 0x1B)	/* undefined */ \
54404b94745Smrg	    MAP(0x39, 0x1B)	/* undefined */ \
54504b94745Smrg	    MAP(0x3A, 0x1B)	/* undefined */ \
54604b94745Smrg	    MAP(0x3B, 0x1B)	/* undefined */ \
54704b94745Smrg	    MAP(0x3C, 0x85)	/* LESS-THAN OR EQUAL TO */ \
54804b94745Smrg	    MAP(0x3D, 0x87)	/* NOT EQUAL TO */ \
54904b94745Smrg	    MAP(0x3E, 0x86)	/* GREATER-THAN OR EQUAL TO */ \
55004b94745Smrg	    MAP(0x3F, 0xEA)	/* INTEGRAL */ \
55104b94745Smrg	    MAP(0x40, 0xEB)	/* THEREFORE */ \
55204b94745Smrg	    MAP(0x41, 0xEC)	/* PROPORTIONAL TO */ \
55304b94745Smrg	    MAP(0x42, 0xED)	/* INFINITY */ \
55404b94745Smrg	    MAP(0x43, 0xF7)	/* DIVISION SIGN */ \
55504b94745Smrg	    MAP(0x44, 0xEE)	/* GREEK CAPITAL DELTA */ \
55604b94745Smrg	    MAP(0x45, 0xEF)	/* NABLA */ \
55704b94745Smrg	    MAP(0x46, 0xAC)	/* GREEK CAPITAL LETTER PHI */ \
55804b94745Smrg	    MAP(0x47, 0x78)	/* GREEK CAPITAL LETTER GAMMA */ \
55904b94745Smrg	    MAP(0x48, 0xF0)	/* TILDE OPERATOR */ \
56004b94745Smrg	    MAP(0x49, 0xF1)	/* ASYMPTOTICALLY EQUAL TO */ \
56104b94745Smrg	    MAP(0x4A, 0x7D)	/* GREEK CAPITAL LETTER THETA */ \
56204b94745Smrg	    MAP(0x4B, 0xD7)	/* MULTIPLICATION SIGN */ \
56304b94745Smrg	    MAP(0x4C, 0xA2)	/* GREEK CAPITAL LETTER LAMDA */ \
56404b94745Smrg	    MAP(0x4D, 0xF2)	/* LEFT RIGHT DOUBLE ARROW */ \
56504b94745Smrg	    MAP(0x4E, 0xF3)	/* RIGHTWARDS DOUBLE ARROW */ \
56604b94745Smrg	    MAP(0x4F, 0xF4)	/* IDENTICAL TO */ \
56704b94745Smrg	    MAP(0x50, 0xA7)	/* GREEK CAPITAL LETTER PI */ \
56804b94745Smrg	    MAP(0x51, 0xAE)	/* GREEK CAPITAL LETTER PSI */ \
56904b94745Smrg	    MAP(0x52, 0x1B)	/* undefined */ \
57004b94745Smrg	    MAP(0x53, 0xA9)	/* GREEK CAPITAL LETTER SIGMA */ \
57104b94745Smrg	    MAP(0x54, 0x1B)	/* undefined */ \
57204b94745Smrg	    MAP(0x55, 0x1B)	/* undefined */ \
57304b94745Smrg	    MAP(0x56, 0xF5)	/* SQUARE ROOT */ \
57404b94745Smrg	    MAP(0x57, 0xAF)	/* GREEK CAPITAL LETTER OMEGA */ \
57504b94745Smrg	    MAP(0x58, 0xA5)	/* GREEK CAPITAL LETTER XI */ \
57604b94745Smrg	    MAP(0x59, 0xAB)	/* GREEK CAPITAL LETTER UPSILON */ \
57704b94745Smrg	    MAP(0x5A, 0xF6)	/* SUBSET OF */ \
57804b94745Smrg	    MAP(0x5B, 0xF7)	/* SUPERSET OF */ \
57904b94745Smrg	    MAP(0x5C, 0xF8)	/* INTERSECTION */ \
58004b94745Smrg	    MAP(0x5D, 0xF9)	/* UNION */ \
58104b94745Smrg	    MAP(0x5E, 0xFA)	/* LOGICAL AND */ \
58204b94745Smrg	    MAP(0x5F, 0xFB)	/* LOGICAL OR */ \
58304b94745Smrg	    MAP(0x60, 0xAC)	/* NOT SIGN */ \
58404b94745Smrg	    MAP(0x61, 0xB7)	/* GREEK SMALL LETTER ALPHA */ \
58504b94745Smrg	    MAP(0x62, 0xB8)	/* GREEK SMALL LETTER BETA */ \
58604b94745Smrg	    MAP(0x63, 0xCD)	/* GREEK SMALL LETTER CHI */ \
58704b94745Smrg	    MAP(0x64, 0xBA)	/* GREEK SMALL LETTER DELTA */ \
58804b94745Smrg	    MAP(0x65, 0xBB)	/* GREEK SMALL LETTER EPSILON */ \
58904b94745Smrg	    MAP(0x66, 0xCC)	/* GREEK SMALL LETTER PHI */ \
59004b94745Smrg	    MAP(0x67, 0xB9)	/* GREEK SMALL LETTER GAMMA */ \
59104b94745Smrg	    MAP(0x68, 0xBD)	/* GREEK SMALL LETTER ETA */ \
59204b94745Smrg	    MAP(0x69, 0xBF)	/* GREEK SMALL LETTER IOTA */ \
59304b94745Smrg	    MAP(0x6A, 0xBE)	/* GREEK SMALL LETTER THETA */ \
59404b94745Smrg	    MAP(0x6B, 0xC0)	/* GREEK SMALL LETTER KAPPA */ \
59504b94745Smrg	    MAP(0x6C, 0xC1)	/* GREEK SMALL LETTER LAMDA */ \
59604b94745Smrg	    MAP(0x6D, 0x1B)	/* undefined */ \
59704b94745Smrg	    MAP(0x6E, 0xC3)	/* GREEK SMALL LETTER NU */ \
59804b94745Smrg	    MAP(0x6F, 0xFC)	/* PARTIAL DIFFERENTIAL */ \
59904b94745Smrg	    MAP(0x70, 0xC6)	/* GREEK SMALL LETTER PI */ \
60004b94745Smrg	    MAP(0x71, 0xCE)	/* GREEK SMALL LETTER PSI */ \
60104b94745Smrg	    MAP(0x72, 0xC7)	/* GREEK SMALL LETTER RHO */ \
60204b94745Smrg	    MAP(0x73, 0xC9)	/* GREEK SMALL LETTER SIGMA */ \
60304b94745Smrg	    MAP(0x74, 0xCA)	/* GREEK SMALL LETTER TAU */ \
60404b94745Smrg	    MAP(0x75, 0x1B)	/* undefined */ \
60504b94745Smrg	    MAP(0x76, 0xFD)	/* LATIN SMALL LETTER F WITH HOOK Probably chosen for its meaning of "function" */ \
60604b94745Smrg	    MAP(0x77, 0xCF)	/* GREEK SMALL LETTER OMEGA */ \
60704b94745Smrg	    MAP(0x78, 0xC4)	/* GREEK SMALL LETTER XI */ \
60804b94745Smrg	    MAP(0x79, 0xCB)	/* GREEK SMALL LETTER UPSILON */ \
60904b94745Smrg	    MAP(0x7A, 0xBC)	/* GREEK SMALL LETTER ZETA */ \
61004b94745Smrg	    MAP(0x7B, 0xFE)	/* LEFTWARDS ARROW */ \
61104b94745Smrg	    MAP(0x7C, 0xFF)	/* UPWARDS ARROW */ \
61204b94745Smrg	    MAP(0x7D, 0x100)	/* RIGHTWARDS ARROW */ \
61304b94745Smrg	    MAP(0x7E, 0x02)	/* DOWNWARDS ARROW */ \
61404b94745Smrg	    default: dft; break; \
61504b94745Smrg	}
61604b94745Smrg
6175104ee6eSmrg#define map_JIS_Roman(code) \
6185104ee6eSmrg	begin_CODEPAGE(94) \
6195104ee6eSmrg	switch (code) { \
6205104ee6eSmrg	    UNI(0x5C, 0x00A5)	/* YEN SIGN */ \
6215104ee6eSmrg	    UNI(0x7E, 0x203E)	/* OVERLINE */ \
6225104ee6eSmrg	} \
6235104ee6eSmrg	end_CODEPAGE()
6245104ee6eSmrg
6255104ee6eSmrg#define unmap_JIS_Roman(code,dft) /* nothing */
6265104ee6eSmrg
6275104ee6eSmrg/*
6285104ee6eSmrg * Documented as if only GR, but encoded here to allow assignment to GL and GR.
6295104ee6eSmrg */
6305104ee6eSmrg#define map_JIS_Katakana(code) \
6315104ee6eSmrg	begin_CODEPAGE(94) \
6325104ee6eSmrg	switch (code) { \
6335104ee6eSmrg	    UNI(0x21, 0xFF61)	/* HALFWIDTH IDEOGRAPHIC FULL STOP */ \
6345104ee6eSmrg	    UNI(0x22, 0xFF62)	/* HALFWIDTH LEFT CORNER BRACKET */ \
6355104ee6eSmrg	    UNI(0x23, 0xFF63)	/* HALFWIDTH RIGHT CORNER BRACKET */ \
6365104ee6eSmrg	    UNI(0x24, 0xFF64)	/* HALFWIDTH IDEOGRAPHIC COMMA */ \
6375104ee6eSmrg	    UNI(0x25, 0xFF65)	/* HALFWIDTH KATAKANA MIDDLE DOT */ \
6385104ee6eSmrg	    UNI(0x26, 0xFF66)	/* HALFWIDTH KATAKANA LETTER WO */ \
6395104ee6eSmrg	    UNI(0x27, 0xFF67)	/* HALFWIDTH KATAKANA LETTER SMALL A */ \
6405104ee6eSmrg	    UNI(0x28, 0xFF68)	/* HALFWIDTH KATAKANA LETTER SMALL I */ \
6415104ee6eSmrg	    UNI(0x29, 0xFF69)	/* HALFWIDTH KATAKANA LETTER SMALL U */ \
6425104ee6eSmrg	    UNI(0x2A, 0xFF6A)	/* HALFWIDTH KATAKANA LETTER SMALL E */ \
6435104ee6eSmrg	    UNI(0x2B, 0xFF6B)	/* HALFWIDTH KATAKANA LETTER SMALL O */ \
6445104ee6eSmrg	    UNI(0x2C, 0xFF6C)	/* HALFWIDTH KATAKANA LETTER SMALL YA */ \
6455104ee6eSmrg	    UNI(0x2D, 0xFF6D)	/* HALFWIDTH KATAKANA LETTER SMALL YU */ \
6465104ee6eSmrg	    UNI(0x2E, 0xFF6E)	/* HALFWIDTH KATAKANA LETTER SMALL YO */ \
6475104ee6eSmrg	    UNI(0x2F, 0xFF6F)	/* HALFWIDTH KATAKANA LETTER SMALL TU */ \
6485104ee6eSmrg	    UNI(0x30, 0xFF70)	/* HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK */ \
6495104ee6eSmrg	    UNI(0x31, 0xFF71)	/* HALFWIDTH KATAKANA LETTER A */ \
6505104ee6eSmrg	    UNI(0x32, 0xFF72)	/* HALFWIDTH KATAKANA LETTER I */ \
6515104ee6eSmrg	    UNI(0x33, 0xFF73)	/* HALFWIDTH KATAKANA LETTER U */ \
6525104ee6eSmrg	    UNI(0x34, 0xFF74)	/* HALFWIDTH KATAKANA LETTER E */ \
6535104ee6eSmrg	    UNI(0x35, 0xFF75)	/* HALFWIDTH KATAKANA LETTER O */ \
6545104ee6eSmrg	    UNI(0x36, 0xFF76)	/* HALFWIDTH KATAKANA LETTER KA */ \
6555104ee6eSmrg	    UNI(0x37, 0xFF77)	/* HALFWIDTH KATAKANA LETTER KI */ \
6565104ee6eSmrg	    UNI(0x38, 0xFF78)	/* HALFWIDTH KATAKANA LETTER KU */ \
6575104ee6eSmrg	    UNI(0x39, 0xFF79)	/* HALFWIDTH KATAKANA LETTER KE */ \
6585104ee6eSmrg	    UNI(0x3A, 0xFF7A)	/* HALFWIDTH KATAKANA LETTER KO */ \
6595104ee6eSmrg	    UNI(0x3B, 0xFF7B)	/* HALFWIDTH KATAKANA LETTER SA */ \
6605104ee6eSmrg	    UNI(0x3C, 0xFF7C)	/* HALFWIDTH KATAKANA LETTER SI */ \
6615104ee6eSmrg	    UNI(0x3D, 0xFF7D)	/* HALFWIDTH KATAKANA LETTER SU */ \
6625104ee6eSmrg	    UNI(0x3E, 0xFF7E)	/* HALFWIDTH KATAKANA LETTER SE */ \
6635104ee6eSmrg	    UNI(0x3F, 0xFF7F)	/* HALFWIDTH KATAKANA LETTER SO */ \
6645104ee6eSmrg	    UNI(0x40, 0xFF80)	/* HALFWIDTH KATAKANA LETTER TA */ \
6655104ee6eSmrg	    UNI(0x41, 0xFF81)	/* HALFWIDTH KATAKANA LETTER TI */ \
6665104ee6eSmrg	    UNI(0x42, 0xFF82)	/* HALFWIDTH KATAKANA LETTER TU */ \
6675104ee6eSmrg	    UNI(0x43, 0xFF83)	/* HALFWIDTH KATAKANA LETTER TE */ \
6685104ee6eSmrg	    UNI(0x44, 0xFF84)	/* HALFWIDTH KATAKANA LETTER TO */ \
6695104ee6eSmrg	    UNI(0x45, 0xFF85)	/* HALFWIDTH KATAKANA LETTER NA */ \
6705104ee6eSmrg	    UNI(0x46, 0xFF86)	/* HALFWIDTH KATAKANA LETTER NI */ \
6715104ee6eSmrg	    UNI(0x47, 0xFF87)	/* HALFWIDTH KATAKANA LETTER NU */ \
6725104ee6eSmrg	    UNI(0x48, 0xFF88)	/* HALFWIDTH KATAKANA LETTER NE */ \
6735104ee6eSmrg	    UNI(0x49, 0xFF89)	/* HALFWIDTH KATAKANA LETTER NO */ \
6745104ee6eSmrg	    UNI(0x4A, 0xFF8A)	/* HALFWIDTH KATAKANA LETTER HA */ \
6755104ee6eSmrg	    UNI(0x4B, 0xFF8B)	/* HALFWIDTH KATAKANA LETTER HI */ \
6765104ee6eSmrg	    UNI(0x4C, 0xFF8C)	/* HALFWIDTH KATAKANA LETTER HU */ \
6775104ee6eSmrg	    UNI(0x4D, 0xFF8D)	/* HALFWIDTH KATAKANA LETTER HE */ \
6785104ee6eSmrg	    UNI(0x4E, 0xFF8E)	/* HALFWIDTH KATAKANA LETTER HO */ \
6795104ee6eSmrg	    UNI(0x4F, 0xFF8F)	/* HALFWIDTH KATAKANA LETTER MA */ \
6805104ee6eSmrg	    UNI(0x50, 0xFF90)	/* HALFWIDTH KATAKANA LETTER MI */ \
6815104ee6eSmrg	    UNI(0x51, 0xFF91)	/* HALFWIDTH KATAKANA LETTER MU */ \
6825104ee6eSmrg	    UNI(0x52, 0xFF92)	/* HALFWIDTH KATAKANA LETTER ME */ \
6835104ee6eSmrg	    UNI(0x53, 0xFF93)	/* HALFWIDTH KATAKANA LETTER MO */ \
6845104ee6eSmrg	    UNI(0x54, 0xFF94)	/* HALFWIDTH KATAKANA LETTER YA */ \
6855104ee6eSmrg	    UNI(0x55, 0xFF95)	/* HALFWIDTH KATAKANA LETTER YU */ \
6865104ee6eSmrg	    UNI(0x56, 0xFF96)	/* HALFWIDTH KATAKANA LETTER YO */ \
6875104ee6eSmrg	    UNI(0x57, 0xFF97)	/* HALFWIDTH KATAKANA LETTER RA */ \
6885104ee6eSmrg	    UNI(0x58, 0xFF98)	/* HALFWIDTH KATAKANA LETTER RI */ \
6895104ee6eSmrg	    UNI(0x59, 0xFF99)	/* HALFWIDTH KATAKANA LETTER RU */ \
6905104ee6eSmrg	    UNI(0x5A, 0xFF9A)	/* HALFWIDTH KATAKANA LETTER RE */ \
6915104ee6eSmrg	    UNI(0x5B, 0xFF9B)	/* HALFWIDTH KATAKANA LETTER RO */ \
6925104ee6eSmrg	    UNI(0x5C, 0xFF9C)	/* HALFWIDTH KATAKANA LETTER WA */ \
6935104ee6eSmrg	    UNI(0x5D, 0xFF9D)	/* HALFWIDTH KATAKANA LETTER N */ \
6945104ee6eSmrg	    UNI(0x5E, 0xFF9E)	/* HALFWIDTH KATAKANA VOICED SOUND MARK */ \
6955104ee6eSmrg	    UNI(0x5F, 0xFF9F)	/* HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK */ \
6965104ee6eSmrg	    XXX(0x60, UNDEF) \
6975104ee6eSmrg	    XXX(0x61, UNDEF) \
6985104ee6eSmrg	    XXX(0x62, UNDEF) \
6995104ee6eSmrg	    XXX(0x63, UNDEF) \
7005104ee6eSmrg	    XXX(0x64, UNDEF) \
7015104ee6eSmrg	    XXX(0x65, UNDEF) \
7025104ee6eSmrg	    XXX(0x66, UNDEF) \
7035104ee6eSmrg	    XXX(0x67, UNDEF) \
7045104ee6eSmrg	    XXX(0x68, UNDEF) \
7055104ee6eSmrg	    XXX(0x69, UNDEF) \
7065104ee6eSmrg	    XXX(0x6A, UNDEF) \
7075104ee6eSmrg	    XXX(0x6B, UNDEF) \
7085104ee6eSmrg	    XXX(0x6C, UNDEF) \
7095104ee6eSmrg	    XXX(0x6D, UNDEF) \
7105104ee6eSmrg	    XXX(0x6E, UNDEF) \
7115104ee6eSmrg	    XXX(0x6F, UNDEF) \
7125104ee6eSmrg	    XXX(0x70, UNDEF) \
7135104ee6eSmrg	    XXX(0x71, UNDEF) \
7145104ee6eSmrg	    XXX(0x72, UNDEF) \
7155104ee6eSmrg	    XXX(0x73, UNDEF) \
7165104ee6eSmrg	    XXX(0x74, UNDEF) \
7175104ee6eSmrg	    XXX(0x75, UNDEF) \
7185104ee6eSmrg	    XXX(0x76, UNDEF) \
7195104ee6eSmrg	    XXX(0x77, UNDEF) \
7205104ee6eSmrg	    XXX(0x78, UNDEF) \
7215104ee6eSmrg	    XXX(0x79, UNDEF) \
7225104ee6eSmrg	    XXX(0x7A, UNDEF) \
7235104ee6eSmrg	    XXX(0x7B, UNDEF) \
7245104ee6eSmrg	    XXX(0x7C, UNDEF) \
7255104ee6eSmrg	    XXX(0x7D, UNDEF) \
7265104ee6eSmrg	} \
7275104ee6eSmrg	end_CODEPAGE()
7285104ee6eSmrg
7295104ee6eSmrg#define unmap_JIS_Katakana(code,dft) /* nothing */
7305104ee6eSmrg
73104b94745Smrg/*
73204b94745Smrg * ISO Latin/Cyrillic is 8859-5
73304b94745Smrg */
73404b94745Smrg#define map_ISO_Latin_Cyrillic(code) \
73504b94745Smrg	begin_CODEPAGE(96) \
73604b94745Smrg	switch (code) { \
73704b94745Smrg	    UNI(0x20, 0x00A0)	/* NO-BREAK SPACE */ \
73804b94745Smrg	    UNI(0x21, 0x0401)	/* CYRILLIC CAPITAL LETTER IO */ \
73904b94745Smrg	    UNI(0x22, 0x0402)	/* CYRILLIC CAPITAL LETTER DJE */ \
74004b94745Smrg	    UNI(0x23, 0x0403)	/* CYRILLIC CAPITAL LETTER GJE */ \
74104b94745Smrg	    UNI(0x24, 0x0404)	/* CYRILLIC CAPITAL LETTER UKRAINIAN IE */ \
74204b94745Smrg	    UNI(0x25, 0x0405)	/* CYRILLIC CAPITAL LETTER DZE */ \
74304b94745Smrg	    UNI(0x26, 0x0406)	/* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */ \
74404b94745Smrg	    UNI(0x27, 0x0407)	/* CYRILLIC CAPITAL LETTER YI */ \
74504b94745Smrg	    UNI(0x28, 0x0408)	/* CYRILLIC CAPITAL LETTER JE */ \
74604b94745Smrg	    UNI(0x29, 0x0409)	/* CYRILLIC CAPITAL LETTER LJE */ \
74704b94745Smrg	    UNI(0x2A, 0x040A)	/* CYRILLIC CAPITAL LETTER NJE */ \
74804b94745Smrg	    UNI(0x2B, 0x040B)	/* CYRILLIC CAPITAL LETTER TSHE */ \
74904b94745Smrg	    UNI(0x2C, 0x040C)	/* CYRILLIC CAPITAL LETTER KJE */ \
75004b94745Smrg	    UNI(0x2D, 0x00AD)	/* SOFT HYPHEN */ \
75104b94745Smrg	    UNI(0x2E, 0x040E)	/* CYRILLIC CAPITAL LETTER SHORT U */ \
75204b94745Smrg	    UNI(0x2F, 0x040F)	/* CYRILLIC CAPITAL LETTER DZHE */ \
75304b94745Smrg	    UNI(0x30, 0x0410)	/* CYRILLIC CAPITAL LETTER A */ \
75404b94745Smrg	    UNI(0x31, 0x0411)	/* CYRILLIC CAPITAL LETTER BE */ \
75504b94745Smrg	    UNI(0x32, 0x0412)	/* CYRILLIC CAPITAL LETTER VE */ \
75604b94745Smrg	    UNI(0x33, 0x0413)	/* CYRILLIC CAPITAL LETTER GHE */ \
75704b94745Smrg	    UNI(0x34, 0x0414)	/* CYRILLIC CAPITAL LETTER DE */ \
75804b94745Smrg	    UNI(0x35, 0x0415)	/* CYRILLIC CAPITAL LETTER IE */ \
75904b94745Smrg	    UNI(0x36, 0x0416)	/* CYRILLIC CAPITAL LETTER ZHE */ \
76004b94745Smrg	    UNI(0x37, 0x0417)	/* CYRILLIC CAPITAL LETTER ZE */ \
76104b94745Smrg	    UNI(0x38, 0x0418)	/* CYRILLIC CAPITAL LETTER I */ \
76204b94745Smrg	    UNI(0x39, 0x0419)	/* CYRILLIC CAPITAL LETTER SHORT I */ \
76304b94745Smrg	    UNI(0x3A, 0x041A)	/* CYRILLIC CAPITAL LETTER KA */ \
76404b94745Smrg	    UNI(0x3B, 0x041B)	/* CYRILLIC CAPITAL LETTER EL */ \
76504b94745Smrg	    UNI(0x3C, 0x041C)	/* CYRILLIC CAPITAL LETTER EM */ \
76604b94745Smrg	    UNI(0x3D, 0x041D)	/* CYRILLIC CAPITAL LETTER EN */ \
76704b94745Smrg	    UNI(0x3E, 0x041E)	/* CYRILLIC CAPITAL LETTER O */ \
76804b94745Smrg	    UNI(0x3F, 0x041F)	/* CYRILLIC CAPITAL LETTER PE */ \
76904b94745Smrg	    UNI(0x40, 0x0420)	/* CYRILLIC CAPITAL LETTER ER */ \
77004b94745Smrg	    UNI(0x41, 0x0421)	/* CYRILLIC CAPITAL LETTER ES */ \
77104b94745Smrg	    UNI(0x42, 0x0422)	/* CYRILLIC CAPITAL LETTER TE */ \
77204b94745Smrg	    UNI(0x43, 0x0423)	/* CYRILLIC CAPITAL LETTER U */ \
77304b94745Smrg	    UNI(0x44, 0x0424)	/* CYRILLIC CAPITAL LETTER EF */ \
77404b94745Smrg	    UNI(0x45, 0x0425)	/* CYRILLIC CAPITAL LETTER HA */ \
77504b94745Smrg	    UNI(0x46, 0x0426)	/* CYRILLIC CAPITAL LETTER TSE */ \
77604b94745Smrg	    UNI(0x47, 0x0427)	/* CYRILLIC CAPITAL LETTER CHE */ \
77704b94745Smrg	    UNI(0x48, 0x0428)	/* CYRILLIC CAPITAL LETTER SHA */ \
77804b94745Smrg	    UNI(0x49, 0x0429)	/* CYRILLIC CAPITAL LETTER SHCHA */ \
77904b94745Smrg	    UNI(0x4A, 0x042A)	/* CYRILLIC CAPITAL LETTER HARD SIGN */ \
78004b94745Smrg	    UNI(0x4B, 0x042B)	/* CYRILLIC CAPITAL LETTER YERU */ \
78104b94745Smrg	    UNI(0x4C, 0x042C)	/* CYRILLIC CAPITAL LETTER SOFT SIGN */ \
78204b94745Smrg	    UNI(0x4D, 0x042D)	/* CYRILLIC CAPITAL LETTER E */ \
78304b94745Smrg	    UNI(0x4E, 0x042E)	/* CYRILLIC CAPITAL LETTER YU */ \
78404b94745Smrg	    UNI(0x4F, 0x042F)	/* CYRILLIC CAPITAL LETTER YA */ \
78504b94745Smrg	    UNI(0x50, 0x0430)	/* CYRILLIC SMALL LETTER A */ \
78604b94745Smrg	    UNI(0x51, 0x0431)	/* CYRILLIC SMALL LETTER BE */ \
78704b94745Smrg	    UNI(0x52, 0x0432)	/* CYRILLIC SMALL LETTER VE */ \
78804b94745Smrg	    UNI(0x53, 0x0433)	/* CYRILLIC SMALL LETTER GHE */ \
78904b94745Smrg	    UNI(0x54, 0x0434)	/* CYRILLIC SMALL LETTER DE */ \
79004b94745Smrg	    UNI(0x55, 0x0435)	/* CYRILLIC SMALL LETTER IE */ \
79104b94745Smrg	    UNI(0x56, 0x0436)	/* CYRILLIC SMALL LETTER ZHE */ \
79204b94745Smrg	    UNI(0x57, 0x0437)	/* CYRILLIC SMALL LETTER ZE */ \
79304b94745Smrg	    UNI(0x58, 0x0438)	/* CYRILLIC SMALL LETTER I */ \
79404b94745Smrg	    UNI(0x59, 0x0439)	/* CYRILLIC SMALL LETTER SHORT I */ \
79504b94745Smrg	    UNI(0x5A, 0x043A)	/* CYRILLIC SMALL LETTER KA */ \
79604b94745Smrg	    UNI(0x5B, 0x043B)	/* CYRILLIC SMALL LETTER EL */ \
79704b94745Smrg	    UNI(0x5C, 0x043C)	/* CYRILLIC SMALL LETTER EM */ \
79804b94745Smrg	    UNI(0x5D, 0x043D)	/* CYRILLIC SMALL LETTER EN */ \
79904b94745Smrg	    UNI(0x5E, 0x043E)	/* CYRILLIC SMALL LETTER O */ \
80004b94745Smrg	    UNI(0x5F, 0x043F)	/* CYRILLIC SMALL LETTER PE */ \
80104b94745Smrg	    UNI(0x60, 0x0440)	/* CYRILLIC SMALL LETTER ER */ \
80204b94745Smrg	    UNI(0x61, 0x0441)	/* CYRILLIC SMALL LETTER ES */ \
80304b94745Smrg	    UNI(0x62, 0x0442)	/* CYRILLIC SMALL LETTER TE */ \
80404b94745Smrg	    UNI(0x63, 0x0443)	/* CYRILLIC SMALL LETTER U */ \
80504b94745Smrg	    UNI(0x64, 0x0444)	/* CYRILLIC SMALL LETTER EF */ \
80604b94745Smrg	    UNI(0x65, 0x0445)	/* CYRILLIC SMALL LETTER HA */ \
80704b94745Smrg	    UNI(0x66, 0x0446)	/* CYRILLIC SMALL LETTER TSE */ \
80804b94745Smrg	    UNI(0x67, 0x0447)	/* CYRILLIC SMALL LETTER CHE */ \
80904b94745Smrg	    UNI(0x68, 0x0448)	/* CYRILLIC SMALL LETTER SHA */ \
81004b94745Smrg	    UNI(0x69, 0x0449)	/* CYRILLIC SMALL LETTER SHCHA */ \
81104b94745Smrg	    UNI(0x6A, 0x044A)	/* CYRILLIC SMALL LETTER HARD SIGN */ \
81204b94745Smrg	    UNI(0x6B, 0x044B)	/* CYRILLIC SMALL LETTER YERU */ \
81304b94745Smrg	    UNI(0x6C, 0x044C)	/* CYRILLIC SMALL LETTER SOFT SIGN */ \
81404b94745Smrg	    UNI(0x6D, 0x044D)	/* CYRILLIC SMALL LETTER E */ \
81504b94745Smrg	    UNI(0x6E, 0x044E)	/* CYRILLIC SMALL LETTER YU */ \
81604b94745Smrg	    UNI(0x6F, 0x044F)	/* CYRILLIC SMALL LETTER YA */ \
81704b94745Smrg	    UNI(0x70, 0x2116)	/* NUMERO SIGN */ \
81804b94745Smrg	    UNI(0x71, 0x0451)	/* CYRILLIC SMALL LETTER IO */ \
81904b94745Smrg	    UNI(0x72, 0x0452)	/* CYRILLIC SMALL LETTER DJE */ \
82004b94745Smrg	    UNI(0x73, 0x0453)	/* CYRILLIC SMALL LETTER GJE */ \
82104b94745Smrg	    UNI(0x74, 0x0454)	/* CYRILLIC SMALL LETTER UKRAINIAN IE */ \
82204b94745Smrg	    UNI(0x75, 0x0455)	/* CYRILLIC SMALL LETTER DZE */ \
82304b94745Smrg	    UNI(0x76, 0x0456)	/* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ \
82404b94745Smrg	    UNI(0x77, 0x0457)	/* CYRILLIC SMALL LETTER YI */ \
82504b94745Smrg	    UNI(0x78, 0x0458)	/* CYRILLIC SMALL LETTER JE */ \
82604b94745Smrg	    UNI(0x79, 0x0459)	/* CYRILLIC SMALL LETTER LJE */ \
82704b94745Smrg	    UNI(0x7A, 0x045A)	/* CYRILLIC SMALL LETTER NJE */ \
82804b94745Smrg	    UNI(0x7B, 0x045B)	/* CYRILLIC SMALL LETTER TSHE */ \
82904b94745Smrg	    UNI(0x7C, 0x045C)	/* CYRILLIC SMALL LETTER KJE */ \
83004b94745Smrg	    UNI(0x7D, 0x00A7)	/* SECTION SIGN */ \
83104b94745Smrg	    UNI(0x7E, 0x045E)	/* CYRILLIC SMALL LETTER SHORT U */ \
83204b94745Smrg	    UNI(0x7F, 0x045F)	/* CYRILLIC SMALL LETTER DZHE */ \
83304b94745Smrg	} \
83404b94745Smrg	end_CODEPAGE()
83504b94745Smrg
83604b94745Smrg#define unmap_ISO_Latin_Cyrillic(code,dft) \
83704b94745Smrg	switch (code) { \
83804b94745Smrg	    MAP(0x21, 0x03)	/* CYRILLIC CAPITAL LETTER IO */ \
83904b94745Smrg	    MAP(0x22, 0x04)	/* CYRILLIC CAPITAL LETTER DJE */ \
84004b94745Smrg	    MAP(0x23, 0x05)	/* CYRILLIC CAPITAL LETTER GJE */ \
84104b94745Smrg	    MAP(0x24, 0x06)	/* CYRILLIC CAPITAL LETTER UKRAINIAN IE */ \
84204b94745Smrg	    MAP(0x25, 0x07)	/* CYRILLIC CAPITAL LETTER DZE */ \
84304b94745Smrg	    MAP(0x26, 0x08)	/* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */ \
84404b94745Smrg	    MAP(0x27, 0x09)	/* CYRILLIC CAPITAL LETTER YI */ \
84504b94745Smrg	    MAP(0x28, 0x0A)	/* CYRILLIC CAPITAL LETTER JE */ \
84604b94745Smrg	    MAP(0x29, 0x0B)	/* CYRILLIC CAPITAL LETTER LJE */ \
84704b94745Smrg	    MAP(0x2A, 0x0C)	/* CYRILLIC CAPITAL LETTER NJE */ \
84804b94745Smrg	    MAP(0x2B, 0x0D)	/* CYRILLIC CAPITAL LETTER TSHE */ \
84904b94745Smrg	    MAP(0x2C, 0x0E)	/* CYRILLIC CAPITAL LETTER KJE */ \
85004b94745Smrg	    MAP(0x2E, 0x0F)	/* CYRILLIC CAPITAL LETTER SHORT U */ \
85104b94745Smrg	    MAP(0x2F, 0x10)	/* CYRILLIC CAPITAL LETTER DZHE */ \
85204b94745Smrg	    MAP(0x30, 0x11)	/* CYRILLIC CAPITAL LETTER A */ \
85304b94745Smrg	    MAP(0x31, 0x12)	/* CYRILLIC CAPITAL LETTER BE */ \
85404b94745Smrg	    MAP(0x32, 0x13)	/* CYRILLIC CAPITAL LETTER VE */ \
85504b94745Smrg	    MAP(0x33, 0x14)	/* CYRILLIC CAPITAL LETTER GHE */ \
85604b94745Smrg	    MAP(0x34, 0x15)	/* CYRILLIC CAPITAL LETTER DE */ \
85704b94745Smrg	    MAP(0x35, 0x16)	/* CYRILLIC CAPITAL LETTER IE */ \
85804b94745Smrg	    MAP(0x36, 0x17)	/* CYRILLIC CAPITAL LETTER ZHE */ \
85904b94745Smrg	    MAP(0x37, 0x18)	/* CYRILLIC CAPITAL LETTER ZE */ \
86004b94745Smrg	    MAP(0x38, 0x19)	/* CYRILLIC CAPITAL LETTER I */ \
86104b94745Smrg	    MAP(0x39, 0x1A)	/* CYRILLIC CAPITAL LETTER SHORT I */ \
86204b94745Smrg	    MAP(0x3A, 0x1B)	/* CYRILLIC CAPITAL LETTER KA */ \
86304b94745Smrg	    MAP(0x3B, 0x1C)	/* CYRILLIC CAPITAL LETTER EL */ \
86404b94745Smrg	    MAP(0x3C, 0x1D)	/* CYRILLIC CAPITAL LETTER EM */ \
86504b94745Smrg	    MAP(0x3D, 0x1E)	/* CYRILLIC CAPITAL LETTER EN */ \
86604b94745Smrg	    MAP(0x3E, 0x1F)	/* CYRILLIC CAPITAL LETTER O */ \
86704b94745Smrg	    MAP(0x3F, 0x20)	/* CYRILLIC CAPITAL LETTER PE */ \
86804b94745Smrg	    MAP(0x40, 0x21)	/* CYRILLIC CAPITAL LETTER ER */ \
86904b94745Smrg	    MAP(0x41, 0x22)	/* CYRILLIC CAPITAL LETTER ES */ \
87004b94745Smrg	    MAP(0x42, 0x23)	/* CYRILLIC CAPITAL LETTER TE */ \
87104b94745Smrg	    MAP(0x43, 0x24)	/* CYRILLIC CAPITAL LETTER U */ \
87204b94745Smrg	    MAP(0x44, 0x25)	/* CYRILLIC CAPITAL LETTER EF */ \
87304b94745Smrg	    MAP(0x45, 0x26)	/* CYRILLIC CAPITAL LETTER HA */ \
87404b94745Smrg	    MAP(0x46, 0x27)	/* CYRILLIC CAPITAL LETTER TSE */ \
87504b94745Smrg	    MAP(0x47, 0x28)	/* CYRILLIC CAPITAL LETTER CHE */ \
87604b94745Smrg	    MAP(0x48, 0x29)	/* CYRILLIC CAPITAL LETTER SHA */ \
87704b94745Smrg	    MAP(0x49, 0x2A)	/* CYRILLIC CAPITAL LETTER SHCHA */ \
87804b94745Smrg	    MAP(0x4A, 0x2B)	/* CYRILLIC CAPITAL LETTER HARD SIGN */ \
87904b94745Smrg	    MAP(0x4B, 0x2C)	/* CYRILLIC CAPITAL LETTER YERU */ \
88004b94745Smrg	    MAP(0x4C, 0x2D)	/* CYRILLIC CAPITAL LETTER SOFT SIGN */ \
88104b94745Smrg	    MAP(0x4D, 0x2E)	/* CYRILLIC CAPITAL LETTER E */ \
88204b94745Smrg	    MAP(0x4E, 0x2F)	/* CYRILLIC CAPITAL LETTER YU */ \
88304b94745Smrg	    MAP(0x4F, 0x30)	/* CYRILLIC CAPITAL LETTER YA */ \
88404b94745Smrg	    MAP(0x50, 0x31)	/* CYRILLIC SMALL LETTER A */ \
88504b94745Smrg	    MAP(0x51, 0x32)	/* CYRILLIC SMALL LETTER BE */ \
88604b94745Smrg	    MAP(0x52, 0x33)	/* CYRILLIC SMALL LETTER VE */ \
88704b94745Smrg	    MAP(0x53, 0x34)	/* CYRILLIC SMALL LETTER GHE */ \
88804b94745Smrg	    MAP(0x54, 0x35)	/* CYRILLIC SMALL LETTER DE */ \
88904b94745Smrg	    MAP(0x55, 0x36)	/* CYRILLIC SMALL LETTER IE */ \
89004b94745Smrg	    MAP(0x56, 0x37)	/* CYRILLIC SMALL LETTER ZHE */ \
89104b94745Smrg	    MAP(0x57, 0x38)	/* CYRILLIC SMALL LETTER ZE */ \
89204b94745Smrg	    MAP(0x58, 0x39)	/* CYRILLIC SMALL LETTER I */ \
89304b94745Smrg	    MAP(0x59, 0x3A)	/* CYRILLIC SMALL LETTER SHORT I */ \
89404b94745Smrg	    MAP(0x5A, 0x3B)	/* CYRILLIC SMALL LETTER KA */ \
89504b94745Smrg	    MAP(0x5B, 0x3C)	/* CYRILLIC SMALL LETTER EL */ \
89604b94745Smrg	    MAP(0x5C, 0x3D)	/* CYRILLIC SMALL LETTER EM */ \
89704b94745Smrg	    MAP(0x5D, 0x3E)	/* CYRILLIC SMALL LETTER EN */ \
89804b94745Smrg	    MAP(0x5E, 0x3F)	/* CYRILLIC SMALL LETTER O */ \
89904b94745Smrg	    MAP(0x5F, 0x40)	/* CYRILLIC SMALL LETTER PE */ \
90004b94745Smrg	    MAP(0x60, 0x41)	/* CYRILLIC SMALL LETTER ER */ \
90104b94745Smrg	    MAP(0x61, 0x42)	/* CYRILLIC SMALL LETTER ES */ \
90204b94745Smrg	    MAP(0x62, 0x43)	/* CYRILLIC SMALL LETTER TE */ \
90304b94745Smrg	    MAP(0x63, 0x44)	/* CYRILLIC SMALL LETTER U */ \
90404b94745Smrg	    MAP(0x64, 0x45)	/* CYRILLIC SMALL LETTER EF */ \
90504b94745Smrg	    MAP(0x65, 0x46)	/* CYRILLIC SMALL LETTER HA */ \
90604b94745Smrg	    MAP(0x66, 0x47)	/* CYRILLIC SMALL LETTER TSE */ \
90704b94745Smrg	    MAP(0x67, 0x48)	/* CYRILLIC SMALL LETTER CHE */ \
90804b94745Smrg	    MAP(0x68, 0x49)	/* CYRILLIC SMALL LETTER SHA */ \
90904b94745Smrg	    MAP(0x69, 0x4A)	/* CYRILLIC SMALL LETTER SHCHA */ \
91004b94745Smrg	    MAP(0x6A, 0x4B)	/* CYRILLIC SMALL LETTER HARD SIGN */ \
91104b94745Smrg	    MAP(0x6B, 0x4C)	/* CYRILLIC SMALL LETTER YERU */ \
91204b94745Smrg	    MAP(0x6C, 0x4D)	/* CYRILLIC SMALL LETTER SOFT SIGN */ \
91304b94745Smrg	    MAP(0x6D, 0x4E)	/* CYRILLIC SMALL LETTER E */ \
91404b94745Smrg	    MAP(0x6E, 0x4F)	/* CYRILLIC SMALL LETTER YU */ \
91504b94745Smrg	    MAP(0x6F, 0x50)	/* CYRILLIC SMALL LETTER YA */ \
91604b94745Smrg	    MAP(0x70, 0x51)	/* NUMERO SIGN */ \
91704b94745Smrg	    MAP(0x71, 0x52)	/* CYRILLIC SMALL LETTER IO */ \
91804b94745Smrg	    MAP(0x72, 0x53)	/* CYRILLIC SMALL LETTER DJE */ \
91904b94745Smrg	    MAP(0x73, 0x54)	/* CYRILLIC SMALL LETTER GJE */ \
92004b94745Smrg	    MAP(0x74, 0x55)	/* CYRILLIC SMALL LETTER UKRAINIAN IE */ \
92104b94745Smrg	    MAP(0x75, 0x56)	/* CYRILLIC SMALL LETTER DZE */ \
92204b94745Smrg	    MAP(0x76, 0x57)	/* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ \
92304b94745Smrg	    MAP(0x77, 0x58)	/* CYRILLIC SMALL LETTER YI */ \
92404b94745Smrg	    MAP(0x78, 0x59)	/* CYRILLIC SMALL LETTER JE */ \
92504b94745Smrg	    MAP(0x79, 0x5A)	/* CYRILLIC SMALL LETTER LJE */ \
92604b94745Smrg	    MAP(0x7A, 0x5B)	/* CYRILLIC SMALL LETTER NJE */ \
92704b94745Smrg	    MAP(0x7B, 0x5C)	/* CYRILLIC SMALL LETTER TSHE */ \
92804b94745Smrg	    MAP(0x7C, 0x5D)	/* CYRILLIC SMALL LETTER KJE */ \
92904b94745Smrg	    MAP(0x7D, 0xA7)	/* SECTION SIGN */ \
93004b94745Smrg	    MAP(0x7E, 0x5E)	/* CYRILLIC SMALL LETTER SHORT U */ \
93104b94745Smrg	    MAP(0x7F, 0x5F)	/* CYRILLIC SMALL LETTER DZHE */ \
93204b94745Smrg	    default: dft; break; \
93304b94745Smrg	}
93404b94745Smrg
93504b94745Smrg/*
93604b94745Smrg * ISO Greek is 8859-7
93704b94745Smrg */
93804b94745Smrg#define map_ISO_Greek_Supp(code) \
93904b94745Smrg	begin_CODEPAGE(96) \
94004b94745Smrg	switch (code) { \
94104b94745Smrg	    UNI(0x20, 0x00A0)	/* NO-BREAK SPACE */ \
94204b94745Smrg	    UNI(0x21, 0x2018)	/* LEFT SINGLE QUOTATION MARK */ \
94304b94745Smrg	    UNI(0x22, 0x2019)	/* RIGHT SINGLE QUOTATION MARK */ \
94404b94745Smrg	    UNI(0x23, 0x00A3)	/* POUND SIGN */ \
94504b94745Smrg	    XXX(0x24, UNDEF)	/* undefined */ \
94604b94745Smrg	    XXX(0x25, UNDEF)	/* undefined */ \
94704b94745Smrg	    UNI(0x26, 0x00A6)	/* BROKEN BAR */ \
94804b94745Smrg	    UNI(0x27, 0x00A7)	/* SECTION SIGN */ \
94904b94745Smrg	    UNI(0x28, 0x00A8)	/* DIAERESIS */ \
95004b94745Smrg	    UNI(0x29, 0x00A9)	/* COPYRIGHT SIGN */ \
95104b94745Smrg	    XXX(0x2A, UNDEF)	/* undefined */ \
95204b94745Smrg	    UNI(0x2B, 0x00AB)	/* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
95304b94745Smrg	    UNI(0x2C, 0x00AC)	/* NOT SIGN */ \
95404b94745Smrg	    UNI(0x2D, 0x00AD)	/* SOFT HYPHEN */ \
95504b94745Smrg	    XXX(0x2E, UNDEF)	/* undefined */ \
95604b94745Smrg	    UNI(0x2F, 0x2015)	/* HORIZONTAL BAR */ \
95704b94745Smrg	    UNI(0x30, 0x00B0)	/* DEGREE SIGN */ \
95804b94745Smrg	    UNI(0x31, 0x00B1)	/* PLUS-MINUS SIGN */ \
95904b94745Smrg	    UNI(0x32, 0x00B2)	/* SUPERSCRIPT TWO */ \
96004b94745Smrg	    UNI(0x33, 0x00B3)	/* SUPERSCRIPT THREE */ \
96104b94745Smrg	    UNI(0x34, 0x0384)	/* GREEK TONOS */ \
96204b94745Smrg	    UNI(0x35, 0x0385)	/* GREEK DIALYTIKA TONOS */ \
96304b94745Smrg	    UNI(0x36, 0x0386)	/* GREEK CAPITAL LETTER ALPHA WITH TONOS */ \
96404b94745Smrg	    UNI(0x37, 0x00B7)	/* MIDDLE DOT */ \
96504b94745Smrg	    UNI(0x38, 0x0388)	/* GREEK CAPITAL LETTER EPSILON WITH TONOS */ \
96604b94745Smrg	    UNI(0x39, 0x0389)	/* GREEK CAPITAL LETTER ETA WITH TONOS */ \
96704b94745Smrg	    UNI(0x3A, 0x038A)	/* GREEK CAPITAL LETTER IOTA WITH TONOS */ \
96804b94745Smrg	    UNI(0x3B, 0x00BB)	/* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
96904b94745Smrg	    UNI(0x3C, 0x038C)	/* GREEK CAPITAL LETTER OMICRON WITH TONOS */ \
97004b94745Smrg	    UNI(0x3D, 0x00BD)	/* VULGAR FRACTION ONE HALF */ \
97104b94745Smrg	    UNI(0x3E, 0x038E)	/* GREEK CAPITAL LETTER UPSILON WITH TONOS */ \
97204b94745Smrg	    UNI(0x3F, 0x038F)	/* GREEK CAPITAL LETTER OMEGA WITH TONOS */ \
97304b94745Smrg	    UNI(0x40, 0x0390)	/* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ \
97404b94745Smrg	    UNI(0x41, 0x0391)	/* GREEK CAPITAL LETTER ALPHA */ \
97504b94745Smrg	    UNI(0x42, 0x0392)	/* GREEK CAPITAL LETTER BETA */ \
97604b94745Smrg	    UNI(0x43, 0x0393)	/* GREEK CAPITAL LETTER GAMMA */ \
97704b94745Smrg	    UNI(0x44, 0x0394)	/* GREEK CAPITAL LETTER DELTA */ \
97804b94745Smrg	    UNI(0x45, 0x0395)	/* GREEK CAPITAL LETTER EPSILON */ \
97904b94745Smrg	    UNI(0x46, 0x0396)	/* GREEK CAPITAL LETTER ZETA */ \
98004b94745Smrg	    UNI(0x47, 0x0397)	/* GREEK CAPITAL LETTER ETA */ \
98104b94745Smrg	    UNI(0x48, 0x0398)	/* GREEK CAPITAL LETTER THETA */ \
98204b94745Smrg	    UNI(0x49, 0x0399)	/* GREEK CAPITAL LETTER IOTA */ \
98304b94745Smrg	    UNI(0x4A, 0x039A)	/* GREEK CAPITAL LETTER KAPPA */ \
98404b94745Smrg	    UNI(0x4B, 0x039B)	/* GREEK CAPITAL LETTER LAMDA */ \
98504b94745Smrg	    UNI(0x4C, 0x039C)	/* GREEK CAPITAL LETTER MU */ \
98604b94745Smrg	    UNI(0x4D, 0x039D)	/* GREEK CAPITAL LETTER NU */ \
98704b94745Smrg	    UNI(0x4E, 0x039E)	/* GREEK CAPITAL LETTER XI */ \
98804b94745Smrg	    UNI(0x4F, 0x039F)	/* GREEK CAPITAL LETTER OMICRON */ \
98904b94745Smrg	    UNI(0x50, 0x03A0)	/* GREEK CAPITAL LETTER PI */ \
99004b94745Smrg	    UNI(0x51, 0x03A1)	/* GREEK CAPITAL LETTER RHO */ \
99104b94745Smrg	    XXX(0x52, UNDEF)	/* undefined */ \
99204b94745Smrg	    UNI(0x53, 0x03A3)	/* GREEK CAPITAL LETTER SIGMA */ \
99304b94745Smrg	    UNI(0x54, 0x03A4)	/* GREEK CAPITAL LETTER TAU */ \
99404b94745Smrg	    UNI(0x55, 0x03A5)	/* GREEK CAPITAL LETTER UPSILON */ \
99504b94745Smrg	    UNI(0x56, 0x03A6)	/* GREEK CAPITAL LETTER PHI */ \
99604b94745Smrg	    UNI(0x57, 0x03A7)	/* GREEK CAPITAL LETTER CHI */ \
99704b94745Smrg	    UNI(0x58, 0x03A8)	/* GREEK CAPITAL LETTER PSI */ \
99804b94745Smrg	    UNI(0x59, 0x03A9)	/* GREEK CAPITAL LETTER OMEGA */ \
99904b94745Smrg	    UNI(0x5A, 0x03AA)	/* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ \
100004b94745Smrg	    UNI(0x5B, 0x03AB)	/* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */ \
100104b94745Smrg	    UNI(0x5C, 0x03AC)	/* GREEK SMALL LETTER ALPHA WITH TONOS */ \
100204b94745Smrg	    UNI(0x5D, 0x03AD)	/* GREEK SMALL LETTER EPSILON WITH TONOS */ \
100304b94745Smrg	    UNI(0x5E, 0x03AE)	/* GREEK SMALL LETTER ETA WITH TONOS */ \
100404b94745Smrg	    UNI(0x5F, 0x03AF)	/* GREEK SMALL LETTER IOTA WITH TONOS */ \
100504b94745Smrg	    UNI(0x60, 0x03B0)	/* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */ \
100604b94745Smrg	    UNI(0x61, 0x03B1)	/* GREEK SMALL LETTER ALPHA */ \
100704b94745Smrg	    UNI(0x62, 0x03B2)	/* GREEK SMALL LETTER BETA */ \
100804b94745Smrg	    UNI(0x63, 0x03B3)	/* GREEK SMALL LETTER GAMMA */ \
100904b94745Smrg	    UNI(0x64, 0x03B4)	/* GREEK SMALL LETTER DELTA */ \
101004b94745Smrg	    UNI(0x65, 0x03B5)	/* GREEK SMALL LETTER EPSILON */ \
101104b94745Smrg	    UNI(0x66, 0x03B6)	/* GREEK SMALL LETTER ZETA */ \
101204b94745Smrg	    UNI(0x67, 0x03B7)	/* GREEK SMALL LETTER ETA */ \
101304b94745Smrg	    UNI(0x68, 0x03B8)	/* GREEK SMALL LETTER THETA */ \
101404b94745Smrg	    UNI(0x69, 0x03B9)	/* GREEK SMALL LETTER IOTA */ \
101504b94745Smrg	    UNI(0x6A, 0x03BA)	/* GREEK SMALL LETTER KAPPA */ \
101604b94745Smrg	    UNI(0x6B, 0x03BB)	/* GREEK SMALL LETTER LAMDA */ \
101704b94745Smrg	    UNI(0x6C, 0x03BC)	/* GREEK SMALL LETTER MU */ \
101804b94745Smrg	    UNI(0x6D, 0x03BD)	/* GREEK SMALL LETTER NU */ \
101904b94745Smrg	    UNI(0x6E, 0x03BE)	/* GREEK SMALL LETTER XI */ \
102004b94745Smrg	    UNI(0x6F, 0x03BF)	/* GREEK SMALL LETTER OMICRON */ \
102104b94745Smrg	    UNI(0x70, 0x03C0)	/* GREEK SMALL LETTER PI */ \
102204b94745Smrg	    UNI(0x71, 0x03C1)	/* GREEK SMALL LETTER RHO */ \
102304b94745Smrg	    UNI(0x72, 0x03C2)	/* GREEK SMALL LETTER FINAL SIGMA */ \
102404b94745Smrg	    UNI(0x73, 0x03C3)	/* GREEK SMALL LETTER SIGMA */ \
102504b94745Smrg	    UNI(0x74, 0x03C4)	/* GREEK SMALL LETTER TAU */ \
102604b94745Smrg	    UNI(0x75, 0x03C5)	/* GREEK SMALL LETTER UPSILON */ \
102704b94745Smrg	    UNI(0x76, 0x03C6)	/* GREEK SMALL LETTER PHI */ \
102804b94745Smrg	    UNI(0x77, 0x03C7)	/* GREEK SMALL LETTER CHI */ \
102904b94745Smrg	    UNI(0x78, 0x03C8)	/* GREEK SMALL LETTER PSI */ \
103004b94745Smrg	    UNI(0x79, 0x03C9)	/* GREEK SMALL LETTER OMEGA */ \
103104b94745Smrg	    UNI(0x7A, 0x03CA)	/* GREEK SMALL LETTER IOTA WITH DIALYTIKA */ \
103204b94745Smrg	    UNI(0x7B, 0x03CB)	/* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */ \
103304b94745Smrg	    UNI(0x7C, 0x03CC)	/* GREEK SMALL LETTER OMICRON WITH TONOS */ \
103404b94745Smrg	    UNI(0x7D, 0x03CD)	/* GREEK SMALL LETTER UPSILON WITH TONOS */ \
103504b94745Smrg	    UNI(0x7E, 0x03CE)	/* GREEK SMALL LETTER OMEGA WITH TONOS */ \
103604b94745Smrg	    XXX(0x7F, UNDEF)	/* undefined */ \
103704b94745Smrg	} \
103804b94745Smrg	end_CODEPAGE()
103904b94745Smrg
104004b94745Smrg#define unmap_ISO_Greek_Supp(code,dft) \
104104b94745Smrg	switch (code) { \
104204b94745Smrg	    MAP(0x21, 0x60)	/* LEFT SINGLE QUOTATION MARK */ \
104304b94745Smrg	    MAP(0x22, 0x27)	/* RIGHT SINGLE QUOTATION MARK */ \
104404b94745Smrg	    MAP(0x24, 0x1B)	/* undefined */ \
104504b94745Smrg	    MAP(0x25, 0x1B)	/* undefined */ \
104604b94745Smrg	    MAP(0x2A, 0x1B)	/* undefined */ \
104704b94745Smrg	    MAP(0x2E, 0x1B)	/* undefined */ \
104804b94745Smrg	    MAP(0x2F, 0x2D)	/* HORIZONTAL BAR */ \
104904b94745Smrg	    MAP(0x34, 0x96)	/* GREEK TONOS */ \
105004b94745Smrg	    MAP(0x35, 0x95)	/* GREEK DIALYTIKA TONOS */ \
105104b94745Smrg	    MAP(0x36, 0x6E)	/* GREEK CAPITAL LETTER ALPHA WITH TONOS */ \
105204b94745Smrg	    MAP(0x38, 0x6F)	/* GREEK CAPITAL LETTER EPSILON WITH TONOS */ \
105304b94745Smrg	    MAP(0x39, 0x70)	/* GREEK CAPITAL LETTER ETA WITH TONOS */ \
105404b94745Smrg	    MAP(0x3A, 0x71)	/* GREEK CAPITAL LETTER IOTA WITH TONOS */ \
105504b94745Smrg	    MAP(0x3C, 0x72)	/* GREEK CAPITAL LETTER OMICRON WITH TONOS */ \
105604b94745Smrg	    MAP(0x3E, 0x73)	/* GREEK CAPITAL LETTER UPSILON WITH TONOS */ \
105704b94745Smrg	    MAP(0x3F, 0x74)	/* GREEK CAPITAL LETTER OMEGA WITH TONOS */ \
105804b94745Smrg	    MAP(0x40, 0x75)	/* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ \
105904b94745Smrg	    MAP(0x41, 0x76)	/* GREEK CAPITAL LETTER ALPHA */ \
106004b94745Smrg	    MAP(0x42, 0x77)	/* GREEK CAPITAL LETTER BETA */ \
106104b94745Smrg	    MAP(0x43, 0x78)	/* GREEK CAPITAL LETTER GAMMA */ \
106204b94745Smrg	    MAP(0x44, 0x79)	/* GREEK CAPITAL LETTER DELTA */ \
106304b94745Smrg	    MAP(0x45, 0x7A)	/* GREEK CAPITAL LETTER EPSILON */ \
106404b94745Smrg	    MAP(0x46, 0x7B)	/* GREEK CAPITAL LETTER ZETA */ \
106504b94745Smrg	    MAP(0x47, 0x7C)	/* GREEK CAPITAL LETTER ETA */ \
106604b94745Smrg	    MAP(0x48, 0x7D)	/* GREEK CAPITAL LETTER THETA */ \
106704b94745Smrg	    MAP(0x49, 0x7E)	/* GREEK CAPITAL LETTER IOTA */ \
106804b94745Smrg	    MAP(0x4A, 0x7F)	/* GREEK CAPITAL LETTER KAPPA */ \
106904b94745Smrg	    MAP(0x4B, 0xA2)	/* GREEK CAPITAL LETTER LAMDA */ \
107004b94745Smrg	    MAP(0x4C, 0xA3)	/* GREEK CAPITAL LETTER MU */ \
107104b94745Smrg	    MAP(0x4D, 0xA4)	/* GREEK CAPITAL LETTER NU */ \
107204b94745Smrg	    MAP(0x4E, 0xA5)	/* GREEK CAPITAL LETTER XI */ \
107304b94745Smrg	    MAP(0x4F, 0xA6)	/* GREEK CAPITAL LETTER OMICRON */ \
107404b94745Smrg	    MAP(0x50, 0xA7)	/* GREEK CAPITAL LETTER PI */ \
107504b94745Smrg	    MAP(0x51, 0xA8)	/* GREEK CAPITAL LETTER RHO */ \
107604b94745Smrg	    MAP(0x52, 0x1B)	/* undefined */ \
107704b94745Smrg	    MAP(0x53, 0xA9)	/* GREEK CAPITAL LETTER SIGMA */ \
107804b94745Smrg	    MAP(0x54, 0xAA)	/* GREEK CAPITAL LETTER TAU */ \
107904b94745Smrg	    MAP(0x55, 0xAB)	/* GREEK CAPITAL LETTER UPSILON */ \
108004b94745Smrg	    MAP(0x56, 0xAC)	/* GREEK CAPITAL LETTER PHI */ \
108104b94745Smrg	    MAP(0x57, 0xAD)	/* GREEK CAPITAL LETTER CHI */ \
108204b94745Smrg	    MAP(0x58, 0xAE)	/* GREEK CAPITAL LETTER PSI */ \
108304b94745Smrg	    MAP(0x59, 0xAF)	/* GREEK CAPITAL LETTER OMEGA */ \
108404b94745Smrg	    MAP(0x5A, 0xB0)	/* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ \
108504b94745Smrg	    MAP(0x5B, 0xB1)	/* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */ \
108604b94745Smrg	    MAP(0x5C, 0xB2)	/* GREEK SMALL LETTER ALPHA WITH TONOS */ \
108704b94745Smrg	    MAP(0x5D, 0xB3)	/* GREEK SMALL LETTER EPSILON WITH TONOS */ \
108804b94745Smrg	    MAP(0x5E, 0xB4)	/* GREEK SMALL LETTER ETA WITH TONOS */ \
108904b94745Smrg	    MAP(0x5F, 0xB5)	/* GREEK SMALL LETTER IOTA WITH TONOS */ \
109004b94745Smrg	    MAP(0x60, 0xB6)	/* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */ \
109104b94745Smrg	    MAP(0x61, 0xB7)	/* GREEK SMALL LETTER ALPHA */ \
109204b94745Smrg	    MAP(0x62, 0xB8)	/* GREEK SMALL LETTER BETA */ \
109304b94745Smrg	    MAP(0x63, 0xB9)	/* GREEK SMALL LETTER GAMMA */ \
109404b94745Smrg	    MAP(0x64, 0xBA)	/* GREEK SMALL LETTER DELTA */ \
109504b94745Smrg	    MAP(0x65, 0xBB)	/* GREEK SMALL LETTER EPSILON */ \
109604b94745Smrg	    MAP(0x66, 0xBC)	/* GREEK SMALL LETTER ZETA */ \
109704b94745Smrg	    MAP(0x67, 0xBD)	/* GREEK SMALL LETTER ETA */ \
109804b94745Smrg	    MAP(0x68, 0xBE)	/* GREEK SMALL LETTER THETA */ \
109904b94745Smrg	    MAP(0x69, 0xBF)	/* GREEK SMALL LETTER IOTA */ \
110004b94745Smrg	    MAP(0x6A, 0xC0)	/* GREEK SMALL LETTER KAPPA */ \
110104b94745Smrg	    MAP(0x6B, 0xC1)	/* GREEK SMALL LETTER LAMDA */ \
110204b94745Smrg	    MAP(0x6C, 0xC2)	/* GREEK SMALL LETTER MU */ \
110304b94745Smrg	    MAP(0x6D, 0xC3)	/* GREEK SMALL LETTER NU */ \
110404b94745Smrg	    MAP(0x6E, 0xC4)	/* GREEK SMALL LETTER XI */ \
110504b94745Smrg	    MAP(0x6F, 0xC5)	/* GREEK SMALL LETTER OMICRON */ \
110604b94745Smrg	    MAP(0x70, 0xC6)	/* GREEK SMALL LETTER PI */ \
110704b94745Smrg	    MAP(0x71, 0xC7)	/* GREEK SMALL LETTER RHO */ \
110804b94745Smrg	    MAP(0x72, 0xC8)	/* GREEK SMALL LETTER FINAL SIGMA */ \
110904b94745Smrg	    MAP(0x73, 0xC9)	/* GREEK SMALL LETTER SIGMA */ \
111004b94745Smrg	    MAP(0x74, 0xCA)	/* GREEK SMALL LETTER TAU */ \
111104b94745Smrg	    MAP(0x75, 0xCB)	/* GREEK SMALL LETTER UPSILON */ \
111204b94745Smrg	    MAP(0x76, 0xCC)	/* GREEK SMALL LETTER PHI */ \
111304b94745Smrg	    MAP(0x77, 0xCD)	/* GREEK SMALL LETTER CHI */ \
111404b94745Smrg	    MAP(0x78, 0xCE)	/* GREEK SMALL LETTER PSI */ \
111504b94745Smrg	    MAP(0x79, 0xCF)	/* GREEK SMALL LETTER OMEGA */ \
111604b94745Smrg	    MAP(0x7A, 0xD0)	/* GREEK SMALL LETTER IOTA WITH DIALYTIKA */ \
111704b94745Smrg	    MAP(0x7B, 0xD1)	/* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */ \
111804b94745Smrg	    MAP(0x7C, 0xD2)	/* GREEK SMALL LETTER OMICRON WITH TONOS */ \
111904b94745Smrg	    MAP(0x7D, 0xD3)	/* GREEK SMALL LETTER UPSILON WITH TONOS */ \
112004b94745Smrg	    MAP(0x7E, 0xD4)	/* GREEK SMALL LETTER OMEGA WITH TONOS */ \
112104b94745Smrg	    MAP(0x7F, 0x1B)	/* undefined */ \
112204b94745Smrg	    default: dft; break; \
112304b94745Smrg	}
112404b94745Smrg
112504b94745Smrg/*
112604b94745Smrg * figure A-23 "ISO Latin-Hebrew Supplemental Character Set"
112704b94745Smrg */
112804b94745Smrg#define map_ISO_Hebrew(code) \
112904b94745Smrg	begin_CODEPAGE(96) \
113004b94745Smrg	switch (code) { \
113104b94745Smrg	    UNI(0x20, 0x00A0)	/* NO-BREAK SPACE */ \
113204b94745Smrg	    XXX(0x21, UNDEF)	/* undefined */ \
113304b94745Smrg	    UNI(0x22, 0x00A2)	/* CENT SIGN */ \
113404b94745Smrg	    UNI(0x23, 0x00A3)	/* POUND SIGN */ \
113504b94745Smrg	    UNI(0x24, 0x00A4)	/* CURRENCY SIGN */ \
113604b94745Smrg	    UNI(0x25, 0x00A5)	/* YEN SIGN */ \
113704b94745Smrg	    UNI(0x26, 0x00A6)	/* BROKEN BAR */ \
113804b94745Smrg	    UNI(0x27, 0x00A7)	/* SECTION SIGN */ \
113904b94745Smrg	    UNI(0x28, 0x00A8)	/* DIAERESIS */ \
114004b94745Smrg	    UNI(0x29, 0x00A9)	/* COPYRIGHT SIGN */ \
114104b94745Smrg	    UNI(0x2A, 0x00D7)	/* MULTIPLICATION SIGN */ \
114204b94745Smrg	    UNI(0x2B, 0x00AB)	/* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
114304b94745Smrg	    UNI(0x2C, 0x00AC)	/* NOT SIGN */ \
114404b94745Smrg	    UNI(0x2D, 0x00AD)	/* SOFT HYPHEN */ \
114504b94745Smrg	    UNI(0x2E, 0x00AE)	/* REGISTERED SIGN */ \
114604b94745Smrg	    UNI(0x2F, 0x00AF)	/* MACRON */ \
114704b94745Smrg	    UNI(0x30, 0x00B0)	/* DEGREE SIGN */ \
114804b94745Smrg	    UNI(0x31, 0x00B1)	/* PLUS-MINUS SIGN */ \
114904b94745Smrg	    UNI(0x32, 0x00B2)	/* SUPERSCRIPT TWO */ \
115004b94745Smrg	    UNI(0x33, 0x00B3)	/* SUPERSCRIPT THREE */ \
115104b94745Smrg	    UNI(0x34, 0x00B4)	/* ACUTE ACCENT */ \
115204b94745Smrg	    UNI(0x35, 0x00B5)	/* MICRO SIGN */ \
115304b94745Smrg	    UNI(0x36, 0x00B6)	/* PILCROW SIGN */ \
115404b94745Smrg	    UNI(0x37, 0x00B7)	/* MIDDLE DOT */ \
115504b94745Smrg	    UNI(0x38, 0x00B8)	/* CEDILLA */ \
115604b94745Smrg	    UNI(0x39, 0x00B9)	/* SUPERSCRIPT ONE */ \
115704b94745Smrg	    UNI(0x3A, 0x00F7)	/* DIVISION SIGN */ \
115804b94745Smrg	    UNI(0x3B, 0x00BB)	/* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
115904b94745Smrg	    UNI(0x3C, 0x00BC)	/* VULGAR FRACTION ONE QUARTER */ \
116004b94745Smrg	    UNI(0x3D, 0x00BD)	/* VULGAR FRACTION ONE HALF */ \
116104b94745Smrg	    UNI(0x3E, 0x00BE)	/* VULGAR FRACTION THREE QUARTERS */ \
116204b94745Smrg	    XXX(0x3F, UNDEF)	/* undefined */ \
116304b94745Smrg	    XXX(0x40, UNDEF)	/* undefined */ \
116404b94745Smrg	    XXX(0x41, UNDEF)	/* undefined */ \
116504b94745Smrg	    XXX(0x42, UNDEF)	/* undefined */ \
116604b94745Smrg	    XXX(0x43, UNDEF)	/* undefined */ \
116704b94745Smrg	    XXX(0x44, UNDEF)	/* undefined */ \
116804b94745Smrg	    XXX(0x45, UNDEF)	/* undefined */ \
116904b94745Smrg	    XXX(0x46, UNDEF)	/* undefined */ \
117004b94745Smrg	    XXX(0x47, UNDEF)	/* undefined */ \
117104b94745Smrg	    XXX(0x48, UNDEF)	/* undefined */ \
117204b94745Smrg	    XXX(0x49, UNDEF)	/* undefined */ \
117304b94745Smrg	    XXX(0x4A, UNDEF)	/* undefined */ \
117404b94745Smrg	    XXX(0x4B, UNDEF)	/* undefined */ \
117504b94745Smrg	    XXX(0x4C, UNDEF)	/* undefined */ \
117604b94745Smrg	    XXX(0x4D, UNDEF)	/* undefined */ \
117704b94745Smrg	    XXX(0x4E, UNDEF)	/* undefined */ \
117804b94745Smrg	    XXX(0x4F, UNDEF)	/* undefined */ \
117904b94745Smrg	    XXX(0x50, UNDEF)	/* undefined */ \
118004b94745Smrg	    XXX(0x51, UNDEF)	/* undefined */ \
118104b94745Smrg	    XXX(0x52, UNDEF)	/* undefined */ \
118204b94745Smrg	    XXX(0x53, UNDEF)	/* undefined */ \
118304b94745Smrg	    XXX(0x54, UNDEF)	/* undefined */ \
118404b94745Smrg	    XXX(0x55, UNDEF)	/* undefined */ \
118504b94745Smrg	    XXX(0x56, UNDEF)	/* undefined */ \
118604b94745Smrg	    XXX(0x57, UNDEF)	/* undefined */ \
118704b94745Smrg	    XXX(0x58, UNDEF)	/* undefined */ \
118804b94745Smrg	    XXX(0x59, UNDEF)	/* undefined */ \
118904b94745Smrg	    XXX(0x5A, UNDEF)	/* undefined */ \
119004b94745Smrg	    XXX(0x5B, UNDEF)	/* undefined */ \
119104b94745Smrg	    XXX(0x5C, UNDEF)	/* undefined */ \
119204b94745Smrg	    XXX(0x5D, UNDEF)	/* undefined */ \
119304b94745Smrg	    XXX(0x5E, UNDEF)	/* undefined */ \
119404b94745Smrg	    UNI(0x5F, 0x2017)	/* DOUBLE LOW LINE */ \
119504b94745Smrg	    UNI(0x60, 0x05D0)	/* HEBREW LETTER ALEF */ \
119604b94745Smrg	    UNI(0x61, 0x05D1)	/* HEBREW LETTER BET */ \
119704b94745Smrg	    UNI(0x62, 0x05D2)	/* HEBREW LETTER GIMEL */ \
119804b94745Smrg	    UNI(0x63, 0x05D3)	/* HEBREW LETTER DALET */ \
119904b94745Smrg	    UNI(0x64, 0x05D4)	/* HEBREW LETTER HE */ \
120004b94745Smrg	    UNI(0x65, 0x05D5)	/* HEBREW LETTER VAV */ \
120104b94745Smrg	    UNI(0x66, 0x05D6)	/* HEBREW LETTER ZAYIN */ \
120204b94745Smrg	    UNI(0x67, 0x05D7)	/* HEBREW LETTER HET */ \
120304b94745Smrg	    UNI(0x68, 0x05D8)	/* HEBREW LETTER TET */ \
120404b94745Smrg	    UNI(0x69, 0x05D9)	/* HEBREW LETTER YOD */ \
120504b94745Smrg	    UNI(0x6A, 0x05DA)	/* HEBREW LETTER FINAL KAF */ \
120604b94745Smrg	    UNI(0x6B, 0x05DB)	/* HEBREW LETTER KAF */ \
120704b94745Smrg	    UNI(0x6C, 0x05DC)	/* HEBREW LETTER LAMED */ \
120804b94745Smrg	    UNI(0x6D, 0x05DD)	/* HEBREW LETTER FINAL MEM */ \
120904b94745Smrg	    UNI(0x6E, 0x05DE)	/* HEBREW LETTER MEM */ \
121004b94745Smrg	    UNI(0x6F, 0x05DF)	/* HEBREW LETTER FINAL NUN */ \
121104b94745Smrg	    UNI(0x70, 0x05E0)	/* HEBREW LETTER NUN */ \
121204b94745Smrg	    UNI(0x71, 0x05E1)	/* HEBREW LETTER SAMEKH */ \
121304b94745Smrg	    UNI(0x72, 0x05E2)	/* HEBREW LETTER AYIN */ \
121404b94745Smrg	    UNI(0x73, 0x05E3)	/* HEBREW LETTER FINAL PE */ \
121504b94745Smrg	    UNI(0x74, 0x05E4)	/* HEBREW LETTER PE */ \
121604b94745Smrg	    UNI(0x75, 0x05E5)	/* HEBREW LETTER FINAL TSADI */ \
121704b94745Smrg	    UNI(0x76, 0x05E6)	/* HEBREW LETTER TSADI */ \
121804b94745Smrg	    UNI(0x77, 0x05E7)	/* HEBREW LETTER QOF */ \
121904b94745Smrg	    UNI(0x78, 0x05E8)	/* HEBREW LETTER RESH */ \
122004b94745Smrg	    UNI(0x79, 0x05E9)	/* HEBREW LETTER SHIN */ \
122104b94745Smrg	    UNI(0x7A, 0x05EA)	/* HEBREW LETTER TAV */ \
122204b94745Smrg	    XXX(0x7B, UNDEF)	/* undefined */ \
122304b94745Smrg	    XXX(0x7C, UNDEF)	/* undefined */ \
122404b94745Smrg	    XXX(0x7D, UNDEF)	/* undefined */ \
122504b94745Smrg	    XXX(0x7E, UNDEF)	/* undefined */ \
122604b94745Smrg	    XXX(0x7F, UNDEF)	/* undefined */ \
122704b94745Smrg	} \
122804b94745Smrg	end_CODEPAGE()
122904b94745Smrg
123004b94745Smrg#define unmap_ISO_Hebrew(code,dft) \
123104b94745Smrg	switch (code) { \
123204b94745Smrg	    MAP(0x21, 0x1B)	/* undefined */ \
123304b94745Smrg	    MAP(0x2A, 0xD7)	/* MULTIPLICATION SIGN */ \
123404b94745Smrg	    MAP(0x3A, 0xF7)	/* DIVISION SIGN */ \
123504b94745Smrg	    MAP(0x3F, 0x1B)	/* undefined */ \
123604b94745Smrg	    MAP(0x40, 0x1B)	/* undefined */ \
123704b94745Smrg	    MAP(0x41, 0x1B)	/* undefined */ \
123804b94745Smrg	    MAP(0x42, 0x1B)	/* undefined */ \
123904b94745Smrg	    MAP(0x43, 0x1B)	/* undefined */ \
124004b94745Smrg	    MAP(0x44, 0x1B)	/* undefined */ \
124104b94745Smrg	    MAP(0x45, 0x1B)	/* undefined */ \
124204b94745Smrg	    MAP(0x46, 0x1B)	/* undefined */ \
124304b94745Smrg	    MAP(0x47, 0x1B)	/* undefined */ \
124404b94745Smrg	    MAP(0x48, 0x1B)	/* undefined */ \
124504b94745Smrg	    MAP(0x49, 0x1B)	/* undefined */ \
124604b94745Smrg	    MAP(0x4A, 0x1B)	/* undefined */ \
124704b94745Smrg	    MAP(0x4B, 0x1B)	/* undefined */ \
124804b94745Smrg	    MAP(0x4C, 0x1B)	/* undefined */ \
124904b94745Smrg	    MAP(0x4D, 0x1B)	/* undefined */ \
125004b94745Smrg	    MAP(0x4E, 0x1B)	/* undefined */ \
125104b94745Smrg	    MAP(0x4F, 0x1B)	/* undefined */ \
125204b94745Smrg	    MAP(0x50, 0x1B)	/* undefined */ \
125304b94745Smrg	    MAP(0x51, 0x1B)	/* undefined */ \
125404b94745Smrg	    MAP(0x52, 0x1B)	/* undefined */ \
125504b94745Smrg	    MAP(0x53, 0x1B)	/* undefined */ \
125604b94745Smrg	    MAP(0x54, 0x1B)	/* undefined */ \
125704b94745Smrg	    MAP(0x55, 0x1B)	/* undefined */ \
125804b94745Smrg	    MAP(0x56, 0x1B)	/* undefined */ \
125904b94745Smrg	    MAP(0x57, 0x1B)	/* undefined */ \
126004b94745Smrg	    MAP(0x58, 0x1B)	/* undefined */ \
126104b94745Smrg	    MAP(0x59, 0x1B)	/* undefined */ \
126204b94745Smrg	    MAP(0x5A, 0x1B)	/* undefined */ \
126304b94745Smrg	    MAP(0x5B, 0x1B)	/* undefined */ \
126404b94745Smrg	    MAP(0x5C, 0x1B)	/* undefined */ \
126504b94745Smrg	    MAP(0x5D, 0x1B)	/* undefined */ \
126604b94745Smrg	    MAP(0x5E, 0x1B)	/* undefined */ \
126704b94745Smrg	    MAP(0x5F, 0x52)	/* DOUBLE LOW LINE */ \
126804b94745Smrg	    MAP(0x60, 0x53)	/* HEBREW LETTER ALEF */ \
126904b94745Smrg	    MAP(0x61, 0x54)	/* HEBREW LETTER BET */ \
127004b94745Smrg	    MAP(0x62, 0x55)	/* HEBREW LETTER GIMEL */ \
127104b94745Smrg	    MAP(0x63, 0x56)	/* HEBREW LETTER DALET */ \
127204b94745Smrg	    MAP(0x64, 0x57)	/* HEBREW LETTER HE */ \
127304b94745Smrg	    MAP(0x65, 0x58)	/* HEBREW LETTER VAV */ \
127404b94745Smrg	    MAP(0x66, 0x59)	/* HEBREW LETTER ZAYIN */ \
127504b94745Smrg	    MAP(0x67, 0x5A)	/* HEBREW LETTER HET */ \
127604b94745Smrg	    MAP(0x68, 0x5B)	/* HEBREW LETTER TET */ \
127704b94745Smrg	    MAP(0x69, 0x5C)	/* HEBREW LETTER YOD */ \
127804b94745Smrg	    MAP(0x6A, 0x5D)	/* HEBREW LETTER FINAL KAF */ \
127904b94745Smrg	    MAP(0x6B, 0x5E)	/* HEBREW LETTER KAF */ \
128004b94745Smrg	    MAP(0x6C, 0x5F)	/* HEBREW LETTER LAMED */ \
128104b94745Smrg	    MAP(0x6D, 0x60)	/* HEBREW LETTER FINAL MEM */ \
128204b94745Smrg	    MAP(0x6E, 0x61)	/* HEBREW LETTER MEM */ \
128304b94745Smrg	    MAP(0x6F, 0x62)	/* HEBREW LETTER FINAL NUN */ \
128404b94745Smrg	    MAP(0x70, 0x63)	/* HEBREW LETTER NUN */ \
128504b94745Smrg	    MAP(0x71, 0x64)	/* HEBREW LETTER SAMEKH */ \
128604b94745Smrg	    MAP(0x72, 0x65)	/* HEBREW LETTER AYIN */ \
128704b94745Smrg	    MAP(0x73, 0x66)	/* HEBREW LETTER FINAL PE */ \
128804b94745Smrg	    MAP(0x74, 0x67)	/* HEBREW LETTER PE */ \
128904b94745Smrg	    MAP(0x75, 0x68)	/* HEBREW LETTER FINAL TSADI */ \
129004b94745Smrg	    MAP(0x76, 0x69)	/* HEBREW LETTER TSADI */ \
129104b94745Smrg	    MAP(0x77, 0x6A)	/* HEBREW LETTER QOF */ \
129204b94745Smrg	    MAP(0x78, 0x6B)	/* HEBREW LETTER RESH */ \
129304b94745Smrg	    MAP(0x79, 0x6C)	/* HEBREW LETTER SHIN */ \
129404b94745Smrg	    MAP(0x7A, 0x6D)	/* HEBREW LETTER TAV */ \
129504b94745Smrg	    MAP(0x7B, 0x1B)	/* undefined */ \
129604b94745Smrg	    MAP(0x7C, 0x1B)	/* undefined */ \
129704b94745Smrg	    MAP(0x7D, 0x1B)	/* undefined */ \
129804b94745Smrg	    MAP(0x7E, 0x1B)	/* undefined */ \
129904b94745Smrg	    MAP(0x7F, 0x1B)	/* undefined */ \
130004b94745Smrg	    default: dft; break; \
130104b94745Smrg	}
130204b94745Smrg
130304b94745Smrg/*
130404b94745Smrg * ISO Latin-2 is 8859-2
130504b94745Smrg */
130604b94745Smrg#define map_ISO_Latin_2(code) \
130704b94745Smrg	begin_CODEPAGE(96) \
130804b94745Smrg	switch (code) { \
130904b94745Smrg	    UNI(0x20, 0x00A0)	/* NO-BREAK SPACE */ \
131004b94745Smrg	    UNI(0x21, 0x0104)	/* LATIN CAPITAL LETTER A WITH OGONEK */ \
131104b94745Smrg	    UNI(0x22, 0x02D8)	/* BREVE */ \
131204b94745Smrg	    UNI(0x23, 0x0141)	/* LATIN CAPITAL LETTER L WITH STROKE */ \
131304b94745Smrg	    UNI(0x24, 0x00A4)	/* CURRENCY SIGN */ \
131404b94745Smrg	    UNI(0x25, 0x013D)	/* LATIN CAPITAL LETTER L WITH CARON */ \
131504b94745Smrg	    UNI(0x26, 0x015A)	/* LATIN CAPITAL LETTER S WITH ACUTE */ \
131604b94745Smrg	    UNI(0x27, 0x00A7)	/* SECTION SIGN */ \
131704b94745Smrg	    UNI(0x28, 0x00A8)	/* DIAERESIS */ \
131804b94745Smrg	    UNI(0x29, 0x0160)	/* LATIN CAPITAL LETTER S WITH CARON */ \
131904b94745Smrg	    UNI(0x2A, 0x015E)	/* LATIN CAPITAL LETTER S WITH CEDILLA */ \
132004b94745Smrg	    UNI(0x2B, 0x0164)	/* LATIN CAPITAL LETTER T WITH CARON */ \
132104b94745Smrg	    UNI(0x2C, 0x0179)	/* LATIN CAPITAL LETTER Z WITH ACUTE */ \
132204b94745Smrg	    UNI(0x2D, 0x00AD)	/* SOFT HYPHEN */ \
132304b94745Smrg	    UNI(0x2E, 0x017D)	/* LATIN CAPITAL LETTER Z WITH CARON */ \
132404b94745Smrg	    UNI(0x2F, 0x017B)	/* LATIN CAPITAL LETTER Z WITH DOT ABOVE */ \
132504b94745Smrg	    UNI(0x30, 0x00B0)	/* DEGREE SIGN */ \
132604b94745Smrg	    UNI(0x31, 0x0105)	/* LATIN SMALL LETTER A WITH OGONEK */ \
132704b94745Smrg	    UNI(0x32, 0x02DB)	/* OGONEK */ \
132804b94745Smrg	    UNI(0x33, 0x0142)	/* LATIN SMALL LETTER L WITH STROKE */ \
132904b94745Smrg	    UNI(0x34, 0x00B4)	/* ACUTE ACCENT */ \
133004b94745Smrg	    UNI(0x35, 0x013E)	/* LATIN SMALL LETTER L WITH CARON */ \
133104b94745Smrg	    UNI(0x36, 0x015B)	/* LATIN SMALL LETTER S WITH ACUTE */ \
133204b94745Smrg	    UNI(0x37, 0x02C7)	/* CARON */ \
133304b94745Smrg	    UNI(0x38, 0x00B8)	/* CEDILLA */ \
133404b94745Smrg	    UNI(0x39, 0x0161)	/* LATIN SMALL LETTER S WITH CARON */ \
133504b94745Smrg	    UNI(0x3A, 0x015F)	/* LATIN SMALL LETTER S WITH CEDILLA */ \
133604b94745Smrg	    UNI(0x3B, 0x0165)	/* LATIN SMALL LETTER T WITH CARON */ \
133704b94745Smrg	    UNI(0x3C, 0x017A)	/* LATIN SMALL LETTER Z WITH ACUTE */ \
133804b94745Smrg	    UNI(0x3D, 0x02DD)	/* DOUBLE ACUTE ACCENT */ \
133904b94745Smrg	    UNI(0x3E, 0x017E)	/* LATIN SMALL LETTER Z WITH CARON */ \
134004b94745Smrg	    UNI(0x3F, 0x017C)	/* LATIN SMALL LETTER Z WITH DOT ABOVE */ \
134104b94745Smrg	    UNI(0x40, 0x0154)	/* LATIN CAPITAL LETTER R WITH ACUTE */ \
134204b94745Smrg	    UNI(0x41, 0x00C1)	/* LATIN CAPITAL LETTER A WITH ACUTE */ \
134304b94745Smrg	    UNI(0x42, 0x00C2)	/* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ \
134404b94745Smrg	    UNI(0x43, 0x0102)	/* LATIN CAPITAL LETTER A WITH BREVE */ \
134504b94745Smrg	    UNI(0x44, 0x00C4)	/* LATIN CAPITAL LETTER A WITH DIAERESIS */ \
134604b94745Smrg	    UNI(0x45, 0x0139)	/* LATIN CAPITAL LETTER L WITH ACUTE */ \
134704b94745Smrg	    UNI(0x46, 0x0106)	/* LATIN CAPITAL LETTER C WITH ACUTE */ \
134804b94745Smrg	    UNI(0x47, 0x00C7)	/* LATIN CAPITAL LETTER C WITH CEDILLA */ \
134904b94745Smrg	    UNI(0x48, 0x010C)	/* LATIN CAPITAL LETTER C WITH CARON */ \
135004b94745Smrg	    UNI(0x49, 0x00C9)	/* LATIN CAPITAL LETTER E WITH ACUTE */ \
135104b94745Smrg	    UNI(0x4A, 0x0118)	/* LATIN CAPITAL LETTER E WITH OGONEK */ \
135204b94745Smrg	    UNI(0x4B, 0x00CB)	/* LATIN CAPITAL LETTER E WITH DIAERESIS */ \
135304b94745Smrg	    UNI(0x4C, 0x011A)	/* LATIN CAPITAL LETTER E WITH CARON */ \
135404b94745Smrg	    UNI(0x4D, 0x00CD)	/* LATIN CAPITAL LETTER I WITH ACUTE */ \
135504b94745Smrg	    UNI(0x4E, 0x00CE)	/* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ \
135604b94745Smrg	    UNI(0x4F, 0x010E)	/* LATIN CAPITAL LETTER D WITH CARON */ \
135704b94745Smrg	    UNI(0x50, 0x0110)	/* LATIN CAPITAL LETTER D WITH STROKE */ \
135804b94745Smrg	    UNI(0x51, 0x0143)	/* LATIN CAPITAL LETTER N WITH ACUTE */ \
135904b94745Smrg	    UNI(0x52, 0x0147)	/* LATIN CAPITAL LETTER N WITH CARON */ \
136004b94745Smrg	    UNI(0x53, 0x00D3)	/* LATIN CAPITAL LETTER O WITH ACUTE */ \
136104b94745Smrg	    UNI(0x54, 0x00D4)	/* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ \
136204b94745Smrg	    UNI(0x55, 0x0150)	/* LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ \
136304b94745Smrg	    UNI(0x56, 0x00D6)	/* LATIN CAPITAL LETTER O WITH DIAERESIS */ \
136404b94745Smrg	    UNI(0x57, 0x00D7)	/* MULTIPLICATION SIGN */ \
136504b94745Smrg	    UNI(0x58, 0x0158)	/* LATIN CAPITAL LETTER R WITH CARON */ \
136604b94745Smrg	    UNI(0x59, 0x016E)	/* LATIN CAPITAL LETTER U WITH RING ABOVE */ \
136704b94745Smrg	    UNI(0x5A, 0x00DA)	/* LATIN CAPITAL LETTER U WITH ACUTE */ \
136804b94745Smrg	    UNI(0x5B, 0x0170)	/* LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ \
136904b94745Smrg	    UNI(0x5C, 0x00DC)	/* LATIN CAPITAL LETTER U WITH DIAERESIS */ \
137004b94745Smrg	    UNI(0x5D, 0x00DD)	/* LATIN CAPITAL LETTER Y WITH ACUTE */ \
137104b94745Smrg	    UNI(0x5E, 0x0162)	/* LATIN CAPITAL LETTER T WITH CEDILLA */ \
137204b94745Smrg	    UNI(0x5F, 0x00DF)	/* LATIN SMALL LETTER SHARP S */ \
137304b94745Smrg	    UNI(0x60, 0x0155)	/* LATIN SMALL LETTER R WITH ACUTE */ \
137404b94745Smrg	    UNI(0x61, 0x00E1)	/* LATIN SMALL LETTER A WITH ACUTE */ \
137504b94745Smrg	    UNI(0x62, 0x00E2)	/* LATIN SMALL LETTER A WITH CIRCUMFLEX */ \
137604b94745Smrg	    UNI(0x63, 0x0103)	/* LATIN SMALL LETTER A WITH BREVE */ \
137704b94745Smrg	    UNI(0x64, 0x00E4)	/* LATIN SMALL LETTER A WITH DIAERESIS */ \
137804b94745Smrg	    UNI(0x65, 0x013A)	/* LATIN SMALL LETTER L WITH ACUTE */ \
137904b94745Smrg	    UNI(0x66, 0x0107)	/* LATIN SMALL LETTER C WITH ACUTE */ \
138004b94745Smrg	    UNI(0x67, 0x00E7)	/* LATIN SMALL LETTER C WITH CEDILLA */ \
138104b94745Smrg	    UNI(0x68, 0x010D)	/* LATIN SMALL LETTER C WITH CARON */ \
138204b94745Smrg	    UNI(0x69, 0x00E9)	/* LATIN SMALL LETTER E WITH ACUTE */ \
138304b94745Smrg	    UNI(0x6A, 0x0119)	/* LATIN SMALL LETTER E WITH OGONEK */ \
138404b94745Smrg	    UNI(0x6B, 0x00EB)	/* LATIN SMALL LETTER E WITH DIAERESIS */ \
138504b94745Smrg	    UNI(0x6C, 0x011B)	/* LATIN SMALL LETTER E WITH CARON */ \
138604b94745Smrg	    UNI(0x6D, 0x00ED)	/* LATIN SMALL LETTER I WITH ACUTE */ \
138704b94745Smrg	    UNI(0x6E, 0x00EE)	/* LATIN SMALL LETTER I WITH CIRCUMFLEX */ \
138804b94745Smrg	    UNI(0x6F, 0x010F)	/* LATIN SMALL LETTER D WITH CARON */ \
138904b94745Smrg	    UNI(0x70, 0x0111)	/* LATIN SMALL LETTER D WITH STROKE */ \
139004b94745Smrg	    UNI(0x71, 0x0144)	/* LATIN SMALL LETTER N WITH ACUTE */ \
139104b94745Smrg	    UNI(0x72, 0x0148)	/* LATIN SMALL LETTER N WITH CARON */ \
139204b94745Smrg	    UNI(0x73, 0x00F3)	/* LATIN SMALL LETTER O WITH ACUTE */ \
139304b94745Smrg	    UNI(0x74, 0x00F4)	/* LATIN SMALL LETTER O WITH CIRCUMFLEX */ \
139404b94745Smrg	    UNI(0x75, 0x0151)	/* LATIN SMALL LETTER O WITH DOUBLE ACUTE */ \
139504b94745Smrg	    UNI(0x76, 0x00F6)	/* LATIN SMALL LETTER O WITH DIAERESIS */ \
139604b94745Smrg	    UNI(0x77, 0x00F7)	/* DIVISION SIGN */ \
139704b94745Smrg	    UNI(0x78, 0x0159)	/* LATIN SMALL LETTER R WITH CARON */ \
139804b94745Smrg	    UNI(0x79, 0x016F)	/* LATIN SMALL LETTER U WITH RING ABOVE */ \
139904b94745Smrg	    UNI(0x7A, 0x00FA)	/* LATIN SMALL LETTER U WITH ACUTE */ \
140004b94745Smrg	    UNI(0x7B, 0x0171)	/* LATIN SMALL LETTER U WITH DOUBLE ACUTE */ \
140104b94745Smrg	    UNI(0x7C, 0x00FC)	/* LATIN SMALL LETTER U WITH DIAERESIS */ \
140204b94745Smrg	    UNI(0x7D, 0x00FD)	/* LATIN SMALL LETTER Y WITH ACUTE */ \
140304b94745Smrg	    UNI(0x7E, 0x0163)	/* LATIN SMALL LETTER T WITH CEDILLA */ \
140404b94745Smrg	    UNI(0x7F, 0x02D9)	/* DOT ABOVE */ \
140504b94745Smrg	} \
140604b94745Smrg	end_CODEPAGE()
140704b94745Smrg
140804b94745Smrg#define unmap_ISO_Latin_2(code,dft) \
140904b94745Smrg	switch (code) { \
141004b94745Smrg	    MAP(0x21, 0x9A)	/* LATIN CAPITAL LETTER A WITH OGONEK */ \
141104b94745Smrg	    MAP(0x22, 0x90)	/* BREVE */ \
141204b94745Smrg	    MAP(0x23, 0x9B)	/* LATIN CAPITAL LETTER L WITH STROKE */ \
141304b94745Smrg	    MAP(0x25, 0x9C)	/* LATIN CAPITAL LETTER L WITH CARON */ \
141404b94745Smrg	    MAP(0x26, 0x9D)	/* LATIN CAPITAL LETTER S WITH ACUTE */ \
141504b94745Smrg	    MAP(0x29, 0x9E)	/* LATIN CAPITAL LETTER S WITH CARON */ \
141604b94745Smrg	    MAP(0x2A, 0x9F)	/* LATIN CAPITAL LETTER S WITH CEDILLA */ \
141704b94745Smrg	    MAP(0x2B, 0x21)	/* LATIN CAPITAL LETTER T WITH CARON */ \
141804b94745Smrg	    MAP(0x2C, 0x22)	/* LATIN CAPITAL LETTER Z WITH ACUTE */ \
141904b94745Smrg	    MAP(0x2E, 0x23)	/* LATIN CAPITAL LETTER Z WITH CARON */ \
142004b94745Smrg	    MAP(0x2F, 0x24)	/* LATIN CAPITAL LETTER Z WITH DOT ABOVE */ \
142104b94745Smrg	    MAP(0x31, 0x25)	/* LATIN SMALL LETTER A WITH OGONEK */ \
142204b94745Smrg	    MAP(0x32, 0x91)	/* OGONEK */ \
142304b94745Smrg	    MAP(0x33, 0x26)	/* LATIN SMALL LETTER L WITH STROKE */ \
142404b94745Smrg	    MAP(0x35, 0x27)	/* LATIN SMALL LETTER L WITH CARON */ \
142504b94745Smrg	    MAP(0x36, 0x28)	/* LATIN SMALL LETTER S WITH ACUTE */ \
142604b94745Smrg	    MAP(0x37, 0x92)	/* CARON */ \
142704b94745Smrg	    MAP(0x39, 0x29)	/* LATIN SMALL LETTER S WITH CARON */ \
142804b94745Smrg	    MAP(0x3A, 0x2A)	/* LATIN SMALL LETTER S WITH CEDILLA */ \
142904b94745Smrg	    MAP(0x3B, 0x2B)	/* LATIN SMALL LETTER T WITH CARON */ \
143004b94745Smrg	    MAP(0x3C, 0x2C)	/* LATIN SMALL LETTER Z WITH ACUTE */ \
143104b94745Smrg	    MAP(0x3D, 0x93)	/* DOUBLE ACUTE ACCENT */ \
143204b94745Smrg	    MAP(0x3E, 0x2D)	/* LATIN SMALL LETTER Z WITH CARON */ \
143304b94745Smrg	    MAP(0x3F, 0x2E)	/* LATIN SMALL LETTER Z WITH DOT ABOVE */ \
143404b94745Smrg	    MAP(0x40, 0x2F)	/* LATIN CAPITAL LETTER R WITH ACUTE */ \
143504b94745Smrg	    MAP(0x43, 0x30)	/* LATIN CAPITAL LETTER A WITH BREVE */ \
143604b94745Smrg	    MAP(0x45, 0x31)	/* LATIN CAPITAL LETTER L WITH ACUTE */ \
143704b94745Smrg	    MAP(0x46, 0x32)	/* LATIN CAPITAL LETTER C WITH ACUTE */ \
143804b94745Smrg	    MAP(0x48, 0x33)	/* LATIN CAPITAL LETTER C WITH CARON */ \
143904b94745Smrg	    MAP(0x4A, 0x34)	/* LATIN CAPITAL LETTER E WITH OGONEK */ \
144004b94745Smrg	    MAP(0x4C, 0x35)	/* LATIN CAPITAL LETTER E WITH CARON */ \
144104b94745Smrg	    MAP(0x4F, 0x36)	/* LATIN CAPITAL LETTER D WITH CARON */ \
144204b94745Smrg	    MAP(0x51, 0x37)	/* LATIN CAPITAL LETTER N WITH ACUTE */ \
144304b94745Smrg	    MAP(0x52, 0x38)	/* LATIN CAPITAL LETTER N WITH CARON */ \
144404b94745Smrg	    MAP(0x55, 0x39)	/* LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ \
144504b94745Smrg	    MAP(0x58, 0x3A)	/* LATIN CAPITAL LETTER R WITH CARON */ \
144604b94745Smrg	    MAP(0x59, 0x3B)	/* LATIN CAPITAL LETTER U WITH RING ABOVE */ \
144704b94745Smrg	    MAP(0x5B, 0x3C)	/* LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ \
144804b94745Smrg	    MAP(0x5E, 0x3D)	/* LATIN CAPITAL LETTER T WITH CEDILLA */ \
144904b94745Smrg	    MAP(0x60, 0x3E)	/* LATIN SMALL LETTER R WITH ACUTE */ \
145004b94745Smrg	    MAP(0x63, 0x3F)	/* LATIN SMALL LETTER A WITH BREVE */ \
145104b94745Smrg	    MAP(0x65, 0x40)	/* LATIN SMALL LETTER L WITH ACUTE */ \
145204b94745Smrg	    MAP(0x66, 0x41)	/* LATIN SMALL LETTER C WITH ACUTE */ \
145304b94745Smrg	    MAP(0x68, 0x42)	/* LATIN SMALL LETTER C WITH CARON */ \
145404b94745Smrg	    MAP(0x6A, 0x43)	/* LATIN SMALL LETTER E WITH OGONEK */ \
145504b94745Smrg	    MAP(0x6C, 0x44)	/* LATIN SMALL LETTER E WITH CARON */ \
145604b94745Smrg	    MAP(0x6F, 0x45)	/* LATIN SMALL LETTER D WITH CARON */ \
145704b94745Smrg	    MAP(0x70, 0x46)	/* LATIN SMALL LETTER D WITH STROKE */ \
145804b94745Smrg	    MAP(0x71, 0x47)	/* LATIN SMALL LETTER N WITH ACUTE */ \
145904b94745Smrg	    MAP(0x72, 0x48)	/* LATIN SMALL LETTER N WITH CARON */ \
146004b94745Smrg	    MAP(0x75, 0x49)	/* LATIN SMALL LETTER O WITH DOUBLE ACUTE */ \
146104b94745Smrg	    MAP(0x78, 0x4A)	/* LATIN SMALL LETTER R WITH CARON */ \
146204b94745Smrg	    MAP(0x79, 0x4B)	/* LATIN SMALL LETTER U WITH RING ABOVE */ \
146304b94745Smrg	    MAP(0x7B, 0x4C)	/* LATIN SMALL LETTER U WITH DOUBLE ACUTE */ \
146404b94745Smrg	    MAP(0x7E, 0x4D)	/* LATIN SMALL LETTER T WITH CEDILLA */ \
146504b94745Smrg	    MAP(0x7F, 0x94)	/* DOT ABOVE */ \
146604b94745Smrg	    default: dft; break; \
146704b94745Smrg	}
146804b94745Smrg
146904b94745Smrg/*
147004b94745Smrg * ISO Latin-5 is 8859-9
147104b94745Smrg */
147204b94745Smrg#define map_ISO_Latin_5(code) \
147304b94745Smrg	begin_CODEPAGE(96) \
147404b94745Smrg	switch (code) { \
147504b94745Smrg	    UNI(0x20, 0x00A0)	/* NO-BREAK SPACE */ \
147604b94745Smrg	    UNI(0x21, 0x00A1)	/* INVERTED EXCLAMATION MARK */ \
147704b94745Smrg	    UNI(0x22, 0x00A2)	/* CENT SIGN */ \
147804b94745Smrg	    UNI(0x23, 0x00A3)	/* POUND SIGN */ \
147904b94745Smrg	    UNI(0x24, 0x00A4)	/* CURRENCY SIGN */ \
148004b94745Smrg	    UNI(0x25, 0x00A5)	/* YEN SIGN */ \
148104b94745Smrg	    UNI(0x26, 0x00A6)	/* BROKEN BAR */ \
148204b94745Smrg	    UNI(0x27, 0x00A7)	/* SECTION SIGN */ \
148304b94745Smrg	    UNI(0x28, 0x00A8)	/* DIAERESIS */ \
148404b94745Smrg	    UNI(0x29, 0x00A9)	/* COPYRIGHT SIGN */ \
148504b94745Smrg	    UNI(0x2A, 0x00AA)	/* FEMININE ORDINAL INDICATOR */ \
148604b94745Smrg	    UNI(0x2B, 0x00AB)	/* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
148704b94745Smrg	    UNI(0x2C, 0x00AC)	/* NOT SIGN */ \
148804b94745Smrg	    UNI(0x2D, 0x00AD)	/* SOFT HYPHEN */ \
148904b94745Smrg	    UNI(0x2E, 0x00AE)	/* REGISTERED SIGN */ \
149004b94745Smrg	    UNI(0x2F, 0x00AF)	/* MACRON */ \
149104b94745Smrg	    UNI(0x30, 0x00B0)	/* DEGREE SIGN */ \
149204b94745Smrg	    UNI(0x31, 0x00B1)	/* PLUS-MINUS SIGN */ \
149304b94745Smrg	    UNI(0x32, 0x00B2)	/* SUPERSCRIPT TWO */ \
149404b94745Smrg	    UNI(0x33, 0x00B3)	/* SUPERSCRIPT THREE */ \
149504b94745Smrg	    UNI(0x34, 0x00B4)	/* ACUTE ACCENT */ \
149604b94745Smrg	    UNI(0x35, 0x00B5)	/* MICRO SIGN */ \
149704b94745Smrg	    UNI(0x36, 0x00B6)	/* PILCROW SIGN */ \
149804b94745Smrg	    UNI(0x37, 0x00B7)	/* MIDDLE DOT */ \
149904b94745Smrg	    UNI(0x38, 0x00B8)	/* CEDILLA */ \
150004b94745Smrg	    UNI(0x39, 0x00B9)	/* SUPERSCRIPT ONE */ \
150104b94745Smrg	    UNI(0x3A, 0x00BA)	/* MASCULINE ORDINAL INDICATOR */ \
150204b94745Smrg	    UNI(0x3B, 0x00BB)	/* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
150304b94745Smrg	    UNI(0x3C, 0x00BC)	/* VULGAR FRACTION ONE QUARTER */ \
150404b94745Smrg	    UNI(0x3D, 0x00BD)	/* VULGAR FRACTION ONE HALF */ \
150504b94745Smrg	    UNI(0x3E, 0x00BE)	/* VULGAR FRACTION THREE QUARTERS */ \
150604b94745Smrg	    UNI(0x3F, 0x00BF)	/* INVERTED QUESTION MARK */ \
150704b94745Smrg	    UNI(0x40, 0x00C0)	/* LATIN CAPITAL LETTER A WITH GRAVE */ \
150804b94745Smrg	    UNI(0x41, 0x00C1)	/* LATIN CAPITAL LETTER A WITH ACUTE */ \
150904b94745Smrg	    UNI(0x42, 0x00C2)	/* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ \
151004b94745Smrg	    UNI(0x43, 0x00C3)	/* LATIN CAPITAL LETTER A WITH TILDE */ \
151104b94745Smrg	    UNI(0x44, 0x00C4)	/* LATIN CAPITAL LETTER A WITH DIAERESIS */ \
151204b94745Smrg	    UNI(0x45, 0x00C5)	/* LATIN CAPITAL LETTER A WITH RING ABOVE */ \
151304b94745Smrg	    UNI(0x46, 0x00C6)	/* LATIN CAPITAL LETTER AE */ \
151404b94745Smrg	    UNI(0x47, 0x00C7)	/* LATIN CAPITAL LETTER C WITH CEDILLA */ \
151504b94745Smrg	    UNI(0x48, 0x00C8)	/* LATIN CAPITAL LETTER E WITH GRAVE */ \
151604b94745Smrg	    UNI(0x49, 0x00C9)	/* LATIN CAPITAL LETTER E WITH ACUTE */ \
151704b94745Smrg	    UNI(0x4A, 0x00CA)	/* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ \
151804b94745Smrg	    UNI(0x4B, 0x00CB)	/* LATIN CAPITAL LETTER E WITH DIAERESIS */ \
151904b94745Smrg	    UNI(0x4C, 0x00CC)	/* LATIN CAPITAL LETTER I WITH GRAVE */ \
152004b94745Smrg	    UNI(0x4D, 0x00CD)	/* LATIN CAPITAL LETTER I WITH ACUTE */ \
152104b94745Smrg	    UNI(0x4E, 0x00CE)	/* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ \
152204b94745Smrg	    UNI(0x4F, 0x00CF)	/* LATIN CAPITAL LETTER I WITH DIAERESIS */ \
152304b94745Smrg	    UNI(0x50, 0x011E)	/* LATIN CAPITAL LETTER G WITH BREVE */ \
152404b94745Smrg	    UNI(0x51, 0x00D1)	/* LATIN CAPITAL LETTER N WITH TILDE */ \
152504b94745Smrg	    UNI(0x52, 0x00D2)	/* LATIN CAPITAL LETTER O WITH GRAVE */ \
152604b94745Smrg	    UNI(0x53, 0x00D3)	/* LATIN CAPITAL LETTER O WITH ACUTE */ \
152704b94745Smrg	    UNI(0x54, 0x00D4)	/* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ \
152804b94745Smrg	    UNI(0x55, 0x00D5)	/* LATIN CAPITAL LETTER O WITH TILDE */ \
152904b94745Smrg	    UNI(0x56, 0x00D6)	/* LATIN CAPITAL LETTER O WITH DIAERESIS */ \
153004b94745Smrg	    UNI(0x57, 0x00D7)	/* MULTIPLICATION SIGN */ \
153104b94745Smrg	    UNI(0x58, 0x00D8)	/* LATIN CAPITAL LETTER O WITH STROKE */ \
153204b94745Smrg	    UNI(0x59, 0x00D9)	/* LATIN CAPITAL LETTER U WITH GRAVE */ \
153304b94745Smrg	    UNI(0x5A, 0x00DA)	/* LATIN CAPITAL LETTER U WITH ACUTE */ \
153404b94745Smrg	    UNI(0x5B, 0x00DB)	/* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ \
153504b94745Smrg	    UNI(0x5C, 0x00DC)	/* LATIN CAPITAL LETTER U WITH DIAERESIS */ \
153604b94745Smrg	    UNI(0x5D, 0x0130)	/* LATIN CAPITAL LETTER I WITH DOT ABOVE */ \
153704b94745Smrg	    UNI(0x5E, 0x015E)	/* LATIN CAPITAL LETTER S WITH CEDILLA */ \
153804b94745Smrg	    UNI(0x5F, 0x00DF)	/* LATIN SMALL LETTER SHARP S */ \
153904b94745Smrg	    UNI(0x60, 0x00E0)	/* LATIN SMALL LETTER A WITH GRAVE */ \
154004b94745Smrg	    UNI(0x61, 0x00E1)	/* LATIN SMALL LETTER A WITH ACUTE */ \
154104b94745Smrg	    UNI(0x62, 0x00E2)	/* LATIN SMALL LETTER A WITH CIRCUMFLEX */ \
154204b94745Smrg	    UNI(0x63, 0x00E3)	/* LATIN SMALL LETTER A WITH TILDE */ \
154304b94745Smrg	    UNI(0x64, 0x00E4)	/* LATIN SMALL LETTER A WITH DIAERESIS */ \
154404b94745Smrg	    UNI(0x65, 0x00E5)	/* LATIN SMALL LETTER A WITH RING ABOVE */ \
154504b94745Smrg	    UNI(0x66, 0x00E6)	/* LATIN SMALL LETTER AE */ \
154604b94745Smrg	    UNI(0x67, 0x00E7)	/* LATIN SMALL LETTER C WITH CEDILLA */ \
154704b94745Smrg	    UNI(0x68, 0x00E8)	/* LATIN SMALL LETTER E WITH GRAVE */ \
154804b94745Smrg	    UNI(0x69, 0x00E9)	/* LATIN SMALL LETTER E WITH ACUTE */ \
154904b94745Smrg	    UNI(0x6A, 0x00EA)	/* LATIN SMALL LETTER E WITH CIRCUMFLEX */ \
155004b94745Smrg	    UNI(0x6B, 0x00EB)	/* LATIN SMALL LETTER E WITH DIAERESIS */ \
155104b94745Smrg	    UNI(0x6C, 0x00EC)	/* LATIN SMALL LETTER I WITH GRAVE */ \
155204b94745Smrg	    UNI(0x6D, 0x00ED)	/* LATIN SMALL LETTER I WITH ACUTE */ \
155304b94745Smrg	    UNI(0x6E, 0x00EE)	/* LATIN SMALL LETTER I WITH CIRCUMFLEX */ \
155404b94745Smrg	    UNI(0x6F, 0x00EF)	/* LATIN SMALL LETTER I WITH DIAERESIS */ \
155504b94745Smrg	    UNI(0x70, 0x011F)	/* LATIN SMALL LETTER G WITH BREVE */ \
155604b94745Smrg	    UNI(0x71, 0x00F1)	/* LATIN SMALL LETTER N WITH TILDE */ \
155704b94745Smrg	    UNI(0x72, 0x00F2)	/* LATIN SMALL LETTER O WITH GRAVE */ \
155804b94745Smrg	    UNI(0x73, 0x00F3)	/* LATIN SMALL LETTER O WITH ACUTE */ \
155904b94745Smrg	    UNI(0x74, 0x00F4)	/* LATIN SMALL LETTER O WITH CIRCUMFLEX */ \
156004b94745Smrg	    UNI(0x75, 0x00F5)	/* LATIN SMALL LETTER O WITH TILDE */ \
156104b94745Smrg	    UNI(0x76, 0x00F6)	/* LATIN SMALL LETTER O WITH DIAERESIS */ \
156204b94745Smrg	    UNI(0x77, 0x00F7)	/* DIVISION SIGN */ \
156304b94745Smrg	    UNI(0x78, 0x00F8)	/* LATIN SMALL LETTER O WITH STROKE */ \
156404b94745Smrg	    UNI(0x79, 0x00F9)	/* LATIN SMALL LETTER U WITH GRAVE */ \
156504b94745Smrg	    UNI(0x7A, 0x00FA)	/* LATIN SMALL LETTER U WITH ACUTE */ \
156604b94745Smrg	    UNI(0x7B, 0x00FB)	/* LATIN SMALL LETTER U WITH CIRCUMFLEX */ \
156704b94745Smrg	    UNI(0x7C, 0x00FC)	/* LATIN SMALL LETTER U WITH DIAERESIS */ \
156804b94745Smrg	    UNI(0x7D, 0x0131)	/* LATIN SMALL LETTER DOTLESS I */ \
156904b94745Smrg	    UNI(0x7E, 0x015F)	/* LATIN SMALL LETTER S WITH CEDILLA */ \
157004b94745Smrg	    UNI(0x7F, 0x00FF)	/* LATIN SMALL LETTER Y WITH DIAERESIS */ \
157104b94745Smrg	} \
157204b94745Smrg	end_CODEPAGE()
157304b94745Smrg
157404b94745Smrg#define unmap_ISO_Latin_5(code,dft) \
157504b94745Smrg	switch (code) { \
157604b94745Smrg	    MAP(0x50, 0x4E)	/* LATIN CAPITAL LETTER G WITH BREVE */ \
157704b94745Smrg	    MAP(0x5D, 0x4F)	/* LATIN CAPITAL LETTER I WITH DOT ABOVE */ \
157804b94745Smrg	    MAP(0x5E, 0x9F)	/* LATIN CAPITAL LETTER S WITH CEDILLA */ \
157904b94745Smrg	    MAP(0x70, 0x50)	/* LATIN SMALL LETTER G WITH BREVE */ \
158004b94745Smrg	    MAP(0x7D, 0x51)	/* LATIN SMALL LETTER DOTLESS I */ \
158104b94745Smrg	    MAP(0x7E, 0x2A)	/* LATIN SMALL LETTER S WITH CEDILLA */ \
158204b94745Smrg	    default: dft; break; \
158304b94745Smrg	}
158404b94745Smrg
158504b94745Smrg/*
158604b94745Smrg * DEC Cyrillic from screenshot
158704b94745Smrg */
158804b94745Smrg#define map_DEC_Cyrillic(code) \
158904b94745Smrg	begin_CODEPAGE(94) \
159004b94745Smrg	switch (code) { \
159104b94745Smrg	    XXX(0x21, UNDEF)	/* undefined */ \
159204b94745Smrg	    XXX(0x22, UNDEF)	/* undefined */ \
159304b94745Smrg	    XXX(0x23, UNDEF)	/* undefined */ \
159404b94745Smrg	    XXX(0x24, UNDEF)	/* undefined */ \
159504b94745Smrg	    XXX(0x25, UNDEF)	/* undefined */ \
159604b94745Smrg	    XXX(0x26, UNDEF)	/* undefined */ \
159704b94745Smrg	    XXX(0x27, UNDEF)	/* undefined */ \
159804b94745Smrg	    XXX(0x28, UNDEF)	/* undefined */ \
159904b94745Smrg	    XXX(0x29, UNDEF)	/* undefined */ \
160004b94745Smrg	    XXX(0x2A, UNDEF)	/* undefined */ \
160104b94745Smrg	    XXX(0x2B, UNDEF)	/* undefined */ \
160204b94745Smrg	    XXX(0x2C, UNDEF)	/* undefined */ \
160304b94745Smrg	    XXX(0x2D, UNDEF)	/* undefined */ \
160404b94745Smrg	    XXX(0x2E, UNDEF)	/* undefined */ \
160504b94745Smrg	    XXX(0x2F, UNDEF)	/* undefined */ \
160604b94745Smrg	    XXX(0x30, UNDEF)	/* undefined */ \
160704b94745Smrg	    XXX(0x31, UNDEF)	/* undefined */ \
160804b94745Smrg	    XXX(0x32, UNDEF)	/* undefined */ \
160904b94745Smrg	    XXX(0x33, UNDEF)	/* undefined */ \
161004b94745Smrg	    XXX(0x34, UNDEF)	/* undefined */ \
161104b94745Smrg	    XXX(0x35, UNDEF)	/* undefined */ \
161204b94745Smrg	    XXX(0x36, UNDEF)	/* undefined */ \
161304b94745Smrg	    XXX(0x37, UNDEF)	/* undefined */ \
161404b94745Smrg	    XXX(0x38, UNDEF)	/* undefined */ \
161504b94745Smrg	    XXX(0x39, UNDEF)	/* undefined */ \
161604b94745Smrg	    XXX(0x3A, UNDEF)	/* undefined */ \
161704b94745Smrg	    XXX(0x3B, UNDEF)	/* undefined */ \
161804b94745Smrg	    XXX(0x3C, UNDEF)	/* undefined */ \
161904b94745Smrg	    XXX(0x3D, UNDEF)	/* undefined */ \
162004b94745Smrg	    XXX(0x3E, UNDEF)	/* undefined */ \
162104b94745Smrg	    XXX(0x3F, UNDEF)	/* undefined */ \
162204b94745Smrg	    UNI(0x40, 0x044E)	/* CYRILLIC SMALL LETTER YU */ \
162304b94745Smrg	    UNI(0x41, 0x0430)	/* CYRILLIC SMALL LETTER A */ \
162404b94745Smrg	    UNI(0x42, 0x0431)	/* CYRILLIC SMALL LETTER BE */ \
162504b94745Smrg	    UNI(0x43, 0x0446)	/* CYRILLIC SMALL LETTER TSE */ \
162604b94745Smrg	    UNI(0x44, 0x0434)	/* CYRILLIC SMALL LETTER DE */ \
162704b94745Smrg	    UNI(0x45, 0x0435)	/* CYRILLIC SMALL LETTER IE */ \
162804b94745Smrg	    UNI(0x46, 0x0444)	/* CYRILLIC SMALL LETTER EF */ \
162904b94745Smrg	    UNI(0x47, 0x0433)	/* CYRILLIC SMALL LETTER GHE */ \
163004b94745Smrg	    UNI(0x48, 0x0445)	/* CYRILLIC SMALL LETTER HA */ \
163104b94745Smrg	    UNI(0x49, 0x0438)	/* CYRILLIC SMALL LETTER I */ \
163204b94745Smrg	    UNI(0x4A, 0x0439)	/* CYRILLIC SMALL LETTER SHORT I */ \
163304b94745Smrg	    UNI(0x4B, 0x043A)	/* CYRILLIC SMALL LETTER KA */ \
163404b94745Smrg	    UNI(0x4C, 0x043B)	/* CYRILLIC SMALL LETTER EL */ \
163504b94745Smrg	    UNI(0x4D, 0x043C)	/* CYRILLIC SMALL LETTER EM */ \
163604b94745Smrg	    UNI(0x4E, 0x043D)	/* CYRILLIC SMALL LETTER EN */ \
163704b94745Smrg	    UNI(0x4F, 0x043E)	/* CYRILLIC SMALL LETTER O */ \
163804b94745Smrg	    UNI(0x50, 0x043F)	/* CYRILLIC SMALL LETTER PE */ \
163904b94745Smrg	    UNI(0x51, 0x044F)	/* CYRILLIC SMALL LETTER YA */ \
164004b94745Smrg	    UNI(0x52, 0x0440)	/* CYRILLIC SMALL LETTER ER */ \
164104b94745Smrg	    UNI(0x53, 0x0441)	/* CYRILLIC SMALL LETTER ES */ \
164204b94745Smrg	    UNI(0x54, 0x0442)	/* CYRILLIC SMALL LETTER TE */ \
164304b94745Smrg	    UNI(0x55, 0x0443)	/* CYRILLIC SMALL LETTER U */ \
164404b94745Smrg	    UNI(0x56, 0x0436)	/* CYRILLIC SMALL LETTER ZHE */ \
164504b94745Smrg	    UNI(0x57, 0x0432)	/* CYRILLIC SMALL LETTER VE */ \
164604b94745Smrg	    UNI(0x58, 0x044C)	/* CYRILLIC SMALL LETTER SOFT SIGN */ \
164704b94745Smrg	    UNI(0x59, 0x044B)	/* CYRILLIC SMALL LETTER YERU */ \
164804b94745Smrg	    UNI(0x5A, 0x0437)	/* CYRILLIC SMALL LETTER ZE */ \
164904b94745Smrg	    UNI(0x5B, 0x0448)	/* CYRILLIC SMALL LETTER SHA */ \
165004b94745Smrg	    UNI(0x5C, 0x044D)	/* CYRILLIC SMALL LETTER E */ \
165104b94745Smrg	    UNI(0x5D, 0x0449)	/* CYRILLIC SMALL LETTER SHCHA */ \
165204b94745Smrg	    UNI(0x5E, 0x0447)	/* CYRILLIC SMALL LETTER CHE */ \
165304b94745Smrg	    UNI(0x5F, 0x044A)	/* CYRILLIC SMALL LETTER HARD SIGN */ \
165404b94745Smrg	    UNI(0x60, 0x042E)	/* CYRILLIC CAPITAL LETTER YU */ \
165504b94745Smrg	    UNI(0x61, 0x0410)	/* CYRILLIC CAPITAL LETTER A */ \
165604b94745Smrg	    UNI(0x62, 0x0411)	/* CYRILLIC CAPITAL LETTER BE */ \
165704b94745Smrg	    UNI(0x63, 0x0426)	/* CYRILLIC CAPITAL LETTER TSE */ \
165804b94745Smrg	    UNI(0x64, 0x0414)	/* CYRILLIC CAPITAL LETTER DE */ \
165904b94745Smrg	    UNI(0x65, 0x0415)	/* CYRILLIC CAPITAL LETTER IE */ \
166004b94745Smrg	    UNI(0x66, 0x0424)	/* CYRILLIC CAPITAL LETTER EF */ \
166104b94745Smrg	    UNI(0x67, 0x0413)	/* CYRILLIC CAPITAL LETTER GHE */ \
166204b94745Smrg	    UNI(0x68, 0x0425)	/* CYRILLIC CAPITAL LETTER HA */ \
166304b94745Smrg	    UNI(0x69, 0x0418)	/* CYRILLIC CAPITAL LETTER I */ \
166404b94745Smrg	    UNI(0x6A, 0x0419)	/* CYRILLIC CAPITAL LETTER SHORT I */ \
166504b94745Smrg	    UNI(0x6B, 0x041A)	/* CYRILLIC CAPITAL LETTER KA */ \
166604b94745Smrg	    UNI(0x6C, 0x041B)	/* CYRILLIC CAPITAL LETTER EL */ \
166704b94745Smrg	    UNI(0x6D, 0x041C)	/* CYRILLIC CAPITAL LETTER EM */ \
166804b94745Smrg	    UNI(0x6E, 0x041D)	/* CYRILLIC CAPITAL LETTER EN */ \
166904b94745Smrg	    UNI(0x6F, 0x041E)	/* CYRILLIC CAPITAL LETTER O */ \
167004b94745Smrg	    UNI(0x70, 0x041F)	/* CYRILLIC CAPITAL LETTER PE */ \
167104b94745Smrg	    UNI(0x71, 0x042F)	/* CYRILLIC CAPITAL LETTER YA */ \
167204b94745Smrg	    UNI(0x72, 0x0420)	/* CYRILLIC CAPITAL LETTER ER */ \
167304b94745Smrg	    UNI(0x73, 0x0421)	/* CYRILLIC CAPITAL LETTER ES */ \
167404b94745Smrg	    UNI(0x74, 0x0422)	/* CYRILLIC CAPITAL LETTER TE */ \
167504b94745Smrg	    UNI(0x75, 0x0423)	/* CYRILLIC CAPITAL LETTER U */ \
167604b94745Smrg	    UNI(0x76, 0x0416)	/* CYRILLIC CAPITAL LETTER ZHE */ \
167704b94745Smrg	    UNI(0x77, 0x0412)	/* CYRILLIC CAPITAL LETTER VE */ \
167804b94745Smrg	    UNI(0x78, 0x042C)	/* CYRILLIC CAPITAL LETTER SOFT SIGN */ \
167904b94745Smrg	    UNI(0x79, 0x042B)	/* CYRILLIC CAPITAL LETTER YERU */ \
168004b94745Smrg	    UNI(0x7A, 0x0417)	/* CYRILLIC CAPITAL LETTER ZE */ \
168104b94745Smrg	    UNI(0x7B, 0x0428)	/* CYRILLIC CAPITAL LETTER SHA */ \
168204b94745Smrg	    UNI(0x7C, 0x042D)	/* CYRILLIC CAPITAL LETTER E */ \
168304b94745Smrg	    UNI(0x7D, 0x0429)	/* CYRILLIC CAPITAL LETTER SHCHA */ \
168404b94745Smrg	    UNI(0x7E, 0x0427)	/* CYRILLIC CAPITAL LETTER CHE */ \
168504b94745Smrg	} \
168604b94745Smrg	end_CODEPAGE()
168704b94745Smrg
168804b94745Smrg#define unmap_DEC_Cyrillic(code,dft) \
168904b94745Smrg	switch (code) { \
169004b94745Smrg	    MAP(0x21, 0x1B)	/* undefined */ \
169104b94745Smrg	    MAP(0x22, 0x1B)	/* undefined */ \
169204b94745Smrg	    MAP(0x23, 0x1B)	/* undefined */ \
169304b94745Smrg	    MAP(0x24, 0x1B)	/* undefined */ \
169404b94745Smrg	    MAP(0x25, 0x1B)	/* undefined */ \
169504b94745Smrg	    MAP(0x26, 0x1B)	/* undefined */ \
169604b94745Smrg	    MAP(0x27, 0x1B)	/* undefined */ \
169704b94745Smrg	    MAP(0x28, 0x1B)	/* undefined */ \
169804b94745Smrg	    MAP(0x29, 0x1B)	/* undefined */ \
169904b94745Smrg	    MAP(0x2A, 0x1B)	/* undefined */ \
170004b94745Smrg	    MAP(0x2B, 0x1B)	/* undefined */ \
170104b94745Smrg	    MAP(0x2C, 0x1B)	/* undefined */ \
170204b94745Smrg	    MAP(0x2D, 0x1B)	/* undefined */ \
170304b94745Smrg	    MAP(0x2E, 0x1B)	/* undefined */ \
170404b94745Smrg	    MAP(0x2F, 0x1B)	/* undefined */ \
170504b94745Smrg	    MAP(0x30, 0x1B)	/* undefined */ \
170604b94745Smrg	    MAP(0x31, 0x1B)	/* undefined */ \
170704b94745Smrg	    MAP(0x32, 0x1B)	/* undefined */ \
170804b94745Smrg	    MAP(0x33, 0x1B)	/* undefined */ \
170904b94745Smrg	    MAP(0x34, 0x1B)	/* undefined */ \
171004b94745Smrg	    MAP(0x35, 0x1B)	/* undefined */ \
171104b94745Smrg	    MAP(0x36, 0x1B)	/* undefined */ \
171204b94745Smrg	    MAP(0x37, 0x1B)	/* undefined */ \
171304b94745Smrg	    MAP(0x38, 0x1B)	/* undefined */ \
171404b94745Smrg	    MAP(0x39, 0x1B)	/* undefined */ \
171504b94745Smrg	    MAP(0x3A, 0x1B)	/* undefined */ \
171604b94745Smrg	    MAP(0x3B, 0x1B)	/* undefined */ \
171704b94745Smrg	    MAP(0x3C, 0x1B)	/* undefined */ \
171804b94745Smrg	    MAP(0x3D, 0x1B)	/* undefined */ \
171904b94745Smrg	    MAP(0x3E, 0x1B)	/* undefined */ \
172004b94745Smrg	    MAP(0x3F, 0x1B)	/* undefined */ \
172104b94745Smrg	    MAP(0x40, 0x4F)	/* CYRILLIC SMALL LETTER YU */ \
172204b94745Smrg	    MAP(0x41, 0x31)	/* CYRILLIC SMALL LETTER A */ \
172304b94745Smrg	    MAP(0x42, 0x32)	/* CYRILLIC SMALL LETTER BE */ \
172404b94745Smrg	    MAP(0x43, 0x47)	/* CYRILLIC SMALL LETTER TSE */ \
172504b94745Smrg	    MAP(0x44, 0x35)	/* CYRILLIC SMALL LETTER DE */ \
172604b94745Smrg	    MAP(0x45, 0x36)	/* CYRILLIC SMALL LETTER IE */ \
172704b94745Smrg	    MAP(0x46, 0x45)	/* CYRILLIC SMALL LETTER EF */ \
172804b94745Smrg	    MAP(0x47, 0x34)	/* CYRILLIC SMALL LETTER GHE */ \
172904b94745Smrg	    MAP(0x48, 0x46)	/* CYRILLIC SMALL LETTER HA */ \
173004b94745Smrg	    MAP(0x49, 0x39)	/* CYRILLIC SMALL LETTER I */ \
173104b94745Smrg	    MAP(0x4A, 0x3A)	/* CYRILLIC SMALL LETTER SHORT I */ \
173204b94745Smrg	    MAP(0x4B, 0x3B)	/* CYRILLIC SMALL LETTER KA */ \
173304b94745Smrg	    MAP(0x4C, 0x3C)	/* CYRILLIC SMALL LETTER EL */ \
173404b94745Smrg	    MAP(0x4D, 0x3D)	/* CYRILLIC SMALL LETTER EM */ \
173504b94745Smrg	    MAP(0x4E, 0x3E)	/* CYRILLIC SMALL LETTER EN */ \
173604b94745Smrg	    MAP(0x4F, 0x3F)	/* CYRILLIC SMALL LETTER O */ \
173704b94745Smrg	    MAP(0x50, 0x40)	/* CYRILLIC SMALL LETTER PE */ \
173804b94745Smrg	    MAP(0x51, 0x50)	/* CYRILLIC SMALL LETTER YA */ \
173904b94745Smrg	    MAP(0x52, 0x41)	/* CYRILLIC SMALL LETTER ER */ \
174004b94745Smrg	    MAP(0x53, 0x42)	/* CYRILLIC SMALL LETTER ES */ \
174104b94745Smrg	    MAP(0x54, 0x43)	/* CYRILLIC SMALL LETTER TE */ \
174204b94745Smrg	    MAP(0x55, 0x44)	/* CYRILLIC SMALL LETTER U */ \
174304b94745Smrg	    MAP(0x56, 0x37)	/* CYRILLIC SMALL LETTER ZHE */ \
174404b94745Smrg	    MAP(0x57, 0x33)	/* CYRILLIC SMALL LETTER VE */ \
174504b94745Smrg	    MAP(0x58, 0x4D)	/* CYRILLIC SMALL LETTER SOFT SIGN */ \
174604b94745Smrg	    MAP(0x59, 0x4C)	/* CYRILLIC SMALL LETTER YERU */ \
174704b94745Smrg	    MAP(0x5A, 0x38)	/* CYRILLIC SMALL LETTER ZE */ \
174804b94745Smrg	    MAP(0x5B, 0x49)	/* CYRILLIC SMALL LETTER SHA */ \
174904b94745Smrg	    MAP(0x5C, 0x4E)	/* CYRILLIC SMALL LETTER E */ \
175004b94745Smrg	    MAP(0x5D, 0x4A)	/* CYRILLIC SMALL LETTER SHCHA */ \
175104b94745Smrg	    MAP(0x5E, 0x48)	/* CYRILLIC SMALL LETTER CHE */ \
175204b94745Smrg	    MAP(0x5F, 0x4B)	/* CYRILLIC SMALL LETTER HARD SIGN */ \
175304b94745Smrg	    MAP(0x60, 0x2F)	/* CYRILLIC CAPITAL LETTER YU */ \
175404b94745Smrg	    MAP(0x61, 0x11)	/* CYRILLIC CAPITAL LETTER A */ \
175504b94745Smrg	    MAP(0x62, 0x12)	/* CYRILLIC CAPITAL LETTER BE */ \
175604b94745Smrg	    MAP(0x63, 0x27)	/* CYRILLIC CAPITAL LETTER TSE */ \
175704b94745Smrg	    MAP(0x64, 0x15)	/* CYRILLIC CAPITAL LETTER DE */ \
175804b94745Smrg	    MAP(0x65, 0x16)	/* CYRILLIC CAPITAL LETTER IE */ \
175904b94745Smrg	    MAP(0x66, 0x25)	/* CYRILLIC CAPITAL LETTER EF */ \
176004b94745Smrg	    MAP(0x67, 0x14)	/* CYRILLIC CAPITAL LETTER GHE */ \
176104b94745Smrg	    MAP(0x68, 0x26)	/* CYRILLIC CAPITAL LETTER HA */ \
176204b94745Smrg	    MAP(0x69, 0x19)	/* CYRILLIC CAPITAL LETTER I */ \
176304b94745Smrg	    MAP(0x6A, 0x1A)	/* CYRILLIC CAPITAL LETTER SHORT I */ \
176404b94745Smrg	    MAP(0x6B, 0x1B)	/* CYRILLIC CAPITAL LETTER KA */ \
176504b94745Smrg	    MAP(0x6C, 0x1C)	/* CYRILLIC CAPITAL LETTER EL */ \
176604b94745Smrg	    MAP(0x6D, 0x1D)	/* CYRILLIC CAPITAL LETTER EM */ \
176704b94745Smrg	    MAP(0x6E, 0x1E)	/* CYRILLIC CAPITAL LETTER EN */ \
176804b94745Smrg	    MAP(0x6F, 0x1F)	/* CYRILLIC CAPITAL LETTER O */ \
176904b94745Smrg	    MAP(0x70, 0x20)	/* CYRILLIC CAPITAL LETTER PE */ \
177004b94745Smrg	    MAP(0x71, 0x30)	/* CYRILLIC CAPITAL LETTER YA */ \
177104b94745Smrg	    MAP(0x72, 0x21)	/* CYRILLIC CAPITAL LETTER ER */ \
177204b94745Smrg	    MAP(0x73, 0x22)	/* CYRILLIC CAPITAL LETTER ES */ \
177304b94745Smrg	    MAP(0x74, 0x23)	/* CYRILLIC CAPITAL LETTER TE */ \
177404b94745Smrg	    MAP(0x75, 0x24)	/* CYRILLIC CAPITAL LETTER U */ \
177504b94745Smrg	    MAP(0x76, 0x17)	/* CYRILLIC CAPITAL LETTER ZHE */ \
177604b94745Smrg	    MAP(0x77, 0x13)	/* CYRILLIC CAPITAL LETTER VE */ \
177704b94745Smrg	    MAP(0x78, 0x2D)	/* CYRILLIC CAPITAL LETTER SOFT SIGN */ \
177804b94745Smrg	    MAP(0x79, 0x2C)	/* CYRILLIC CAPITAL LETTER YERU */ \
177904b94745Smrg	    MAP(0x7A, 0x18)	/* CYRILLIC CAPITAL LETTER ZE */ \
178004b94745Smrg	    MAP(0x7B, 0x29)	/* CYRILLIC CAPITAL LETTER SHA */ \
178104b94745Smrg	    MAP(0x7C, 0x2E)	/* CYRILLIC CAPITAL LETTER E */ \
178204b94745Smrg	    MAP(0x7D, 0x2A)	/* CYRILLIC CAPITAL LETTER SHCHA */ \
178304b94745Smrg	    MAP(0x7E, 0x28)	/* CYRILLIC CAPITAL LETTER CHE */ \
178404b94745Smrg	    default: dft; break; \
178504b94745Smrg	}
178604b94745Smrg
178704b94745Smrg/*
178804b94745Smrg * figure A-24 "DEC Greek Supplemental Character Set"
178904b94745Smrg */
179004b94745Smrg#define map_DEC_Greek_Supp(code) \
179104b94745Smrg	begin_CODEPAGE(94) \
179204b94745Smrg	switch (code) { \
179304b94745Smrg	    UNI(0x21, 0x00A1)	/* LEFT SINGLE QUOTATION MARK */ \
179404b94745Smrg	    UNI(0x22, 0x00A2)	/* RIGHT SINGLE QUOTATION MARK */ \
179504b94745Smrg	    UNI(0x23, 0x00A3)	/* POUND SIGN */ \
179604b94745Smrg	    XXX(0x24, UNDEF)	/* EURO SIGN */ \
179704b94745Smrg	    UNI(0x25, 0x00A5)	/* YEN SIGN */ \
179804b94745Smrg	    XXX(0x26, UNDEF)	/* BROKEN BAR */ \
179904b94745Smrg	    UNI(0x27, 0x00A7)	/* SECTION SIGN */ \
180004b94745Smrg	    UNI(0x28, 0x00A4)	/* CURRENCY SIGN */ \
180104b94745Smrg	    UNI(0x29, 0x00A9)	/* COPYRIGHT SIGN */ \
180204b94745Smrg	    UNI(0x2A, 0x00AA)	/* FEMININE ORDINAL INDICATOR */ \
180304b94745Smrg	    UNI(0x2B, 0x00AB)	/* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
180404b94745Smrg	    XXX(0x2C, UNDEF)	/* reserved */ \
180504b94745Smrg	    XXX(0x2D, UNDEF)	/* reserved */ \
180604b94745Smrg	    XXX(0x2E, UNDEF)	/* reserved */ \
180704b94745Smrg	    XXX(0x2F, UNDEF)	/* reserved */ \
180804b94745Smrg	    UNI(0x30, 0x00B0)	/* DEGREE SIGN */ \
180904b94745Smrg	    UNI(0x31, 0x00B1)	/* PLUS-MINUS SIGN */ \
181004b94745Smrg	    UNI(0x32, 0x00B2)	/* SUPERSCRIPT TWO */ \
181104b94745Smrg	    UNI(0x33, 0x00B3)	/* SUPERSCRIPT THREE */ \
181204b94745Smrg	    XXX(0x34, UNDEF)	/* reserved */ \
181304b94745Smrg	    UNI(0x35, 0x00B5)	/* MICRO SIGN */ \
181404b94745Smrg	    UNI(0x36, 0x00B6)	/* PILCROW SIGN */ \
181504b94745Smrg	    UNI(0x37, 0x00B7)	/* MIDDLE DOT */ \
181604b94745Smrg	    XXX(0x38, UNDEF)	/* reserved */ \
181704b94745Smrg	    UNI(0x39, 0x00B9)	/* SUPERSCRIPT ONE */ \
181804b94745Smrg	    UNI(0x3A, 0x00BA)	/* MASCULINE ORDINAL INDICATOR */ \
181904b94745Smrg	    UNI(0x3B, 0x00BB)	/* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
182004b94745Smrg	    UNI(0x3C, 0x00BC)	/* VULGAR FRACTION ONE QUARTER */ \
182104b94745Smrg	    UNI(0x3D, 0x00BD)	/* VULGAR FRACTION ONE HALF */ \
182204b94745Smrg	    XXX(0x3E, UNDEF)	/* reserved */ \
182304b94745Smrg	    UNI(0x3F, 0x00BF)	/* INVERTED QUESTION MARK */ \
182404b94745Smrg	    UNI(0x40, 0x03CA)	/* GREEK SMALL LETTER IOTA WITH DIALYTIKA */ \
182504b94745Smrg	    UNI(0x41, 0x0391)	/* GREEK CAPITAL LETTER ALPHA */ \
182604b94745Smrg	    UNI(0x42, 0x0392)	/* GREEK CAPITAL LETTER BETA */ \
182704b94745Smrg	    UNI(0x43, 0x0393)	/* GREEK CAPITAL LETTER GAMMA */ \
182804b94745Smrg	    UNI(0x44, 0x0394)	/* GREEK CAPITAL LETTER DELTA */ \
182904b94745Smrg	    UNI(0x45, 0x0395)	/* GREEK CAPITAL LETTER EPSILON */ \
183004b94745Smrg	    UNI(0x46, 0x0396)	/* GREEK CAPITAL LETTER ZETA */ \
183104b94745Smrg	    UNI(0x47, 0x0397)	/* GREEK CAPITAL LETTER ETA */ \
183204b94745Smrg	    UNI(0x48, 0x0398)	/* GREEK CAPITAL LETTER THETA */ \
183304b94745Smrg	    UNI(0x49, 0x0399)	/* GREEK CAPITAL LETTER IOTA */ \
183404b94745Smrg	    UNI(0x4A, 0x039A)	/* GREEK CAPITAL LETTER KAPPA */ \
183504b94745Smrg	    UNI(0x4B, 0x039B)	/* GREEK CAPITAL LETTER LAMDA */ \
183604b94745Smrg	    UNI(0x4C, 0x039C)	/* GREEK CAPITAL LETTER MU */ \
183704b94745Smrg	    UNI(0x4D, 0x039D)	/* GREEK CAPITAL LETTER NU */ \
183804b94745Smrg	    UNI(0x4E, 0x039E)	/* GREEK CAPITAL LETTER XI */ \
183904b94745Smrg	    UNI(0x4F, 0x039F)	/* GREEK CAPITAL LETTER OMICRON */ \
184004b94745Smrg	    XXX(0x50, UNDEF)	/* reserved */ \
184104b94745Smrg	    UNI(0x51, 0x03A0)	/* GREEK CAPITAL LETTER PI */ \
184204b94745Smrg	    UNI(0x52, 0x03A1)	/* GREEK CAPITAL LETTER RHO */ \
184304b94745Smrg	    UNI(0x53, 0x03A3)	/* GREEK CAPITAL LETTER SIGMA */ \
184404b94745Smrg	    UNI(0x54, 0x03A4)	/* GREEK CAPITAL LETTER TAU */ \
184504b94745Smrg	    UNI(0x55, 0x03A5)	/* GREEK CAPITAL LETTER UPSILON */ \
184604b94745Smrg	    UNI(0x56, 0x03A6)	/* GREEK CAPITAL LETTER PHI */ \
184704b94745Smrg	    UNI(0x57, 0x03A7)	/* GREEK CAPITAL LETTER CHI */ \
184804b94745Smrg	    UNI(0x58, 0x03A8)	/* GREEK CAPITAL LETTER PSI */ \
184904b94745Smrg	    UNI(0x59, 0x03A9)	/* GREEK CAPITAL LETTER OMEGA */ \
185004b94745Smrg	    UNI(0x5A, 0x03AC)	/* GREEK SMALL LETTER ALPHA WITH TONOS */ \
185104b94745Smrg	    UNI(0x5B, 0x03AD)	/* GREEK SMALL LETTER EPSILON WITH TONOS */ \
185204b94745Smrg	    UNI(0x5C, 0x03AE)	/* GREEK SMALL LETTER ETA WITH TONOS */ \
185304b94745Smrg	    UNI(0x5D, 0x03AF)	/* GREEK SMALL LETTER IOTA WITH TONOS */ \
185404b94745Smrg	    XXX(0x5E, UNDEF)	/* reserved */ \
185504b94745Smrg	    UNI(0x5F, 0x03CC)	/* GREEK SMALL LETTER OMICRON WITH TONOS */ \
185604b94745Smrg	    UNI(0x60, 0x03CB)	/* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */ \
185704b94745Smrg	    UNI(0x61, 0x03B1)	/* GREEK SMALL LETTER ALPHA */ \
185804b94745Smrg	    UNI(0x62, 0x03B2)	/* GREEK SMALL LETTER BETA */ \
185904b94745Smrg	    UNI(0x63, 0x03B3)	/* GREEK SMALL LETTER GAMMA */ \
186004b94745Smrg	    UNI(0x64, 0x03B4)	/* GREEK SMALL LETTER DELTA */ \
186104b94745Smrg	    UNI(0x65, 0x03B5)	/* GREEK SMALL LETTER EPSILON */ \
186204b94745Smrg	    UNI(0x66, 0x03B6)	/* GREEK SMALL LETTER ZETA */ \
186304b94745Smrg	    UNI(0x67, 0x03B7)	/* GREEK SMALL LETTER ETA */ \
186404b94745Smrg	    UNI(0x68, 0x03B8)	/* GREEK SMALL LETTER THETA */ \
186504b94745Smrg	    UNI(0x69, 0x03B9)	/* GREEK SMALL LETTER IOTA */ \
186604b94745Smrg	    UNI(0x6A, 0x03BA)	/* GREEK SMALL LETTER KAPPA */ \
186704b94745Smrg	    UNI(0x6B, 0x03BB)	/* GREEK SMALL LETTER LAMDA */ \
186804b94745Smrg	    UNI(0x6C, 0x03BC)	/* GREEK SMALL LETTER MU */ \
186904b94745Smrg	    UNI(0x6D, 0x03BD)	/* GREEK SMALL LETTER NU */ \
187004b94745Smrg	    UNI(0x6E, 0x03BE)	/* GREEK SMALL LETTER XI */ \
187104b94745Smrg	    UNI(0x6F, 0x03BF)	/* GREEK SMALL LETTER OMICRON */ \
187204b94745Smrg	    XXX(0x70, UNDEF)	/* reserved */ \
187304b94745Smrg	    UNI(0x71, 0x03C0)	/* GREEK SMALL LETTER PI */ \
187404b94745Smrg	    UNI(0x72, 0x03C1)	/* GREEK SMALL LETTER RHO */ \
187504b94745Smrg	    UNI(0x73, 0x03C3)	/* GREEK SMALL LETTER SIGMA */ \
187604b94745Smrg	    UNI(0x74, 0x03C4)	/* GREEK SMALL LETTER TAU */ \
187704b94745Smrg	    UNI(0x75, 0x03C5)	/* GREEK SMALL LETTER UPSILON */ \
187804b94745Smrg	    UNI(0x76, 0x03C6)	/* GREEK SMALL LETTER PHI */ \
187904b94745Smrg	    UNI(0x77, 0x03C7)	/* GREEK SMALL LETTER CHI */ \
188004b94745Smrg	    UNI(0x78, 0x03C8)	/* GREEK SMALL LETTER PSI */ \
188104b94745Smrg	    UNI(0x79, 0x03C9)	/* GREEK SMALL LETTER OMEGA */ \
188204b94745Smrg	    UNI(0x7A, 0x03C2)	/* GREEK SMALL LETTER FINAL SIGMA */ \
188304b94745Smrg	    UNI(0x7B, 0x03CD)	/* GREEK SMALL LETTER UPSILON WITH TONOS */ \
188404b94745Smrg	    UNI(0x7C, 0x03CE)	/* GREEK SMALL LETTER OMEGA WITH TONOS */ \
188504b94745Smrg	    UNI(0x7D, 0x0384)	/* GREEK TONOS */ \
188604b94745Smrg	    XXX(0x7E, UNDEF)	/* reserved */ \
188704b94745Smrg	} \
188804b94745Smrg	end_CODEPAGE()
188904b94745Smrg
189004b94745Smrg#define unmap_DEC_Greek_Supp(code,dft) \
189104b94745Smrg	switch (code) { \
189204b94745Smrg	    MAP(0x24, 0x1B)	/* EURO SIGN */ \
189304b94745Smrg	    MAP(0x26, 0x1B)	/* BROKEN BAR */ \
189404b94745Smrg	    MAP(0x28, 0xA4)	/* CURRENCY SIGN */ \
189504b94745Smrg	    MAP(0x2C, 0x1B)	/* reserved */ \
189604b94745Smrg	    MAP(0x2D, 0x1B)	/* reserved */ \
189704b94745Smrg	    MAP(0x2E, 0x1B)	/* reserved */ \
189804b94745Smrg	    MAP(0x2F, 0x1B)	/* reserved */ \
189904b94745Smrg	    MAP(0x34, 0x1B)	/* reserved */ \
190004b94745Smrg	    MAP(0x38, 0x1B)	/* reserved */ \
190104b94745Smrg	    MAP(0x3E, 0x1B)	/* reserved */ \
190204b94745Smrg	    MAP(0x40, 0xD0)	/* GREEK SMALL LETTER IOTA WITH DIALYTIKA */ \
190304b94745Smrg	    MAP(0x41, 0x76)	/* GREEK CAPITAL LETTER ALPHA */ \
190404b94745Smrg	    MAP(0x42, 0x77)	/* GREEK CAPITAL LETTER BETA */ \
190504b94745Smrg	    MAP(0x43, 0x78)	/* GREEK CAPITAL LETTER GAMMA */ \
190604b94745Smrg	    MAP(0x44, 0x79)	/* GREEK CAPITAL LETTER DELTA */ \
190704b94745Smrg	    MAP(0x45, 0x7A)	/* GREEK CAPITAL LETTER EPSILON */ \
190804b94745Smrg	    MAP(0x46, 0x7B)	/* GREEK CAPITAL LETTER ZETA */ \
190904b94745Smrg	    MAP(0x47, 0x7C)	/* GREEK CAPITAL LETTER ETA */ \
191004b94745Smrg	    MAP(0x48, 0x7D)	/* GREEK CAPITAL LETTER THETA */ \
191104b94745Smrg	    MAP(0x49, 0x7E)	/* GREEK CAPITAL LETTER IOTA */ \
191204b94745Smrg	    MAP(0x4A, 0x7F)	/* GREEK CAPITAL LETTER KAPPA */ \
191304b94745Smrg	    MAP(0x4B, 0xA2)	/* GREEK CAPITAL LETTER LAMDA */ \
191404b94745Smrg	    MAP(0x4C, 0xA3)	/* GREEK CAPITAL LETTER MU */ \
191504b94745Smrg	    MAP(0x4D, 0xA4)	/* GREEK CAPITAL LETTER NU */ \
191604b94745Smrg	    MAP(0x4E, 0xA5)	/* GREEK CAPITAL LETTER XI */ \
191704b94745Smrg	    MAP(0x4F, 0xA6)	/* GREEK CAPITAL LETTER OMICRON */ \
191804b94745Smrg	    MAP(0x50, 0x1B)	/* reserved */ \
191904b94745Smrg	    MAP(0x51, 0xA7)	/* GREEK CAPITAL LETTER PI */ \
192004b94745Smrg	    MAP(0x52, 0xA8)	/* GREEK CAPITAL LETTER RHO */ \
192104b94745Smrg	    MAP(0x53, 0xA9)	/* GREEK CAPITAL LETTER SIGMA */ \
192204b94745Smrg	    MAP(0x54, 0xAA)	/* GREEK CAPITAL LETTER TAU */ \
192304b94745Smrg	    MAP(0x55, 0xAB)	/* GREEK CAPITAL LETTER UPSILON */ \
192404b94745Smrg	    MAP(0x56, 0xAC)	/* GREEK CAPITAL LETTER PHI */ \
192504b94745Smrg	    MAP(0x57, 0xAD)	/* GREEK CAPITAL LETTER CHI */ \
192604b94745Smrg	    MAP(0x58, 0xAE)	/* GREEK CAPITAL LETTER PSI */ \
192704b94745Smrg	    MAP(0x59, 0xAF)	/* GREEK CAPITAL LETTER OMEGA */ \
192804b94745Smrg	    MAP(0x5A, 0xB2)	/* GREEK SMALL LETTER ALPHA WITH TONOS */ \
192904b94745Smrg	    MAP(0x5B, 0xB3)	/* GREEK SMALL LETTER EPSILON WITH TONOS */ \
193004b94745Smrg	    MAP(0x5C, 0xB4)	/* GREEK SMALL LETTER ETA WITH TONOS */ \
193104b94745Smrg	    MAP(0x5D, 0xB5)	/* GREEK SMALL LETTER IOTA WITH TONOS */ \
193204b94745Smrg	    MAP(0x5E, 0x1B)	/* reserved */ \
193304b94745Smrg	    MAP(0x5F, 0xD2)	/* GREEK SMALL LETTER OMICRON WITH TONOS */ \
193404b94745Smrg	    MAP(0x60, 0xD1)	/* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */ \
193504b94745Smrg	    MAP(0x61, 0xB7)	/* GREEK SMALL LETTER ALPHA */ \
193604b94745Smrg	    MAP(0x62, 0xB8)	/* GREEK SMALL LETTER BETA */ \
193704b94745Smrg	    MAP(0x63, 0xB9)	/* GREEK SMALL LETTER GAMMA */ \
193804b94745Smrg	    MAP(0x64, 0xBA)	/* GREEK SMALL LETTER DELTA */ \
193904b94745Smrg	    MAP(0x65, 0xBB)	/* GREEK SMALL LETTER EPSILON */ \
194004b94745Smrg	    MAP(0x66, 0xBC)	/* GREEK SMALL LETTER ZETA */ \
194104b94745Smrg	    MAP(0x67, 0xBD)	/* GREEK SMALL LETTER ETA */ \
194204b94745Smrg	    MAP(0x68, 0xBE)	/* GREEK SMALL LETTER THETA */ \
194304b94745Smrg	    MAP(0x69, 0xBF)	/* GREEK SMALL LETTER IOTA */ \
194404b94745Smrg	    MAP(0x6A, 0xC0)	/* GREEK SMALL LETTER KAPPA */ \
194504b94745Smrg	    MAP(0x6B, 0xC1)	/* GREEK SMALL LETTER LAMDA */ \
194604b94745Smrg	    MAP(0x6C, 0xC2)	/* GREEK SMALL LETTER MU */ \
194704b94745Smrg	    MAP(0x6D, 0xC3)	/* GREEK SMALL LETTER NU */ \
194804b94745Smrg	    MAP(0x6E, 0xC4)	/* GREEK SMALL LETTER XI */ \
194904b94745Smrg	    MAP(0x6F, 0xC5)	/* GREEK SMALL LETTER OMICRON */ \
195004b94745Smrg	    MAP(0x70, 0x1B)	/* reserved */ \
195104b94745Smrg	    MAP(0x71, 0xC6)	/* GREEK SMALL LETTER PI */ \
195204b94745Smrg	    MAP(0x72, 0xC7)	/* GREEK SMALL LETTER RHO */ \
195304b94745Smrg	    MAP(0x73, 0xC9)	/* GREEK SMALL LETTER SIGMA */ \
195404b94745Smrg	    MAP(0x74, 0xCA)	/* GREEK SMALL LETTER TAU */ \
195504b94745Smrg	    MAP(0x75, 0xCB)	/* GREEK SMALL LETTER UPSILON */ \
195604b94745Smrg	    MAP(0x76, 0xCC)	/* GREEK SMALL LETTER PHI */ \
195704b94745Smrg	    MAP(0x77, 0xCD)	/* GREEK SMALL LETTER CHI */ \
195804b94745Smrg	    MAP(0x78, 0xCE)	/* GREEK SMALL LETTER PSI */ \
195904b94745Smrg	    MAP(0x79, 0xCF)	/* GREEK SMALL LETTER OMEGA */ \
196004b94745Smrg	    MAP(0x7A, 0xC8)	/* GREEK SMALL LETTER FINAL SIGMA */ \
196104b94745Smrg	    MAP(0x7B, 0xD3)	/* GREEK SMALL LETTER UPSILON WITH TONOS */ \
196204b94745Smrg	    MAP(0x7C, 0xD4)	/* GREEK SMALL LETTER OMEGA WITH TONOS */ \
196304b94745Smrg	    MAP(0x7D, 0x96)	/* GREEK TONOS */ \
196404b94745Smrg	    MAP(0x7E, 0x1B)	/* reserved */ \
196504b94745Smrg	    default: dft; break; \
196604b94745Smrg	}
196704b94745Smrg
196804b94745Smrg/*
196904b94745Smrg * figure A-22 "DEC Hebrew Supplemental Character Set"
197004b94745Smrg */
197104b94745Smrg#define map_DEC_Hebrew_Supp(code) \
197204b94745Smrg	begin_CODEPAGE(94) \
197304b94745Smrg	switch (code) { \
197404b94745Smrg	    UNI(0x21, 0x00A1)	/* INVERTED EXCLAMATION MARK */ \
197504b94745Smrg	    UNI(0x22, 0x00A2)	/* CENT SIGN */ \
197604b94745Smrg	    UNI(0x23, 0x00A3)	/* POUND SIGN */ \
197704b94745Smrg	    XXX(0x24, UNDEF)	/* CURRENCY SIGN */ \
197804b94745Smrg	    UNI(0x25, 0x00A5)	/* YEN SIGN */ \
197904b94745Smrg	    XXX(0x26, UNDEF)	/* BROKEN BAR */ \
198004b94745Smrg	    UNI(0x27, 0x00A7)	/* SECTION SIGN */ \
198104b94745Smrg	    UNI(0x28, 0x00A8)	/* DIAERESIS */ \
198204b94745Smrg	    UNI(0x29, 0x00A9)	/* COPYRIGHT SIGN */ \
198304b94745Smrg	    UNI(0x2A, 0x00D7)	/* MULTIPLICATION SIGN */ \
198404b94745Smrg	    UNI(0x2B, 0x00AB)	/* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
198504b94745Smrg	    XXX(0x2C, UNDEF)	/* NOT SIGN */ \
198604b94745Smrg	    XXX(0x2D, UNDEF)	/* SOFT HYPHEN */ \
198704b94745Smrg	    XXX(0x2E, UNDEF)	/* REGISTERED SIGN */ \
198804b94745Smrg	    XXX(0x2F, UNDEF)	/* MACRON */ \
198904b94745Smrg	    UNI(0x30, 0x00B0)	/* DEGREE SIGN */ \
199004b94745Smrg	    UNI(0x31, 0x00B1)	/* PLUS-MINUS SIGN */ \
199104b94745Smrg	    UNI(0x32, 0x00B2)	/* SUPERSCRIPT TWO */ \
199204b94745Smrg	    UNI(0x33, 0x00B3)	/* SUPERSCRIPT THREE */ \
199304b94745Smrg	    XXX(0x34, UNDEF)	/* ACUTE ACCENT */ \
199404b94745Smrg	    UNI(0x35, 0x00B5)	/* MICRO SIGN */ \
199504b94745Smrg	    UNI(0x36, 0x00B6)	/* PILCROW SIGN */ \
199604b94745Smrg	    UNI(0x37, 0x00B7)	/* MIDDLE DOT */ \
199704b94745Smrg	    XXX(0x38, UNDEF)	/* CEDILLA */ \
199804b94745Smrg	    UNI(0x39, 0x00B9)	/* SUPERSCRIPT ONE */ \
199904b94745Smrg	    UNI(0x3A, 0x00F7)	/* DIVISION SIGN */ \
200004b94745Smrg	    UNI(0x3B, 0x00BB)	/* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
200104b94745Smrg	    UNI(0x3C, 0x00BC)	/* VULGAR FRACTION ONE QUARTER */ \
200204b94745Smrg	    UNI(0x3D, 0x00BD)	/* VULGAR FRACTION ONE HALF */ \
200304b94745Smrg	    XXX(0x3E, UNDEF)	/* VULGAR FRACTION THREE QUARTERS */ \
200404b94745Smrg	    UNI(0x3F, 0x00BF)	/* INVERTED QUESTION MARK */ \
200504b94745Smrg	    XXX(0x40, UNDEF)	/* reserved */ \
200604b94745Smrg	    XXX(0x41, UNDEF)	/* reserved */ \
200704b94745Smrg	    XXX(0x42, UNDEF)	/* reserved */ \
200804b94745Smrg	    XXX(0x43, UNDEF)	/* reserved */ \
200904b94745Smrg	    XXX(0x44, UNDEF)	/* reserved */ \
201004b94745Smrg	    XXX(0x45, UNDEF)	/* reserved */ \
201104b94745Smrg	    XXX(0x46, UNDEF)	/* reserved */ \
201204b94745Smrg	    XXX(0x47, UNDEF)	/* reserved */ \
201304b94745Smrg	    XXX(0x48, UNDEF)	/* reserved */ \
201404b94745Smrg	    XXX(0x49, UNDEF)	/* reserved */ \
201504b94745Smrg	    XXX(0x4A, UNDEF)	/* reserved */ \
201604b94745Smrg	    XXX(0x4B, UNDEF)	/* reserved */ \
201704b94745Smrg	    XXX(0x4C, UNDEF)	/* reserved */ \
201804b94745Smrg	    XXX(0x4D, UNDEF)	/* reserved */ \
201904b94745Smrg	    XXX(0x4E, UNDEF)	/* reserved */ \
202004b94745Smrg	    XXX(0x4F, UNDEF)	/* reserved */ \
202104b94745Smrg	    XXX(0x50, UNDEF)	/* reserved */ \
202204b94745Smrg	    XXX(0x51, UNDEF)	/* reserved */ \
202304b94745Smrg	    XXX(0x52, UNDEF)	/* reserved */ \
202404b94745Smrg	    XXX(0x53, UNDEF)	/* reserved */ \
202504b94745Smrg	    XXX(0x54, UNDEF)	/* reserved */ \
202604b94745Smrg	    XXX(0x55, UNDEF)	/* reserved */ \
202704b94745Smrg	    XXX(0x56, UNDEF)	/* reserved */ \
202804b94745Smrg	    XXX(0x57, UNDEF)	/* reserved */ \
202904b94745Smrg	    XXX(0x58, UNDEF)	/* reserved */ \
203004b94745Smrg	    XXX(0x59, UNDEF)	/* reserved */ \
203104b94745Smrg	    XXX(0x5A, UNDEF)	/* reserved */ \
203204b94745Smrg	    XXX(0x5B, UNDEF)	/* reserved */ \
203304b94745Smrg	    XXX(0x5C, UNDEF)	/* reserved */ \
203404b94745Smrg	    XXX(0x5D, UNDEF)	/* reserved */ \
203504b94745Smrg	    XXX(0x5E, UNDEF)	/* reserved */ \
203604b94745Smrg	    XXX(0x5F, UNDEF)	/* reserved */ \
203704b94745Smrg	    UNI(0x60, 0x05D0)	/* HEBREW LETTER ALEF */ \
203804b94745Smrg	    UNI(0x61, 0x05D1)	/* HEBREW LETTER BET */ \
203904b94745Smrg	    UNI(0x62, 0x05D2)	/* HEBREW LETTER GIMEL */ \
204004b94745Smrg	    UNI(0x63, 0x05D3)	/* HEBREW LETTER DALET */ \
204104b94745Smrg	    UNI(0x64, 0x05D4)	/* HEBREW LETTER HE */ \
204204b94745Smrg	    UNI(0x65, 0x05D5)	/* HEBREW LETTER VAV */ \
204304b94745Smrg	    UNI(0x66, 0x05D6)	/* HEBREW LETTER ZAYIN */ \
204404b94745Smrg	    UNI(0x67, 0x05D7)	/* HEBREW LETTER HET */ \
204504b94745Smrg	    UNI(0x68, 0x05D8)	/* HEBREW LETTER TET */ \
204604b94745Smrg	    UNI(0x69, 0x05D9)	/* HEBREW LETTER YOD */ \
204704b94745Smrg	    UNI(0x6A, 0x05DA)	/* HEBREW LETTER FINAL KAF */ \
204804b94745Smrg	    UNI(0x6B, 0x05DB)	/* HEBREW LETTER KAF */ \
204904b94745Smrg	    UNI(0x6C, 0x05DC)	/* HEBREW LETTER LAMED */ \
205004b94745Smrg	    UNI(0x6D, 0x05DD)	/* HEBREW LETTER FINAL MEM */ \
205104b94745Smrg	    UNI(0x6E, 0x05DE)	/* HEBREW LETTER MEM */ \
205204b94745Smrg	    UNI(0x6F, 0x05DF)	/* HEBREW LETTER FINAL NUN */ \
205304b94745Smrg	    UNI(0x70, 0x05E0)	/* HEBREW LETTER NUN */ \
205404b94745Smrg	    UNI(0x71, 0x05E1)	/* HEBREW LETTER SAMEKH */ \
205504b94745Smrg	    UNI(0x72, 0x05E2)	/* HEBREW LETTER AYIN */ \
205604b94745Smrg	    UNI(0x73, 0x05E3)	/* HEBREW LETTER FINAL PE */ \
205704b94745Smrg	    UNI(0x74, 0x05E4)	/* HEBREW LETTER PE */ \
205804b94745Smrg	    UNI(0x75, 0x05E5)	/* HEBREW LETTER FINAL TSADI */ \
205904b94745Smrg	    UNI(0x76, 0x05E6)	/* HEBREW LETTER TSADI */ \
206004b94745Smrg	    UNI(0x77, 0x05E7)	/* HEBREW LETTER QOF */ \
206104b94745Smrg	    UNI(0x78, 0x05E8)	/* HEBREW LETTER RESH */ \
206204b94745Smrg	    UNI(0x79, 0x05E9)	/* HEBREW LETTER SHIN */ \
206304b94745Smrg	    UNI(0x7A, 0x05EA)	/* HEBREW LETTER TAV */ \
206404b94745Smrg	    XXX(0x7B, UNDEF)	/* reserved */ \
206504b94745Smrg	    XXX(0x7C, UNDEF)	/* reserved */ \
206604b94745Smrg	    XXX(0x7D, UNDEF)	/* reserved */ \
206704b94745Smrg	    XXX(0x7E, UNDEF)	/* reserved */ \
206804b94745Smrg	} \
206904b94745Smrg	end_CODEPAGE()
207004b94745Smrg
207104b94745Smrg#define unmap_DEC_Hebrew_Supp(code,dft) \
207204b94745Smrg	switch (code) { \
207304b94745Smrg	    MAP(0x24, 0x1B)	/* CURRENCY SIGN */ \
207404b94745Smrg	    MAP(0x26, 0x1B)	/* BROKEN BAR */ \
207504b94745Smrg	    MAP(0x28, 0xA4)	/* DIAERESIS */ \
207604b94745Smrg	    MAP(0x2C, 0x1B)	/* NOT SIGN */ \
207704b94745Smrg	    MAP(0x2D, 0x1B)	/* SOFT HYPHEN */ \
207804b94745Smrg	    MAP(0x2E, 0x1B)	/* REGISTERED SIGN */ \
207904b94745Smrg	    MAP(0x2F, 0x1B)	/* MACRON */ \
208004b94745Smrg	    MAP(0x34, 0x1B)	/* ACUTE ACCENT */ \
208104b94745Smrg	    MAP(0x38, 0x1B)	/* CEDILLA */ \
208204b94745Smrg	    MAP(0x3E, 0x1B)	/* VULGAR FRACTION THREE QUARTERS */ \
208304b94745Smrg	    MAP(0x40, 0x1B)	/* reserved */ \
208404b94745Smrg	    MAP(0x41, 0x1B)	/* reserved */ \
208504b94745Smrg	    MAP(0x42, 0x1B)	/* reserved */ \
208604b94745Smrg	    MAP(0x43, 0x1B)	/* reserved */ \
208704b94745Smrg	    MAP(0x44, 0x1B)	/* reserved */ \
208804b94745Smrg	    MAP(0x45, 0x1B)	/* reserved */ \
208904b94745Smrg	    MAP(0x46, 0x1B)	/* reserved */ \
209004b94745Smrg	    MAP(0x47, 0x1B)	/* reserved */ \
209104b94745Smrg	    MAP(0x48, 0x1B)	/* reserved */ \
209204b94745Smrg	    MAP(0x49, 0x1B)	/* reserved */ \
209304b94745Smrg	    MAP(0x4A, 0x1B)	/* reserved */ \
209404b94745Smrg	    MAP(0x4B, 0x1B)	/* reserved */ \
209504b94745Smrg	    MAP(0x4C, 0x1B)	/* reserved */ \
209604b94745Smrg	    MAP(0x4D, 0x1B)	/* reserved */ \
209704b94745Smrg	    MAP(0x4E, 0x1B)	/* reserved */ \
209804b94745Smrg	    MAP(0x4F, 0x1B)	/* reserved */ \
209904b94745Smrg	    MAP(0x50, 0x1B)	/* reserved */ \
210004b94745Smrg	    MAP(0x51, 0x1B)	/* reserved */ \
210104b94745Smrg	    MAP(0x52, 0x1B)	/* reserved */ \
210204b94745Smrg	    MAP(0x53, 0x1B)	/* reserved */ \
210304b94745Smrg	    MAP(0x54, 0x1B)	/* reserved */ \
210404b94745Smrg	    MAP(0x55, 0x1B)	/* reserved */ \
210504b94745Smrg	    MAP(0x56, 0x1B)	/* reserved */ \
210604b94745Smrg	    MAP(0x57, 0x1B)	/* reserved */ \
210704b94745Smrg	    MAP(0x58, 0x1B)	/* reserved */ \
210804b94745Smrg	    MAP(0x59, 0x1B)	/* reserved */ \
210904b94745Smrg	    MAP(0x5A, 0x1B)	/* reserved */ \
211004b94745Smrg	    MAP(0x5B, 0x1B)	/* reserved */ \
211104b94745Smrg	    MAP(0x5C, 0x1B)	/* reserved */ \
211204b94745Smrg	    MAP(0x5D, 0x1B)	/* reserved */ \
211304b94745Smrg	    MAP(0x5E, 0x1B)	/* reserved */ \
211404b94745Smrg	    MAP(0x5F, 0x1B)	/* reserved */ \
211504b94745Smrg	    MAP(0x60, 0x53)	/* HEBREW LETTER ALEF */ \
211604b94745Smrg	    MAP(0x61, 0x54)	/* HEBREW LETTER BET */ \
211704b94745Smrg	    MAP(0x62, 0x55)	/* HEBREW LETTER GIMEL */ \
211804b94745Smrg	    MAP(0x63, 0x56)	/* HEBREW LETTER DALET */ \
211904b94745Smrg	    MAP(0x64, 0x57)	/* HEBREW LETTER HE */ \
212004b94745Smrg	    MAP(0x65, 0x58)	/* HEBREW LETTER VAV */ \
212104b94745Smrg	    MAP(0x66, 0x59)	/* HEBREW LETTER ZAYIN */ \
212204b94745Smrg	    MAP(0x67, 0x5A)	/* HEBREW LETTER HET */ \
212304b94745Smrg	    MAP(0x68, 0x5B)	/* HEBREW LETTER TET */ \
212404b94745Smrg	    MAP(0x69, 0x5C)	/* HEBREW LETTER YOD */ \
212504b94745Smrg	    MAP(0x6A, 0x5D)	/* HEBREW LETTER FINAL KAF */ \
212604b94745Smrg	    MAP(0x6B, 0x5E)	/* HEBREW LETTER KAF */ \
212704b94745Smrg	    MAP(0x6C, 0x5F)	/* HEBREW LETTER LAMED */ \
212804b94745Smrg	    MAP(0x6D, 0x60)	/* HEBREW LETTER FINAL MEM */ \
212904b94745Smrg	    MAP(0x6E, 0x61)	/* HEBREW LETTER MEM */ \
213004b94745Smrg	    MAP(0x6F, 0x62)	/* HEBREW LETTER FINAL NUN */ \
213104b94745Smrg	    MAP(0x70, 0x63)	/* HEBREW LETTER NUN */ \
213204b94745Smrg	    MAP(0x71, 0x64)	/* HEBREW LETTER SAMEKH */ \
213304b94745Smrg	    MAP(0x72, 0x65)	/* HEBREW LETTER AYIN */ \
213404b94745Smrg	    MAP(0x73, 0x66)	/* HEBREW LETTER FINAL PE */ \
213504b94745Smrg	    MAP(0x74, 0x67)	/* HEBREW LETTER PE */ \
213604b94745Smrg	    MAP(0x75, 0x68)	/* HEBREW LETTER FINAL TSADI */ \
213704b94745Smrg	    MAP(0x76, 0x69)	/* HEBREW LETTER TSADI */ \
213804b94745Smrg	    MAP(0x77, 0x6A)	/* HEBREW LETTER QOF */ \
213904b94745Smrg	    MAP(0x78, 0x6B)	/* HEBREW LETTER RESH */ \
214004b94745Smrg	    MAP(0x79, 0x6C)	/* HEBREW LETTER SHIN */ \
214104b94745Smrg	    MAP(0x7A, 0x6D)	/* HEBREW LETTER TAV */ \
214204b94745Smrg	    MAP(0x7B, 0x1B)	/* reserved */ \
214304b94745Smrg	    MAP(0x7C, 0x1B)	/* reserved */ \
214404b94745Smrg	    MAP(0x7D, 0x1B)	/* reserved */ \
214504b94745Smrg	    MAP(0x7E, 0x1B)	/* reserved */ \
214604b94745Smrg	    default: dft; break; \
214704b94745Smrg	}
214804b94745Smrg
214904b94745Smrg/*
215004b94745Smrg * figure A-27 "DEC 8-Bit Turkish Supplemental Character Set"
215104b94745Smrg */
215204b94745Smrg#define map_DEC_Turkish_Supp(code) \
215304b94745Smrg	begin_CODEPAGE(94) \
215404b94745Smrg	switch (code) { \
215504b94745Smrg	    UNI(0x21, 0x00A1)	/* INVERTED EXCLAMATION MARK */ \
215604b94745Smrg	    UNI(0x22, 0x00A2)	/* CENT SIGN */ \
215704b94745Smrg	    UNI(0x23, 0x00A3)	/* POUND SIGN */ \
215804b94745Smrg	    XXX(0x24, UNDEF)	/* reserved */ \
215904b94745Smrg	    UNI(0x25, 0x00A5)	/* YEN SIGN */ \
216004b94745Smrg	    XXX(0x26, UNDEF)	/* reserved */ \
216104b94745Smrg	    UNI(0x27, 0x00A7)	/* SECTION SIGN */ \
216204b94745Smrg	    UNI(0x28, 0x00A8)	/* DIAERESIS */ \
216304b94745Smrg	    UNI(0x29, 0x00A9)	/* COPYRIGHT SIGN */ \
216404b94745Smrg	    UNI(0x2A, 0x00AA)	/* FEMININE ORDINAL INDICATOR */ \
216504b94745Smrg	    UNI(0x2B, 0x00AB)	/* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
216604b94745Smrg	    XXX(0x2C, UNDEF)	/* reserved */ \
216704b94745Smrg	    XXX(0x2D, UNDEF)	/* reserved */ \
216804b94745Smrg	    UNI(0x2E, 0x0130)	/* LATIN CAPITAL LETTER I WITH DOT ABOVE */ \
216904b94745Smrg	    XXX(0x2F, UNDEF)	/* reserved */ \
217004b94745Smrg	    UNI(0x30, 0x00B0)	/* DEGREE SIGN */ \
217104b94745Smrg	    UNI(0x31, 0x00B1)	/* PLUS-MINUS SIGN */ \
217204b94745Smrg	    UNI(0x32, 0x00B2)	/* SUPERSCRIPT TWO */ \
217304b94745Smrg	    UNI(0x33, 0x00B3)	/* SUPERSCRIPT THREE */ \
217404b94745Smrg	    XXX(0x34, UNDEF)	/* reserved */ \
217504b94745Smrg	    UNI(0x35, 0x00B5)	/* MICRO SIGN */ \
217604b94745Smrg	    UNI(0x36, 0x00B6)	/* PILCROW SIGN */ \
217704b94745Smrg	    UNI(0x37, 0x00B7)	/* MIDDLE DOT */ \
217804b94745Smrg	    XXX(0x38, UNDEF)	/* reserved */ \
217904b94745Smrg	    UNI(0x39, 0x00B9)	/* SUPERSCRIPT ONE */ \
218004b94745Smrg	    UNI(0x3A, 0x00BA)	/* MASCULINE ORDINAL INDICATOR */ \
218104b94745Smrg	    UNI(0x3B, 0x00BB)	/* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ \
218204b94745Smrg	    UNI(0x3C, 0x00BC)	/* VULGAR FRACTION ONE QUARTER */ \
218304b94745Smrg	    UNI(0x3D, 0x00BD)	/* VULGAR FRACTION ONE HALF */ \
218404b94745Smrg	    UNI(0x3E, 0x0131)	/* LATIN SMALL LETTER DOTLESS I */ \
218504b94745Smrg	    UNI(0x3F, 0x00BF)	/* INVERTED QUESTION MARK */ \
218604b94745Smrg	    UNI(0x40, 0x00C0)	/* LATIN CAPITAL LETTER A WITH GRAVE */ \
218704b94745Smrg	    UNI(0x41, 0x00C1)	/* LATIN CAPITAL LETTER A WITH ACUTE */ \
218804b94745Smrg	    UNI(0x42, 0x00C2)	/* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ \
218904b94745Smrg	    UNI(0x43, 0x00C3)	/* LATIN CAPITAL LETTER A WITH TILDE */ \
219004b94745Smrg	    UNI(0x44, 0x00C4)	/* LATIN CAPITAL LETTER A WITH DIAERESIS */ \
219104b94745Smrg	    UNI(0x45, 0x00C5)	/* LATIN CAPITAL LETTER A WITH RING ABOVE */ \
219204b94745Smrg	    UNI(0x46, 0x00C6)	/* LATIN CAPITAL LETTER AE */ \
219304b94745Smrg	    UNI(0x47, 0x00C7)	/* LATIN CAPITAL LETTER C WITH CEDILLA */ \
219404b94745Smrg	    UNI(0x48, 0x00C8)	/* LATIN CAPITAL LETTER E WITH GRAVE */ \
219504b94745Smrg	    UNI(0x49, 0x00C9)	/* LATIN CAPITAL LETTER E WITH ACUTE */ \
219604b94745Smrg	    UNI(0x4A, 0x00CA)	/* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ \
219704b94745Smrg	    UNI(0x4B, 0x00CB)	/* LATIN CAPITAL LETTER E WITH DIAERESIS */ \
219804b94745Smrg	    UNI(0x4C, 0x00CC)	/* LATIN CAPITAL LETTER I WITH GRAVE */ \
219904b94745Smrg	    UNI(0x4D, 0x00CD)	/* LATIN CAPITAL LETTER I WITH ACUTE */ \
220004b94745Smrg	    UNI(0x4E, 0x00CE)	/* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ \
220104b94745Smrg	    UNI(0x4F, 0x00CF)	/* LATIN CAPITAL LETTER I WITH DIAERESIS */ \
220204b94745Smrg	    UNI(0x50, 0x011E)	/* LATIN CAPITAL LETTER G WITH BREVE */ \
220304b94745Smrg	    UNI(0x51, 0x00D1)	/* LATIN CAPITAL LETTER N WITH TILDE */ \
220404b94745Smrg	    UNI(0x52, 0x00D2)	/* LATIN CAPITAL LETTER O WITH GRAVE */ \
220504b94745Smrg	    UNI(0x53, 0x00D3)	/* LATIN CAPITAL LETTER O WITH ACUTE */ \
220604b94745Smrg	    UNI(0x54, 0x00D4)	/* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ \
220704b94745Smrg	    UNI(0x55, 0x00D5)	/* LATIN CAPITAL LETTER O WITH TILDE */ \
220804b94745Smrg	    UNI(0x56, 0x00D6)	/* LATIN CAPITAL LETTER O WITH DIAERESIS */ \
220904b94745Smrg	    UNI(0x57, 0x0152)	/* LATIN CAPITAL LIGATURE OE */ \
221004b94745Smrg	    UNI(0x58, 0x00D8)	/* LATIN CAPITAL LETTER O WITH STROKE */ \
221104b94745Smrg	    UNI(0x59, 0x00D9)	/* LATIN CAPITAL LETTER U WITH GRAVE */ \
221204b94745Smrg	    UNI(0x5A, 0x00DA)	/* LATIN CAPITAL LETTER U WITH ACUTE */ \
221304b94745Smrg	    UNI(0x5B, 0x00DB)	/* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ \
221404b94745Smrg	    UNI(0x5C, 0x00DC)	/* LATIN CAPITAL LETTER U WITH DIAERESIS */ \
221504b94745Smrg	    UNI(0x5D, 0x0178)	/* LATIN CAPITAL LETTER Y WITH DIAERESIS */ \
221604b94745Smrg	    UNI(0x5E, 0x015E)	/* LATIN CAPITAL LETTER S WITH CEDILLA */ \
221704b94745Smrg	    UNI(0x5F, 0x00DF)	/* LATIN SMALL LETTER SHARP S */ \
221804b94745Smrg	    UNI(0x60, 0x00E0)	/* LATIN SMALL LETTER A WITH GRAVE */ \
221904b94745Smrg	    UNI(0x61, 0x00E1)	/* LATIN SMALL LETTER A WITH ACUTE */ \
222004b94745Smrg	    UNI(0x62, 0x00E2)	/* LATIN SMALL LETTER A WITH CIRCUMFLEX */ \
222104b94745Smrg	    UNI(0x63, 0x00E3)	/* LATIN SMALL LETTER A WITH TILDE */ \
222204b94745Smrg	    UNI(0x64, 0x00E4)	/* LATIN SMALL LETTER A WITH DIAERESIS */ \
222304b94745Smrg	    UNI(0x65, 0x00E5)	/* LATIN SMALL LETTER A WITH RING ABOVE */ \
222404b94745Smrg	    UNI(0x66, 0x00E6)	/* LATIN SMALL LETTER AE */ \
222504b94745Smrg	    UNI(0x67, 0x00E7)	/* LATIN SMALL LETTER C WITH CEDILLA */ \
222604b94745Smrg	    UNI(0x68, 0x00E8)	/* LATIN SMALL LETTER E WITH GRAVE */ \
222704b94745Smrg	    UNI(0x69, 0x00E9)	/* LATIN SMALL LETTER E WITH ACUTE */ \
222804b94745Smrg	    UNI(0x6A, 0x00EA)	/* LATIN SMALL LETTER E WITH CIRCUMFLEX */ \
222904b94745Smrg	    UNI(0x6B, 0x00EB)	/* LATIN SMALL LETTER E WITH DIAERESIS */ \
223004b94745Smrg	    UNI(0x6C, 0x00EC)	/* LATIN SMALL LETTER I WITH GRAVE */ \
223104b94745Smrg	    UNI(0x6D, 0x00ED)	/* LATIN SMALL LETTER I WITH ACUTE */ \
223204b94745Smrg	    UNI(0x6E, 0x00EE)	/* LATIN SMALL LETTER I WITH CIRCUMFLEX */ \
223304b94745Smrg	    UNI(0x6F, 0x00EF)	/* LATIN SMALL LETTER I WITH DIAERESIS */ \
223404b94745Smrg	    UNI(0x70, 0x011F)	/* LATIN SMALL LETTER G WITH BREVE */ \
223504b94745Smrg	    UNI(0x71, 0x00F1)	/* LATIN SMALL LETTER N WITH TILDE */ \
223604b94745Smrg	    UNI(0x72, 0x00F2)	/* LATIN SMALL LETTER O WITH GRAVE */ \
223704b94745Smrg	    UNI(0x73, 0x00F3)	/* LATIN SMALL LETTER O WITH ACUTE */ \
223804b94745Smrg	    UNI(0x74, 0x00F4)	/* LATIN SMALL LETTER O WITH CIRCUMFLEX */ \
223904b94745Smrg	    UNI(0x75, 0x00F5)	/* LATIN SMALL LETTER O WITH TILDE */ \
224004b94745Smrg	    UNI(0x76, 0x00F6)	/* LATIN SMALL LETTER O WITH DIAERESIS */ \
224104b94745Smrg	    UNI(0x77, 0x0153)	/* LATIN SMALL LIGATURE OE */ \
224204b94745Smrg	    UNI(0x78, 0x00F8)	/* LATIN SMALL LETTER O WITH STROKE */ \
224304b94745Smrg	    UNI(0x79, 0x00F9)	/* LATIN SMALL LETTER U WITH GRAVE */ \
224404b94745Smrg	    UNI(0x7A, 0x00FA)	/* LATIN SMALL LETTER U WITH ACUTE */ \
224504b94745Smrg	    UNI(0x7B, 0x00FB)	/* LATIN SMALL LETTER U WITH CIRCUMFLEX */ \
224604b94745Smrg	    UNI(0x7C, 0x00FC)	/* LATIN SMALL LETTER U WITH DIAERESIS */ \
224704b94745Smrg	    UNI(0x7D, 0x00FF)	/* LATIN SMALL LETTER Y WITH DIAERESIS */ \
224804b94745Smrg	    UNI(0x7E, 0x015F)	/* LATIN SMALL LETTER S WITH CEDILLA */ \
224904b94745Smrg	} \
225004b94745Smrg	end_CODEPAGE()
225104b94745Smrg
225204b94745Smrg#define unmap_DEC_Turkish_Supp(code,dft) \
225304b94745Smrg	switch (code) { \
225404b94745Smrg	    MAP(0x24, 0x1B)	/* reserved */ \
225504b94745Smrg	    MAP(0x26, 0x1B)	/* reserved */ \
225604b94745Smrg	    MAP(0x28, 0xA4)	/* DIAERESIS */ \
225704b94745Smrg	    MAP(0x2C, 0x1B)	/* reserved */ \
225804b94745Smrg	    MAP(0x2D, 0x1B)	/* reserved */ \
225904b94745Smrg	    MAP(0x2E, 0x4F)	/* LATIN CAPITAL LETTER I WITH DOT ABOVE */ \
226004b94745Smrg	    MAP(0x2F, 0x1B)	/* reserved */ \
226104b94745Smrg	    MAP(0x34, 0x1B)	/* reserved */ \
226204b94745Smrg	    MAP(0x38, 0x1B)	/* reserved */ \
226304b94745Smrg	    MAP(0x3E, 0x51)	/* LATIN SMALL LETTER DOTLESS I */ \
226404b94745Smrg	    MAP(0x50, 0x4E)	/* LATIN CAPITAL LETTER G WITH BREVE */ \
226504b94745Smrg	    MAP(0x57, 0x97)	/* LATIN CAPITAL LIGATURE OE */ \
226604b94745Smrg	    MAP(0x5D, 0x98)	/* LATIN CAPITAL LETTER Y WITH DIAERESIS */ \
226704b94745Smrg	    MAP(0x5E, 0x9F)	/* LATIN CAPITAL LETTER S WITH CEDILLA */ \
226804b94745Smrg	    MAP(0x70, 0x50)	/* LATIN SMALL LETTER G WITH BREVE */ \
226904b94745Smrg	    MAP(0x77, 0x99)	/* LATIN SMALL LIGATURE OE */ \
227004b94745Smrg	    MAP(0x7D, 0xFF)	/* LATIN SMALL LETTER Y WITH DIAERESIS */ \
227104b94745Smrg	    MAP(0x7E, 0x2A)	/* LATIN SMALL LETTER S WITH CEDILLA */ \
227204b94745Smrg	    default: dft; break; \
227304b94745Smrg	}
227404b94745Smrg
227504b94745Smrg/*
227604b94745Smrg * mentioned, but not documented in VT510 manual, etc., this uses
227704b94745Smrg * the ELOT927 table from Kermit 95:
227804b94745Smrg */
227904b94745Smrg#define map_NRCS_Greek(code) \
228004b94745Smrg	switch (code) { \
228104b94745Smrg	    UNI(0x61, 0x0391)	/* CAPITAL GREEK LETTER ALPHA */ \
228204b94745Smrg	    UNI(0x62, 0x0392)	/* CAPITAL GREEK LETTER BETA */ \
228304b94745Smrg	    UNI(0x63, 0x0393)	/* CAPITAL GREEK LETTER GAMMA */ \
228404b94745Smrg	    UNI(0x64, 0x0394)	/* CAPITAL GREEK LETTER DELTA */ \
228504b94745Smrg	    UNI(0x65, 0x0395)	/* CAPITAL GREEK LETTER EPSILON */ \
228604b94745Smrg	    UNI(0x66, 0x0396)	/* CAPITAL GREEK LETTER ZETA */ \
228704b94745Smrg	    UNI(0x67, 0x0397)	/* CAPITAL GREEK LETTER ETA */ \
228804b94745Smrg	    UNI(0x68, 0x0398)	/* CAPITAL GREEK LETTER THETA */ \
228904b94745Smrg	    UNI(0x69, 0x0399)	/* CAPITAL GREEK LETTER IOTA */ \
229004b94745Smrg	    UNI(0x6a, 0x039A)	/* CAPITAL GREEK LETTER KAPPA */ \
229104b94745Smrg	    UNI(0x6b, 0x039B)	/* CAPITAL GREEK LETTER LAMDA */ \
229204b94745Smrg	    UNI(0x6c, 0x039C)	/* CAPITAL GREEK LETTER MU */ \
229304b94745Smrg	    UNI(0x6d, 0x039D)	/* CAPITAL GREEK LETTER NU */ \
229404b94745Smrg	    UNI(0x6e, 0x03A7)	/* CAPITAL GREEK LETTER KSI (CHI) */ \
229504b94745Smrg	    UNI(0x6f, 0x039F)	/* CAPITAL GREEK LETTER OMICRON */ \
229604b94745Smrg	    UNI(0x70, 0x03A0)	/* CAPITAL GREEK LETTER PI */ \
229704b94745Smrg	    UNI(0x71, 0x03A1)	/* CAPITAL GREEK LETTER RHO */ \
229804b94745Smrg	    UNI(0x72, 0x03A3)	/* CAPITAL GREEK LETTER SIGMA */ \
229904b94745Smrg	    UNI(0x73, 0x03A4)	/* CAPITAL GREEK LETTER TAU */ \
230004b94745Smrg	    UNI(0x74, 0x03A5)	/* CAPITAL GREEK LETTER UPSILON */ \
230104b94745Smrg	    UNI(0x75, 0x03A6)	/* CAPITAL GREEK LETTER FI (PHI) */ \
230204b94745Smrg	    UNI(0x76, 0x039E)	/* CAPITAL GREEK LETTER XI */ \
230304b94745Smrg	    UNI(0x77, 0x03A8)	/* CAPITAL GREEK LETTER PSI */ \
230404b94745Smrg	    UNI(0x78, 0x03A9)	/* CAPITAL GREEK LETTER OMEGA */ \
230504b94745Smrg	    XXX(0x79, UNDEF)	/* unused */ \
230604b94745Smrg	    XXX(0x7a, UNDEF)	/* unused */ \
230704b94745Smrg	}
230804b94745Smrg
230904b94745Smrg#define unmap_NRCS_Greek(code,dft) \
231004b94745Smrg	switch (code) { \
231104b94745Smrg	    MAP(0x79,             0x1B) /* unused */ \
231204b94745Smrg	    MAP(0x7a,             0x1B) /* unused */ \
231304b94745Smrg	    default: dft; break; \
231404b94745Smrg	}
231504b94745Smrg
231604b94745Smrg/*
231704b94745Smrg * figure A-21 "DEC 7-Bit Hebrew Character Set"
231804b94745Smrg */
231904b94745Smrg#define map_NRCS_Hebrew(code) \
232004b94745Smrg	switch (code) { \
232104b94745Smrg	    UNI(0x60, 0x05D0)	/* HEBREW LETTER ALEF */ \
232204b94745Smrg	    UNI(0x61, 0x05D1)	/* HEBREW LETTER BET */ \
232304b94745Smrg	    UNI(0x62, 0x05D2)	/* HEBREW LETTER GIMEL */ \
232404b94745Smrg	    UNI(0x63, 0x05D3)	/* HEBREW LETTER DALET */ \
232504b94745Smrg	    UNI(0x64, 0x05D4)	/* HEBREW LETTER HE */ \
232604b94745Smrg	    UNI(0x65, 0x05D5)	/* HEBREW LETTER VAV */ \
232704b94745Smrg	    UNI(0x66, 0x05D6)	/* HEBREW LETTER ZAYIN */ \
232804b94745Smrg	    UNI(0x67, 0x05D7)	/* HEBREW LETTER HET */ \
232904b94745Smrg	    UNI(0x68, 0x05D8)	/* HEBREW LETTER TET */ \
233004b94745Smrg	    UNI(0x69, 0x05D9)	/* HEBREW LETTER YOD */ \
233104b94745Smrg	    UNI(0x6a, 0x05DA)	/* HEBREW LETTER FINAL KAF */ \
233204b94745Smrg	    UNI(0x6b, 0x05DB)	/* HEBREW LETTER KAF */ \
233304b94745Smrg	    UNI(0x6c, 0x05DC)	/* HEBREW LETTER LAMED */ \
233404b94745Smrg	    UNI(0x6d, 0x05DD)	/* HEBREW LETTER FINAL MEM */ \
233504b94745Smrg	    UNI(0x6e, 0x05DE)	/* HEBREW LETTER MEM */ \
233604b94745Smrg	    UNI(0x6f, 0x05DF)	/* HEBREW LETTER FINAL NUN */ \
233704b94745Smrg	    UNI(0x70, 0x05E0)	/* HEBREW LETTER NUN */ \
233804b94745Smrg	    UNI(0x71, 0x05E1)	/* HEBREW LETTER SAMEKH */ \
233904b94745Smrg	    UNI(0x72, 0x05E2)	/* HEBREW LETTER AYIN */ \
234004b94745Smrg	    UNI(0x73, 0x05E3)	/* HEBREW LETTER FINAL PE */ \
234104b94745Smrg	    UNI(0x74, 0x05E4)	/* HEBREW LETTER PE */ \
234204b94745Smrg	    UNI(0x75, 0x05E5)	/* HEBREW LETTER FINAL TSADI */ \
234304b94745Smrg	    UNI(0x76, 0x05E6)	/* HEBREW LETTER TSADI */ \
234404b94745Smrg	    UNI(0x77, 0x05E7)	/* HEBREW LETTER QOF */ \
234504b94745Smrg	    UNI(0x78, 0x05E8)	/* HEBREW LETTER RESH */ \
234604b94745Smrg	    UNI(0x79, 0x05E9)	/* HEBREW LETTER SHIN */ \
234704b94745Smrg	    UNI(0x7a, 0x05EA)	/* HEBREW LETTER TAV */ \
234804b94745Smrg	}
234904b94745Smrg
235004b94745Smrg#define unmap_NRCS_Hebrew(code,dft) /* nothing */
235104b94745Smrg
23525104ee6eSmrg/*
23535104ee6eSmrg * VT520/VT525 manual p 4-35 explains "SCS" as Serbo-Croatian.  The remaining
23545104ee6eSmrg * "S" may be Slovene.  With that clue, choose ISO-IR-141, which provides a
23555104ee6eSmrg * chart with names of suitable replacement characters.
23565104ee6eSmrg */
23575104ee6eSmrg#define map_NRCS_Serbo_Croatian(code) \
23585104ee6eSmrg	switch (code) { \
23595104ee6eSmrg	    UNI(0x40, 0x017D)		/* LATIN CAPITAL LETTER Z WITH CARON */ \
23605104ee6eSmrg	    UNI(0x5B, 0x0160)		/* LATIN CAPITAL LETTER S WITH CARON */ \
23615104ee6eSmrg	    UNI(0x5C, 0x0110)		/* LATIN CAPITAL LETTER D WITH STROKE */ \
23625104ee6eSmrg	    UNI(0x5D, 0x0106)		/* LATIN CAPITAL LETTER C WITH ACUTE */ \
23635104ee6eSmrg	    UNI(0x5E, 0x010C)		/* LATIN CAPITAL LETTER C WITH CARON */ \
23645104ee6eSmrg	    UNI(0x60, 0x017E)		/* LATIN SMALL LETTER Z WITH CARON */ \
23655104ee6eSmrg	    UNI(0x7B, 0x0161)		/* LATIN SMALL LETTER S WITH CARON */ \
23665104ee6eSmrg	    UNI(0x7C, 0x0111)		/* LATIN SMALL LETTER D WITH STROKE */ \
23675104ee6eSmrg	    UNI(0x7D, 0x0107)		/* LATIN SMALL LETTER C WITH ACUTE */ \
23685104ee6eSmrg	    UNI(0x7E, 0x010D)		/* LATIN SMALL LETTER C WITH CARON */ \
23695104ee6eSmrg	}
23705104ee6eSmrg
23715104ee6eSmrg#define unmap_NRCS_Serbo_Croatian(code,dft) /* nothing */
23725104ee6eSmrg
23735104ee6eSmrg/*
23745104ee6eSmrg * VT520/VT525 manual p 7-2 explains "Russian" as KOI-7, though the dialect
23755104ee6eSmrg * is unknown.  Choose the one Kermit used.
23765104ee6eSmrg */
23775104ee6eSmrg#define map_NRCS_Russian(code) \
23785104ee6eSmrg	switch (code) { \
23795104ee6eSmrg	    UNI(0x60, 0x042E)		/* CYRILLIC CAPITAL LETTER YU */ \
23805104ee6eSmrg	    UNI(0x61, 0x0410)		/* CYRILLIC CAPITAL LETTER A */ \
23815104ee6eSmrg	    UNI(0x62, 0x0411)		/* CYRILLIC CAPITAL LETTER BE */ \
23825104ee6eSmrg	    UNI(0x63, 0x0426)		/* CYRILLIC CAPITAL LETTER TSE */ \
23835104ee6eSmrg	    UNI(0x64, 0x0414)		/* CYRILLIC CAPITAL LETTER DE */ \
23845104ee6eSmrg	    UNI(0x65, 0x0415)		/* CYRILLIC CAPITAL LETTER IE */ \
23855104ee6eSmrg	    UNI(0x66, 0x0424)		/* CYRILLIC CAPITAL LETTER EF */ \
23865104ee6eSmrg	    UNI(0x67, 0x0413)		/* CYRILLIC CAPITAL LETTER GHE */ \
23875104ee6eSmrg	    UNI(0x68, 0x0425)		/* CYRILLIC CAPITAL LETTER HA */ \
23885104ee6eSmrg	    UNI(0x69, 0x0418)		/* CYRILLIC CAPITAL LETTER I */ \
23895104ee6eSmrg	    UNI(0x6A, 0x0419)		/* CYRILLIC CAPITAL LETTER SHORT I */ \
23905104ee6eSmrg	    UNI(0x6B, 0x041A)		/* CYRILLIC CAPITAL LETTER KA */ \
23915104ee6eSmrg	    UNI(0x6C, 0x041B)		/* CYRILLIC CAPITAL LETTER EL */ \
23925104ee6eSmrg	    UNI(0x6D, 0x041C)		/* CYRILLIC CAPITAL LETTER EM */ \
23935104ee6eSmrg	    UNI(0x6E, 0x041D)		/* CYRILLIC CAPITAL LETTER EN */ \
23945104ee6eSmrg	    UNI(0x6F, 0x041E)		/* CYRILLIC CAPITAL LETTER O */ \
23955104ee6eSmrg	    UNI(0x70, 0x041F)		/* CYRILLIC CAPITAL LETTER PE */ \
23965104ee6eSmrg	    UNI(0x71, 0x042F)		/* CYRILLIC CAPITAL LETTER YA */ \
23975104ee6eSmrg	    UNI(0x72, 0x0420)		/* CYRILLIC CAPITAL LETTER ER */ \
23985104ee6eSmrg	    UNI(0x73, 0x0421)		/* CYRILLIC CAPITAL LETTER ES */ \
23995104ee6eSmrg	    UNI(0x74, 0x0422)		/* CYRILLIC CAPITAL LETTER TE */ \
24005104ee6eSmrg	    UNI(0x75, 0x0423)		/* CYRILLIC CAPITAL LETTER U */ \
24015104ee6eSmrg	    UNI(0x76, 0x0416)		/* CYRILLIC CAPITAL LETTER ZHE */ \
24025104ee6eSmrg	    UNI(0x77, 0x0412)		/* CYRILLIC CAPITAL LETTER VE */ \
24035104ee6eSmrg	    UNI(0x78, 0x042C)		/* CYRILLIC CAPITAL LETTER SOFT SIGN */ \
24045104ee6eSmrg	    UNI(0x79, 0x042B)		/* CYRILLIC CAPITAL LETTER YERU */ \
24055104ee6eSmrg	    UNI(0x7A, 0x0417)		/* CYRILLIC CAPITAL LETTER ZE */ \
24065104ee6eSmrg	    UNI(0x7B, 0x0428)		/* CYRILLIC CAPITAL LETTER SHA */ \
24075104ee6eSmrg	    UNI(0x7C, 0x042D)		/* CYRILLIC CAPITAL LETTER E */ \
24085104ee6eSmrg	    UNI(0x7D, 0x0429)		/* CYRILLIC CAPITAL LETTER SHCHA */ \
24095104ee6eSmrg	    UNI(0x7E, 0x0427)		/* CYRILLIC CAPITAL LETTER CHE */ \
24105104ee6eSmrg	}
24115104ee6eSmrg
24125104ee6eSmrg#define unmap_NRCS_Russian(code,dft) /* nothing */
24135104ee6eSmrg
241404b94745Smrg/*
241504b94745Smrg * figure A-26 "DEC 7-Bit Turkish Character Set"
241604b94745Smrg */
241704b94745Smrg#define map_NRCS_Turkish(code) \
241804b94745Smrg	switch (code) { \
241904b94745Smrg	    UNI(0x26, 0x011F)	/* LATIN SMALL LETTER G WITH BREVE */ \
242004b94745Smrg	    UNI(0x40, 0x0130)	/* LATIN CAPITAL LETTER I WITH DOT ABOVE */ \
242104b94745Smrg	    UNI(0x5b, 0x015E)	/* LATIN CAPITAL LETTER S WITH CEDILLA */ \
242204b94745Smrg	    UNI(0x5c, 0x00D6)	/* LATIN CAPITAL LETTER O WITH DIAERESIS */ \
242304b94745Smrg	    UNI(0x5d, 0x00C7)	/* LATIN CAPITAL LETTER C WITH CEDILLA */ \
242404b94745Smrg	    UNI(0x5e, 0x00dC)	/* LATIN CAPITAL LETTER U WITH DIAERESIS */ \
242504b94745Smrg	    UNI(0x60, 0x011E)	/* LATIN CAPITAL LETTER G WITH BREVE */ \
242604b94745Smrg	    UNI(0x7b, 0x015F)	/* LATIN SMALL LETTER S WITH CEDILLA */ \
242704b94745Smrg	    UNI(0x7c, 0x00F6)	/* LATIN SMALL LETTER O WITH DIAERESIS */ \
242804b94745Smrg	    UNI(0x7d, 0x00E7)	/* LATIN SMALL LETTER C WITH CEDILLA */ \
242904b94745Smrg	    UNI(0x7e, 0x00FC)	/* LATIN SMALL LETTER U WITH DIAERESIS */ \
243004b94745Smrg	}
243104b94745Smrg
243204b94745Smrg#define unmap_NRCS_Turkish(code,dft) /* nothing */
243304b94745Smrg#else
243404b94745Smrg#define map_DEC_Cyrillic(code)	/* nothing */
243504b94745Smrg#define unmap_DEC_Cyrillic(code,dft) dft
243604b94745Smrg#define map_DEC_Greek_Supp(code)	/* nothing */
243704b94745Smrg#define unmap_DEC_Greek_Supp(code,dft) dft
243804b94745Smrg#define map_DEC_Hebrew_Supp(code)	/* nothing */
243904b94745Smrg#define unmap_DEC_Hebrew_Supp(code,dft) dft
244004b94745Smrg#define map_DEC_Technical(code)	/* nothing */
244104b94745Smrg#define unmap_DEC_Technical(code,dft) dft
244204b94745Smrg#define map_DEC_Turkish_Supp(code)	/* nothing */
244304b94745Smrg#define unmap_DEC_Turkish_Supp(code,dft) dft
244404b94745Smrg#define map_ISO_Greek_Supp(code)	/* nothing */
244504b94745Smrg#define unmap_ISO_Greek_Supp(code,dft) dft
244604b94745Smrg#define map_ISO_Hebrew(code)	/* nothing */
244704b94745Smrg#define unmap_ISO_Hebrew(code,dft) dft
244804b94745Smrg#define map_ISO_Latin_2(code)	/* nothing */
244904b94745Smrg#define unmap_ISO_Latin_2(code,dft) dft
245004b94745Smrg#define map_ISO_Latin_5(code)	/* nothing */
245104b94745Smrg#define unmap_ISO_Latin_5(code,dft) dft
245204b94745Smrg#define map_ISO_Latin_Cyrillic(code)	/* nothing */
245304b94745Smrg#define unmap_ISO_Latin_Cyrillic(code,dft) dft
24545104ee6eSmrg#define map_JIS_Katakana(code)	/* nothing */
24555104ee6eSmrg#define unmap_JIS_Katakana(code,dft) dft
24565104ee6eSmrg#define map_JIS_Roman(code)	/* nothing */
24575104ee6eSmrg#define unmap_JIS_Roman(code,dft) dft
245804b94745Smrg#define map_NRCS_Greek(code)	/* nothing */
245904b94745Smrg#define unmap_NRCS_Greek(code,dft) dft
246004b94745Smrg#define map_NRCS_Hebrew(code)	/* nothing */
246104b94745Smrg#define unmap_NRCS_Hebrew(code,dft) dft
24625104ee6eSmrg#define map_NRCS_Russian(code)	/* nothing */
24635104ee6eSmrg#define unmap_NRCS_Russian(code,dft) dft
24645104ee6eSmrg#define map_NRCS_Serbo_Croatian(code)	/* nothing */
24655104ee6eSmrg#define unmap_NRCS_Serbo_Croatian(code,dft) dft
246604b94745Smrg#define map_NRCS_Turkish(code)	/* nothing */
246704b94745Smrg#define unmap_NRCS_Turkish(code,dft) dft
246804b94745Smrg#endif /* OPT_WIDE_CHARS */
246904b94745Smrg
247004b94745Smrg#endif /* included_charsets_h */
2471