Initialize Tizen 2.3
[framework/uifw/xorg/lib/libx11.git] / src / xlibi18n / lcUniConv / jisx0201.h
1
2 /*
3  * JISX0201.1976-0
4  */
5
6 static int
7 jisx0201_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
8 {
9   unsigned char c = *s;
10   if (c < 0x80) {
11     if (c == 0x5c)
12       *pwc = (ucs4_t) 0x00a5;
13     else if (c == 0x7e)
14       *pwc = (ucs4_t) 0x203e;
15     else
16       *pwc = (ucs4_t) c;
17     return 1;
18   } else {
19     if (c >= 0xa1 && c < 0xe0) {
20       *pwc = (ucs4_t) c + 0xfec0;
21       return 1;
22     }
23   }
24   return RET_ILSEQ;
25 }
26
27 static int
28 jisx0201_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
29 {
30   if (wc < 0x0080 && !(wc == 0x005c || wc == 0x007e)) {
31     *r = wc;
32     return 1;
33   }
34   if (wc == 0x00a5) {
35     *r = 0x5c;
36     return 1;
37   }
38   if (wc == 0x203e) {
39     *r = 0x7e;
40     return 1;
41   }
42   if (wc >= 0xff61 && wc < 0xffa0) {
43     *r = wc - 0xfec0;
44     return 1;
45   }
46   return RET_ILSEQ;
47 }