diff options
Diffstat (limited to 'branch-3.0-2011/src/xutf8/utils/convert_map.c')
| -rw-r--r-- | branch-3.0-2011/src/xutf8/utils/convert_map.c | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/branch-3.0-2011/src/xutf8/utils/convert_map.c b/branch-3.0-2011/src/xutf8/utils/convert_map.c deleted file mode 100644 index 6e9c6492a..000000000 --- a/branch-3.0-2011/src/xutf8/utils/convert_map.c +++ /dev/null @@ -1,179 +0,0 @@ -/* "$Id: $" - * - * Author: Jean-Marc Lienher ( http://oksid.ch ) - * Copyright 2000-2003 by O'ksi'D. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA. - * - * Please report all bugs and problems on the following page: - * - * http://www.fltk.org/str.php - */ - -/* - * read the http://www.unicode.org/Public/MAPPINGS/ and create something - * usable in C. - */ - -#include <wchar.h> -#include <stdio.h> - -char buffer[1000000]; - -int JIS0208(unsigned char * ptr) { - int i = 0; - unsigned int fmap; - unsigned int ucs; - while(*ptr != '\t') { ptr++; i++; } - ptr++; i++; *(ptr+6) = '\0'; - fmap = (unsigned int)strtoul(ptr, NULL, 16); - while(*ptr != '\0') { ptr++; i++; } - i++; ptr++; *(ptr+6) = '\0'; - ucs = (unsigned int)strtoul(ptr, NULL, 16); - if (ucs) - printf("/* U+%04X */ 0x%02X, 0x%02X,\n", ucs, - (fmap & 0xFF00) >> 8, fmap & 0xFF); - while(*ptr != '\0') { ptr++; i++; } - i++; ptr++; - while(*ptr != '\n') { ptr++; i++; } - i++; - return i; -} - -int JIS0201(unsigned char * ptr) { - int i = 0; - unsigned int fmap; - unsigned int ucs; - *(ptr+4) = '\0'; - fmap = (unsigned int)strtoul(ptr, NULL, 16); - while(*ptr != '\0') { ptr++; i++; } - i++; ptr++; *(ptr+6) = '\0'; - ucs = (unsigned int)strtoul(ptr, NULL, 16); - if (*(ptr + 1) != 'x') { - printf("/* EOF */\n"); - abort(); - } - if (ucs) printf("/* U+%04X */ 0x%02X,\n", ucs, (unsigned char)fmap); - while(*ptr != '\0') { ptr++; i++; } - i++; ptr++; - while(*ptr != '\n') { ptr++; i++; } - i++; - return i; -} - -int ADOBE(unsigned char * ptr) { - int i = 0; - unsigned int fmap; - unsigned int ucs; - *(ptr+4) = '\0'; - ucs = (unsigned int)strtoul(ptr, NULL, 16); - while(*ptr != '\0') { ptr++; i++; } - i++; ptr++; *(ptr+2) = '\0'; - fmap = (unsigned int)strtoul(ptr, NULL, 16); - if (fmap < 1) { - printf("/* EOF */\n"); - abort(); - } - if (ucs) printf("/* U+%04X */ 0x%02X,\n", ucs, (unsigned char)fmap); - while(*ptr != '\0') { ptr++; i++; } - i++; ptr++; - while(*ptr != '\n') { ptr++; i++; } - i++; - return i; -} - - -int JIS0212(unsigned char * ptr) { - int i = 0; - unsigned int fmap; - unsigned int ucs; - *(ptr+6) = '\0'; - fmap = (unsigned int)strtoul(ptr, NULL, 16); - ptr += 7; - i += 7; - while(*ptr == ' ') { ptr++; i++; } - //i++; ptr++; - *(ptr+6) = '\0'; - ucs = (unsigned int)strtoul(ptr, NULL, 16); - if (*(ptr + 1) != 'x') { - printf("/* EOF */\n"); - abort(); - } - if (ucs) - printf("/* U+%04X */ 0x%02X, 0x%02X,\n", ucs, - (fmap & 0xFF00) >> 8, fmap & 0xFF); - while(*ptr != '\0') { ptr++; i++; } - i++; ptr++; - while(*ptr != '\n') { ptr++; i++; } - i++; - return i; -} - -int main(int argc, char **argv) { - char buf[80]; - int len; - int i; - unsigned char *ptr; - size_t nb; - len = fread(buffer, 1, 1000000, stdin); - - buffer[len] = '\0'; - ptr = (unsigned char *)buffer; - while (*ptr !='\n') {ptr++; len--;}; - ptr++; len--; - while (*ptr == '#') { - while (*ptr !='\n') { - ptr++; - len--; - } - ptr++; - len--; - } - - while (len > 0) { - nb = 0; - if (!strcmp("jisx0208.1983-0", argv[1])) { - nb = JIS0208(ptr); - } else if (!strcmp("jisx0201.1976-0", argv[1])) { - nb = JIS0201(ptr); - } else if (!strcmp("jisx0212.1990-0", argv[1])) { - nb = JIS0212(ptr); - } else if (!strcmp("gb2312.1980-0", argv[1])) { - nb = JIS0212(ptr); - } else if (!strcmp("ksc5601.1987-0", argv[1])) { - nb = JIS0212(ptr); - } else if (!strcmp("big5-0", argv[1])) { - nb = JIS0212(ptr); - } else if (!strncmp("iso8859", argv[1], 7)) { - nb = JIS0201(ptr); - } else if (!strcmp("koi8-1", argv[1])) { - nb = JIS0201(ptr); - } else if (!strcmp("dingbats", argv[1]) || - !strcmp("symbol", argv[1])) - { - nb = ADOBE(ptr); - } else { - len = 0; - } - ptr += nb; - len = len - nb; - } - return 0; -} - -/* - * End of "$Id$". - */ |
