summaryrefslogtreecommitdiff
path: root/src/xutf8/utils/create_table.c
diff options
context:
space:
mode:
authorGreg Ercolano <erco@seriss.com>2009-03-18 04:47:01 +0000
committerGreg Ercolano <erco@seriss.com>2009-03-18 04:47:01 +0000
commit6cbde8909b551f9561f0a06c210fb9fc059c4485 (patch)
tree3d24e8bf8197cd62ccc5662523d0e88428d2e3a5 /src/xutf8/utils/create_table.c
parent5d601837b99ceb6285718034959bf38ca4a749cb (diff)
xutf8 files code conformance:
o C files containing C++ "//" comments -> C style "/* */" comments o Converted unintended doxygen style comments to regular C comments o FLTK brace/indent coding standard conformance o Tested linux + sgi o Avoided mods to xutf8/lcUniConv [libiconv/FSF code] to avoid unwanted diffs with future updates of that lib as per Fabien's fltk.dev request 03/14/09. (Those files already compliant anyway) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6698 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/xutf8/utils/create_table.c')
-rw-r--r--src/xutf8/utils/create_table.c179
1 files changed, 101 insertions, 78 deletions
diff --git a/src/xutf8/utils/create_table.c b/src/xutf8/utils/create_table.c
index 5bc702952..cfee793d8 100644
--- a/src/xutf8/utils/create_table.c
+++ b/src/xutf8/utils/create_table.c
@@ -1,3 +1,28 @@
+/* "$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
+ */
+
#include <wchar.h>
#include <stdio.h>
char buffer[1000000];
@@ -5,85 +30,83 @@ char buffer[1000000];
/*** you can try to modifie this value to have better performences **/
#define MAX_DELTA 0x80
-int main(int argc, char **argv)
-{
- char buf[80];
- int len;
- unsigned int i = 0;
- unsigned char *ptr;
- size_t nb;
- int nbb = 0;
- len = fread(buffer, 1, 1000000, stdin);
+int main(int argc, char **argv) {
+ char buf[80];
+ int len;
+ unsigned int i = 0;
+ unsigned char *ptr;
+ size_t nb;
+ int nbb = 0;
+ len = fread(buffer, 1, 1000000, stdin);
- buffer[len] = '\0';
- ptr = (unsigned char *)buffer;
- while (*ptr != '\n') ptr++;
- ptr++;
- while (*ptr != '\n') {
- if (*ptr == ',') nbb++;
- ptr++;
+ buffer[len] = '\0';
+ ptr = (unsigned char *)buffer;
+ while (*ptr != '\n') ptr++;
+ ptr++;
+ while (*ptr != '\n') {
+ if (*ptr == ',') nbb++;
+ ptr++;
+ }
+ ptr = (unsigned char *)buffer;
+ printf("/* %s */\n", argv[1]);
+ while (len > 0) {
+ unsigned int ucs = 0;
+ char *p = ptr;
+ char pp[20];
+ nb = 0;
+ pp[0] = '\0';
+ while (*p != 'U') p++;
+ strncat(pp, p, 6);
+ *pp = '0';
+ *(pp+1) = 'x';
+ ucs = (unsigned int)strtoul(pp, NULL, 16);;
+ if (ucs < 1) {
+ printf("ERROR %d %d\n", len, ucs);
+ abort();
+ }
+ if (i != ucs - 1 || !i) {
+ if ((ucs - i) > MAX_DELTA || !i) {
+ if (i) {
+ printf("};\n");
+ fprintf(stderr, "\t/* end: U+%04X */\n", i);
}
- ptr = (unsigned char *)buffer;
- printf("/* %s */\n", argv[1]);
- while (len > 0) {
- unsigned int ucs = 0;
- char *p = ptr;
- char pp[20];
- nb = 0;
- pp[0] = '\0';
- while (*p != 'U') p++;
- strncat(pp, p, 6);
- *pp = '0';
- *(pp+1) = 'x';
- ucs = (unsigned int)strtoul(pp, NULL, 16);;
- if (ucs < 1) {
- printf("ERROR %d %d\n", len, ucs);
- abort();
- }
- if (i != ucs - 1 || !i) {
- if ((ucs - i) > MAX_DELTA || !i) {
- if (i) {
- printf("};\n");
- fprintf(stderr, "\t/* end: U+%04X */\n",
- i);
- }
- if (strcmp(argv[1], "spacing")) {
- printf("\nstatic const char"
- " unicode_to_%s_%db_%04X[]"
- " = {\n", argv[1], nbb, ucs);
- fprintf(stderr,
- "unicode_to_%s_%db_%04X[]; ",
- argv[1], nbb, ucs);
- } else {
- printf("\nstatic const unsigned short"
- " ucs_table_%04X[]"
- " = {\n", ucs);
- fprintf(stderr,
- "ucs_table_%04X[]; ",
- ucs);
- }
- } else {
- while (i < ucs - 1) {
- i++;
- if (nbb == 1) {
- printf("0x00,\n");
- } else {
- printf("0x00, 0x00,\n");
- }
- };
- }
- }
- i = ucs;
- while (*ptr != '\n') {
- printf("%c", *ptr);
- ptr++;
- len--;
- }
- printf("\n");
- ptr++;
- len--;
+ if (strcmp(argv[1], "spacing")) {
+ printf("\nstatic const char unicode_to_%s_%db_%04X[] = {\n",
+ argv[1], nbb, ucs);
+ fprintf(stderr, "unicode_to_%s_%db_%04X[]; ",
+ argv[1], nbb, ucs);
+ } else {
+ printf("\nstatic const unsigned short"
+ " ucs_table_%04X[]"
+ " = {\n", ucs);
+ fprintf(stderr, "ucs_table_%04X[]; ", ucs);
}
- printf("};\n");
- fprintf(stderr, "\t/* end: U+%04X */\n", i);
- return 0;
+ } else {
+ while (i < ucs - 1) {
+ i++;
+ if (nbb == 1) {
+ printf("0x00,\n");
+ } else {
+ printf("0x00, 0x00,\n");
+ }
+ };
+ }
+ }
+ i = ucs;
+ while (*ptr != '\n') {
+ printf("%c", *ptr);
+ ptr++;
+ len--;
+ }
+ printf("\n");
+ ptr++;
+ len--;
+ }
+ printf("};\n");
+ fprintf(stderr, "\t/* end: U+%04X */\n", i);
+ return 0;
}
+
+/*
+ * End of "$Id$".
+ */