summaryrefslogtreecommitdiff
path: root/src/backend/utils/mb/uconv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/mb/uconv.c')
-rw-r--r--src/backend/utils/mb/uconv.c157
1 files changed, 0 insertions, 157 deletions
diff --git a/src/backend/utils/mb/uconv.c b/src/backend/utils/mb/uconv.c
deleted file mode 100644
index 0db250f5007..00000000000
--- a/src/backend/utils/mb/uconv.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * $Id: uconv.c,v 1.1 2000/10/12 06:06:50 ishii Exp $
- */
-
-#include "pg_wchar.h"
-
-/*
- * convert UCS-2 to UTF-8
- * returns number of bytes of a UTF-8, that is atmost 3.
- */
-static int
-pg_ucs2utf(const unsigned short ucs, unsigned char *utf)
-{
- int len;
-
- if (ucs <= 0x007f)
- {
- *utf = ucs;
- len = 1;
- }
- else if (ucs > 0x007f && ucs <= 0x07ff)
- {
- *utf++ = (ucs >> 6) | 0xc0;
- *utf = (ucs & 0x003f) | 0x80;
- len = 2;
- }
- else
- {
- *utf++ = (ucs >> 12) | 0xe0;
- *utf++ = ((ucs & 0x0fc0) >> 6) | 0x80;
- *utf = (ucs & 0x003f) | 0x80;
- len = 3;
- }
- return (len);
-}
-
-typedef struct
-{
- unsigned short ucs; /* UCS-2 */
- unsigned short code; /* local code */
- unsigned char encoding; /* encoding */
-} ucs_to_local;
-
-typedef struct
-{
- unsigned short code; /* local code */
- unsigned short ucs; /* UCS-2 */
-} local_to_ucs;
-
-#include "ucs_to_iso8859.map"
-#include "iso88592.rev"
-#include "iso88593.rev"
-#include "iso88594.rev"
-#include "iso88595.rev"
-
-#define X0208 0
-#define X0212 1
-#include "ucs_to_jis.map"
-
-int
-main()
-{
- int i,j;
- int l;
- unsigned int euc;
- unsigned char u[4];
- FILE *fd;
-
- printf("static pg_utf_to_local mapISO8859[] = {\n");
- for (i=0;i<sizeof(mapISO8859)/sizeof(ucs_to_local);i++) {
- if (mapISO8859[i].encoding > LATIN5)
- continue;
- l = pg_ucs2utf(mapISO8859[i].ucs, u);
- printf(" {0x");
- for(j=0;j<l;j++) {
- printf("%02x", u[j]);
- }
- printf(", 0x%04x, %s},\n",
- mapISO8859[i].code|0x80,
- pg_get_enc_ent(mapISO8859[i].encoding)->name);
- }
- printf("};\n");
-
- printf("\nstatic pg_local_to_utf ISO8859_2[] = {\n");
- for (i=0;i<sizeof(revISO8859_2)/sizeof(local_to_ucs);i++) {
- l = pg_ucs2utf(revISO8859_2[i].ucs, u);
- printf(" {0x%04x, ", revISO8859_2[i].code|0x80);
- printf("0x");
- for(j=0;j<l;j++) {
- printf("%02x", u[j]);
- }
- printf("},\n");
- }
- printf("};\n");
-
- printf("\nstatic pg_local_to_utf ISO8859_3[] = {\n");
- for (i=0;i<sizeof(revISO8859_3)/sizeof(local_to_ucs);i++) {
- l = pg_ucs2utf(revISO8859_3[i].ucs, u);
- printf(" {0x%04x, ", revISO8859_3[i].code|0x80);
- printf("0x");
- for(j=0;j<l;j++) {
- printf("%02x", u[j]);
- }
- printf("},\n");
- }
- printf("};\n");
-
- printf("\nstatic pg_local_to_utf ISO8859_4[] = {\n");
- for (i=0;i<sizeof(revISO8859_4)/sizeof(local_to_ucs);i++) {
- l = pg_ucs2utf(revISO8859_4[i].ucs, u);
- printf(" {0x%04x, ", revISO8859_4[i].code|0x80);
- printf("0x");
- for(j=0;j<l;j++) {
- printf("%02x", u[j]);
- }
- printf("},\n");
- }
- printf("};\n");
-
- printf("\nstatic pg_local_to_utf ISO8859_5[] = {\n");
- for (i=0;i<sizeof(revISO8859_5)/sizeof(local_to_ucs);i++) {
- l = pg_ucs2utf(revISO8859_5[i].ucs, u);
- printf(" {0x%04x, ", revISO8859_5[i].code|0x80);
- printf("0x");
- for(j=0;j<l;j++) {
- printf("%02x", u[j]);
- }
- printf("},\n");
- }
- printf("};\n");
-
- fd = fopen("UTF_to_EUC_JP.map", "w");
- fprintf(fd, "static pg_utf_to_local mapUTF_to_EUC_JP[] = {\n");
- for (i=0;i<sizeof(mapJIS)/sizeof(ucs_to_local);i++) {
- l = pg_ucs2utf(mapJIS[i].ucs, u);
- fprintf(fd, " {0x");
- for(j=0;j<l;j++) {
- fprintf(fd, "%02x", u[j]);
- }
- if (mapJIS[i].encoding == X0208)
- {
- euc = mapJIS[i].code|0x8080;
- }
- else
- {
- euc = SS3 << 16 | mapJIS[i].code | 0x8080;
- }
- fprintf(fd, ", 0x%04x, %s},\n",
- euc,
- "EUC_JP");
- }
- fprintf(fd, "};\n");
-
- fclose(fd);
-
- return(0);
-}