Mercurial > kinput2.yaz
diff lib/Xsj3clib/sj3ctype.h @ 0:92745d501b9a
initial import from kinput2-v3.1
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 08 Mar 2010 04:44:30 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/Xsj3clib/sj3ctype.h Mon Mar 08 04:44:30 2010 +0900 @@ -0,0 +1,109 @@ +/* $Id: sj3ctype.h,v 2.2 1992/10/20 08:50:46 nao Exp $ */ +/* + * Copyright 1991 Sony Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Sony not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. Sony makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * SONY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SONY + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +/* + * Author: Naoshi Suzuki, SONY Corporation. (nao@sm.sony.co.jp) + */ + +#ifndef _sj3ctype_h +#define _sj3ctype_h + +extern unsigned char kan1[4][4]; +extern unsigned char kan2[4][4]; +extern wchar hira[2][2]; +extern wchar kata[2][3]; +extern wchar zalpha[2][2]; +extern wchar zupper[2][2]; +extern wchar zlower[2][2]; +extern wchar zplosive[2][2]; +extern wchar zdakuten[2][2]; +extern wchar zvowel[2][10]; + +#ifndef iskan1 +#define iskan1(c, l) ((kan1[l][0]<=(c) && (c)<=kan1[l][1]) \ + || (kan1[l][2]<=(c) && (c)<=kan1[l][3])) +#endif +#ifndef iskan2 +#define iskan2(c, l) ((kan2[l][0]<=(c) && (c)<=kan2[l][1]) \ + || (kan2[l][2]<=(c) && (c)<=kan2[l][3])) +#endif +#ifndef ishira +#define ishira(c, l) (hira[l][0]<=(c) && (c)<=hira[l][1]) +#endif +#ifndef iskata +#define iskata(c, l) (kata[l][0]<=(c) && (c)<=kata[l][1]\ + && (c)!=kata[l][2]) +#endif +#ifndef iszalpha +#define iszalpha(c, l) (zalpha[l][0]<=(c) && (c)<=zalpha[l][1]) +#endif +#ifndef iszupper +#define iszupper(c, l) (zupper[l][0]<=(c) && (c)<=zupper[l][1]) +#endif +#ifndef iszlower +#define iszlower(c, l) (zlower[l][0]<=(c) && (c)<=zlower[l][1]) +#endif +#ifndef isplosive +#define isplosive(c, l) ((c)==zplosive[l][0] || (c)==zplosive[l][1]) +#endif +#ifndef iszdakuten +#define iszdakuten(c, l) ((c)==zdakuten[l][0] || (c)==zdakuten[l][1]) +#endif +#ifndef iszvowel +#define iszvowel(c, l) ((zvowel[l][0]<=(c) && (c)<=zvowel[l][1]) || \ + (zvowel[l][2]<=(c) && (c)<=zvowel[l][3])) +#endif + +#ifndef issjis1 +#define issjis1(x) ((0x81<=(x) && (x)<=0x9f) || (0xe0<=(x) && (x)<=0xfc)) +#endif +#ifndef issjis2 +#define issjis2(x) ((0x40<=(x) && (x)<=0x7e) || (0x80<=(x) && (x)<=0xfc)) +#endif +#ifdef iskana +#undef iskana +#endif +#define iskana(x) (0xa1<=(x) && (x)<=0xdf) +#ifndef iskana2 +#define iskana2(x) (0xa1<=(x) && (x)<=0xdf) +#endif +#ifndef iseuc +#define iseuc(x) (0xa1<=(x) && (x)<=0xfe) +#endif +#ifndef iseuckana +#define iseuckana(x) ((x)==0x8e) +#endif +#ifndef isjis +#define isjis(x) (0x21<=(x) && (x)<=0x7e) +#endif + +#ifndef isvowel +#define isvowel(x) ((x)==0x61 || (x)==0x65 || (x)==0x69 || (x)==0x6f || \ + (x)==0x75 || (x)==0x41 || (x)==0x45 || (x)==0x49 || (x)==0x4f || (x)==0x55) +#endif +#ifndef isdakuten +#define isdakuten(x) (0xde<=(x) && (x)<=0xdf) +#endif +#ifndef isdakuon +#define isdakuon(x) (((x)>=0xb6 && (x)<=0xc4) || ((x)>=0xca && (x)<=0xce)) +#endif + +#endif /* _sj3ctype_h */