"Fossies" - the Fresh Open Source Software archive

Member "fltk-1.3.2/documentation/html/tis620_8h_source.html" (9 Dec 2012, 9200 Bytes) of archive /linux/misc/fltk-1.3.2-docs-html.tar.gz:


Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. Alternatively you can here view or download the uninterpreted source code. That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.

FLTK 1.3.2
tis620.h
00001 /* $XFree86: xc/lib/X11/lcUniConv/tis620.h,v 1.4 2001/02/09 00:02:54 dawes Exp $ */
00002 
00003 /*
00004  * TIS620-0
00005  */
00006 
00007 static const unsigned short tis620_2uni[96] = {
00008   /* 0xa0 */
00009   0xfffd, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, 0x0e07,
00010   0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, 0x0e0e, 0x0e0f,
00011   /* 0xb0 */
00012   0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, 0x0e15, 0x0e16, 0x0e17,
00013   0x0e18, 0x0e19, 0x0e1a, 0x0e1b, 0x0e1c, 0x0e1d, 0x0e1e, 0x0e1f,
00014   /* 0xc0 */
00015   0x0e20, 0x0e21, 0x0e22, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27,
00016   0x0e28, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, 0x0e2f,
00017   /* 0xd0 */
00018   0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, 0x0e35, 0x0e36, 0x0e37,
00019   0x0e38, 0x0e39, 0x0e3a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x0e3f,
00020   /* 0xe0 */
00021   0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, 0x0e45, 0x0e46, 0x0e47,
00022   0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4e, 0x0e4f,
00023   /* 0xf0 */
00024   0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57,
00025   0x0e58, 0x0e59, 0x0e5a, 0x0e5b, 0xfffd, 0xfffd, 0xfffd, 0xfffd,
00026 };
00027 
00028 static int
00029 tis620_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
00030 {
00031   unsigned char c = *s;
00032   if (c < 0x80) {
00033     *pwc = (ucs4_t) c;
00034     return 1;
00035   }
00036   else if (c < 0xa0) {
00037   }
00038   else {
00039     unsigned short wc = tis620_2uni[c-0xa0];
00040     if (wc != 0xfffd) {
00041       *pwc = (ucs4_t) wc;
00042       return 1;
00043     }
00044   }
00045   return RET_ILSEQ;
00046 }
00047 
00048 static const unsigned char tis620_page0e[96] = {
00049   0x00, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, /* 0x00-0x07 */
00050   0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, /* 0x08-0x0f */
00051   0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, /* 0x10-0x17 */
00052   0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, /* 0x18-0x1f */
00053   0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 0x20-0x27 */
00054   0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, /* 0x28-0x2f */
00055   0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, /* 0x30-0x37 */
00056   0xd8, 0xd9, 0xda, 0x00, 0x00, 0x00, 0x00, 0xdf, /* 0x38-0x3f */
00057   0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, /* 0x40-0x47 */
00058   0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, /* 0x48-0x4f */
00059   0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 0x50-0x57 */
00060   0xf8, 0xf9, 0xfa, 0xfb, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */
00061 };
00062 
00063 static int
00064 tis620_wctomb (conv_t conv, unsigned char *r, ucs4_t wc, int n)
00065 {
00066   unsigned char c = 0;
00067   if (wc < 0x0080) {
00068     *r = wc;
00069     return 1;
00070   }
00071   else if (wc >= 0x0e00 && wc < 0x0e60)
00072     c = tis620_page0e[wc-0x0e00];
00073   if (c != 0) {
00074     *r = c;
00075     return 1;
00076   }
00077   return RET_ILSEQ;
00078 }