Import SJ3 2.0.1.20

Signed-off-by: Masanori Ogino <mogino@acm.org>
This commit is contained in:
Masanori Ogino 2023-11-26 06:45:00 +09:00
commit b568905e51
208 changed files with 89304 additions and 0 deletions

94
include/Const.h Normal file
View file

@ -0,0 +1,94 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: Const.h,v $
* $SonyRevision: 1.4 $
* $SonyDate: 1997/01/23 11:20:52 $
*/
/*
* Change some default values.
* Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10
*/
#include "Paths.h"
#define HostNameLen 128
#define UserNameLen 128
#define ProgNameLen 128
#define PathNameLen 1024
#define PassWordLen 16
#define YomiBufSize 1024
#define KanjiBufSize 2048
#define MinIdxLen 512
#define MinSegLen 512
#define MinSegNum 1
#define MinStyNum 512
#define MaxStyNum 0x7fff
#define MinClStep 1
#define MaxClStep 256
#define MinClLen 512
#define MaxClLen 0x7fff
#define DebugOutFile NULL
#define DebugLevel 0
#define ForkFlag 1
#define MaxClientNum 512
#define LogOutFile NULL
#define PortName "sj3"
#ifdef TLI
#define LocalHost "localhost"
#define ProtoName "tcp"
#define PortNumber "3000"
#else
#define PortNumber 3000
#endif
#define DirectryMode 0755
#define DictFileMode 0644
#define MODE_MASK 0777
#define DefIdxLen 2048
#define DefSegLen 2048
#define DefSegNum 256
#define DefStyNum 2048
#define DefClStep 1
#define DefClLen 2048
#define NotLocked -1
#define ERROR -1
#ifndef FALSE
# define TRUE -1
# define FALSE (!TRUE)
#endif

82
include/Dict.h Normal file
View file

@ -0,0 +1,82 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: Dict.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:00:55 $
*/
#define VersionPos 0
#define PasswdPos 16
#define PasswdLen 16
#define StdyNormPos 32
#define StdyNormLen 36
#define StdyNormNum 40
#define StdyNormCnt 44
#define StdyClIdxPos 48
#define StdyClIdxLen 52
#define StdyClIdxStep 56
#define StdyClSegPos 64
#define StdyClSegLen 68
#define DictIdxPos 32
#define DictIdxLen 36
#define DictSegPos 48
#define DictSegLen 52
#define DictSegNum 56
#define DictSegMax 60
#define DictAIdxPos 64
#define DictAIdxLen 68
#define DictASegPos 80
#define DictASegLen 84
#define HeaderPos 0
#define HeaderLength 128
#define CommentPos 128
#define CommentLength 128
#define Byte2Long(c3,c2,c1,c0) (((c3) << (8*3)) | ((c2) << (8*2)) | \
((c1) << (8*1)) | ((c0) << (8*0)))
#define StdyVersion Byte2Long('S', 2, 0, 0)
#define DictVersion Byte2Long('D', 2, 0, 0)

43
include/Paths.h.in Normal file
View file

@ -0,0 +1,43 @@
/*
* Copyright (c) 1997 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: Paths.h.in,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1997/01/23 11:20:55 $
*/
#define ErrorOutFile "/dev/console"
#define SocketName "/tmp/sj3sock"
#define LockFile "/tmp/SJ3SERV.EXIST"
#define MainDictionary "sj3main.dic"
#define UserDictionary "private.dic"
#define StudyFile "study.dat"

219
include/Struct.h Normal file
View file

@ -0,0 +1,219 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: Struct.h,v $
* $SonyRevision: 1.3 $
* $SonyDate: 1994/10/21 05:13:34 $
*/
typedef struct global {
JREC *Jmaxjptr;
CLREC *Jmaxclptr;
JREC *Jjrt1st;
CLREC *Jclt1st;
JREC *Jjrt2nd;
CLREC *Jclt2nd;
CLREC *Jselcl;
Short Jselectid;
Short Jtrank;
Short Jnrank;
Uchar *Jinputyomi;
Uchar *Jcnvstart;
Short Jcnvlen;
Uchar *Jystart;
Uchar Jhyomi[MaxPhInputLen+1];
Uchar Jorgyomi[MaxClInputLen*2+1];
Uchar Jkanjibuf[MinPhOutputLen];
Uchar *Jkanjipos;
Uchar *Jkanjitmp;
Short Jkanjilen;
Uchar Jdicinl;
Uchar Jdicsaml;
TypeDicSeg Jprevseg;
Uchar Jfzkcount;
Uchar Jfzk_ka_flg;
FREC Jfzktbl[MAXFREC];
Uchar Jheadcode;
Uchar Jheadlen;
Uchar Jgobilen;
TypeGram Jprevclgrm;
TypeCnct Jprevclrow;
Uchar Jnextcllen;
Short Jkhcount;
Short Jnkhcount;
KHREC Jkouhotbl[MaxKouhoNumber];
STDYIN *Jstdytop;
DICT *Jcurdict;
DICTL *Jdictlist;
Uchar *Jdicbuf;
Uchar *Jidxbuf;
TypeIdxOfs *Jidxofs;
Uchar *Jaskknj[MaxKnjAskNumber];
Uchar *Jaskknj_k[MaxKnjAskNumber];
STDY *Jcurstdy;
Ushort Jsuuji_wbuf[NumWordBuf];
Uchar Jsuuji_ubuf[NumKetaLength];
TypeClass Jsuuji_class;
Uchar Jsuuji_comma;
Uchar Jsuuji_keta;
Uchar *Jsuuji_yptr;
Uchar Jsuuji_len;
Uchar Jsuuji_exit;
Ushort *Jsuuji_wkeep;
Uchar *Jsuuji_ukeep;
Uchar Jpeepyomi[MaxWdYomiLen * 2 + 1];
Uchar Jpeepknj[MaxWdKanjiLen + 1];
TypeGram Jpeepgrm;
Uchar *Jpeepdptr;
Uchar *Jpeephptr;
Uchar *Jpeepkptr;
TypeDicSeg Jpeepidx;
} Global;
typedef struct dictfile {
DICT dict;
int refcnt;
fd_set lock;
FILE *fp;
int fd;
Uchar *buffer;
long bufsiz;
long idxstrt;
long segstrt;
TypeIdxOfs *ofsptr;
struct dictfile *link;
} DictFile;
typedef struct stdyfile {
STDY stdy;
int refcnt;
ino_t inode;
FILE *fp;
int fd;
Uchar *header;
struct stdyfile *link;
} StdyFile;
typedef struct workarea {
int refcnt;
int lock;
struct workarea *link;
Global global;
} WorkArea;
typedef struct client {
int fd;
char host[HostNameLen];
char user[UserNameLen];
char prog[ProgNameLen];
WorkArea *work;
StdyFile *stdy;
short version;
unsigned char def_char[2];
#if (defined(TLI) && defined(SOCK_UNIX))
int unix_flag;
#endif
uid_t uid;
struct client *next;
} Client;

107
include/sj3cmd.h Normal file
View file

@ -0,0 +1,107 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj3cmd.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:00:57 $
*/
#define SJ3SERV_VERSION_NO 2
#define SJ3_CONNECT 1
#define SJ3_DISCONNECT 2
#define SJ3_OPENDICT 11
#define SJ3_CLOSEDICT 12
#define SJ3_OPENSTDY 21
#define SJ3_CLOSESTDY 22
#define SJ3_STDYSIZE 23
#define SJ3_LOCK 31
#define SJ3_UNLOCK 32
#define SJ3_PH2KNJ 41
#define SJ3_CL2KNJ 51
#define SJ3_NEXTCL 52
#define SJ3_PREVCL 53
#define SJ3_CL2KNJ_ALL 54
#define SJ3_CL2KNJ_CNT 55
#define SJ3_STUDY 61
#define SJ3_CLSTUDY 62
#define SJ3_ADDDICT 71
#define SJ3_DELDICT 72
#define SJ3_MAKEDICT 81
#define SJ3_MAKESTDY 82
#define SJ3_MAKEDIR 83
#define SJ3_ACCESS 84
#define SJ3_GETDICT 91
#define SJ3_NEXTDICT 92
#define SJ3_PREVDICT 93
#define SJ3_WHO 100
#define SJ3_QUIT 101
#define SJ3_KILL 102
#define SJ3_VERSION 103
#define SJ3_DICTPASS 104
#define SJ3_DICTCMNT 105
#define SJ3_STDYPASS 106
#define SJ3_STDYCMNT 107
#define SJ3_SETCVER 110
#define SJ3_PH2KNJ_EUC 111
#define SJ3_CL2KNJ_EUC 112
#define SJ3_NEXTCL_EUC 113
#define SJ3_PREVCL_EUC 114
#define SJ3_CL2KNJ_ALL_EUC 115
#define SJ3_CL2KNJ_CNT_EUC 116
#define SJ3_CLSTUDY_EUC 117
#define SJ3_ADDDICT_EUC 118
#define SJ3_DELDICT_EUC 119
#define SJ3_GETDICT_EUC 120
#define SJ3_NEXTDICT_EUC 121
#define SJ3_PREVDICT_EUC 122

107
include/sj3err.h Normal file
View file

@ -0,0 +1,107 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj3err.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:00:58 $
*/
#define SJ3_InternalError -1
#define SJ3_NormalEnd 0
#define SJ3_ServerDown 1
#define SJ3_OpenSocket 2
#define SJ3_ConnectSocket 3
#define SJ3_GetHostByName 4
#define SJ3_NotOpened 5
#define SJ3_NotEnoughMemory 6
#define SJ3_IllegalCommand 7
#define SJ3_DifferentVersion 11
#define SJ3_NoHostName 12
#define SJ3_NoUserName 13
#define SJ3_NotAllowedUser 14
#define SJ3_AlreadyConnected 15
#define SJ3_NotConnected 16
#define SJ3_TooLongParameter 21
#define SJ3_IllegalParameter 22
#define SJ3_BadDictID 31
#define SJ3_IllegalDictFile 32
#define SJ3_IllegalStdyFile 33
#define SJ3_IncorrectPasswd 34
#define SJ3_FileNotExist 35
#define SJ3_CannotAccessFile 36
#define SJ3_CannotOpenFile 37
#define SJ3_CannotCreateFile 38
#define SJ3_FileReadError 39
#define SJ3_FileWriteError 40
#define SJ3_FileSeekError 41
#define SJ3_StdyAlreadyOpened 51
#define SJ3_StdyFileNotOpened 52
#define SJ3_TooSmallStdyArea 53
#define SJ3_LockedByOther 61
#define SJ3_NotLocked 62
#define SJ3_NoSuchDict 71
#define SJ3_ReadOnlyDict 72
#define SJ3_DictLocked 73
#define SJ3_BadYomiString 74
#define SJ3_BadKanjiString 75
#define SJ3_BadHinsiCode 76
#define SJ3_AddDictFailed 81
#define SJ3_AlreadyExistWord 82
#define SJ3_NoMoreDouonWord 83
#define SJ3_NoMoreUserDict 84
#define SJ3_NoMoreIndexBlock 85
#define SJ3_DelDictFailed 91
#define SJ3_NoSuchWord 92
#define SJ3_DirAlreadyExist 101
#define SJ3_CannotCreateDir 102
#define SJ3_NoMoreDictData 111
#define SJ3_UserConnected 121
#define SJ3_TooLongPasswd 131
#define SJ3_TooLongComment 132
#define SJ3_CannotCodeConvert 133

66
include/sj3lowlib.h Normal file
View file

@ -0,0 +1,66 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj3lowlib.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:00:59 $
*/
typedef struct sj3_client_env {
int fd;
int serv_dead_flg;
int stdy_size;
short svr_version;
short cli_version;
char default_char[2];
} SJ3_CLIENT_ENV;
#ifndef SJ3_NAME_LENGTH
# define SJ3_NAME_LENGTH 128
#endif
typedef struct sj3_who_struct {
int fd;
char hostname[SJ3_NAME_LENGTH];
char username[SJ3_NAME_LENGTH];
char progname[SJ3_NAME_LENGTH];
} SJ3_WHO_STRUCT;
#define MBCODE_SJIS 1
#define MBCODE_EUC 2

524
include/sj_connect.h Normal file
View file

@ -0,0 +1,524 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_connect.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:00 $
*/
#ifndef _SJ_CONNECT
#define _SJ_CONNECT
#define wo_x 0
#define ttatte_x 0
#define ttara_x 0
#define tte1_x 0
#define tte2_x 0
#define ppanasi_x 0
#define ppoi_x 0
#define ue_x 0
#define uti_x 0
#define oite_x 0
#define okeru_x 0
#define ori_x 0
#define ka1_x 0
#define ka2_x 0
#define kai_x 0
#define kasira_x 0
#define katagata_x 0
#define kadouka_x 0
#define kana_x 0
#define kane_x 0
#define kamo_x 0
#define kara1_x 0
#define kara2_x 0
#define ga1_x 0
#define ga2_x 0
#define gatera_x 0
#define kiri_x 0
#define kuseni_x 0
#define kurai_x 0
#define gurumi_x 0
#define kedo_x 0
#define koso_x 0
#define koto_x 0
#define sa2_x 0
#define sae_x 0
#define si2_x 0
#define sika_x 0
#define sura_x 0
#define zutu_x 0
#define zo_x 0
#define tame_x 0
#define dake_x 0
#define dano_x 0
#define darake_x 0
#define tuite_x 0
#define tuki_x 0
#define tutu_x 0
#define tumori_x 0
#define te1_x 0
#define te2_x 0
#define teru_x 0
#define dearou_x 0
#define deru_x 0
#define to1_x 0
#define to2_x 0
#define totte_x 0
#define toiu_x 0
#define toori_x 0
#define toki_x 0
#define tokoro_x 0
#define tote_x 0
#define tohaie_x 0
#define tomo_x 0
#define do_x 0
#define doori_x 0
#define dokoro_x 0
#define dokoroka_x 0
#define domo_x 0
#define na1_x 0
#define naa_x 0
#define nagara_x 0
#define nazo_x 0
#define nado_x 0
#define nari_x 0
#define nanka_x 0
#define nanzo_x 0
#define nante_x 0
#define ni1_x 0
#define ni2_x 0
#define ni3_x 0
#define nite_x 0
#define nimo_x 0
#define ne1_x 0
#define nee_x 0
#define no1_x 0
#define no2_x 0
#define node_x 0
#define noni_x 0
#define nomi_x 0
#define nominrz_x 0
#define ha_x 0
#define hazu_x 0
#define ba_x 0
#define bakari_x 0
#define he_x 0
#define hou_x 0
#define hoka_x 0
#define hodo_x 0
#define made_x 0
#define mama_x 0
#define mo1_x 0
#define mo2_x 0
#define motte_x 0
#define mono_x 0
#define ya1_x 0
#define ya2_x 0
#define yara_x 0
#define yue_x 0
#define yo_x 0
#define yori_x 0
#define wa_x 0
#define wake_x 0
#define wane_x 0
#define wayo_x 0
#define nn1_x 0
#define jya_x 0
#define tya_x 0
#define nagara2_x 0
#define wo_s_x 0
#define ze_x 0
#define kke_x 0
#define n_si_x 0
#define deha_x 0
#define gotosi_x 0
#define saseru_x 0
#define zaru_x 0
#define zu_x 0
#define zunba_x 0
#define seru_x 0
#define souda_x 0
#define youtai_x 0
#define denbun_x 0
#define ta_x 0
#define tai_x 0
#define tagaru_x 0
#define taru_x 0
#define da1_x 0
#define da2_x 0
#define daxtu_x 0
#define darou_x 0
#define de_x 0
#define desi_x 0
#define desho_x 0
#define desu_x 0
#define na2_x 0
#define nara_x 0
#define nai_x 0
#define nu_x 0
#define ne2_x 0
#define nn2_x 0
#define fuuda_x 0
#define besi_x 0
#define mai_x 0
#define masu_x 0
#define masure_x 0
#define mase_x 0
#define mitaida_x 0
#define you_x 0
#define youda_x 0
#define rasii_x 0
#define rareru_x 0
#define reru_x 0
#define site_x 0
#define yougen_x 0
#define aru_x 0
#define ara_x 0
#define ari1_x 0
#define ari2_x 0
#define ari3_x 0
#define are1_x 0
#define are2_x 0
#define arou_x 0
#define ii_x 0
#define itasi_x 0
#define itadaku_x 0
#define iru_x 0
#define eru_x 0
#define kakeru_x 0
#define kaneru_x 0
#define karazu_x 0
#define gatai_x 0
#define gatida_x 0
#define kudasaru_x 0
#define gozai_x 0
#define sa1_x 0
#define si1_x 0
#define siro_x 0
#define jyau_x 0
#define jimau_x 0
#define sugiru_x 0
#define subesi_x 0
#define suru_x 0
#define sure_x 0
#define se_x 0
#define seyo_x 0
#define tamau_x 0
#define tayu_x 0
#define timau_x 0
#define dekiru_x 0
#define naru_x 0
#define nasai_x 0
#define nasaru_x 0
#define nikui_x 0
#define yasui_x 0
#define yoi_x 0
#define yaru_x 0
#ifdef HORI
\244\303\244\277\244\351\244\267\244\244\244\316 \244\316\276\360\312\363\244\362\304\311\262\303 1/31
#endif
#define ttarasii_x 0
#define wo_o 0x80
#define ttatte_o 0x40
#define ttara_o 0x20
#define tte1_o 0x10
#define tte2_o 0x08
#define ppanasi_o 0x04
#define ppoi_o 0x02
#define ue_o 0x01
#define uti_o 0x80
#define oite_o 0x40
#define okeru_o 0x20
#define ori_o 0x10
#define ka1_o 0x08
#define ka2_o 0x04
#define kai_o 0x02
#define kasira_o 0x01
#define katagata_o 0x80
#define kadouka_o 0x40
#define kana_o 0x20
#define kane_o 0x10
#define kamo_o 0x08
#define kara1_o 0x04
#define kara2_o 0x02
#define ga1_o 0x01
#define ga2_o 0x80
#define gatera_o 0x40
#define kiri_o 0x20
#define kuseni_o 0x10
#define kurai_o 0x08
#define gurumi_o 0x04
#define kedo_o 0x02
#define koso_o 0x01
#define koto_o 0x80
#define sa2_o 0x40
#define sae_o 0x20
#define si2_o 0x10
#define sika_o 0x08
#define sura_o 0x04
#define zutu_o 0x02
#define zo_o 0x01
#define tame_o 0x80
#define dake_o 0x40
#define dano_o 0x20
#define darake_o 0x10
#define tuite_o 0x08
#define tuki_o 0x04
#define tutu_o 0x02
#define tumori_o 0x01
#define te1_o 0x80
#define te2_o 0x40
#define teru_o 0x20
#define dearou_o 0x10
#define deru_o 0x08
#define to1_o 0x04
#define to2_o 0x02
#define totte_o 0x01
#define toiu_o 0x80
#define toori_o 0x40
#define toki_o 0x20
#define tokoro_o 0x10
#define tote_o 0x08
#define tohaie_o 0x04
#define tomo_o 0x02
#define do_o 0x01
#define doori_o 0x80
#define dokoro_o 0x40
#define dokoroka_o 0x20
#define domo_o 0x10
#define na1_o 0x08
#define naa_o 0x04
#define nagara_o 0x02
#define nazo_o 0x01
#define nado_o 0x80
#define nari_o 0x40
#define nanka_o 0x20
#define nanzo_o 0x10
#define nante_o 0x08
#define ni1_o 0x04
#define ni2_o 0x02
#define ni3_o 0x01
#define nite_o 0x80
#define nimo_o 0x40
#define ne1_o 0x20
#define nee_o 0x10
#define no1_o 0x08
#define no2_o 0x04
#define node_o 0x02
#define noni_o 0x01
#define nomi_o 0x80
#define nominrz_o 0x40
#define ha_o 0x20
#define hazu_o 0x10
#define ba_o 0x08
#define bakari_o 0x04
#define he_o 0x02
#define hou_o 0x01
#define hoka_o 0x80
#define hodo_o 0x40
#define made_o 0x20
#define mama_o 0x10
#define mo1_o 0x08
#define mo2_o 0x04
#define motte_o 0x02
#define mono_o 0x01
#define ya1_o 0x80
#define ya2_o 0x40
#define yara_o 0x20
#define yue_o 0x10
#define yo_o 0x08
#define yori_o 0x04
#define wa_o 0x02
#define wake_o 0x01
#define wane_o 0x80
#define wayo_o 0x40
#define nn1_o 0x20
#define jya_o 0x10
#define tya_o 0x08
#define nagara2_o 0x04
#define wo_s_o 0x02
#define ze_o 0x80
#define kke_o 0x40
#define n_si_o 0x20
#define deha_o 0x10
#define gotosi_o 0x80
#define saseru_o 0x40
#define zaru_o 0x20
#define zu_o 0x10
#define zunba_o 0x08
#define seru_o 0x04
#define souda_o 0x02
#define youtai_o 0x01
#define denbun_o 0x80
#define ta_o 0x40
#define tai_o 0x20
#define tagaru_o 0x10
#define taru_o 0x08
#define da1_o 0x04
#define da2_o 0x02
#define daxtu_o 0x01
#define darou_o 0x80
#define de_o 0x40
#define desi_o 0x20
#define desho_o 0x10
#define desu_o 0x08
#define na2_o 0x04
#define nara_o 0x02
#define nai_o 0x01
#define nu_o 0x80
#define ne2_o 0x40
#define nn2_o 0x20
#define fuuda_o 0x10
#define besi_o 0x08
#define mai_o 0x04
#define masu_o 0x02
#define masure_o 0x01
#define mase_o 0x80
#define mitaida_o 0x40
#define you_o 0x20
#define youda_o 0x10
#define rasii_o 0x08
#define rareru_o 0x04
#define reru_o 0x02
#define site_o 0x01
#define yougen_o 0x80
#define aru_o 0x40
#define ara_o 0x20
#define ari1_o 0x10
#define ari2_o 0x08
#define ari3_o 0x04
#define are1_o 0x02
#define are2_o 0x01
#define arou_o 0x80
#define ii_o 0x40
#define itasi_o 0x20
#define itadaku_o 0x10
#define iru_o 0x08
#define eru_o 0x04
#define kakeru_o 0x02
#define kaneru_o 0x01
#define karazu_o 0x80
#define gatai_o 0x40
#define gatida_o 0x20
#define kudasaru_o 0x10
#define gozai_o 0x08
#define sa1_o 0x04
#define si1_o 0x02
#define siro_o 0x01
#define jyau_o 0x80
#define jimau_o 0x40
#define sugiru_o 0x20
#define subesi_o 0x10
#define suru_o 0x08
#define sure_o 0x04
#define se_o 0x02
#define seyo_o 0x01
#define tamau_o 0x80
#define tayu_o 0x40
#define timau_o 0x20
#define dekiru_o 0x10
#define naru_o 0x08
#define nasai_o 0x04
#define nasaru_o 0x02
#define nikui_o 0x01
#define yasui_o 0x80
#define yoi_o 0x40
#define yaru_o 0x20
#ifdef HORI
\244\303\244\277\244\351\244\267\244\244\244\316 \244\316\276\360\312\363\244\362\304\311\262\303 1/31
#endif
#define ttarasii_o 0x10
#endif

199
include/sj_const.h Normal file
View file

@ -0,0 +1,199 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_const.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:01 $
*/
#ifndef _SJ_CONST
#define _SJ_CONST
#include "sj_euc.h"
#define MATCH 0
#define OVER 1
#define PARTLY 2
#define CONT 3
#define UNDER 4
#define FALSE 0
#define TRUE -1
#define AD_Done 0x0000
#define AD_NotUserDict 0x0001
#define AD_BadYomi 0x0002
#define AD_BadKanji 0x0004
#define AD_BadHinsi 0x0008
#define AD_ArExist 0x0010
#define AD_OvflwDouBlk 0x0020
#define AD_OvflwDouNum 0x0040
#define AD_OvflwUsrDic 0x0080
#define AD_OvflwIndex 0x0100
#define AD_NoMidasi 0x0010
#define AD_NoHinsi 0x0020
#define AD_NoKanji 0x0040
#define C_WAKACHI 0x00
#define C_MINASI 0x01
#define C_BUNSETU 0x02
#define C_DICT 0x03
#define C_N_ARABIA 0x04
#define C_N_ARACMA 0x05
#define C_N_KAZU 0x06
#define C_N_SUUJI 0x07
#define C_N_NANSUU 0x08
#define C_N_KANKURA 0x09
#define C_N_ARAKURA 0x0a
#define C_N_KAZULONG 0x0b
#define C_N_KAZULCMA 0x0c
#define C_N_SUUJILONG 0x0d
#define JFLAG_N10 (1 << 15)
#define JFLAG_N_1 (1 << 14)
#define JFLAG_NS1 (1 << 13)
#define JFLAG_N01 (1 << 12)
#define JFLAG_N23 (1 << 11)
#define JFLAG_NK2 (1 << 10)
#define JFLAG_NK4 (1 << 9)
#define JFLAG_NN0 (1 << 8)
#define JFLAG_NSN (1 << 7)
#define JFLAG_KA (1 << 0)
#define DO_CLSTUDY 0x01
#define DO_IKKATU 0x02
#define K_DOUSHI 1
#define K_YOUGEN 2
#define K_TAIGEN 3
#define K_FUKUSI 4
#define K_RENTAISI 5
#define K_SONOTA 6
#define EUC_a1 (Uchar)0xa1
#define EUC_a2 (Uchar)0xa2
#define EUC_a3 (Uchar)0xa3
#define EUC_a4 (Uchar)0xa4
#define EUC_a5 (Uchar)0xa5
#define EUC_START (Uchar)0xa1
#define EUC_END (Uchar)0xfe
#define EUC_END_KIGOU (Uchar)0xae
#define EUC_0 (Uchar)0xb0
#define EUC_END_0 (Uchar)0xb9
#define EUC_A (Uchar)0xc1
#define EUC_END_A (Uchar)0xda
#define EUC_a (Uchar)0xe1
#define EUC_END_a (Uchar)0xfa
#define EUC_END_HIRA (Uchar)0xf3
#define EUC_VU (Uchar)0xf4
#define EUC_XKA (Uchar)0xf5
#define EUC_XKE (Uchar)0xf6
#define isknj1(c) (((c) == SS2) || (((c) & 0x80) && ((c) != SS3)))
#define SHU 0x01
#define T_KANOU 0x80
#define T_SHUUJO 0x40
#define DICTOP 0x01
#define FZKTOP 0x02
#define DEPEND 0x04
#define NUMBER 0x08
#define FZK_KGU 0x10
#define TAI_KGU 0x20
#define BEFORNUM 0x40
#define MIDNUM 0x80
#define NOTNRM 0xFE
#define CNJEND 0xff
#define TYOUONFLG 0x80
#define MAXFREC 32
#define MAXFLVL 10
#define FZKEND 0xff
#define SETTOU_O 1
#define SETTOU_GO 2
#define SETTOU_DAI 3
#define SETTOU_KIGOU 4
#define NumKetaLength 16
#define NumWordBuf ((NumKetaLength+3)/4)
#endif

48
include/sj_define.h Normal file
View file

@ -0,0 +1,48 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_define.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:02 $
*/
#ifndef _SJ_DEFINE
#define _SJ_DEFINE
#ifndef Static
# define Static static
#endif
#endif

113
include/sj_dict.h Normal file
View file

@ -0,0 +1,113 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_dict.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:03 $
*/
#ifndef _SJ_DICT
#define _SJ_DICT
#define DIC_MAIN 0
#define DIC_USER 1
#define DicSegBase 0
#define MaxDouonBlk 0xfff
#define DouonBlkSizeNumber 3
#define DicSegTerm 0xff
#define DouonBlkTerm 0xff
#define HinsiBlkTerm 0xff
#define MaxSegmentNumber 0xffff
#define NormalKanjiMask 0x7f
#define SS3Kanji 0x0080
#define ZenHiraAssyuku 0x80
#define OffsetAssyuku 0x90
#define ZenKataAssyuku 0xa0
#define AiAttribute 0xb0
#define KanjiAssyuku 0xc0
#define LeadingHankaku 0xd0
#define KanjiStrEnd 0x00
#define IsAssyuku 0x80
#define AssukuUse2byte 0x90
#define KnjAssyukuMask 0x0f
#define KanjiCodeMask 0x0f
#define KanjiModeMask 0xf0
#define AtrMsKanjiOfs 0xc0c0
#define MaxKnjAskNumber 16
#define MaxYomiAskNumber 16
#define MaxWdYomiLen 31
#define MaxWdKanjiLen 64
#define AssyukuYomiTop 0x80
#define NokoriYomiTop 0x40
#define getsize(p) (((Int)(*(p) & 0x0f) * 0x100) + *((p) + 1))
#define getntag(p) ((*(p) == DicSegTerm) ? (p) : (p) + getsize(p))
#define getplen(p) (((*(p) & AssyukuYomiTop)?0x10:0) + (*((p)+2) >> 4))
#define getnlen(p) (((*(p) & NokoriYomiTop)?0x10:0) + (*((p)+2) & 0x0f))
#define segtop() (dicbuf + *dicbuf + 1)
#define segend(p) (*(p) == DicSegTerm || (p) >= dicbuf + curdict->seglen)
#endif

55
include/sj_euc.h Normal file
View file

@ -0,0 +1,55 @@
/*
* Copyright (c) 1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_euc.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:05 $
*/
#ifndef _SJ_EUC
#define _SJ_EUC
#include "sj_sysvdef.h"
#ifdef SVR4
#include <sys/euc.h>
#else
#ifndef SS2
#define SS2 0x8e
#endif
#ifndef SS3
#define SS3 0x8f
#endif
#endif
#endif

46
include/sj_global.h Normal file
View file

@ -0,0 +1,46 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_global.h,v $
* $SonyRevision: 1.2 $
* $SonyDate: 1994/12/09 11:27:06 $
*/
extern Global *global_work_base;
extern Global *work_base;
extern STDY *stdy_base;

231
include/sj_hinsi.h Normal file
View file

@ -0,0 +1,231 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_hinsi.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:07 $
*/
#ifndef _SJ_HINSHI
#define _SJ_HINSHI
#define MEISI_1 1
#define MEISI_2 2
#define MEISI_3 3
#define MEISI_4 4
#define MEISI_5 5
#define MEISI_6 6
#define MEISI_7 7
#define MEISI_8 8
#define MEISI_9 9
#define MEISI_10 10
#define MEISI_11 11
#define D_MEISI_1 12
#define D_MEISI_2 13
#define D_MEISI_3 14
#define D_MEISI_4 15
#define D_MEISI_5 16
#define D_MEISI_6 17
#define MEISI_20 18
#define MYOUJI 21
#define NAMAE 22
#define KIGYOU 23
#define TIMEI 24
#define KEN_KU 25
#define RENTAISI 26
#define SETUZOKU 27
#define KANDOUSI 28
#define JOSUUSI 29
#define SUUSI 30
#define SETTOU_1 31
#define SETTOU_2 32
#define SETTOU_3 33
#define SETTOU_4 34
#define SETTOU_5 35
#define SETUBI_1 36
#define SETUBI_2 37
#define SETUBI_3 38
#define SETUBI_4 39
#define SETUBI_5 40
#define SETUBI_6 41
#define SETUBI_7 42
#define SETUBI_8 43
#define SETUBI_9 44
#define FUKUSI_1 45
#define FUKUSI_2 46
#define FUKUSI_3 47
#define FUKUSI_4 48
#define FUKUSI_5 49
#define FUKUSI_6 50
#define FUKUSI_7 51
#define FUKUSI_8 52
#define FUKUSI_9 53
#define JOSUUSI2 54
#define KEIYOUSI_1 60
#define KEIYOUSI_2 61
#define KEIYOUSI_3 62
#define KEIYOUSI_4 63
#define KEIYOUSI_5 64
#define KEIYOUSI_6 65
#define KEIYOUSI_7 66
#define KEIYOUSI_8 67
#define KEIYOUSI_9 68
#define KEIYOUSI_10 69
#define KEIYOUSI_11 70
#define KE_DOUSI_1 71
#define KE_DOUSI_2 72
#define KE_DOUSI_3 73
#define KE_DOUSI_4 74
#define KE_DOUSI_5 75
#define KE_DOUSI_6 76
#define KE_DOUSI_7 77
#define KE_DOUSI_8 78
#define KE_DOUSI_9 79
#define DO_SAHEN 80
#define DO_ZAHEN 81
#define DO_1DAN_1 90
#define DO_KAGO_1 91
#define DO_GAGO_1 92
#define DO_SAGO_1 93
#define DO_TAGO_1 94
#define DO_NAGO_1 95
#define DO_BAGO_1 96
#define DO_MAGO_1 97
#define DO_RAGO_1 98
#define DO_WAGO_1 99
#define DO_1DAN_2 100
#define DO_KAGO_2 101
#define DO_GAGO_2 102
#define DO_SAGO_2 103
#define DO_TAGO_2 104
#define DO_BAGO_2 105
#define DO_MAGO_2 106
#define DO_RAGO_2 107
#define DO_WAGO_2 108
#define DO_KAGO_5 111
#define DO_GAGO_5 112
#define DO_SAGO_5 113
#define DO_TAGO_5 114
#define DO_BAGO_5 115
#define DO_MAGO_5 116
#define DO_RAGO_5 117
#define DO_WAGO_5 118
#define DO_KAGO_6 121
#define DO_GAGO_6 122
#define DO_SAGO_6 123
#define DO_TAGO_6 124
#define DO_BAGO_6 125
#define DO_MAGO_6 126
#define DO_RAGO_6 127
#define DO_WAGO_6 128
#define DO_1DAN_3 130
#define DO_KAGO_3 131
#define DO_GAGO_3 132
#define DO_SAGO_3 133
#define DO_TAGO_3 134
#define DO_BAGO_3 135
#define DO_MAGO_3 136
#define DO_RAGO_3 137
#define DO_WAGO_3 138
#define DO_1DAN_4 140
#define DO_KAGO_4 141
#define DO_GAGO_4 142
#define DO_SAGO_4 143
#define DO_TAGO_4 144
#define DO_BAGO_4 145
#define DO_MAGO_4 146
#define DO_RAGO_4 147
#define DO_WAGO_4 148
#define DO_KAGO_7 151
#define DO_GAGO_7 152
#define DO_SAGO_7 153
#define DO_TAGO_7 154
#define DO_BAGO_7 155
#define DO_MAGO_7 156
#define DO_RAGO_7 157
#define DO_WAGO_7 158
#define DO_KAGO_8 161
#define DO_GAGO_8 162
#define DO_SAGO_8 163
#define DO_TAGO_8 164
#define DO_BAGO_8 165
#define DO_MAGO_8 166
#define DO_RAGO_8 167
#define DO_WAGO_8 168
#define SP_SA_MI1 171
#define SP_SA_MI2 172
#define SP_SA_YOU 173
#define SP_SA_SYU 174
#define SP_SA_KAT 175
#define SP_SA_ME1 176
#define SP_SA_ME2 177
#define SP_KA_MIZ 178
#define SP_KA_YOU 179
#define SP_KA_SYU 180
#define SP_KA_KAT 181
#define SP_KA_MEI 182
#define TEINEI1 183
#define TEINEI2 184
#define SP_KA_ONB 185
#define SP_FUKUSI 186
#define AISATU 187
#define SP_KEIYOUSI 188
#define TANKANJI 189
#define IKKATU 200
#endif

53
include/sj_kcnv.h Normal file
View file

@ -0,0 +1,53 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_kcnv.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:10 $
*/
#include <stdio.h>
#include <sys/param.h>
#include "sj_typedef.h"
#include "sj_rename.h"
#include "sj_const.h"
#include "sj_var.h"
#include "sj_dict.h"
#include "sj_study.h"
#include "sj_table.h"
#include "sj_struct.h"
#include "Const.h"
#include "Struct.h"
#include "sj_global.h"
#include "sj_define.h"

286
include/sj_left.h Normal file
View file

@ -0,0 +1,286 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_left.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:12 $
*/
#ifndef _SJ_LEFT
#define _SJ_LEFT
#define L_WO 0x01
#define L_TTATTE 0x02
#define L_TTARA 0x03
#define L_TTE1 0x04
#define L_TTE2 0x05
#define L_PPANASI 0x06
#define L_PPOI 0x07
#define L_UE 0x08
#define L_UTI 0x09
#define L_OITE 0x0a
#define L_OKERU 0x0b
#define L_ORI 0x0c
#define L_KA1 0x0d
#define L_KA2 0x0e
#define L_KAI 0x0f
#define L_KASIRA 0x10
#define L_KATAGATA 0x11
#define L_KADOUKA 0x12
#define L_KANA 0x13
#define L_KANE 0x14
#define L_KAMO 0x15
#define L_KARA1 0x16
#define L_KARA2 0x17
#define L_GA1 0x18
#define L_GA2 0x19
#define L_GATERA 0x1a
#define L_KIRI 0x1b
#define L_KUSENI 0x1c
#define L_KURAI 0x1d
#define L_GURUMI 0x1e
#define L_KEDO 0x1f
#define L_KOSO 0x20
#define L_KOTO 0x21
#define L_SA2 0x22
#define L_SAE 0x23
#define L_SI2 0x24
#define L_SIKA 0x25
#define L_SURA 0x26
#define L_ZUTU 0x27
#define L_ZO 0x28
#define L_TAME 0x29
#define L_DAKE 0x2a
#define L_DANO 0x2b
#define L_DARAKE 0x2c
#define L_TUITE 0x2d
#define L_TUKI 0x2e
#define L_TUTU 0x2f
#define L_TUMORI 0x30
#define L_TE1 0x31
#define L_TE2 0x32
#define L_TERU 0x33
#define L_DEAROU 0x34
#define L_DERU 0x35
#define L_TO1 0x36
#define L_TO2 0x37
#define L_TOTTE 0x38
#define L_TOIU 0x39
#define L_TOORI 0x3a
#define L_TOKI 0x3b
#define L_TOKORO 0x3c
#define L_TOTE 0x3d
#define L_TOHAIE 0x3e
#define L_TOMO 0x3f
#define L_DO 0x40
#define L_DOORI 0x41
#define L_DOKORO 0x42
#define L_DOKOROKA 0x43
#define L_DOMO 0x44
#define L_NA1 0x45
#define L_NAA 0x46
#define L_NAGARA 0x47
#define L_NAZO 0x48
#define L_NADO 0x49
#define L_NARI 0x4a
#define L_NANKA 0x4b
#define L_NANZO 0x4c
#define L_NANTE 0x4d
#define L_NI1 0x4e
#define L_NI2 0x4f
#define L_NI3 0x50
#define L_NITE 0x51
#define L_NIMO 0x52
#define L_NE1 0x53
#define L_NEE 0x54
#define L_NO1 0x55
#define L_NO2 0x56
#define L_NODE 0x57
#define L_NONI 0x58
#define L_NOMI 0x59
#define L_NOMINRZ 0x5a
#define L_HA 0x5b
#define L_HAZU 0x5c
#define L_BA 0x5d
#define L_BAKARI 0x5e
#define L_HE 0x5f
#define L_HOU 0x60
#define L_HOKA 0x61
#define L_HODO 0x62
#define L_MADE 0x63
#define L_MAMA 0x64
#define L_MO1 0x65
#define L_MO2 0x66
#define L_MOTTE 0x67
#define L_MONO 0x68
#define L_YA1 0x69
#define L_YA2 0x6a
#define L_YARA 0x6b
#define L_YUE 0x6c
#define L_YO 0x6d
#define L_YORI 0x6e
#define L_WA 0x6f
#define L_WAKE 0x70
#define L_WANE 0x71
#define L_WAYO 0x72
#define L_NN1 0x73
#define L_JYA 0x74
#define L_TYA 0x75
#define L_NAGARA2 0x76
#define L_WO_S 0x77
#define L_ZE 0x79
#define L_KKE 0x7a
#define L_N_SI 0x7b
#define L_DEHA 0x7c
#define L_GOTOSI 0x81
#define L_SASERU 0x82
#define L_ZARU 0x83
#define L_ZU 0x84
#define L_ZUNBA 0x85
#define L_SERU 0x86
#define L_SOUDA 0x87
#define L_YOUTAI 0x88
#define L_DENBUN 0x89
#define L_TA 0x8a
#define L_TAI 0x8b
#define L_TAGARU 0x8c
#define L_TARU 0x8d
#define L_DA1 0x8e
#define L_DA2 0x8f
#define L_DAXTU 0x90
#define L_DAROU 0x91
#define L_DE 0x92
#define L_DESI 0x93
#define L_DESHO 0x94
#define L_DESU 0x95
#define L_NA2 0x96
#define L_NARA 0x97
#define L_NAI 0x98
#define L_NU 0x99
#define L_NE2 0x9a
#define L_NN2 0x9b
#define L_FUUDA 0x9c
#define L_BESI 0x9d
#define L_MAI 0x9e
#define L_MASU 0x9f
#define L_MASURE 0xa0
#define L_MASE 0xa1
#define L_MITAIDA 0xa2
#define L_YOU 0xa3
#define L_YOUDA 0xa4
#define L_RASII 0xa5
#define L_RARERU 0xa6
#define L_RERU 0xa7
#define L_SITE 0xa8
#define L_YOUGEN 0xa9
#define L_ARU 0xaa
#define L_ARA 0xab
#define L_ARI1 0xac
#define L_ARI2 0xad
#define L_ARI3 0xae
#define L_ARE1 0xaf
#define L_ARE2 0xb0
#define L_AROU 0xb1
#define L_II 0xb2
#define L_ITASI 0xb3
#define L_ITADAKU 0xb4
#define L_IRU 0xb5
#define L_ERU 0xb6
#define L_KAKERU 0xb7
#define L_KANERU 0xb8
#define L_KARAZU 0xb9
#define L_GATAI 0xba
#define L_GATIDA 0xbb
#define L_KUDASARU 0xbc
#define L_GOZAI 0xbd
#define L_SA1 0xbe
#define L_SI1 0xbf
#define L_SIRO 0xc0
#define L_JYAU 0xc1
#define L_JIMAU 0xc2
#define L_SUGIRU 0xc3
#define L_SUBESI 0xc4
#define L_SURU 0xc5
#define L_SURE 0xc6
#define L_SE 0xc7
#define L_SEYO 0xc8
#define L_TAMAU 0xc9
#define L_TYAU 0xca
#define L_TIMAU 0xcb
#define L_DEKIRU 0xcc
#define L_NARU 0xcd
#define L_NASAI 0xce
#define L_NASARU 0xcf
#define L_NIKUI 0xd0
#define L_YASUI 0xd1
#define L_YOI 0xd2
#define L_YORU 0xd3
#define L_TTARASII 0xd4
#endif

81
include/sj_prty.h Normal file
View file

@ -0,0 +1,81 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_prty.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:13 $
*/
#ifndef _SJ_PRIORITY
#define _SJ_PRIORITY
#define RENTAI 0x10
#define GETPRI 0x0f
#define P_FUKA 1
#define P_TANKAN 1
#define P_SHUUSI 2
#define P_MEIREI 2
#define P_KATEI 2
#define P_KAMEI 2
#define P_DAIMEISI 4
#define P_MEISI 6
#define P_KEISIKI 4
#define P_RENYOU_F 3
#define P_RENYOU_J 11
#define P_RENYOU_M 12
#define P_JOSHI_F 3
#define P_JOSHI_E 4
#define P_JOSHI_D 6
#define P_JOSHI_C 7
#define P_JOSHI_B 8
#define P_JOSHI_A 9
#define P_SETTOU 6
#define P_SETUBI 6
#define P_SUUSI 4
#define P_FUKUSI 13
#define P_F_FUKUSI 10
#define P_RENTAISI 10
#define P_KANDOU 6
#define P_SETUZOKU 14
#define P_FZKKGU 9
#define P_JOSUUSI 10
#endif

573
include/sj_rename.h Normal file
View file

@ -0,0 +1,573 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_rename.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:14 $
*/
#ifndef _SJ_RENAME
#define _SJ_RENAME
#define adddic Jadddic
#define checksub Jchecksub
#define checkdict Jcheckdict
#define cal_nextym Jcal_nextym
#define cmpknj Jcmpknj
#define usr_freelen Jusr_freelen
#define sprt_seg Jsprt_seg
#define apnd_uidx Japnd_uidx
#define set_size Jset_size
#define isvyomi Jisvyomi
#define isvknj Jisvknj
#define isgrm Jisgrm
#define addel_arg Jaddel_arg
#define yomi2kata Jyomi2kata
#define top_strcmp Jtop_strcmp
#define last_strcmp Jlast_strcmp
#define cvtknj Jcvtknj
#define srchkana Jsrchkana
#define srchgram Jsrchgram
#define srchkanji Jsrchkanji
#define count_uidx Jcount_uidx
#define chg_uidx Jchg_uidx
#define cl2knj Jcl2knj
#define nextcl Jnextcl
#define nextrecblk Jnextrecblk
#define prevcl Jprevcl
#define prevrecblk Jprevrecblk
#define initkbuf Jinitkbuf
#define selectnum Jselectnum
#define kouhonum Jkouhonum
#define clstudy Jclstudy
#define delcldata Jdelcldata
#define delclsub Jdelclsub
#define delclold Jdelclold
#define srchclpos Jsrchclpos
#define mkclidx Jmkclidx
#define cvtclknj Jcvtclknj
#define cvtdict Jcvtdict
#define cvtminasi Jcvtminasi
#define cvtwakachi Jcvtwakachi
#define cvtphknj Jcvtphknj
#define cvtkouho Jcvtkouho
#define setstyrec Jsetstyrec
#define deldic Jdeldic
#define del_douon Jdel_douon
#define del_segment Jdel_segment
#define del_uidx Jdel_uidx
#define del_stdy Jdel_stdy
#define get_askknj Jget_askknj
#define seldict Jseldict
#define sel_udict Jsel_udict
#define get_idxofs Jget_idxofs
#define get_idxptr Jget_idxptr
#define fzkstrcmp Jfzkstrcmp
#define setclrec Jsetclrec
#define fzkcnct Jfzkcnct
#define srchfzk Jsrchfzk
#define getkan_none Jgetkan_none
#define getkan_hira Jgetkan_hira
#define getkan_kata Jgetkan_kata
#define getkan_knj Jgetkan_knj
#define getkan_ofs Jgetkan_ofs
#define getkan_norm Jgetkan_norm
#define code2kanji Jcode2kanji
#define getkanji Jgetkanji
#define getrank Jgetrank
#define setstynum Jsetstynum
#define setnspr Jsetnspr
#define regetrank Jregetrank
#define work_base Jwork_base
#define stdy_base Jstdy_base
#define maxjptr (work_base -> Jmaxjptr)
#define maxclptr (work_base -> Jmaxclptr)
#define jrt1st (work_base -> Jjrt1st)
#define clt1st (work_base -> Jclt1st)
#define jrt2nd (work_base -> Jjrt2nd)
#define clt2nd (work_base -> Jclt2nd)
#define selcl (work_base -> Jselcl)
#define selectid (work_base -> Jselectid)
#define trank (work_base -> Jtrank)
#define nrank (work_base -> Jnrank)
#define buninf (work_base -> Jbuninf)
#define buncnt (work_base -> Jbuncnt)
#define knjnew (work_base -> Jknjnew)
#define knjidx (work_base -> Jknjidx)
#define knjmax (work_base -> Jknjmax)
#define score (work_base -> Jscore)
#define pathnum (work_base -> Jpathnum)
#define usedpath (work_base -> Jusedpath)
#define inputyomi (work_base -> Jinputyomi)
#define cnvstart (work_base -> Jcnvstart)
#define cnvlen (work_base -> Jcnvlen)
#define ystart (work_base -> Jystart)
#define hyomi (work_base -> Jhyomi)
#define orgyomi (work_base -> Jorgyomi)
#define kanjibuf (work_base -> Jkanjibuf)
#define kanjipos (work_base -> Jkanjipos)
#define kanjitmp (work_base -> Jkanjitmp)
#define kanjilen (work_base -> Jkanjilen)
#define dicinl (work_base -> Jdicinl)
#define dicsaml (work_base -> Jdicsaml)
#define prevseg (work_base -> Jprevseg)
#define fzkcount (work_base -> Jfzkcount)
#define fzk_ka_flg (work_base -> Jfzk_ka_flg)
#define fzktbl (work_base -> Jfzktbl)
#define headcode (work_base -> Jheadcode)
#define headlen (work_base -> Jheadlen)
#define gobilen (work_base -> Jgobilen)
#define prevclgrm (work_base -> Jprevclgrm)
#define prevclrow (work_base -> Jprevclrow)
#define nextcllen (work_base -> Jnextcllen)
#define khcount (work_base -> Jkhcount)
#define nkhcount (work_base -> Jnkhcount)
#define kouhotbl (work_base -> Jkouhotbl)
#define stdytop (work_base -> Jstdytop)
#define curdict (work_base -> Jcurdict)
#define dictlist (work_base -> Jdictlist)
#define dicbuf (work_base -> Jdicbuf)
#define idxbuf (work_base -> Jidxbuf)
#define idxofs (work_base -> Jidxofs)
#define askknj (work_base -> Jaskknj)
#define askknj_k (work_base -> Jaskknj_k)
#define grp_ptr (work_base -> Jgrp_ptr)
#define grp_seg (work_base -> Jgrp_seg)
#define grp_grp (work_base -> Jgrp_grp)
#define suuji_wbuf (work_base -> Jsuuji_wbuf)
#define suuji_ubuf (work_base -> Jsuuji_ubuf)
#define suuji_class (work_base -> Jsuuji_class)
#define suuji_comma (work_base -> Jsuuji_comma)
#define suuji_keta (work_base -> Jsuuji_keta)
#define suuji_yptr (work_base -> Jsuuji_yptr)
#define suuji_len (work_base -> Jsuuji_len)
#define suuji_exit (work_base -> Jsuuji_exit)
#define suuji_wkeep (work_base -> Jsuuji_wkeep)
#define suuji_ukeep (work_base -> Jsuuji_ukeep)
#define peepyomi (work_base -> Jpeepyomi)
#define peepknj (work_base -> Jpeepknj)
#define peepgrm (work_base -> Jpeepgrm)
#define peepdptr (work_base -> Jpeepdptr)
#define peephptr (work_base -> Jpeephptr)
#define peepkptr (work_base -> Jpeepkptr)
#define peepidx (work_base -> Jpeepidx)
#define seg_count Jseg_count
#define mkidxtbl Jmkidxtbl
#define initwork Jinitwork
#define free_jlst Jfree_jlst
#define free_clst Jfree_clst
#define free_clall Jfree_clall
#define free_jall Jfree_jall
#define freework Jfreework
#define free_kjall Jfree_kjall
#define set2nd Jset2nd
#define mk2claus Jmk2claus
#define mkbunsetu Jmkbunsetu
#define argclrec Jargclrec
#define mkjiritu Jmkjiritu
#define dic_mu Jdic_mu
#define argjrec Jargjrec
#define dic_cl Jdic_cl
#define mkkouho Jmkkouho
#define getkhtbl Jgetkhtbl
#define cl_kanji Jcl_kanji
#define sameknj Jsameknj
#define skipatr Jskipatr
#define diffknj Jdiffknj
#define chrck_numtbl Jchrck_numtbl
#define sel_sjmode Jsel_sjmode
#define cl_numcmn Jcl_numcmn
#define word2char Jword2char
#define words2num Jwords2num
#define num_type00 Jnum_type00
#define num_type01 Jnum_type01
#define num_type02 Jnum_type02
#define num_type03 Jnum_type03
#define num_type04 Jnum_type04
#define num_type05 Jnum_type05
#define num_type06 Jnum_type06
#define num_type07 Jnum_type07
#define kan_num Jkan_num
#define num_type08 Jnum_type08
#define num_type09 Jnum_type09
#define num_type10 Jnum_type10
#define num_type11 Jnum_type11
#define num_type12 Jnum_type12
#define num_kurai Jnum_kurai
#define num_type13 Jnum_type13
#define num_type14 Jnum_type14
#define getusr Jgetusr
#define nextusr Jnextusr
#define prevusr Jprevusr
#define set_kanji Jset_kanji
#define set_buf Jset_buf
#define prev_kanji Jprev_kanji
#define prev_hinsi Jprev_hinsi
#define prev_douon Jprev_douon
#define next_kanji Jnext_kanji
#define next_hinsi Jnext_hinsi
#define next_douon Jnext_douon
#define add_yomi Jadd_yomi
#define cd2sjh_chr Jcd2sjh_chr
#define ph2knj Jph2knj
#define ph_setsty Jph_setsty
#define nextkptr Jnextkptr
#define maxpset Jmaxpset
#define mkknjmax Jmkknjmax
#define ph_khtbl Jph_khtbl
#define isfukusi Jisfukusi
#define istaigen Jistaigen
#define taicnt Jtaicnt
#define sttcnt Jsttcnt
#define priority Jpriority
#define pritiny Jpritiny
#define selclrec Jselclrec
#define initknjall Jinitknjall
#define knjtouroku Jknjtouroku
#define knjitti Jknjitti
#define hikakusub Jhikakusub
#define knjhikaku Jknjhikaku
#define setgroupai Jsetgroupai
#define select_dsub Jselect_dsub
#define select_tsub Jselect_tsub
#define select_ysub Jselect_ysub
#define selectknj Jselectknj
#define selknj Jselknj
#define cnjstrcmp Jcnjstrcmp
#define cnvrow Jcnvrow
#define setconj Jsetconj
#define setj_atrb Jsetj_atrb
#define setj_ofs Jsetj_ofs
#define setj_knj Jsetj_knj
#define setj_norm1 Jsetj_norm1
#define setj_norm2 Jsetj_norm2
#define chkhead Jchkhead
#define setjrec Jsetjrec
#define setnumrec Jsetnumrec
#define setcrec Jsetcrec
#define setkouho Jsetkouho
#define ph_setkouho Jph_setkouho
#define hiraknj Jhiraknj
#define hiraknj_atrb Jhiraknj_atrb
#define hiraknj_ofs Jhiraknj_ofs
#define hiraknj_knj Jhiraknj_knj
#define hiraknj_hask Jhiraknj_hask
#define hiraknj_kask Jhiraknj_kask
#define hiraknj_norm Jhiraknj_norm
#define hiraknj_hira Jhiraknj_hira
#define getstb Jgetstb
#define setubi Jsetubi
#define sj2cd_chr Jsj2cd_chr
#define sj2cd_str Jsj2cd_str
#define retaiofs Jretaiofs
#define srchai2nd Jsrchai2nd
#define srchai1st Jsrchai1st
#define srchai4th Jsrchai4th
#define srchai3rd Jsrchai3rd
#define srchai6th Jsrchai6th
#define srchai5th Jsrchai5th
#define yomicmp_sub Jyomicmp_sub
#define yomicmp Jyomicmp
#define srchdict Jsrchdict
#define srchg_atrb Jsrchg_atrb
#define srchg_ofs Jsrchg_ofs
#define srchg_knj Jsrchg_knj
#define srchg_norm1 Jsrchg_norm1
#define srchg_norm2 Jsrchg_norm2
#define srchgrp2nd Jsrchgrp2nd
#define srchgrp1st Jsrchgrp1st
#define srchhead Jsrchhead
#define srchidx Jsrchidx
#define srch_josuu_sub Jsrch_josuu_sub
#define srch_josuu Jsrch_josuu
#define setnrec_sub Jsetnrec_sub
#define setnrec Jsetnrec
#define srchtbl Jsrchtbl
#define isconnect Jisconnect
#define string_cmp Jstring_cmp
#define check_num Jcheck_num
#define srch_number1 Jsrch_number1
#define srch_kurai1 Jsrch_kurai1
#define srch_kurai2 Jsrch_kurai2
#define srch_number2 Jsrch_number2
#define srchnum_sub Jsrchnum_sub
#define srchnum Jsrchnum
#define setwdnum Jsetwdnum
#define setucnum Jsetucnum
#define study Jstudy
#define srchstdy Jsrchstdy
#define terminate Jterminate
#define wakachi Jwakachi
#define cmpstr Jcmpstr
#define hzstrlen Jhzstrlen
#define istrcmp Jistrcmp
#define memcpy Jmemcpy
#define sstrncpy Jsstrncpy
#define memset Jmemset
#define mvmemd Jmvmemd
#define mvmemi Jmvmemi
#define skiphblk Jskiphblk
#define skipkstr Jskipkstr
#define sstrcmp Jsstrcmp
#define sstrlen Jsstrlen
#define sstrncmp Jsstrncmp
#define charsize Jcharsize
#define chrtbl Jchrtbl
#define conjadr Jconjadr
#define connadr Jconnadr
#define rigtadr Jrigtadr
#define cvtnum_func Jcvtnum_func
#define getkan_func Jgetkan_func
#define setjrec_func Jsetjrec_func
#define srchg_func Jsrchg_func
#define hiraknj_func Jhiraknj_func
#define fzkadr Jfzkadr
#define taipri Jtaipri
#define sttpri Jsttpri
#define kigou Jkigou
#define selsjadrs Jselsjadrs
#define stbadr Jstbadr
#define settou_ptr Jsettou_ptr
#define scncttbl Jscncttbl
#define suuji_tbl Jsuuji_tbl
#define kurai1_tbl Jkurai1_tbl
#define kurai2_tbl Jkurai2_tbl
#define num1tbl Jnum1tbl
#define num2tbl Jnum2tbl
#define num3tbl Jnum3tbl
#define num4tbl Jnum4tbl
#define num5tbl Jnum5tbl
#define num6tbl Jnum6tbl
#define termtbl Jtermtbl
#endif

373
include/sj_right.h Normal file
View file

@ -0,0 +1,373 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_right.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:15 $
*/
#ifndef _SJ_RIGHT
#define _SJ_RIGHT
#define R_DE 1
#define R_WO 2
#define R_KARA1 3
#define R_GA1 4
#define R_TO1 5
#define R_NI1 6
#define R_NO1 7
#define R_HA 8
#define R_HE 9
#define R_MO1 10
#define R_YA1 11
#define R_YORI1 12
#define R_SAE 13
#define R_SIKA 14
#define R_DAKE 15
#define R_I 16
#define R_E 17
#define R_KAKE 18
#define R_KANE2 19
#define R_SUGI 20
#define R_DEKI 21
#define R_MI 22
#define R_SASE 23
#define R_RARE 24
#define R_ITADAKE 25
#define R_EXP 26
#define R_RENYOU1 27
#define R_RENYOU5 28
#define R_SA5RENYOU1 29
#define R_RENYOU3 30
#define R_RENYOU7 31
#define R_SA5RENYOU3 32
#define R_RENYOU4 33
#define R_RENYOU8 34
#define R_SA5RENYOU4 35
#define R_KRENYOU 39
#define R_DRENYOU1 40
#define R_DRENYOU2 41
#define R_DRENYOU3 42
#define R_ONBIN1 43
#define R_ONBIN2 44
#define R_ONBIN3 45
#define R_DESHI 46
#define R_AXTU 47
#define R_ONBIN6 48
#define R_ONBIN8 49
#define R_ARI1 50
#define R_ARI2 51
#define R_ARI3 52
#define R_IKI 53
#define R_ITASI 54
#define R_ITADAKI 55
#define R_ORI2 56
#define R_GATAKU 57
#define R_KI 58
#define R_KUDASAI 59
#define R_GOZAI 60
#define R_GOTOKU 61
#define R_BEKU 62
#define R_SOUDE 63
#define R_SOUNI 64
#define R_TAGARI 65
#define R_TAKU 66
#define R_MIZEN1 67
#define R_NAIDE 68
#define R_NAKU 69
#define R_NASAI 70
#define R_FUUNI 71
#define R_YORI2 72
#define R_RASHUU 73
#define R_DSHUUSI1 74
#define R_DSHUUSI2 75
#define R_GOTOSI 76
#define R_BESI 77
#define R_ZU 78
#define R_SOUDA 79
#define R_MAI 80
#define R_MITAIDA 81
#define R_SHUUSI 82
#define R_KSHUUSI 83
#define R_ZARU 84
#define R_SOUDESU 85
#define R_TA 86
#define R_TAI 87
#define R_DESU 88
#define R_NAI 89
#define R_NU 90
#define R_MASU 91
#define R_NN2 92
#define R_RASII 93
#define R_DRENTAI1 94
#define R_DRENTAI2 95
#define R_DRENTAI3 96
#define R_KRENTAI 97
#define R_GOTOKI 98
#define R_BEKI 99
#define R_SOUNA1 100
#define R_SOUNA2 101
#define R_NA2 102
#define R_KATEI1 103
#define R_KATEI2 104
#define R_KATEI3 105
#define R_KAMEI 106
#define R_IKE 107
#define R_KURE 108
#define R_MEIREI1 109
#define R_MEIREI2 110
#define R_DGOKAN 111
#define R_KGOKAN 112
#define R_SGOKAN 113
#define R_GATI 114
#define R_JYA 115
#define R_SOU 116
#define R_MITAI 117
#define R_YOTTE 118
#define R_YOU2 119
#define R_SHO 120
#define R_FZKMEISI 121
#define R_AISATU 122
#define R_KOSODO 123
#define R_YOU1 124
#define R_HASI 125
#define R_DAIMEISI 126
#define R_DAIMEISI6 127
#define R_FZKKI 128
#define R_DEHA 129
#define R_NAGARA2 130
#define R_WO_S 131
#define R_WO_MEISI 132
#define R_SITE 133
#define R_N_SI 134
#define R_F_FUKUSI 135
#define R_CUT 137
#define R_MIZEN2 140
#define R_MIZEN3 141
#define R_MIZEN4 142
#define R_SI1 143
#define R_JI 144
#define R_AGE 145
#define R_MIZEN5 146
#define R_AROU 147
#define R_KAROU 148
#define R_DAROU 149
#define R_DESHOU 150
#define R_KO 151
#define R_BEKARA 152
#define R_TAGARA 153
#define R_SHUUJO 154
#define R_TTATTE 155
#define R_TTARA 156
#define R_TTE1 157
#define R_TTE2 158
#define R_PPANASI 159
#define R_PPOI 160
#define R_UE 161
#define R_UTI 162
#define R_OITE 163
#define R_OKERU 164
#define R_ORI1 165
#define R_KA1 166
#define R_KA2 167
#define R_KATAGATA 168
#define R_KADOUKA 169
#define R_KAMO 170
#define R_KARA2 171
#define R_GA2 172
#define R_GATERA 173
#define R_KIRI 174
#define R_KUSENI 175
#define R_KURAI 176
#define R_GURUMI 177
#define R_KEDO 178
#define R_KOSO 179
#define R_KOTO 180
#define R_SI2 181
#define R_SURA 182
#define R_ZUTU 183
#define R_TAME 184
#define R_TARI 185
#define R_DANO 186
#define R_DARAKE 187
#define R_TUITE 188
#define R_TUKI 189
#define R_TUTU 190
#define R_TUMORI 191
#define R_TE1 192
#define R_TE2 193
#define R_TERU 194
#define R_TO2 195
#define R_TOTTE 196
#define R_TOIU 197
#define R_TOORI 198
#define R_TOKI 199
#define R_TOKORO 200
#define R_TOTE 201
#define R_TOHAIE 202
#define R_TOMO 203
#define R_DO 204
#define R_DOORI 205
#define R_DOKORO 206
#define R_DOKOROKA 207
#define R_DOMO 208
#define R_NAGARA 209
#define R_NAZO 210
#define R_NADO 211
#define R_NARI 212
#define R_NANKA 213
#define R_NANZO 214
#define R_NANTE 215
#define R_NI2 216
#define R_NI3 217
#define R_NITE 218
#define R_NIMO 219
#define R_NO2 220
#define R_NODE 221
#define R_NONI 222
#define R_NOMI 223
#define R_NOMINRZ 224
#define R_HAZU 225
#define R_BA 226
#define R_BAKARI 227
#define R_HOU 228
#define R_HOKA 229
#define R_HODO 230
#define R_MADE 231
#define R_MAMA 232
#define R_MO2 233
#define R_MOTTE 234
#define R_MONO 235
#define R_YA2 236
#define R_YARA 237
#define R_YUE 238
#define R_WAKE 239
#define R_NN1 240
#define R_SUUSI 241
#define R_SETUZOKU 242
#define R_KANDOU 243
#define R_SETTOU 244
#define R_FUKUSI 245
#define R_FZKKGU 246
#define R_MEISI 247
#define R_DMEISI 248
#define R_SMEISI1 249
#define R_SMEISI2 250
#define R_KSTB 251
#define R_ICHISETUBI 252
#define R_JOSUUSI 253
#define R_RENTAISI 254
#define R_TANKAN 255
#endif

200
include/sj_struct.h Normal file
View file

@ -0,0 +1,200 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_struct.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:16 $
*/
#ifndef _SJ_STRUCT
#define _SJ_STRUCT
typedef struct jiritu {
struct jiritu *jsort;
TypeDicSeg jseg;
TypeDicOfs jofsst;
TypeDicOfs jofsed;
Ushort flags;
TypeClass class;
TypeDicID dicid;
Uchar jlen;
TypeGram hinsi;
Uchar sttofs;
Uchar stbofs;
Uchar count;
Uchar numlen;
} JREC;
typedef struct bunsetu {
JREC *jnode;
struct bunsetu *clsort;
Uchar gobiln;
Uchar cllen;
TypeCnct right;
Uchar cl2len;
Uchar kubun;
#if __STDC__
unsigned fzk_ka : 1;
#else
Uchar fzk_ka : 1;
#endif
} CLREC;
typedef struct kouho {
CLREC *clrec;
TypeDicOfs offs;
TypeStyNum styno;
Uchar rank;
#if __STDC__
unsigned sttfg : 1;
unsigned sttkj : 1;
unsigned ka_fg : 1;
unsigned ka_kj : 1;
unsigned mode : 4;
#else
Uchar sttfg : 1;
Uchar sttkj : 1;
Uchar ka_fg : 1;
Uchar ka_kj : 1;
Uchar mode : 4;
#endif
} KHREC;
typedef struct conj {
Uchar len;
TypeCnct right;
} CREC;
typedef struct fuzoku {
Uchar *yomip;
Uchar TFar *fzkp;
} FREC;
typedef struct study_in {
TypeDicOfs offset;
TypeDicSeg seg;
TypeStyNum styno;
TypeDicID dicid;
#if __STDC__
unsigned sttkj : 1;
unsigned ka_kj : 1;
unsigned nmflg : 1;
#else
Uchar sttkj : 1;
Uchar ka_kj : 1;
Uchar nmflg : 1;
#endif
} STDYIN;
typedef struct study_out {
STDYIN stdy1;
TypeGram hinshi;
Uchar len;
#if __STDC__
unsigned sttlen : 2;
unsigned sttfg : 1;
unsigned ka_fg : 1;
#else
Uchar sttlen : 2;
Uchar sttfg : 1;
Uchar ka_fg : 1;
#endif
} STDYOUT;
typedef struct dict {
TypeDicID dicid;
TypeIdxOfs idxlen;
TypeDicOfs seglen;
TypeDicSeg segunit;
TypeDicSeg maxunit;
IFunc getofs;
IFunc getidx;
IFunc getdic;
IFunc putidx;
IFunc putdic;
IFunc rszdic;
} DICT;
typedef struct dictl {
DICT *dict;
struct dictl *next;
} DICTL;
typedef struct stdy {
Short stdycnt;
Short stdymax;
STDYIN *stdydic;
Short clstdystep;
Ushort *clstdyidx;
Short clstdylen;
Uchar *clstdydic;
} STDY;
#endif

121
include/sj_study.h Normal file
View file

@ -0,0 +1,121 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_study.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:18 $
*/
#ifndef _SJ_STUDY
#define _SJ_STUDY
#define StudyExist() (stdy_base)
#define StudyCount (stdy_base -> stdycnt)
#define StudyMax (stdy_base -> stdymax)
#define StudyDict (stdy_base -> stdydic)
#define ClStudyIdx (stdy_base -> clstdyidx)
#define ClStudyStep (stdy_base -> clstdystep)
#define ClStudyLen (stdy_base -> clstdylen)
#define ClStudyDict (stdy_base -> clstdydic)
#define StudyTail (StudyDict + StudyMax)
#define StudyRecSize (sizeof(STDYIN))
#define ClStudyTail (ClStudyDict + ClStudyLen)
#define StudyNormEnd 0
#define StudyNoDict 1
#define StudyFullArea 2
#define StudyNotStudy 3
#define StudyError 4
#define CLSTDY_TMPLEN 256
#define ClstudyNormEnd 0
#define ClstudyNoDict 1
#define ClstudyParaErr 2
#define ClstudyYomiErr 3
#define ClstudyNoArea 4
#define CL_YLEN 0
#define CL_GRAM2 1
#define CL_Y1LEN 2
#define CL_NUMH 3
#define CL_NUML 4
#define CL_YDATA 5
#define CL_HDLEN 5
#define iseocl(p) ( !ClYomiLen(p) || (Uchar *)(p) >= ClStudyTail )
#define ClGramCode(p) *((p) + CL_GRAM2)
#define ClYomiLen(p) *((p) + CL_YLEN)
#define ClYomi1Len(p) *((p) + CL_Y1LEN)
#define ClHighNum(p) *(p + CL_NUMH)
#define ClLowNum(p) *(p + CL_NUML)
#define ClGetNum(p) (ClHighNum(p) * 0x100 + ClLowNum(p))
#define ClSetNum(p, n) (ClHighNum(p)=(Uchar)((n) >> 8), ClLowNum(p)=(Uchar)(n))
#define ClYomiPos(p) ((p) + CL_YDATA)
#define ClBlkLen(p) (ClYomiLen(p) + CL_HDLEN)
#define ClNextTag(p) ((p) + ClBlkLen(p))
#endif

146
include/sj_suuji.h Normal file
View file

@ -0,0 +1,146 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_suuji.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:19 $
*/
#ifndef _SJ_SUUJI
#define _SJ_SUUJI
#define SjTblRecLen 6
#define SjTblRecNum 34
#define SjTblYPos(p) (p)
#define SjTblYLen 3
#define SjTblModeP(p) (p + 3)
#define SjTblNumber(md) ((md) & 0x0f)
#define SjTblNArabiaF 0x80
#define SjTblNYomiF 0x40
#define SjTblNNarabiF 0x20
#define SjTblNNanSuuF 0x10
#define SjTblNCont(md) (md & SjTblNContF)
#define SjTblCnctP(p) (p + 4)
#define Kr1TblRecLen 5
#define Kr1TblRecNum 10
#define Kr1TblYPos(p) (p)
#define Kr1TblYLen 3
#define Kr1TblModeP(p) (p + 3)
#define Kr1TblTopF 0x80
#define Kr1TblTop(md) (md & Kr1TblTopF)
#define Kr1TblKeta(md) (((md) >> 4) & 7)
#define Kr1TblCnct(md) ((md) & 0x0f)
#define Kr1TblCnctP(p) (p + 3)
#define Kr2TblRecLen 4
#define Kr2TblRecNum 3
#define Kr2TblYPos(p) (p)
#define Kr2TblYLen 3
#define Kr2TblModeP(p) (p + 3)
#define Kr2TblCnct(md) ((md) & 0x0f)
#define Kr2TblKeta(md) (((md) >> 4) & 0x0f)
#define _Num0 0x01
#define _Num1 0x02
#define _Num2 0x03
#define _Num3 0x04
#define _Num4 0x05
#define _Num5 0x06
#define _Num6 0x07
#define _Num7 0x08
#define _Num8 0x09
#define _Num9 0x0a
#define _Num1S 0x0b
#define _NumS 0x0c
#define _NumN 0x0d
#define CommaHigh 0xa1
#define CommaLow 0xa4
#define SelArb 1
#define SelArb0 2
#define SelArbCma 3
#define SelKanSj0 5
#define SelKanSj20 8
#define SelKanSjYm 9
#define SelKanSjYm2 10
#define SelLongArb 11
#define SelLongArbCma 12
#define SelLongSj 13
#define SelArbKr 14
#define SelKanSjKr 15
#define SelNumTerm 0xffff
#define SelKanSj 4
#define SelKanSj2 7
#define SelKanSjCma 6
#define SelNum0123 (JFLAG_N01 | JFLAG_N23)
#define SelNum1_23_10_1 (JFLAG_N_1 | JFLAG_N23 | JFLAG_N10 | JFLAG_NS1)
#define SelNumMust (JFLAG_NK2 | JFLAG_NK4 | JFLAG_NN0 | JFLAG_NSN)
#define SelNumALL (JFLAG_N10 | JFLAG_N_1 | JFLAG_NS1 | JFLAG_N01 \
| JFLAG_N23 | JFLAG_NK2 | JFLAG_NK4 \
| JFLAG_NN0 | JFLAG_NSN)
#define SelNumFunc(c) ((c) & (~SelNumALL))
#define SelNumCond(c) ((c) & SelNumALL)
#define Number123456789NS ((1<<_Num1)|(1<<_Num2)|(1<<_Num3)|(1<<_Num4) \
|(1<<_Num5)|(1<<_Num6)|(1<<_Num7)|(1<<_Num8) \
|(1<<_Num9)|(1<<_Num1S)\
|(1<<_NumN)|(1<<_NumS))
#define Number0 (1<<_Num0)
#define Number1 ((1<<_Num1)|(1<<_Num1S))
#define NumberS1 (1<<_Num1S)
#define Number01 (Number0|Number1)
#define Number23 ((1<<_Num2)|(1<<_Num3))
#endif

67
include/sj_sysvdef.h Normal file
View file

@ -0,0 +1,67 @@
/*
* Copyright (c) 1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_sysvdef.h,v $
* $SonyRevision: 1.2 $
* $SonyDate: 1995/02/10 06:02:25 $
*/
#ifndef _SJ_SYSVDEF
#define _SJ_SYSVDEF
#ifdef SYSV
#ifndef SVR4
#define SVR4
#endif
#endif
#ifdef SYSTYPE_SYSV
#ifndef SVR4
#define SVR4
#endif
#endif
#ifdef SVR4
#define SYSV_TERMIOS
#define SIGTYPE_VOID
#endif /* SVR4 */
#ifdef linux
#if !(defined (__GLIBC__) && (__GLIBC__ >= 2))
#define LACKOF_SETLOCALE
#endif
#define SYSV_TERMIOS
#define SYSV_UTMP
#define SIGTYPE_VOID
#endif /* linux */
#endif

138
include/sj_table.h Normal file
View file

@ -0,0 +1,138 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_table.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:21 $
*/
#ifndef _SJ_TABLE
#define _SJ_TABLE
#define isdpnd(c) (Chrtbl[c] & DEPEND)
#define CnjAskLen(p) (((unsigned int) *(p) & 0x70) >> 4)
#define CnjNkrLen(p) (*(p) & 0x0f)
#define CnjRight(p) *(p + CnjNkrLen(p) + 1)
#define CnjRecLen(p) (CnjNkrLen(p) + 2)
#define FzkAskLen(p) ((unsigned int) *(p) >> 5)
#define FzkNkrLen(p) (*(p) & 0x07)
#define FzkStrKa(p) (((unsigned int) *(p) >> 3) & 1)
#define FzkHasCode(p) (*(p) & 0x10)
#define FzkLeft(p) (*((p) + nlen + 1))
#define FzkRight(p) (*((p) + nlen + 2))
#define SttYomiLen(p) (*(p) & 0x0f)
#define SttHiraKnj(p) (*(p) & 0x80)
#define StbKnjLen(p) (*(p) & 0x07)
#define StbYomiLen(p) (*(p) >> 4)
#define StbYomiTop(p) ((p) + 2)
#define StbBakeru(p) (*(p) & 0x08)
#define StbHinsi(p) (*((p) + 1))
extern Uchar charsize[], chrtbl[], *conjadr[], connadr[];
extern Uchar *fzkadr[], kigou[], kurai1_tbl[], kurai2_tbl[];
extern Uchar num1tbl[], num2tbl[], num3tbl[], num4tbl[];
extern Uchar num5tbl[], num6tbl[], *rigtadr[], scncttbl[2][24];
extern Uchar *settou_ptr[], *stbadr[], sttpri[5][31];
extern Uchar suuji_tbl[], taipri[7][45], termtbl[];
extern Ushort *selsjadrs[];
extern UCPFunc getkan_func[], makekan_func[];
extern VFunc cvtnum_func[];
extern IFunc hiraknj_func[], setjrec_func[], srchg_func[];
#define Charsize charsize
#define Chrtbl chrtbl
#define Conjadr(i) conjadr[i]
#define Connadr connadr
#define Cvtnum_func cvtnum_func
#define Fzkadr(i) fzkadr[i]
#define Getkan_func getkan_func
#define Hiraknj_func hiraknj_func
#define Kigou kigou
#define Kurai1_tbl kurai1_tbl
#define Kurai2_tbl kurai2_tbl
#define Makekan_func makekan_func
#define Num1tbl num1tbl
#define Num2tbl num2tbl
#define Num3tbl num3tbl
#define Num4tbl num4tbl
#define Num5tbl num5tbl
#define Num6tbl num6tbl
#define Rigtadr(i) rigtadr[i]
#define Scncttbl(i, j) scncttbl[i][j]
#define Selsjadrs(i) selsjadrs[i]
#define Setjrec_func setjrec_func
#define Settou_ptr(i) settou_ptr[i]
#define Srchg_func srchg_func
#define Stbadr(i) stbadr[i]
#define Sttpri(i, j) sttpri[i][j]
#define Suuji_tbl suuji_tbl
#define Taipri(i, j) taipri[i][j]
#define Termtbl termtbl
#endif

88
include/sj_typedef.h Normal file
View file

@ -0,0 +1,88 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_typedef.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:22 $
*/
#ifndef _SJ_TYPEDEF
#define _SJ_TYPEDEF
#define RECURS
#define TFar
#define Far
#define Reg1 register
#define Reg2 register
#define Reg3 register
#define Reg4 register
#define Reg5 register
#define Reg6 register
#define Reg7 register
#define Reg8 register
#define Void void
#define Char char
#define Uchar unsigned char
#define Short short
#define Ushort unsigned short
#define Int int
#define Uint unsigned int
#define Long long
#define Ulong unsigned long
typedef Void (*VFunc)();
typedef Uchar *(*UCPFunc)();
typedef Int (*IFunc)();
#include <sys/types.h>
typedef Uchar TypeGroup;
typedef Uchar TypeGram;
typedef Ushort TypeIdxOfs;
typedef Short TypeDicSeg;
typedef Ushort TypeDicOfs;
typedef ino_t TypeDicID;
typedef Uchar TypeCnct;
typedef Ushort TypeStyNum;
typedef Uchar TypeClass;
typedef Uchar TypeBunNum;
#ifndef NULL
# define NULL 0
#endif
#endif

64
include/sj_var.h Normal file
View file

@ -0,0 +1,64 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_var.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:23 $
*/
#ifndef _SJ_VAR
#define _SJ_VAR
#define MaxKouhoNumber 255
#define MaxPhInputLen 256
#define MaxClInputLen 64
#define MinClOutputLen 512
#define MinPhOutputLen 288
#endif

217
include/sj_yomi.h Normal file
View file

@ -0,0 +1,217 @@
/*
* Copyright (c) 1991-1994 Sony Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Sony Corporation
* shall not be used in advertising or otherwise to promote the sale, use
* or other dealings in this Software without prior written authorization
* from Sony Corporation.
*
*/
/*
* $SonyRCSfile: sj_yomi.h,v $
* $SonyRevision: 1.1 $
* $SonyDate: 1994/06/03 08:01:24 $
*/
#ifndef _SJ_YOMICODE
#define _SJ_YOMICODE
#define _TYOUON 0x01
#define _IGETA 0x02
#define _ATTO 0x03
#define _YUUBIN 0x04
#define N_0 0x10
#define N_1 0x11
#define N_2 0x12
#define N_3 0x13
#define N_4 0x14
#define N_5 0x15
#define N_6 0x16
#define N_7 0x17
#define N_8 0x18
#define N_9 0x19
#define A_A 0x1A
#define A_B 0x1B
#define A_C 0x1C
#define A_D 0x1D
#define A_E 0x1E
#define A_F 0x1F
#define A_G 0x20
#define A_H 0x21
#define A_I 0x22
#define A_J 0x23
#define A_K 0x24
#define A_L 0x25
#define A_M 0x26
#define A_N 0x27
#define A_O 0x28
#define A_P 0x29
#define A_Q 0x2A
#define A_R 0x2B
#define A_S 0x2C
#define A_T 0x2D
#define A_U 0x2E
#define A_V 0x2F
#define A_W 0x30
#define A_X 0x31
#define A_Y 0x32
#define A_Z 0x33
#define A_a 0x34
#define A_b 0x35
#define A_c 0x36
#define A_d 0x37
#define A_e 0x38
#define A_f 0x39
#define A_g 0x3A
#define A_h 0x3B
#define A_i 0x3C
#define A_j 0x3D
#define A_k 0x3E
#define A_l 0x3F
#define A_m 0x40
#define A_n 0x41
#define A_o 0x42
#define A_p 0x43
#define A_q 0x44
#define A_r 0x45
#define A_s 0x46
#define A_t 0x47
#define A_u 0x48
#define A_v 0x49
#define A_w 0x4A
#define A_x 0x4B
#define A_y 0x4C
#define A_z 0x4D
#define _XA 0x4E
#define _A 0x4F
#define _XI 0x50
#define _I 0x51
#define _XU 0x52
#define _U 0x53
#define _XE 0x54
#define _E 0x55
#define _XO 0x56
#define _O 0x57
#define _KA 0x58
#define _GA 0x59
#define _KI 0x5A
#define _GI 0x5B
#define _KU 0x5C
#define _GU 0x5D
#define _KE 0x5E
#define _GE 0x5F
#define _KO 0x60
#define _GO 0x61
#define _SA 0x62
#define _ZA 0x63
#define _SI 0x64
#define _ZI 0x65
#define _SU 0x66
#define _ZU 0x67
#define _SE 0x68
#define _ZE 0x69
#define _SO 0x6A
#define _ZO 0x6B
#define _TA 0x6C
#define _DA 0x6D
#define _TI 0x6E
#define _DI 0x6F
#define _XTU 0x70
#define _TU 0x71
#define _DU 0x72
#define _TE 0x73
#define _DE 0x74
#define _TO 0x75
#define _DO 0x76
#define _NA 0x77
#define _NI 0x78
#define _NU 0x79
#define _NE 0x7A
#define _NO 0x7B
#define _HA 0x7C
#define _BA 0x7D
#define _PA 0x7E
#define _HI 0x7F
#define _BI 0x80
#define _PI 0x81
#define _HU 0x82
#define _BU 0x83
#define _PU 0x84
#define _HE 0x85
#define _BE 0x86
#define _PE 0x87
#define _HO 0x88
#define _BO 0x89
#define _PO 0x8A
#define _MA 0x8B
#define _MI 0x8C
#define _MU 0x8D
#define _ME 0x8E
#define _MO 0x8F
#define _XYA 0x90
#define _YA 0x91
#define _XYU 0x92
#define _YU 0x93
#define _XYO 0x94
#define _YO 0x95
#define _RA 0x96
#define _RI 0x97
#define _RU 0x98
#define _RE 0x99
#define _RO 0x9A
#define _XWA 0x9B
#define _WA 0x9C
#define _WI 0x9D
#define _WE 0x9E
#define _WO 0x9F
#define _NN 0xA0
#define _VU 0xA1
#define _XKA 0xA2
#define _XKE 0xA3
#define Y_KUTEN 0xF2
#define Y_TOUTEN 0xF3
#define Y_COMMA 0xF4
#define Y_PERIOD 0xF5
#define Y_QUOTA 0xF6
#define Y_BIKKURI 0xF7
#define Y_S_KIGOU1 0xF8
#define Y_S_KIGOU2 0xF9
#define Y_L_KAKKO 0xFA
#define Y_R_KAKKO 0xFB
#define Y_KIGOU 0xFC
#define Y_HANKAKU 0xFD
#define Y_ZENKAKU 0xFE
#define _NIL 0
#endif