xref: /illumos-gate/usr/src/lib/iconv_modules/utf-8/utils/koi8-generator.c (revision 45ede40b2394db7967e59f19288fae9b62efd4aa)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21 #include <stdio.h>
22 
23 main(int ac, char **av)
24 {
25 	/* Following table came from RFC 1489. */
26    unsigned short koi8_r_2unicode[128] = {
27      0x2500,0x2502,0x250c,0x2510,0x2514,0x2518,0x251c,0x2524,
28      0x252c,0x2534,0x253c,0x2580,0x2584,0x2588,0x258c,0x2590,
29      0x2591,0x2592,0x2593,0x2320,0x25a0,0x2219,0x221a,0x2248,
30      0x2264,0x2265,0x00a0,0x2321,0x00b0,0x00b2,0x00b7,0x00f7,
31      0x2550,0x2551,0x2552,0x0451,0x2553,0x2554,0x2555,0x2556,
32      0x2557,0x2558,0x2559,0x255a,0x255b,0x255c,0x255d,0x255e,
33      0x255f,0x2560,0x2561,0x0401,0x2562,0x2563,0x2564,0x2565,
34      0x2566,0x2567,0x2568,0x2569,0x256a,0x256b,0x256c,0x00a9,
35      0x044e,0x0430,0x0431,0x0446,0x0434,0x0435,0x0444,0x0433,
36      0x0445,0x0438,0x0439,0x043a,0x043b,0x043c,0x043d,0x043e,
37      0x043f,0x044f,0x0440,0x0441,0x0442,0x0443,0x0436,0x0432,
38      0x044c,0x044b,0x0437,0x0448,0x044d,0x0449,0x0447,0x044a,
39      0x042e,0x0410,0x0411,0x0426,0x0414,0x0415,0x0424,0x0413,
40      0x0425,0x0418,0x0419,0x041a,0x041b,0x041c,0x041d,0x041e,
41      0x041f,0x042f,0x0420,0x0421,0x0422,0x0423,0x0416,0x0412,
42      0x042c,0x042b,0x0417,0x0428,0x042d,0x0429,0x0427,0x042a
43    };
44 	int i;
45 
46 	printf("# KOI8-R to Unicode mapping table.\n\
47 #\n\
48 # Generated from the original table of RFC 1489 at around 12/4/1998.\n\
49 #\n");
50 
51 	for (i = 0x20; i < 0x7f; i++){
52 		printf("0x%02X\t0x%04X\n", i, i);
53 	}
54 	for (i = 0; i < 0x80; i++) {
55 		printf("0x%02X\t0x%04X\n", i + 0x80, koi8_r_2unicode[i]);
56 	}
57 }
58