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