Format
This commit is contained in:
parent
80b2181a61
commit
73cb09624a
116 changed files with 19741 additions and 21522 deletions
24
.clang-format
Normal file
24
.clang-format
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
---
|
||||||
|
UseTab: Always
|
||||||
|
TabWidth: 8
|
||||||
|
AlignConsecutiveAssignments:
|
||||||
|
Enabled: true
|
||||||
|
AlignConsecutiveDeclarations:
|
||||||
|
Enabled: true
|
||||||
|
AccessModifierOffset: -4
|
||||||
|
NamespaceIndentation: All
|
||||||
|
IndentWidth: 8
|
||||||
|
PointerAlignment: Left
|
||||||
|
ColumnLimit: 0
|
||||||
|
AllowShortIfStatementsOnASingleLine: Always
|
||||||
|
AllowShortBlocksOnASingleLine: Never
|
||||||
|
AllowShortFunctionsOnASingleLine: Empty
|
||||||
|
AllowShortLoopsOnASingleLine: true
|
||||||
|
BreakBeforeBraces: Custom
|
||||||
|
BraceWrapping:
|
||||||
|
AfterCaseLabel: true
|
||||||
|
SpaceBeforeParens: Never
|
||||||
|
AlignEscapedNewlines: DontAlign
|
||||||
|
SortIncludes: false
|
||||||
|
AllowShortEnumsOnASingleLine: false
|
||||||
|
#IndentPPDirectives: AfterHash
|
||||||
2
format.sh
Executable file
2
format.sh
Executable file
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
clang-format --verbose -i `find src lib include -name "*.c" -or -name "*.h"`
|
||||||
|
|
@ -41,59 +41,59 @@
|
||||||
* Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10
|
* Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/10
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define PASSWORDLEN 16
|
#define PASSWORDLEN 16
|
||||||
|
|
||||||
#define YOMIBUFSIZE 1024
|
#define YOMIBUFSIZE 1024
|
||||||
#define KANJIBUFSIZE 2048
|
#define KANJIBUFSIZE 2048
|
||||||
|
|
||||||
#define MINIDXLEN 512
|
#define MINIDXLEN 512
|
||||||
#define MINSEGLEN 512
|
#define MINSEGLEN 512
|
||||||
#define MINSEGNUM 1
|
#define MINSEGNUM 1
|
||||||
#define MINSTYNUM 512
|
#define MINSTYNUM 512
|
||||||
#define MAXSTYNUM 0x7fff
|
#define MAXSTYNUM 0x7fff
|
||||||
#define MINCLSTEP 1
|
#define MINCLSTEP 1
|
||||||
#define MAXCLSTEP 256
|
#define MAXCLSTEP 256
|
||||||
#define MINCLLEN 512
|
#define MINCLLEN 512
|
||||||
#define MAXCLLEN 0x7fff
|
#define MAXCLLEN 0x7fff
|
||||||
|
|
||||||
#define DEBUGOUTFILE NULL
|
#define DEBUGOUTFILE NULL
|
||||||
#define DEBUGLEVEL 0
|
#define DEBUGLEVEL 0
|
||||||
#define FORKFLAG 1
|
#define FORKFLAG 1
|
||||||
#define MAXCLIENTNUM 512
|
#define MAXCLIENTNUM 512
|
||||||
#define LOGOUTFILE NULL
|
#define LOGOUTFILE NULL
|
||||||
#define ERROROUTFILE "/dev/null"
|
#define ERROROUTFILE "/dev/null"
|
||||||
#define ADDRESSFAMILY "unspec"
|
#define ADDRESSFAMILY "unspec"
|
||||||
#define PORTNAME "sj3"
|
#define PORTNAME "sj3"
|
||||||
#define LOCALHOST "localhost"
|
#define LOCALHOST "localhost"
|
||||||
#define CHROOTFLAG 1
|
#define CHROOTFLAG 1
|
||||||
|
|
||||||
#define MAINDICTIONARY "sj3main.dic"
|
#define MAINDICTIONARY "sj3main.dic"
|
||||||
#define USERDICTIONARY "private.dic"
|
#define USERDICTIONARY "private.dic"
|
||||||
#define STUDYFILE "study.dat"
|
#define STUDYFILE "study.dat"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Change the default Port number of sj3 for FreeBSD.
|
* Change the default Port number of sj3 for FreeBSD.
|
||||||
* Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/20
|
* Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/20
|
||||||
*/
|
*/
|
||||||
#define PORTNUMBER "3086"
|
#define PORTNUMBER "3086"
|
||||||
#define DIRECTRYMODE 0755
|
#define DIRECTRYMODE 0755
|
||||||
#define DICTFILEMODE 0644
|
#define DICTFILEMODE 0644
|
||||||
#define MODE_MASK 0777
|
#define MODE_MASK 0777
|
||||||
|
|
||||||
#define DEFIDXLEN 2048
|
#define DEFIDXLEN 2048
|
||||||
#define DEFSEGLEN 2048
|
#define DEFSEGLEN 2048
|
||||||
#define DEFSEGNUM 256
|
#define DEFSEGNUM 256
|
||||||
#define DEFSTYNUM 2048
|
#define DEFSTYNUM 2048
|
||||||
#define DEFCLSTEP 1
|
#define DEFCLSTEP 1
|
||||||
#define DEFCLLEN 2048
|
#define DEFCLLEN 2048
|
||||||
|
|
||||||
#define NOTLOCKED -1
|
#define NOTLOCKED -1
|
||||||
|
|
||||||
#define ERROR -1
|
#define ERROR -1
|
||||||
|
|
||||||
#ifndef FALSE
|
#ifndef FALSE
|
||||||
# define TRUE -1
|
#define TRUE -1
|
||||||
# define FALSE (!TRUE)
|
#define FALSE (!TRUE)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* CONST_H */
|
#endif /* CONST_H */
|
||||||
|
|
|
||||||
|
|
@ -33,75 +33,67 @@
|
||||||
* $SonyDate: 1994/06/03 08:00:57 $
|
* $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 SJ3SERV_VERSION_NO 2
|
#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_CONNECT 1
|
#define SJ3_MAKEDICT 81
|
||||||
#define SJ3_DISCONNECT 2
|
#define SJ3_MAKESTDY 82
|
||||||
|
#define SJ3_MAKEDIR 83
|
||||||
|
#define SJ3_ACCESS 84
|
||||||
|
|
||||||
#define SJ3_OPENDICT 11
|
#define SJ3_GETDICT 91
|
||||||
#define SJ3_CLOSEDICT 12
|
#define SJ3_NEXTDICT 92
|
||||||
|
#define SJ3_PREVDICT 93
|
||||||
|
|
||||||
#define SJ3_OPENSTDY 21
|
#define SJ3_WHO 100
|
||||||
#define SJ3_CLOSESTDY 22
|
#define SJ3_QUIT 101
|
||||||
#define SJ3_STDYSIZE 23
|
#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_LOCK 31
|
#define SJ3_SETCVER 110
|
||||||
#define SJ3_UNLOCK 32
|
#define SJ3_PH2KNJ_EUC 111
|
||||||
|
|
||||||
#define SJ3_PH2KNJ 41
|
#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_CL2KNJ 51
|
#define SJ3_CLSTUDY_EUC 117
|
||||||
#define SJ3_NEXTCL 52
|
|
||||||
#define SJ3_PREVCL 53
|
|
||||||
#define SJ3_CL2KNJ_ALL 54
|
|
||||||
#define SJ3_CL2KNJ_CNT 55
|
|
||||||
|
|
||||||
#define SJ3_STUDY 61
|
#define SJ3_ADDDICT_EUC 118
|
||||||
#define SJ3_CLSTUDY 62
|
#define SJ3_DELDICT_EUC 119
|
||||||
|
|
||||||
#define SJ3_ADDDICT 71
|
#define SJ3_GETDICT_EUC 120
|
||||||
#define SJ3_DELDICT 72
|
#define SJ3_NEXTDICT_EUC 121
|
||||||
|
#define SJ3_PREVDICT_EUC 122
|
||||||
#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
|
|
||||||
|
|
|
||||||
|
|
@ -33,75 +33,71 @@
|
||||||
* $SonyDate: 1994/06/03 08:00:58 $
|
* $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_InternalError -1
|
#define SJ3_TooLongParameter 21
|
||||||
|
#define SJ3_IllegalParameter 22
|
||||||
|
|
||||||
#define SJ3_NormalEnd 0
|
#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_ServerDown 1
|
#define SJ3_StdyAlreadyOpened 51
|
||||||
#define SJ3_OpenSocket 2
|
#define SJ3_StdyFileNotOpened 52
|
||||||
#define SJ3_ConnectSocket 3
|
#define SJ3_TooSmallStdyArea 53
|
||||||
#define SJ3_GetHostByName 4
|
|
||||||
#define SJ3_NotOpened 5
|
|
||||||
#define SJ3_NotEnoughMemory 6
|
|
||||||
#define SJ3_IllegalCommand 7
|
|
||||||
|
|
||||||
#define SJ3_DifferentVersion 11
|
#define SJ3_LockedByOther 61
|
||||||
#define SJ3_NoHostName 12
|
#define SJ3_NotLocked 62
|
||||||
#define SJ3_NoUserName 13
|
|
||||||
#define SJ3_NotAllowedUser 14
|
|
||||||
#define SJ3_AlreadyConnected 15
|
|
||||||
#define SJ3_NotConnected 16
|
|
||||||
|
|
||||||
#define SJ3_TooLongParameter 21
|
#define SJ3_NoSuchDict 71
|
||||||
#define SJ3_IllegalParameter 22
|
#define SJ3_ReadOnlyDict 72
|
||||||
|
#define SJ3_DictLocked 73
|
||||||
|
#define SJ3_BadYomiString 74
|
||||||
|
#define SJ3_BadKanjiString 75
|
||||||
|
#define SJ3_BadHinsiCode 76
|
||||||
|
|
||||||
#define SJ3_BadDictID 31
|
#define SJ3_AddDictFailed 81
|
||||||
#define SJ3_IllegalDictFile 32
|
#define SJ3_AlreadyExistWord 82
|
||||||
#define SJ3_IllegalStdyFile 33
|
#define SJ3_NoMoreDouonWord 83
|
||||||
#define SJ3_IncorrectPasswd 34
|
#define SJ3_NoMoreUserDict 84
|
||||||
#define SJ3_FileNotExist 35
|
#define SJ3_NoMoreIndexBlock 85
|
||||||
#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_DelDictFailed 91
|
||||||
#define SJ3_StdyFileNotOpened 52
|
#define SJ3_NoSuchWord 92
|
||||||
#define SJ3_TooSmallStdyArea 53
|
|
||||||
|
|
||||||
#define SJ3_LockedByOther 61
|
#define SJ3_DirAlreadyExist 101
|
||||||
#define SJ3_NotLocked 62
|
#define SJ3_CannotCreateDir 102
|
||||||
|
|
||||||
#define SJ3_NoSuchDict 71
|
#define SJ3_NoMoreDictData 111
|
||||||
#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_UserConnected 121
|
||||||
#define SJ3_AlreadyExistWord 82
|
|
||||||
#define SJ3_NoMoreDouonWord 83
|
|
||||||
#define SJ3_NoMoreUserDict 84
|
|
||||||
#define SJ3_NoMoreIndexBlock 85
|
|
||||||
|
|
||||||
#define SJ3_DelDictFailed 91
|
#define SJ3_TooLongPasswd 131
|
||||||
#define SJ3_NoSuchWord 92
|
#define SJ3_TooLongComment 132
|
||||||
|
|
||||||
#define SJ3_DirAlreadyExist 101
|
#define SJ3_CannotCodeConvert 133
|
||||||
#define SJ3_CannotCreateDir 102
|
|
||||||
|
|
||||||
#define SJ3_NoMoreDictData 111
|
|
||||||
|
|
||||||
#define SJ3_UserConnected 121
|
|
||||||
|
|
||||||
#define SJ3_TooLongPasswd 131
|
|
||||||
#define SJ3_TooLongComment 132
|
|
||||||
|
|
||||||
#define SJ3_CannotCodeConvert 133
|
|
||||||
|
|
|
||||||
|
|
@ -33,123 +33,121 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:01 $
|
* $SonyDate: 1994/06/03 08:01:01 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _SJ_CONST
|
#ifndef _SJ_CONST
|
||||||
|
|
||||||
#define _SJ_CONST
|
#define _SJ_CONST
|
||||||
#include "sj_euc.h"
|
#include "sj_euc.h"
|
||||||
|
|
||||||
#define MATCH 0
|
#define MATCH 0
|
||||||
#define OVER 1
|
#define OVER 1
|
||||||
#define PARTLY 2
|
#define PARTLY 2
|
||||||
#define CONT 3
|
#define CONT 3
|
||||||
#define UNDER 4
|
#define UNDER 4
|
||||||
|
|
||||||
#define FALSE 0
|
#define FALSE 0
|
||||||
#define TRUE -1
|
#define TRUE -1
|
||||||
|
|
||||||
#define AD_DONE 0x0000
|
#define AD_DONE 0x0000
|
||||||
#define AD_NOTUSERDICT 0x0001
|
#define AD_NOTUSERDICT 0x0001
|
||||||
#define AD_BADYOMI 0x0002
|
#define AD_BADYOMI 0x0002
|
||||||
#define AD_BADKANJI 0x0004
|
#define AD_BADKANJI 0x0004
|
||||||
#define AD_BADHINSI 0x0008
|
#define AD_BADHINSI 0x0008
|
||||||
|
|
||||||
#define AD_AREXIST 0x0010
|
#define AD_AREXIST 0x0010
|
||||||
#define AD_OVFLWDOUBLK 0x0020
|
#define AD_OVFLWDOUBLK 0x0020
|
||||||
#define AD_OVFLWDOUNUM 0x0040
|
#define AD_OVFLWDOUNUM 0x0040
|
||||||
#define AD_OVFLWUSRDIC 0x0080
|
#define AD_OVFLWUSRDIC 0x0080
|
||||||
#define AD_OVFLWINDEX 0x0100
|
#define AD_OVFLWINDEX 0x0100
|
||||||
|
|
||||||
#define AD_NOMIDASI 0x0010
|
#define AD_NOMIDASI 0x0010
|
||||||
#define AD_NOHINSI 0x0020
|
#define AD_NOHINSI 0x0020
|
||||||
#define AD_NOKANJI 0x0040
|
#define AD_NOKANJI 0x0040
|
||||||
|
|
||||||
#define C_WAKACHI 0x00
|
#define C_WAKACHI 0x00
|
||||||
#define C_MINASI 0x01
|
#define C_MINASI 0x01
|
||||||
#define C_BUNSETU 0x02
|
#define C_BUNSETU 0x02
|
||||||
#define C_DICT 0x03
|
#define C_DICT 0x03
|
||||||
#define C_N_ARABIA 0x04
|
#define C_N_ARABIA 0x04
|
||||||
#define C_N_ARACMA 0x05
|
#define C_N_ARACMA 0x05
|
||||||
#define C_N_KAZU 0x06
|
#define C_N_KAZU 0x06
|
||||||
#define C_N_SUUJI 0x07
|
#define C_N_SUUJI 0x07
|
||||||
#define C_N_NANSUU 0x08
|
#define C_N_NANSUU 0x08
|
||||||
#define C_N_KANKURA 0x09
|
#define C_N_KANKURA 0x09
|
||||||
#define C_N_ARAKURA 0x0a
|
#define C_N_ARAKURA 0x0a
|
||||||
#define C_N_KAZULONG 0x0b
|
#define C_N_KAZULONG 0x0b
|
||||||
#define C_N_KAZULCMA 0x0c
|
#define C_N_KAZULCMA 0x0c
|
||||||
#define C_N_SUUJILONG 0x0d
|
#define C_N_SUUJILONG 0x0d
|
||||||
|
|
||||||
#define JFLAG_N10 (1 << 15)
|
#define JFLAG_N10 (1 << 15)
|
||||||
#define JFLAG_N_1 (1 << 14)
|
#define JFLAG_N_1 (1 << 14)
|
||||||
#define JFLAG_NS1 (1 << 13)
|
#define JFLAG_NS1 (1 << 13)
|
||||||
#define JFLAG_N01 (1 << 12)
|
#define JFLAG_N01 (1 << 12)
|
||||||
#define JFLAG_N23 (1 << 11)
|
#define JFLAG_N23 (1 << 11)
|
||||||
#define JFLAG_NK2 (1 << 10)
|
#define JFLAG_NK2 (1 << 10)
|
||||||
#define JFLAG_NK4 (1 << 9)
|
#define JFLAG_NK4 (1 << 9)
|
||||||
#define JFLAG_NN0 (1 << 8)
|
#define JFLAG_NN0 (1 << 8)
|
||||||
#define JFLAG_NSN (1 << 7)
|
#define JFLAG_NSN (1 << 7)
|
||||||
#define JFLAG_KA (1 << 0)
|
#define JFLAG_KA (1 << 0)
|
||||||
|
|
||||||
#define DO_CLSTUDY 0x01
|
#define DO_CLSTUDY 0x01
|
||||||
#define DO_IKKATU 0x02
|
#define DO_IKKATU 0x02
|
||||||
|
|
||||||
#define K_DOUSHI 1
|
#define K_DOUSHI 1
|
||||||
#define K_YOUGEN 2
|
#define K_YOUGEN 2
|
||||||
#define K_TAIGEN 3
|
#define K_TAIGEN 3
|
||||||
#define K_FUKUSI 4
|
#define K_FUKUSI 4
|
||||||
#define K_RENTAISI 5
|
#define K_RENTAISI 5
|
||||||
#define K_SONOTA 6
|
#define K_SONOTA 6
|
||||||
|
|
||||||
#define EUC_a1 (u_char)0xa1
|
#define EUC_a1 (u_char)0xa1
|
||||||
#define EUC_a2 (u_char)0xa2
|
#define EUC_a2 (u_char)0xa2
|
||||||
#define EUC_a3 (u_char)0xa3
|
#define EUC_a3 (u_char)0xa3
|
||||||
#define EUC_a4 (u_char)0xa4
|
#define EUC_a4 (u_char)0xa4
|
||||||
#define EUC_a5 (u_char)0xa5
|
#define EUC_a5 (u_char)0xa5
|
||||||
|
|
||||||
|
#define EUC_START (u_char)0xa1
|
||||||
|
#define EUC_END (u_char)0xfe
|
||||||
|
#define EUC_END_KIGOU (u_char)0xae
|
||||||
|
#define EUC_0 (u_char)0xb0
|
||||||
|
#define EUC_END_0 (u_char)0xb9
|
||||||
|
#define EUC_A (u_char)0xc1
|
||||||
|
#define EUC_END_A (u_char)0xda
|
||||||
|
#define EUC_a (u_char)0xe1
|
||||||
|
#define EUC_END_a (u_char)0xfa
|
||||||
|
#define EUC_END_HIRA (u_char)0xf3
|
||||||
|
#define EUC_VU (u_char)0xf4
|
||||||
|
#define EUC_XKA (u_char)0xf5
|
||||||
|
#define EUC_XKE (u_char)0xf6
|
||||||
|
|
||||||
#define EUC_START (u_char)0xa1
|
#define isknj1(c) (((c) == SS2) || (((c) & 0x80) && ((c) != SS3)))
|
||||||
#define EUC_END (u_char)0xfe
|
|
||||||
#define EUC_END_KIGOU (u_char)0xae
|
|
||||||
#define EUC_0 (u_char)0xb0
|
|
||||||
#define EUC_END_0 (u_char)0xb9
|
|
||||||
#define EUC_A (u_char)0xc1
|
|
||||||
#define EUC_END_A (u_char)0xda
|
|
||||||
#define EUC_a (u_char)0xe1
|
|
||||||
#define EUC_END_a (u_char)0xfa
|
|
||||||
#define EUC_END_HIRA (u_char)0xf3
|
|
||||||
#define EUC_VU (u_char)0xf4
|
|
||||||
#define EUC_XKA (u_char)0xf5
|
|
||||||
#define EUC_XKE (u_char)0xf6
|
|
||||||
|
|
||||||
#define isknj1(c) (((c) == SS2) || (((c) & 0x80) && ((c) != SS3)))
|
#define SHU 0x01
|
||||||
|
#define T_KANOU 0x80
|
||||||
|
#define T_SHUUJO 0x40
|
||||||
|
|
||||||
#define SHU 0x01
|
#define DICTOP 0x01
|
||||||
#define T_KANOU 0x80
|
#define FZKTOP 0x02
|
||||||
#define T_SHUUJO 0x40
|
#define DEPEND 0x04
|
||||||
|
#define NUMBER 0x08
|
||||||
|
#define FZK_KGU 0x10
|
||||||
|
#define TAI_KGU 0x20
|
||||||
|
#define BEFORNUM 0x40
|
||||||
|
#define MIDNUM 0x80
|
||||||
|
#define NOTNRM 0xFE
|
||||||
|
|
||||||
#define DICTOP 0x01
|
#define CNJEND 0xff
|
||||||
#define FZKTOP 0x02
|
#define TYOUONFLG 0x80
|
||||||
#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 MAXFREC 32
|
||||||
#define TYOUONFLG 0x80
|
#define MAXFLVL 10
|
||||||
|
#define FZKEND 0xff
|
||||||
|
|
||||||
#define MAXFREC 32
|
#define SETTOU_O 1
|
||||||
#define MAXFLVL 10
|
#define SETTOU_GO 2
|
||||||
#define FZKEND 0xff
|
#define SETTOU_DAI 3
|
||||||
|
#define SETTOU_KIGOU 4
|
||||||
#define SETTOU_O 1
|
|
||||||
#define SETTOU_GO 2
|
|
||||||
#define SETTOU_DAI 3
|
|
||||||
#define SETTOU_KIGOU 4
|
|
||||||
|
|
||||||
#define NUMKETALENGTH 16
|
|
||||||
#define NUMWORDBUF ((NUMKETALENGTH+3)/4)
|
|
||||||
|
|
||||||
|
#define NUMKETALENGTH 16
|
||||||
|
#define NUMWORDBUF ((NUMKETALENGTH + 3) / 4)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,199 +33,186 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:07 $
|
* $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
|
||||||
|
|
||||||
#ifndef _SJ_HINSHI
|
#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 _SJ_HINSHI
|
#define DO_SAHEN 80
|
||||||
|
#define DO_ZAHEN 81
|
||||||
|
|
||||||
#define MEISI_1 1
|
#define DO_1DAN_1 90
|
||||||
#define MEISI_2 2
|
#define DO_KAGO_1 91
|
||||||
#define MEISI_3 3
|
#define DO_GAGO_1 92
|
||||||
#define MEISI_4 4
|
#define DO_SAGO_1 93
|
||||||
#define MEISI_5 5
|
#define DO_TAGO_1 94
|
||||||
#define MEISI_6 6
|
#define DO_NAGO_1 95
|
||||||
#define MEISI_7 7
|
#define DO_BAGO_1 96
|
||||||
#define MEISI_8 8
|
#define DO_MAGO_1 97
|
||||||
#define MEISI_9 9
|
#define DO_RAGO_1 98
|
||||||
#define MEISI_10 10
|
#define DO_WAGO_1 99
|
||||||
#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 DO_1DAN_2 100
|
||||||
#define NAMAE 22
|
#define DO_KAGO_2 101
|
||||||
#define KIGYOU 23
|
#define DO_GAGO_2 102
|
||||||
#define TIMEI 24
|
#define DO_SAGO_2 103
|
||||||
#define KEN_KU 25
|
#define DO_TAGO_2 104
|
||||||
#define RENTAISI 26
|
#define DO_BAGO_2 105
|
||||||
#define SETUZOKU 27
|
#define DO_MAGO_2 106
|
||||||
#define KANDOUSI 28
|
#define DO_RAGO_2 107
|
||||||
#define JOSUUSI 29
|
#define DO_WAGO_2 108
|
||||||
#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 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 KEIYOUSI_1 60
|
#define DO_KAGO_6 121
|
||||||
#define KEIYOUSI_2 61
|
#define DO_GAGO_6 122
|
||||||
#define KEIYOUSI_3 62
|
#define DO_SAGO_6 123
|
||||||
#define KEIYOUSI_4 63
|
#define DO_TAGO_6 124
|
||||||
#define KEIYOUSI_5 64
|
#define DO_BAGO_6 125
|
||||||
#define KEIYOUSI_6 65
|
#define DO_MAGO_6 126
|
||||||
#define KEIYOUSI_7 66
|
#define DO_RAGO_6 127
|
||||||
#define KEIYOUSI_8 67
|
#define DO_WAGO_6 128
|
||||||
#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_1DAN_3 130
|
||||||
#define DO_ZAHEN 81
|
#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_1DAN_1 90
|
#define DO_KAGO_7 151
|
||||||
#define DO_KAGO_1 91
|
#define DO_GAGO_7 152
|
||||||
#define DO_GAGO_1 92
|
#define DO_SAGO_7 153
|
||||||
#define DO_SAGO_1 93
|
#define DO_TAGO_7 154
|
||||||
#define DO_TAGO_1 94
|
#define DO_BAGO_7 155
|
||||||
#define DO_NAGO_1 95
|
#define DO_MAGO_7 156
|
||||||
#define DO_BAGO_1 96
|
#define DO_RAGO_7 157
|
||||||
#define DO_MAGO_1 97
|
#define DO_WAGO_7 158
|
||||||
#define DO_RAGO_1 98
|
|
||||||
#define DO_WAGO_1 99
|
|
||||||
|
|
||||||
#define DO_1DAN_2 100
|
#define DO_KAGO_8 161
|
||||||
#define DO_KAGO_2 101
|
#define DO_GAGO_8 162
|
||||||
#define DO_GAGO_2 102
|
#define DO_SAGO_8 163
|
||||||
#define DO_SAGO_2 103
|
#define DO_TAGO_8 164
|
||||||
#define DO_TAGO_2 104
|
#define DO_BAGO_8 165
|
||||||
#define DO_BAGO_2 105
|
#define DO_MAGO_8 166
|
||||||
#define DO_MAGO_2 106
|
#define DO_RAGO_8 167
|
||||||
#define DO_RAGO_2 107
|
#define DO_WAGO_8 168
|
||||||
#define DO_WAGO_2 108
|
|
||||||
|
|
||||||
|
#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 DO_KAGO_5 111
|
#define TEINEI2 184
|
||||||
#define DO_GAGO_5 112
|
#define SP_KA_ONB 185
|
||||||
#define DO_SAGO_5 113
|
#define SP_FUKUSI 186
|
||||||
#define DO_TAGO_5 114
|
#define AISATU 187
|
||||||
#define DO_BAGO_5 115
|
#define SP_KEIYOUSI 188
|
||||||
#define DO_MAGO_5 116
|
#define TANKANJI 189
|
||||||
#define DO_RAGO_5 117
|
|
||||||
#define DO_WAGO_5 118
|
|
||||||
|
|
||||||
|
#define IKKATU 200
|
||||||
#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
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -18,16 +18,16 @@
|
||||||
#define SJ_STRING_H
|
#define SJ_STRING_H
|
||||||
|
|
||||||
/* string.c */
|
/* string.c */
|
||||||
int sj3_str_sjistoeuc(unsigned char *, int, unsigned char *, unsigned char *, int *);
|
int sj3_str_sjistoeuc(unsigned char*, int, unsigned char*, unsigned char*, int*);
|
||||||
int sj3_str_euctosjis(unsigned char *, int, unsigned char *, unsigned char *, int *);
|
int sj3_str_euctosjis(unsigned char*, int, unsigned char*, unsigned char*, int*);
|
||||||
int sj3_sjistoeuclen(unsigned char *, int);
|
int sj3_sjistoeuclen(unsigned char*, int);
|
||||||
|
|
||||||
int sj3_sjistoeuc(unsigned char *s, int, unsigned char *, int);
|
int sj3_sjistoeuc(unsigned char* s, int, unsigned char*, int);
|
||||||
int sj3_euctosjis(unsigned char *s, int, unsigned char *, int);
|
int sj3_euctosjis(unsigned char* s, int, unsigned char*, int);
|
||||||
void sj_euc2sjis(unsigned char *);
|
void sj_euc2sjis(unsigned char*);
|
||||||
void sj_jis2sjis(unsigned char *);
|
void sj_jis2sjis(unsigned char*);
|
||||||
void sj_sjis2euc(unsigned char *);
|
void sj_sjis2euc(unsigned char*);
|
||||||
void sj_sjis2jis(unsigned char *);
|
void sj_sjis2jis(unsigned char*);
|
||||||
unsigned short sj3_jis2sjis(unsigned short);
|
unsigned short sj3_jis2sjis(unsigned short);
|
||||||
unsigned short sj3_jis2euc(unsigned short);
|
unsigned short sj3_jis2euc(unsigned short);
|
||||||
unsigned short sj3_sjis2jis(unsigned short);
|
unsigned short sj3_sjis2jis(unsigned short);
|
||||||
|
|
|
||||||
|
|
@ -33,50 +33,43 @@
|
||||||
* $SonyDate: 1994/06/03 08:00:55 $
|
* $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 VERSIONPOS 0
|
#define STDYCLIDXPOS 48
|
||||||
|
#define STDYCLIDXLEN 52
|
||||||
|
#define STDYCLIDXSTEP 56
|
||||||
|
|
||||||
#define PASSWDPOS 16
|
#define STDYCLSEGPOS 64
|
||||||
#define PASSWDLEN 16
|
#define STDYCLSEGLEN 68
|
||||||
|
|
||||||
|
#define DICTIDXPOS 32
|
||||||
|
#define DICTIDXLEN 36
|
||||||
|
|
||||||
#define STDYNORMPOS 32
|
#define DICTSEGPOS 48
|
||||||
#define STDYNORMLEN 36
|
#define DICTSEGLEN 52
|
||||||
#define STDYNORMNUM 40
|
#define DICTSEGNUM 56
|
||||||
#define STDYNORMCNT 44
|
#define DICTSEGMAX 60
|
||||||
|
|
||||||
#define STDYCLIDXPOS 48
|
#define DICTAIDXPOS 64
|
||||||
#define STDYCLIDXLEN 52
|
#define DICTAIDXLEN 68
|
||||||
#define STDYCLIDXSTEP 56
|
|
||||||
|
|
||||||
#define STDYCLSEGPOS 64
|
#define DICTASEGPOS 80
|
||||||
#define STDYCLSEGLEN 68
|
#define DICTASEGLEN 84
|
||||||
|
|
||||||
|
#define HEADERPOS 0
|
||||||
|
#define HEADERLENGTH 128
|
||||||
|
#define COMMENTPOS 128
|
||||||
|
#define COMMENTLENGTH 128
|
||||||
|
|
||||||
#define DICTIDXPOS 32
|
#define Byte2Long(c3, c2, c1, c0) (((c3) << (8 * 3)) | ((c2) << (8 * 2)) | \
|
||||||
#define DICTIDXLEN 36
|
((c1) << (8 * 1)) | ((c0) << (8 * 0)))
|
||||||
|
#define STDYVERSION Byte2Long('S', 2, 0, 0)
|
||||||
#define DICTSEGPOS 48
|
#define DICTVERSION Byte2Long('D', 2, 0, 0)
|
||||||
#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)
|
|
||||||
|
|
|
||||||
|
|
@ -37,122 +37,121 @@
|
||||||
#define STRUCT_H
|
#define STRUCT_H
|
||||||
|
|
||||||
typedef struct global {
|
typedef struct global {
|
||||||
JREC *Jmaxjptr;
|
JREC* Jmaxjptr;
|
||||||
CLREC *Jmaxclptr;
|
CLREC* Jmaxclptr;
|
||||||
JREC *Jjrt1st;
|
JREC* Jjrt1st;
|
||||||
CLREC *Jclt1st;
|
CLREC* Jclt1st;
|
||||||
JREC *Jjrt2nd;
|
JREC* Jjrt2nd;
|
||||||
CLREC *Jclt2nd;
|
CLREC* Jclt2nd;
|
||||||
CLREC *Jselcl;
|
CLREC* Jselcl;
|
||||||
|
|
||||||
short Jselectid;
|
short Jselectid;
|
||||||
short Jtrank;
|
short Jtrank;
|
||||||
short Jnrank;
|
short Jnrank;
|
||||||
|
|
||||||
u_char *Jinputyomi;
|
u_char* Jinputyomi;
|
||||||
u_char *Jcnvstart;
|
u_char* Jcnvstart;
|
||||||
short Jcnvlen;
|
short Jcnvlen;
|
||||||
u_char *Jystart;
|
u_char* Jystart;
|
||||||
u_char Jhyomi[MAXPHINPUTLEN + 1];
|
u_char Jhyomi[MAXPHINPUTLEN + 1];
|
||||||
u_char Jorgyomi[MAXCLINPUTLEN*2 + 1];
|
u_char Jorgyomi[MAXCLINPUTLEN * 2 + 1];
|
||||||
|
|
||||||
u_char Jkanjibuf[MINPHOUTPUTLEN];
|
u_char Jkanjibuf[MINPHOUTPUTLEN];
|
||||||
u_char *Jkanjipos;
|
u_char* Jkanjipos;
|
||||||
u_char *Jkanjitmp;
|
u_char* Jkanjitmp;
|
||||||
short Jkanjilen;
|
short Jkanjilen;
|
||||||
|
|
||||||
u_char Jdicinl;
|
u_char Jdicinl;
|
||||||
u_char Jdicsaml;
|
u_char Jdicsaml;
|
||||||
TypeDicSeg Jprevseg;
|
TypeDicSeg Jprevseg;
|
||||||
|
|
||||||
u_char Jfzkcount;
|
u_char Jfzkcount;
|
||||||
u_char Jfzk_ka_flg;
|
u_char Jfzk_ka_flg;
|
||||||
FREC Jfzktbl[MAXFREC];
|
FREC Jfzktbl[MAXFREC];
|
||||||
|
|
||||||
u_char Jheadcode;
|
u_char Jheadcode;
|
||||||
u_char Jheadlen;
|
u_char Jheadlen;
|
||||||
|
|
||||||
u_char Jgobilen;
|
u_char Jgobilen;
|
||||||
|
|
||||||
TypeGram Jprevclgrm;
|
TypeGram Jprevclgrm;
|
||||||
TypeCnct Jprevclrow;
|
TypeCnct Jprevclrow;
|
||||||
u_char Jnextcllen;
|
u_char Jnextcllen;
|
||||||
|
|
||||||
short Jkhcount;
|
short Jkhcount;
|
||||||
short Jnkhcount;
|
short Jnkhcount;
|
||||||
KHREC Jkouhotbl[MAXKOUHONUMBER];
|
KHREC Jkouhotbl[MAXKOUHONUMBER];
|
||||||
STDYIN *Jstdytop;
|
STDYIN* Jstdytop;
|
||||||
|
|
||||||
DICT *Jcurdict;
|
DICT* Jcurdict;
|
||||||
DICTL *Jdictlist;
|
DICTL* Jdictlist;
|
||||||
u_char *Jdicbuf;
|
u_char* Jdicbuf;
|
||||||
u_char *Jidxbuf;
|
u_char* Jidxbuf;
|
||||||
TypeIdxOfs *Jidxofs;
|
TypeIdxOfs* Jidxofs;
|
||||||
u_char *Jaskknj[MAXKNJASKNUMBER];
|
u_char* Jaskknj[MAXKNJASKNUMBER];
|
||||||
u_char *Jaskknj_k[MAXKNJASKNUMBER];
|
u_char* Jaskknj_k[MAXKNJASKNUMBER];
|
||||||
|
|
||||||
STDY *Jcurstdy;
|
STDY* Jcurstdy;
|
||||||
|
|
||||||
u_short Jsuuji_wbuf[NUMWORDBUF];
|
u_short Jsuuji_wbuf[NUMWORDBUF];
|
||||||
u_char Jsuuji_ubuf[NUMKETALENGTH];
|
u_char Jsuuji_ubuf[NUMKETALENGTH];
|
||||||
TypeClass Jsuuji_class;
|
TypeClass Jsuuji_class;
|
||||||
u_char Jsuuji_comma;
|
u_char Jsuuji_comma;
|
||||||
u_char Jsuuji_keta;
|
u_char Jsuuji_keta;
|
||||||
u_char *Jsuuji_yptr;
|
u_char* Jsuuji_yptr;
|
||||||
u_char Jsuuji_len;
|
u_char Jsuuji_len;
|
||||||
u_char Jsuuji_exit;
|
u_char Jsuuji_exit;
|
||||||
u_short *Jsuuji_wkeep;
|
u_short* Jsuuji_wkeep;
|
||||||
u_char *Jsuuji_ukeep;
|
u_char* Jsuuji_ukeep;
|
||||||
|
|
||||||
u_char Jpeepyomi[MAXWDYOMILEN * 2 + 1];
|
u_char Jpeepyomi[MAXWDYOMILEN * 2 + 1];
|
||||||
u_char Jpeepknj[MAXWDKANJILEN + 1];
|
u_char Jpeepknj[MAXWDKANJILEN + 1];
|
||||||
TypeGram Jpeepgrm;
|
TypeGram Jpeepgrm;
|
||||||
u_char *Jpeepdptr;
|
u_char* Jpeepdptr;
|
||||||
u_char *Jpeephptr;
|
u_char* Jpeephptr;
|
||||||
u_char *Jpeepkptr;
|
u_char* Jpeepkptr;
|
||||||
TypeDicSeg Jpeepidx;
|
TypeDicSeg Jpeepidx;
|
||||||
} Global;
|
} Global;
|
||||||
|
|
||||||
|
typedef struct dictfile {
|
||||||
typedef struct dictfile {
|
DICT dict;
|
||||||
DICT dict;
|
int refcnt;
|
||||||
int refcnt;
|
|
||||||
#ifdef SJ3_LOCK
|
#ifdef SJ3_LOCK
|
||||||
fd_set lock;
|
fd_set lock;
|
||||||
#endif
|
#endif
|
||||||
FILE *fp;
|
FILE* fp;
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
u_char *buffer;
|
u_char* buffer;
|
||||||
long bufsiz;
|
long bufsiz;
|
||||||
|
|
||||||
long idxstrt;
|
long idxstrt;
|
||||||
long segstrt;
|
long segstrt;
|
||||||
|
|
||||||
TypeIdxOfs *ofsptr;
|
TypeIdxOfs* ofsptr;
|
||||||
|
|
||||||
struct dictfile *link;
|
struct dictfile* link;
|
||||||
} DictFile;
|
} DictFile;
|
||||||
|
|
||||||
typedef struct stdyfile {
|
typedef struct stdyfile {
|
||||||
STDY stdy;
|
STDY stdy;
|
||||||
int refcnt;
|
int refcnt;
|
||||||
ino_t inode;
|
ino_t inode;
|
||||||
FILE *fp;
|
FILE* fp;
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
u_char *header;
|
u_char* header;
|
||||||
|
|
||||||
struct stdyfile *link;
|
struct stdyfile* link;
|
||||||
} StdyFile;
|
} StdyFile;
|
||||||
|
|
||||||
typedef struct workarea {
|
typedef struct workarea {
|
||||||
int refcnt;
|
int refcnt;
|
||||||
int lock;
|
int lock;
|
||||||
|
|
||||||
struct workarea *link;
|
struct workarea* link;
|
||||||
|
|
||||||
Global global;
|
Global global;
|
||||||
} WorkArea;
|
} WorkArea;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -36,34 +36,26 @@
|
||||||
#ifndef SJ3LOWLIB_H
|
#ifndef SJ3LOWLIB_H
|
||||||
#define SJ3LOWLIB_H
|
#define SJ3LOWLIB_H
|
||||||
|
|
||||||
|
typedef struct sj3_client_env {
|
||||||
|
int fd;
|
||||||
|
int serv_dead_flg;
|
||||||
|
int stdy_size;
|
||||||
typedef struct sj3_client_env {
|
short svr_version;
|
||||||
int fd;
|
short cli_version;
|
||||||
int serv_dead_flg;
|
char default_char[2];
|
||||||
int stdy_size;
|
|
||||||
short svr_version;
|
|
||||||
short cli_version;
|
|
||||||
char default_char[2];
|
|
||||||
} SJ3_CLIENT_ENV;
|
} SJ3_CLIENT_ENV;
|
||||||
|
|
||||||
|
#ifndef SJ3_NAME_LENGTH
|
||||||
|
#define SJ3_NAME_LENGTH 128
|
||||||
|
|
||||||
#ifndef SJ3_NAME_LENGTH
|
|
||||||
# define SJ3_NAME_LENGTH 128
|
|
||||||
#endif
|
#endif
|
||||||
typedef struct sj3_who_struct {
|
typedef struct sj3_who_struct {
|
||||||
int fd;
|
int fd;
|
||||||
char hostname[SJ3_NAME_LENGTH];
|
char hostname[SJ3_NAME_LENGTH];
|
||||||
char username[SJ3_NAME_LENGTH];
|
char username[SJ3_NAME_LENGTH];
|
||||||
char progname[SJ3_NAME_LENGTH];
|
char progname[SJ3_NAME_LENGTH];
|
||||||
} SJ3_WHO_STRUCT;
|
} SJ3_WHO_STRUCT;
|
||||||
|
|
||||||
|
|
||||||
#define MBCODE_SJIS 1
|
#define MBCODE_SJIS 1
|
||||||
#define MBCODE_EUC 2
|
#define MBCODE_EUC 2
|
||||||
|
|
||||||
#endif /* SJ3LOWLIB_H */
|
#endif /* SJ3LOWLIB_H */
|
||||||
|
|
|
||||||
|
|
@ -33,492 +33,485 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:00 $
|
* $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
|
||||||
|
|
||||||
#ifndef _SJ_CONNECT
|
#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 _SJ_CONNECT
|
#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 wo_x 0
|
#define koto_x 0
|
||||||
#define ttatte_x 0
|
#define sa2_x 0
|
||||||
#define ttara_x 0
|
#define sae_x 0
|
||||||
#define tte1_x 0
|
#define si2_x 0
|
||||||
#define tte2_x 0
|
#define sika_x 0
|
||||||
#define ppanasi_x 0
|
#define sura_x 0
|
||||||
#define ppoi_x 0
|
#define zutu_x 0
|
||||||
#define ue_x 0
|
#define zo_x 0
|
||||||
|
|
||||||
#define uti_x 0
|
#define tame_x 0
|
||||||
#define oite_x 0
|
#define dake_x 0
|
||||||
#define okeru_x 0
|
#define dano_x 0
|
||||||
#define ori_x 0
|
#define darake_x 0
|
||||||
#define ka1_x 0
|
#define tuite_x 0
|
||||||
#define ka2_x 0
|
#define tuki_x 0
|
||||||
#define kai_x 0
|
#define tutu_x 0
|
||||||
#define kasira_x 0
|
#define tumori_x 0
|
||||||
|
|
||||||
#define katagata_x 0
|
#define te1_x 0
|
||||||
#define kadouka_x 0
|
#define te2_x 0
|
||||||
#define kana_x 0
|
#define teru_x 0
|
||||||
#define kane_x 0
|
#define dearou_x 0
|
||||||
#define kamo_x 0
|
#define deru_x 0
|
||||||
#define kara1_x 0
|
#define to1_x 0
|
||||||
#define kara2_x 0
|
#define to2_x 0
|
||||||
#define ga1_x 0
|
#define totte_x 0
|
||||||
|
|
||||||
#define ga2_x 0
|
#define toiu_x 0
|
||||||
#define gatera_x 0
|
#define toori_x 0
|
||||||
#define kiri_x 0
|
#define toki_x 0
|
||||||
#define kuseni_x 0
|
#define tokoro_x 0
|
||||||
#define kurai_x 0
|
#define tote_x 0
|
||||||
#define gurumi_x 0
|
#define tohaie_x 0
|
||||||
#define kedo_x 0
|
#define tomo_x 0
|
||||||
#define koso_x 0
|
#define do_x 0
|
||||||
|
|
||||||
#define koto_x 0
|
#define doori_x 0
|
||||||
#define sa2_x 0
|
#define dokoro_x 0
|
||||||
#define sae_x 0
|
#define dokoroka_x 0
|
||||||
#define si2_x 0
|
#define domo_x 0
|
||||||
#define sika_x 0
|
#define na1_x 0
|
||||||
#define sura_x 0
|
#define naa_x 0
|
||||||
#define zutu_x 0
|
#define nagara_x 0
|
||||||
#define zo_x 0
|
#define nazo_x 0
|
||||||
|
|
||||||
#define tame_x 0
|
#define nado_x 0
|
||||||
#define dake_x 0
|
#define nari_x 0
|
||||||
#define dano_x 0
|
#define nanka_x 0
|
||||||
#define darake_x 0
|
#define nanzo_x 0
|
||||||
#define tuite_x 0
|
#define nante_x 0
|
||||||
#define tuki_x 0
|
#define ni1_x 0
|
||||||
#define tutu_x 0
|
#define ni2_x 0
|
||||||
#define tumori_x 0
|
#define ni3_x 0
|
||||||
|
|
||||||
#define te1_x 0
|
#define nite_x 0
|
||||||
#define te2_x 0
|
#define nimo_x 0
|
||||||
#define teru_x 0
|
#define ne1_x 0
|
||||||
#define dearou_x 0
|
#define nee_x 0
|
||||||
#define deru_x 0
|
#define no1_x 0
|
||||||
#define to1_x 0
|
#define no2_x 0
|
||||||
#define to2_x 0
|
#define node_x 0
|
||||||
#define totte_x 0
|
#define noni_x 0
|
||||||
|
|
||||||
#define toiu_x 0
|
#define nomi_x 0
|
||||||
#define toori_x 0
|
#define nominrz_x 0
|
||||||
#define toki_x 0
|
#define ha_x 0
|
||||||
#define tokoro_x 0
|
#define hazu_x 0
|
||||||
#define tote_x 0
|
#define ba_x 0
|
||||||
#define tohaie_x 0
|
#define bakari_x 0
|
||||||
#define tomo_x 0
|
#define he_x 0
|
||||||
#define do_x 0
|
#define hou_x 0
|
||||||
|
|
||||||
#define doori_x 0
|
#define hoka_x 0
|
||||||
#define dokoro_x 0
|
#define hodo_x 0
|
||||||
#define dokoroka_x 0
|
#define made_x 0
|
||||||
#define domo_x 0
|
#define mama_x 0
|
||||||
#define na1_x 0
|
#define mo1_x 0
|
||||||
#define naa_x 0
|
#define mo2_x 0
|
||||||
#define nagara_x 0
|
#define motte_x 0
|
||||||
#define nazo_x 0
|
#define mono_x 0
|
||||||
|
|
||||||
#define nado_x 0
|
#define ya1_x 0
|
||||||
#define nari_x 0
|
#define ya2_x 0
|
||||||
#define nanka_x 0
|
#define yara_x 0
|
||||||
#define nanzo_x 0
|
#define yue_x 0
|
||||||
#define nante_x 0
|
#define yo_x 0
|
||||||
#define ni1_x 0
|
#define yori_x 0
|
||||||
#define ni2_x 0
|
#define wa_x 0
|
||||||
#define ni3_x 0
|
#define wake_x 0
|
||||||
|
|
||||||
#define nite_x 0
|
#define wane_x 0
|
||||||
#define nimo_x 0
|
#define wayo_x 0
|
||||||
#define ne1_x 0
|
#define nn1_x 0
|
||||||
#define nee_x 0
|
#define jya_x 0
|
||||||
#define no1_x 0
|
#define tya_x 0
|
||||||
#define no2_x 0
|
#define nagara2_x 0
|
||||||
#define node_x 0
|
#define wo_s_x 0
|
||||||
#define noni_x 0
|
|
||||||
|
|
||||||
#define nomi_x 0
|
#define ze_x 0
|
||||||
#define nominrz_x 0
|
#define kke_x 0
|
||||||
#define ha_x 0
|
#define n_si_x 0
|
||||||
#define hazu_x 0
|
#define deha_x 0
|
||||||
#define ba_x 0
|
|
||||||
#define bakari_x 0
|
|
||||||
#define he_x 0
|
|
||||||
#define hou_x 0
|
|
||||||
|
|
||||||
#define hoka_x 0
|
#define gotosi_x 0
|
||||||
#define hodo_x 0
|
#define saseru_x 0
|
||||||
#define made_x 0
|
#define zaru_x 0
|
||||||
#define mama_x 0
|
#define zu_x 0
|
||||||
#define mo1_x 0
|
#define zunba_x 0
|
||||||
#define mo2_x 0
|
#define seru_x 0
|
||||||
#define motte_x 0
|
#define souda_x 0
|
||||||
#define mono_x 0
|
#define youtai_x 0
|
||||||
|
|
||||||
#define ya1_x 0
|
#define denbun_x 0
|
||||||
#define ya2_x 0
|
#define ta_x 0
|
||||||
#define yara_x 0
|
#define tai_x 0
|
||||||
#define yue_x 0
|
#define tagaru_x 0
|
||||||
#define yo_x 0
|
#define taru_x 0
|
||||||
#define yori_x 0
|
#define da1_x 0
|
||||||
#define wa_x 0
|
#define da2_x 0
|
||||||
#define wake_x 0
|
#define daxtu_x 0
|
||||||
|
|
||||||
#define wane_x 0
|
#define darou_x 0
|
||||||
#define wayo_x 0
|
#define de_x 0
|
||||||
#define nn1_x 0
|
#define desi_x 0
|
||||||
#define jya_x 0
|
#define desho_x 0
|
||||||
#define tya_x 0
|
#define desu_x 0
|
||||||
#define nagara2_x 0
|
#define na2_x 0
|
||||||
#define wo_s_x 0
|
#define nara_x 0
|
||||||
|
#define nai_x 0
|
||||||
|
|
||||||
#define ze_x 0
|
#define nu_x 0
|
||||||
#define kke_x 0
|
#define ne2_x 0
|
||||||
#define n_si_x 0
|
#define nn2_x 0
|
||||||
#define deha_x 0
|
#define fuuda_x 0
|
||||||
|
#define besi_x 0
|
||||||
|
#define mai_x 0
|
||||||
|
#define masu_x 0
|
||||||
|
#define masure_x 0
|
||||||
|
|
||||||
#define gotosi_x 0
|
#define mase_x 0
|
||||||
#define saseru_x 0
|
#define mitaida_x 0
|
||||||
#define zaru_x 0
|
#define you_x 0
|
||||||
#define zu_x 0
|
#define youda_x 0
|
||||||
#define zunba_x 0
|
#define rasii_x 0
|
||||||
#define seru_x 0
|
#define rareru_x 0
|
||||||
#define souda_x 0
|
#define reru_x 0
|
||||||
#define youtai_x 0
|
#define site_x 0
|
||||||
|
|
||||||
#define denbun_x 0
|
#define yougen_x 0
|
||||||
#define ta_x 0
|
#define aru_x 0
|
||||||
#define tai_x 0
|
#define ara_x 0
|
||||||
#define tagaru_x 0
|
#define ari1_x 0
|
||||||
#define taru_x 0
|
#define ari2_x 0
|
||||||
#define da1_x 0
|
#define ari3_x 0
|
||||||
#define da2_x 0
|
#define are1_x 0
|
||||||
#define daxtu_x 0
|
#define are2_x 0
|
||||||
|
|
||||||
#define darou_x 0
|
#define arou_x 0
|
||||||
#define de_x 0
|
#define ii_x 0
|
||||||
#define desi_x 0
|
#define itasi_x 0
|
||||||
#define desho_x 0
|
#define itadaku_x 0
|
||||||
#define desu_x 0
|
#define iru_x 0
|
||||||
#define na2_x 0
|
#define eru_x 0
|
||||||
#define nara_x 0
|
#define kakeru_x 0
|
||||||
#define nai_x 0
|
#define kaneru_x 0
|
||||||
|
|
||||||
#define nu_x 0
|
#define karazu_x 0
|
||||||
#define ne2_x 0
|
#define gatai_x 0
|
||||||
#define nn2_x 0
|
#define gatida_x 0
|
||||||
#define fuuda_x 0
|
#define kudasaru_x 0
|
||||||
#define besi_x 0
|
#define gozai_x 0
|
||||||
#define mai_x 0
|
#define sa1_x 0
|
||||||
#define masu_x 0
|
#define si1_x 0
|
||||||
#define masure_x 0
|
#define siro_x 0
|
||||||
|
|
||||||
#define mase_x 0
|
#define jyau_x 0
|
||||||
#define mitaida_x 0
|
#define jimau_x 0
|
||||||
#define you_x 0
|
#define sugiru_x 0
|
||||||
#define youda_x 0
|
#define subesi_x 0
|
||||||
#define rasii_x 0
|
#define suru_x 0
|
||||||
#define rareru_x 0
|
#define sure_x 0
|
||||||
#define reru_x 0
|
#define se_x 0
|
||||||
#define site_x 0
|
#define seyo_x 0
|
||||||
|
|
||||||
#define yougen_x 0
|
#define tamau_x 0
|
||||||
#define aru_x 0
|
#define tayu_x 0
|
||||||
#define ara_x 0
|
#define timau_x 0
|
||||||
#define ari1_x 0
|
#define dekiru_x 0
|
||||||
#define ari2_x 0
|
#define naru_x 0
|
||||||
#define ari3_x 0
|
#define nasai_x 0
|
||||||
#define are1_x 0
|
#define nasaru_x 0
|
||||||
#define are2_x 0
|
#define nikui_x 0
|
||||||
|
|
||||||
#define arou_x 0
|
#define yasui_x 0
|
||||||
#define ii_x 0
|
#define yoi_x 0
|
||||||
#define itasi_x 0
|
#define yaru_x 0
|
||||||
#define itadaku_x 0
|
#ifdef HORI
|
||||||
#define iru_x 0
|
\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
|
||||||
#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
|
#endif
|
||||||
|
|
||||||
#define ttarasii_x 0
|
#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 wo_o 0x80
|
#define uti_o 0x80
|
||||||
#define ttatte_o 0x40
|
#define oite_o 0x40
|
||||||
#define ttara_o 0x20
|
#define okeru_o 0x20
|
||||||
#define tte1_o 0x10
|
#define ori_o 0x10
|
||||||
#define tte2_o 0x08
|
#define ka1_o 0x08
|
||||||
#define ppanasi_o 0x04
|
#define ka2_o 0x04
|
||||||
#define ppoi_o 0x02
|
#define kai_o 0x02
|
||||||
#define ue_o 0x01
|
#define kasira_o 0x01
|
||||||
|
|
||||||
#define uti_o 0x80
|
#define katagata_o 0x80
|
||||||
#define oite_o 0x40
|
#define kadouka_o 0x40
|
||||||
#define okeru_o 0x20
|
#define kana_o 0x20
|
||||||
#define ori_o 0x10
|
#define kane_o 0x10
|
||||||
#define ka1_o 0x08
|
#define kamo_o 0x08
|
||||||
#define ka2_o 0x04
|
#define kara1_o 0x04
|
||||||
#define kai_o 0x02
|
#define kara2_o 0x02
|
||||||
#define kasira_o 0x01
|
#define ga1_o 0x01
|
||||||
|
|
||||||
#define katagata_o 0x80
|
#define ga2_o 0x80
|
||||||
#define kadouka_o 0x40
|
#define gatera_o 0x40
|
||||||
#define kana_o 0x20
|
#define kiri_o 0x20
|
||||||
#define kane_o 0x10
|
#define kuseni_o 0x10
|
||||||
#define kamo_o 0x08
|
#define kurai_o 0x08
|
||||||
#define kara1_o 0x04
|
#define gurumi_o 0x04
|
||||||
#define kara2_o 0x02
|
#define kedo_o 0x02
|
||||||
#define ga1_o 0x01
|
#define koso_o 0x01
|
||||||
|
|
||||||
#define ga2_o 0x80
|
#define koto_o 0x80
|
||||||
#define gatera_o 0x40
|
#define sa2_o 0x40
|
||||||
#define kiri_o 0x20
|
#define sae_o 0x20
|
||||||
#define kuseni_o 0x10
|
#define si2_o 0x10
|
||||||
#define kurai_o 0x08
|
#define sika_o 0x08
|
||||||
#define gurumi_o 0x04
|
#define sura_o 0x04
|
||||||
#define kedo_o 0x02
|
#define zutu_o 0x02
|
||||||
#define koso_o 0x01
|
#define zo_o 0x01
|
||||||
|
|
||||||
#define koto_o 0x80
|
#define tame_o 0x80
|
||||||
#define sa2_o 0x40
|
#define dake_o 0x40
|
||||||
#define sae_o 0x20
|
#define dano_o 0x20
|
||||||
#define si2_o 0x10
|
#define darake_o 0x10
|
||||||
#define sika_o 0x08
|
#define tuite_o 0x08
|
||||||
#define sura_o 0x04
|
#define tuki_o 0x04
|
||||||
#define zutu_o 0x02
|
#define tutu_o 0x02
|
||||||
#define zo_o 0x01
|
#define tumori_o 0x01
|
||||||
|
|
||||||
#define tame_o 0x80
|
#define te1_o 0x80
|
||||||
#define dake_o 0x40
|
#define te2_o 0x40
|
||||||
#define dano_o 0x20
|
#define teru_o 0x20
|
||||||
#define darake_o 0x10
|
#define dearou_o 0x10
|
||||||
#define tuite_o 0x08
|
#define deru_o 0x08
|
||||||
#define tuki_o 0x04
|
#define to1_o 0x04
|
||||||
#define tutu_o 0x02
|
#define to2_o 0x02
|
||||||
#define tumori_o 0x01
|
#define totte_o 0x01
|
||||||
|
|
||||||
#define te1_o 0x80
|
#define toiu_o 0x80
|
||||||
#define te2_o 0x40
|
#define toori_o 0x40
|
||||||
#define teru_o 0x20
|
#define toki_o 0x20
|
||||||
#define dearou_o 0x10
|
#define tokoro_o 0x10
|
||||||
#define deru_o 0x08
|
#define tote_o 0x08
|
||||||
#define to1_o 0x04
|
#define tohaie_o 0x04
|
||||||
#define to2_o 0x02
|
#define tomo_o 0x02
|
||||||
#define totte_o 0x01
|
#define do_o 0x01
|
||||||
|
|
||||||
#define toiu_o 0x80
|
#define doori_o 0x80
|
||||||
#define toori_o 0x40
|
#define dokoro_o 0x40
|
||||||
#define toki_o 0x20
|
#define dokoroka_o 0x20
|
||||||
#define tokoro_o 0x10
|
#define domo_o 0x10
|
||||||
#define tote_o 0x08
|
#define na1_o 0x08
|
||||||
#define tohaie_o 0x04
|
#define naa_o 0x04
|
||||||
#define tomo_o 0x02
|
#define nagara_o 0x02
|
||||||
#define do_o 0x01
|
#define nazo_o 0x01
|
||||||
|
|
||||||
#define doori_o 0x80
|
#define nado_o 0x80
|
||||||
#define dokoro_o 0x40
|
#define nari_o 0x40
|
||||||
#define dokoroka_o 0x20
|
#define nanka_o 0x20
|
||||||
#define domo_o 0x10
|
#define nanzo_o 0x10
|
||||||
#define na1_o 0x08
|
#define nante_o 0x08
|
||||||
#define naa_o 0x04
|
#define ni1_o 0x04
|
||||||
#define nagara_o 0x02
|
#define ni2_o 0x02
|
||||||
#define nazo_o 0x01
|
#define ni3_o 0x01
|
||||||
|
|
||||||
#define nado_o 0x80
|
#define nite_o 0x80
|
||||||
#define nari_o 0x40
|
#define nimo_o 0x40
|
||||||
#define nanka_o 0x20
|
#define ne1_o 0x20
|
||||||
#define nanzo_o 0x10
|
#define nee_o 0x10
|
||||||
#define nante_o 0x08
|
#define no1_o 0x08
|
||||||
#define ni1_o 0x04
|
#define no2_o 0x04
|
||||||
#define ni2_o 0x02
|
#define node_o 0x02
|
||||||
#define ni3_o 0x01
|
#define noni_o 0x01
|
||||||
|
|
||||||
#define nite_o 0x80
|
#define nomi_o 0x80
|
||||||
#define nimo_o 0x40
|
#define nominrz_o 0x40
|
||||||
#define ne1_o 0x20
|
#define ha_o 0x20
|
||||||
#define nee_o 0x10
|
#define hazu_o 0x10
|
||||||
#define no1_o 0x08
|
#define ba_o 0x08
|
||||||
#define no2_o 0x04
|
#define bakari_o 0x04
|
||||||
#define node_o 0x02
|
#define he_o 0x02
|
||||||
#define noni_o 0x01
|
#define hou_o 0x01
|
||||||
|
|
||||||
#define nomi_o 0x80
|
#define hoka_o 0x80
|
||||||
#define nominrz_o 0x40
|
#define hodo_o 0x40
|
||||||
#define ha_o 0x20
|
#define made_o 0x20
|
||||||
#define hazu_o 0x10
|
#define mama_o 0x10
|
||||||
#define ba_o 0x08
|
#define mo1_o 0x08
|
||||||
#define bakari_o 0x04
|
#define mo2_o 0x04
|
||||||
#define he_o 0x02
|
#define motte_o 0x02
|
||||||
#define hou_o 0x01
|
#define mono_o 0x01
|
||||||
|
|
||||||
#define hoka_o 0x80
|
#define ya1_o 0x80
|
||||||
#define hodo_o 0x40
|
#define ya2_o 0x40
|
||||||
#define made_o 0x20
|
#define yara_o 0x20
|
||||||
#define mama_o 0x10
|
#define yue_o 0x10
|
||||||
#define mo1_o 0x08
|
#define yo_o 0x08
|
||||||
#define mo2_o 0x04
|
#define yori_o 0x04
|
||||||
#define motte_o 0x02
|
#define wa_o 0x02
|
||||||
#define mono_o 0x01
|
#define wake_o 0x01
|
||||||
|
|
||||||
#define ya1_o 0x80
|
#define wane_o 0x80
|
||||||
#define ya2_o 0x40
|
#define wayo_o 0x40
|
||||||
#define yara_o 0x20
|
#define nn1_o 0x20
|
||||||
#define yue_o 0x10
|
#define jya_o 0x10
|
||||||
#define yo_o 0x08
|
#define tya_o 0x08
|
||||||
#define yori_o 0x04
|
#define nagara2_o 0x04
|
||||||
#define wa_o 0x02
|
#define wo_s_o 0x02
|
||||||
#define wake_o 0x01
|
|
||||||
|
|
||||||
#define wane_o 0x80
|
#define ze_o 0x80
|
||||||
#define wayo_o 0x40
|
#define kke_o 0x40
|
||||||
#define nn1_o 0x20
|
#define n_si_o 0x20
|
||||||
#define jya_o 0x10
|
#define deha_o 0x10
|
||||||
#define tya_o 0x08
|
|
||||||
#define nagara2_o 0x04
|
|
||||||
#define wo_s_o 0x02
|
|
||||||
|
|
||||||
#define ze_o 0x80
|
#define gotosi_o 0x80
|
||||||
#define kke_o 0x40
|
#define saseru_o 0x40
|
||||||
#define n_si_o 0x20
|
#define zaru_o 0x20
|
||||||
#define deha_o 0x10
|
#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 gotosi_o 0x80
|
#define darou_o 0x80
|
||||||
#define saseru_o 0x40
|
#define de_o 0x40
|
||||||
#define zaru_o 0x20
|
#define desi_o 0x20
|
||||||
#define zu_o 0x10
|
#define desho_o 0x10
|
||||||
#define zunba_o 0x08
|
#define desu_o 0x08
|
||||||
#define seru_o 0x04
|
#define na2_o 0x04
|
||||||
#define souda_o 0x02
|
#define nara_o 0x02
|
||||||
#define youtai_o 0x01
|
#define nai_o 0x01
|
||||||
|
|
||||||
#define denbun_o 0x80
|
#define nu_o 0x80
|
||||||
#define ta_o 0x40
|
#define ne2_o 0x40
|
||||||
#define tai_o 0x20
|
#define nn2_o 0x20
|
||||||
#define tagaru_o 0x10
|
#define fuuda_o 0x10
|
||||||
#define taru_o 0x08
|
#define besi_o 0x08
|
||||||
#define da1_o 0x04
|
#define mai_o 0x04
|
||||||
#define da2_o 0x02
|
#define masu_o 0x02
|
||||||
#define daxtu_o 0x01
|
#define masure_o 0x01
|
||||||
|
|
||||||
#define darou_o 0x80
|
#define mase_o 0x80
|
||||||
#define de_o 0x40
|
#define mitaida_o 0x40
|
||||||
#define desi_o 0x20
|
#define you_o 0x20
|
||||||
#define desho_o 0x10
|
#define youda_o 0x10
|
||||||
#define desu_o 0x08
|
#define rasii_o 0x08
|
||||||
#define na2_o 0x04
|
#define rareru_o 0x04
|
||||||
#define nara_o 0x02
|
#define reru_o 0x02
|
||||||
#define nai_o 0x01
|
#define site_o 0x01
|
||||||
|
|
||||||
#define nu_o 0x80
|
#define yougen_o 0x80
|
||||||
#define ne2_o 0x40
|
#define aru_o 0x40
|
||||||
#define nn2_o 0x20
|
#define ara_o 0x20
|
||||||
#define fuuda_o 0x10
|
#define ari1_o 0x10
|
||||||
#define besi_o 0x08
|
#define ari2_o 0x08
|
||||||
#define mai_o 0x04
|
#define ari3_o 0x04
|
||||||
#define masu_o 0x02
|
#define are1_o 0x02
|
||||||
#define masure_o 0x01
|
#define are2_o 0x01
|
||||||
|
|
||||||
#define mase_o 0x80
|
#define arou_o 0x80
|
||||||
#define mitaida_o 0x40
|
#define ii_o 0x40
|
||||||
#define you_o 0x20
|
#define itasi_o 0x20
|
||||||
#define youda_o 0x10
|
#define itadaku_o 0x10
|
||||||
#define rasii_o 0x08
|
#define iru_o 0x08
|
||||||
#define rareru_o 0x04
|
#define eru_o 0x04
|
||||||
#define reru_o 0x02
|
#define kakeru_o 0x02
|
||||||
#define site_o 0x01
|
#define kaneru_o 0x01
|
||||||
|
|
||||||
#define yougen_o 0x80
|
#define karazu_o 0x80
|
||||||
#define aru_o 0x40
|
#define gatai_o 0x40
|
||||||
#define ara_o 0x20
|
#define gatida_o 0x20
|
||||||
#define ari1_o 0x10
|
#define kudasaru_o 0x10
|
||||||
#define ari2_o 0x08
|
#define gozai_o 0x08
|
||||||
#define ari3_o 0x04
|
#define sa1_o 0x04
|
||||||
#define are1_o 0x02
|
#define si1_o 0x02
|
||||||
#define are2_o 0x01
|
#define siro_o 0x01
|
||||||
|
|
||||||
#define arou_o 0x80
|
#define jyau_o 0x80
|
||||||
#define ii_o 0x40
|
#define jimau_o 0x40
|
||||||
#define itasi_o 0x20
|
#define sugiru_o 0x20
|
||||||
#define itadaku_o 0x10
|
#define subesi_o 0x10
|
||||||
#define iru_o 0x08
|
#define suru_o 0x08
|
||||||
#define eru_o 0x04
|
#define sure_o 0x04
|
||||||
#define kakeru_o 0x02
|
#define se_o 0x02
|
||||||
#define kaneru_o 0x01
|
#define seyo_o 0x01
|
||||||
|
|
||||||
#define karazu_o 0x80
|
#define tamau_o 0x80
|
||||||
#define gatai_o 0x40
|
#define tayu_o 0x40
|
||||||
#define gatida_o 0x20
|
#define timau_o 0x20
|
||||||
#define kudasaru_o 0x10
|
#define dekiru_o 0x10
|
||||||
#define gozai_o 0x08
|
#define naru_o 0x08
|
||||||
#define sa1_o 0x04
|
#define nasai_o 0x04
|
||||||
#define si1_o 0x02
|
#define nasaru_o 0x02
|
||||||
#define siro_o 0x01
|
#define nikui_o 0x01
|
||||||
|
|
||||||
#define jyau_o 0x80
|
#define yasui_o 0x80
|
||||||
#define jimau_o 0x40
|
#define yoi_o 0x40
|
||||||
#define sugiru_o 0x20
|
#define yaru_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
|
#ifdef HORI
|
||||||
#define tayu_o 0x40
|
\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
|
||||||
#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
|
#endif
|
||||||
|
|
||||||
#define ttarasii_o 0x10
|
#define ttarasii_o 0x10
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,123 +33,121 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:01 $
|
* $SonyDate: 1994/06/03 08:01:01 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _SJ_CONST
|
#ifndef _SJ_CONST
|
||||||
|
|
||||||
#define _SJ_CONST
|
#define _SJ_CONST
|
||||||
#include "sj_euc.h"
|
#include "sj_euc.h"
|
||||||
|
|
||||||
#define MATCH 0
|
#define MATCH 0
|
||||||
#define OVER 1
|
#define OVER 1
|
||||||
#define PARTLY 2
|
#define PARTLY 2
|
||||||
#define CONT 3
|
#define CONT 3
|
||||||
#define UNDER 4
|
#define UNDER 4
|
||||||
|
|
||||||
#define FALSE 0
|
#define FALSE 0
|
||||||
#define TRUE -1
|
#define TRUE -1
|
||||||
|
|
||||||
#define AD_DONE 0x0000
|
#define AD_DONE 0x0000
|
||||||
#define AD_NOTUSERDICT 0x0001
|
#define AD_NOTUSERDICT 0x0001
|
||||||
#define AD_BADYOMI 0x0002
|
#define AD_BADYOMI 0x0002
|
||||||
#define AD_BADKANJI 0x0004
|
#define AD_BADKANJI 0x0004
|
||||||
#define AD_BADHINSI 0x0008
|
#define AD_BADHINSI 0x0008
|
||||||
|
|
||||||
#define AD_AREXIST 0x0010
|
#define AD_AREXIST 0x0010
|
||||||
#define AD_OVFLWDOUBLK 0x0020
|
#define AD_OVFLWDOUBLK 0x0020
|
||||||
#define AD_OVFLWDOUNUM 0x0040
|
#define AD_OVFLWDOUNUM 0x0040
|
||||||
#define AD_OVFLWUSRDIC 0x0080
|
#define AD_OVFLWUSRDIC 0x0080
|
||||||
#define AD_OVFLWINDEX 0x0100
|
#define AD_OVFLWINDEX 0x0100
|
||||||
|
|
||||||
#define AD_NOMIDASI 0x0010
|
#define AD_NOMIDASI 0x0010
|
||||||
#define AD_NOHINSI 0x0020
|
#define AD_NOHINSI 0x0020
|
||||||
#define AD_NOKANJI 0x0040
|
#define AD_NOKANJI 0x0040
|
||||||
|
|
||||||
#define C_WAKACHI 0x00
|
#define C_WAKACHI 0x00
|
||||||
#define C_MINASI 0x01
|
#define C_MINASI 0x01
|
||||||
#define C_BUNSETU 0x02
|
#define C_BUNSETU 0x02
|
||||||
#define C_DICT 0x03
|
#define C_DICT 0x03
|
||||||
#define C_N_ARABIA 0x04
|
#define C_N_ARABIA 0x04
|
||||||
#define C_N_ARACMA 0x05
|
#define C_N_ARACMA 0x05
|
||||||
#define C_N_KAZU 0x06
|
#define C_N_KAZU 0x06
|
||||||
#define C_N_SUUJI 0x07
|
#define C_N_SUUJI 0x07
|
||||||
#define C_N_NANSUU 0x08
|
#define C_N_NANSUU 0x08
|
||||||
#define C_N_KANKURA 0x09
|
#define C_N_KANKURA 0x09
|
||||||
#define C_N_ARAKURA 0x0a
|
#define C_N_ARAKURA 0x0a
|
||||||
#define C_N_KAZULONG 0x0b
|
#define C_N_KAZULONG 0x0b
|
||||||
#define C_N_KAZULCMA 0x0c
|
#define C_N_KAZULCMA 0x0c
|
||||||
#define C_N_SUUJILONG 0x0d
|
#define C_N_SUUJILONG 0x0d
|
||||||
|
|
||||||
#define JFLAG_N10 (1 << 15)
|
#define JFLAG_N10 (1 << 15)
|
||||||
#define JFLAG_N_1 (1 << 14)
|
#define JFLAG_N_1 (1 << 14)
|
||||||
#define JFLAG_NS1 (1 << 13)
|
#define JFLAG_NS1 (1 << 13)
|
||||||
#define JFLAG_N01 (1 << 12)
|
#define JFLAG_N01 (1 << 12)
|
||||||
#define JFLAG_N23 (1 << 11)
|
#define JFLAG_N23 (1 << 11)
|
||||||
#define JFLAG_NK2 (1 << 10)
|
#define JFLAG_NK2 (1 << 10)
|
||||||
#define JFLAG_NK4 (1 << 9)
|
#define JFLAG_NK4 (1 << 9)
|
||||||
#define JFLAG_NN0 (1 << 8)
|
#define JFLAG_NN0 (1 << 8)
|
||||||
#define JFLAG_NSN (1 << 7)
|
#define JFLAG_NSN (1 << 7)
|
||||||
#define JFLAG_KA (1 << 0)
|
#define JFLAG_KA (1 << 0)
|
||||||
|
|
||||||
#define DO_CLSTUDY 0x01
|
#define DO_CLSTUDY 0x01
|
||||||
#define DO_IKKATU 0x02
|
#define DO_IKKATU 0x02
|
||||||
|
|
||||||
#define K_DOUSHI 1
|
#define K_DOUSHI 1
|
||||||
#define K_YOUGEN 2
|
#define K_YOUGEN 2
|
||||||
#define K_TAIGEN 3
|
#define K_TAIGEN 3
|
||||||
#define K_FUKUSI 4
|
#define K_FUKUSI 4
|
||||||
#define K_RENTAISI 5
|
#define K_RENTAISI 5
|
||||||
#define K_SONOTA 6
|
#define K_SONOTA 6
|
||||||
|
|
||||||
#define EUC_a1 (u_char)0xa1
|
#define EUC_a1 (u_char)0xa1
|
||||||
#define EUC_a2 (u_char)0xa2
|
#define EUC_a2 (u_char)0xa2
|
||||||
#define EUC_a3 (u_char)0xa3
|
#define EUC_a3 (u_char)0xa3
|
||||||
#define EUC_a4 (u_char)0xa4
|
#define EUC_a4 (u_char)0xa4
|
||||||
#define EUC_a5 (u_char)0xa5
|
#define EUC_a5 (u_char)0xa5
|
||||||
|
|
||||||
|
#define EUC_START (u_char)0xa1
|
||||||
|
#define EUC_END (u_char)0xfe
|
||||||
|
#define EUC_END_KIGOU (u_char)0xae
|
||||||
|
#define EUC_0 (u_char)0xb0
|
||||||
|
#define EUC_END_0 (u_char)0xb9
|
||||||
|
#define EUC_A (u_char)0xc1
|
||||||
|
#define EUC_END_A (u_char)0xda
|
||||||
|
#define EUC_a (u_char)0xe1
|
||||||
|
#define EUC_END_a (u_char)0xfa
|
||||||
|
#define EUC_END_HIRA (u_char)0xf3
|
||||||
|
#define EUC_VU (u_char)0xf4
|
||||||
|
#define EUC_XKA (u_char)0xf5
|
||||||
|
#define EUC_XKE (u_char)0xf6
|
||||||
|
|
||||||
#define EUC_START (u_char)0xa1
|
#define isknj1(c) (((c) == SS2) || (((c) & 0x80) && ((c) != SS3)))
|
||||||
#define EUC_END (u_char)0xfe
|
|
||||||
#define EUC_END_KIGOU (u_char)0xae
|
|
||||||
#define EUC_0 (u_char)0xb0
|
|
||||||
#define EUC_END_0 (u_char)0xb9
|
|
||||||
#define EUC_A (u_char)0xc1
|
|
||||||
#define EUC_END_A (u_char)0xda
|
|
||||||
#define EUC_a (u_char)0xe1
|
|
||||||
#define EUC_END_a (u_char)0xfa
|
|
||||||
#define EUC_END_HIRA (u_char)0xf3
|
|
||||||
#define EUC_VU (u_char)0xf4
|
|
||||||
#define EUC_XKA (u_char)0xf5
|
|
||||||
#define EUC_XKE (u_char)0xf6
|
|
||||||
|
|
||||||
#define isknj1(c) (((c) == SS2) || (((c) & 0x80) && ((c) != SS3)))
|
#define SHU 0x01
|
||||||
|
#define T_KANOU 0x80
|
||||||
|
#define T_SHUUJO 0x40
|
||||||
|
|
||||||
#define SHU 0x01
|
#define DICTOP 0x01
|
||||||
#define T_KANOU 0x80
|
#define FZKTOP 0x02
|
||||||
#define T_SHUUJO 0x40
|
#define DEPEND 0x04
|
||||||
|
#define NUMBER 0x08
|
||||||
|
#define FZK_KGU 0x10
|
||||||
|
#define TAI_KGU 0x20
|
||||||
|
#define BEFORNUM 0x40
|
||||||
|
#define MIDNUM 0x80
|
||||||
|
#define NOTNRM 0xFE
|
||||||
|
|
||||||
#define DICTOP 0x01
|
#define CNJEND 0xff
|
||||||
#define FZKTOP 0x02
|
#define TYOUONFLG 0x80
|
||||||
#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 MAXFREC 32
|
||||||
#define TYOUONFLG 0x80
|
#define MAXFLVL 10
|
||||||
|
#define FZKEND 0xff
|
||||||
|
|
||||||
#define MAXFREC 32
|
#define SETTOU_O 1
|
||||||
#define MAXFLVL 10
|
#define SETTOU_GO 2
|
||||||
#define FZKEND 0xff
|
#define SETTOU_DAI 3
|
||||||
|
#define SETTOU_KIGOU 4
|
||||||
#define SETTOU_O 1
|
|
||||||
#define SETTOU_GO 2
|
|
||||||
#define SETTOU_DAI 3
|
|
||||||
#define SETTOU_KIGOU 4
|
|
||||||
|
|
||||||
#define NUMKETALENGTH 16
|
|
||||||
#define NUMWORDBUF ((NUMKETALENGTH+3)/4)
|
|
||||||
|
|
||||||
|
#define NUMKETALENGTH 16
|
||||||
|
#define NUMWORDBUF ((NUMKETALENGTH + 3) / 4)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,66 +33,56 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:03 $
|
* $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
|
||||||
|
|
||||||
#ifndef _SJ_DICT
|
#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 _SJ_DICT
|
#define MAXKNJASKNUMBER 16
|
||||||
|
#define MAXYOMIASKNUMBER 16
|
||||||
|
|
||||||
|
#define MAXWDYOMILEN 31
|
||||||
|
#define MAXWDKANJILEN 64
|
||||||
|
|
||||||
|
#define ASSYUKUYOMITOP 0x80
|
||||||
|
#define NOKORIYOMITOP 0x40
|
||||||
|
|
||||||
#define DIC_MAIN 0
|
#define getsize(p) (((int)(*(p) & 0x0f) * 0x100) + *((p) + 1))
|
||||||
#define DIC_USER 1
|
|
||||||
|
|
||||||
#define DICSEGBASE 0
|
#define getntag(p) ((*(p) == DICSEGTERM) ? (p) : (p) + getsize(p))
|
||||||
#define MAXDOUONBLK 0xfff
|
|
||||||
#define DOUONBLKSIZENUMBER 3
|
|
||||||
#define DICSEGTERM 0xff
|
|
||||||
#define DOUONBLKTERM 0xff
|
|
||||||
#define HINSIBLKTERM 0xff
|
|
||||||
#define MAXSEGMENTNUMBER 0xffff
|
|
||||||
|
|
||||||
|
#define getplen(p) (((*(p) & ASSYUKUYOMITOP) ? 0x10 : 0) + (*((p) + 2) >> 4))
|
||||||
|
|
||||||
|
#define getnlen(p) (((*(p) & NOKORIYOMITOP) ? 0x10 : 0) + (*((p) + 2) & 0x0f))
|
||||||
|
|
||||||
#define NORMALKANJIMASK 0x7f
|
#define segtop() (dicbuf + *dicbuf + 1)
|
||||||
#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 segend(p) (*(p) == DICSEGTERM || (p) >= dicbuf + curdict->seglen)
|
||||||
#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
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,9 +36,9 @@
|
||||||
#ifndef SJ_GLOBAL_H
|
#ifndef SJ_GLOBAL_H
|
||||||
#define SJ_GLOBAL_H
|
#define SJ_GLOBAL_H
|
||||||
|
|
||||||
extern Global *global_work_base;
|
extern Global* global_work_base;
|
||||||
extern Global *work_base;
|
extern Global* work_base;
|
||||||
extern STDY *stdy_base;
|
extern STDY* stdy_base;
|
||||||
extern int serv_errno;
|
extern int serv_errno;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -39,23 +39,23 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* adddic.c */
|
/* adddic.c */
|
||||||
u_int adddic(u_char *, u_char *, TypeGram);
|
u_int adddic(u_char*, u_char*, TypeGram);
|
||||||
|
|
||||||
/* addelcmn.c */
|
/* addelcmn.c */
|
||||||
void set_size(u_char *, int, int, int);
|
void set_size(u_char*, int, int, int);
|
||||||
u_int addel_arg(u_char *, u_char *, TypeGram, u_char *, int);
|
u_int addel_arg(u_char*, u_char*, TypeGram, u_char*, int);
|
||||||
int cvtknj(u_char *, u_char *, u_char *);
|
int cvtknj(u_char*, u_char*, u_char*);
|
||||||
int srchkana(u_char **, int *);
|
int srchkana(u_char**, int*);
|
||||||
int srchgram(u_char *, u_char **, TypeGram);
|
int srchgram(u_char*, u_char**, TypeGram);
|
||||||
int srchkanji(u_char **, u_char *, int);
|
int srchkanji(u_char**, u_char*, int);
|
||||||
TypeIdxOfs count_uidx(void);
|
TypeIdxOfs count_uidx(void);
|
||||||
void chg_uidx(TypeDicSeg, u_char *, int);
|
void chg_uidx(TypeDicSeg, u_char*, int);
|
||||||
|
|
||||||
/* alloc.c */
|
/* alloc.c */
|
||||||
JREC *alloc_jrec(void);
|
JREC* alloc_jrec(void);
|
||||||
void free_jrec(JREC *);
|
void free_jrec(JREC*);
|
||||||
CLREC *alloc_clrec(void);
|
CLREC* alloc_clrec(void);
|
||||||
void free_clrec(CLREC *);
|
void free_clrec(CLREC*);
|
||||||
|
|
||||||
/* charsize.c */
|
/* charsize.c */
|
||||||
int codesize(u_char);
|
int codesize(u_char);
|
||||||
|
|
@ -64,152 +64,152 @@ int codesize(u_char);
|
||||||
extern u_char chrtbl[256];
|
extern u_char chrtbl[256];
|
||||||
|
|
||||||
/* cl2knj.c */
|
/* cl2knj.c */
|
||||||
int cl2knj(u_char *, int, u_char *);
|
int cl2knj(u_char*, int, u_char*);
|
||||||
int nextcl(u_char *, int);
|
int nextcl(u_char*, int);
|
||||||
int prevcl(u_char *, int);
|
int prevcl(u_char*, int);
|
||||||
int selectnum(void);
|
int selectnum(void);
|
||||||
|
|
||||||
/* clstudy.c */
|
/* clstudy.c */
|
||||||
int clstudy(u_char *, u_char *, STDYOUT *);
|
int clstudy(u_char*, u_char*, STDYOUT*);
|
||||||
void delclsub(u_char *);
|
void delclsub(u_char*);
|
||||||
void mkclidx(void);
|
void mkclidx(void);
|
||||||
|
|
||||||
/* cmpstr.c */
|
/* cmpstr.c */
|
||||||
int cmpstr(u_char *, u_char *);
|
int cmpstr(u_char*, u_char*);
|
||||||
|
|
||||||
/* conjunc.c */
|
/* conjunc.c */
|
||||||
extern u_char *conjadr[];
|
extern u_char* conjadr[];
|
||||||
|
|
||||||
/* connect.c */
|
/* connect.c */
|
||||||
extern u_char connadr[];
|
extern u_char connadr[];
|
||||||
extern u_char *rigtadr[];
|
extern u_char* rigtadr[];
|
||||||
|
|
||||||
/* cvtclknj.c */
|
/* cvtclknj.c */
|
||||||
void cvtclknj(void);
|
void cvtclknj(void);
|
||||||
|
|
||||||
/* cvtdict.c */
|
/* cvtdict.c */
|
||||||
void cvtdict(KHREC *, CLREC *, int);
|
void cvtdict(KHREC*, CLREC*, int);
|
||||||
void cvtminasi(int);
|
void cvtminasi(int);
|
||||||
void cvtwakachi(CLREC *);
|
void cvtwakachi(CLREC*);
|
||||||
|
|
||||||
/* cvtkanji.c */
|
/* cvtkanji.c */
|
||||||
void cvtphknj(void);
|
void cvtphknj(void);
|
||||||
void cvtkouho(KHREC *);
|
void cvtkouho(KHREC*);
|
||||||
void setstyrec(KHREC *);
|
void setstyrec(KHREC*);
|
||||||
|
|
||||||
/* deldic.c */
|
/* deldic.c */
|
||||||
u_int deldic(u_char *, u_char *, TypeGram);
|
u_int deldic(u_char*, u_char*, TypeGram);
|
||||||
|
|
||||||
/* dict.c */
|
/* dict.c */
|
||||||
void get_askknj(void);
|
void get_askknj(void);
|
||||||
int seldict(TypeDicID);
|
int seldict(TypeDicID);
|
||||||
u_char *get_idxptr(TypeDicSeg);
|
u_char* get_idxptr(TypeDicSeg);
|
||||||
|
|
||||||
/* functbl.c */
|
/* functbl.c */
|
||||||
extern VFunc cvtnum_func[];
|
extern VFunc cvtnum_func[];
|
||||||
extern UCPFunc getkan_func[];
|
extern UCPFunc getkan_func[];
|
||||||
extern IFunc setjrec_func[];
|
extern IFunc setjrec_func[];
|
||||||
extern IFunc hiraknj_func[];
|
extern IFunc hiraknj_func[];
|
||||||
|
|
||||||
/* fuzoku.c */
|
/* fuzoku.c */
|
||||||
void setclrec(JREC *, u_char *, TypeCnct);
|
void setclrec(JREC*, u_char*, TypeCnct);
|
||||||
RECURS void srchfzk(JREC *, u_char *, TypeCnct, int);
|
RECURS void srchfzk(JREC*, u_char*, TypeCnct, int);
|
||||||
|
|
||||||
/* fzkyomi.c */
|
/* fzkyomi.c */
|
||||||
extern u_char *fzkadr[];
|
extern u_char* fzkadr[];
|
||||||
|
|
||||||
/* getkanji.c */
|
/* getkanji.c */
|
||||||
u_char *getkan_none(u_char *, u_char *, u_char *, int, int);
|
u_char* getkan_none(u_char*, u_char*, u_char*, int, int);
|
||||||
u_char *getkan_hira(u_char *, u_char *, u_char *, int, int);
|
u_char* getkan_hira(u_char*, u_char*, u_char*, int, int);
|
||||||
u_char *getkan_kata(u_char *, u_char *, u_char *, int, int);
|
u_char* getkan_kata(u_char*, u_char*, u_char*, int, int);
|
||||||
u_char *getkan_knj(u_char *, u_char *, u_char *, int, int);
|
u_char* getkan_knj(u_char*, u_char*, u_char*, int, int);
|
||||||
u_char *getkan_ofs(u_char *, u_char *, u_char *, int, int);
|
u_char* getkan_ofs(u_char*, u_char*, u_char*, int, int);
|
||||||
u_char *getkan_norm(u_char *, u_char *, u_char *, int, int);
|
u_char* getkan_norm(u_char*, u_char*, u_char*, int, int);
|
||||||
u_char *getkan_ascii(u_char *, u_char *, u_char *, int, int);
|
u_char* getkan_ascii(u_char*, u_char*, u_char*, int, int);
|
||||||
int getkanji(u_char *, int, u_char *, u_char *);
|
int getkanji(u_char*, int, u_char*, u_char*);
|
||||||
|
|
||||||
/* getrank.c */
|
/* getrank.c */
|
||||||
void getrank(void);
|
void getrank(void);
|
||||||
|
|
||||||
/* hzstrlen.c */
|
/* hzstrlen.c */
|
||||||
int euc_codesize(u_char c);
|
int euc_codesize(u_char c);
|
||||||
int hzstrlen(u_char *, int);
|
int hzstrlen(u_char*, int);
|
||||||
|
|
||||||
/* init.c */
|
/* init.c */
|
||||||
void seg_count(DICT *);
|
void seg_count(DICT*);
|
||||||
void mkidxtbl(DICT *);
|
void mkidxtbl(DICT*);
|
||||||
void initwork(void);
|
void initwork(void);
|
||||||
|
|
||||||
/* istrcmp.c */
|
/* istrcmp.c */
|
||||||
int istrcmp(u_char *, u_char *, int, int);
|
int istrcmp(u_char*, u_char*, int, int);
|
||||||
|
|
||||||
/* memcpy.c */
|
/* memcpy.c */
|
||||||
void sstrncpy(u_char *, u_char *, int);
|
void sstrncpy(u_char*, u_char*, int);
|
||||||
|
|
||||||
/* memory.c */
|
/* memory.c */
|
||||||
JREC *free_jlst(JREC *);
|
JREC* free_jlst(JREC*);
|
||||||
CLREC *free_clst(CLREC *, int);
|
CLREC* free_clst(CLREC*, int);
|
||||||
void free_clall(CLREC *);
|
void free_clall(CLREC*);
|
||||||
void free_jall(JREC *);
|
void free_jall(JREC*);
|
||||||
void freework(void);
|
void freework(void);
|
||||||
|
|
||||||
/* mk2claus.c */
|
/* mk2claus.c */
|
||||||
void mk2claus(void);
|
void mk2claus(void);
|
||||||
|
|
||||||
/* mkbunset.c */
|
/* mkbunset.c */
|
||||||
void mkbunsetu(void);
|
void mkbunsetu(void);
|
||||||
CLREC *argclrec(int);
|
CLREC* argclrec(int);
|
||||||
|
|
||||||
/* mkjiritu.c */
|
/* mkjiritu.c */
|
||||||
void mkjiritu(int);
|
void mkjiritu(int);
|
||||||
JREC *argjrec(int, JREC *);
|
JREC* argjrec(int, JREC*);
|
||||||
|
|
||||||
/* mkkouho.c */
|
/* mkkouho.c */
|
||||||
void mkkouho(void);
|
void mkkouho(void);
|
||||||
u_char *makekan_none(u_char *, u_char *, int);
|
u_char* makekan_none(u_char*, u_char*, int);
|
||||||
u_char *makekan_1byte(u_char *, u_char *, int);
|
u_char* makekan_1byte(u_char*, u_char*, int);
|
||||||
u_char *makekan_knj(u_char *, u_char *, int);
|
u_char* makekan_knj(u_char*, u_char*, int);
|
||||||
u_char *makekan_ofs(u_char *, u_char *, int);
|
u_char* makekan_ofs(u_char*, u_char*, int);
|
||||||
u_char *makekan_norm(u_char *, u_char *, int);
|
u_char* makekan_norm(u_char*, u_char*, int);
|
||||||
u_char *makekan_ascii(u_char *, u_char *, int);
|
u_char* makekan_ascii(u_char*, u_char*, int);
|
||||||
int sel_sjmode(JREC *);
|
int sel_sjmode(JREC*);
|
||||||
|
|
||||||
/* mknumber.c */
|
/* mknumber.c */
|
||||||
void num_type00(u_char *, u_char *, JREC *);
|
void num_type00(u_char*, u_char*, JREC*);
|
||||||
void num_type01(u_char *, u_char *, JREC *);
|
void num_type01(u_char*, u_char*, JREC*);
|
||||||
void num_type02(u_char *, u_char *, JREC *);
|
void num_type02(u_char*, u_char*, JREC*);
|
||||||
void num_type03(u_char *, u_char *, JREC *);
|
void num_type03(u_char*, u_char*, JREC*);
|
||||||
void num_type04(u_char *, u_char *, JREC *);
|
void num_type04(u_char*, u_char*, JREC*);
|
||||||
void num_type05(u_char *, u_char *, JREC *);
|
void num_type05(u_char*, u_char*, JREC*);
|
||||||
void num_type06(u_char *, u_char *, JREC *);
|
void num_type06(u_char*, u_char*, JREC*);
|
||||||
void num_type07(u_char *, u_char *, JREC *);
|
void num_type07(u_char*, u_char*, JREC*);
|
||||||
void num_type08(u_char *, u_char *, JREC *);
|
void num_type08(u_char*, u_char*, JREC*);
|
||||||
void num_type09(u_char *, u_char *, JREC *);
|
void num_type09(u_char*, u_char*, JREC*);
|
||||||
void num_type10(u_char *, u_char *, JREC *);
|
void num_type10(u_char*, u_char*, JREC*);
|
||||||
void num_type11(u_char *, u_char *, JREC *);
|
void num_type11(u_char*, u_char*, JREC*);
|
||||||
void num_type12(u_char *, u_char *, JREC *);
|
void num_type12(u_char*, u_char*, JREC*);
|
||||||
void num_type13(u_char *, u_char *, JREC *);
|
void num_type13(u_char*, u_char*, JREC*);
|
||||||
void num_type14(u_char *, u_char *, JREC *);
|
void num_type14(u_char*, u_char*, JREC*);
|
||||||
|
|
||||||
/* mvmemd.c */
|
/* mvmemd.c */
|
||||||
void mvmemd(u_char *, u_char *, int);
|
void mvmemd(u_char*, u_char*, int);
|
||||||
|
|
||||||
/* mvmemi.c */
|
/* mvmemi.c */
|
||||||
void mvmemi(u_char *, u_char *, int);
|
void mvmemi(u_char*, u_char*, int);
|
||||||
|
|
||||||
/* peepdic.c */
|
/* peepdic.c */
|
||||||
int getusr(u_char *);
|
int getusr(u_char*);
|
||||||
int nextusr(u_char *);
|
int nextusr(u_char*);
|
||||||
int prevusr(u_char *);
|
int prevusr(u_char*);
|
||||||
|
|
||||||
/* ph2knj.c */
|
/* ph2knj.c */
|
||||||
int ph2knj(u_char *, u_char *, int);
|
int ph2knj(u_char*, u_char*, int);
|
||||||
|
|
||||||
/* ph_khtbl.c */
|
/* ph_khtbl.c */
|
||||||
int ph_khtbl(CLREC *);
|
int ph_khtbl(CLREC*);
|
||||||
|
|
||||||
/* priority.c */
|
/* priority.c */
|
||||||
int priority(CLREC *);
|
int priority(CLREC*);
|
||||||
void pritiny(void);
|
void pritiny(void);
|
||||||
|
|
||||||
/* prtytbl.c */
|
/* prtytbl.c */
|
||||||
|
|
@ -220,72 +220,72 @@ extern u_char sttpri[5][31];
|
||||||
extern u_char kigou[];
|
extern u_char kigou[];
|
||||||
|
|
||||||
/* sdepend.c */
|
/* sdepend.c */
|
||||||
DictFile *opendict(char *, char *);
|
DictFile* opendict(char*, char*);
|
||||||
int closedict(DictFile *);
|
int closedict(DictFile*);
|
||||||
void lock_dict(DictFile *, int);
|
void lock_dict(DictFile*, int);
|
||||||
void unlock_dict(DictFile *, int);
|
void unlock_dict(DictFile*, int);
|
||||||
int is_dict_locked(DictFile *);
|
int is_dict_locked(DictFile*);
|
||||||
StdyFile *openstdy(char *, char *);
|
StdyFile* openstdy(char*, char*);
|
||||||
int closestdy(StdyFile *);
|
int closestdy(StdyFile*);
|
||||||
int putstydic(void);
|
int putstydic(void);
|
||||||
int putcldic(void);
|
int putcldic(void);
|
||||||
int makedict(char *, int, int, int);
|
int makedict(char*, int, int, int);
|
||||||
int makestdy(char *, int, int, int);
|
int makestdy(char*, int, int, int);
|
||||||
void sj_closeall(void);
|
void sj_closeall(void);
|
||||||
int set_dictpass(DictFile *, char *);
|
int set_dictpass(DictFile*, char*);
|
||||||
int set_stdypass(char *);
|
int set_stdypass(char*);
|
||||||
int set_dictcmnt(DictFile *, char *);
|
int set_dictcmnt(DictFile*, char*);
|
||||||
int set_stdycmnt(char *);
|
int set_stdycmnt(char*);
|
||||||
int get_stdysize(int *, int *, int *);
|
int get_stdysize(int*, int*, int*);
|
||||||
|
|
||||||
/* selclrec.c */
|
/* selclrec.c */
|
||||||
void selclrec(void);
|
void selclrec(void);
|
||||||
|
|
||||||
/* selsuuji.c */
|
/* selsuuji.c */
|
||||||
extern u_short *selsjadrs[];
|
extern u_short* selsjadrs[];
|
||||||
|
|
||||||
/* setconj.c */
|
/* setconj.c */
|
||||||
int setconj(TypeGram, JREC *, CREC *);
|
int setconj(TypeGram, JREC*, CREC*);
|
||||||
|
|
||||||
/* setjrec.c */
|
/* setjrec.c */
|
||||||
int setj_atrb(u_char *);
|
int setj_atrb(u_char*);
|
||||||
int setj_ofs(u_char *);
|
int setj_ofs(u_char*);
|
||||||
int setj_knj(u_char *);
|
int setj_knj(u_char*);
|
||||||
int setj_norm1(u_char *);
|
int setj_norm1(u_char*);
|
||||||
int setj_norm2(u_char *);
|
int setj_norm2(u_char*);
|
||||||
int setj_norm3(u_char *); /* unused??? */
|
int setj_norm3(u_char*); /* unused??? */
|
||||||
void setjrec(u_char *, int);
|
void setjrec(u_char*, int);
|
||||||
void setnumrec(u_char *, JREC *, TypeGram);
|
void setnumrec(u_char*, JREC*, TypeGram);
|
||||||
void setcrec(u_char *);
|
void setcrec(u_char*);
|
||||||
|
|
||||||
/* setkouho.c */
|
/* setkouho.c */
|
||||||
void setkouho(CLREC *, TypeDicOfs, int);
|
void setkouho(CLREC*, TypeDicOfs, int);
|
||||||
void ph_setkouho(CLREC *, TypeDicOfs, STDYIN *);
|
void ph_setkouho(CLREC*, TypeDicOfs, STDYIN*);
|
||||||
int hiraknj_atrb(u_char *, int *);
|
int hiraknj_atrb(u_char*, int*);
|
||||||
int hiraknj_ofs(u_char *, int *);
|
int hiraknj_ofs(u_char*, int*);
|
||||||
int hiraknj_knj(u_char *, int *);
|
int hiraknj_knj(u_char*, int*);
|
||||||
int hiraknj_hask(u_char *, int *);
|
int hiraknj_hask(u_char*, int*);
|
||||||
int hiraknj_kask(u_char *, int *);
|
int hiraknj_kask(u_char*, int*);
|
||||||
int hiraknj_norm(u_char *, int *);
|
int hiraknj_norm(u_char*, int*);
|
||||||
int hiraknj_hira(u_char *, int *);
|
int hiraknj_hira(u_char*, int*);
|
||||||
|
|
||||||
/* setubi.c */
|
/* setubi.c */
|
||||||
u_char *getstb(TypeGram);
|
u_char* getstb(TypeGram);
|
||||||
void setubi(JREC *, u_char *);
|
void setubi(JREC*, u_char*);
|
||||||
|
|
||||||
/* sj2code.c */
|
/* sj2code.c */
|
||||||
int sj2cd_chr(u_char *, u_char *);
|
int sj2cd_chr(u_char*, u_char*);
|
||||||
int sj2cd_str(u_char *, u_char *, int);
|
int sj2cd_str(u_char*, u_char*, int);
|
||||||
|
|
||||||
/* skiphblk.c */
|
/* skiphblk.c */
|
||||||
u_char *skiphblk(u_char *);
|
u_char* skiphblk(u_char*);
|
||||||
|
|
||||||
/* skipkstr.c */
|
/* skipkstr.c */
|
||||||
u_char *skipkstr(u_char *);
|
u_char* skipkstr(u_char*);
|
||||||
|
|
||||||
/* srchdict.c */
|
/* srchdict.c */
|
||||||
int yomicmp(u_char *, u_char *, u_char *);
|
int yomicmp(u_char*, u_char*, u_char*);
|
||||||
u_char *srchdict(u_char *);
|
u_char* srchdict(u_char*);
|
||||||
|
|
||||||
/* srchhead.c */
|
/* srchhead.c */
|
||||||
int srchhead(void);
|
int srchhead(void);
|
||||||
|
|
@ -295,28 +295,28 @@ TypeDicSeg srchidx(TypeDicSeg, int);
|
||||||
|
|
||||||
/* srchnum.c*/
|
/* srchnum.c*/
|
||||||
void srchnum(void);
|
void srchnum(void);
|
||||||
void setwdnum(u_char *, int, u_short *);
|
void setwdnum(u_char*, int, u_short*);
|
||||||
int setucnum(u_char *, int, u_char *);
|
int setucnum(u_char*, int, u_char*);
|
||||||
|
|
||||||
/* sstrcmp.c */
|
/* sstrcmp.c */
|
||||||
int sstrcmp(u_char *, u_char *);
|
int sstrcmp(u_char*, u_char*);
|
||||||
|
|
||||||
/* sstrlen.c */
|
/* sstrlen.c */
|
||||||
int sstrlen(u_char *);
|
int sstrlen(u_char*);
|
||||||
|
|
||||||
/* sstrncmp.c */
|
/* sstrncmp.c */
|
||||||
int sstrncmp(u_char *, u_char *dst, int);
|
int sstrncmp(u_char*, u_char* dst, int);
|
||||||
|
|
||||||
/* stbtbl.c */
|
/* stbtbl.c */
|
||||||
extern u_char *stbadr[];
|
extern u_char* stbadr[];
|
||||||
|
|
||||||
/* stttbl.c */
|
/* stttbl.c */
|
||||||
extern u_char *settou_ptr[];
|
extern u_char* settou_ptr[];
|
||||||
extern u_char scncttbl[2][24];
|
extern u_char scncttbl[2][24];
|
||||||
|
|
||||||
/* study.c */
|
/* study.c */
|
||||||
int study(STDYOUT *);
|
int study(STDYOUT*);
|
||||||
STDYIN *srchstdy(TypeDicSeg, TypeDicOfs, TypeDicID);
|
STDYIN* srchstdy(TypeDicSeg, TypeDicOfs, TypeDicID);
|
||||||
|
|
||||||
/* suujitbl.c */
|
/* suujitbl.c */
|
||||||
extern u_char suuji_tbl[];
|
extern u_char suuji_tbl[];
|
||||||
|
|
@ -330,7 +330,7 @@ extern u_char num5tbl[];
|
||||||
extern u_char num6tbl[];
|
extern u_char num6tbl[];
|
||||||
|
|
||||||
/* terminat.c */
|
/* terminat.c */
|
||||||
int terminate(TypeCnct, u_char *);
|
int terminate(TypeCnct, u_char*);
|
||||||
|
|
||||||
/* termtbl.c */
|
/* termtbl.c */
|
||||||
extern u_char termtbl[];
|
extern u_char termtbl[];
|
||||||
|
|
@ -338,6 +338,4 @@ extern u_char termtbl[];
|
||||||
/* wakachi.c */
|
/* wakachi.c */
|
||||||
void wakachi(void);
|
void wakachi(void);
|
||||||
|
|
||||||
|
|
||||||
#endif /* KANAKAN_H */
|
#endif /* KANAKAN_H */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,254 +33,242 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:12 $
|
* $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
|
||||||
|
|
||||||
#ifndef _SJ_LEFT
|
#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 _SJ_LEFT
|
#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_WO 0x01
|
#define L_TOIU 0x39
|
||||||
#define L_TTATTE 0x02
|
#define L_TOORI 0x3a
|
||||||
#define L_TTARA 0x03
|
#define L_TOKI 0x3b
|
||||||
#define L_TTE1 0x04
|
#define L_TOKORO 0x3c
|
||||||
#define L_TTE2 0x05
|
#define L_TOTE 0x3d
|
||||||
#define L_PPANASI 0x06
|
#define L_TOHAIE 0x3e
|
||||||
#define L_PPOI 0x07
|
#define L_TOMO 0x3f
|
||||||
#define L_UE 0x08
|
#define L_DO 0x40
|
||||||
|
|
||||||
#define L_UTI 0x09
|
#define L_DOORI 0x41
|
||||||
#define L_OITE 0x0a
|
#define L_DOKORO 0x42
|
||||||
#define L_OKERU 0x0b
|
#define L_DOKOROKA 0x43
|
||||||
#define L_ORI 0x0c
|
#define L_DOMO 0x44
|
||||||
#define L_KA1 0x0d
|
#define L_NA1 0x45
|
||||||
#define L_KA2 0x0e
|
#define L_NAA 0x46
|
||||||
#define L_KAI 0x0f
|
#define L_NAGARA 0x47
|
||||||
#define L_KASIRA 0x10
|
#define L_NAZO 0x48
|
||||||
|
|
||||||
#define L_KATAGATA 0x11
|
#define L_NADO 0x49
|
||||||
#define L_KADOUKA 0x12
|
#define L_NARI 0x4a
|
||||||
#define L_KANA 0x13
|
#define L_NANKA 0x4b
|
||||||
#define L_KANE 0x14
|
#define L_NANZO 0x4c
|
||||||
#define L_KAMO 0x15
|
#define L_NANTE 0x4d
|
||||||
#define L_KARA1 0x16
|
#define L_NI1 0x4e
|
||||||
#define L_KARA2 0x17
|
#define L_NI2 0x4f
|
||||||
#define L_GA1 0x18
|
#define L_NI3 0x50
|
||||||
|
|
||||||
#define L_GA2 0x19
|
#define L_NITE 0x51
|
||||||
#define L_GATERA 0x1a
|
#define L_NIMO 0x52
|
||||||
#define L_KIRI 0x1b
|
#define L_NE1 0x53
|
||||||
#define L_KUSENI 0x1c
|
#define L_NEE 0x54
|
||||||
#define L_KURAI 0x1d
|
#define L_NO1 0x55
|
||||||
#define L_GURUMI 0x1e
|
#define L_NO2 0x56
|
||||||
#define L_KEDO 0x1f
|
#define L_NODE 0x57
|
||||||
#define L_KOSO 0x20
|
#define L_NONI 0x58
|
||||||
|
|
||||||
#define L_KOTO 0x21
|
#define L_NOMI 0x59
|
||||||
#define L_SA2 0x22
|
#define L_NOMINRZ 0x5a
|
||||||
#define L_SAE 0x23
|
#define L_HA 0x5b
|
||||||
#define L_SI2 0x24
|
#define L_HAZU 0x5c
|
||||||
#define L_SIKA 0x25
|
#define L_BA 0x5d
|
||||||
#define L_SURA 0x26
|
#define L_BAKARI 0x5e
|
||||||
#define L_ZUTU 0x27
|
#define L_HE 0x5f
|
||||||
#define L_ZO 0x28
|
#define L_HOU 0x60
|
||||||
|
|
||||||
#define L_TAME 0x29
|
#define L_HOKA 0x61
|
||||||
#define L_DAKE 0x2a
|
#define L_HODO 0x62
|
||||||
#define L_DANO 0x2b
|
#define L_MADE 0x63
|
||||||
#define L_DARAKE 0x2c
|
#define L_MAMA 0x64
|
||||||
#define L_TUITE 0x2d
|
#define L_MO1 0x65
|
||||||
#define L_TUKI 0x2e
|
#define L_MO2 0x66
|
||||||
#define L_TUTU 0x2f
|
#define L_MOTTE 0x67
|
||||||
#define L_TUMORI 0x30
|
#define L_MONO 0x68
|
||||||
|
|
||||||
#define L_TE1 0x31
|
#define L_YA1 0x69
|
||||||
#define L_TE2 0x32
|
#define L_YA2 0x6a
|
||||||
#define L_TERU 0x33
|
#define L_YARA 0x6b
|
||||||
#define L_DEAROU 0x34
|
#define L_YUE 0x6c
|
||||||
#define L_DERU 0x35
|
#define L_YO 0x6d
|
||||||
#define L_TO1 0x36
|
#define L_YORI 0x6e
|
||||||
#define L_TO2 0x37
|
#define L_WA 0x6f
|
||||||
#define L_TOTTE 0x38
|
#define L_WAKE 0x70
|
||||||
|
|
||||||
#define L_TOIU 0x39
|
#define L_WANE 0x71
|
||||||
#define L_TOORI 0x3a
|
#define L_WAYO 0x72
|
||||||
#define L_TOKI 0x3b
|
#define L_NN1 0x73
|
||||||
#define L_TOKORO 0x3c
|
#define L_JYA 0x74
|
||||||
#define L_TOTE 0x3d
|
#define L_TYA 0x75
|
||||||
#define L_TOHAIE 0x3e
|
#define L_NAGARA2 0x76
|
||||||
#define L_TOMO 0x3f
|
#define L_WO_S 0x77
|
||||||
#define L_DO 0x40
|
|
||||||
|
|
||||||
#define L_DOORI 0x41
|
#define L_ZE 0x79
|
||||||
#define L_DOKORO 0x42
|
#define L_KKE 0x7a
|
||||||
#define L_DOKOROKA 0x43
|
#define L_N_SI 0x7b
|
||||||
#define L_DOMO 0x44
|
#define L_DEHA 0x7c
|
||||||
#define L_NA1 0x45
|
|
||||||
#define L_NAA 0x46
|
|
||||||
#define L_NAGARA 0x47
|
|
||||||
#define L_NAZO 0x48
|
|
||||||
|
|
||||||
#define L_NADO 0x49
|
#define L_GOTOSI 0x81
|
||||||
#define L_NARI 0x4a
|
#define L_SASERU 0x82
|
||||||
#define L_NANKA 0x4b
|
#define L_ZARU 0x83
|
||||||
#define L_NANZO 0x4c
|
#define L_ZU 0x84
|
||||||
#define L_NANTE 0x4d
|
#define L_ZUNBA 0x85
|
||||||
#define L_NI1 0x4e
|
#define L_SERU 0x86
|
||||||
#define L_NI2 0x4f
|
#define L_SOUDA 0x87
|
||||||
#define L_NI3 0x50
|
#define L_YOUTAI 0x88
|
||||||
|
|
||||||
#define L_NITE 0x51
|
#define L_DENBUN 0x89
|
||||||
#define L_NIMO 0x52
|
#define L_TA 0x8a
|
||||||
#define L_NE1 0x53
|
#define L_TAI 0x8b
|
||||||
#define L_NEE 0x54
|
#define L_TAGARU 0x8c
|
||||||
#define L_NO1 0x55
|
#define L_TARU 0x8d
|
||||||
#define L_NO2 0x56
|
#define L_DA1 0x8e
|
||||||
#define L_NODE 0x57
|
#define L_DA2 0x8f
|
||||||
#define L_NONI 0x58
|
#define L_DAXTU 0x90
|
||||||
|
|
||||||
#define L_NOMI 0x59
|
#define L_DAROU 0x91
|
||||||
#define L_NOMINRZ 0x5a
|
#define L_DE 0x92
|
||||||
#define L_HA 0x5b
|
#define L_DESI 0x93
|
||||||
#define L_HAZU 0x5c
|
#define L_DESHO 0x94
|
||||||
#define L_BA 0x5d
|
#define L_DESU 0x95
|
||||||
#define L_BAKARI 0x5e
|
#define L_NA2 0x96
|
||||||
#define L_HE 0x5f
|
#define L_NARA 0x97
|
||||||
#define L_HOU 0x60
|
#define L_NAI 0x98
|
||||||
|
|
||||||
#define L_HOKA 0x61
|
#define L_NU 0x99
|
||||||
#define L_HODO 0x62
|
#define L_NE2 0x9a
|
||||||
#define L_MADE 0x63
|
#define L_NN2 0x9b
|
||||||
#define L_MAMA 0x64
|
#define L_FUUDA 0x9c
|
||||||
#define L_MO1 0x65
|
#define L_BESI 0x9d
|
||||||
#define L_MO2 0x66
|
#define L_MAI 0x9e
|
||||||
#define L_MOTTE 0x67
|
#define L_MASU 0x9f
|
||||||
#define L_MONO 0x68
|
#define L_MASURE 0xa0
|
||||||
|
|
||||||
#define L_YA1 0x69
|
#define L_MASE 0xa1
|
||||||
#define L_YA2 0x6a
|
#define L_MITAIDA 0xa2
|
||||||
#define L_YARA 0x6b
|
#define L_YOU 0xa3
|
||||||
#define L_YUE 0x6c
|
#define L_YOUDA 0xa4
|
||||||
#define L_YO 0x6d
|
#define L_RASII 0xa5
|
||||||
#define L_YORI 0x6e
|
#define L_RARERU 0xa6
|
||||||
#define L_WA 0x6f
|
#define L_RERU 0xa7
|
||||||
#define L_WAKE 0x70
|
#define L_SITE 0xa8
|
||||||
|
|
||||||
#define L_WANE 0x71
|
#define L_YOUGEN 0xa9
|
||||||
#define L_WAYO 0x72
|
#define L_ARU 0xaa
|
||||||
#define L_NN1 0x73
|
#define L_ARA 0xab
|
||||||
#define L_JYA 0x74
|
#define L_ARI1 0xac
|
||||||
#define L_TYA 0x75
|
#define L_ARI2 0xad
|
||||||
#define L_NAGARA2 0x76
|
#define L_ARI3 0xae
|
||||||
#define L_WO_S 0x77
|
#define L_ARE1 0xaf
|
||||||
|
#define L_ARE2 0xb0
|
||||||
|
|
||||||
#define L_ZE 0x79
|
#define L_AROU 0xb1
|
||||||
#define L_KKE 0x7a
|
#define L_II 0xb2
|
||||||
#define L_N_SI 0x7b
|
#define L_ITASI 0xb3
|
||||||
#define L_DEHA 0x7c
|
#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_GOTOSI 0x81
|
#define L_TAMAU 0xc9
|
||||||
#define L_SASERU 0x82
|
#define L_TYAU 0xca
|
||||||
#define L_ZARU 0x83
|
#define L_TIMAU 0xcb
|
||||||
#define L_ZU 0x84
|
#define L_DEKIRU 0xcc
|
||||||
#define L_ZUNBA 0x85
|
#define L_NARU 0xcd
|
||||||
#define L_SERU 0x86
|
#define L_NASAI 0xce
|
||||||
#define L_SOUDA 0x87
|
#define L_NASARU 0xcf
|
||||||
#define L_YOUTAI 0x88
|
#define L_NIKUI 0xd0
|
||||||
|
|
||||||
#define L_DENBUN 0x89
|
#define L_YASUI 0xd1
|
||||||
#define L_TA 0x8a
|
#define L_YOI 0xd2
|
||||||
#define L_TAI 0x8b
|
#define L_YORU 0xd3
|
||||||
#define L_TAGARU 0x8c
|
#define L_TTARASII 0xd4
|
||||||
#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
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,49 +33,42 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:13 $
|
* $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
|
||||||
|
|
||||||
#ifndef _SJ_PRIORITY
|
#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 _SJ_PRIORITY
|
#define P_SETTOU 6
|
||||||
|
#define P_SETUBI 6
|
||||||
|
#define P_SUUSI 4
|
||||||
|
#define P_FUKUSI 13
|
||||||
|
#define P_F_FUKUSI 10
|
||||||
#define RENTAI 0x10
|
#define P_RENTAISI 10
|
||||||
#define GETPRI 0x0f
|
#define P_KANDOU 6
|
||||||
|
#define P_SETUZOKU 14
|
||||||
#define P_FUKA 1
|
#define P_FZKKGU 9
|
||||||
#define P_TANKAN 1
|
#define P_JOSUUSI 10
|
||||||
#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
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,529 +33,400 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:14 $
|
* $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
|
||||||
|
|
||||||
#ifndef _SJ_RENAME
|
#define wakachi Jwakachi
|
||||||
|
|
||||||
#define _SJ_RENAME
|
#define cmpstr Jcmpstr
|
||||||
|
|
||||||
#define adddic Jadddic
|
#define hzstrlen Jhzstrlen
|
||||||
#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 istrcmp Jistrcmp
|
||||||
|
|
||||||
|
#define mvmemd Jmvmemd
|
||||||
|
|
||||||
#define set_size Jset_size
|
#define mvmemi Jmvmemi
|
||||||
#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 skiphblk Jskiphblk
|
||||||
|
|
||||||
|
#define skipkstr Jskipkstr
|
||||||
|
|
||||||
#define cl2knj Jcl2knj
|
#define sstrcmp Jsstrcmp
|
||||||
#define nextcl Jnextcl
|
|
||||||
#define nextrecblk Jnextrecblk
|
|
||||||
#define prevcl Jprevcl
|
|
||||||
#define prevrecblk Jprevrecblk
|
|
||||||
#define initkbuf Jinitkbuf
|
|
||||||
#define selectnum Jselectnum
|
|
||||||
#define kouhonum Jkouhonum
|
|
||||||
|
|
||||||
|
#define sstrlen Jsstrlen
|
||||||
|
|
||||||
|
#define sstrncmp Jsstrncmp
|
||||||
|
|
||||||
#define clstudy Jclstudy
|
#define charsize Jcharsize
|
||||||
#define delcldata Jdelcldata
|
|
||||||
#define delclsub Jdelclsub
|
|
||||||
#define delclold Jdelclold
|
|
||||||
#define srchclpos Jsrchclpos
|
|
||||||
#define mkclidx Jmkclidx
|
|
||||||
|
|
||||||
|
#define chrtbl Jchrtbl
|
||||||
|
|
||||||
|
#define conjadr Jconjadr
|
||||||
|
|
||||||
#define cvtclknj Jcvtclknj
|
#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 cvtdict Jcvtdict
|
#define taipri Jtaipri
|
||||||
#define cvtminasi Jcvtminasi
|
#define sttpri Jsttpri
|
||||||
#define cvtwakachi Jcvtwakachi
|
|
||||||
|
|
||||||
|
#define kigou Jkigou
|
||||||
|
|
||||||
|
#define selsjadrs Jselsjadrs
|
||||||
|
|
||||||
#define cvtphknj Jcvtphknj
|
#define stbadr Jstbadr
|
||||||
#define cvtkouho Jcvtkouho
|
|
||||||
#define setstyrec Jsetstyrec
|
|
||||||
|
|
||||||
|
#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 deldic Jdeldic
|
#define termtbl Jtermtbl
|
||||||
#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 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
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,341 +33,291 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:15 $
|
* $SonyDate: 1994/06/03 08:01:15 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef _SJ_RIGHT
|
||||||
|
|
||||||
|
#define _SJ_RIGHT
|
||||||
|
|
||||||
#ifndef _SJ_RIGHT
|
#define R_DE 1
|
||||||
|
#define R_WO 2
|
||||||
#define _SJ_RIGHT
|
#define R_KARA1 3
|
||||||
|
#define R_GA1 4
|
||||||
#define R_DE 1
|
#define R_TO1 5
|
||||||
#define R_WO 2
|
#define R_NI1 6
|
||||||
#define R_KARA1 3
|
#define R_NO1 7
|
||||||
#define R_GA1 4
|
#define R_HA 8
|
||||||
#define R_TO1 5
|
#define R_HE 9
|
||||||
#define R_NI1 6
|
#define R_MO1 10
|
||||||
#define R_NO1 7
|
#define R_YA1 11
|
||||||
#define R_HA 8
|
#define R_YORI1 12
|
||||||
#define R_HE 9
|
#define R_SAE 13
|
||||||
#define R_MO1 10
|
#define R_SIKA 14
|
||||||
#define R_YA1 11
|
#define R_DAKE 15
|
||||||
#define R_YORI1 12
|
|
||||||
#define R_SAE 13
|
#define R_I 16
|
||||||
#define R_SIKA 14
|
#define R_E 17
|
||||||
#define R_DAKE 15
|
#define R_KAKE 18
|
||||||
|
#define R_KANE2 19
|
||||||
#define R_I 16
|
#define R_SUGI 20
|
||||||
#define R_E 17
|
#define R_DEKI 21
|
||||||
#define R_KAKE 18
|
#define R_MI 22
|
||||||
#define R_KANE2 19
|
#define R_SASE 23
|
||||||
#define R_SUGI 20
|
#define R_RARE 24
|
||||||
#define R_DEKI 21
|
|
||||||
#define R_MI 22
|
#define R_ITADAKE 25
|
||||||
#define R_SASE 23
|
|
||||||
#define R_RARE 24
|
#define R_EXP 26
|
||||||
|
|
||||||
|
#define R_RENYOU1 27
|
||||||
|
#define R_RENYOU5 28
|
||||||
|
#define R_SA5RENYOU1 29
|
||||||
#define R_ITADAKE 25
|
|
||||||
|
#define R_RENYOU3 30
|
||||||
|
#define R_RENYOU7 31
|
||||||
|
#define R_SA5RENYOU3 32
|
||||||
|
#define R_RENYOU4 33
|
||||||
#define R_EXP 26
|
#define R_RENYOU8 34
|
||||||
|
#define R_SA5RENYOU4 35
|
||||||
|
|
||||||
|
#define R_KRENYOU 39
|
||||||
|
#define R_DRENYOU1 40
|
||||||
#define R_RENYOU1 27
|
#define R_DRENYOU2 41
|
||||||
#define R_RENYOU5 28
|
#define R_DRENYOU3 42
|
||||||
#define R_SA5RENYOU1 29
|
#define R_ONBIN1 43
|
||||||
|
#define R_ONBIN2 44
|
||||||
#define R_RENYOU3 30
|
#define R_ONBIN3 45
|
||||||
#define R_RENYOU7 31
|
|
||||||
#define R_SA5RENYOU3 32
|
#define R_DESHI 46
|
||||||
#define R_RENYOU4 33
|
#define R_AXTU 47
|
||||||
#define R_RENYOU8 34
|
#define R_ONBIN6 48
|
||||||
#define R_SA5RENYOU4 35
|
#define R_ONBIN8 49
|
||||||
|
#define R_ARI1 50
|
||||||
#define R_KRENYOU 39
|
#define R_ARI2 51
|
||||||
#define R_DRENYOU1 40
|
#define R_ARI3 52
|
||||||
#define R_DRENYOU2 41
|
#define R_IKI 53
|
||||||
#define R_DRENYOU3 42
|
#define R_ITASI 54
|
||||||
#define R_ONBIN1 43
|
#define R_ITADAKI 55
|
||||||
#define R_ONBIN2 44
|
#define R_ORI2 56
|
||||||
#define R_ONBIN3 45
|
#define R_GATAKU 57
|
||||||
|
#define R_KI 58
|
||||||
#define R_DESHI 46
|
#define R_KUDASAI 59
|
||||||
#define R_AXTU 47
|
#define R_GOZAI 60
|
||||||
#define R_ONBIN6 48
|
#define R_GOTOKU 61
|
||||||
#define R_ONBIN8 49
|
#define R_BEKU 62
|
||||||
#define R_ARI1 50
|
#define R_SOUDE 63
|
||||||
#define R_ARI2 51
|
#define R_SOUNI 64
|
||||||
#define R_ARI3 52
|
#define R_TAGARI 65
|
||||||
#define R_IKI 53
|
#define R_TAKU 66
|
||||||
#define R_ITASI 54
|
#define R_MIZEN1 67
|
||||||
#define R_ITADAKI 55
|
#define R_NAIDE 68
|
||||||
#define R_ORI2 56
|
#define R_NAKU 69
|
||||||
#define R_GATAKU 57
|
#define R_NASAI 70
|
||||||
#define R_KI 58
|
#define R_FUUNI 71
|
||||||
#define R_KUDASAI 59
|
#define R_YORI2 72
|
||||||
#define R_GOZAI 60
|
#define R_RASHUU 73
|
||||||
#define R_GOTOKU 61
|
|
||||||
#define R_BEKU 62
|
#define R_DSHUUSI1 74
|
||||||
#define R_SOUDE 63
|
#define R_DSHUUSI2 75
|
||||||
#define R_SOUNI 64
|
#define R_GOTOSI 76
|
||||||
#define R_TAGARI 65
|
#define R_BESI 77
|
||||||
#define R_TAKU 66
|
#define R_ZU 78
|
||||||
#define R_MIZEN1 67
|
#define R_SOUDA 79
|
||||||
#define R_NAIDE 68
|
#define R_MAI 80
|
||||||
#define R_NAKU 69
|
#define R_MITAIDA 81
|
||||||
#define R_NASAI 70
|
|
||||||
#define R_FUUNI 71
|
#define R_SHUUSI 82
|
||||||
#define R_YORI2 72
|
#define R_KSHUUSI 83
|
||||||
#define R_RASHUU 73
|
#define R_ZARU 84
|
||||||
|
#define R_SOUDESU 85
|
||||||
|
#define R_TA 86
|
||||||
|
#define R_TAI 87
|
||||||
|
#define R_DESU 88
|
||||||
#define R_DSHUUSI1 74
|
#define R_NAI 89
|
||||||
#define R_DSHUUSI2 75
|
#define R_NU 90
|
||||||
#define R_GOTOSI 76
|
#define R_MASU 91
|
||||||
#define R_BESI 77
|
#define R_NN2 92
|
||||||
#define R_ZU 78
|
#define R_RASII 93
|
||||||
#define R_SOUDA 79
|
|
||||||
#define R_MAI 80
|
#define R_DRENTAI1 94
|
||||||
#define R_MITAIDA 81
|
#define R_DRENTAI2 95
|
||||||
|
#define R_DRENTAI3 96
|
||||||
|
#define R_KRENTAI 97
|
||||||
|
#define R_GOTOKI 98
|
||||||
|
#define R_BEKI 99
|
||||||
#define R_SHUUSI 82
|
#define R_SOUNA1 100
|
||||||
#define R_KSHUUSI 83
|
#define R_SOUNA2 101
|
||||||
#define R_ZARU 84
|
#define R_NA2 102
|
||||||
#define R_SOUDESU 85
|
|
||||||
#define R_TA 86
|
#define R_KATEI1 103
|
||||||
#define R_TAI 87
|
#define R_KATEI2 104
|
||||||
#define R_DESU 88
|
#define R_KATEI3 105
|
||||||
#define R_NAI 89
|
|
||||||
#define R_NU 90
|
#define R_KAMEI 106
|
||||||
#define R_MASU 91
|
|
||||||
#define R_NN2 92
|
#define R_IKE 107
|
||||||
#define R_RASII 93
|
|
||||||
|
#define R_KURE 108
|
||||||
|
|
||||||
|
#define R_MEIREI1 109
|
||||||
|
#define R_MEIREI2 110
|
||||||
#define R_DRENTAI1 94
|
|
||||||
#define R_DRENTAI2 95
|
#define R_DGOKAN 111
|
||||||
#define R_DRENTAI3 96
|
#define R_KGOKAN 112
|
||||||
#define R_KRENTAI 97
|
#define R_SGOKAN 113
|
||||||
#define R_GOTOKI 98
|
#define R_GATI 114
|
||||||
#define R_BEKI 99
|
#define R_JYA 115
|
||||||
#define R_SOUNA1 100
|
#define R_SOU 116
|
||||||
#define R_SOUNA2 101
|
#define R_MITAI 117
|
||||||
#define R_NA2 102
|
#define R_YOTTE 118
|
||||||
|
#define R_YOU2 119
|
||||||
|
#define R_SHO 120
|
||||||
|
|
||||||
|
#define R_FZKMEISI 121
|
||||||
#define R_KATEI1 103
|
|
||||||
#define R_KATEI2 104
|
#define R_AISATU 122
|
||||||
#define R_KATEI3 105
|
#define R_KOSODO 123
|
||||||
|
|
||||||
|
#define R_YOU1 124
|
||||||
|
#define R_HASI 125
|
||||||
|
|
||||||
|
#define R_DAIMEISI 126
|
||||||
#define R_KAMEI 106
|
#define R_DAIMEISI6 127
|
||||||
|
|
||||||
|
#define R_FZKKI 128
|
||||||
|
#define R_DEHA 129
|
||||||
|
#define R_NAGARA2 130
|
||||||
#define R_IKE 107
|
#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_KURE 108
|
#define R_CUT 137
|
||||||
|
|
||||||
|
#define R_MIZEN2 140
|
||||||
|
#define R_MIZEN3 141
|
||||||
|
#define R_MIZEN4 142
|
||||||
#define R_MEIREI1 109
|
#define R_SI1 143
|
||||||
#define R_MEIREI2 110
|
#define R_JI 144
|
||||||
|
#define R_AGE 145
|
||||||
|
#define R_MIZEN5 146
|
||||||
|
#define R_AROU 147
|
||||||
|
#define R_KAROU 148
|
||||||
#define R_DGOKAN 111
|
#define R_DAROU 149
|
||||||
#define R_KGOKAN 112
|
#define R_DESHOU 150
|
||||||
#define R_SGOKAN 113
|
#define R_KO 151
|
||||||
#define R_GATI 114
|
#define R_BEKARA 152
|
||||||
#define R_JYA 115
|
#define R_TAGARA 153
|
||||||
#define R_SOU 116
|
|
||||||
#define R_MITAI 117
|
#define R_SHUUJO 154
|
||||||
#define R_YOTTE 118
|
#define R_TTATTE 155
|
||||||
#define R_YOU2 119
|
#define R_TTARA 156
|
||||||
#define R_SHO 120
|
#define R_TTE1 157
|
||||||
|
#define R_TTE2 158
|
||||||
|
#define R_PPANASI 159
|
||||||
|
|
||||||
|
#define R_PPOI 160
|
||||||
#define R_FZKMEISI 121
|
#define R_UE 161
|
||||||
|
#define R_UTI 162
|
||||||
|
#define R_OITE 163
|
||||||
|
#define R_OKERU 164
|
||||||
|
#define R_ORI1 165
|
||||||
#define R_AISATU 122
|
#define R_KA1 166
|
||||||
#define R_KOSODO 123
|
#define R_KA2 167
|
||||||
|
#define R_KATAGATA 168
|
||||||
#define R_YOU1 124
|
#define R_KADOUKA 169
|
||||||
#define R_HASI 125
|
|
||||||
|
#define R_KAMO 170
|
||||||
#define R_DAIMEISI 126
|
#define R_KARA2 171
|
||||||
#define R_DAIMEISI6 127
|
#define R_GA2 172
|
||||||
|
#define R_GATERA 173
|
||||||
#define R_FZKKI 128
|
#define R_KIRI 174
|
||||||
#define R_DEHA 129
|
#define R_KUSENI 175
|
||||||
#define R_NAGARA2 130
|
#define R_KURAI 176
|
||||||
#define R_WO_S 131
|
#define R_GURUMI 177
|
||||||
#define R_WO_MEISI 132
|
#define R_KEDO 178
|
||||||
#define R_SITE 133
|
#define R_KOSO 179
|
||||||
#define R_N_SI 134
|
|
||||||
#define R_F_FUKUSI 135
|
#define R_KOTO 180
|
||||||
#define R_CUT 137
|
#define R_SI2 181
|
||||||
|
#define R_SURA 182
|
||||||
|
#define R_ZUTU 183
|
||||||
#define R_MIZEN2 140
|
#define R_TAME 184
|
||||||
#define R_MIZEN3 141
|
#define R_TARI 185
|
||||||
#define R_MIZEN4 142
|
#define R_DANO 186
|
||||||
#define R_SI1 143
|
#define R_DARAKE 187
|
||||||
#define R_JI 144
|
#define R_TUITE 188
|
||||||
#define R_AGE 145
|
#define R_TUKI 189
|
||||||
#define R_MIZEN5 146
|
|
||||||
#define R_AROU 147
|
#define R_TUTU 190
|
||||||
#define R_KAROU 148
|
#define R_TUMORI 191
|
||||||
#define R_DAROU 149
|
#define R_TE1 192
|
||||||
#define R_DESHOU 150
|
#define R_TE2 193
|
||||||
#define R_KO 151
|
#define R_TERU 194
|
||||||
#define R_BEKARA 152
|
#define R_TO2 195
|
||||||
#define R_TAGARA 153
|
#define R_TOTTE 196
|
||||||
|
#define R_TOIU 197
|
||||||
#define R_SHUUJO 154
|
#define R_TOORI 198
|
||||||
#define R_TTATTE 155
|
#define R_TOKI 199
|
||||||
#define R_TTARA 156
|
|
||||||
#define R_TTE1 157
|
#define R_TOKORO 200
|
||||||
#define R_TTE2 158
|
#define R_TOTE 201
|
||||||
#define R_PPANASI 159
|
#define R_TOHAIE 202
|
||||||
|
#define R_TOMO 203
|
||||||
#define R_PPOI 160
|
#define R_DO 204
|
||||||
#define R_UE 161
|
#define R_DOORI 205
|
||||||
#define R_UTI 162
|
#define R_DOKORO 206
|
||||||
#define R_OITE 163
|
#define R_DOKOROKA 207
|
||||||
#define R_OKERU 164
|
#define R_DOMO 208
|
||||||
#define R_ORI1 165
|
#define R_NAGARA 209
|
||||||
#define R_KA1 166
|
|
||||||
#define R_KA2 167
|
#define R_NAZO 210
|
||||||
#define R_KATAGATA 168
|
#define R_NADO 211
|
||||||
#define R_KADOUKA 169
|
#define R_NARI 212
|
||||||
|
#define R_NANKA 213
|
||||||
#define R_KAMO 170
|
#define R_NANZO 214
|
||||||
#define R_KARA2 171
|
#define R_NANTE 215
|
||||||
#define R_GA2 172
|
#define R_NI2 216
|
||||||
#define R_GATERA 173
|
#define R_NI3 217
|
||||||
#define R_KIRI 174
|
#define R_NITE 218
|
||||||
#define R_KUSENI 175
|
#define R_NIMO 219
|
||||||
#define R_KURAI 176
|
|
||||||
#define R_GURUMI 177
|
#define R_NO2 220
|
||||||
#define R_KEDO 178
|
#define R_NODE 221
|
||||||
#define R_KOSO 179
|
#define R_NONI 222
|
||||||
|
#define R_NOMI 223
|
||||||
#define R_KOTO 180
|
#define R_NOMINRZ 224
|
||||||
#define R_SI2 181
|
#define R_HAZU 225
|
||||||
#define R_SURA 182
|
#define R_BA 226
|
||||||
#define R_ZUTU 183
|
#define R_BAKARI 227
|
||||||
#define R_TAME 184
|
#define R_HOU 228
|
||||||
#define R_TARI 185
|
#define R_HOKA 229
|
||||||
#define R_DANO 186
|
|
||||||
#define R_DARAKE 187
|
#define R_HODO 230
|
||||||
#define R_TUITE 188
|
#define R_MADE 231
|
||||||
#define R_TUKI 189
|
#define R_MAMA 232
|
||||||
|
#define R_MO2 233
|
||||||
#define R_TUTU 190
|
#define R_MOTTE 234
|
||||||
#define R_TUMORI 191
|
#define R_MONO 235
|
||||||
#define R_TE1 192
|
#define R_YA2 236
|
||||||
#define R_TE2 193
|
#define R_YARA 237
|
||||||
#define R_TERU 194
|
#define R_YUE 238
|
||||||
#define R_TO2 195
|
#define R_WAKE 239
|
||||||
#define R_TOTTE 196
|
|
||||||
#define R_TOIU 197
|
#define R_NN1 240
|
||||||
#define R_TOORI 198
|
|
||||||
#define R_TOKI 199
|
#define R_SUUSI 241
|
||||||
|
#define R_SETUZOKU 242
|
||||||
#define R_TOKORO 200
|
#define R_KANDOU 243
|
||||||
#define R_TOTE 201
|
#define R_SETTOU 244
|
||||||
#define R_TOHAIE 202
|
#define R_FUKUSI 245
|
||||||
#define R_TOMO 203
|
#define R_FZKKGU 246
|
||||||
#define R_DO 204
|
#define R_MEISI 247
|
||||||
#define R_DOORI 205
|
#define R_DMEISI 248
|
||||||
#define R_DOKORO 206
|
#define R_SMEISI1 249
|
||||||
#define R_DOKOROKA 207
|
#define R_SMEISI2 250
|
||||||
#define R_DOMO 208
|
#define R_KSTB 251
|
||||||
#define R_NAGARA 209
|
#define R_ICHISETUBI 252
|
||||||
|
#define R_JOSUUSI 253
|
||||||
#define R_NAZO 210
|
#define R_RENTAISI 254
|
||||||
#define R_NADO 211
|
#define R_TANKAN 255
|
||||||
#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
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,168 +33,136 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:16 $
|
* $SonyDate: 1994/06/03 08:01:16 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef _SJ_STRUCT
|
||||||
|
|
||||||
|
#define _SJ_STRUCT
|
||||||
|
|
||||||
|
typedef struct jiritu {
|
||||||
|
struct jiritu* jsort;
|
||||||
#ifndef _SJ_STRUCT
|
TypeDicSeg jseg;
|
||||||
|
TypeDicOfs jofsst;
|
||||||
#define _SJ_STRUCT
|
TypeDicOfs jofsed;
|
||||||
|
u_short flags;
|
||||||
|
TypeClass class;
|
||||||
|
TypeDicID dicid;
|
||||||
typedef struct jiritu {
|
u_char jlen;
|
||||||
struct jiritu *jsort;
|
TypeGram hinsi;
|
||||||
TypeDicSeg jseg;
|
u_char sttofs;
|
||||||
TypeDicOfs jofsst;
|
u_char stbofs;
|
||||||
TypeDicOfs jofsed;
|
u_char count;
|
||||||
u_short flags;
|
u_char numlen;
|
||||||
TypeClass class;
|
|
||||||
TypeDicID dicid;
|
|
||||||
u_char jlen;
|
|
||||||
TypeGram hinsi;
|
|
||||||
u_char sttofs;
|
|
||||||
u_char stbofs;
|
|
||||||
u_char count;
|
|
||||||
u_char numlen;
|
|
||||||
} JREC;
|
} JREC;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct bunsetu {
|
typedef struct bunsetu {
|
||||||
JREC *jnode;
|
JREC* jnode;
|
||||||
struct bunsetu *clsort;
|
struct bunsetu* clsort;
|
||||||
u_char gobiln;
|
u_char gobiln;
|
||||||
u_char cllen;
|
u_char cllen;
|
||||||
|
|
||||||
TypeCnct right;
|
TypeCnct right;
|
||||||
u_char cl2len;
|
u_char cl2len;
|
||||||
u_char kubun;
|
u_char kubun;
|
||||||
#if __STDC__
|
#if __STDC__
|
||||||
unsigned fzk_ka : 1;
|
unsigned fzk_ka : 1;
|
||||||
#else
|
#else
|
||||||
u_char fzk_ka : 1;
|
u_char fzk_ka : 1;
|
||||||
#endif
|
#endif
|
||||||
} CLREC;
|
} CLREC;
|
||||||
|
|
||||||
|
typedef struct kouho {
|
||||||
|
CLREC* clrec;
|
||||||
|
TypeDicOfs offs;
|
||||||
typedef struct kouho {
|
TypeStyNum styno;
|
||||||
CLREC *clrec;
|
u_char rank;
|
||||||
TypeDicOfs offs;
|
|
||||||
TypeStyNum styno;
|
|
||||||
u_char rank;
|
|
||||||
#if __STDC__
|
#if __STDC__
|
||||||
unsigned sttfg : 1;
|
unsigned sttfg : 1;
|
||||||
unsigned sttkj : 1;
|
unsigned sttkj : 1;
|
||||||
unsigned ka_fg : 1;
|
unsigned ka_fg : 1;
|
||||||
unsigned ka_kj : 1;
|
unsigned ka_kj : 1;
|
||||||
unsigned mode : 4;
|
unsigned mode : 4;
|
||||||
#else
|
#else
|
||||||
u_char sttfg : 1;
|
u_char sttfg : 1;
|
||||||
u_char sttkj : 1;
|
u_char sttkj : 1;
|
||||||
u_char ka_fg : 1;
|
u_char ka_fg : 1;
|
||||||
u_char ka_kj : 1;
|
u_char ka_kj : 1;
|
||||||
u_char mode : 4;
|
u_char mode : 4;
|
||||||
#endif
|
#endif
|
||||||
} KHREC;
|
} KHREC;
|
||||||
|
|
||||||
|
typedef struct conj {
|
||||||
|
u_char len;
|
||||||
|
TypeCnct right;
|
||||||
typedef struct conj {
|
|
||||||
u_char len;
|
|
||||||
TypeCnct right;
|
|
||||||
} CREC;
|
} CREC;
|
||||||
|
|
||||||
|
typedef struct fuzoku {
|
||||||
|
u_char* yomip;
|
||||||
|
u_char* fzkp;
|
||||||
typedef struct fuzoku {
|
|
||||||
u_char *yomip;
|
|
||||||
u_char *fzkp;
|
|
||||||
|
|
||||||
} FREC;
|
} FREC;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct study_in {
|
typedef struct study_in {
|
||||||
TypeDicOfs offset;
|
TypeDicOfs offset;
|
||||||
TypeDicSeg seg;
|
TypeDicSeg seg;
|
||||||
TypeStyNum styno;
|
TypeStyNum styno;
|
||||||
TypeDicID dicid;
|
TypeDicID dicid;
|
||||||
#if __STDC__
|
#if __STDC__
|
||||||
unsigned sttkj : 1;
|
unsigned sttkj : 1;
|
||||||
unsigned ka_kj : 1;
|
unsigned ka_kj : 1;
|
||||||
unsigned nmflg : 1;
|
unsigned nmflg : 1;
|
||||||
#else
|
#else
|
||||||
u_char sttkj : 1;
|
u_char sttkj : 1;
|
||||||
u_char ka_kj : 1;
|
u_char ka_kj : 1;
|
||||||
u_char nmflg : 1;
|
u_char nmflg : 1;
|
||||||
#endif
|
#endif
|
||||||
} STDYIN;
|
} STDYIN;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct study_out {
|
typedef struct study_out {
|
||||||
STDYIN stdy1;
|
STDYIN stdy1;
|
||||||
TypeGram hinshi;
|
TypeGram hinshi;
|
||||||
u_char len;
|
u_char len;
|
||||||
#if __STDC__
|
#if __STDC__
|
||||||
unsigned sttlen : 2;
|
unsigned sttlen : 2;
|
||||||
unsigned sttfg : 1;
|
unsigned sttfg : 1;
|
||||||
unsigned ka_fg : 1;
|
unsigned ka_fg : 1;
|
||||||
#else
|
#else
|
||||||
u_char sttlen : 2;
|
u_char sttlen : 2;
|
||||||
u_char sttfg : 1;
|
u_char sttfg : 1;
|
||||||
u_char ka_fg : 1;
|
u_char ka_fg : 1;
|
||||||
#endif
|
#endif
|
||||||
} STDYOUT;
|
} STDYOUT;
|
||||||
|
|
||||||
|
typedef struct dict {
|
||||||
|
TypeDicID dicid;
|
||||||
|
|
||||||
|
TypeIdxOfs idxlen;
|
||||||
|
|
||||||
|
TypeDicOfs seglen;
|
||||||
|
TypeDicSeg segunit;
|
||||||
|
TypeDicSeg maxunit;
|
||||||
|
|
||||||
typedef struct dict {
|
IFunc getofs;
|
||||||
TypeDicID dicid;
|
IFunc getidx;
|
||||||
|
IFunc getdic;
|
||||||
TypeIdxOfs idxlen;
|
IFunc putidx;
|
||||||
|
IFunc putdic;
|
||||||
TypeDicOfs seglen;
|
IFunc rszdic;
|
||||||
TypeDicSeg segunit;
|
|
||||||
TypeDicSeg maxunit;
|
|
||||||
|
|
||||||
IFunc getofs;
|
|
||||||
IFunc getidx;
|
|
||||||
IFunc getdic;
|
|
||||||
IFunc putidx;
|
|
||||||
IFunc putdic;
|
|
||||||
IFunc rszdic;
|
|
||||||
} DICT;
|
} DICT;
|
||||||
|
|
||||||
|
typedef struct dictl {
|
||||||
|
DICT* dict;
|
||||||
|
struct dictl* next;
|
||||||
typedef struct dictl {
|
|
||||||
DICT *dict;
|
|
||||||
struct dictl *next;
|
|
||||||
} DICTL;
|
} DICTL;
|
||||||
|
|
||||||
|
typedef struct stdy {
|
||||||
|
|
||||||
|
|
||||||
typedef struct stdy {
|
|
||||||
short stdycnt;
|
short stdycnt;
|
||||||
short stdymax;
|
short stdymax;
|
||||||
STDYIN *stdydic;
|
STDYIN* stdydic;
|
||||||
|
|
||||||
short clstdystep;
|
short clstdystep;
|
||||||
u_short *clstdyidx;
|
u_short* clstdyidx;
|
||||||
|
|
||||||
short clstdylen;
|
short clstdylen;
|
||||||
u_char *clstdydic;
|
u_char* clstdydic;
|
||||||
} STDY;
|
} STDY;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,60 +33,58 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:18 $
|
* $SonyDate: 1994/06/03 08:01:18 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _SJ_STUDY
|
#ifndef _SJ_STUDY
|
||||||
|
|
||||||
#define _SJ_STUDY
|
#define _SJ_STUDY
|
||||||
|
|
||||||
#define StudyExist() (stdy_base)
|
#define StudyExist() (stdy_base)
|
||||||
|
|
||||||
#define STUDYCOUNT (stdy_base -> stdycnt)
|
#define STUDYCOUNT (stdy_base->stdycnt)
|
||||||
#define STUDYMAX (stdy_base -> stdymax)
|
#define STUDYMAX (stdy_base->stdymax)
|
||||||
#define STUDYDICT (stdy_base -> stdydic)
|
#define STUDYDICT (stdy_base->stdydic)
|
||||||
|
|
||||||
#define CLSTUDYIDX (stdy_base -> clstdyidx)
|
#define CLSTUDYIDX (stdy_base->clstdyidx)
|
||||||
#define CLSTUDYSTEP (stdy_base -> clstdystep)
|
#define CLSTUDYSTEP (stdy_base->clstdystep)
|
||||||
#define CLSTUDYLEN (stdy_base -> clstdylen)
|
#define CLSTUDYLEN (stdy_base->clstdylen)
|
||||||
#define CLSTUDYDICT (stdy_base -> clstdydic)
|
#define CLSTUDYDICT (stdy_base->clstdydic)
|
||||||
|
|
||||||
#define STUDYTAIL (STUDYDICT + STUDYMAX)
|
#define STUDYTAIL (STUDYDICT + STUDYMAX)
|
||||||
#define STUDYRECSIZE (sizeof(STDYIN))
|
#define STUDYRECSIZE (sizeof(STDYIN))
|
||||||
|
|
||||||
#define CLSTUDYTAIL (CLSTUDYDICT + CLSTUDYLEN)
|
#define CLSTUDYTAIL (CLSTUDYDICT + CLSTUDYLEN)
|
||||||
|
|
||||||
#define STUDYNORMEND 0
|
#define STUDYNORMEND 0
|
||||||
#define STUDYNODICT 1
|
#define STUDYNODICT 1
|
||||||
#define STUDYFULLAREA 2
|
#define STUDYFULLAREA 2
|
||||||
#define STUDYNOTSTUDY 3
|
#define STUDYNOTSTUDY 3
|
||||||
#define STUDYERROR 4
|
#define STUDYERROR 4
|
||||||
|
|
||||||
#define CLSTDY_TMPLEN 256
|
#define CLSTDY_TMPLEN 256
|
||||||
#define CLSTUDYNORMEND 0
|
#define CLSTUDYNORMEND 0
|
||||||
#define CLSTUDYNODICT 1
|
#define CLSTUDYNODICT 1
|
||||||
#define CLSTUDYPARAERR 2
|
#define CLSTUDYPARAERR 2
|
||||||
#define CLSTUDYYOMIERR 3
|
#define CLSTUDYYOMIERR 3
|
||||||
#define CLSTUDYNOAREA 4
|
#define CLSTUDYNOAREA 4
|
||||||
|
|
||||||
#define CL_YLEN 0
|
#define CL_YLEN 0
|
||||||
#define CL_GRAM2 1
|
#define CL_GRAM2 1
|
||||||
#define CL_Y1LEN 2
|
#define CL_Y1LEN 2
|
||||||
#define CL_NUMH 3
|
#define CL_NUMH 3
|
||||||
#define CL_NUML 4
|
#define CL_NUML 4
|
||||||
#define CL_YDATA 5
|
#define CL_YDATA 5
|
||||||
#define CL_HDLEN 5
|
#define CL_HDLEN 5
|
||||||
|
|
||||||
|
#define iseocl(p) (!ClYomiLen(p) || (u_char*)(p) >= CLSTUDYTAIL)
|
||||||
|
|
||||||
|
#define ClGramCode(p) *((p) + CL_GRAM2)
|
||||||
#define iseocl(p) (!ClYomiLen(p) || (u_char *)(p) >= CLSTUDYTAIL)
|
#define ClYomiLen(p) *((p) + CL_YLEN)
|
||||||
|
#define ClYomi1Len(p) *((p) + CL_Y1LEN)
|
||||||
#define ClGramCode(p) *((p) + CL_GRAM2)
|
#define ClHighNum(p) *(p + CL_NUMH)
|
||||||
#define ClYomiLen(p) *((p) + CL_YLEN)
|
#define ClLowNum(p) *(p + CL_NUML)
|
||||||
#define ClYomi1Len(p) *((p) + CL_Y1LEN)
|
#define ClGetNum(p) (ClHighNum(p) * 0x100 + ClLowNum(p))
|
||||||
#define ClHighNum(p) *(p + CL_NUMH)
|
#define ClSetNum(p, n) (ClHighNum(p) = (u_char)((n) >> 8), ClLowNum(p) = (u_char)(n))
|
||||||
#define ClLowNum(p) *(p + CL_NUML)
|
#define ClYomiPos(p) ((p) + CL_YDATA)
|
||||||
#define ClGetNum(p) (ClHighNum(p) * 0x100 + ClLowNum(p))
|
#define ClBlkLen(p) (ClYomiLen(p) + CL_HDLEN)
|
||||||
#define ClSetNum(p, n) (ClHighNum(p)=(u_char)((n) >> 8), ClLowNum(p)=(u_char)(n))
|
#define ClNextTag(p) ((p) + ClBlkLen(p))
|
||||||
#define ClYomiPos(p) ((p) + CL_YDATA)
|
|
||||||
#define ClBlkLen(p) (ClYomiLen(p) + CL_HDLEN)
|
|
||||||
#define ClNextTag(p) ((p) + ClBlkLen(p))
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,105 +33,90 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:19 $
|
* $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)
|
||||||
|
|
||||||
#ifndef _SJ_SUUJI
|
#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 _SJ_SUUJI
|
#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 SJTBLRECLEN 6
|
#define SELKANSJ 4
|
||||||
#define SJTBLRECNUM 34
|
#define SELKANSJ2 7
|
||||||
#define SjTblYPos(p) (p)
|
#define SELKANSJCMA 6
|
||||||
#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 SELNUM0123 (JFLAG_N01 | JFLAG_N23)
|
||||||
#define KR1TBLRECNUM 10
|
#define SELNUM1_23_10_1 (JFLAG_N_1 | JFLAG_N23 | JFLAG_N10 | JFLAG_NS1)
|
||||||
#define Kr1TblYPos(p) (p)
|
#define SELNUMMUST (JFLAG_NK2 | JFLAG_NK4 | JFLAG_NN0 | JFLAG_NSN)
|
||||||
#define KR1TBLYLEN 3
|
#define SELNUMALL (JFLAG_N10 | JFLAG_N_1 | JFLAG_NS1 | JFLAG_N01 | JFLAG_N23 | JFLAG_NK2 | JFLAG_NK4 | JFLAG_NN0 | JFLAG_NSN)
|
||||||
#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 SelNumFunc(c) ((c) & (~SELNUMALL))
|
||||||
#define KR2TBLRECNUM 3
|
#define SelNumCond(c) ((c) & SELNUMALL)
|
||||||
#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 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 _NUM1 0x02
|
#define NUMBER0 (1 << _NUM0)
|
||||||
#define _NUM2 0x03
|
#define NUMBER1 ((1 << _NUM1) | (1 << _NUM1S))
|
||||||
#define _NUM3 0x04
|
#define NUMBERS1 (1 << _NUM1S)
|
||||||
#define _NUM4 0x05
|
#define NUMBER01 (NUMBER0 | NUMBER1)
|
||||||
#define _NUM5 0x06
|
#define NUMBER23 ((1 << _NUM2) | (1 << _NUM3))
|
||||||
#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
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,92 +33,74 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:21 $
|
* $SonyDate: 1994/06/03 08:01:21 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _SJ_TABLE
|
#ifndef _SJ_TABLE
|
||||||
|
|
||||||
#define _SJ_TABLE
|
#define _SJ_TABLE
|
||||||
|
|
||||||
|
#define isdpnd(c) (Chrtbl[c] & DEPEND)
|
||||||
|
|
||||||
#define isdpnd(c) (Chrtbl[c] & DEPEND)
|
#define CnjAskLen(p) (((unsigned int)*(p) & 0x70) >> 4)
|
||||||
|
|
||||||
|
#define CnjNkrLen(p) (*(p) & 0x0f)
|
||||||
|
|
||||||
#define CnjAskLen(p) (((unsigned int) *(p) & 0x70) >> 4)
|
#define CnjRight(p) *(p + CnjNkrLen(p) + 1)
|
||||||
|
|
||||||
|
#define CnjRecLen(p) (CnjNkrLen(p) + 2)
|
||||||
|
|
||||||
#define CnjNkrLen(p) (*(p) & 0x0f)
|
#define FzkAskLen(p) ((unsigned int)*(p) >> 5)
|
||||||
|
|
||||||
|
#define FzkNkrLen(p) (*(p) & 0x07)
|
||||||
|
|
||||||
#define CnjRight(p) *(p + CnjNkrLen(p) + 1)
|
#define FzkStrKa(p) (((unsigned int)*(p) >> 3) & 1)
|
||||||
|
|
||||||
|
#define FzkHasCode(p) (*(p) & 0x10)
|
||||||
|
|
||||||
#define CnjRecLen(p) (CnjNkrLen(p) + 2)
|
#define FzkLeft(p) (*((p) + nlen + 1))
|
||||||
|
|
||||||
|
#define FzkRight(p) (*((p) + nlen + 2))
|
||||||
|
|
||||||
#define FzkAskLen(p) ((unsigned int) *(p) >> 5)
|
#define SttYomiLen(p) (*(p) & 0x0f)
|
||||||
|
|
||||||
|
#define SttHiraKnj(p) (*(p) & 0x80)
|
||||||
|
|
||||||
#define FzkNkrLen(p) (*(p) & 0x07)
|
#define StbKnjLen(p) (*(p) & 0x07)
|
||||||
|
|
||||||
|
#define StbYomiLen(p) (*(p) >> 4)
|
||||||
|
|
||||||
#define FzkStrKa(p) (((unsigned int) *(p) >> 3) & 1)
|
#define StbYomiTop(p) ((p) + 2)
|
||||||
|
|
||||||
|
#define StbBakeru(p) (*(p) & 0x08)
|
||||||
|
|
||||||
#define FzkHasCode(p) (*(p) & 0x10)
|
#define StbHinsi(p) (*((p) + 1))
|
||||||
|
|
||||||
|
#define Charsize charsize
|
||||||
#define FzkLeft(p) (*((p) + nlen + 1))
|
#define Chrtbl chrtbl
|
||||||
|
#define Conjadr(i) conjadr[i]
|
||||||
|
#define Connadr connadr
|
||||||
#define FzkRight(p) (*((p) + nlen + 2))
|
#define Cvtnum_func cvtnum_func
|
||||||
|
#define Fzkadr(i) fzkadr[i]
|
||||||
|
#define Getkan_func getkan_func
|
||||||
#define SttYomiLen(p) (*(p) & 0x0f)
|
#define Hiraknj_func hiraknj_func
|
||||||
|
#define Kigou kigou
|
||||||
|
#define Kurai1_tbl kurai1_tbl
|
||||||
#define SttHiraKnj(p) (*(p) & 0x80)
|
#define Kurai2_tbl kurai2_tbl
|
||||||
|
#define Makekan_func makekan_func
|
||||||
|
#define Num1tbl num1tbl
|
||||||
#define StbKnjLen(p) (*(p) & 0x07)
|
#define Num2tbl num2tbl
|
||||||
|
#define Num3tbl num3tbl
|
||||||
|
#define Num4tbl num4tbl
|
||||||
#define StbYomiLen(p) (*(p) >> 4)
|
#define Num5tbl num5tbl
|
||||||
|
#define Num6tbl num6tbl
|
||||||
|
#define Rigtadr(i) rigtadr[i]
|
||||||
#define StbYomiTop(p) ((p) + 2)
|
#define Scncttbl(i, j) scncttbl[i][j]
|
||||||
|
#define Selsjadrs(i) selsjadrs[i]
|
||||||
|
#define Setjrec_func setjrec_func
|
||||||
#define StbBakeru(p) (*(p) & 0x08)
|
#define Settou_ptr(i) settou_ptr[i]
|
||||||
|
#define Srchg_func srchg_func
|
||||||
|
#define Stbadr(i) stbadr[i]
|
||||||
#define StbHinsi(p) (*((p) + 1))
|
#define Sttpri(i, j) sttpri[i][j]
|
||||||
|
#define Suuji_tbl suuji_tbl
|
||||||
#define Charsize charsize
|
#define Taipri(i, j) taipri[i][j]
|
||||||
#define Chrtbl chrtbl
|
#define Termtbl termtbl
|
||||||
#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
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,35 +33,32 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:22 $
|
* $SonyDate: 1994/06/03 08:01:22 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _SJ_TYPEDEF
|
#ifndef _SJ_TYPEDEF
|
||||||
|
|
||||||
#define _SJ_TYPEDEF
|
#define _SJ_TYPEDEF
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#define RECURS
|
||||||
|
|
||||||
#define RECURS
|
typedef unsigned char u_char;
|
||||||
|
|
||||||
typedef unsigned char u_char;
|
|
||||||
typedef unsigned short u_short;
|
typedef unsigned short u_short;
|
||||||
typedef unsigned int u_int;
|
typedef unsigned int u_int;
|
||||||
|
|
||||||
|
typedef void (*VFunc)();
|
||||||
|
typedef u_char* (*UCPFunc)();
|
||||||
|
typedef int (*IFunc)();
|
||||||
|
|
||||||
typedef void (*VFunc)();
|
typedef u_char TypeGroup;
|
||||||
typedef u_char *(*UCPFunc)();
|
typedef u_char TypeGram;
|
||||||
typedef int (*IFunc)();
|
typedef u_short TypeIdxOfs;
|
||||||
|
typedef short TypeDicSeg;
|
||||||
typedef u_char TypeGroup;
|
typedef u_short TypeDicOfs;
|
||||||
typedef u_char TypeGram;
|
typedef ino_t TypeDicID;
|
||||||
typedef u_short TypeIdxOfs;
|
typedef u_char TypeCnct;
|
||||||
typedef short TypeDicSeg;
|
typedef short TypeStyNum;
|
||||||
typedef u_short TypeDicOfs;
|
typedef u_char TypeClass;
|
||||||
typedef ino_t TypeDicID;
|
typedef u_char TypeBunNum;
|
||||||
typedef u_char TypeCnct;
|
|
||||||
typedef short TypeStyNum;
|
|
||||||
typedef u_char TypeClass;
|
|
||||||
typedef u_char TypeBunNum;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,15 +33,15 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:23 $
|
* $SonyDate: 1994/06/03 08:01:23 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _SJ_VAR
|
#ifndef _SJ_VAR
|
||||||
#define _SJ_VAR
|
#define _SJ_VAR
|
||||||
|
|
||||||
#define MAXKOUHONUMBER 255
|
#define MAXKOUHONUMBER 255
|
||||||
|
|
||||||
#define MAXPHINPUTLEN 256
|
#define MAXPHINPUTLEN 256
|
||||||
#define MAXCLINPUTLEN 64
|
#define MAXCLINPUTLEN 64
|
||||||
|
|
||||||
#define MINCLOUTPUTLEN 512
|
#define MINCLOUTPUTLEN 512
|
||||||
#define MINPHOUTPUTLEN 288
|
#define MINPHOUTPUTLEN 288
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,185 +33,181 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:24 $
|
* $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
|
||||||
|
|
||||||
#ifndef _SJ_YOMICODE
|
#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 _SJ_YOMICODE
|
#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 _TYOUON 0x01
|
#define _XA 0x4E
|
||||||
#define _IGETA 0x02
|
#define _A 0x4F
|
||||||
#define _ATTO 0x03
|
#define _XI 0x50
|
||||||
#define _YUUBIN 0x04
|
#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 N_0 0x10
|
#define Y_KUTEN 0xF2
|
||||||
#define N_1 0x11
|
#define Y_TOUTEN 0xF3
|
||||||
#define N_2 0x12
|
#define Y_COMMA 0xF4
|
||||||
#define N_3 0x13
|
#define Y_PERIOD 0xF5
|
||||||
#define N_4 0x14
|
#define Y_QUOTA 0xF6
|
||||||
#define N_5 0x15
|
#define Y_BIKKURI 0xF7
|
||||||
#define N_6 0x16
|
#define Y_S_KIGOU1 0xF8
|
||||||
#define N_7 0x17
|
#define Y_S_KIGOU2 0xF9
|
||||||
#define N_8 0x18
|
#define Y_L_KAKKO 0xFA
|
||||||
#define N_9 0x19
|
#define Y_R_KAKKO 0xFB
|
||||||
|
#define Y_KIGOU 0xFC
|
||||||
|
#define Y_HANKAKU 0xFD
|
||||||
|
#define Y_ZENKAKU 0xFE
|
||||||
|
|
||||||
#define A_A 0x1A
|
#define _NIL 0
|
||||||
#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
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -33,60 +33,55 @@
|
||||||
* $SonyDate: 1994/06/03 08:03:45 $
|
* $SonyDate: 1994/06/03 08:03:45 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define ZKATA1 0xa5
|
||||||
|
#define ZHIRA1 0xa4
|
||||||
|
#define ZKATAF2 0xa1
|
||||||
|
#define ZKATAE2 0xf6
|
||||||
|
#define ZHIRAF2 0xa1
|
||||||
|
#define ZHIRAE2 0xf3
|
||||||
|
#define ZKATAMU 0xe0
|
||||||
|
#define ZHIRAMU 0xe0
|
||||||
|
|
||||||
|
#define ZKATAn (ZKATAE2 - ZKATAF2 + 1)
|
||||||
|
|
||||||
|
#define ZEN_SPACE 0xa1a1
|
||||||
|
#define ZEN_KTEN 0xa1a3
|
||||||
|
#define ZEN_FKAKKO 0xa1d6
|
||||||
|
#define ZEN_EKAKKO 0xa1d7
|
||||||
|
#define ZEN_TTEN 0xa1a2
|
||||||
|
#define ZEN_CTEN 0xa1a6
|
||||||
|
#define ZEN_CHOUON 0xa1bc
|
||||||
|
#define ZEN_DTEN 0xa1ab
|
||||||
|
#define ZEN_HDTEN 0xa1ac
|
||||||
|
#define ZEN_VU 0xa5f4
|
||||||
|
|
||||||
#define ZKATA1 0xa5
|
#define KANA_KTEN 0xa1
|
||||||
#define ZHIRA1 0xa4
|
#define KANA_FKAKKO 0xa2
|
||||||
#define ZKATAF2 0xa1
|
#define KANA_EKAKKO 0xa3
|
||||||
#define ZKATAE2 0xf6
|
#define KANA_TTEN 0xa4
|
||||||
#define ZHIRAF2 0xa1
|
#define KANA_CTEN 0xa5
|
||||||
#define ZHIRAE2 0xf3
|
#define KANA_CHOUON 0xb0
|
||||||
#define ZKATAMU 0xe0
|
#define KANA_DTEN 0xde
|
||||||
#define ZHIRAMU 0xe0
|
#define KANA_HDTEN 0xdf
|
||||||
|
|
||||||
#define ZKATAn (ZKATAE2-ZKATAF2+1)
|
#define KANA_XA 0xa7
|
||||||
|
#define KANA_XYA 0xac
|
||||||
|
#define KANA_XTSU 0xaf
|
||||||
|
|
||||||
|
#define KANA_A 0xb1
|
||||||
|
#define KANA_KA 0xb6
|
||||||
|
#define KANA_SA 0xbb
|
||||||
|
#define KANA_TA 0xc0
|
||||||
|
#define KANA_NA 0xc5
|
||||||
|
#define KANA_HA 0xca
|
||||||
|
#define KANA_MA 0xcf
|
||||||
|
#define KANA_YA 0xd4
|
||||||
|
#define KANA_RA 0xd7
|
||||||
|
#define KANA_WA 0xdc
|
||||||
|
#define KANA_WO 0xa6
|
||||||
|
|
||||||
|
#define KANA_GA (KANA_KA << 8) + KANA_DTEN
|
||||||
#define ZEN_SPACE 0xa1a1
|
#define KANA_ZA (KANA_SA << 8) + KANA_DTEN
|
||||||
#define ZEN_KTEN 0xa1a3
|
#define KANA_DA (KANA_TA << 8) + KANA_DTEN
|
||||||
#define ZEN_FKAKKO 0xa1d6
|
#define KANA_BA (KANA_HA << 8) + KANA_DTEN
|
||||||
#define ZEN_EKAKKO 0xa1d7
|
#define KANA_PA (KANA_HA << 8) + KANA_HDTEN
|
||||||
#define ZEN_TTEN 0xa1a2
|
|
||||||
#define ZEN_CTEN 0xa1a6
|
|
||||||
#define ZEN_CHOUON 0xa1bc
|
|
||||||
#define ZEN_DTEN 0xa1ab
|
|
||||||
#define ZEN_HDTEN 0xa1ac
|
|
||||||
#define ZEN_VU 0xa5f4
|
|
||||||
|
|
||||||
#define KANA_KTEN 0xa1
|
|
||||||
#define KANA_FKAKKO 0xa2
|
|
||||||
#define KANA_EKAKKO 0xa3
|
|
||||||
#define KANA_TTEN 0xa4
|
|
||||||
#define KANA_CTEN 0xa5
|
|
||||||
#define KANA_CHOUON 0xb0
|
|
||||||
#define KANA_DTEN 0xde
|
|
||||||
#define KANA_HDTEN 0xdf
|
|
||||||
|
|
||||||
#define KANA_XA 0xa7
|
|
||||||
#define KANA_XYA 0xac
|
|
||||||
#define KANA_XTSU 0xaf
|
|
||||||
|
|
||||||
#define KANA_A 0xb1
|
|
||||||
#define KANA_KA 0xb6
|
|
||||||
#define KANA_SA 0xbb
|
|
||||||
#define KANA_TA 0xc0
|
|
||||||
#define KANA_NA 0xc5
|
|
||||||
#define KANA_HA 0xca
|
|
||||||
#define KANA_MA 0xcf
|
|
||||||
#define KANA_YA 0xd4
|
|
||||||
#define KANA_RA 0xd7
|
|
||||||
#define KANA_WA 0xdc
|
|
||||||
#define KANA_WO 0xa6
|
|
||||||
|
|
||||||
#define KANA_GA (KANA_KA << 8) + KANA_DTEN
|
|
||||||
#define KANA_ZA (KANA_SA << 8) + KANA_DTEN
|
|
||||||
#define KANA_DA (KANA_TA << 8) + KANA_DTEN
|
|
||||||
#define KANA_BA (KANA_HA << 8) + KANA_DTEN
|
|
||||||
#define KANA_PA (KANA_HA << 8) + KANA_HDTEN
|
|
||||||
|
|
|
||||||
|
|
@ -33,35 +33,33 @@
|
||||||
* $SonyDate: 1994/06/03 08:03:46 $
|
* $SonyDate: 1994/06/03 08:03:46 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if !defined(__sony_news) || (defined(__sony_news) && !defined(SVR4))
|
#if !defined(__sony_news) || (defined(__sony_news) && !defined(SVR4))
|
||||||
#ifndef __KCTYPE
|
#ifndef __KCTYPE
|
||||||
#define __KCTYPE
|
#define __KCTYPE
|
||||||
|
|
||||||
#define sjis2euc sj3_sjis2euc
|
#define sjis2euc sj3_sjis2euc
|
||||||
#define jis2sjis sj3_jis2sjis
|
#define jis2sjis sj3_jis2sjis
|
||||||
#define euctosjis sj3_euctosjis
|
#define euctosjis sj3_euctosjis
|
||||||
#define sjis2jis sj3_sjis2jis
|
#define sjis2jis sj3_sjis2jis
|
||||||
#define euc2sjis sj3_euc2sjis
|
#define euc2sjis sj3_euc2sjis
|
||||||
#define jis2euc sj3_jis2euc
|
#define jis2euc sj3_jis2euc
|
||||||
#define sjistoeuc sj3_sjistoeuc
|
#define sjistoeuc sj3_sjistoeuc
|
||||||
|
|
||||||
#ifdef issjis1
|
#ifdef issjis1
|
||||||
#undef issjis1
|
#undef issjis1
|
||||||
#endif
|
#endif
|
||||||
#define issjis1(c) (((0x81 <= (c)) && ((c) <= 0x9f)) || \
|
#define issjis1(c) (((0x81 <= (c)) && ((c) <= 0x9f)) || \
|
||||||
((0xe0 <= (c)) && ((c) <= 0xfc)))
|
((0xe0 <= (c)) && ((c) <= 0xfc)))
|
||||||
|
|
||||||
#ifdef issjis2
|
#ifdef issjis2
|
||||||
#undef issjis2
|
#undef issjis2
|
||||||
#endif
|
#endif
|
||||||
#define issjis2(c) (((0x40 <= (c)) && ((c) <= 0xfc)) && ((c) != 0x7f))
|
#define issjis2(c) (((0x40 <= (c)) && ((c) <= 0xfc)) && ((c) != 0x7f))
|
||||||
|
|
||||||
#ifdef iseuc
|
#ifdef iseuc
|
||||||
#undef iseuc
|
#undef iseuc
|
||||||
#endif
|
#endif
|
||||||
#define iseuc(c) ((0xa1 <= (c)) && ((c) <= 0xfe))
|
#define iseuc(c) ((0xa1 <= (c)) && ((c) <= 0xfe))
|
||||||
|
|
||||||
#ifdef iseuckana
|
#ifdef iseuckana
|
||||||
#undef iseuckana
|
#undef iseuckana
|
||||||
|
|
@ -71,22 +69,22 @@
|
||||||
#ifdef iskana2
|
#ifdef iskana2
|
||||||
#undef iskana2
|
#undef iskana2
|
||||||
#endif
|
#endif
|
||||||
#define iskana2(c) ((0xa1 <= (c)) && ((c) <= 0xdf))
|
#define iskana2(c) ((0xa1 <= (c)) && ((c) <= 0xdf))
|
||||||
|
|
||||||
#ifdef jiszen
|
#ifdef jiszen
|
||||||
#undef jiszen
|
#undef jiszen
|
||||||
#endif
|
#endif
|
||||||
#define jiszen(c) (issjis1(((c) >> 8) & 0xff) && issjis2((c) & 0xff))
|
#define jiszen(c) (issjis1(((c) >> 8) & 0xff) && issjis2((c) & 0xff))
|
||||||
|
|
||||||
#ifdef isjjis
|
#ifdef isjjis
|
||||||
#undef isjjis
|
#undef isjjis
|
||||||
#endif
|
#endif
|
||||||
#define isjjis(c) ((0x21 <= (c)) && ((c) <= 0x7e))
|
#define isjjis(c) ((0x21 <= (c)) && ((c) <= 0x7e))
|
||||||
|
|
||||||
#ifdef jstrlen
|
#ifdef jstrlen
|
||||||
#undef jstrlen
|
#undef jstrlen
|
||||||
#endif
|
#endif
|
||||||
#define jstrlen(s) euclen(s, 65535)
|
#define jstrlen(s) euclen(s, 65535)
|
||||||
|
|
||||||
#ifdef iseuc3byte
|
#ifdef iseuc3byte
|
||||||
#undef iseuc3byte
|
#undef iseuc3byte
|
||||||
|
|
@ -101,15 +99,14 @@
|
||||||
#ifdef iskanji
|
#ifdef iskanji
|
||||||
#undef iskanji
|
#undef iskanji
|
||||||
#endif
|
#endif
|
||||||
#define iskanji issjis1
|
#define iskanji issjis1
|
||||||
#ifdef iskanji2
|
#ifdef iskanji2
|
||||||
#undef iskanji2
|
#undef iskanji2
|
||||||
#endif
|
#endif
|
||||||
#define iskanji2 issjis2
|
#define iskanji2 issjis2
|
||||||
#ifdef iskana
|
#ifdef iskana
|
||||||
#undef iskana
|
#undef iskana
|
||||||
#endif
|
#endif
|
||||||
#define iskana iskana2
|
#define iskana iskana2
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,66 +33,59 @@
|
||||||
* $SonyDate: 1994/06/03 08:03:47 $
|
* $SonyDate: 1994/06/03 08:03:47 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define KEY_NORMAL 0
|
||||||
|
#define KEY_CONV 1
|
||||||
|
#define KEY_HENKAN 2
|
||||||
|
#define KEY_MUHENKAN 3
|
||||||
|
#define KEY_KETTEI 4
|
||||||
|
#define KEY_ZHIRA 5
|
||||||
|
#define KEY_HALPHA 6
|
||||||
|
#define KEY_ZALPHA 7
|
||||||
|
#define KEY_HKATA 8
|
||||||
|
#define KEY_ZKATA 9
|
||||||
|
#define KEY_CODE 10
|
||||||
|
#define KEY_ETC 11
|
||||||
|
#define KEY_RIGHT 12
|
||||||
|
#define KEY_LEFT 13
|
||||||
|
#define KEY_UP 14
|
||||||
|
#define KEY_DOWN 15
|
||||||
|
#define KEY_TOGGLE 16
|
||||||
|
#define KEY_EDIT 17
|
||||||
|
|
||||||
|
#define KEY_WRAP 18
|
||||||
|
#define KEY_WRAPBACK 19
|
||||||
|
#define KEY_HELP 20
|
||||||
|
#define KEY_TOROKU 21
|
||||||
|
#define KEY_SYOUKYO 22
|
||||||
|
#define KEY_SJRC 23
|
||||||
|
|
||||||
|
#define KEY_HA_KET 24
|
||||||
|
#define KEY_FLUSH 25
|
||||||
|
#define KEY_BUFFER 26
|
||||||
|
|
||||||
|
#define KEY_HANKAKU 27
|
||||||
|
#define KEY_ZENKAKU 28
|
||||||
|
|
||||||
#define KEY_NORMAL 0
|
#define KEY_HIRAGANA 29
|
||||||
#define KEY_CONV 1
|
#define KEY_KATAKANA 30
|
||||||
#define KEY_HENKAN 2
|
#define KEY_EISUU 31
|
||||||
#define KEY_MUHENKAN 3
|
#define KEY_EIDAI 32
|
||||||
#define KEY_KETTEI 4
|
#define KEY_ROMA 33
|
||||||
#define KEY_ZHIRA 5
|
|
||||||
#define KEY_HALPHA 6
|
|
||||||
#define KEY_ZALPHA 7
|
|
||||||
#define KEY_HKATA 8
|
|
||||||
#define KEY_ZKATA 9
|
|
||||||
#define KEY_CODE 10
|
|
||||||
#define KEY_ETC 11
|
|
||||||
#define KEY_RIGHT 12
|
|
||||||
#define KEY_LEFT 13
|
|
||||||
#define KEY_UP 14
|
|
||||||
#define KEY_DOWN 15
|
|
||||||
#define KEY_TOGGLE 16
|
|
||||||
#define KEY_EDIT 17
|
|
||||||
|
|
||||||
#define KEY_WRAP 18
|
#define KEY_CANCEL 34
|
||||||
#define KEY_WRAPBACK 19
|
#define KEY_RECONV 35
|
||||||
#define KEY_HELP 20
|
|
||||||
#define KEY_TOROKU 21
|
|
||||||
#define KEY_SYOUKYO 22
|
|
||||||
#define KEY_SJRC 23
|
|
||||||
|
|
||||||
#define KEY_HA_KET 24
|
#define KEY_IGNORE 36
|
||||||
#define KEY_FLUSH 25
|
#define KEY_DEBUG 37
|
||||||
#define KEY_BUFFER 26
|
|
||||||
|
|
||||||
#define KEY_HANKAKU 27
|
#define KEY_TOP 38
|
||||||
#define KEY_ZENKAKU 28
|
#define KEY_END 39
|
||||||
|
#define KEY_RECONNECT 40
|
||||||
|
#define KEY_KILL 41
|
||||||
|
#define KEY_OTHER 42
|
||||||
|
|
||||||
#define KEY_HIRAGANA 29
|
#define KEY_MORE 43
|
||||||
#define KEY_KATAKANA 30
|
|
||||||
#define KEY_EISUU 31
|
|
||||||
#define KEY_EIDAI 32
|
|
||||||
#define KEY_ROMA 33
|
|
||||||
|
|
||||||
#define KEY_CANCEL 34
|
|
||||||
#define KEY_RECONV 35
|
|
||||||
|
|
||||||
#define KEY_IGNORE 36
|
|
||||||
#define KEY_DEBUG 37
|
|
||||||
|
|
||||||
#define KEY_TOP 38
|
|
||||||
#define KEY_END 39
|
|
||||||
#define KEY_RECONNECT 40
|
|
||||||
#define KEY_KILL 41
|
|
||||||
#define KEY_OTHER 42
|
|
||||||
|
|
||||||
#define KEY_MORE 43
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define UKEYNUM 64
|
|
||||||
#define SEQLEN 8
|
|
||||||
#define COMNUM 64
|
|
||||||
|
|
||||||
|
#define UKEYNUM 64
|
||||||
|
#define SEQLEN 8
|
||||||
|
#define COMNUM 64
|
||||||
|
|
|
||||||
|
|
@ -39,47 +39,46 @@
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include "wchar16.h"
|
#include "wchar16.h"
|
||||||
|
|
||||||
#define SPACE 0x20
|
#define SPACE 0x20
|
||||||
#define TAB 0x09
|
#define TAB 0x09
|
||||||
#define EOL 0x0a
|
#define EOL 0x0a
|
||||||
#define NSTR '\0'
|
#define NSTR '\0'
|
||||||
#ifndef ESC
|
#ifndef ESC
|
||||||
#define ESC 0x1b
|
#define ESC 0x1b
|
||||||
#endif
|
#endif
|
||||||
#define QUOTA '\''
|
#define QUOTA '\''
|
||||||
#define BSL '\\'
|
#define BSL '\\'
|
||||||
#define MASK 0xff
|
#define MASK 0xff
|
||||||
|
|
||||||
#define MAXLEN 256
|
#define MAXLEN 256
|
||||||
#define MAXWLEN 16
|
#define MAXWLEN 16
|
||||||
#define MAXLLEN 64
|
#define MAXLLEN 64
|
||||||
#define MAXCODE 256
|
#define MAXCODE 256
|
||||||
|
|
||||||
#define CONTINUE 0
|
#define CONTINUE 0
|
||||||
#define NOMACH -1
|
#define NOMACH -1
|
||||||
#define FAIL -1
|
#define FAIL -1
|
||||||
#define RKEND 0xffffffff
|
#define RKEND 0xffffffff
|
||||||
#define ERRBEL 0xfffffffc
|
#define ERRBEL 0xfffffffc
|
||||||
#define ERRCODE 0x80000000
|
#define ERRCODE 0x80000000
|
||||||
#define RKMASK 0x0000ffff
|
#define RKMASK 0x0000ffff
|
||||||
#define RKZEN 0xff00
|
#define RKZEN 0xff00
|
||||||
|
|
||||||
#define SetMojilen(c) ((c << 16) & 0x00ff0000)
|
#define SetMojilen(c) ((c << 16) & 0x00ff0000)
|
||||||
#define GetMojilen(c) ((c & ERRCODE) ? (1) : ((c >> 16) & 0xff))
|
#define GetMojilen(c) ((c & ERRCODE) ? (1) : ((c >> 16) & 0xff))
|
||||||
|
|
||||||
typedef struct rktable_w16 {
|
typedef struct rktable_w16 {
|
||||||
wchar16_t *r_key;
|
wchar16_t* r_key;
|
||||||
u_short *k_yomi;
|
u_short* k_yomi;
|
||||||
wchar16_t *r_str;
|
wchar16_t* r_str;
|
||||||
struct rktable_w16 *next;
|
struct rktable_w16* next;
|
||||||
} RkTablW16;
|
} RkTablW16;
|
||||||
|
|
||||||
typedef struct rktable {
|
typedef struct rktable {
|
||||||
u_char *r_key;
|
u_char* r_key;
|
||||||
u_short *k_yomi;
|
u_short* k_yomi;
|
||||||
u_char *r_str;
|
u_char* r_str;
|
||||||
struct rktable *next;
|
struct rktable* next;
|
||||||
} RkTabl;
|
} RkTabl;
|
||||||
|
|
||||||
#endif /* RK_H */
|
#endif /* RK_H */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,108 +20,107 @@
|
||||||
#include "rk.h"
|
#include "rk.h"
|
||||||
|
|
||||||
/* rk_conv.c */
|
/* rk_conv.c */
|
||||||
#define RKSIZE 256
|
#define RKSIZE 256
|
||||||
#define RKINCZ 32
|
#define RKINCZ 32
|
||||||
typedef struct rkbufrec {
|
typedef struct rkbufrec {
|
||||||
RkTablW16 *rkbuf;
|
RkTablW16* rkbuf;
|
||||||
RkTablW16 *rkend;
|
RkTablW16* rkend;
|
||||||
struct rkbufrec *rkbufp;
|
struct rkbufrec* rkbufp;
|
||||||
} RkbufRec;
|
} RkbufRec;
|
||||||
|
|
||||||
#define STRSIZE 1024
|
#define STRSIZE 1024
|
||||||
#define STRINCZ 256
|
#define STRINCZ 256
|
||||||
typedef struct strbufrec {
|
typedef struct strbufrec {
|
||||||
wchar16_t *strbuf;
|
wchar16_t* strbuf;
|
||||||
wchar16_t *strend;
|
wchar16_t* strend;
|
||||||
struct strbufrec *strbufp;
|
struct strbufrec* strbufp;
|
||||||
} StrbufRec;
|
} StrbufRec;
|
||||||
|
|
||||||
#define YMISIZE 512
|
#define YMISIZE 512
|
||||||
#define YMIINCZ 64
|
#define YMIINCZ 64
|
||||||
typedef struct ymibufrec {
|
typedef struct ymibufrec {
|
||||||
wchar16_t *ymibuf;
|
wchar16_t* ymibuf;
|
||||||
wchar16_t *ymiend;
|
wchar16_t* ymiend;
|
||||||
struct ymibufrec *ymibufp;
|
struct ymibufrec* ymibufp;
|
||||||
} YmibufRec;
|
} YmibufRec;
|
||||||
extern RkTabl *sj3_rcode[MAXCODE];
|
extern RkTabl* sj3_rcode[MAXCODE];
|
||||||
extern RkTablW16 *sj3_rcode_w16[MAXCODE];
|
extern RkTablW16* sj3_rcode_w16[MAXCODE];
|
||||||
extern RkTablW16 *rktblp;
|
extern RkTablW16* rktblp;
|
||||||
extern wchar16_t rline[MAXLLEN];
|
extern wchar16_t rline[MAXLLEN];
|
||||||
extern wchar16_t lstr[MAXLLEN];
|
extern wchar16_t lstr[MAXLLEN];
|
||||||
|
|
||||||
void sj3_rkcode(int);
|
void sj3_rkcode(int);
|
||||||
int sj3_rkinit2(char *, int);
|
int sj3_rkinit2(char*, int);
|
||||||
int rcode_sjis_init();
|
int rcode_sjis_init();
|
||||||
int rcode_euc_init();
|
int rcode_euc_init();
|
||||||
int sj3_rkinit(char *);
|
int sj3_rkinit(char*);
|
||||||
int sj3_rkinit_euc(char *);
|
int sj3_rkinit_euc(char*);
|
||||||
int sj3_rkinit_mb(char *);
|
int sj3_rkinit_mb(char*);
|
||||||
int sj3_rkinit_sub(char *rkfile, int (*)());
|
int sj3_rkinit_sub(char* rkfile, int (*)());
|
||||||
char *rkgetyomi(char *, wchar16_t *, int *);
|
char* rkgetyomi(char*, wchar16_t*, int*);
|
||||||
char *getkey(char *, wchar16_t *, int *);
|
char* getkey(char*, wchar16_t*, int*);
|
||||||
void cltable();
|
void cltable();
|
||||||
int chk_rstr(wchar16_t *, wchar16_t *, int, int);
|
int chk_rstr(wchar16_t*, wchar16_t*, int, int);
|
||||||
RkTablW16 *rkalloc();
|
RkTablW16* rkalloc();
|
||||||
int stradd(wchar16_t **, wchar16_t *, int);
|
int stradd(wchar16_t**, wchar16_t*, int);
|
||||||
int kstradd(wchar16_t **, wchar16_t *, int);
|
int kstradd(wchar16_t**, wchar16_t*, int);
|
||||||
RkTablW16 * mktable(wchar16_t *, int);
|
RkTablW16* mktable(wchar16_t*, int);
|
||||||
void sj3_rkebell(int);
|
void sj3_rkebell(int);
|
||||||
void sj3_rkclear();
|
void sj3_rkclear();
|
||||||
void sj3_rkreset();
|
void sj3_rkreset();
|
||||||
void sj3_rkconvc(wchar16_t, u_int *);
|
void sj3_rkconvc(wchar16_t, u_int*);
|
||||||
int sj3_rkconv2(wchar16_t *, u_int *, int);
|
int sj3_rkconv2(wchar16_t*, u_int*, int);
|
||||||
int sj3_rkconv(u_char *, u_char *);
|
int sj3_rkconv(u_char*, u_char*);
|
||||||
int sj3_rkconv_euc(u_char *, u_char *);
|
int sj3_rkconv_euc(u_char*, u_char*);
|
||||||
int sj3_rkconv_mb(u_char *, u_char *);
|
int sj3_rkconv_mb(u_char*, u_char*);
|
||||||
int sj3_rkconv_w16(wchar16_t *, wchar16_t *);
|
int sj3_rkconv_w16(wchar16_t*, wchar16_t*);
|
||||||
int rkmatch(wchar16_t *, wchar16_t *, int);
|
int rkmatch(wchar16_t*, wchar16_t*, int);
|
||||||
|
|
||||||
/* sj3_rkcv.h */
|
/* sj3_rkcv.h */
|
||||||
#ifdef ADDHK
|
#ifdef ADDHK
|
||||||
void setl_hktozh();
|
void setl_hktozh();
|
||||||
#endif
|
#endif
|
||||||
void mkkigou();
|
void mkkigou();
|
||||||
int sj_addten(u_short, u_short);
|
int sj_addten(u_short, u_short);
|
||||||
int sj_han2zen(u_short);
|
int sj_han2zen(u_short);
|
||||||
int sj3_hantozen_euc(u_char *, u_char *);
|
int sj3_hantozen_euc(u_char*, u_char*);
|
||||||
int sj3_hantozen_mb(u_char *, u_char *);
|
int sj3_hantozen_mb(u_char*, u_char*);
|
||||||
int sj3_hantozen_w16(wchar16_t *, wchar16_t *);
|
int sj3_hantozen_w16(wchar16_t*, wchar16_t*);
|
||||||
int sj_hantozen(wchar16_t *, wchar16_t *, int);
|
int sj_hantozen(wchar16_t*, wchar16_t*, int);
|
||||||
int sj_zen2han(u_short);
|
int sj_zen2han(u_short);
|
||||||
int sj3_zentohan(u_char *, u_char *);
|
int sj3_zentohan(u_char*, u_char*);
|
||||||
int sj3_zentohan_euc(u_char *, u_char *);
|
int sj3_zentohan_euc(u_char*, u_char*);
|
||||||
int sj3_zentohan_mb(u_char *, u_char *);
|
int sj3_zentohan_mb(u_char*, u_char*);
|
||||||
int sj3_zentohan_w16(wchar16_t *, wchar16_t *);
|
int sj3_zentohan_w16(wchar16_t*, wchar16_t*);
|
||||||
int sj_zentohan(wchar16_t *, wchar16_t *, int);
|
int sj_zentohan(wchar16_t*, wchar16_t*, int);
|
||||||
int sj_tokata(wchar16_t);
|
int sj_tokata(wchar16_t);
|
||||||
int sj_tohira(wchar16_t);
|
int sj_tohira(wchar16_t);
|
||||||
int sj_htok(wchar16_t *, wchar16_t *);
|
int sj_htok(wchar16_t*, wchar16_t*);
|
||||||
int sj_ktoh(wchar16_t *, wchar16_t *);
|
int sj_ktoh(wchar16_t*, wchar16_t*);
|
||||||
|
|
||||||
/* wc16_str.c */
|
/* wc16_str.c */
|
||||||
int sj3_iswcntrl16(wchar16_t);
|
int sj3_iswcntrl16(wchar16_t);
|
||||||
int sj3_iswupper16(wchar16_t);
|
int sj3_iswupper16(wchar16_t);
|
||||||
int sj3_iswdigit16(wchar16_t);
|
int sj3_iswdigit16(wchar16_t);
|
||||||
int sj3_iswxdigit16(wchar16_t);
|
int sj3_iswxdigit16(wchar16_t);
|
||||||
int sj3_wslen16(wchar16_t *);
|
int sj3_wslen16(wchar16_t*);
|
||||||
int sj3_wscmp16(wchar16_t *, wchar16_t *);
|
int sj3_wscmp16(wchar16_t*, wchar16_t*);
|
||||||
int sj3_wsncmp16(wchar16_t *, wchar16_t *, int);
|
int sj3_wsncmp16(wchar16_t*, wchar16_t*, int);
|
||||||
wchar16_t *sj3_wscpy16(wchar16_t *, wchar16_t *);
|
wchar16_t* sj3_wscpy16(wchar16_t*, wchar16_t*);
|
||||||
wchar16_t *sj3_wsncpy16(wchar16_t *, wchar16_t *, int);
|
wchar16_t* sj3_wsncpy16(wchar16_t*, wchar16_t*, int);
|
||||||
wchar16_t *sj3_wscat16(wchar16_t *, wchar16_t *);
|
wchar16_t* sj3_wscat16(wchar16_t*, wchar16_t*);
|
||||||
wchar16_t sj3_euc2wc16(unsigned int);
|
wchar16_t sj3_euc2wc16(unsigned int);
|
||||||
wchar16_t sj3_sjis2wc16(unsigned int);
|
wchar16_t sj3_sjis2wc16(unsigned int);
|
||||||
unsigned int sj3_wc2euc16(wchar16_t);
|
unsigned int sj3_wc2euc16(wchar16_t);
|
||||||
unsigned int sj3_wc2sjis16(wchar16_t);
|
unsigned int sj3_wc2sjis16(wchar16_t);
|
||||||
int sj3_wcs2eucs16(unsigned char *, wchar16_t *, int);
|
int sj3_wcs2eucs16(unsigned char*, wchar16_t*, int);
|
||||||
int sj3_wcs2sjiss16(unsigned char *, wchar16_t *, int);
|
int sj3_wcs2sjiss16(unsigned char*, wchar16_t*, int);
|
||||||
int sj3_eucs2wcs16(wchar16_t *, unsigned char *, int);
|
int sj3_eucs2wcs16(wchar16_t*, unsigned char*, int);
|
||||||
int sj3_sjiss2wcs16(wchar16_t *, unsigned char *, int);
|
int sj3_sjiss2wcs16(wchar16_t*, unsigned char*, int);
|
||||||
int sj3_mbstowcs16(wchar16_t *, unsigned char *, int);
|
int sj3_mbstowcs16(wchar16_t*, unsigned char*, int);
|
||||||
int sj3_wcstombs16(unsigned char *, unsigned char *, int);
|
int sj3_wcstombs16(unsigned char*, unsigned char*, int);
|
||||||
|
|
||||||
/* XXX */
|
/* XXX */
|
||||||
extern int current_locale;
|
extern int current_locale;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,24 +33,21 @@
|
||||||
* $SonyDate: 1994/06/03 08:03:52 $
|
* $SonyDate: 1994/06/03 08:03:52 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _WCHARH
|
#ifndef _WCHARH
|
||||||
#define _WCHARH
|
#define _WCHARH
|
||||||
|
|
||||||
|
|
||||||
#if defined(__sony_news) && defined(SVR4)
|
#if defined(__sony_news) && defined(SVR4)
|
||||||
#define _WCHAR_T
|
#define _WCHAR_T
|
||||||
typedef unsigned short wchar_t;
|
typedef unsigned short wchar_t;
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <widec.h>
|
#include <widec.h>
|
||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
typedef wchar_t wchar16_t;
|
typedef wchar_t wchar16_t;
|
||||||
#else
|
#else
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
typedef unsigned short wchar16_t;
|
typedef unsigned short wchar16_t;
|
||||||
#endif
|
#endif
|
||||||
#include "key.h"
|
#include "key.h"
|
||||||
|
|
||||||
|
|
@ -64,61 +61,57 @@ typedef unsigned short wchar16_t;
|
||||||
#ifdef iswcntrl
|
#ifdef iswcntrl
|
||||||
#undef iswcntrl
|
#undef iswcntrl
|
||||||
#endif
|
#endif
|
||||||
#define iswcntrl(wc) sj3_iswcntrl16(wc)
|
#define iswcntrl(wc) sj3_iswcntrl16(wc)
|
||||||
#ifdef iswupper
|
#ifdef iswupper
|
||||||
#undef iswupper
|
#undef iswupper
|
||||||
#endif
|
#endif
|
||||||
#define iswupper(wc) sj3_iswupper16(wc)
|
#define iswupper(wc) sj3_iswupper16(wc)
|
||||||
#ifdef iswdigit
|
#ifdef iswdigit
|
||||||
#undef iswdigit
|
#undef iswdigit
|
||||||
#endif
|
#endif
|
||||||
#define iswdigit(wc) sj3_iswdigit16(wc)
|
#define iswdigit(wc) sj3_iswdigit16(wc)
|
||||||
#ifdef iswxdigit
|
#ifdef iswxdigit
|
||||||
#undef iswxdigit
|
#undef iswxdigit
|
||||||
#endif
|
#endif
|
||||||
#define iswxdigit(wc) sj3_iswxdigit16(wc)
|
#define iswxdigit(wc) sj3_iswxdigit16(wc)
|
||||||
#ifdef wslen
|
#ifdef wslen
|
||||||
#undef wslen
|
#undef wslen
|
||||||
#endif
|
#endif
|
||||||
#define wslen(ws) sj3_wslen16(ws)
|
#define wslen(ws) sj3_wslen16(ws)
|
||||||
#ifdef wscmp
|
#ifdef wscmp
|
||||||
#undef wscmp
|
#undef wscmp
|
||||||
#endif
|
#endif
|
||||||
#define wscmp(ws1, ws2) sj3_wscmp16(ws1, ws2)
|
#define wscmp(ws1, ws2) sj3_wscmp16(ws1, ws2)
|
||||||
#ifdef wsncmp
|
#ifdef wsncmp
|
||||||
#undef wsncmp
|
#undef wsncmp
|
||||||
#endif
|
#endif
|
||||||
#define wsncmp(ws1, ws2, n) sj3_wsncmp16(ws1, ws2, n)
|
#define wsncmp(ws1, ws2, n) sj3_wsncmp16(ws1, ws2, n)
|
||||||
#ifdef wscpy
|
#ifdef wscpy
|
||||||
#undef wscpy
|
#undef wscpy
|
||||||
#endif
|
#endif
|
||||||
#define wscpy(ws1, ws2) sj3_wscpy16(ws1, ws2)
|
#define wscpy(ws1, ws2) sj3_wscpy16(ws1, ws2)
|
||||||
#ifdef wsncpy
|
#ifdef wsncpy
|
||||||
#undef wsncpy
|
#undef wsncpy
|
||||||
#endif
|
#endif
|
||||||
#define wsncpy(ws1, ws2, n) sj3_wsncpy16(ws1, ws2, n)
|
#define wsncpy(ws1, ws2, n) sj3_wsncpy16(ws1, ws2, n)
|
||||||
#ifdef wscat
|
#ifdef wscat
|
||||||
#undef wscat
|
#undef wscat
|
||||||
#endif
|
#endif
|
||||||
#define wscat(ws1, ws2) sj3_wscat16(ws1, ws2)
|
#define wscat(ws1, ws2) sj3_wscat16(ws1, ws2)
|
||||||
#ifdef mbstowcs
|
#ifdef mbstowcs
|
||||||
#undef mbstowcs
|
#undef mbstowcs
|
||||||
#endif
|
#endif
|
||||||
#define mbstowcs(mb, ws, n) sj3_mbstowcs16(mb, ws, n)
|
#define mbstowcs(mb, ws, n) sj3_mbstowcs16(mb, ws, n)
|
||||||
#ifdef wcstombs
|
#ifdef wcstombs
|
||||||
#undef wcstombs
|
#undef wcstombs
|
||||||
#endif
|
#endif
|
||||||
#define wcstombs(ws, mb, n) sj3_wcstombs16(ws, mb, n)
|
#define wcstombs(ws, mb, n) sj3_wcstombs16(ws, mb, n)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define LC_CTYPE_SHIFTJIS 1
|
#define LC_CTYPE_SHIFTJIS 1
|
||||||
#define LC_CTYPE_EUC 2
|
#define LC_CTYPE_EUC 2
|
||||||
|
|
||||||
#define IsEUCHojo(x) (((unsigned char) (x)) == SS3)
|
#define IsEUCHojo(x) (((unsigned char)(x)) == SS3)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define WcX0208MASK 0xffff
|
#define WcX0208MASK 0xffff
|
||||||
#define WcX0212MASK 0xff7f
|
#define WcX0212MASK 0xff7f
|
||||||
|
|
@ -131,262 +124,240 @@ typedef unsigned short wchar16_t;
|
||||||
#define WcX0212FLAG 0x8000
|
#define WcX0212FLAG 0x8000
|
||||||
#define WcX0201FLAG 0x0080
|
#define WcX0201FLAG 0x0080
|
||||||
|
|
||||||
#define WcLowByte(w) ((w) & 0xff)
|
#define WcLowByte(w) ((w) & 0xff)
|
||||||
#define WcHighByte(w) (((w) >> 8) & 0xff)
|
#define WcHighByte(w) (((w) >> 8) & 0xff)
|
||||||
|
|
||||||
#define WcIsASCII(w) ((((wchar16_t) (w)) & WcX0208FLAG) == WcASCIIFLAG)
|
#define WcIsASCII(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcASCIIFLAG)
|
||||||
#define WcIsX0208(w) ((((wchar16_t) (w)) & WcX0208FLAG) == WcX0208FLAG)
|
#define WcIsX0208(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcX0208FLAG)
|
||||||
#define WcIsX0201(w) ((((wchar16_t) (w)) & WcX0208FLAG) == WcX0201FLAG)
|
#define WcIsX0201(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcX0201FLAG)
|
||||||
#define WcIsX0212(w) ((((wchar16_t) (w)) & WcX0208FLAG) == WcX0212FLAG)
|
#define WcIsX0212(w) ((((wchar16_t)(w)) & WcX0208FLAG) == WcX0212FLAG)
|
||||||
|
|
||||||
#define WcIsZENKAKU(w) ((((wchar16_t) (w)) & WcX0212FLAG) == WcX0212FLAG)
|
#define WcIsZENKAKU(w) ((((wchar16_t)(w)) & WcX0212FLAG) == WcX0212FLAG)
|
||||||
#define WcIsHANKAKU(w) ((((wchar16_t) (w)) & WcX0212FLAG) == WcASCIIFLAG)
|
#define WcIsHANKAKU(w) ((((wchar16_t)(w)) & WcX0212FLAG) == WcASCIIFLAG)
|
||||||
#define WcIsKANJI(w) WcIsZENKAKU(w)
|
#define WcIsKANJI(w) WcIsZENKAKU(w)
|
||||||
#define WcIsKANA(w) WcIsX0201(w)
|
#define WcIsKANA(w) WcIsX0201(w)
|
||||||
|
|
||||||
#define WcSetX0212(c1, c2) ((((c1) & 0xff) << 8) + ((c2) & 0x7f))
|
#define WcSetX0212(c1, c2) ((((c1) & 0xff) << 8) + ((c2) & 0x7f))
|
||||||
#define WcJIS2X0208(w) ((w) | WcX0208FLAG)
|
#define WcJIS2X0208(w) ((w) | WcX0208FLAG)
|
||||||
#define WcJIS2X0212(w) ((w) | WcX0212FLAG)
|
#define WcJIS2X0212(w) ((w) | WcX0212FLAG)
|
||||||
#define Wc2JIS(w) ((w) & WcJISMASK)
|
#define Wc2JIS(w) ((w) & WcJISMASK)
|
||||||
|
|
||||||
|
#define WCSJrun WcMessages[0]
|
||||||
|
|
||||||
#define WCSJrun WcMessages[0]
|
#define WCMode_buff WcMessages[1]
|
||||||
|
#define WCMode_unbuff WcMessages[2]
|
||||||
|
|
||||||
#define WCMode_buff WcMessages[1]
|
#define WCMode_Zhira WcMessages[3]
|
||||||
#define WCMode_unbuff WcMessages[2]
|
#define WCMode_Zkata WcMessages[4]
|
||||||
|
#define WCMode_Hkata WcMessages[5]
|
||||||
|
#define WCMode_Zalpha WcMessages[6]
|
||||||
|
#define WCMode_Halpha WcMessages[7]
|
||||||
|
|
||||||
#define WCMode_Zhira WcMessages[3]
|
#define WCGmode WcMessages[8]
|
||||||
#define WCMode_Zkata WcMessages[4]
|
#define WCGEtc WcMessages[9]
|
||||||
#define WCMode_Hkata WcMessages[5]
|
#define WCGetc WcMessages[10]
|
||||||
#define WCMode_Zalpha WcMessages[6]
|
|
||||||
#define WCMode_Halpha WcMessages[7]
|
|
||||||
|
|
||||||
#define WCGmode WcMessages[8]
|
#define WCGHelp WcMessages[11]
|
||||||
#define WCGEtc WcMessages[9]
|
#define WCMHelp WcMessages[12]
|
||||||
#define WCGetc WcMessages[10]
|
|
||||||
|
|
||||||
#define WCGHelp WcMessages[11]
|
#define WCGCshift WcMessages[13]
|
||||||
#define WCMHelp WcMessages[12]
|
#define WCGCeuc WcMessages[14]
|
||||||
|
#define WCGCeuc2 WcMessages[15]
|
||||||
|
#define WCGCjis WcMessages[16]
|
||||||
|
#define WCGCjis2 WcMessages[17]
|
||||||
|
#define WCGCkuten WcMessages[18]
|
||||||
|
#define WCGCkuten2 WcMessages[19]
|
||||||
|
|
||||||
|
#define WCGtoroku WcMessages[20]
|
||||||
|
#define WCMhani WcMessages[21]
|
||||||
|
#define WCMyomi WcMessages[22]
|
||||||
|
#define WCTOUROKU_OK WcMessages[23]
|
||||||
|
#define WCSYOUKYO_OK WcMessages[24]
|
||||||
|
#define WCTOUROKU_HIN WcMessages[25]
|
||||||
|
#define WCTOUROKU_SUCC WcMessages[26]
|
||||||
|
#define WCYomi WcMessages[27]
|
||||||
|
#define WCOne WcMessages[28]
|
||||||
|
#define WCY WcMessages[29]
|
||||||
|
#define WCExist WcMessages[30]
|
||||||
|
#define WCYomiTouroku WcMessages[31]
|
||||||
|
#define WCKanjiTouroku WcMessages[32]
|
||||||
|
#define WCOnajiTouroku WcMessages[33]
|
||||||
|
#define WCUserTouroku WcMessages[34]
|
||||||
|
#define WCJishoLock WcMessages[35]
|
||||||
|
#define WCSystemError WcMessages[36]
|
||||||
|
#define WCKanma WcMessages[37]
|
||||||
|
|
||||||
|
#define WCGsyoukyo WcMessages[38]
|
||||||
|
#define WCSYOUKYO_SUCC WcMessages[39]
|
||||||
|
#define WCNotExist WcMessages[40]
|
||||||
|
#define WCUserLock WcMessages[41]
|
||||||
|
#define WCYomiShokyo WcMessages[42]
|
||||||
|
#define WCKanjiShokyo WcMessages[43]
|
||||||
|
#define WCShokyoError WcMessages[44]
|
||||||
|
|
||||||
#define WCGCshift WcMessages[13]
|
#define WCSUCCsjrc WcMessages[45]
|
||||||
#define WCGCeuc WcMessages[14]
|
#define WCFAILsjrc WcMessages[46]
|
||||||
#define WCGCeuc2 WcMessages[15]
|
#define WCNOTHsjrc WcMessages[47]
|
||||||
#define WCGCjis WcMessages[16]
|
|
||||||
#define WCGCjis2 WcMessages[17]
|
|
||||||
#define WCGCkuten WcMessages[18]
|
|
||||||
#define WCGCkuten2 WcMessages[19]
|
|
||||||
|
|
||||||
|
#define WCWeight_mes WcMessages[48]
|
||||||
|
|
||||||
|
#define WCGrcon WcMessages[49]
|
||||||
|
#define WCRserv WcMessages[50]
|
||||||
|
#define WCRserv_OK WcMessages[51]
|
||||||
|
#define WCDiscon WcMessages[52]
|
||||||
|
|
||||||
#define WCGtoroku WcMessages[20]
|
#define WCSpace WcMessages[53]
|
||||||
#define WCMhani WcMessages[21]
|
#define WCSpace2 WcMessages[54]
|
||||||
#define WCMyomi WcMessages[22]
|
#define WCContinue WcMessages[55]
|
||||||
#define WCTOUROKU_OK WcMessages[23]
|
|
||||||
#define WCSYOUKYO_OK WcMessages[24]
|
|
||||||
#define WCTOUROKU_HIN WcMessages[25]
|
|
||||||
#define WCTOUROKU_SUCC WcMessages[26]
|
|
||||||
#define WCYomi WcMessages[27]
|
|
||||||
#define WCOne WcMessages[28]
|
|
||||||
#define WCY WcMessages[29]
|
|
||||||
#define WCExist WcMessages[30]
|
|
||||||
#define WCYomiTouroku WcMessages[31]
|
|
||||||
#define WCKanjiTouroku WcMessages[32]
|
|
||||||
#define WCOnajiTouroku WcMessages[33]
|
|
||||||
#define WCUserTouroku WcMessages[34]
|
|
||||||
#define WCJishoLock WcMessages[35]
|
|
||||||
#define WCSystemError WcMessages[36]
|
|
||||||
#define WCKanma WcMessages[37]
|
|
||||||
|
|
||||||
|
#define WCServer_Dead WcMessages[56]
|
||||||
|
#define WCConnected WcMessages[57]
|
||||||
|
#define WCNconnect WcMessages[58]
|
||||||
|
#define WCNopen_Mdic WcMessages[59]
|
||||||
|
#define WCNmake_Udir WcMessages[60]
|
||||||
|
#define WCNmake_Udic WcMessages[61]
|
||||||
|
#define WCNopen_Udic WcMessages[62]
|
||||||
|
#define WCNmake_Study WcMessages[63]
|
||||||
|
#define WCNopen_Study WcMessages[64]
|
||||||
|
|
||||||
#define WCGsyoukyo WcMessages[38]
|
#define WCGedit WcMessages[65]
|
||||||
#define WCSYOUKYO_SUCC WcMessages[39]
|
|
||||||
#define WCNotExist WcMessages[40]
|
|
||||||
#define WCUserLock WcMessages[41]
|
|
||||||
#define WCYomiShokyo WcMessages[42]
|
|
||||||
#define WCKanjiShokyo WcMessages[43]
|
|
||||||
#define WCShokyoError WcMessages[44]
|
|
||||||
|
|
||||||
|
#define WCTooLong WcMessages[67]
|
||||||
|
#define WCDollar WcMessages[68]
|
||||||
|
|
||||||
|
#define WCOn WcMessages[69]
|
||||||
|
#define WCOff WcMessages[70]
|
||||||
|
|
||||||
#define WCSUCCsjrc WcMessages[45]
|
#define WCMeishi WcMessages[71]
|
||||||
#define WCFAILsjrc WcMessages[46]
|
#define WCMyouji WcMessages[72]
|
||||||
#define WCNOTHsjrc WcMessages[47]
|
#define WCNamae WcMessages[73]
|
||||||
|
#define WCTimei WcMessages[74]
|
||||||
|
#define WCSahen WcMessages[75]
|
||||||
|
|
||||||
|
#define WCKara WcMessages[76]
|
||||||
|
#define WCF1 WcMessages[77]
|
||||||
|
#define WCF2 WcMessages[78]
|
||||||
|
#define WCF3 WcMessages[79]
|
||||||
|
#define WCF4 WcMessages[80]
|
||||||
|
#define WCF5 WcMessages[81]
|
||||||
|
#define WCF6 WcMessages[82]
|
||||||
|
#define WCF7 WcMessages[83]
|
||||||
|
#define WCF8 WcMessages[84]
|
||||||
|
#define WCF9 WcMessages[85]
|
||||||
|
#define WCF10 WcMessages[86]
|
||||||
|
#define WCF11 WcMessages[87]
|
||||||
|
#define WCF12 WcMessages[88]
|
||||||
|
#define WCF13 WcMessages[89]
|
||||||
|
#define WCF14 WcMessages[90]
|
||||||
|
#define WCF15 WcMessages[91]
|
||||||
|
#define WCF16 WcMessages[92]
|
||||||
|
#define WCF17 WcMessages[93]
|
||||||
|
#define WCF18 WcMessages[94]
|
||||||
|
#define WCF19 WcMessages[95]
|
||||||
|
#define WCF20 WcMessages[96]
|
||||||
|
#define WCSelect WcMessages[97]
|
||||||
|
#define WCKanji WcMessages[98]
|
||||||
|
#define WCCancel WcMessages[99]
|
||||||
|
#define WCExecute WcMessages[100]
|
||||||
|
#define WCUp WcMessages[101]
|
||||||
|
#define WCDown WcMessages[102]
|
||||||
|
#define WCRight WcMessages[103]
|
||||||
|
#define WCLeft WcMessages[104]
|
||||||
|
|
||||||
#define WCWeight_mes WcMessages[48]
|
#define WCStart WcMessages[105]
|
||||||
|
#define WCHenkan WcMessages[106]
|
||||||
|
#define WCMuhen WcMessages[107]
|
||||||
|
#define WCKettei WcMessages[108]
|
||||||
|
#define WCHira WcMessages[109]
|
||||||
|
#define WCHalpha WcMessages[110]
|
||||||
|
#define WCZalpha WcMessages[111]
|
||||||
|
#define WCHkata WcMessages[112]
|
||||||
|
#define WCZkata WcMessages[113]
|
||||||
|
#define WCCode WcMessages[114]
|
||||||
|
#define WCEtc WcMessages[115]
|
||||||
|
#define WCRightl WcMessages[116]
|
||||||
|
#define WCLeftl WcMessages[117]
|
||||||
|
#define WCKaku WcMessages[118]
|
||||||
|
#define WCSyuku WcMessages[119]
|
||||||
|
#define WCEdit WcMessages[120]
|
||||||
|
#define WCToggle WcMessages[121]
|
||||||
|
#define WCWrapback WcMessages[122]
|
||||||
|
#define WCWrap WcMessages[123]
|
||||||
|
#define WCSjrc WcMessages[124]
|
||||||
|
#define WCBuffer WcMessages[125]
|
||||||
|
#define WCToroku WcMessages[126]
|
||||||
|
#define WCSyoukyo WcMessages[127]
|
||||||
|
#define WCHelp WcMessages[128]
|
||||||
|
#define WCHaKettei WcMessages[129]
|
||||||
|
#define WCFlush WcMessages[130]
|
||||||
|
#define WCDebug WcMessages[131]
|
||||||
|
#define WCCancell WcMessages[132]
|
||||||
|
#define WCSaihenkan WcMessages[133]
|
||||||
|
#define WCIgnore WcMessages[134]
|
||||||
|
#define WCTop WcMessages[135]
|
||||||
|
#define WCEnd WcMessages[136]
|
||||||
|
#define WCReconnect WcMessages[137]
|
||||||
|
#define WCKill WcMessages[138]
|
||||||
|
|
||||||
|
#define WCKey WcMessages[139]
|
||||||
|
#define WCEscape WcMessages[140]
|
||||||
#define WCGrcon WcMessages[49]
|
#define WCSjxkey WcMessages[141]
|
||||||
#define WCRserv WcMessages[50]
|
#define WCEtckey WcMessages[142]
|
||||||
#define WCRserv_OK WcMessages[51]
|
#define WCIntr WcMessages[143]
|
||||||
#define WCDiscon WcMessages[52]
|
#define WCBskey WcMessages[144]
|
||||||
|
#define WCDelkey WcMessages[145]
|
||||||
#define WCSpace WcMessages[53]
|
#define WCSetnormal WcMessages[146]
|
||||||
#define WCSpace2 WcMessages[54]
|
#define WCThroughnext WcMessages[147]
|
||||||
#define WCContinue WcMessages[55]
|
#define WCInitialmode WcMessages[148]
|
||||||
|
#define WCHelpmode WcMessages[149]
|
||||||
|
#define WCDefaultcode WcMessages[150]
|
||||||
#define WCServer_Dead WcMessages[56]
|
#define WCMuhenkanmode WcMessages[151]
|
||||||
#define WCConnected WcMessages[57]
|
#define WCMuhenkaninedit WcMessages[152]
|
||||||
#define WCNconnect WcMessages[58]
|
#define WCMuhenkantoggle WcMessages[153]
|
||||||
#define WCNopen_Mdic WcMessages[59]
|
#define WCGuide WcMessages[154]
|
||||||
#define WCNmake_Udir WcMessages[60]
|
#define WCForkshell WcMessages[155]
|
||||||
#define WCNmake_Udic WcMessages[61]
|
#define WCExecshell WcMessages[156]
|
||||||
#define WCNopen_Udic WcMessages[62]
|
#define WCDictionary WcMessages[157]
|
||||||
#define WCNmake_Study WcMessages[63]
|
#define WCUserdic WcMessages[158]
|
||||||
#define WCNopen_Study WcMessages[64]
|
#define WCMaindic WcMessages[159]
|
||||||
|
#define WCRomaji WcMessages[160]
|
||||||
|
#define WCBstudy WcMessages[161]
|
||||||
|
#define WCSilent WcMessages[162]
|
||||||
#define WCGedit WcMessages[65]
|
|
||||||
|
|
||||||
|
|
||||||
#define WCTooLong WcMessages[67]
|
|
||||||
#define WCDollar WcMessages[68]
|
|
||||||
|
|
||||||
|
|
||||||
#define WCOn WcMessages[69]
|
|
||||||
#define WCOff WcMessages[70]
|
|
||||||
|
|
||||||
|
|
||||||
#define WCMeishi WcMessages[71]
|
|
||||||
#define WCMyouji WcMessages[72]
|
|
||||||
#define WCNamae WcMessages[73]
|
|
||||||
#define WCTimei WcMessages[74]
|
|
||||||
#define WCSahen WcMessages[75]
|
|
||||||
|
|
||||||
|
|
||||||
#define WCKara WcMessages[76]
|
|
||||||
#define WCF1 WcMessages[77]
|
|
||||||
#define WCF2 WcMessages[78]
|
|
||||||
#define WCF3 WcMessages[79]
|
|
||||||
#define WCF4 WcMessages[80]
|
|
||||||
#define WCF5 WcMessages[81]
|
|
||||||
#define WCF6 WcMessages[82]
|
|
||||||
#define WCF7 WcMessages[83]
|
|
||||||
#define WCF8 WcMessages[84]
|
|
||||||
#define WCF9 WcMessages[85]
|
|
||||||
#define WCF10 WcMessages[86]
|
|
||||||
#define WCF11 WcMessages[87]
|
|
||||||
#define WCF12 WcMessages[88]
|
|
||||||
#define WCF13 WcMessages[89]
|
|
||||||
#define WCF14 WcMessages[90]
|
|
||||||
#define WCF15 WcMessages[91]
|
|
||||||
#define WCF16 WcMessages[92]
|
|
||||||
#define WCF17 WcMessages[93]
|
|
||||||
#define WCF18 WcMessages[94]
|
|
||||||
#define WCF19 WcMessages[95]
|
|
||||||
#define WCF20 WcMessages[96]
|
|
||||||
#define WCSelect WcMessages[97]
|
|
||||||
#define WCKanji WcMessages[98]
|
|
||||||
#define WCCancel WcMessages[99]
|
|
||||||
#define WCExecute WcMessages[100]
|
|
||||||
#define WCUp WcMessages[101]
|
|
||||||
#define WCDown WcMessages[102]
|
|
||||||
#define WCRight WcMessages[103]
|
|
||||||
#define WCLeft WcMessages[104]
|
|
||||||
|
|
||||||
#define WCStart WcMessages[105]
|
|
||||||
#define WCHenkan WcMessages[106]
|
|
||||||
#define WCMuhen WcMessages[107]
|
|
||||||
#define WCKettei WcMessages[108]
|
|
||||||
#define WCHira WcMessages[109]
|
|
||||||
#define WCHalpha WcMessages[110]
|
|
||||||
#define WCZalpha WcMessages[111]
|
|
||||||
#define WCHkata WcMessages[112]
|
|
||||||
#define WCZkata WcMessages[113]
|
|
||||||
#define WCCode WcMessages[114]
|
|
||||||
#define WCEtc WcMessages[115]
|
|
||||||
#define WCRightl WcMessages[116]
|
|
||||||
#define WCLeftl WcMessages[117]
|
|
||||||
#define WCKaku WcMessages[118]
|
|
||||||
#define WCSyuku WcMessages[119]
|
|
||||||
#define WCEdit WcMessages[120]
|
|
||||||
#define WCToggle WcMessages[121]
|
|
||||||
#define WCWrapback WcMessages[122]
|
|
||||||
#define WCWrap WcMessages[123]
|
|
||||||
#define WCSjrc WcMessages[124]
|
|
||||||
#define WCBuffer WcMessages[125]
|
|
||||||
#define WCToroku WcMessages[126]
|
|
||||||
#define WCSyoukyo WcMessages[127]
|
|
||||||
#define WCHelp WcMessages[128]
|
|
||||||
#define WCHaKettei WcMessages[129]
|
|
||||||
#define WCFlush WcMessages[130]
|
|
||||||
#define WCDebug WcMessages[131]
|
|
||||||
#define WCCancell WcMessages[132]
|
|
||||||
#define WCSaihenkan WcMessages[133]
|
|
||||||
#define WCIgnore WcMessages[134]
|
|
||||||
#define WCTop WcMessages[135]
|
|
||||||
#define WCEnd WcMessages[136]
|
|
||||||
#define WCReconnect WcMessages[137]
|
|
||||||
#define WCKill WcMessages[138]
|
|
||||||
|
|
||||||
|
|
||||||
#define WCKey WcMessages[139]
|
|
||||||
#define WCEscape WcMessages[140]
|
|
||||||
#define WCSjxkey WcMessages[141]
|
|
||||||
#define WCEtckey WcMessages[142]
|
|
||||||
#define WCIntr WcMessages[143]
|
|
||||||
#define WCBskey WcMessages[144]
|
|
||||||
#define WCDelkey WcMessages[145]
|
|
||||||
#define WCSetnormal WcMessages[146]
|
|
||||||
#define WCThroughnext WcMessages[147]
|
|
||||||
#define WCInitialmode WcMessages[148]
|
|
||||||
#define WCHelpmode WcMessages[149]
|
|
||||||
#define WCDefaultcode WcMessages[150]
|
|
||||||
#define WCMuhenkanmode WcMessages[151]
|
|
||||||
#define WCMuhenkaninedit WcMessages[152]
|
|
||||||
#define WCMuhenkantoggle WcMessages[153]
|
|
||||||
#define WCGuide WcMessages[154]
|
|
||||||
#define WCForkshell WcMessages[155]
|
|
||||||
#define WCExecshell WcMessages[156]
|
|
||||||
#define WCDictionary WcMessages[157]
|
|
||||||
#define WCUserdic WcMessages[158]
|
|
||||||
#define WCMaindic WcMessages[159]
|
|
||||||
#define WCRomaji WcMessages[160]
|
|
||||||
#define WCBstudy WcMessages[161]
|
|
||||||
#define WCSilent WcMessages[162]
|
|
||||||
#define WCFlushafterconversion WcMessages[163]
|
#define WCFlushafterconversion WcMessages[163]
|
||||||
#define WCRkerrbell WcMessages[164]
|
#define WCRkerrbell WcMessages[164]
|
||||||
#define WCServer WcMessages[165]
|
#define WCServer WcMessages[165]
|
||||||
|
|
||||||
#define WCShiftjis WcMessages[166]
|
#define WCShiftjis WcMessages[166]
|
||||||
#define WCSjis WcMessages[167]
|
#define WCSjis WcMessages[167]
|
||||||
#define WCEuc WcMessages[168]
|
#define WCEuc WcMessages[168]
|
||||||
#define WCEuc2 WcMessages[169]
|
#define WCEuc2 WcMessages[169]
|
||||||
#define WCJis WcMessages[170]
|
#define WCJis WcMessages[170]
|
||||||
#define WCJis2 WcMessages[171]
|
#define WCJis2 WcMessages[171]
|
||||||
#define WCKuten WcMessages[172]
|
#define WCKuten WcMessages[172]
|
||||||
#define WCKuten2 WcMessages[173]
|
#define WCKuten2 WcMessages[173]
|
||||||
|
|
||||||
#define WCBuff WcMessages[174]
|
#define WCBuff WcMessages[174]
|
||||||
#define WCUnbuff WcMessages[175]
|
#define WCUnbuff WcMessages[175]
|
||||||
#define WCDirect WcMessages[176]
|
#define WCDirect WcMessages[176]
|
||||||
|
|
||||||
#define WCSj2 WcMessages[177]
|
#define WCSj2 WcMessages[177]
|
||||||
#define WCShift WcMessages[178]
|
#define WCShift WcMessages[178]
|
||||||
|
|
||||||
#define WCFunction WcMessages[179]
|
#define WCFunction WcMessages[179]
|
||||||
|
|
||||||
#define WCUnbuffer WcMessages[180]
|
|
||||||
#define WCFuncetc WcMessages[181]
|
|
||||||
|
|
||||||
extern wchar16_t *WcMessages[];
|
|
||||||
|
|
||||||
|
#define WCUnbuffer WcMessages[180]
|
||||||
|
#define WCFuncetc WcMessages[181]
|
||||||
|
|
||||||
|
extern wchar16_t* WcMessages[];
|
||||||
|
|
||||||
struct wcvtkey {
|
struct wcvtkey {
|
||||||
wchar16_t *key_word;
|
wchar16_t* key_word;
|
||||||
wchar16_t key_seq[SEQLEN];
|
wchar16_t key_seq[SEQLEN];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct functbl {
|
struct functbl {
|
||||||
wchar16_t *keyword;
|
wchar16_t* keyword;
|
||||||
int (*func)();
|
int (*func)();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -36,83 +36,78 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
#include "sj_euc.h"
|
#include "sj_euc.h"
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static void sprt_seg(TypeDicSeg, TypeDicOfs);
|
static void sprt_seg(TypeDicSeg, TypeDicOfs);
|
||||||
static void apnd_uidx(TypeDicSeg, u_char *, int);
|
static void apnd_uidx(TypeDicSeg, u_char*, int);
|
||||||
static int cal_nextym(u_char *);
|
static int cal_nextym(u_char*);
|
||||||
static int usr_freelen();
|
static int usr_freelen();
|
||||||
static u_int checkdict(u_char *, TypeGram);
|
static u_int checkdict(u_char*, TypeGram);
|
||||||
|
|
||||||
|
u_int adddic(u_char* yomi, u_char* kanji, TypeGram hinsi) {
|
||||||
|
u_int err;
|
||||||
|
u_char yptr[MAXWDYOMILEN + 1];
|
||||||
|
u_char kptr[MAXWDKANJILEN + 1];
|
||||||
|
int klen;
|
||||||
|
TypeDicSeg segnum;
|
||||||
|
int saml;
|
||||||
|
TypeDicOfs dstofs;
|
||||||
|
TypeDicOfs douofs;
|
||||||
|
TypeDicOfs hnsofs;
|
||||||
|
TypeDicOfs knjofs;
|
||||||
|
TypeDicOfs nxtask;
|
||||||
|
TypeDicOfs newsiz;
|
||||||
|
TypeDicOfs oldsiz;
|
||||||
|
TypeDicOfs fresiz;
|
||||||
|
TypeIdxOfs freidx;
|
||||||
|
u_char* douptr;
|
||||||
|
u_char* dstptr;
|
||||||
|
TypeDicOfs pos;
|
||||||
|
u_char* p1;
|
||||||
|
int i;
|
||||||
|
int nlen, plen;
|
||||||
|
int size;
|
||||||
|
STDYIN* stdy;
|
||||||
|
STDYOUT stdydat;
|
||||||
|
|
||||||
|
if(err = addel_arg(yomi, kanji, hinsi, yptr, sizeof(yptr)))
|
||||||
u_int
|
|
||||||
adddic(u_char *yomi, u_char *kanji, TypeGram hinsi)
|
|
||||||
{
|
|
||||||
u_int err;
|
|
||||||
u_char yptr[MAXWDYOMILEN + 1];
|
|
||||||
u_char kptr[MAXWDKANJILEN + 1];
|
|
||||||
int klen;
|
|
||||||
TypeDicSeg segnum;
|
|
||||||
int saml;
|
|
||||||
TypeDicOfs dstofs;
|
|
||||||
TypeDicOfs douofs;
|
|
||||||
TypeDicOfs hnsofs;
|
|
||||||
TypeDicOfs knjofs;
|
|
||||||
TypeDicOfs nxtask;
|
|
||||||
TypeDicOfs newsiz;
|
|
||||||
TypeDicOfs oldsiz;
|
|
||||||
TypeDicOfs fresiz;
|
|
||||||
TypeIdxOfs freidx;
|
|
||||||
u_char *douptr;
|
|
||||||
u_char *dstptr;
|
|
||||||
TypeDicOfs pos;
|
|
||||||
u_char *p1;
|
|
||||||
int i;
|
|
||||||
int nlen, plen;
|
|
||||||
int size;
|
|
||||||
STDYIN *stdy;
|
|
||||||
STDYOUT stdydat;
|
|
||||||
|
|
||||||
if (err = addel_arg(yomi, kanji, hinsi, yptr, sizeof(yptr)))
|
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
inputyomi = yomi;
|
inputyomi = yomi;
|
||||||
cnvstart = ystart = yptr;
|
cnvstart = ystart = yptr;
|
||||||
cnvlen = sstrlen(yptr);
|
cnvlen = sstrlen(yptr);
|
||||||
|
|
||||||
if (err = checkdict(kanji, hinsi))
|
if(err = checkdict(kanji, hinsi))
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
if (!curdict -> maxunit)
|
if(!curdict->maxunit)
|
||||||
return AD_NOTUSERDICT;
|
return AD_NOTUSERDICT;
|
||||||
|
|
||||||
klen = cvtknj(yomi, kanji, kptr);
|
klen = cvtknj(yomi, kanji, kptr);
|
||||||
|
|
||||||
newsiz = DOUONBLKSIZENUMBER + cnvlen + (klen !=0 ? klen+1 : 0) + 2;
|
newsiz = DOUONBLKSIZENUMBER + cnvlen + (klen != 0 ? klen + 1 : 0) + 2;
|
||||||
|
|
||||||
if (newsiz > MAXDOUONBLK)
|
if(newsiz > MAXDOUONBLK)
|
||||||
return AD_OVFLWDOUBLK;
|
return AD_OVFLWDOUBLK;
|
||||||
if (newsiz > curdict->seglen)
|
if(newsiz > curdict->seglen)
|
||||||
return AD_OVFLWDOUBLK;
|
return AD_OVFLWDOUBLK;
|
||||||
|
|
||||||
segnum = srchidx((TypeDicSeg)DICSEGBASE, cnvlen);
|
segnum = srchidx((TypeDicSeg)DICSEGBASE, cnvlen);
|
||||||
|
|
||||||
for ( ; ; ) {
|
for(;;) {
|
||||||
(*curdict->getdic)(curdict, segnum);
|
(*curdict->getdic)(curdict, segnum);
|
||||||
i = srchkana(&p1, &saml);
|
i = srchkana(&p1, &saml);
|
||||||
dstofs = douofs = p1 - dicbuf;
|
dstofs = douofs = p1 - dicbuf;
|
||||||
hnsofs = knjofs = 0;
|
hnsofs = knjofs = 0;
|
||||||
if (i) {
|
if(i) {
|
||||||
i = srchgram(p1, &p1, hinsi);
|
i = srchgram(p1, &p1, hinsi);
|
||||||
dstofs = hnsofs = p1 - dicbuf;
|
dstofs = hnsofs = p1 - dicbuf;
|
||||||
if (i) {
|
if(i) {
|
||||||
srchkanji(&p1, kptr, klen);
|
srchkanji(&p1, kptr, klen);
|
||||||
if (*p1 != HINSIBLKTERM)
|
if(*p1 != HINSIBLKTERM)
|
||||||
return AD_AREXIST;
|
return AD_AREXIST;
|
||||||
dstofs = knjofs = p1 - dicbuf;
|
dstofs = knjofs = p1 - dicbuf;
|
||||||
}
|
}
|
||||||
|
|
@ -120,46 +115,45 @@ adddic(u_char *yomi, u_char *kanji, TypeGram hinsi)
|
||||||
|
|
||||||
p1 = dicbuf + douofs;
|
p1 = dicbuf + douofs;
|
||||||
|
|
||||||
if (!hnsofs) {
|
if(!hnsofs) {
|
||||||
oldsiz = 0;
|
oldsiz = 0;
|
||||||
nlen = cnvlen - saml;
|
nlen = cnvlen - saml;
|
||||||
newsiz = DOUONBLKSIZENUMBER + nlen;
|
newsiz = DOUONBLKSIZENUMBER + nlen;
|
||||||
|
|
||||||
nxtask = cal_nextym(p1);
|
nxtask = cal_nextym(p1);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
oldsiz = newsiz = getsize(p1);
|
oldsiz = newsiz = getsize(p1);
|
||||||
nxtask = 0;
|
nxtask = 0;
|
||||||
}
|
}
|
||||||
if (!knjofs) newsiz += 2;
|
if(!knjofs) newsiz += 2;
|
||||||
|
|
||||||
newsiz += (klen != 0 ? klen+1 : 0);
|
newsiz += (klen != 0 ? klen + 1 : 0);
|
||||||
|
|
||||||
fresiz = usr_freelen();
|
fresiz = usr_freelen();
|
||||||
|
|
||||||
if ((unsigned int) (newsiz - oldsiz - nxtask) <=
|
if((unsigned int)(newsiz - oldsiz - nxtask) <=
|
||||||
(unsigned int) fresiz) break;
|
(unsigned int)fresiz) break;
|
||||||
|
|
||||||
if (segend(p1) && (segnum + 1 < curdict->segunit)) {
|
if(segend(p1) && (segnum + 1 < curdict->segunit)) {
|
||||||
segnum++;
|
segnum++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curdict->segunit >= curdict->maxunit)
|
if(curdict->segunit >= curdict->maxunit)
|
||||||
return AD_OVFLWUSRDIC;
|
return AD_OVFLWUSRDIC;
|
||||||
|
|
||||||
freidx = count_uidx();
|
freidx = count_uidx();
|
||||||
|
|
||||||
if ((unsigned int) (douofs + newsiz) <= curdict->seglen) {
|
if((unsigned int)(douofs + newsiz) <= curdict->seglen) {
|
||||||
if (hnsofs)
|
if(hnsofs)
|
||||||
p1 = getntag(p1);
|
p1 = getntag(p1);
|
||||||
pos = p1 - dicbuf;
|
pos = p1 - dicbuf;
|
||||||
|
|
||||||
nlen = getnlen(p1);
|
nlen = getnlen(p1);
|
||||||
if ((unsigned int) freidx < getplen(p1) + nlen + 1)
|
if((unsigned int)freidx < getplen(p1) + nlen + 1)
|
||||||
return AD_OVFLWINDEX;
|
return AD_OVFLWINDEX;
|
||||||
|
|
||||||
if ((*curdict->putdic)(curdict, curdict->segunit))
|
if((*curdict->putdic)(curdict, curdict->segunit))
|
||||||
return AD_OVFLWUSRDIC;
|
return AD_OVFLWUSRDIC;
|
||||||
|
|
||||||
sprt_seg(segnum, pos);
|
sprt_seg(segnum, pos);
|
||||||
|
|
@ -168,11 +162,11 @@ adddic(u_char *yomi, u_char *kanji, TypeGram hinsi)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (segend(p1)) {
|
if(segend(p1)) {
|
||||||
if ((unsigned int) freidx < cnvlen + 1)
|
if((unsigned int)freidx < cnvlen + 1)
|
||||||
return AD_OVFLWINDEX;
|
return AD_OVFLWINDEX;
|
||||||
|
|
||||||
if ((*curdict->putdic)(curdict, curdict->segunit))
|
if((*curdict->putdic)(curdict, curdict->segunit))
|
||||||
return AD_OVFLWUSRDIC;
|
return AD_OVFLWUSRDIC;
|
||||||
curdict->segunit++;
|
curdict->segunit++;
|
||||||
|
|
||||||
|
|
@ -184,13 +178,12 @@ adddic(u_char *yomi, u_char *kanji, TypeGram hinsi)
|
||||||
mkidxtbl(curdict);
|
mkidxtbl(curdict);
|
||||||
|
|
||||||
segnum++;
|
segnum++;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
nlen = getnlen(p1);
|
nlen = getnlen(p1);
|
||||||
if ((unsigned int) freidx < getplen(p1) + nlen + 1)
|
if((unsigned int)freidx < getplen(p1) + nlen + 1)
|
||||||
return AD_OVFLWINDEX;
|
return AD_OVFLWINDEX;
|
||||||
|
|
||||||
if ((*curdict->putdic)(curdict, curdict->segunit))
|
if((*curdict->putdic)(curdict, curdict->segunit))
|
||||||
return AD_OVFLWUSRDIC;
|
return AD_OVFLWUSRDIC;
|
||||||
|
|
||||||
sprt_seg(segnum, douofs);
|
sprt_seg(segnum, douofs);
|
||||||
|
|
@ -201,16 +194,16 @@ adddic(u_char *yomi, u_char *kanji, TypeGram hinsi)
|
||||||
|
|
||||||
douptr = dicbuf + douofs;
|
douptr = dicbuf + douofs;
|
||||||
|
|
||||||
if (nxtask) {
|
if(nxtask) {
|
||||||
u_char *tp;
|
u_char* tp;
|
||||||
|
|
||||||
size = getsize(douptr) - nxtask;
|
size = getsize(douptr) - nxtask;
|
||||||
plen = getplen(douptr) + nxtask;
|
plen = getplen(douptr) + nxtask;
|
||||||
nlen = getnlen(douptr) - nxtask;
|
nlen = getnlen(douptr) - nxtask;
|
||||||
*douptr = (size >> 8);
|
*douptr = (size >> 8);
|
||||||
if (nlen & 0x10)
|
if(nlen & 0x10)
|
||||||
*douptr |= NOKORIYOMITOP;
|
*douptr |= NOKORIYOMITOP;
|
||||||
if (plen & 0x10)
|
if(plen & 0x10)
|
||||||
*douptr |= ASSYUKUYOMITOP;
|
*douptr |= ASSYUKUYOMITOP;
|
||||||
*(douptr + 1) = size;
|
*(douptr + 1) = size;
|
||||||
*(douptr + 2) = ((nlen & 0x0f) | ((plen & 0x0f) << 4));
|
*(douptr + 2) = ((nlen & 0x0f) | ((plen & 0x0f) << 4));
|
||||||
|
|
@ -221,128 +214,124 @@ adddic(u_char *yomi, u_char *kanji, TypeGram hinsi)
|
||||||
}
|
}
|
||||||
|
|
||||||
dstptr = dicbuf + dstofs;
|
dstptr = dicbuf + dstofs;
|
||||||
size = newsiz - oldsiz;
|
size = newsiz - oldsiz;
|
||||||
p1 = dicbuf + curdict->seglen;
|
p1 = dicbuf + curdict->seglen;
|
||||||
mvmemd(p1 - size, p1, p1 - dstptr - size);
|
mvmemd(p1 - size, p1, p1 - dstptr - size);
|
||||||
|
|
||||||
if (!hnsofs) {
|
if(!hnsofs) {
|
||||||
if (douofs == segtop() - dicbuf) {
|
if(douofs == segtop() - dicbuf) {
|
||||||
chg_uidx(segnum, yptr, cnvlen);
|
chg_uidx(segnum, yptr, cnvlen);
|
||||||
}
|
}
|
||||||
|
|
||||||
*dstptr = 0;
|
*dstptr = 0;
|
||||||
nlen = cnvlen - saml;
|
nlen = cnvlen - saml;
|
||||||
if (nlen & 0x10)
|
if(nlen & 0x10)
|
||||||
*dstptr |= NOKORIYOMITOP;
|
*dstptr |= NOKORIYOMITOP;
|
||||||
if (saml & 0x10)
|
if(saml & 0x10)
|
||||||
*dstptr |= ASSYUKUYOMITOP;
|
*dstptr |= ASSYUKUYOMITOP;
|
||||||
*dstptr++ |= (size >> 8);
|
*dstptr++ |= (size >> 8);
|
||||||
*dstptr++ = size;
|
*dstptr++ = size;
|
||||||
*dstptr++ = ((nlen&0x0f)|((saml&0x0f)<<4));
|
*dstptr++ = ((nlen & 0x0f) | ((saml & 0x0f) << 4));
|
||||||
|
|
||||||
while (saml < cnvlen) *dstptr++ = yptr[saml++];
|
while(saml < cnvlen) *dstptr++ = yptr[saml++];
|
||||||
}
|
} else {
|
||||||
else {
|
plen = getplen(douptr);
|
||||||
plen = getplen(douptr);
|
nlen = getnlen(douptr);
|
||||||
nlen = getnlen(douptr);
|
|
||||||
*douptr = (newsiz >> 8);
|
*douptr = (newsiz >> 8);
|
||||||
if (nlen & 0x10)
|
if(nlen & 0x10)
|
||||||
*douptr |= NOKORIYOMITOP;
|
*douptr |= NOKORIYOMITOP;
|
||||||
if (plen & 0x10)
|
if(plen & 0x10)
|
||||||
*douptr |= ASSYUKUYOMITOP;
|
*douptr |= ASSYUKUYOMITOP;
|
||||||
*(douptr + 1) = newsiz;
|
*(douptr + 1) = newsiz;
|
||||||
*(douptr + 2) = ((nlen & 0x0f) | ((plen & 0x0f) << 4));
|
*(douptr + 2) = ((nlen & 0x0f) | ((plen & 0x0f) << 4));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!knjofs)
|
if(!knjofs)
|
||||||
*dstptr++ = hinsi;
|
*dstptr++ = hinsi;
|
||||||
|
|
||||||
stdydat.stdy1.offset = dstptr - dicbuf;
|
stdydat.stdy1.offset = dstptr - dicbuf;
|
||||||
for (saml = 0 ; saml < klen ; )
|
for(saml = 0; saml < klen;)
|
||||||
*dstptr++ = kptr[saml++];
|
*dstptr++ = kptr[saml++];
|
||||||
if (klen > 0)
|
if(klen > 0)
|
||||||
*dstptr++ = KANJISTREND;
|
*dstptr++ = KANJISTREND;
|
||||||
|
|
||||||
if (!knjofs)
|
if(!knjofs)
|
||||||
*dstptr++ = HINSIBLKTERM;
|
*dstptr++ = HINSIBLKTERM;
|
||||||
|
|
||||||
(*curdict->putdic)(curdict, segnum);
|
(*curdict->putdic)(curdict, segnum);
|
||||||
|
|
||||||
if (StudyExist()) {
|
if(StudyExist()) {
|
||||||
size -= nxtask;
|
size -= nxtask;
|
||||||
for (i = STUDYCOUNT, stdy = STUDYDICT ; i-- ; stdy++) {
|
for(i = STUDYCOUNT, stdy = STUDYDICT; i--; stdy++) {
|
||||||
if (stdy -> dicid != curdict->dicid)
|
if(stdy->dicid != curdict->dicid)
|
||||||
continue;
|
continue;
|
||||||
if (stdy -> seg != segnum)
|
if(stdy->seg != segnum)
|
||||||
continue;
|
continue;
|
||||||
if (stdy -> offset >= dstofs)
|
if(stdy->offset >= dstofs)
|
||||||
stdy -> offset += size;
|
stdy->offset += size;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (p1 = CLSTUDYDICT ; !iseocl(p1) ; p1 = ClNextTag(p1)) {
|
for(p1 = CLSTUDYDICT; !iseocl(p1); p1 = ClNextTag(p1)) {
|
||||||
err = sstrncmp(yptr, (u_char *)ClYomiPos(p1),
|
err = sstrncmp(yptr, (u_char*)ClYomiPos(p1),
|
||||||
(int)ClYomiLen(p1));
|
(int)ClYomiLen(p1));
|
||||||
if (err == MATCH) {
|
if(err == MATCH) {
|
||||||
delclsub(p1);
|
delclsub(p1);
|
||||||
mkclidx();
|
mkclidx();
|
||||||
putcldic();
|
putcldic();
|
||||||
break;
|
break;
|
||||||
} else if (err == OVER)
|
} else if(err == OVER)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stdydat.stdy1.seg = segnum;
|
stdydat.stdy1.seg = segnum;
|
||||||
stdydat.stdy1.dicid = curdict->dicid;
|
stdydat.stdy1.dicid = curdict->dicid;
|
||||||
stdydat.stdy1.styno = 0;
|
stdydat.stdy1.styno = 0;
|
||||||
stdydat.stdy1.sttkj = 0;
|
stdydat.stdy1.sttkj = 0;
|
||||||
stdydat.stdy1.ka_kj = 0;
|
stdydat.stdy1.ka_kj = 0;
|
||||||
stdydat.stdy1.nmflg = 0;
|
stdydat.stdy1.nmflg = 0;
|
||||||
stdydat.hinshi = hinsi;
|
stdydat.hinshi = hinsi;
|
||||||
stdydat.len = cnvlen;
|
stdydat.len = cnvlen;
|
||||||
stdydat.sttlen = 0;
|
stdydat.sttlen = 0;
|
||||||
stdydat.sttfg = 0;
|
stdydat.sttfg = 0;
|
||||||
stdydat.ka_fg = 0;
|
stdydat.ka_fg = 0;
|
||||||
(void)study(&stdydat);
|
(void)study(&stdydat);
|
||||||
|
|
||||||
return AD_DONE;
|
return AD_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
checksub(u_char *kanji, TypeGram grm)
|
checksub(u_char* kanji, TypeGram grm) {
|
||||||
{
|
u_char* tagp;
|
||||||
u_char *tagp;
|
u_char* ptr;
|
||||||
u_char *ptr;
|
u_char* endp;
|
||||||
u_char *endp;
|
|
||||||
int flg, nlen;
|
int flg, nlen;
|
||||||
int dounum;
|
int dounum;
|
||||||
u_char buf[MAXWDKANJILEN + 1];
|
u_char buf[MAXWDKANJILEN + 1];
|
||||||
|
|
||||||
dicinl = cnvlen;
|
dicinl = cnvlen;
|
||||||
dicsaml = 0;
|
dicsaml = 0;
|
||||||
prevseg = (TypeDicSeg)-1;
|
prevseg = (TypeDicSeg)-1;
|
||||||
for (;;) {
|
for(;;) {
|
||||||
if (!(tagp = srchdict(tagp)))
|
if(!(tagp = srchdict(tagp)))
|
||||||
return 0;
|
return 0;
|
||||||
if (cnvlen == getnlen(tagp) + getplen(tagp))
|
if(cnvlen == getnlen(tagp) + getplen(tagp))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
dounum = 0;
|
dounum = 0;
|
||||||
|
|
||||||
nlen = getnlen(tagp);
|
nlen = getnlen(tagp);
|
||||||
ptr = tagp + DOUONBLKSIZENUMBER + nlen;
|
ptr = tagp + DOUONBLKSIZENUMBER + nlen;
|
||||||
|
|
||||||
endp = tagp + getsize(tagp);
|
endp = tagp + getsize(tagp);
|
||||||
|
|
||||||
while (ptr < endp) {
|
while(ptr < endp) {
|
||||||
flg = (grm == *ptr++);
|
flg = (grm == *ptr++);
|
||||||
while (*ptr != HINSIBLKTERM) {
|
while(*ptr != HINSIBLKTERM) {
|
||||||
if (flg) {
|
if(flg) {
|
||||||
buf[getkanji(inputyomi, cnvlen, ptr, buf)] = 0;
|
buf[getkanji(inputyomi, cnvlen, ptr, buf)] = 0;
|
||||||
if (cmpstr(kanji, buf))
|
if(cmpstr(kanji, buf))
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
dounum++;
|
dounum++;
|
||||||
|
|
@ -355,22 +344,19 @@ checksub(u_char *kanji, TypeGram grm)
|
||||||
return dounum;
|
return dounum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static u_int
|
static u_int
|
||||||
checkdict(u_char *kanji, TypeGram grm)
|
checkdict(u_char* kanji, TypeGram grm) {
|
||||||
{
|
DICTL* dp;
|
||||||
DICTL *dp;
|
int dounum = 0;
|
||||||
int dounum = 0;
|
int tmp;
|
||||||
int tmp;
|
DICT* tmpdict;
|
||||||
DICT *tmpdict;
|
|
||||||
|
|
||||||
tmpdict = curdict;
|
tmpdict = curdict;
|
||||||
for (dp = dictlist ; dp ; dp = dp -> next) {
|
for(dp = dictlist; dp; dp = dp->next) {
|
||||||
|
|
||||||
curdict = dp -> dict;
|
curdict = dp->dict;
|
||||||
|
|
||||||
if ((tmp = checksub(kanji, grm)) < 0) {
|
if((tmp = checksub(kanji, grm)) < 0) {
|
||||||
curdict = tmpdict;
|
curdict = tmpdict;
|
||||||
return AD_AREXIST;
|
return AD_AREXIST;
|
||||||
}
|
}
|
||||||
|
|
@ -379,29 +365,26 @@ checkdict(u_char *kanji, TypeGram grm)
|
||||||
}
|
}
|
||||||
curdict = tmpdict;
|
curdict = tmpdict;
|
||||||
|
|
||||||
if (MAXKOUHONUMBER <= dounum)
|
if(MAXKOUHONUMBER <= dounum)
|
||||||
return AD_OVFLWDOUNUM;
|
return AD_OVFLWDOUNUM;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
cal_nextym(u_char *ptr)
|
cal_nextym(u_char* ptr) {
|
||||||
{
|
|
||||||
int count = 0;
|
int count = 0;
|
||||||
u_char *src;
|
u_char* src;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
if (!segend(ptr)) {
|
if(!segend(ptr)) {
|
||||||
src = cnvstart + getplen(ptr);
|
src = cnvstart + getplen(ptr);
|
||||||
|
|
||||||
len = getnlen(ptr);
|
len = getnlen(ptr);
|
||||||
ptr += DOUONBLKSIZENUMBER;
|
ptr += DOUONBLKSIZENUMBER;
|
||||||
|
|
||||||
while (len--) {
|
while(len--) {
|
||||||
if (*ptr++ == *src++)
|
if(*ptr++ == *src++)
|
||||||
count++;
|
count++;
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
|
|
@ -410,37 +393,31 @@ cal_nextym(u_char *ptr)
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
usr_freelen()
|
usr_freelen() {
|
||||||
{
|
u_char* ptr;
|
||||||
u_char *ptr;
|
|
||||||
|
|
||||||
ptr = segtop();
|
ptr = segtop();
|
||||||
while (!segend(ptr))
|
while(!segend(ptr))
|
||||||
ptr += getsize(ptr);
|
ptr += getsize(ptr);
|
||||||
|
|
||||||
return curdict->seglen - (ptr - dicbuf);
|
return curdict->seglen - (ptr - dicbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sprt_seg(TypeDicSeg seg, TypeDicOfs ofs)
|
sprt_seg(TypeDicSeg seg, TypeDicOfs ofs) {
|
||||||
{
|
TypeDicSeg s;
|
||||||
TypeDicSeg s;
|
u_char* pos;
|
||||||
u_char *pos;
|
u_char* p;
|
||||||
u_char *p;
|
u_char* q;
|
||||||
u_char *q;
|
int i;
|
||||||
int i;
|
int j;
|
||||||
int j;
|
int ylen, nlen;
|
||||||
int ylen, nlen;
|
TypeDicID dicid;
|
||||||
TypeDicID dicid;
|
u_char yomi[MAXWDYOMILEN];
|
||||||
u_char yomi[MAXWDYOMILEN];
|
STDYIN* stdy;
|
||||||
STDYIN *stdy;
|
|
||||||
|
|
||||||
for (s = curdict->segunit - 1 ; s >= seg ; s--) {
|
for(s = curdict->segunit - 1; s >= seg; s--) {
|
||||||
(*curdict->getdic)(curdict, s);
|
(*curdict->getdic)(curdict, s);
|
||||||
(*curdict->putdic)(curdict, s + 1);
|
(*curdict->putdic)(curdict, s + 1);
|
||||||
}
|
}
|
||||||
|
|
@ -451,22 +428,22 @@ sprt_seg(TypeDicSeg seg, TypeDicOfs ofs)
|
||||||
|
|
||||||
pos = dicbuf + ofs;
|
pos = dicbuf + ofs;
|
||||||
|
|
||||||
for (p = segtop() ; (p <= pos) && !segend(p) ; p = q) {
|
for(p = segtop(); (p <= pos) && !segend(p); p = q) {
|
||||||
q = getntag(p);
|
q = getntag(p);
|
||||||
i = getplen(p);
|
i = getplen(p);
|
||||||
nlen = getnlen(p);
|
nlen = getnlen(p);
|
||||||
j = (nlen != 0) ? nlen+1: 0;
|
j = (nlen != 0) ? nlen + 1 : 0;
|
||||||
p += DOUONBLKSIZENUMBER;
|
p += DOUONBLKSIZENUMBER;
|
||||||
while (j-- > 0)
|
while(j-- > 0)
|
||||||
yomi[i++] = *p++;
|
yomi[i++] = *p++;
|
||||||
}
|
}
|
||||||
|
|
||||||
nlen = getnlen(pos);
|
nlen = getnlen(pos);
|
||||||
ylen = (i = getplen(pos)) + (j = nlen);
|
ylen = (i = getplen(pos)) + (j = nlen);
|
||||||
|
|
||||||
apnd_uidx(seg, yomi, ylen);
|
apnd_uidx(seg, yomi, ylen);
|
||||||
|
|
||||||
set_size(segtop(), getsize(pos) + i, 0, ylen);
|
set_size(segtop(), getsize(pos) + i, 0, ylen);
|
||||||
|
|
||||||
mvmemi(yomi, (p = segtop() + DOUONBLKSIZENUMBER), ylen);
|
mvmemi(yomi, (p = segtop() + DOUONBLKSIZENUMBER), ylen);
|
||||||
|
|
||||||
|
|
@ -480,18 +457,18 @@ sprt_seg(TypeDicSeg seg, TypeDicOfs ofs)
|
||||||
|
|
||||||
(*curdict->putdic)(curdict, seg + 1);
|
(*curdict->putdic)(curdict, seg + 1);
|
||||||
|
|
||||||
if (StudyExist()) {
|
if(StudyExist()) {
|
||||||
dicid = curdict -> dicid;
|
dicid = curdict->dicid;
|
||||||
for (i = STUDYCOUNT, stdy = STUDYDICT ; i-- > 0 ; stdy++) {
|
for(i = STUDYCOUNT, stdy = STUDYDICT; i-- > 0; stdy++) {
|
||||||
if (stdy -> dicid != dicid)
|
if(stdy->dicid != dicid)
|
||||||
continue;
|
continue;
|
||||||
else if (stdy -> seg < seg)
|
else if(stdy->seg < seg)
|
||||||
continue;
|
continue;
|
||||||
else if (stdy -> seg > seg)
|
else if(stdy->seg > seg)
|
||||||
stdy -> seg += 1;
|
stdy->seg += 1;
|
||||||
else if (stdy -> offset >= ofs) {
|
else if(stdy->offset >= ofs) {
|
||||||
stdy -> seg += 1;
|
stdy->seg += 1;
|
||||||
stdy -> offset -= j;
|
stdy->offset -= j;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -501,22 +478,18 @@ sprt_seg(TypeDicSeg seg, TypeDicOfs ofs)
|
||||||
(*curdict->putdic)(curdict, seg);
|
(*curdict->putdic)(curdict, seg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
apnd_uidx(TypeDicSeg seg, u_char *yomi, int len)
|
apnd_uidx(TypeDicSeg seg, u_char* yomi, int len) {
|
||||||
{
|
u_char* p;
|
||||||
u_char *p;
|
u_char* q;
|
||||||
u_char *q;
|
|
||||||
|
|
||||||
p = get_idxptr(seg);
|
p = get_idxptr(seg);
|
||||||
while (*p++)
|
while(*p++);
|
||||||
;
|
|
||||||
|
|
||||||
q = idxbuf + curdict->idxlen;
|
q = idxbuf + curdict->idxlen;
|
||||||
mvmemd(q - (len + 1), q, (int)(q - (len + 1) - p));
|
mvmemd(q - (len + 1), q, (int)(q - (len + 1) - p));
|
||||||
|
|
||||||
while (len--)
|
while(len--)
|
||||||
*p++ = *yomi++;
|
*p++ = *yomi++;
|
||||||
*p = 0;
|
*p = 0;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,6 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:27 $
|
* $SonyDate: 1994/06/03 08:01:27 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_euc.h"
|
#include "sj_euc.h"
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_hinsi.h"
|
#include "sj_hinsi.h"
|
||||||
|
|
@ -43,51 +40,44 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
|
void set_size(u_char* p, int size, int plen, int nlen) {
|
||||||
void
|
|
||||||
set_size(u_char *p, int size, int plen, int nlen)
|
|
||||||
{
|
|
||||||
*p = (u_char)(size >> 8);
|
*p = (u_char)(size >> 8);
|
||||||
if (nlen & 0x10) *p |= NOKORIYOMITOP;
|
if(nlen & 0x10) *p |= NOKORIYOMITOP;
|
||||||
if (plen & 0x10) *p |= ASSYUKUYOMITOP;
|
if(plen & 0x10) *p |= ASSYUKUYOMITOP;
|
||||||
*(p + 1) = (u_char)size;
|
*(p + 1) = (u_char)size;
|
||||||
*(p + 2) = (u_char)((nlen & 0x0f) | ((plen & 0x0f) << 4));
|
*(p + 2) = (u_char)((nlen & 0x0f) | ((plen & 0x0f) << 4));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
isvyomi(u_char *yp)
|
isvyomi(u_char* yp) {
|
||||||
{
|
int len;
|
||||||
int len;
|
|
||||||
|
|
||||||
if (!*yp) return FALSE;
|
if(!*yp) return FALSE;
|
||||||
|
|
||||||
if (!(Chrtbl[*yp] & DICTOP)) return FALSE;
|
if(!(Chrtbl[*yp] & DICTOP)) return FALSE;
|
||||||
|
|
||||||
for (len = 0 ; *yp ; yp++) {
|
for(len = 0; *yp; yp++) {
|
||||||
if (!(Chrtbl[*yp]) || (*yp >= Y_KUTEN)) return FALSE;
|
if(!(Chrtbl[*yp]) || (*yp >= Y_KUTEN)) return FALSE;
|
||||||
|
|
||||||
if (++len > MAXWDYOMILEN) return FALSE;
|
if(++len > MAXWDYOMILEN) return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
isvknj(u_char *kanji)
|
isvknj(u_char* kanji) {
|
||||||
{
|
int len;
|
||||||
int len;
|
|
||||||
|
|
||||||
if (!*kanji) return FALSE;
|
if(!*kanji) return FALSE;
|
||||||
|
|
||||||
for (len = 0 ; *kanji ; ) {
|
for(len = 0; *kanji;) {
|
||||||
if (*kanji == SS3) {
|
if(*kanji == SS3) {
|
||||||
kanji += 3;
|
kanji += 3;
|
||||||
len += 2;
|
len += 2;
|
||||||
} else
|
} else
|
||||||
|
|
||||||
if (isknj1(*kanji)) {
|
if(isknj1(*kanji)) {
|
||||||
kanji += 2;
|
kanji += 2;
|
||||||
len += 2;
|
len += 2;
|
||||||
}
|
}
|
||||||
|
|
@ -97,64 +87,54 @@ isvknj(u_char *kanji)
|
||||||
len += 2;
|
len += 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len > MAXWDKANJILEN) return FALSE;
|
if(len > MAXWDKANJILEN) return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
isgrm(TypeGram gram)
|
isgrm(TypeGram gram) {
|
||||||
{
|
int grm = gram;
|
||||||
int grm = gram;
|
|
||||||
|
|
||||||
if (MEISI_1 <= grm && grm <= D_MEISI_6) return TRUE;
|
if(MEISI_1 <= grm && grm <= D_MEISI_6) return TRUE;
|
||||||
if (MYOUJI <= grm && grm <= JOSUUSI2) return TRUE;
|
if(MYOUJI <= grm && grm <= JOSUUSI2) return TRUE;
|
||||||
if (KEIYOUSI_1 <= grm && grm <= DO_ZAHEN) return TRUE;
|
if(KEIYOUSI_1 <= grm && grm <= DO_ZAHEN) return TRUE;
|
||||||
if (DO_1DAN_1 <= grm && grm <= DO_WAGO_2) return TRUE;
|
if(DO_1DAN_1 <= grm && grm <= DO_WAGO_2) return TRUE;
|
||||||
if (DO_KAGO_5 <= grm && grm <= DO_WAGO_5) return TRUE;
|
if(DO_KAGO_5 <= grm && grm <= DO_WAGO_5) return TRUE;
|
||||||
if (DO_KAGO_6 <= grm && grm <= DO_WAGO_6) return TRUE;
|
if(DO_KAGO_6 <= grm && grm <= DO_WAGO_6) return TRUE;
|
||||||
if (DO_1DAN_3 <= grm && grm <= DO_WAGO_3) return TRUE;
|
if(DO_1DAN_3 <= grm && grm <= DO_WAGO_3) return TRUE;
|
||||||
if (DO_1DAN_4 <= grm && grm <= DO_WAGO_4) return TRUE;
|
if(DO_1DAN_4 <= grm && grm <= DO_WAGO_4) return TRUE;
|
||||||
if (DO_KAGO_7 <= grm && grm <= DO_WAGO_7) return TRUE;
|
if(DO_KAGO_7 <= grm && grm <= DO_WAGO_7) return TRUE;
|
||||||
if (DO_KAGO_8 <= grm && grm <= DO_WAGO_8) return TRUE;
|
if(DO_KAGO_8 <= grm && grm <= DO_WAGO_8) return TRUE;
|
||||||
if (SP_SA_MI1 <= grm && grm <= TANKANJI) return TRUE;
|
if(SP_SA_MI1 <= grm && grm <= TANKANJI) return TRUE;
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u_int addel_arg(u_char* yp, u_char* kp, TypeGram grm, u_char* nyp, int len) {
|
||||||
|
u_short err = 0;
|
||||||
|
|
||||||
|
if(!sj2cd_str(yp, nyp, len)) err |= AD_BADYOMI;
|
||||||
|
|
||||||
u_int
|
if(!isvyomi(nyp)) err |= AD_BADYOMI;
|
||||||
addel_arg(u_char *yp, u_char *kp, TypeGram grm, u_char *nyp, int len)
|
|
||||||
{
|
|
||||||
u_short err = 0;
|
|
||||||
|
|
||||||
if (!sj2cd_str(yp, nyp, len)) err |= AD_BADYOMI;
|
if(!isvknj(kp)) err |= AD_BADKANJI;
|
||||||
|
|
||||||
if (!isvyomi(nyp)) err |= AD_BADYOMI;
|
if(!isgrm(grm)) err |= AD_BADHINSI;
|
||||||
|
|
||||||
if (!isvknj(kp)) err |= AD_BADKANJI;
|
|
||||||
|
|
||||||
if (!isgrm(grm)) err |= AD_BADHINSI;
|
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
yomi2kata(u_char *src, u_char *dst)
|
yomi2kata(u_char* src, u_char* dst) {
|
||||||
{
|
int first;
|
||||||
int first;
|
int second;
|
||||||
int second;
|
|
||||||
|
|
||||||
while (first = *src++) {
|
while(first = *src++) {
|
||||||
second = *src++;
|
second = *src++;
|
||||||
|
|
||||||
if (first != 0xa4) {
|
if(first != 0xa4) {
|
||||||
*dst++ = first;
|
*dst++ = first;
|
||||||
*dst++ = second;
|
*dst++ = second;
|
||||||
}
|
}
|
||||||
|
|
@ -168,89 +148,78 @@ yomi2kata(u_char *src, u_char *dst)
|
||||||
*dst = 0;
|
*dst = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
top_strcmp(u_char *src, u_char *dst)
|
top_strcmp(u_char* src, u_char* dst) {
|
||||||
{
|
int i;
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0 ; *src && (*src == *dst) ; src++, dst++) i++;
|
for(i = 0; *src && (*src == *dst); src++, dst++) i++;
|
||||||
|
|
||||||
i /= 2;
|
i /= 2;
|
||||||
|
|
||||||
return (i > MAXYOMIASKNUMBER) ? MAXYOMIASKNUMBER : i;
|
return (i > MAXYOMIASKNUMBER) ? MAXYOMIASKNUMBER : i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
last_strcmp(u_char *src, u_char *dst)
|
last_strcmp(u_char* src, u_char* dst) {
|
||||||
{
|
int slen;
|
||||||
int slen;
|
int dlen;
|
||||||
int dlen;
|
|
||||||
|
|
||||||
slen = sstrlen(src);
|
slen = sstrlen(src);
|
||||||
dlen = sstrlen(dst);
|
dlen = sstrlen(dst);
|
||||||
|
|
||||||
if (dlen > MAXYOMIASKNUMBER * 2) return 0;
|
if(dlen > MAXYOMIASKNUMBER * 2) return 0;
|
||||||
|
|
||||||
if (sstrcmp(src + (slen - dlen), dst)) return 0;
|
if(sstrcmp(src + (slen - dlen), dst)) return 0;
|
||||||
|
|
||||||
return (dlen / 2);
|
return (dlen / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cvtknj(u_char* yomi, u_char* knj, u_char* dst) {
|
||||||
|
|
||||||
int
|
|
||||||
cvtknj(u_char *yomi, u_char *knj, u_char *dst)
|
|
||||||
{
|
|
||||||
u_char kana[MAXWDYOMILEN * 2 + 1];
|
u_char kana[MAXWDYOMILEN * 2 + 1];
|
||||||
int len;
|
int len;
|
||||||
u_char *keep;
|
u_char* keep;
|
||||||
|
|
||||||
keep = dst;
|
keep = dst;
|
||||||
yomi2kata(yomi, kana);
|
yomi2kata(yomi, kana);
|
||||||
|
|
||||||
if (len = top_strcmp(yomi, knj)) {
|
if(len = top_strcmp(yomi, knj)) {
|
||||||
*dst = (u_char)(ZENHIRAASSYUKU | (len - 1));
|
*dst = (u_char)(ZENHIRAASSYUKU | (len - 1));
|
||||||
}
|
} else if(len = top_strcmp(kana, knj)) {
|
||||||
else if (len = top_strcmp(kana, knj)) {
|
*dst = (u_char)(ZENKATAASSYUKU | (len - 1));
|
||||||
*dst = (u_char)(ZENKATAASSYUKU | (len - 1));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len) {
|
if(len) {
|
||||||
knj += len * 2;
|
knj += len * 2;
|
||||||
dst++;
|
dst++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*knj) {
|
if(*knj) {
|
||||||
for ( ; ; ) {
|
for(;;) {
|
||||||
if (len = last_strcmp(yomi, knj)) {
|
if(len = last_strcmp(yomi, knj)) {
|
||||||
*dst++ = (u_char)(ZENHIRAASSYUKU | (len - 1));
|
*dst++ = (u_char)(ZENHIRAASSYUKU | (len - 1));
|
||||||
break;
|
break;
|
||||||
}
|
} else if(len = last_strcmp(kana, knj)) {
|
||||||
else if (len = last_strcmp(kana, knj)) {
|
|
||||||
*dst++ = (u_char)(ZENKATAASSYUKU | (len - 1));
|
*dst++ = (u_char)(ZENKATAASSYUKU | (len - 1));
|
||||||
break;
|
break;
|
||||||
}
|
} else if(*knj == SS2) {
|
||||||
else if (*knj == SS2) {
|
|
||||||
knj++;
|
knj++;
|
||||||
*dst++ = (u_char)LEADINGHANKAKU;
|
*dst++ = (u_char)LEADINGHANKAKU;
|
||||||
*dst++ = *knj++;
|
*dst++ = *knj++;
|
||||||
} else if (*knj == SS3) {
|
} else if(*knj == SS3) {
|
||||||
|
knj++;
|
||||||
|
*dst++ = (*knj & NORMALKANJIMASK);
|
||||||
knj++;
|
knj++;
|
||||||
*dst++ = (*knj & NORMALKANJIMASK); knj++;
|
|
||||||
*dst++ = *knj++;
|
*dst++ = *knj++;
|
||||||
} else if (*knj & 0x80) {
|
} else if(*knj & 0x80) {
|
||||||
*dst++ = (*knj & NORMALKANJIMASK); knj++;
|
*dst++ = (*knj & NORMALKANJIMASK);
|
||||||
*dst++ = (*knj & NORMALKANJIMASK); knj++;
|
knj++;
|
||||||
}
|
*dst++ = (*knj & NORMALKANJIMASK);
|
||||||
else {
|
knj++;
|
||||||
|
} else {
|
||||||
*dst++ = (u_char)LEADINGHANKAKU;
|
*dst++ = (u_char)LEADINGHANKAKU;
|
||||||
*dst++ = *knj++;
|
*dst++ = *knj++;
|
||||||
}
|
}
|
||||||
if (!*knj) {
|
if(!*knj) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -260,12 +229,8 @@ cvtknj(u_char *yomi, u_char *knj, u_char *dst)
|
||||||
return (dst - keep);
|
return (dst - keep);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int srchkana(u_char** ptr, int* saml) {
|
||||||
|
u_char* p;
|
||||||
int
|
|
||||||
srchkana(u_char **ptr, int *saml)
|
|
||||||
{
|
|
||||||
u_char *p;
|
|
||||||
int cmp;
|
int cmp;
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
u_char same;
|
u_char same;
|
||||||
|
|
@ -275,34 +240,30 @@ srchkana(u_char **ptr, int *saml)
|
||||||
|
|
||||||
p = segtop();
|
p = segtop();
|
||||||
|
|
||||||
while (!segend(p)) {
|
while(!segend(p)) {
|
||||||
if (flg == 0) {
|
if(flg == 0) {
|
||||||
cmp = yomicmp(cnvstart, p, &same);
|
cmp = yomicmp(cnvstart, p, &same);
|
||||||
|
|
||||||
if (cmp == OVER) break;
|
if(cmp == OVER) break;
|
||||||
if (cmp == MATCH && *(cnvstart + same) == 0) {
|
if(cmp == MATCH && *(cnvstart + same) == 0) {
|
||||||
*ptr = p;
|
*ptr = p;
|
||||||
*saml = same;
|
*saml = same;
|
||||||
flg = 1;
|
flg = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
p = getntag(p);
|
p = getntag(p);
|
||||||
cnt++;
|
cnt++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flg != 0) return cnt;
|
if(flg != 0) return cnt;
|
||||||
|
|
||||||
*ptr = p;
|
*ptr = p;
|
||||||
*saml = same;
|
*saml = same;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int srchgram(u_char* ptr, u_char** dst, TypeGram hinsi) {
|
||||||
|
u_char* endp;
|
||||||
int
|
|
||||||
srchgram(u_char *ptr, u_char **dst, TypeGram hinsi)
|
|
||||||
{
|
|
||||||
u_char *endp;
|
|
||||||
int cnt = 0, nlen;
|
int cnt = 0, nlen;
|
||||||
int flg = FALSE;
|
int flg = FALSE;
|
||||||
|
|
||||||
|
|
@ -310,79 +271,68 @@ srchgram(u_char *ptr, u_char **dst, TypeGram hinsi)
|
||||||
|
|
||||||
nlen = getnlen(ptr);
|
nlen = getnlen(ptr);
|
||||||
|
|
||||||
ptr += DOUONBLKSIZENUMBER + nlen;
|
ptr += DOUONBLKSIZENUMBER + nlen;
|
||||||
while (ptr < endp) {
|
while(ptr < endp) {
|
||||||
if (*ptr == hinsi) {
|
if(*ptr == hinsi) {
|
||||||
*dst = ptr;
|
*dst = ptr;
|
||||||
flg = TRUE;
|
flg = TRUE;
|
||||||
}
|
}
|
||||||
do {
|
do {
|
||||||
ptr += codesize(*ptr);
|
ptr += codesize(*ptr);
|
||||||
} while (*ptr != HINSIBLKTERM);
|
} while(*ptr != HINSIBLKTERM);
|
||||||
ptr++;
|
ptr++;
|
||||||
cnt++;
|
cnt++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flg) return cnt;
|
if(flg) return cnt;
|
||||||
|
|
||||||
*dst = ptr;
|
*dst = ptr;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int srchkanji(u_char** dst, u_char* knj, int klen) {
|
||||||
|
u_char* ptr;
|
||||||
int
|
u_char *p, *q;
|
||||||
srchkanji(u_char **dst, u_char *knj, int klen)
|
|
||||||
{
|
|
||||||
u_char *ptr;
|
|
||||||
u_char *p, *q;
|
|
||||||
int len;
|
int len;
|
||||||
int flg = FALSE;
|
int flg = FALSE;
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
|
|
||||||
ptr = *dst + 1;
|
ptr = *dst + 1;
|
||||||
|
|
||||||
while (*ptr != HINSIBLKTERM) {
|
while(*ptr != HINSIBLKTERM) {
|
||||||
for (p = ptr, q = knj, len = klen ; len ; len--)
|
for(p = ptr, q = knj, len = klen; len; len--)
|
||||||
if (*p++ != *q++) break;
|
if(*p++ != *q++) break;
|
||||||
|
|
||||||
if (!len) {
|
if(!len) {
|
||||||
*dst = ptr;
|
*dst = ptr;
|
||||||
flg = TRUE;
|
flg = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (!(*ptr == KANJISTREND)) {
|
while(!(*ptr == KANJISTREND)) {
|
||||||
ptr += codesize(*ptr);
|
ptr += codesize(*ptr);
|
||||||
}
|
}
|
||||||
ptr++;
|
ptr++;
|
||||||
cnt++;
|
cnt++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!flg) *dst = ptr;
|
if(!flg) *dst = ptr;
|
||||||
|
|
||||||
return cnt;
|
return cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TypeIdxOfs
|
TypeIdxOfs
|
||||||
count_uidx()
|
count_uidx() {
|
||||||
{
|
u_char* p;
|
||||||
u_char *p;
|
|
||||||
|
|
||||||
p = get_idxptr(curdict->segunit - 1);
|
p = get_idxptr(curdict->segunit - 1);
|
||||||
while (*p++) ;
|
while(*p++);
|
||||||
|
|
||||||
return (curdict->idxlen - (p - idxbuf));
|
return (curdict->idxlen - (p - idxbuf));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void chg_uidx(TypeDicSeg seg, u_char* yomi, int len) {
|
||||||
|
u_char *p, *q;
|
||||||
void
|
int olen;
|
||||||
chg_uidx(TypeDicSeg seg, u_char *yomi, int len)
|
|
||||||
{
|
|
||||||
u_char *p, *q;
|
|
||||||
int olen;
|
|
||||||
|
|
||||||
p = get_idxptr(seg);
|
p = get_idxptr(seg);
|
||||||
|
|
||||||
|
|
@ -390,13 +340,12 @@ chg_uidx(TypeDicSeg seg, u_char *yomi, int len)
|
||||||
|
|
||||||
q = idxbuf + curdict->idxlen;
|
q = idxbuf + curdict->idxlen;
|
||||||
|
|
||||||
if (len > olen) {
|
if(len > olen) {
|
||||||
mvmemd(q - (len-olen), q, (int)(q - (len-olen) - p));
|
mvmemd(q - (len - olen), q, (int)(q - (len - olen) - p));
|
||||||
|
} else {
|
||||||
|
mvmemi(p + (olen - len), p, (int)(q - (p + (olen - len))));
|
||||||
}
|
}
|
||||||
else {
|
while(len--) *p++ = *yomi++;
|
||||||
mvmemi(p + (olen-len), p, (int)(q - (p + (olen-len))));
|
|
||||||
}
|
|
||||||
while (len--) *p++ = *yomi++;
|
|
||||||
|
|
||||||
(*curdict->putidx)(curdict, 0);
|
(*curdict->putidx)(curdict, 0);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:28 $
|
* $SonyDate: 1994/06/03 08:01:28 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
|
|
@ -44,64 +43,57 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
#define JREC_NUM 128
|
#define JREC_NUM 128
|
||||||
#define CLREC_NUM 128
|
#define CLREC_NUM 128
|
||||||
|
|
||||||
static JREC *jrec = NULL;
|
static JREC* jrec = NULL;
|
||||||
static CLREC *clrec = NULL;
|
static CLREC* clrec = NULL;
|
||||||
|
|
||||||
JREC *
|
JREC* alloc_jrec() {
|
||||||
alloc_jrec()
|
JREC* p;
|
||||||
{
|
int i;
|
||||||
JREC *p;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (jrec == NULL) {
|
if(jrec == NULL) {
|
||||||
jrec = (JREC *)malloc(sizeof(JREC) * JREC_NUM);
|
jrec = (JREC*)malloc(sizeof(JREC) * JREC_NUM);
|
||||||
if (jrec == NULL) return (JREC *)malloc(sizeof(JREC));
|
if(jrec == NULL) return (JREC*)malloc(sizeof(JREC));
|
||||||
for (i = 0, p = jrec ; i < JREC_NUM - 1 ; i++, p++)
|
for(i = 0, p = jrec; i < JREC_NUM - 1; i++, p++)
|
||||||
p -> jsort = p + 1;
|
p->jsort = p + 1;
|
||||||
p -> jsort = NULL;
|
p->jsort = NULL;
|
||||||
}
|
}
|
||||||
p = jrec;
|
p = jrec;
|
||||||
jrec = jrec -> jsort;
|
jrec = jrec->jsort;
|
||||||
|
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void free_jrec(JREC* p) {
|
||||||
free_jrec(JREC *p)
|
if(p != NULL) {
|
||||||
{
|
p->jsort = jrec;
|
||||||
if (p != NULL) {
|
jrec = p;
|
||||||
p -> jsort = jrec;
|
|
||||||
jrec = p;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CLREC *
|
CLREC*
|
||||||
alloc_clrec()
|
alloc_clrec() {
|
||||||
{
|
CLREC* p;
|
||||||
CLREC *p;
|
int i;
|
||||||
int i;
|
|
||||||
|
|
||||||
if (clrec == NULL) {
|
if(clrec == NULL) {
|
||||||
clrec = (CLREC *)malloc(sizeof(CLREC) * CLREC_NUM);
|
clrec = (CLREC*)malloc(sizeof(CLREC) * CLREC_NUM);
|
||||||
if (clrec == NULL) return (CLREC *)malloc(sizeof(CLREC));
|
if(clrec == NULL) return (CLREC*)malloc(sizeof(CLREC));
|
||||||
for (i = 0, p = clrec ; i < CLREC_NUM - 1 ; i++, p++)
|
for(i = 0, p = clrec; i < CLREC_NUM - 1; i++, p++)
|
||||||
p -> clsort = p + 1;
|
p->clsort = p + 1;
|
||||||
p -> clsort = NULL;
|
p->clsort = NULL;
|
||||||
}
|
}
|
||||||
p = clrec;
|
p = clrec;
|
||||||
clrec = clrec -> clsort;
|
clrec = clrec->clsort;
|
||||||
|
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void free_clrec(CLREC* p) {
|
||||||
free_clrec(CLREC *p)
|
if(p != NULL) {
|
||||||
{
|
p->clsort = clrec;
|
||||||
if (p != NULL) {
|
clrec = p;
|
||||||
p -> clsort = clrec;
|
|
||||||
clrec = p;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,6 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:29 $
|
* $SonyDate: 1994/06/03 08:01:29 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_euc.h"
|
#include "sj_euc.h"
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
|
|
@ -43,21 +40,18 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int codesize(u_char code) {
|
||||||
codesize(u_char code)
|
switch(code & KANJIMODEMASK) {
|
||||||
{
|
case ZENHIRAASSYUKU:
|
||||||
switch (code & KANJIMODEMASK) {
|
case ZENKATAASSYUKU:
|
||||||
case ZENHIRAASSYUKU:
|
case KANJIASSYUKU:
|
||||||
case ZENKATAASSYUKU:
|
case KANJISTREND:
|
||||||
case KANJIASSYUKU:
|
|
||||||
case KANJISTREND:
|
|
||||||
return 1;
|
return 1;
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
|
return 2;
|
||||||
|
default:
|
||||||
return 2;
|
return 2;
|
||||||
default:
|
|
||||||
return 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,17 +33,14 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:30 $
|
* $SonyDate: 1994/06/03 08:01:30 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_const.h"
|
#include "sj_const.h"
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
u_char chrtbl[256] =
|
u_char chrtbl[256] =
|
||||||
{
|
{
|
||||||
0,
|
0,
|
||||||
FZKTOP,
|
FZKTOP,
|
||||||
DICTOP + TAI_KGU,
|
DICTOP + TAI_KGU,
|
||||||
|
|
@ -299,5 +296,4 @@ u_char chrtbl[256] =
|
||||||
TAI_KGU,
|
TAI_KGU,
|
||||||
TAI_KGU,
|
TAI_KGU,
|
||||||
TAI_KGU,
|
TAI_KGU,
|
||||||
0
|
0};
|
||||||
};
|
|
||||||
|
|
|
||||||
|
|
@ -37,29 +37,26 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
|
static CLREC *nextrecblk(), *prevrecblk();
|
||||||
|
|
||||||
static CLREC *nextrecblk(), *prevrecblk();
|
static void initkbuf(u_char*);
|
||||||
|
|
||||||
static void initkbuf(u_char *);
|
int cl2knj(u_char* yomi, int len, u_char* kouho) {
|
||||||
|
u_char* ptr1;
|
||||||
|
u_char* ptr2;
|
||||||
int
|
|
||||||
cl2knj(u_char *yomi, int len, u_char *kouho)
|
|
||||||
{
|
|
||||||
u_char *ptr1;
|
|
||||||
u_char *ptr2;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
khcount = nkhcount = 0;
|
khcount = nkhcount = 0;
|
||||||
|
|
||||||
initkbuf(kouho);
|
initkbuf(kouho);
|
||||||
|
|
||||||
if (len > MAXCLINPUTLEN * 2) len = MAXCLINPUTLEN * 2;
|
if(len > MAXCLINPUTLEN * 2) len = MAXCLINPUTLEN * 2;
|
||||||
|
|
||||||
ptr1 = yomi; ptr2 = hyomi;
|
ptr1 = yomi;
|
||||||
for (i = 0 ; i < len ; i++) {
|
ptr2 = hyomi;
|
||||||
if (isknj1(*ptr1)) {
|
for(i = 0; i < len; i++) {
|
||||||
if (++i >= len) break;
|
if(isknj1(*ptr1)) {
|
||||||
|
if(++i >= len) break;
|
||||||
}
|
}
|
||||||
ptr1 += sj2cd_chr(ptr1, ptr2++);
|
ptr1 += sj2cd_chr(ptr1, ptr2++);
|
||||||
}
|
}
|
||||||
|
|
@ -67,19 +64,19 @@ cl2knj(u_char *yomi, int len, u_char *kouho)
|
||||||
|
|
||||||
strlcpy(orgyomi, yomi, (int)(ptr1 - yomi) + 1);
|
strlcpy(orgyomi, yomi, (int)(ptr1 - yomi) + 1);
|
||||||
|
|
||||||
if (!hyomi[0]) return 0;
|
if(!hyomi[0]) return 0;
|
||||||
|
|
||||||
freework();
|
freework();
|
||||||
|
|
||||||
inputyomi = orgyomi;
|
inputyomi = orgyomi;
|
||||||
cnvstart = ystart = hyomi;
|
cnvstart = ystart = hyomi;
|
||||||
cnvlen = sstrlen(hyomi);
|
cnvlen = sstrlen(hyomi);
|
||||||
|
|
||||||
mkjiritu(0);
|
mkjiritu(0);
|
||||||
|
|
||||||
mkbunsetu();
|
mkbunsetu();
|
||||||
|
|
||||||
if (!maxclptr) wakachi();
|
if(!maxclptr) wakachi();
|
||||||
|
|
||||||
jrt1st = maxjptr;
|
jrt1st = maxjptr;
|
||||||
clt1st = maxclptr;
|
clt1st = maxclptr;
|
||||||
|
|
@ -92,129 +89,104 @@ cl2knj(u_char *yomi, int len, u_char *kouho)
|
||||||
|
|
||||||
cvtclknj();
|
cvtclknj();
|
||||||
|
|
||||||
return hzstrlen(inputyomi, (int)clt1st -> cllen);
|
return hzstrlen(inputyomi, (int)clt1st->cllen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int nextcl(u_char* kouho, int mode) {
|
||||||
|
CLREC* clptr;
|
||||||
int
|
|
||||||
nextcl(u_char *kouho, int mode)
|
|
||||||
{
|
|
||||||
CLREC *clptr;
|
|
||||||
|
|
||||||
initkbuf(kouho);
|
initkbuf(kouho);
|
||||||
|
|
||||||
if (!khcount) return 0;
|
if(!khcount) return 0;
|
||||||
|
|
||||||
if (!mode && (selectid < khcount))
|
if(!mode && (selectid < khcount))
|
||||||
selectid++;
|
selectid++;
|
||||||
|
|
||||||
else if((mode < 2) && (clptr = nextrecblk())) {
|
else if((mode < 2) && (clptr = nextrecblk())) {
|
||||||
selectid = 1;
|
selectid = 1;
|
||||||
clt1st = clptr;
|
clt1st = clptr;
|
||||||
mkkouho();
|
mkkouho();
|
||||||
getrank();
|
getrank();
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
cvtclknj();
|
cvtclknj();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
cvtclknj();
|
cvtclknj();
|
||||||
|
|
||||||
return hzstrlen(inputyomi, (int)clt1st -> cllen);
|
return hzstrlen(inputyomi, (int)clt1st->cllen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static CLREC*
|
static CLREC*
|
||||||
nextrecblk()
|
nextrecblk() {
|
||||||
{
|
CLREC* clptr;
|
||||||
CLREC *clptr;
|
int keeplen;
|
||||||
int keeplen;
|
|
||||||
|
|
||||||
keeplen = clt1st -> cllen;
|
keeplen = clt1st->cllen;
|
||||||
|
|
||||||
clptr = clt1st -> clsort;
|
clptr = clt1st->clsort;
|
||||||
|
|
||||||
while (clptr && (int)clptr -> cllen == keeplen)
|
while(clptr && (int)clptr->cllen == keeplen)
|
||||||
clptr = clptr -> clsort;
|
clptr = clptr->clsort;
|
||||||
|
|
||||||
return clptr;
|
return clptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int prevcl(u_char* kouho, int mode) {
|
||||||
|
CLREC* clptr;
|
||||||
|
|
||||||
int
|
|
||||||
prevcl(u_char *kouho, int mode)
|
|
||||||
{
|
|
||||||
CLREC *clptr;
|
|
||||||
|
|
||||||
initkbuf(kouho);
|
initkbuf(kouho);
|
||||||
|
|
||||||
if (!khcount) return 0;
|
if(!khcount) return 0;
|
||||||
|
|
||||||
if (!mode && (selectid > 1))
|
if(!mode && (selectid > 1))
|
||||||
selectid--;
|
selectid--;
|
||||||
|
|
||||||
else if ((mode < 2) && (clptr = prevrecblk())) {
|
else if((mode < 2) && (clptr = prevrecblk())) {
|
||||||
clt1st = clptr;
|
clt1st = clptr;
|
||||||
mkkouho();
|
mkkouho();
|
||||||
getrank();
|
getrank();
|
||||||
selectid = khcount;
|
selectid = khcount;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
cvtclknj();
|
cvtclknj();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
cvtclknj();
|
cvtclknj();
|
||||||
|
|
||||||
return hzstrlen(inputyomi, (int)clt1st -> cllen);
|
return hzstrlen(inputyomi, (int)clt1st->cllen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static CLREC*
|
static CLREC*
|
||||||
prevrecblk()
|
prevrecblk() {
|
||||||
{
|
CLREC* clptr;
|
||||||
CLREC *clptr;
|
CLREC* keepptr;
|
||||||
CLREC *keepptr;
|
int keeplen;
|
||||||
int keeplen;
|
int cllen;
|
||||||
int cllen;
|
|
||||||
|
|
||||||
clptr = maxclptr;
|
clptr = maxclptr;
|
||||||
|
|
||||||
if ((cllen = clt1st -> cllen) == clptr -> cllen)
|
if((cllen = clt1st->cllen) == clptr->cllen)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
while ((int)clptr -> cllen > cllen) {
|
while((int)clptr->cllen > cllen) {
|
||||||
keeplen = clptr -> cllen;
|
keeplen = clptr->cllen;
|
||||||
|
|
||||||
keepptr = clptr;
|
keepptr = clptr;
|
||||||
|
|
||||||
while ((int)clptr -> cllen == keeplen)
|
while((int)clptr->cllen == keeplen)
|
||||||
clptr = clptr -> clsort;
|
clptr = clptr->clsort;
|
||||||
}
|
}
|
||||||
|
|
||||||
return keepptr;
|
return keepptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
initkbuf(u_char *kouho)
|
initkbuf(u_char* kouho) {
|
||||||
{
|
|
||||||
kanjitmp = kouho;
|
kanjitmp = kouho;
|
||||||
memset(kanjitmp, 0, sizeof(STDYOUT) + 1);
|
memset(kanjitmp, 0, sizeof(STDYOUT) + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int selectnum() {
|
||||||
|
|
||||||
int
|
|
||||||
selectnum()
|
|
||||||
{
|
|
||||||
return selectid;
|
return selectid;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,81 +33,70 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:32 $
|
* $SonyDate: 1994/06/03 08:01:32 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
|
static u_char *delcldata(), *srchclpos();
|
||||||
|
static int delclold();
|
||||||
|
|
||||||
static u_char *delcldata(), *srchclpos();
|
int clstudy(u_char* yomi1, u_char* yomi2, STDYOUT* stdy) {
|
||||||
static int delclold();
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
clstudy(u_char *yomi1, u_char *yomi2, STDYOUT *stdy)
|
|
||||||
{
|
|
||||||
u_char ytmp[CLSTDY_TMPLEN];
|
u_char ytmp[CLSTDY_TMPLEN];
|
||||||
u_char *dst, *ptr;
|
u_char *dst, *ptr;
|
||||||
int ret;
|
int ret;
|
||||||
int len1, len2;
|
int len1, len2;
|
||||||
int alen, blen;
|
int alen, blen;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!StudyExist()) return CLSTUDYNODICT;
|
if(!StudyExist()) return CLSTUDYNODICT;
|
||||||
|
|
||||||
if (!yomi1 || !*yomi1) return CLSTUDYPARAERR;
|
if(!yomi1 || !*yomi1) return CLSTUDYPARAERR;
|
||||||
|
|
||||||
if (!yomi2 || !*yomi2) {
|
if(!yomi2 || !*yomi2) {
|
||||||
if (!sj2cd_str(yomi1, ytmp, CLSTDY_TMPLEN))
|
if(!sj2cd_str(yomi1, ytmp, CLSTDY_TMPLEN))
|
||||||
return CLSTUDYYOMIERR;
|
return CLSTUDYYOMIERR;
|
||||||
|
|
||||||
(void)delcldata(ytmp);
|
(void)delcldata(ytmp);
|
||||||
|
|
||||||
ret = CLSTUDYNORMEND;
|
ret = CLSTUDYNORMEND;
|
||||||
}
|
} else if(!stdy)
|
||||||
else if (!stdy)
|
|
||||||
return CLSTUDYPARAERR;
|
return CLSTUDYPARAERR;
|
||||||
|
|
||||||
else {
|
else {
|
||||||
if (!sj2cd_str(yomi1, ytmp, CLSTDY_TMPLEN))
|
if(!sj2cd_str(yomi1, ytmp, CLSTDY_TMPLEN))
|
||||||
return CLSTUDYYOMIERR;
|
return CLSTUDYYOMIERR;
|
||||||
len1 = sstrlen(ytmp);
|
len1 = sstrlen(ytmp);
|
||||||
|
|
||||||
if (!sj2cd_str(yomi2, ytmp + len1, CLSTDY_TMPLEN - len1))
|
if(!sj2cd_str(yomi2, ytmp + len1, CLSTDY_TMPLEN - len1))
|
||||||
return CLSTUDYYOMIERR;
|
return CLSTUDYYOMIERR;
|
||||||
len2 = len1 + stdy -> len;
|
len2 = len1 + stdy->len;
|
||||||
|
|
||||||
ytmp[len2] = 0;
|
ytmp[len2] = 0;
|
||||||
|
|
||||||
alen = len2 + CL_HDLEN;
|
alen = len2 + CL_HDLEN;
|
||||||
|
|
||||||
if (alen + 1 >= CLSTUDYLEN) return CLSTUDYNOAREA;
|
if(alen + 1 >= CLSTUDYLEN) return CLSTUDYNOAREA;
|
||||||
|
|
||||||
blen = CLSTUDYTAIL - delcldata(ytmp) - 1;
|
blen = CLSTUDYTAIL - delcldata(ytmp) - 1;
|
||||||
|
|
||||||
while (blen < alen) {
|
while(blen < alen) {
|
||||||
if (!(i = delclold())) break;
|
if(!(i = delclold())) break;
|
||||||
blen += i;
|
blen += i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(blen >= alen) {
|
||||||
if (blen >= alen) {
|
|
||||||
dst = srchclpos(ytmp);
|
dst = srchclpos(ytmp);
|
||||||
|
|
||||||
ptr = CLSTUDYTAIL - alen;
|
ptr = CLSTUDYTAIL - alen;
|
||||||
mvmemd(ptr, CLSTUDYTAIL, (ptr - dst));
|
mvmemd(ptr, CLSTUDYTAIL, (ptr - dst));
|
||||||
ClYomiLen(dst) = (u_char)len2;
|
ClYomiLen(dst) = (u_char)len2;
|
||||||
ClGramCode(dst) = stdy -> hinshi;
|
ClGramCode(dst) = stdy->hinshi;
|
||||||
ClYomi1Len(dst) = (u_char)len1;
|
ClYomi1Len(dst) = (u_char)len1;
|
||||||
ClSetNum(dst, 1);
|
ClSetNum(dst, 1);
|
||||||
memcpy(ClYomiPos(dst), ytmp, len2);
|
memcpy(ClYomiPos(dst), ytmp, len2);
|
||||||
|
|
||||||
ret = CLSTUDYNORMEND;
|
ret = CLSTUDYNORMEND;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
ret = CLSTUDYNOAREA;
|
ret = CLSTUDYNOAREA;
|
||||||
}
|
}
|
||||||
mkclidx();
|
mkclidx();
|
||||||
|
|
@ -116,32 +105,28 @@ clstudy(u_char *yomi1, u_char *yomi2, STDYOUT *stdy)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static u_char*
|
||||||
|
delcldata(u_char* ycode) {
|
||||||
static u_char *
|
u_char* tagptr;
|
||||||
delcldata(u_char *ycode)
|
u_char* ptr1;
|
||||||
{
|
u_char* ptr2;
|
||||||
u_char *tagptr;
|
|
||||||
u_char *ptr1;
|
|
||||||
u_char *ptr2;
|
|
||||||
int len1;
|
int len1;
|
||||||
|
|
||||||
tagptr = CLSTUDYDICT;
|
tagptr = CLSTUDYDICT;
|
||||||
while (!iseocl(tagptr)) {
|
while(!iseocl(tagptr)) {
|
||||||
ptr1 = ycode;
|
ptr1 = ycode;
|
||||||
ptr2 = ClYomiPos(tagptr);
|
ptr2 = ClYomiPos(tagptr);
|
||||||
len1 = ClYomiLen(tagptr);
|
len1 = ClYomiLen(tagptr);
|
||||||
|
|
||||||
while (*ptr1 && len1) {
|
while(*ptr1 && len1) {
|
||||||
if (*ptr1 != *ptr2) break;
|
if(*ptr1 != *ptr2) break;
|
||||||
ptr1++;
|
ptr1++;
|
||||||
ptr2++;
|
ptr2++;
|
||||||
len1--;
|
len1--;
|
||||||
}
|
}
|
||||||
if (!*ptr1 || !len1) {
|
if(!*ptr1 || !len1) {
|
||||||
delclsub(tagptr);
|
delclsub(tagptr);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
tagptr = ClNextTag(tagptr);
|
tagptr = ClNextTag(tagptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -149,12 +134,8 @@ delcldata(u_char *ycode)
|
||||||
return tagptr;
|
return tagptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void delclsub(u_char* target) {
|
||||||
|
u_char* src;
|
||||||
void
|
|
||||||
delclsub(u_char *target)
|
|
||||||
{
|
|
||||||
u_char *src;
|
|
||||||
int num;
|
int num;
|
||||||
int tmp;
|
int tmp;
|
||||||
int len;
|
int len;
|
||||||
|
|
@ -170,10 +151,10 @@ delclsub(u_char *target)
|
||||||
memset(CLSTUDYTAIL - len, 0, len);
|
memset(CLSTUDYTAIL - len, 0, len);
|
||||||
|
|
||||||
src = CLSTUDYDICT;
|
src = CLSTUDYDICT;
|
||||||
while (!iseocl(src)) {
|
while(!iseocl(src)) {
|
||||||
tmp = ClGetNum(src);
|
tmp = ClGetNum(src);
|
||||||
|
|
||||||
if (tmp > num) {
|
if(tmp > num) {
|
||||||
tmp -= 1;
|
tmp -= 1;
|
||||||
ClSetNum(src, tmp);
|
ClSetNum(src, tmp);
|
||||||
}
|
}
|
||||||
|
|
@ -182,32 +163,29 @@ delclsub(u_char *target)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
delclold()
|
delclold() {
|
||||||
{
|
u_char* tagptr;
|
||||||
u_char *tagptr;
|
u_char* target;
|
||||||
u_char *target;
|
|
||||||
int num;
|
int num;
|
||||||
int tmp;
|
int tmp;
|
||||||
|
|
||||||
target = NULL;
|
target = NULL;
|
||||||
num = 0;
|
num = 0;
|
||||||
|
|
||||||
tagptr = CLSTUDYDICT;
|
tagptr = CLSTUDYDICT;
|
||||||
while (!iseocl(tagptr)) {
|
while(!iseocl(tagptr)) {
|
||||||
tmp = ClGetNum(tagptr);
|
tmp = ClGetNum(tagptr);
|
||||||
|
|
||||||
if (tmp >= num) {
|
if(tmp >= num) {
|
||||||
num = tmp;
|
num = tmp;
|
||||||
target = tagptr;
|
target = tagptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
tagptr = ClNextTag(tagptr);
|
tagptr = ClNextTag(tagptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target) {
|
if(target) {
|
||||||
num = ClBlkLen(tagptr);
|
num = ClBlkLen(tagptr);
|
||||||
delclsub(target);
|
delclsub(target);
|
||||||
}
|
}
|
||||||
|
|
@ -215,21 +193,18 @@ delclold()
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static u_char*
|
||||||
|
srchclpos(u_char* ycode) {
|
||||||
static u_char *
|
u_char* tagptr;
|
||||||
srchclpos(u_char *ycode)
|
u_char* target;
|
||||||
{
|
u_char* ptr1;
|
||||||
u_char *tagptr;
|
u_char* ptr2;
|
||||||
u_char *target;
|
|
||||||
u_char *ptr1;
|
|
||||||
u_char *ptr2;
|
|
||||||
int len;
|
int len;
|
||||||
int tmp;
|
int tmp;
|
||||||
|
|
||||||
target = NULL;
|
target = NULL;
|
||||||
tagptr = CLSTUDYDICT;
|
tagptr = CLSTUDYDICT;
|
||||||
while (!iseocl(tagptr)) {
|
while(!iseocl(tagptr)) {
|
||||||
tmp = ClGetNum(tagptr);
|
tmp = ClGetNum(tagptr);
|
||||||
|
|
||||||
tmp++;
|
tmp++;
|
||||||
|
|
@ -238,19 +213,19 @@ srchclpos(u_char *ycode)
|
||||||
ptr1 = ycode;
|
ptr1 = ycode;
|
||||||
ptr2 = ClYomiPos(tagptr);
|
ptr2 = ClYomiPos(tagptr);
|
||||||
len = ClYomiLen(tagptr);
|
len = ClYomiLen(tagptr);
|
||||||
while (*ptr1 && len) {
|
while(*ptr1 && len) {
|
||||||
if (*ptr1 != *ptr2) break;
|
if(*ptr1 != *ptr2) break;
|
||||||
ptr1++;
|
ptr1++;
|
||||||
ptr2++;
|
ptr2++;
|
||||||
len--;
|
len--;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!target) {
|
if(!target) {
|
||||||
if (!len)
|
if(!len)
|
||||||
;
|
;
|
||||||
else if (!*ptr1)
|
else if(!*ptr1)
|
||||||
target = tagptr;
|
target = tagptr;
|
||||||
else if (*ptr1 < *ptr2)
|
else if(*ptr1 < *ptr2)
|
||||||
target = tagptr;
|
target = tagptr;
|
||||||
}
|
}
|
||||||
tagptr = ClNextTag(tagptr);
|
tagptr = ClNextTag(tagptr);
|
||||||
|
|
@ -259,25 +234,21 @@ srchclpos(u_char *ycode)
|
||||||
return target ? target : tagptr;
|
return target ? target : tagptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void mkclidx() {
|
||||||
|
u_char* ptr;
|
||||||
void
|
|
||||||
mkclidx()
|
|
||||||
{
|
|
||||||
u_char *ptr;
|
|
||||||
int num;
|
int num;
|
||||||
int st, ed;
|
int st, ed;
|
||||||
|
|
||||||
if (!StudyExist()) return;
|
if(!StudyExist()) return;
|
||||||
|
|
||||||
ptr = CLSTUDYDICT;
|
ptr = CLSTUDYDICT;
|
||||||
for (num = st = 0 ; st < 0x100 ; num++, st = ed) {
|
for(num = st = 0; st < 0x100; num++, st = ed) {
|
||||||
ed = st + CLSTUDYSTEP;
|
ed = st + CLSTUDYSTEP;
|
||||||
while (!iseocl(ptr)) {
|
while(!iseocl(ptr)) {
|
||||||
if ((unsigned int) *ClYomiPos(ptr) >= st) break;
|
if((unsigned int)*ClYomiPos(ptr) >= st) break;
|
||||||
ptr = ClNextTag(ptr);
|
ptr = ClNextTag(ptr);
|
||||||
}
|
}
|
||||||
if (ClYomiLen(ptr) && ((int)*ClYomiPos(ptr) < ed))
|
if(ClYomiLen(ptr) && ((int)*ClYomiPos(ptr) < ed))
|
||||||
CLSTUDYIDX[num] = ptr - CLSTUDYDICT;
|
CLSTUDYIDX[num] = ptr - CLSTUDYDICT;
|
||||||
else
|
else
|
||||||
CLSTUDYIDX[num] = (u_short)-1;
|
CLSTUDYIDX[num] = (u_short)-1;
|
||||||
|
|
|
||||||
|
|
@ -33,26 +33,20 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:32 $
|
* $SonyDate: 1994/06/03 08:01:32 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_const.h"
|
#include "sj_const.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int cmpstr(u_char* src, u_char* dst) {
|
||||||
cmpstr(u_char *src, u_char *dst)
|
while(*src) {
|
||||||
{
|
if(*src != *dst) return FALSE;
|
||||||
while (*src) {
|
|
||||||
if (*src != *dst) return FALSE;
|
|
||||||
src++;
|
src++;
|
||||||
dst++;
|
dst++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*dst) return FALSE;
|
if(*dst) return FALSE;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
15901
lib/sj3core/connect.c
15901
lib/sj3core/connect.c
File diff suppressed because it is too large
Load diff
|
|
@ -33,36 +33,25 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:38 $
|
* $SonyDate: 1994/06/03 08:01:38 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
void
|
void cvtclknj() {
|
||||||
cvtclknj()
|
KHREC* krec;
|
||||||
{
|
int i;
|
||||||
KHREC *krec;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
|
if(!selectid) selectid = khcount;
|
||||||
|
|
||||||
|
i = khcount;
|
||||||
|
|
||||||
if (!selectid) selectid = khcount;
|
|
||||||
|
|
||||||
i = khcount;
|
|
||||||
krec = kouhotbl;
|
krec = kouhotbl;
|
||||||
|
|
||||||
while (i--) {
|
while(i--) {
|
||||||
if ((int)krec -> rank == (int)selectid) break;
|
if((int)krec->rank == (int)selectid) break;
|
||||||
krec++;
|
krec++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
setstyrec(krec);
|
setstyrec(krec);
|
||||||
|
|
||||||
|
|
||||||
cvtkouho(krec);
|
cvtkouho(krec);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,51 +33,42 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:40 $
|
* $SonyDate: 1994/06/03 08:01:40 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_euc.h"
|
#include "sj_euc.h"
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
void
|
void cvtdict(KHREC* krec, CLREC* clrec, int flg) {
|
||||||
cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
TypeDicOfs ofs;
|
||||||
{
|
u_char* yptr;
|
||||||
TypeDicOfs ofs;
|
int jlen;
|
||||||
u_char *yptr;
|
int stblen;
|
||||||
int jlen;
|
int sttlen;
|
||||||
int stblen;
|
u_char* fptr;
|
||||||
int sttlen;
|
int cllen;
|
||||||
u_char *fptr;
|
JREC* jrec;
|
||||||
int cllen;
|
int i, j;
|
||||||
JREC *jrec;
|
|
||||||
int i, j;
|
|
||||||
|
|
||||||
|
ofs = krec->offs;
|
||||||
ofs = krec -> offs;
|
jrec = clrec->jnode;
|
||||||
jrec = clrec -> jnode;
|
cllen = clrec->cllen;
|
||||||
cllen = clrec -> cllen;
|
|
||||||
|
|
||||||
yptr = inputyomi;
|
yptr = inputyomi;
|
||||||
|
|
||||||
|
jlen = jrec->jlen;
|
||||||
|
|
||||||
jlen = jrec -> jlen;
|
if(i = jrec->sttofs) {
|
||||||
|
|
||||||
|
if(i == SETTOU_KIGOU) {
|
||||||
if (i = jrec -> sttofs) {
|
|
||||||
|
|
||||||
if (i == SETTOU_KIGOU) {
|
|
||||||
sttlen = 1;
|
sttlen = 1;
|
||||||
fptr = yptr;
|
fptr = yptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
else {
|
else {
|
||||||
fptr = Settou_ptr(i);
|
fptr = Settou_ptr(i);
|
||||||
sttlen = SttYomiLen(fptr);
|
sttlen = SttYomiLen(fptr);
|
||||||
fptr++;
|
fptr++;
|
||||||
if (!krec -> sttkj) fptr += 2;
|
if(!krec->sttkj) fptr += 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
*kanjitmp++ = *fptr++;
|
*kanjitmp++ = *fptr++;
|
||||||
|
|
@ -86,21 +77,17 @@ cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
||||||
yptr += sttlen * 2;
|
yptr += sttlen * 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
else
|
else
|
||||||
sttlen = 0;
|
sttlen = 0;
|
||||||
|
|
||||||
|
if(flg) {
|
||||||
if (flg) {
|
|
||||||
|
|
||||||
(*Cvtnum_func[krec->mode - 1])(ystart + sttlen, yptr, jrec);
|
(*Cvtnum_func[krec->mode - 1])(ystart + sttlen, yptr, jrec);
|
||||||
|
|
||||||
|
yptr += (i = jrec->numlen) * 2;
|
||||||
yptr += (i = jrec -> numlen) * 2;
|
|
||||||
jlen -= i;
|
jlen -= i;
|
||||||
|
|
||||||
|
if(jrec->stbofs) {
|
||||||
if (jrec -> stbofs) {
|
|
||||||
*kanjitmp++ = *yptr++;
|
*kanjitmp++ = *yptr++;
|
||||||
*kanjitmp++ = *yptr++;
|
*kanjitmp++ = *yptr++;
|
||||||
jlen--;
|
jlen--;
|
||||||
|
|
@ -109,71 +96,60 @@ cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
||||||
stblen = 0;
|
stblen = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if((i = jrec->stbofs) && (fptr = getstb(jrec->hinsi))) {
|
||||||
else if ((i = jrec -> stbofs) && (fptr = getstb(jrec -> hinsi))) {
|
|
||||||
fptr += i - 1;
|
fptr += i - 1;
|
||||||
stblen = StbYomiLen(fptr);
|
stblen = StbYomiLen(fptr);
|
||||||
jlen -= stblen;
|
jlen -= stblen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
else {
|
else {
|
||||||
stblen = 0;
|
stblen = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(ofs) {
|
||||||
if (ofs) {
|
if(seldict(jrec->dicid)) {
|
||||||
if (seldict(jrec -> dicid)) {
|
(*curdict->getdic)(curdict, jrec->jseg);
|
||||||
(*curdict->getdic)(curdict, jrec -> jseg);
|
|
||||||
get_askknj();
|
get_askknj();
|
||||||
kanjitmp +=
|
kanjitmp +=
|
||||||
getkanji(yptr, jlen, dicbuf + ofs, kanjitmp);
|
getkanji(yptr, jlen, dicbuf + ofs, kanjitmp);
|
||||||
yptr += jlen * 2;
|
yptr += jlen * 2;
|
||||||
}
|
} else {
|
||||||
else {
|
while(jlen-- > 0) {
|
||||||
while (jlen-- > 0) {
|
for(i = 0; i < euc_codesize(*yptr); i++)
|
||||||
for ( i = 0; i < euc_codesize(*yptr); i++)
|
*kanjitmp++ = yptr[i];
|
||||||
*kanjitmp++ = yptr[i];
|
|
||||||
yptr += euc_codesize(*yptr);
|
yptr += euc_codesize(*yptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(stblen) {
|
||||||
if (stblen) {
|
|
||||||
i = StbKnjLen(fptr);
|
i = StbKnjLen(fptr);
|
||||||
fptr += stblen + 2;
|
fptr += stblen + 2;
|
||||||
while (i-- > 0) *kanjitmp++ = *fptr++;
|
while(i-- > 0) *kanjitmp++ = *fptr++;
|
||||||
yptr += stblen * 2;
|
yptr += stblen * 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
i = cllen - (jrec->jlen);
|
||||||
i = cllen - (jrec -> jlen);
|
while(i-- > 0) {
|
||||||
while (i-- > 0) {
|
for(j = 0; j < euc_codesize(*yptr); j++)
|
||||||
for ( j = 0; j < euc_codesize(*yptr); j++)
|
*kanjitmp++ = yptr[j];
|
||||||
*kanjitmp++ = yptr[j];
|
|
||||||
yptr += euc_codesize(*yptr);
|
yptr += euc_codesize(*yptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cvtminasi(int len) {
|
||||||
|
u_char* ptr;
|
||||||
void
|
|
||||||
cvtminasi(int len)
|
|
||||||
{
|
|
||||||
u_char *ptr;
|
|
||||||
|
|
||||||
ptr = inputyomi;
|
ptr = inputyomi;
|
||||||
|
|
||||||
while (len-- > 0) {
|
while(len-- > 0) {
|
||||||
|
|
||||||
|
if(isknj1(*ptr)) {
|
||||||
if (isknj1(*ptr)) {
|
|
||||||
*kanjitmp++ = *ptr++;
|
*kanjitmp++ = *ptr++;
|
||||||
*kanjitmp++ = *ptr++;
|
*kanjitmp++ = *ptr++;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (*ptr == SS3) {
|
else if(*ptr == SS3) {
|
||||||
*kanjitmp++ = *ptr++;
|
*kanjitmp++ = *ptr++;
|
||||||
*kanjitmp++ = *ptr++;
|
*kanjitmp++ = *ptr++;
|
||||||
*kanjitmp++ = *ptr++;
|
*kanjitmp++ = *ptr++;
|
||||||
|
|
@ -183,40 +159,32 @@ cvtminasi(int len)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cvtwakachi(CLREC* clrec) {
|
||||||
|
|
||||||
void
|
|
||||||
cvtwakachi(CLREC *clrec)
|
|
||||||
{
|
|
||||||
int jlen;
|
int jlen;
|
||||||
u_char *ym;
|
u_char* ym;
|
||||||
int cnt;
|
int cnt;
|
||||||
u_char ch;
|
u_char ch;
|
||||||
|
|
||||||
ym = inputyomi;
|
ym = inputyomi;
|
||||||
|
|
||||||
|
cnt = jlen = clrec->jnode->jlen;
|
||||||
|
while(cnt-- > 0) {
|
||||||
|
if(isknj1(*ym)) {
|
||||||
|
|
||||||
cnt = jlen = clrec -> jnode -> jlen;
|
if(*ym == 0xa4) {
|
||||||
while (cnt-- > 0) {
|
|
||||||
if (isknj1(*ym)) {
|
|
||||||
|
|
||||||
if (*ym == 0xa4) {
|
|
||||||
ch = *++ym;
|
ch = *++ym;
|
||||||
if (0xa1 <= ch && ch <= 0xf3) {
|
if(0xa1 <= ch && ch <= 0xf3) {
|
||||||
*kanjitmp++ = 0xa5;
|
*kanjitmp++ = 0xa5;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
*kanjitmp++ = 0xa4;
|
*kanjitmp++ = 0xa4;
|
||||||
}
|
}
|
||||||
*kanjitmp++ = ch;
|
*kanjitmp++ = ch;
|
||||||
ym++;
|
ym++;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
*kanjitmp++ = *ym++;
|
*kanjitmp++ = *ym++;
|
||||||
*kanjitmp++ = *ym++;
|
*kanjitmp++ = *ym++;
|
||||||
}
|
}
|
||||||
}
|
} else if(*ym == SS3) {
|
||||||
else if (*ym == SS3) {
|
|
||||||
*kanjitmp++ = *ym++;
|
*kanjitmp++ = *ym++;
|
||||||
*kanjitmp++ = *ym++;
|
*kanjitmp++ = *ym++;
|
||||||
*kanjitmp++ = *ym++;
|
*kanjitmp++ = *ym++;
|
||||||
|
|
@ -225,20 +193,18 @@ cvtwakachi(CLREC *clrec)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cnt = clrec->cllen - jlen;
|
||||||
|
while(cnt-- > 0) {
|
||||||
|
|
||||||
cnt = clrec -> cllen - jlen;
|
if(isknj1(*ym)) {
|
||||||
while (cnt-- > 0) {
|
|
||||||
|
|
||||||
|
|
||||||
if (isknj1(*ym)) {
|
|
||||||
*kanjitmp++ = *ym++;
|
*kanjitmp++ = *ym++;
|
||||||
*kanjitmp++ = *ym++;
|
*kanjitmp++ = *ym++;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (*ym == SS3) {
|
else if(*ym == SS3) {
|
||||||
|
*kanjitmp++ = *ym++;
|
||||||
|
*kanjitmp++ = *ym++;
|
||||||
*kanjitmp++ = *ym++;
|
*kanjitmp++ = *ym++;
|
||||||
*kanjitmp++ = *ym++;
|
|
||||||
*kanjitmp++ = *ym++;
|
|
||||||
} else {
|
} else {
|
||||||
*kanjitmp++ = *ym++;
|
*kanjitmp++ = *ym++;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,91 +33,70 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:41 $
|
* $SonyDate: 1994/06/03 08:01:41 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
void
|
void cvtphknj() {
|
||||||
cvtphknj()
|
int i, j;
|
||||||
{
|
CLREC* clrec;
|
||||||
int i, j;
|
CLREC* clkp;
|
||||||
CLREC *clrec;
|
|
||||||
CLREC *clkp;
|
|
||||||
|
|
||||||
if (!kanjilen) goto not_enough_memory;
|
if(!kanjilen) goto not_enough_memory;
|
||||||
|
|
||||||
khcount = 0;
|
khcount = 0;
|
||||||
clkp = NULL;
|
clkp = NULL;
|
||||||
stdytop = NULL;
|
stdytop = NULL;
|
||||||
|
|
||||||
clrec = clt1st;
|
clrec = clt1st;
|
||||||
while (clrec) {
|
while(clrec) {
|
||||||
if (ph_khtbl(clrec)) clkp = clrec;
|
if(ph_khtbl(clrec)) clkp = clrec;
|
||||||
clrec = clrec -> clsort;
|
clrec = clrec->clsort;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(clkp && stdytop) {
|
||||||
|
|
||||||
if (clkp && stdytop) {
|
if(stdytop->nmflg)
|
||||||
|
ph_setkouho(clkp, (TypeDicOfs)0, (STDYIN*)0);
|
||||||
if (stdytop -> nmflg)
|
}
|
||||||
ph_setkouho(clkp, (TypeDicOfs)0, (STDYIN *)0);
|
|
||||||
}
|
|
||||||
|
|
||||||
kouhotbl[0].rank = 1;
|
kouhotbl[0].rank = 1;
|
||||||
|
|
||||||
|
|
||||||
kanjitmp = kanjibuf + 1;
|
kanjitmp = kanjibuf + 1;
|
||||||
|
|
||||||
|
|
||||||
setstyrec(kouhotbl);
|
setstyrec(kouhotbl);
|
||||||
|
|
||||||
|
|
||||||
cvtkouho(kouhotbl);
|
cvtkouho(kouhotbl);
|
||||||
|
|
||||||
|
|
||||||
i = kanjitmp - kanjibuf;
|
i = kanjitmp - kanjibuf;
|
||||||
if (i < kanjilen) {
|
if(i < kanjilen) {
|
||||||
|
|
||||||
kanjilen -= i;
|
kanjilen -= i;
|
||||||
|
|
||||||
|
ystart += clt1st->cllen;
|
||||||
|
|
||||||
ystart += clt1st -> cllen;
|
j = hzstrlen(inputyomi, (int)clt1st->cllen);
|
||||||
|
|
||||||
j = hzstrlen(inputyomi, (int)clt1st -> cllen);
|
|
||||||
kanjibuf[0] = (u_char)j;
|
kanjibuf[0] = (u_char)j;
|
||||||
|
|
||||||
|
|
||||||
inputyomi += j;
|
inputyomi += j;
|
||||||
|
|
||||||
|
|
||||||
memcpy(kanjipos, kanjibuf, i);
|
memcpy(kanjipos, kanjibuf, i);
|
||||||
kanjipos += i;
|
kanjipos += i;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
kanjilen = 0;
|
kanjilen = 0;
|
||||||
|
|
||||||
not_enough_memory:
|
not_enough_memory:
|
||||||
|
|
||||||
|
|
||||||
free_clall(clt1st);
|
free_clall(clt1st);
|
||||||
free_jall (jrt1st);
|
free_jall(jrt1st);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cvtkouho(KHREC* krec) {
|
||||||
|
CLREC* clrec;
|
||||||
|
|
||||||
|
clrec = krec->clrec;
|
||||||
|
|
||||||
void
|
switch(clrec->jnode->class) {
|
||||||
cvtkouho(KHREC *krec)
|
|
||||||
{
|
|
||||||
CLREC *clrec;
|
|
||||||
|
|
||||||
clrec = krec -> clrec;
|
|
||||||
|
|
||||||
|
|
||||||
switch (clrec -> jnode -> class) {
|
|
||||||
case C_DICT:
|
case C_DICT:
|
||||||
cvtdict(krec, clrec, FALSE);
|
cvtdict(krec, clrec, FALSE);
|
||||||
break;
|
break;
|
||||||
|
|
@ -135,72 +114,62 @@ cvtkouho(KHREC *krec)
|
||||||
cvtdict(krec, clrec, TRUE);
|
cvtdict(krec, clrec, TRUE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case C_BUNSETU :
|
case C_BUNSETU:
|
||||||
case C_MINASI :
|
case C_MINASI:
|
||||||
cvtminasi((int)clrec -> cllen);
|
cvtminasi((int)clrec->cllen);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case C_WAKACHI :
|
case C_WAKACHI:
|
||||||
cvtwakachi(clrec);
|
cvtwakachi(clrec);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
*kanjitmp++ = 0;
|
*kanjitmp++ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setstyrec(KHREC* krec) {
|
||||||
|
JREC* jrec;
|
||||||
void
|
KHREC* kptr;
|
||||||
setstyrec(KHREC *krec)
|
|
||||||
{
|
|
||||||
JREC *jrec;
|
|
||||||
KHREC *kptr;
|
|
||||||
int ii;
|
int ii;
|
||||||
u_char *fptr;
|
u_char* fptr;
|
||||||
STDYOUT stdy;
|
STDYOUT stdy;
|
||||||
|
|
||||||
jrec = krec -> clrec -> jnode;
|
jrec = krec->clrec->jnode;
|
||||||
|
|
||||||
|
if(krec->mode && !krec->offs) {
|
||||||
|
|
||||||
if (krec -> mode && !krec -> offs) {
|
for(ii = khcount, kptr = kouhotbl; ii--; kptr++)
|
||||||
|
if(kptr->rank == 1) break;
|
||||||
|
|
||||||
for (ii = khcount, kptr = kouhotbl ; ii--; kptr++)
|
stdy.stdy1.offset = kptr->offs;
|
||||||
if (kptr -> rank == 1) break;
|
stdy.stdy1.seg = kptr->clrec->jnode->jseg;
|
||||||
|
stdy.stdy1.styno = kptr->styno;
|
||||||
|
stdy.stdy1.dicid = kptr->clrec->jnode->dicid;
|
||||||
stdy.stdy1.offset = kptr -> offs;
|
|
||||||
stdy.stdy1.seg = kptr -> clrec -> jnode -> jseg;
|
|
||||||
stdy.stdy1.styno = kptr -> styno;
|
|
||||||
stdy.stdy1.dicid = kptr -> clrec -> jnode -> dicid;
|
|
||||||
stdy.stdy1.nmflg = 1;
|
stdy.stdy1.nmflg = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
stdy.stdy1.offset = krec -> offs;
|
stdy.stdy1.offset = krec->offs;
|
||||||
stdy.stdy1.seg = jrec -> jseg;
|
stdy.stdy1.seg = jrec->jseg;
|
||||||
stdy.stdy1.styno = krec -> styno;
|
stdy.stdy1.styno = krec->styno;
|
||||||
stdy.stdy1.dicid = jrec -> dicid;
|
stdy.stdy1.dicid = jrec->dicid;
|
||||||
stdy.stdy1.nmflg = 0;
|
stdy.stdy1.nmflg = 0;
|
||||||
}
|
}
|
||||||
stdy.stdy1.sttkj = krec -> sttkj;
|
stdy.stdy1.sttkj = krec->sttkj;
|
||||||
stdy.stdy1.ka_kj = krec -> ka_kj;
|
stdy.stdy1.ka_kj = krec->ka_kj;
|
||||||
stdy.hinshi = jrec -> hinsi;
|
stdy.hinshi = jrec->hinsi;
|
||||||
stdy.len = jrec -> jlen;
|
stdy.len = jrec->jlen;
|
||||||
stdy.sttfg = krec -> sttfg;
|
stdy.sttfg = krec->sttfg;
|
||||||
stdy.ka_fg = krec -> ka_fg;
|
stdy.ka_fg = krec->ka_fg;
|
||||||
|
|
||||||
|
if(jrec->stbofs && (fptr = getstb(jrec->hinsi)))
|
||||||
|
stdy.len -= StbYomiLen(fptr + jrec->stbofs - 1);
|
||||||
|
|
||||||
if (jrec -> stbofs && (fptr = getstb(jrec -> hinsi)))
|
if(fptr = Settou_ptr(jrec->sttofs))
|
||||||
stdy.len -= StbYomiLen(fptr + jrec -> stbofs - 1);
|
|
||||||
|
|
||||||
|
|
||||||
if (fptr = Settou_ptr(jrec -> sttofs))
|
|
||||||
stdy.sttlen = SttYomiLen(fptr);
|
stdy.sttlen = SttYomiLen(fptr);
|
||||||
else
|
else
|
||||||
stdy.sttlen = 0;
|
stdy.sttlen = 0;
|
||||||
|
|
||||||
|
memcpy(kanjitmp, (u_char*)&stdy, sizeof(STDYOUT));
|
||||||
memcpy(kanjitmp, (u_char *)&stdy, sizeof(STDYOUT));
|
|
||||||
kanjitmp += sizeof(STDYOUT);
|
kanjitmp += sizeof(STDYOUT);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,76 +33,67 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:42 $
|
* $SonyDate: 1994/06/03 08:01:42 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static int del_douon(TypeDicSeg, u_char *, TypeDicOfs);
|
static int del_douon(TypeDicSeg, u_char*, TypeDicOfs);
|
||||||
static int del_segment(TypeDicSeg);
|
static int del_segment(TypeDicSeg);
|
||||||
static void del_uidx(TypeDicSeg);
|
static void del_uidx(TypeDicSeg);
|
||||||
static void del_stdy(TypeDicSeg, TypeDicOfs, int);
|
static void del_stdy(TypeDicSeg, TypeDicOfs, int);
|
||||||
|
|
||||||
|
u_int deldic(u_char* yomi, u_char* kanji, TypeGram hinsi) {
|
||||||
|
u_char yptr[MAXWDYOMILEN + 1];
|
||||||
|
u_char kptr[MAXWDKANJILEN + 1];
|
||||||
|
u_short err;
|
||||||
|
int knjlen;
|
||||||
|
TypeDicSeg useg;
|
||||||
|
TypeDicOfs ofs;
|
||||||
|
u_char * p1, *p2, *p3;
|
||||||
|
int dblknum;
|
||||||
|
int hblknum;
|
||||||
|
int kblknum;
|
||||||
|
int samlen;
|
||||||
|
u_char * stp, *edp;
|
||||||
|
int size, len;
|
||||||
|
|
||||||
u_int
|
if(err = addel_arg(yomi, kanji, hinsi, yptr, sizeof(yptr)))
|
||||||
deldic(u_char *yomi, u_char *kanji, TypeGram hinsi)
|
|
||||||
{
|
|
||||||
u_char yptr[MAXWDYOMILEN + 1];
|
|
||||||
u_char kptr[MAXWDKANJILEN + 1];
|
|
||||||
u_short err;
|
|
||||||
int knjlen;
|
|
||||||
TypeDicSeg useg;
|
|
||||||
TypeDicOfs ofs;
|
|
||||||
u_char *p1, *p2, *p3;
|
|
||||||
int dblknum;
|
|
||||||
int hblknum;
|
|
||||||
int kblknum;
|
|
||||||
int samlen;
|
|
||||||
u_char *stp, *edp;
|
|
||||||
int size, len;
|
|
||||||
|
|
||||||
if (err = addel_arg(yomi, kanji, hinsi, yptr, sizeof(yptr)))
|
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
if (!curdict -> maxunit) return AD_NOTUSERDICT;
|
if(!curdict->maxunit) return AD_NOTUSERDICT;
|
||||||
|
|
||||||
knjlen = cvtknj(yomi, kanji, kptr);
|
knjlen = cvtknj(yomi, kanji, kptr);
|
||||||
|
|
||||||
cnvstart = yptr;
|
cnvstart = yptr;
|
||||||
cnvlen = sstrlen(yptr);
|
cnvlen = sstrlen(yptr);
|
||||||
|
|
||||||
useg = srchidx((TypeDicSeg)DICSEGBASE, cnvlen);
|
useg = srchidx((TypeDicSeg)DICSEGBASE, cnvlen);
|
||||||
(*curdict->getdic)(curdict, useg);
|
(*curdict->getdic)(curdict, useg);
|
||||||
|
|
||||||
if (!(dblknum = srchkana(&p1, &samlen))) return AD_NOMIDASI;
|
if(!(dblknum = srchkana(&p1, &samlen))) return AD_NOMIDASI;
|
||||||
|
|
||||||
if (!(hblknum = srchgram(p1, &p2, hinsi))) return AD_NOHINSI;
|
if(!(hblknum = srchgram(p1, &p2, hinsi))) return AD_NOHINSI;
|
||||||
|
|
||||||
p3 = p2;
|
p3 = p2;
|
||||||
kblknum = srchkanji(&p3, kptr, knjlen);
|
kblknum = srchkanji(&p3, kptr, knjlen);
|
||||||
if (*p3 == HINSIBLKTERM) return AD_NOKANJI;
|
if(*p3 == HINSIBLKTERM) return AD_NOKANJI;
|
||||||
ofs = p3 - dicbuf;
|
ofs = p3 - dicbuf;
|
||||||
|
|
||||||
edp = skipkstr(p3);
|
edp = skipkstr(p3);
|
||||||
|
|
||||||
if (kblknum == 1) {
|
if(kblknum == 1) {
|
||||||
if (hblknum == 1) {
|
if(hblknum == 1) {
|
||||||
if (dblknum == 1) {
|
if(dblknum == 1) {
|
||||||
return del_segment(useg);
|
return del_segment(useg);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return del_douon(useg, p1, ofs);
|
return del_douon(useg, p1, ofs);
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
stp = p2;
|
stp = p2;
|
||||||
edp++;
|
edp++;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
stp = p3;
|
stp = p3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -115,7 +106,7 @@ deldic(u_char *yomi, u_char *kanji, TypeGram hinsi)
|
||||||
memset(edp, DICSEGTERM, dicbuf + curdict->seglen - edp);
|
memset(edp, DICSEGTERM, dicbuf + curdict->seglen - edp);
|
||||||
|
|
||||||
set_size(p1, (int)(getsize(p1) - size),
|
set_size(p1, (int)(getsize(p1) - size),
|
||||||
(int)getplen(p1), (int)getnlen(p1));
|
(int)getplen(p1), (int)getnlen(p1));
|
||||||
|
|
||||||
(*curdict->putdic)(curdict, useg);
|
(*curdict->putdic)(curdict, useg);
|
||||||
|
|
||||||
|
|
@ -124,30 +115,25 @@ deldic(u_char *yomi, u_char *kanji, TypeGram hinsi)
|
||||||
return AD_DONE;
|
return AD_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
del_douon(TypeDicSeg seg, u_char *ptr, TypeDicOfs ofs)
|
del_douon(TypeDicSeg seg, u_char* ptr, TypeDicOfs ofs) {
|
||||||
{
|
u_char *nxt, *p1, *p2;
|
||||||
u_char *nxt, *p1, *p2;
|
|
||||||
int size;
|
int size;
|
||||||
int nlen, plen, len;
|
int nlen, plen, len;
|
||||||
|
|
||||||
nxt = getntag(ptr);
|
nxt = getntag(ptr);
|
||||||
|
|
||||||
if (segend(nxt)) {
|
if(segend(nxt)) {
|
||||||
size = nxt - ptr;
|
size = nxt - ptr;
|
||||||
|
|
||||||
memset(ptr, DICSEGTERM, dicbuf + curdict->seglen - nxt);
|
memset(ptr, DICSEGTERM, dicbuf + curdict->seglen - nxt);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
size = getsize(nxt);
|
size = getsize(nxt);
|
||||||
nlen = getnlen(nxt);
|
nlen = getnlen(nxt);
|
||||||
plen = getplen(nxt);
|
plen = getplen(nxt);
|
||||||
|
|
||||||
if (ptr == segtop()) {
|
if(ptr == segtop()) {
|
||||||
if (nlen + plen > (unsigned int) count_uidx()
|
if(nlen + plen > (unsigned int)count_uidx() + sstrlen(get_idxptr(seg)))
|
||||||
+ sstrlen(get_idxptr(seg)))
|
|
||||||
return AD_OVFLWINDEX;
|
return AD_OVFLWINDEX;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -163,7 +149,7 @@ del_douon(TypeDicSeg seg, u_char *ptr, TypeDicOfs ofs)
|
||||||
size = p1 - p2;
|
size = p1 - p2;
|
||||||
memset(dicbuf + curdict->seglen - size, DICSEGTERM, size);
|
memset(dicbuf + curdict->seglen - size, DICSEGTERM, size);
|
||||||
|
|
||||||
if (ptr == segtop()) {
|
if(ptr == segtop()) {
|
||||||
chg_uidx(seg, ptr + DOUONBLKSIZENUMBER, nlen + len);
|
chg_uidx(seg, ptr + DOUONBLKSIZENUMBER, nlen + len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -175,25 +161,21 @@ del_douon(TypeDicSeg seg, u_char *ptr, TypeDicOfs ofs)
|
||||||
return AD_DONE;
|
return AD_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
del_segment(TypeDicSeg seg)
|
del_segment(TypeDicSeg seg) {
|
||||||
{
|
int i;
|
||||||
int i;
|
STDYIN* styp;
|
||||||
STDYIN *styp;
|
TypeDicID dicid;
|
||||||
TypeDicID dicid;
|
TypeStyNum stdynum;
|
||||||
TypeStyNum stdynum;
|
TypeDicSeg sg;
|
||||||
TypeDicSeg sg;
|
|
||||||
|
|
||||||
if (curdict->segunit > 1) {
|
if(curdict->segunit > 1) {
|
||||||
for (sg = seg + 1 ; sg < curdict->segunit ; sg++) {
|
for(sg = seg + 1; sg < curdict->segunit; sg++) {
|
||||||
(*curdict->getdic)(curdict, sg);
|
(*curdict->getdic)(curdict, sg);
|
||||||
(*curdict->putdic)(curdict, sg - 1);
|
(*curdict->putdic)(curdict, sg - 1);
|
||||||
}
|
}
|
||||||
curdict->segunit--;
|
curdict->segunit--;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
memset(dicbuf, DICSEGTERM, (int)curdict->seglen);
|
memset(dicbuf, DICSEGTERM, (int)curdict->seglen);
|
||||||
dicbuf[0] = 0;
|
dicbuf[0] = 0;
|
||||||
(*curdict->putdic)(curdict, DICSEGBASE);
|
(*curdict->putdic)(curdict, DICSEGBASE);
|
||||||
|
|
@ -203,28 +185,28 @@ del_segment(TypeDicSeg seg)
|
||||||
|
|
||||||
del_uidx(seg);
|
del_uidx(seg);
|
||||||
|
|
||||||
if (StudyExist()) {
|
if(StudyExist()) {
|
||||||
dicid = curdict->dicid;
|
dicid = curdict->dicid;
|
||||||
for (i = 0, styp = STUDYDICT ; i < STUDYCOUNT ; ) {
|
for(i = 0, styp = STUDYDICT; i < STUDYCOUNT;) {
|
||||||
if (styp -> dicid != dicid)
|
if(styp->dicid != dicid)
|
||||||
;
|
;
|
||||||
else if (styp -> seg > seg)
|
else if(styp->seg > seg)
|
||||||
styp -> seg -= 1;
|
styp->seg -= 1;
|
||||||
else if (styp -> seg < seg)
|
else if(styp->seg < seg)
|
||||||
;
|
;
|
||||||
else {
|
else {
|
||||||
stdynum = styp -> styno;
|
stdynum = styp->styno;
|
||||||
STUDYCOUNT--;
|
STUDYCOUNT--;
|
||||||
mvmemi((u_char *)(styp + 1), (u_char *)styp,
|
mvmemi((u_char*)(styp + 1), (u_char*)styp,
|
||||||
sizeof(*styp) * (STUDYCOUNT - i));
|
sizeof(*styp) * (STUDYCOUNT - i));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
styp++;
|
styp++;
|
||||||
}
|
}
|
||||||
for (i = 0, styp = STUDYDICT ; i < STUDYCOUNT ; i++, styp++)
|
for(i = 0, styp = STUDYDICT; i < STUDYCOUNT; i++, styp++)
|
||||||
if (styp -> styno > stdynum) styp -> styno -= 1;
|
if(styp->styno > stdynum) styp->styno -= 1;
|
||||||
|
|
||||||
putstydic();
|
putstydic();
|
||||||
}
|
}
|
||||||
|
|
@ -232,17 +214,13 @@ del_segment(TypeDicSeg seg)
|
||||||
return AD_DONE;
|
return AD_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
del_uidx(TypeDicSeg seg)
|
del_uidx(TypeDicSeg seg) {
|
||||||
{
|
u_char *p, *q;
|
||||||
u_char *p, *q;
|
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
p = get_idxptr(seg);
|
p = get_idxptr(seg);
|
||||||
for (q = p ; *q++; )
|
for(q = p; *q++;);
|
||||||
;
|
|
||||||
|
|
||||||
mvmemi(q, p, idxbuf + curdict->idxlen - q);
|
mvmemi(q, p, idxbuf + curdict->idxlen - q);
|
||||||
|
|
||||||
|
|
@ -254,41 +232,38 @@ del_uidx(TypeDicSeg seg)
|
||||||
mkidxtbl(curdict);
|
mkidxtbl(curdict);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
del_stdy(TypeDicSeg seg, TypeDicOfs ofs, int size)
|
del_stdy(TypeDicSeg seg, TypeDicOfs ofs, int size) {
|
||||||
{
|
int i;
|
||||||
int i;
|
TypeStyNum stdynum;
|
||||||
TypeStyNum stdynum;
|
STDYIN* stdy;
|
||||||
STDYIN *stdy;
|
TypeDicID dicid;
|
||||||
TypeDicID dicid;
|
|
||||||
|
|
||||||
if (StudyExist()) {
|
if(StudyExist()) {
|
||||||
|
|
||||||
stdynum = 0;
|
stdynum = 0;
|
||||||
dicid = curdict->dicid;
|
dicid = curdict->dicid;
|
||||||
for (i = 0, stdy = STUDYDICT ; i < STUDYCOUNT ; ) {
|
for(i = 0, stdy = STUDYDICT; i < STUDYCOUNT;) {
|
||||||
if (stdy -> dicid != dicid)
|
if(stdy->dicid != dicid)
|
||||||
;
|
;
|
||||||
else if (stdy -> seg != seg)
|
else if(stdy->seg != seg)
|
||||||
;
|
;
|
||||||
else if (stdy -> offset > ofs)
|
else if(stdy->offset > ofs)
|
||||||
stdy -> offset -= size;
|
stdy->offset -= size;
|
||||||
|
|
||||||
else if (stdy -> offset == ofs) {
|
else if(stdy->offset == ofs) {
|
||||||
stdynum = stdy -> styno;
|
stdynum = stdy->styno;
|
||||||
STUDYCOUNT--;
|
STUDYCOUNT--;
|
||||||
mvmemi((u_char *)(stdy + 1), (u_char *)stdy,
|
mvmemi((u_char*)(stdy + 1), (u_char*)stdy,
|
||||||
sizeof(*stdy) * (STUDYCOUNT - i));
|
sizeof(*stdy) * (STUDYCOUNT - i));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
stdy++;
|
stdy++;
|
||||||
}
|
}
|
||||||
for (i = 0, stdy = STUDYDICT ; i < STUDYCOUNT ; i++, stdy++)
|
for(i = 0, stdy = STUDYDICT; i < STUDYCOUNT; i++, stdy++)
|
||||||
if (stdy -> styno > stdynum) (stdy -> styno)--;
|
if(stdy->styno > stdynum) (stdy->styno)--;
|
||||||
|
|
||||||
putstydic();
|
putstydic();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,21 +33,15 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:45 $
|
* $SonyDate: 1994/06/03 08:01:45 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_euc.h"
|
#include "sj_euc.h"
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
|
void get_askknj() {
|
||||||
void
|
u_char* p;
|
||||||
get_askknj()
|
u_char* q;
|
||||||
{
|
u_char* r;
|
||||||
u_char *p;
|
|
||||||
u_char *q;
|
|
||||||
u_char *r;
|
|
||||||
int i = 0, csize;
|
int i = 0, csize;
|
||||||
int flg;
|
int flg;
|
||||||
|
|
||||||
|
|
@ -55,34 +49,30 @@ get_askknj()
|
||||||
|
|
||||||
q += *p++;
|
q += *p++;
|
||||||
|
|
||||||
while (p < q) {
|
while(p < q) {
|
||||||
askknj[i] = p;
|
askknj[i] = p;
|
||||||
|
|
||||||
r = NULL;
|
r = NULL;
|
||||||
flg = TRUE;
|
flg = TRUE;
|
||||||
do {
|
do {
|
||||||
csize = codesize(*p);
|
csize = codesize(*p);
|
||||||
if (p[csize] == KANJISTREND) flg = FALSE;
|
if(p[csize] == KANJISTREND) flg = FALSE;
|
||||||
|
|
||||||
if (!r && (*p != AIATTRIBUTE))
|
if(!r && (*p != AIATTRIBUTE))
|
||||||
r = p;
|
r = p;
|
||||||
|
|
||||||
p += csize;
|
p += csize;
|
||||||
} while (flg);
|
} while(flg);
|
||||||
p++;
|
p++;
|
||||||
askknj_k[i++] = r;
|
askknj_k[i++] = r;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int seldict(TypeDicID id) {
|
||||||
|
DICTL* dp;
|
||||||
|
|
||||||
|
for(dp = dictlist; dp; dp = dp->next) {
|
||||||
int
|
if((curdict = dp->dict)->dicid == id)
|
||||||
seldict(TypeDicID id)
|
|
||||||
{
|
|
||||||
DICTL *dp;
|
|
||||||
|
|
||||||
for (dp = dictlist ; dp ; dp = dp -> next) {
|
|
||||||
if ((curdict = dp -> dict) -> dicid == id)
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
curdict = NULL;
|
curdict = NULL;
|
||||||
|
|
@ -90,11 +80,8 @@ seldict(TypeDicID id)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u_char*
|
||||||
|
get_idxptr(TypeDicSeg seg) {
|
||||||
u_char *
|
|
||||||
get_idxptr(TypeDicSeg seg)
|
|
||||||
{
|
|
||||||
(*curdict->getofs)(curdict);
|
(*curdict->getofs)(curdict);
|
||||||
(*curdict->getidx)(curdict);
|
(*curdict->getidx)(curdict);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,49 +33,39 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:46 $
|
* $SonyDate: 1994/06/03 08:01:46 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
VFunc cvtnum_func[] = {
|
VFunc cvtnum_func[] = {
|
||||||
num_type00, num_type01, num_type02, num_type03,
|
num_type00, num_type01, num_type02, num_type03,
|
||||||
num_type04, num_type05, num_type06, num_type07,
|
num_type04, num_type05, num_type06, num_type07,
|
||||||
num_type08, num_type09, num_type10, num_type11,
|
num_type08, num_type09, num_type10, num_type11,
|
||||||
num_type12, num_type13, num_type14
|
num_type12, num_type13, num_type14};
|
||||||
};
|
|
||||||
|
|
||||||
UCPFunc getkan_func[] = {
|
UCPFunc getkan_func[] = {
|
||||||
getkan_norm, getkan_norm, getkan_hira, getkan_kata,
|
getkan_norm, getkan_norm, getkan_hira, getkan_kata,
|
||||||
getkan_knj, getkan_ofs, getkan_norm, getkan_none,
|
getkan_knj, getkan_ofs, getkan_norm, getkan_none,
|
||||||
getkan_norm, getkan_norm, getkan_hira, getkan_kata,
|
getkan_norm, getkan_norm, getkan_hira, getkan_kata,
|
||||||
getkan_knj, getkan_ofs, getkan_norm, getkan_none
|
getkan_knj, getkan_ofs, getkan_norm, getkan_none};
|
||||||
};
|
|
||||||
|
|
||||||
IFunc setjrec_func[] = {
|
IFunc setjrec_func[] = {
|
||||||
setj_norm2, setj_norm2, setj_norm1, setj_norm1,
|
setj_norm2, setj_norm2, setj_norm1, setj_norm1,
|
||||||
setj_knj, setj_ofs, setj_norm2, setj_atrb,
|
setj_knj, setj_ofs, setj_norm2, setj_atrb,
|
||||||
setj_norm2, setj_norm2, setj_norm1, setj_norm1,
|
setj_norm2, setj_norm2, setj_norm1, setj_norm1,
|
||||||
setj_knj, setj_ofs, setj_norm2, setj_atrb
|
setj_knj, setj_ofs, setj_norm2, setj_atrb};
|
||||||
};
|
|
||||||
|
|
||||||
IFunc hiraknj_func[] = {
|
IFunc hiraknj_func[] = {
|
||||||
hiraknj_hira, hiraknj_norm, hiraknj_hask, hiraknj_kask,
|
hiraknj_hira, hiraknj_norm, hiraknj_hask, hiraknj_kask,
|
||||||
hiraknj_knj, hiraknj_ofs, hiraknj_norm, hiraknj_atrb,
|
hiraknj_knj, hiraknj_ofs, hiraknj_norm, hiraknj_atrb,
|
||||||
hiraknj_hira, hiraknj_norm, hiraknj_hask, hiraknj_kask,
|
hiraknj_hira, hiraknj_norm, hiraknj_hask, hiraknj_kask,
|
||||||
hiraknj_knj, hiraknj_ofs, hiraknj_norm, hiraknj_atrb
|
hiraknj_knj, hiraknj_ofs, hiraknj_norm, hiraknj_atrb};
|
||||||
};
|
|
||||||
|
|
||||||
|
u_char *makekan_1byte(), *makekan_knj(), *makekan_ofs();
|
||||||
|
u_char *makekan_norm(), *makekan_none();
|
||||||
u_char *makekan_1byte(), *makekan_knj(), *makekan_ofs();
|
UCPFunc makekan_func[] = {
|
||||||
u_char *makekan_norm(), *makekan_none();
|
makekan_norm, makekan_norm, makekan_1byte, makekan_1byte,
|
||||||
UCPFunc makekan_func[] = {
|
makekan_knj, makekan_ofs, makekan_norm, makekan_none,
|
||||||
makekan_norm, makekan_norm, makekan_1byte, makekan_1byte,
|
makekan_norm, makekan_norm, makekan_1byte, makekan_1byte,
|
||||||
makekan_knj, makekan_ofs, makekan_norm, makekan_none,
|
makekan_knj, makekan_ofs, makekan_norm, makekan_none};
|
||||||
makekan_norm, makekan_norm, makekan_1byte, makekan_1byte,
|
|
||||||
makekan_knj, makekan_ofs, makekan_norm, makekan_none
|
|
||||||
};
|
|
||||||
|
|
|
||||||
|
|
@ -33,10 +33,6 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:47 $
|
* $SonyDate: 1994/06/03 08:01:47 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_hinsi.h"
|
#include "sj_hinsi.h"
|
||||||
#include "sj_right.h"
|
#include "sj_right.h"
|
||||||
|
|
@ -45,31 +41,30 @@
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static int
|
static int
|
||||||
fzkstrcmp(u_char *yptr, u_char *fzkp, int *saml)
|
fzkstrcmp(u_char* yptr, u_char* fzkp, int* saml) {
|
||||||
{
|
int asklen, nkrlen;
|
||||||
int asklen, nkrlen;
|
|
||||||
|
|
||||||
asklen = FzkAskLen(fzkp);
|
asklen = FzkAskLen(fzkp);
|
||||||
|
|
||||||
if (*saml < asklen) return CONT;
|
if(*saml < asklen) return CONT;
|
||||||
|
|
||||||
if (*saml > asklen) return OVER;
|
if(*saml > asklen) return OVER;
|
||||||
|
|
||||||
nkrlen = FzkNkrLen(fzkp);
|
nkrlen = FzkNkrLen(fzkp);
|
||||||
|
|
||||||
yptr += asklen;
|
yptr += asklen;
|
||||||
fzkp ++;
|
fzkp++;
|
||||||
|
|
||||||
while (nkrlen--) {
|
while(nkrlen--) {
|
||||||
if (*yptr > *fzkp)
|
if(*yptr > *fzkp)
|
||||||
return CONT;
|
return CONT;
|
||||||
|
|
||||||
else if (*yptr < *fzkp) {
|
else if(*yptr < *fzkp) {
|
||||||
if (!*yptr) return PARTLY;
|
if(!*yptr) return PARTLY;
|
||||||
return OVER;
|
return OVER;
|
||||||
}
|
}
|
||||||
|
|
||||||
else{
|
else {
|
||||||
yptr++;
|
yptr++;
|
||||||
fzkp++;
|
fzkp++;
|
||||||
(*saml)++;
|
(*saml)++;
|
||||||
|
|
@ -79,98 +74,90 @@ fzkstrcmp(u_char *yptr, u_char *fzkp, int *saml)
|
||||||
return MATCH;
|
return MATCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setclrec(JREC* jrec, u_char* yptr, TypeCnct right) {
|
||||||
|
CLREC* new;
|
||||||
|
TypeGram hinsi;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
if(!(len = yptr - cnvstart)) return;
|
||||||
|
|
||||||
void
|
if(len > MAXCLINPUTLEN) return;
|
||||||
setclrec(JREC *jrec, u_char *yptr, TypeCnct right)
|
|
||||||
{
|
|
||||||
CLREC *new;
|
|
||||||
TypeGram hinsi;
|
|
||||||
int len;
|
|
||||||
|
|
||||||
if (!(len = yptr - cnvstart)) return;
|
if(!(new = argclrec(len))) return;
|
||||||
|
|
||||||
if (len > MAXCLINPUTLEN) return;
|
new->jnode = jrec;
|
||||||
|
new->gobiln = gobilen;
|
||||||
|
new->right = right;
|
||||||
|
new->fzk_ka = fzk_ka_flg;
|
||||||
|
(jrec->count)++;
|
||||||
|
|
||||||
if (!(new = argclrec(len))) return;
|
hinsi = jrec->hinsi;
|
||||||
|
|
||||||
new -> jnode = jrec;
|
if(hinsi >= DO_SAHEN && hinsi <= SP_KA_ONB)
|
||||||
new -> gobiln = gobilen;
|
new->kubun = K_DOUSHI;
|
||||||
new -> right = right;
|
|
||||||
new -> fzk_ka = fzk_ka_flg;
|
|
||||||
(jrec -> count)++;
|
|
||||||
|
|
||||||
hinsi = jrec -> hinsi;
|
else if((hinsi >= KEIYOUSI_1 && hinsi <= KE_DOUSI_9) ||
|
||||||
|
(hinsi == SP_KEIYOUSI)) {
|
||||||
if (hinsi >= DO_SAHEN && hinsi <= SP_KA_ONB)
|
|
||||||
new -> kubun = K_DOUSHI;
|
|
||||||
|
|
||||||
else if ((hinsi >= KEIYOUSI_1 && hinsi <= KE_DOUSI_9) ||
|
|
||||||
(hinsi == SP_KEIYOUSI)){
|
|
||||||
if(right == R_FZKMEISI)
|
if(right == R_FZKMEISI)
|
||||||
new -> kubun = K_TAIGEN;
|
new->kubun = K_TAIGEN;
|
||||||
else
|
else
|
||||||
new -> kubun = K_YOUGEN;
|
new->kubun = K_YOUGEN;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (hinsi == RENTAISI)
|
else if(hinsi == RENTAISI)
|
||||||
new -> kubun = K_RENTAISI;
|
new->kubun = K_RENTAISI;
|
||||||
|
|
||||||
else if ((hinsi >= FUKUSI_1 && hinsi <= FUKUSI_9) ||
|
else if((hinsi >= FUKUSI_1 && hinsi <= FUKUSI_9) ||
|
||||||
(hinsi == SP_FUKUSI))
|
(hinsi == SP_FUKUSI))
|
||||||
new -> kubun = K_FUKUSI;
|
new->kubun = K_FUKUSI;
|
||||||
|
|
||||||
else if (hinsi == SETUZOKU || hinsi==KANDOUSI ||
|
else if(hinsi == SETUZOKU || hinsi == KANDOUSI ||
|
||||||
hinsi == TANKANJI || hinsi==AISATU)
|
hinsi == TANKANJI || hinsi == AISATU)
|
||||||
new -> kubun = K_SONOTA;
|
new->kubun = K_SONOTA;
|
||||||
|
|
||||||
else if (gobilen) {
|
else if(gobilen) {
|
||||||
if (hinsi >= MEISI_5 && hinsi <= MEISI_7)
|
if(hinsi >= MEISI_5 && hinsi <= MEISI_7)
|
||||||
new -> kubun = K_DOUSHI;
|
new->kubun = K_DOUSHI;
|
||||||
|
|
||||||
else if (hinsi == D_MEISI_4)
|
else if(hinsi == D_MEISI_4)
|
||||||
new -> kubun = K_DOUSHI;
|
new->kubun = K_DOUSHI;
|
||||||
|
|
||||||
else if (hinsi == SETUBI_7 || hinsi == SETUBI_8)
|
else if(hinsi == SETUBI_7 || hinsi == SETUBI_8)
|
||||||
new -> kubun = K_DOUSHI;
|
new->kubun = K_DOUSHI;
|
||||||
|
|
||||||
|
else if(hinsi == D_MEISI_5)
|
||||||
|
new->kubun = K_YOUGEN;
|
||||||
|
|
||||||
else if (hinsi == D_MEISI_5)
|
else if(hinsi == SETUBI_5 || hinsi == SETUBI_6)
|
||||||
new -> kubun = K_YOUGEN;
|
new->kubun = K_YOUGEN;
|
||||||
|
|
||||||
else if (hinsi == SETUBI_5 || hinsi == SETUBI_6)
|
|
||||||
new -> kubun = K_YOUGEN;
|
|
||||||
else
|
else
|
||||||
new -> kubun = K_TAIGEN;
|
new->kubun = K_TAIGEN;
|
||||||
}
|
} else if(hinsi >= MEISI_5 && hinsi <= MEISI_7) {
|
||||||
else if (hinsi >= MEISI_5 && hinsi <= MEISI_7) {
|
if(right >= R_I && right <= R_ITADAKE)
|
||||||
if (right >= R_I && right <= R_ITADAKE)
|
new->kubun = K_DOUSHI;
|
||||||
new -> kubun = K_DOUSHI;
|
|
||||||
|
|
||||||
else if (right >= R_DESHI && right <= R_TAI)
|
else if(right >= R_DESHI && right <= R_TAI)
|
||||||
new -> kubun = K_DOUSHI;
|
new->kubun = K_DOUSHI;
|
||||||
|
|
||||||
else if (right >= R_NAI && right <= R_MEIREI2)
|
else if(right >= R_NAI && right <= R_MEIREI2)
|
||||||
new -> kubun = K_DOUSHI;
|
new->kubun = K_DOUSHI;
|
||||||
|
|
||||||
else if (right == R_TE2 || right == R_TERU)
|
else if(right == R_TE2 || right == R_TERU)
|
||||||
new -> kubun = K_DOUSHI;
|
new->kubun = K_DOUSHI;
|
||||||
else
|
else
|
||||||
new -> kubun = K_TAIGEN;
|
new->kubun = K_TAIGEN;
|
||||||
}
|
} else
|
||||||
else
|
new->kubun = K_TAIGEN;
|
||||||
new -> kubun = K_TAIGEN;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
fzkcnct(TypeCnct right, TypeCnct left)
|
fzkcnct(TypeCnct right, TypeCnct left) {
|
||||||
{
|
u_char* cncttbl;
|
||||||
u_char *cncttbl;
|
|
||||||
|
|
||||||
if (right && left) {
|
if(right && left) {
|
||||||
cncttbl = Rigtadr(right);
|
cncttbl = Rigtadr(right);
|
||||||
left--;
|
left--;
|
||||||
if (cncttbl[left >> 3] << (left & 0x07) & 0x80)
|
if(cncttbl[left >> 3] << (left & 0x07) & 0x80)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -178,92 +165,88 @@ fzkcnct(TypeCnct right, TypeCnct left)
|
||||||
}
|
}
|
||||||
|
|
||||||
RECURS
|
RECURS
|
||||||
void
|
void srchfzk(JREC* jrec, u_char* yptr, TypeCnct right, int level) {
|
||||||
srchfzk(JREC *jrec, u_char *yptr, TypeCnct right, int level)
|
u_char* fzk;
|
||||||
{
|
int len = 0;
|
||||||
u_char *fzk;
|
int cmp;
|
||||||
int len = 0;
|
u_char* next;
|
||||||
int cmp;
|
FREC* fzkrec;
|
||||||
u_char *next;
|
int i;
|
||||||
FREC *fzkrec;
|
int nlen;
|
||||||
int i;
|
TypeCnct rt;
|
||||||
int nlen;
|
|
||||||
TypeCnct rt;
|
|
||||||
|
|
||||||
if ((level >= MAXFLVL) && !(Chrtbl[*yptr] & FZK_KGU)) return;
|
if((level >= MAXFLVL) && !(Chrtbl[*yptr] & FZK_KGU)) return;
|
||||||
|
|
||||||
if (terminate(right, yptr) && Chrtbl[*yptr] & FZK_KGU){
|
if(terminate(right, yptr) && Chrtbl[*yptr] & FZK_KGU) {
|
||||||
if (!level) fzk_ka_flg = 0;
|
if(!level) fzk_ka_flg = 0;
|
||||||
yptr++;
|
yptr++;
|
||||||
while (Chrtbl[*yptr] & FZK_KGU) yptr++;
|
while(Chrtbl[*yptr] & FZK_KGU) yptr++;
|
||||||
setclrec(jrec, yptr, (TypeCnct)R_FZKKGU);
|
setclrec(jrec, yptr, (TypeCnct)R_FZKKGU);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (right == R_CUT) return;
|
if(right == R_CUT) return;
|
||||||
|
|
||||||
if (!*yptr) return;
|
if(!*yptr) return;
|
||||||
|
|
||||||
if (!(*yptr >= _XA && *yptr <= _NN)) return;
|
if(!(*yptr >= _XA && *yptr <= _NN)) return;
|
||||||
|
|
||||||
fzkrec = fzktbl;
|
fzkrec = fzktbl;
|
||||||
|
|
||||||
for (i = fzkcount ; i ; i--, fzkrec++) {
|
for(i = fzkcount; i; i--, fzkrec++) {
|
||||||
|
|
||||||
if (yptr != fzkrec -> yomip) continue;
|
if(yptr != fzkrec->yomip) continue;
|
||||||
|
|
||||||
fzk = fzkrec -> fzkp;
|
fzk = fzkrec->fzkp;
|
||||||
|
|
||||||
len = FzkAskLen(fzk) + (nlen = FzkNkrLen(fzk)) + 1;
|
len = FzkAskLen(fzk) + (nlen = FzkNkrLen(fzk)) + 1;
|
||||||
|
|
||||||
if (!fzkcnct(right, (TypeCnct)FzkLeft(fzk))) continue;
|
if(!fzkcnct(right, (TypeCnct)FzkLeft(fzk))) continue;
|
||||||
|
|
||||||
if (!level) fzk_ka_flg = FzkStrKa(fzk);
|
if(!level) fzk_ka_flg = FzkStrKa(fzk);
|
||||||
|
|
||||||
next = yptr + len;
|
next = yptr + len;
|
||||||
|
|
||||||
if (terminate(rt = FzkRight(fzk), next)) {
|
if(terminate(rt = FzkRight(fzk), next)) {
|
||||||
setclrec(jrec, next, rt);
|
setclrec(jrec, next, rt);
|
||||||
}
|
}
|
||||||
|
|
||||||
srchfzk(jrec, next, rt, level + 1);
|
srchfzk(jrec, next, rt, level + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len) return;
|
if(len) return;
|
||||||
|
|
||||||
|
if(!(fzk = Fzkadr(*yptr - _XA))) return;
|
||||||
if (!(fzk = Fzkadr(*yptr - _XA))) return;
|
|
||||||
|
|
||||||
yptr++;
|
yptr++;
|
||||||
|
|
||||||
for ( ; *fzk != FZKEND ; fzk += nlen + (i ? 4 : 3)) {
|
for(; *fzk != FZKEND; fzk += nlen + (i ? 4 : 3)) {
|
||||||
|
|
||||||
nlen = FzkNkrLen(fzk);
|
nlen = FzkNkrLen(fzk);
|
||||||
i = FzkHasCode(fzk);
|
i = FzkHasCode(fzk);
|
||||||
|
|
||||||
cmp = fzkstrcmp(yptr, fzk, &len);
|
cmp = fzkstrcmp(yptr, fzk, &len);
|
||||||
|
|
||||||
if (cmp == OVER)
|
if(cmp == OVER)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
else if (cmp == PARTLY)
|
else if(cmp == PARTLY)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
else if ((cmp != MATCH) || isdpnd(*(yptr + len)))
|
else if((cmp != MATCH) || isdpnd(*(yptr + len)))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
fzktbl[fzkcount].yomip = yptr - 1;
|
||||||
fzktbl[fzkcount].yomip = yptr - 1;
|
fzktbl[fzkcount].fzkp = fzk;
|
||||||
fzktbl[fzkcount].fzkp = fzk;
|
|
||||||
fzkcount++;
|
fzkcount++;
|
||||||
|
|
||||||
if (!fzkcnct(right, (TypeCnct)FzkLeft(fzk))) continue;
|
if(!fzkcnct(right, (TypeCnct)FzkLeft(fzk))) continue;
|
||||||
|
|
||||||
if (!level) fzk_ka_flg = FzkStrKa(fzk);
|
if(!level) fzk_ka_flg = FzkStrKa(fzk);
|
||||||
|
|
||||||
next = yptr + len;
|
next = yptr + len;
|
||||||
|
|
||||||
if (terminate(rt = FzkRight(fzk), next)) {
|
if(terminate(rt = FzkRight(fzk), next)) {
|
||||||
setclrec(jrec, next, rt);
|
setclrec(jrec, next, rt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -33,64 +33,56 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:49 $
|
* $SonyDate: 1994/06/03 08:01:49 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_euc.h"
|
#include "sj_euc.h"
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static u_char *code2kanji();
|
static u_char* code2kanji();
|
||||||
|
|
||||||
u_char *
|
u_char*
|
||||||
getkan_none(u_char *s, u_char *d, u_char *ym, int yl, int flg)
|
getkan_none(u_char* s, u_char* d, u_char* ym, int yl, int flg) {
|
||||||
{
|
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
u_char *
|
u_char*
|
||||||
getkan_hira(u_char *s, u_char *d, u_char *ym, int yl, int flg)
|
getkan_hira(u_char* s, u_char* d, u_char* ym, int yl, int flg) {
|
||||||
{
|
int cnt, csize;
|
||||||
int cnt, csize;
|
|
||||||
|
|
||||||
csize = codesize(*s);
|
csize = codesize(*s);
|
||||||
|
|
||||||
cnt = (*s & KANJICODEMASK) + 1;
|
cnt = (*s & KANJICODEMASK) + 1;
|
||||||
|
|
||||||
if (flg && (s[csize] == KANJISTREND)) ym += (yl - cnt) * 2;
|
if(flg && (s[csize] == KANJISTREND)) ym += (yl - cnt) * 2;
|
||||||
|
|
||||||
cnt *= 2;
|
cnt *= 2;
|
||||||
while (cnt-- > 0) *d++ = *ym++;
|
while(cnt-- > 0) *d++ = *ym++;
|
||||||
|
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
u_char *
|
u_char*
|
||||||
getkan_kata(u_char *s, u_char *d, u_char *ym, int yl, int flg)
|
getkan_kata(u_char* s, u_char* d, u_char* ym, int yl, int flg) {
|
||||||
{
|
int cnt, csize;
|
||||||
int cnt, csize;
|
u_char ch;
|
||||||
u_char ch;
|
|
||||||
|
|
||||||
csize = codesize(*s);
|
csize = codesize(*s);
|
||||||
|
|
||||||
cnt = (*s & KANJICODEMASK) + 1;
|
cnt = (*s & KANJICODEMASK) + 1;
|
||||||
|
|
||||||
if (flg && (s[csize] == KANJISTREND)) ym += (yl - cnt) * 2;
|
if(flg && (s[csize] == KANJISTREND)) ym += (yl - cnt) * 2;
|
||||||
|
|
||||||
while (cnt-- > 0) {
|
while(cnt-- > 0) {
|
||||||
if (*ym == 0xa4) {
|
if(*ym == 0xa4) {
|
||||||
ch = *++ym;
|
ch = *++ym;
|
||||||
if (0xa1 <= ch && ch <= 0xf3) {
|
if(0xa1 <= ch && ch <= 0xf3) {
|
||||||
*d++ = 0xa5;
|
*d++ = 0xa5;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
*d++ = 0xa4;
|
*d++ = 0xa4;
|
||||||
}
|
}
|
||||||
*d++ = ch;
|
*d++ = ch;
|
||||||
ym++;
|
ym++;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
*d++ = *ym++;
|
*d++ = *ym++;
|
||||||
*d++ = *ym++;
|
*d++ = *ym++;
|
||||||
}
|
}
|
||||||
|
|
@ -99,104 +91,108 @@ getkan_kata(u_char *s, u_char *d, u_char *ym, int yl, int flg)
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
u_char *
|
u_char*
|
||||||
getkan_knj(u_char *s, u_char *d, u_char *ym, int yl, int flg)
|
getkan_knj(u_char* s, u_char* d, u_char* ym, int yl, int flg) {
|
||||||
{
|
|
||||||
return code2kanji(askknj[*s & KNJASSYUKUMASK], d, ym, yl, flg);
|
return code2kanji(askknj[*s & KNJASSYUKUMASK], d, ym, yl, flg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u_char*
|
||||||
|
getkan_ofs(u_char* s, u_char* d, u_char* ym, int yl, int flg) {
|
||||||
u_char *
|
return code2kanji(dicbuf + ((*s & KANJICODEMASK) << 8) + *(s + 1),
|
||||||
getkan_ofs(u_char *s, u_char *d, u_char *ym, int yl, int flg)
|
d, ym, yl, flg);
|
||||||
{
|
|
||||||
return code2kanji(dicbuf + ((*s & KANJICODEMASK) << 8) + *(s + 1),
|
|
||||||
d, ym, yl, flg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
u_char *
|
u_char*
|
||||||
getkan_norm(u_char *s, u_char *d, u_char *ym, int yl, int flg)
|
getkan_norm(u_char* s, u_char* d, u_char* ym, int yl, int flg) {
|
||||||
{
|
|
||||||
u_char c;
|
u_char c;
|
||||||
|
|
||||||
if (*s != 0) {
|
if(*s != 0) {
|
||||||
c = s[1];
|
c = s[1];
|
||||||
if (c & 0x80)
|
if(c & 0x80)
|
||||||
*d++ = SS3;
|
*d++ = SS3;
|
||||||
*d++ = *s | 0x80;
|
*d++ = *s | 0x80;
|
||||||
*d++ = c | 0x80;
|
*d++ = c | 0x80;
|
||||||
} else {
|
} else {
|
||||||
*d++ = *s;
|
*d++ = *s;
|
||||||
}
|
}
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
u_char *
|
u_char*
|
||||||
getkan_ascii(u_char *s, u_char *d, u_char *ym, int yl, int flg)
|
getkan_ascii(u_char* s, u_char* d, u_char* ym, int yl, int flg) {
|
||||||
{
|
|
||||||
u_char c;
|
u_char c;
|
||||||
|
|
||||||
c = s[1];
|
c = s[1];
|
||||||
if (c & 0x80)
|
if(c & 0x80)
|
||||||
*d++ = SS2;
|
*d++ = SS2;
|
||||||
*d++ = c;
|
*d++ = c;
|
||||||
|
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u_char *
|
static u_char*
|
||||||
code2kanji(u_char *s, u_char *d, u_char *ym, int yl, int flg)
|
code2kanji(u_char* s, u_char* d, u_char* ym, int yl, int flg) {
|
||||||
{
|
|
||||||
int csize;
|
int csize;
|
||||||
|
|
||||||
for ( ; ; ) {
|
for(;;) {
|
||||||
csize = codesize(*s);
|
csize = codesize(*s);
|
||||||
if (s[csize] == KANJISTREND) {
|
if(s[csize] == KANJISTREND) {
|
||||||
switch(*s & KANJIMODEMASK) {
|
switch(*s & KANJIMODEMASK) {
|
||||||
case ZENHIRAASSYUKU:
|
case ZENHIRAASSYUKU:
|
||||||
d = getkan_hira(s, d, ym, yl, flg); break;
|
d = getkan_hira(s, d, ym, yl, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
case ZENKATAASSYUKU:
|
case ZENKATAASSYUKU:
|
||||||
d = getkan_kata(s, d, ym, yl, flg); break;
|
d = getkan_kata(s, d, ym, yl, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
d = getkan_ofs(s, d, ym, yl, flg); break;
|
d = getkan_ofs(s, d, ym, yl, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
d = getkan_none(s, d, ym, yl, flg); break;
|
d = getkan_none(s, d, ym, yl, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
d = getkan_ascii(s, d, ym, yl, flg); break;
|
d = getkan_ascii(s, d, ym, yl, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJIASSYUKU:
|
case KANJIASSYUKU:
|
||||||
d = getkan_knj(s, d, ym, yl, flg); break;
|
d = getkan_knj(s, d, ym, yl, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
d = getkan_norm(s, d, ym, yl, flg);
|
d = getkan_norm(s, d, ym, yl, flg);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
switch(*s & KANJIMODEMASK) {
|
switch(*s & KANJIMODEMASK) {
|
||||||
case ZENHIRAASSYUKU:
|
case ZENHIRAASSYUKU:
|
||||||
d = getkan_hira(s, d, ym, yl, FALSE); break;
|
d = getkan_hira(s, d, ym, yl, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
case ZENKATAASSYUKU:
|
case ZENKATAASSYUKU:
|
||||||
d = getkan_kata(s, d, ym, yl, FALSE); break;
|
d = getkan_kata(s, d, ym, yl, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
d = getkan_ofs(s, d, ym, yl, FALSE); break;
|
d = getkan_ofs(s, d, ym, yl, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
d = getkan_none(s, d, ym, yl, FALSE); break;
|
d = getkan_none(s, d, ym, yl, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
d = getkan_ascii(s, d, ym, yl, FALSE); break;
|
d = getkan_ascii(s, d, ym, yl, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJIASSYUKU:
|
case KANJIASSYUKU:
|
||||||
d = getkan_knj(s, d, ym, yl, FALSE); break;
|
d = getkan_knj(s, d, ym, yl, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
d = getkan_norm(s, d, ym, yl, FALSE);
|
d = getkan_norm(s, d, ym, yl, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -206,15 +202,10 @@ code2kanji(u_char *s, u_char *d, u_char *ym, int yl, int flg)
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int getkanji(u_char* ym, int yl, u_char* ptr, u_char* buf) {
|
||||||
|
u_char* q;
|
||||||
int
|
|
||||||
getkanji(u_char *ym, int yl, u_char *ptr, u_char *buf)
|
|
||||||
{
|
|
||||||
u_char *q;
|
|
||||||
|
|
||||||
q = code2kanji(ptr, buf, ym, yl, TRUE);
|
q = code2kanji(ptr, buf, ym, yl, TRUE);
|
||||||
|
|
||||||
return q - buf;
|
return q - buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,139 +33,104 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:50 $
|
* $SonyDate: 1994/06/03 08:01:50 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static void setstynum(), setnspr(), regetrank();
|
static void setstynum(), setnspr(), regetrank();
|
||||||
|
|
||||||
void
|
void getrank() {
|
||||||
getrank()
|
|
||||||
{
|
|
||||||
|
|
||||||
trank = nrank = 1;
|
trank = nrank = 1;
|
||||||
|
|
||||||
|
|
||||||
setstynum();
|
setstynum();
|
||||||
|
|
||||||
|
|
||||||
regetrank();
|
regetrank();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
setstynum()
|
setstynum() {
|
||||||
{
|
KHREC* kptr;
|
||||||
KHREC *kptr;
|
STDYIN* sptr;
|
||||||
STDYIN *sptr;
|
|
||||||
int count;
|
int count;
|
||||||
|
|
||||||
|
for(kptr = kouhotbl, count = khcount; count--; kptr++) {
|
||||||
|
|
||||||
for (kptr = kouhotbl, count = khcount ; count-- ; kptr++) {
|
sptr = srchstdy(kptr->clrec->jnode->jseg, kptr->offs,
|
||||||
|
kptr->clrec->jnode->dicid);
|
||||||
sptr = srchstdy(kptr -> clrec -> jnode -> jseg, kptr -> offs,
|
|
||||||
kptr -> clrec -> jnode -> dicid);
|
|
||||||
|
|
||||||
|
|
||||||
if (!sptr) continue;
|
|
||||||
|
|
||||||
|
if(!sptr) continue;
|
||||||
|
|
||||||
setnspr(kptr, sptr);
|
setnspr(kptr, sptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
setnspr(KHREC *kptr, STDYIN *sptr)
|
setnspr(KHREC* kptr, STDYIN* sptr) {
|
||||||
{
|
KHREC* ptr;
|
||||||
KHREC *ptr;
|
int keepnm;
|
||||||
int keepnm;
|
TypeStyNum styno;
|
||||||
TypeStyNum styno;
|
|
||||||
|
|
||||||
|
|
||||||
styno = kptr -> styno = sptr -> styno;
|
|
||||||
|
|
||||||
|
styno = kptr->styno = sptr->styno;
|
||||||
|
|
||||||
keepnm = trank;
|
keepnm = trank;
|
||||||
|
|
||||||
|
for(ptr = kouhotbl; ptr < kptr; ptr++) {
|
||||||
|
|
||||||
for (ptr = kouhotbl ; ptr < kptr ; ptr++) {
|
if(styno < ptr->styno) {
|
||||||
|
|
||||||
|
|
||||||
if (styno < ptr -> styno) {
|
|
||||||
|
|
||||||
ptr -> rank++;
|
|
||||||
|
|
||||||
|
ptr->rank++;
|
||||||
|
|
||||||
keepnm--;
|
keepnm--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if(styno == ptr->styno) {
|
||||||
|
|
||||||
else if (styno == ptr -> styno) {
|
if(kptr->sttfg && kptr->ka_fg) {
|
||||||
|
|
||||||
|
if((sptr->sttkj == kptr->sttkj) &&
|
||||||
if (kptr -> sttfg && kptr -> ka_fg) {
|
(sptr->ka_kj == kptr->ka_kj)) {
|
||||||
|
ptr->rank++;
|
||||||
|
|
||||||
if ((sptr -> sttkj == kptr -> sttkj) &&
|
|
||||||
(sptr -> ka_kj == kptr -> ka_kj)) {
|
|
||||||
ptr -> rank++;
|
|
||||||
keepnm--;
|
keepnm--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (kptr -> sttfg) {
|
else if(kptr->sttfg) {
|
||||||
|
|
||||||
|
if(sptr->sttkj == kptr->sttkj) {
|
||||||
if (sptr -> sttkj == kptr -> sttkj) {
|
ptr->rank++;
|
||||||
ptr -> rank++;
|
|
||||||
keepnm--;
|
keepnm--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (kptr -> ka_fg) {
|
else if(kptr->ka_fg) {
|
||||||
|
|
||||||
|
if(sptr->ka_kj == kptr->ka_kj) {
|
||||||
if (sptr -> ka_kj == kptr -> ka_kj) {
|
ptr->rank++;
|
||||||
ptr -> rank++;
|
|
||||||
keepnm--;
|
keepnm--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kptr->rank = (u_char)keepnm;
|
||||||
kptr -> rank = (u_char)keepnm;
|
|
||||||
trank++;
|
trank++;
|
||||||
|
|
||||||
|
if(keepnm <= nrank) nrank++;
|
||||||
|
|
||||||
if (keepnm <= nrank) nrank++;
|
if(sptr->nmflg && (nrank > keepnm)) nrank = keepnm;
|
||||||
|
|
||||||
|
|
||||||
if (sptr -> nmflg && (nrank > keepnm)) nrank = keepnm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
regetrank()
|
regetrank() {
|
||||||
{
|
KHREC* kptr;
|
||||||
KHREC *kptr;
|
int count;
|
||||||
int count;
|
int tmp;
|
||||||
int tmp;
|
|
||||||
|
|
||||||
|
if(nrank < trank) {
|
||||||
if (nrank < trank) {
|
|
||||||
|
|
||||||
tmp = nrank;
|
tmp = nrank;
|
||||||
|
|
||||||
|
|
||||||
trank += nkhcount;
|
trank += nkhcount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -173,19 +138,16 @@ regetrank()
|
||||||
nkhcount = tmp = 0;
|
nkhcount = tmp = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for(count = khcount, kptr = kouhotbl; count--; kptr++) {
|
||||||
|
|
||||||
for (count = khcount, kptr = kouhotbl ; count-- ; kptr++) {
|
if(!(kptr->rank)) {
|
||||||
|
if(tmp && kptr->mode && !(kptr->offs)) {
|
||||||
if (!(kptr -> rank)) {
|
kptr->rank = (u_char)tmp++;
|
||||||
if (tmp && kptr -> mode && !(kptr -> offs)) {
|
} else
|
||||||
kptr -> rank = (u_char)tmp++;
|
kptr->rank = (u_char)trank++;
|
||||||
}
|
|
||||||
else
|
|
||||||
kptr -> rank = (u_char)trank++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if((short)kptr->rank >= nrank)
|
||||||
else if ((short)kptr -> rank >= nrank)
|
kptr->rank += (u_char)nkhcount;
|
||||||
kptr -> rank += (u_char)nkhcount;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,6 @@
|
||||||
* $SonyDate: 1994/12/09 11:27:06 $
|
* $SonyDate: 1994/12/09 11:27:06 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
|
|
@ -48,11 +46,10 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
Global *global_work_base;
|
Global* global_work_base;
|
||||||
|
|
||||||
Global *work_base;
|
Global* work_base;
|
||||||
|
|
||||||
STDY *stdy_base;
|
STDY* stdy_base;
|
||||||
|
|
||||||
int serv_errno;
|
|
||||||
|
|
||||||
|
int serv_errno;
|
||||||
|
|
|
||||||
|
|
@ -41,28 +41,24 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int euc_codesize(u_char c) {
|
||||||
euc_codesize(u_char c)
|
if((c & KANJIMODEMASK) == 0x90) {
|
||||||
{
|
|
||||||
if ((c & KANJIMODEMASK) == 0x90) {
|
|
||||||
return 1;
|
return 1;
|
||||||
} else if (isknj1(c)) {
|
} else if(isknj1(c)) {
|
||||||
return 2;
|
return 2;
|
||||||
} else if (c == SS3) {
|
} else if(c == SS3) {
|
||||||
return 3;
|
return 3;
|
||||||
} else {
|
} else {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int hzstrlen(u_char* ptr, int len) {
|
||||||
hzstrlen(u_char *ptr, int len)
|
u_char* head;
|
||||||
{
|
|
||||||
u_char *head;
|
|
||||||
|
|
||||||
head = ptr;
|
head = ptr;
|
||||||
|
|
||||||
while (len-- > 0) ptr += euc_codesize(*ptr);
|
while(len-- > 0) ptr += euc_codesize(*ptr);
|
||||||
|
|
||||||
return (ptr - head);
|
return (ptr - head);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,40 +33,34 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:54 $
|
* $SonyDate: 1994/06/03 08:01:54 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
void
|
void seg_count(DICT* dict) {
|
||||||
seg_count(DICT *dict)
|
u_char* p;
|
||||||
{
|
u_char* q;
|
||||||
u_char *p;
|
TypeDicSeg segcnt = 0;
|
||||||
u_char *q;
|
|
||||||
TypeDicSeg segcnt = 0;
|
|
||||||
|
|
||||||
if (dict-> getidx) {
|
if(dict->getidx) {
|
||||||
(*dict->getidx)(dict);
|
(*dict->getidx)(dict);
|
||||||
|
|
||||||
p = idxbuf;
|
p = idxbuf;
|
||||||
q = p + dict->idxlen;
|
q = p + dict->idxlen;
|
||||||
while (p < q && *p) {
|
while(p < q && *p) {
|
||||||
segcnt++;
|
segcnt++;
|
||||||
while (*p++) ;
|
while(*p++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dict->segunit = (segcnt == 0) ? 1 : segcnt;
|
dict->segunit = (segcnt == 0) ? 1 : segcnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void mkidxtbl(DICT* dict) {
|
||||||
mkidxtbl(DICT *dict)
|
u_char* p;
|
||||||
{
|
TypeDicSeg seg;
|
||||||
u_char *p;
|
|
||||||
TypeDicSeg seg;
|
|
||||||
|
|
||||||
if (!dict->getidx || !dict->getofs) return;
|
if(!dict->getidx || !dict->getofs) return;
|
||||||
|
|
||||||
seg = 0;
|
seg = 0;
|
||||||
|
|
||||||
|
|
@ -74,16 +68,13 @@ mkidxtbl(DICT *dict)
|
||||||
(*dict->getofs)(dict);
|
(*dict->getofs)(dict);
|
||||||
|
|
||||||
idxofs[0] = 0;
|
idxofs[0] = 0;
|
||||||
for (p = idxbuf ; p < idxbuf + dict->idxlen && seg < dict->segunit ; ) {
|
for(p = idxbuf; p < idxbuf + dict->idxlen && seg < dict->segunit;) {
|
||||||
idxofs[seg++] = p - idxbuf;
|
idxofs[seg++] = p - idxbuf;
|
||||||
while (*p++) ;
|
while(*p++);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void initwork() {
|
||||||
initwork()
|
jrt1st = jrt2nd = maxjptr = (JREC*)0;
|
||||||
{
|
clt1st = clt2nd = maxclptr = (CLREC*)0;
|
||||||
jrt1st = jrt2nd = maxjptr = (JREC *)0;
|
|
||||||
clt1st = clt2nd = maxclptr = (CLREC *)0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,26 +33,22 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:55 $
|
* $SonyDate: 1994/06/03 08:01:55 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
#include "sj_const.h"
|
#include "sj_const.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int istrcmp(u_char* yomip, u_char* idxp, int ylen, int ilen) {
|
||||||
istrcmp(u_char *yomip, u_char *idxp, int ylen, int ilen)
|
for(;;) {
|
||||||
{
|
|
||||||
for (;;) {
|
|
||||||
|
|
||||||
if ((ilen | ylen) == 0) return MATCH;
|
if((ilen | ylen) == 0) return MATCH;
|
||||||
|
|
||||||
if (ilen == 0) return UNDER;
|
if(ilen == 0) return UNDER;
|
||||||
|
|
||||||
if ((ylen == 0) || (*yomip < *idxp)) return OVER;
|
if((ylen == 0) || (*yomip < *idxp)) return OVER;
|
||||||
|
|
||||||
if (*yomip > *idxp) return UNDER;
|
if(*yomip > *idxp) return UNDER;
|
||||||
|
|
||||||
yomip++;
|
yomip++;
|
||||||
idxp++;
|
idxp++;
|
||||||
|
|
@ -60,4 +56,3 @@ istrcmp(u_char *yomip, u_char *idxp, int ylen, int ilen)
|
||||||
ilen--;
|
ilen--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,28 +33,24 @@
|
||||||
* $SonyDate: 1994/06/03 08:01:58 $
|
* $SonyDate: 1994/06/03 08:01:58 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
JREC *
|
JREC* free_jlst(JREC* p) {
|
||||||
free_jlst(JREC *p)
|
JREC* jpk;
|
||||||
{
|
JREC* jp;
|
||||||
JREC *jpk;
|
JREC* jn;
|
||||||
JREC *jp;
|
|
||||||
JREC *jn;
|
|
||||||
|
|
||||||
jp = NULL;
|
jp = NULL;
|
||||||
|
|
||||||
for ( ; p ; p = jn) {
|
for(; p; p = jn) {
|
||||||
|
|
||||||
jn = p -> jsort;
|
jn = p->jsort;
|
||||||
|
|
||||||
if (p -> count) {
|
if(p->count) {
|
||||||
if (jp)
|
if(jp)
|
||||||
jp -> jsort = p;
|
jp->jsort = p;
|
||||||
else
|
else
|
||||||
jpk = p;
|
jpk = p;
|
||||||
jp = p;
|
jp = p;
|
||||||
|
|
@ -65,36 +61,33 @@ free_jlst(JREC *p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (jp) jp -> jsort = NULL;
|
if(jp) jp->jsort = NULL;
|
||||||
|
|
||||||
return jpk;
|
return jpk;
|
||||||
}
|
}
|
||||||
|
|
||||||
CLREC *
|
CLREC*
|
||||||
free_clst(CLREC *p, int l)
|
free_clst(CLREC* p, int l) {
|
||||||
{
|
CLREC* cpk;
|
||||||
CLREC *cpk;
|
CLREC* cp;
|
||||||
CLREC *cp;
|
CLREC* cn;
|
||||||
CLREC *cn;
|
|
||||||
|
|
||||||
cp = cpk = NULL;
|
cp = cpk = NULL;
|
||||||
|
|
||||||
for ( ; p ; p = cn) {
|
for(; p; p = cn) {
|
||||||
|
|
||||||
cn = p -> clsort;
|
cn = p->clsort;
|
||||||
|
|
||||||
if ((int)p -> cllen == l) {
|
if((int)p->cllen == l) {
|
||||||
if (p == selcl) {
|
if(p == selcl) {
|
||||||
if (cp) {
|
if(cp) {
|
||||||
p -> clsort = cpk;
|
p->clsort = cpk;
|
||||||
cpk = p;
|
cpk = p;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
cpk = cp = p;
|
cpk = cp = p;
|
||||||
}
|
} else {
|
||||||
else {
|
if(cp)
|
||||||
if (cp)
|
cp->clsort = p;
|
||||||
cp -> clsort = p;
|
|
||||||
else
|
else
|
||||||
cpk = p;
|
cpk = p;
|
||||||
cp = p;
|
cp = p;
|
||||||
|
|
@ -102,49 +95,42 @@ free_clst(CLREC *p, int l)
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
(p -> jnode -> count)--;
|
(p->jnode->count)--;
|
||||||
|
|
||||||
free_clrec(p);
|
free_clrec(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cp) cp -> clsort = NULL;
|
if(cp) cp->clsort = NULL;
|
||||||
|
|
||||||
return cpk;
|
return cpk;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void free_clall(CLREC* p) {
|
||||||
free_clall(CLREC *p)
|
CLREC* next;
|
||||||
{
|
|
||||||
CLREC *next;
|
|
||||||
|
|
||||||
while (p) {
|
while(p) {
|
||||||
(p -> jnode -> count)--;
|
(p->jnode->count)--;
|
||||||
next = p -> clsort;
|
next = p->clsort;
|
||||||
free_clrec(p);
|
free_clrec(p);
|
||||||
p = next;
|
p = next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void free_jall(JREC* p) {
|
||||||
free_jall(JREC *p)
|
JREC* next;
|
||||||
{
|
|
||||||
JREC *next;
|
|
||||||
|
|
||||||
while (p) {
|
while(p) {
|
||||||
next = p -> jsort;
|
next = p->jsort;
|
||||||
free_jrec(p);
|
free_jrec(p);
|
||||||
p = next;
|
p = next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void freework() {
|
||||||
freework()
|
|
||||||
{
|
|
||||||
free_clall(maxclptr);
|
free_clall(maxclptr);
|
||||||
clt1st = maxclptr = NULL;
|
clt1st = maxclptr = NULL;
|
||||||
|
|
||||||
free_jall(maxjptr);
|
free_jall(maxjptr);
|
||||||
jrt1st = maxjptr = NULL;
|
jrt1st = maxjptr = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,42 +33,37 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:00 $
|
* $SonyDate: 1994/06/03 08:02:00 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_right.h"
|
#include "sj_right.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static int
|
static int
|
||||||
set2nd(CLREC *clrec)
|
set2nd(CLREC* clrec) {
|
||||||
{
|
|
||||||
|
|
||||||
CLREC *rec2;
|
CLREC* rec2;
|
||||||
|
|
||||||
mkjiritu(DO_IKKATU | DO_CLSTUDY);
|
mkjiritu(DO_IKKATU | DO_CLSTUDY);
|
||||||
|
|
||||||
mkbunsetu();
|
mkbunsetu();
|
||||||
|
|
||||||
if (!maxclptr) {
|
if(!maxclptr) {
|
||||||
wakachi();
|
wakachi();
|
||||||
return clrec -> cllen;
|
return clrec->cllen;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (rec2 = maxclptr ; rec2 ; rec2 = rec2 -> clsort) {
|
for(rec2 = maxclptr; rec2; rec2 = rec2->clsort) {
|
||||||
if (terminate(rec2->right, cnvstart+rec2->cllen) != SHU)
|
if(terminate(rec2->right, cnvstart + rec2->cllen) != SHU)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return rec2 ? (clrec -> cllen + rec2 -> cllen) : (clrec -> cllen);
|
return rec2 ? (clrec->cllen + rec2->cllen) : (clrec->cllen);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void mk2claus() {
|
||||||
mk2claus()
|
u_char* keepptr;
|
||||||
{
|
|
||||||
u_char *keepptr;
|
|
||||||
int keeplen;
|
int keeplen;
|
||||||
CLREC *clrec;
|
CLREC* clrec;
|
||||||
int len;
|
int len;
|
||||||
int save2ln;
|
int save2ln;
|
||||||
int prty;
|
int prty;
|
||||||
|
|
@ -79,16 +74,16 @@ mk2claus()
|
||||||
prty = maxprty = prty2 = 0;
|
prty = maxprty = prty2 = 0;
|
||||||
|
|
||||||
clt2nd = maxclptr = NULL;
|
clt2nd = maxclptr = NULL;
|
||||||
jrt2nd = maxjptr = NULL;
|
jrt2nd = maxjptr = NULL;
|
||||||
|
|
||||||
selcl = clt1st;
|
selcl = clt1st;
|
||||||
|
|
||||||
if (selcl -> right == R_FZKKGU) {
|
if(selcl->right == R_FZKKGU) {
|
||||||
pritiny();
|
pritiny();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cnvlen == selcl -> cllen) {
|
if(cnvlen == selcl->cllen) {
|
||||||
pritiny();
|
pritiny();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -97,13 +92,13 @@ mk2claus()
|
||||||
keeplen = cnvlen;
|
keeplen = cnvlen;
|
||||||
|
|
||||||
len = count = 0;
|
len = count = 0;
|
||||||
for (clrec = selcl ; clrec && count < 5 ; clrec = clrec -> clsort) {
|
for(clrec = selcl; clrec && count < 5; clrec = clrec->clsort) {
|
||||||
|
|
||||||
cnvstart = keepptr + clrec -> cllen;
|
cnvstart = keepptr + clrec->cllen;
|
||||||
cnvlen = keeplen - clrec -> cllen;
|
cnvlen = keeplen - clrec->cllen;
|
||||||
|
|
||||||
if (len != clrec -> cllen) {
|
if(len != clrec->cllen) {
|
||||||
if (clt2nd != maxclptr) {
|
if(clt2nd != maxclptr) {
|
||||||
free_clall(maxclptr);
|
free_clall(maxclptr);
|
||||||
free_jall(maxjptr);
|
free_jall(maxjptr);
|
||||||
}
|
}
|
||||||
|
|
@ -111,37 +106,37 @@ mk2claus()
|
||||||
save2ln = set2nd(clrec);
|
save2ln = set2nd(clrec);
|
||||||
|
|
||||||
count++;
|
count++;
|
||||||
len = clrec -> cllen;
|
len = clrec->cllen;
|
||||||
prty2 = 0;
|
prty2 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Termtbl[clrec -> right] & T_SHUUJO)
|
if(Termtbl[clrec->right] & T_SHUUJO)
|
||||||
clrec -> cl2len = (u_char)len;
|
clrec->cl2len = (u_char)len;
|
||||||
else
|
else
|
||||||
clrec -> cl2len = (u_char)save2ln;
|
clrec->cl2len = (u_char)save2ln;
|
||||||
|
|
||||||
if (selcl -> cl2len > clrec -> cl2len) continue;
|
if(selcl->cl2len > clrec->cl2len) continue;
|
||||||
|
|
||||||
prty = priority(clrec) - prty2;
|
prty = priority(clrec) - prty2;
|
||||||
|
|
||||||
prty2++;
|
prty2++;
|
||||||
|
|
||||||
if (selcl -> cl2len == clrec -> cl2len) {
|
if(selcl->cl2len == clrec->cl2len) {
|
||||||
if (clrec -> cllen == nextcllen) {
|
if(clrec->cllen == nextcllen) {
|
||||||
if (selcl -> cllen != nextcllen)
|
if(selcl->cllen != nextcllen)
|
||||||
;
|
;
|
||||||
else if (prty <= maxprty)
|
else if(prty <= maxprty)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (prty <= maxprty)
|
else if(prty <= maxprty)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
selcl = clrec;
|
selcl = clrec;
|
||||||
maxprty = prty;
|
maxprty = prty;
|
||||||
|
|
||||||
if (clt2nd == maxclptr) continue;
|
if(clt2nd == maxclptr) continue;
|
||||||
|
|
||||||
free_clall(clt2nd);
|
free_clall(clt2nd);
|
||||||
free_jall(jrt2nd);
|
free_jall(jrt2nd);
|
||||||
|
|
@ -149,14 +144,13 @@ mk2claus()
|
||||||
clt2nd = maxclptr;
|
clt2nd = maxclptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clt2nd != maxclptr) {
|
if(clt2nd != maxclptr) {
|
||||||
free_clall(maxclptr);
|
free_clall(maxclptr);
|
||||||
maxclptr = NULL;
|
maxclptr = NULL;
|
||||||
free_jall(maxjptr);
|
free_jall(maxjptr);
|
||||||
maxjptr = NULL;
|
maxjptr = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
cnvstart = keepptr;
|
cnvstart = keepptr;
|
||||||
cnvlen = keeplen;
|
cnvlen = keeplen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,24 +33,20 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:02 $
|
* $SonyDate: 1994/06/03 08:02:02 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_hinsi.h"
|
#include "sj_hinsi.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
void
|
void mkbunsetu() {
|
||||||
mkbunsetu()
|
JREC* jrec;
|
||||||
{
|
TypeGram hinsi;
|
||||||
JREC *jrec;
|
u_char* cnj;
|
||||||
TypeGram hinsi;
|
CREC crec[4];
|
||||||
u_char *cnj;
|
int count;
|
||||||
CREC crec[4];
|
TypeCnct right;
|
||||||
int count;
|
u_char* next;
|
||||||
TypeCnct right;
|
int i;
|
||||||
u_char *next;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
fzkcount = 0;
|
fzkcount = 0;
|
||||||
|
|
||||||
|
|
@ -58,18 +54,18 @@ mkbunsetu()
|
||||||
|
|
||||||
jrec = maxjptr;
|
jrec = maxjptr;
|
||||||
|
|
||||||
while (jrec) {
|
while(jrec) {
|
||||||
|
|
||||||
if (jrec -> stbofs && (cnj = getstb(jrec -> hinsi)))
|
if(jrec->stbofs && (cnj = getstb(jrec->hinsi)))
|
||||||
hinsi = StbHinsi(cnj + jrec -> stbofs - 1);
|
hinsi = StbHinsi(cnj + jrec->stbofs - 1);
|
||||||
else
|
else
|
||||||
hinsi = jrec -> hinsi;
|
hinsi = jrec->hinsi;
|
||||||
|
|
||||||
if (right = Connadr[hinsi]) {
|
if(right = Connadr[hinsi]) {
|
||||||
gobilen = 0;
|
gobilen = 0;
|
||||||
next = cnvstart + jrec->jlen;
|
next = cnvstart + jrec->jlen;
|
||||||
|
|
||||||
if (terminate(right, next)) {
|
if(terminate(right, next)) {
|
||||||
fzk_ka_flg = 0;
|
fzk_ka_flg = 0;
|
||||||
setclrec(jrec, next, right);
|
setclrec(jrec, next, right);
|
||||||
}
|
}
|
||||||
|
|
@ -77,15 +73,15 @@ mkbunsetu()
|
||||||
srchfzk(jrec, next, right, 0);
|
srchfzk(jrec, next, right, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (count = setconj(hinsi, jrec, crec)) {
|
else if(count = setconj(hinsi, jrec, crec)) {
|
||||||
|
|
||||||
for (i = count ; i-- > 0 ; ) {
|
for(i = count; i-- > 0;) {
|
||||||
|
|
||||||
right = crec[i].right;
|
right = crec[i].right;
|
||||||
gobilen = crec[i].len;
|
gobilen = crec[i].len;
|
||||||
next = cnvstart + jrec->jlen + gobilen;
|
next = cnvstart + jrec->jlen + gobilen;
|
||||||
|
|
||||||
if (terminate(right, next)) {
|
if(terminate(right, next)) {
|
||||||
fzk_ka_flg = 0;
|
fzk_ka_flg = 0;
|
||||||
setclrec(jrec, next, right);
|
setclrec(jrec, next, right);
|
||||||
}
|
}
|
||||||
|
|
@ -94,73 +90,68 @@ mkbunsetu()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
jrec = jrec -> jsort;
|
jrec = jrec->jsort;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CLREC*
|
||||||
CLREC *
|
argclrec(int len) {
|
||||||
argclrec(int len)
|
CLREC* ptr;
|
||||||
{
|
CLREC* rec;
|
||||||
CLREC *ptr;
|
CLREC* child;
|
||||||
CLREC *rec;
|
|
||||||
CLREC *child;
|
|
||||||
|
|
||||||
rec = alloc_clrec();
|
rec = alloc_clrec();
|
||||||
|
|
||||||
if (!rec) {
|
if(!rec) {
|
||||||
if (!maxclptr)
|
if(!maxclptr)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
ptr = NULL;
|
ptr = NULL;
|
||||||
rec = maxclptr;
|
rec = maxclptr;
|
||||||
while (child = rec -> clsort) {
|
while(child = rec->clsort) {
|
||||||
ptr = rec;
|
ptr = rec;
|
||||||
rec = child;
|
rec = child;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len <= (int) rec -> cllen)
|
if(len <= (int)rec->cllen)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (ptr)
|
if(ptr)
|
||||||
ptr -> clsort = NULL;
|
ptr->clsort = NULL;
|
||||||
else
|
else
|
||||||
maxclptr = NULL;
|
maxclptr = NULL;
|
||||||
if (rec -> jnode) (rec -> jnode)--;
|
if(rec->jnode) (rec->jnode)--;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset((u_char *)rec, 0, sizeof(*rec));
|
memset((u_char*)rec, 0, sizeof(*rec));
|
||||||
rec -> cllen = rec -> cl2len = (u_char)len;
|
rec->cllen = rec->cl2len = (u_char)len;
|
||||||
|
|
||||||
if (!maxclptr) {
|
if(!maxclptr) {
|
||||||
maxclptr = rec;
|
maxclptr = rec;
|
||||||
return rec;
|
return rec;
|
||||||
}
|
}
|
||||||
|
|
||||||
ptr = maxclptr;
|
ptr = maxclptr;
|
||||||
|
|
||||||
if (((int)ptr -> cllen < len) ||
|
if(((int)ptr->cllen < len) ||
|
||||||
(((int)ptr -> cllen == len) &&
|
(((int)ptr->cllen == len) &&
|
||||||
(ptr -> jnode -> hinsi == TANKANJI))) {
|
(ptr->jnode->hinsi == TANKANJI))) {
|
||||||
rec -> clsort = maxclptr;
|
rec->clsort = maxclptr;
|
||||||
maxclptr = rec;
|
maxclptr = rec;
|
||||||
return rec;
|
return rec;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (child = ptr -> clsort) {
|
while(child = ptr->clsort) {
|
||||||
if ((int)child -> cllen < len ||
|
if((int)child->cllen < len ||
|
||||||
((int)child -> cllen == len &&
|
((int)child->cllen == len &&
|
||||||
child->jnode->hinsi == TANKANJI)){
|
child->jnode->hinsi == TANKANJI)) {
|
||||||
ptr -> clsort = rec;
|
ptr->clsort = rec;
|
||||||
rec -> clsort = child;
|
rec->clsort = child;
|
||||||
return rec;
|
return rec;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
ptr = child;
|
ptr = child;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ptr->clsort = rec;
|
||||||
ptr -> clsort = rec;
|
|
||||||
return rec;
|
return rec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,21 +33,18 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:03 $
|
* $SonyDate: 1994/06/03 08:02:03 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static void dic_mu(), dic_cl();
|
static void dic_mu(), dic_cl();
|
||||||
|
|
||||||
void
|
void mkjiritu(int mode) {
|
||||||
mkjiritu(int mode)
|
|
||||||
{
|
|
||||||
u_char chkind1;
|
u_char chkind1;
|
||||||
u_char chkind2;
|
u_char chkind2;
|
||||||
JREC *jrec;
|
JREC* jrec;
|
||||||
u_char *stb;
|
u_char* stb;
|
||||||
|
|
||||||
headcode = headlen = 0;
|
headcode = headlen = 0;
|
||||||
|
|
||||||
|
|
@ -55,25 +52,25 @@ mkjiritu(int mode)
|
||||||
|
|
||||||
chkind1 = Chrtbl[*cnvstart];
|
chkind1 = Chrtbl[*cnvstart];
|
||||||
|
|
||||||
if (chkind1 & DICTOP) {
|
if(chkind1 & DICTOP) {
|
||||||
dic_mu(mode);
|
dic_mu(mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode & DO_CLSTUDY) dic_cl();
|
if(mode & DO_CLSTUDY) dic_cl();
|
||||||
|
|
||||||
srchnum();
|
srchnum();
|
||||||
|
|
||||||
if (srchhead() && cnvlen != headlen) {
|
if(srchhead() && cnvlen != headlen) {
|
||||||
cnvstart += headlen;
|
cnvstart += headlen;
|
||||||
cnvlen -= headlen;
|
cnvlen -= headlen;
|
||||||
|
|
||||||
chkind2 = Chrtbl[*cnvstart];
|
chkind2 = Chrtbl[*cnvstart];
|
||||||
|
|
||||||
if (chkind2 & DICTOP) {
|
if(chkind2 & DICTOP) {
|
||||||
dic_mu(mode);
|
dic_mu(mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (headcode == SETTOU_DAI) {
|
if(headcode == SETTOU_DAI) {
|
||||||
srchnum();
|
srchnum();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -81,109 +78,105 @@ mkjiritu(int mode)
|
||||||
cnvlen += headlen;
|
cnvlen += headlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (jrec = maxjptr ; jrec ; jrec = jrec -> jsort) {
|
for(jrec = maxjptr; jrec; jrec = jrec->jsort) {
|
||||||
if (stb = getstb(jrec -> hinsi))
|
if(stb = getstb(jrec->hinsi))
|
||||||
setubi(jrec, stb);
|
setubi(jrec, stb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
dic_mu(int mode)
|
dic_mu(int mode) {
|
||||||
{
|
u_char* tagp;
|
||||||
u_char *tagp;
|
DICTL* dp;
|
||||||
DICTL *dp;
|
|
||||||
|
|
||||||
for (dp = dictlist ; dp ; dp = dp -> next) {
|
for(dp = dictlist; dp; dp = dp->next) {
|
||||||
curdict = dp -> dict;
|
curdict = dp->dict;
|
||||||
dicinl = 1;
|
dicinl = 1;
|
||||||
dicsaml = 0;
|
dicsaml = 0;
|
||||||
prevseg = -1;
|
prevseg = -1;
|
||||||
|
|
||||||
while (tagp = srchdict(tagp)) setjrec(tagp, mode);
|
while(tagp = srchdict(tagp)) setjrec(tagp, mode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JREC *
|
JREC* argjrec(int len, JREC* rec) {
|
||||||
argjrec(int len, JREC *rec)
|
JREC* ptr;
|
||||||
{
|
JREC* jrec;
|
||||||
JREC *ptr;
|
JREC* child;
|
||||||
JREC *jrec;
|
|
||||||
JREC *child;
|
|
||||||
|
|
||||||
jrec = alloc_jrec();
|
jrec = alloc_jrec();
|
||||||
|
|
||||||
if (!jrec) {
|
if(!jrec) {
|
||||||
if (!maxjptr) return NULL;
|
if(!maxjptr) return NULL;
|
||||||
|
|
||||||
ptr = NULL;
|
ptr = NULL;
|
||||||
jrec = maxjptr;
|
jrec = maxjptr;
|
||||||
while (child = jrec -> jsort) {
|
while(child = jrec->jsort) {
|
||||||
ptr = jrec;
|
ptr = jrec;
|
||||||
jrec = child;
|
jrec = child;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len <= (int) jrec -> jlen) return NULL;
|
if(len <= (int)jrec->jlen) return NULL;
|
||||||
|
|
||||||
if (ptr)
|
if(ptr)
|
||||||
ptr -> jsort = NULL;
|
ptr->jsort = NULL;
|
||||||
else
|
else
|
||||||
maxjptr = NULL;
|
maxjptr = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rec)
|
if(rec)
|
||||||
memcpy((u_char *)jrec, (u_char *)rec, sizeof(JREC));
|
memcpy((u_char*)jrec, (u_char*)rec, sizeof(JREC));
|
||||||
else
|
else
|
||||||
memset((u_char *)jrec, 0, sizeof(*jrec));
|
memset((u_char*)jrec, 0, sizeof(*jrec));
|
||||||
jrec -> jlen = (u_char)len;
|
jrec->jlen = (u_char)len;
|
||||||
|
|
||||||
if (!maxjptr) {
|
if(!maxjptr) {
|
||||||
maxjptr = jrec;
|
maxjptr = jrec;
|
||||||
jrec -> jsort = NULL;
|
jrec->jsort = NULL;
|
||||||
return jrec;
|
return jrec;
|
||||||
}
|
}
|
||||||
|
|
||||||
ptr = maxjptr;
|
ptr = maxjptr;
|
||||||
|
|
||||||
if ((int)ptr -> jlen < len) {
|
if((int)ptr->jlen < len) {
|
||||||
jrec -> jsort = maxjptr;
|
jrec->jsort = maxjptr;
|
||||||
maxjptr = jrec;
|
maxjptr = jrec;
|
||||||
return jrec;
|
return jrec;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (child = ptr -> jsort) {
|
while(child = ptr->jsort) {
|
||||||
if ((int)child -> jlen < len) break;
|
if((int)child->jlen < len) break;
|
||||||
|
|
||||||
ptr = child;
|
ptr = child;
|
||||||
}
|
}
|
||||||
|
|
||||||
ptr -> jsort = jrec;
|
ptr->jsort = jrec;
|
||||||
jrec -> jsort = child;
|
jrec->jsort = child;
|
||||||
return jrec;
|
return jrec;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
dic_cl()
|
dic_cl() {
|
||||||
{
|
u_char* p;
|
||||||
u_char *p;
|
u_short pos;
|
||||||
u_short pos;
|
|
||||||
int len;
|
int len;
|
||||||
int cmp;
|
int cmp;
|
||||||
|
|
||||||
if (!StudyExist()) return;
|
if(!StudyExist()) return;
|
||||||
|
|
||||||
if ((pos = CLSTUDYIDX[(short) *cnvstart / CLSTUDYSTEP]) != (u_short)-1) {
|
if((pos = CLSTUDYIDX[(short)*cnvstart / CLSTUDYSTEP]) != (u_short)-1) {
|
||||||
|
|
||||||
for (p = CLSTUDYDICT + pos ; !iseocl(p) ; p = ClNextTag(p)) {
|
for(p = CLSTUDYDICT + pos; !iseocl(p); p = ClNextTag(p)) {
|
||||||
cmp = sstrncmp(cnvstart, (u_char *)ClYomiPos(p),
|
cmp = sstrncmp(cnvstart, (u_char*)ClYomiPos(p),
|
||||||
len = ClYomiLen(p));
|
len = ClYomiLen(p));
|
||||||
|
|
||||||
if (cmp == MATCH) {
|
if(cmp == MATCH) {
|
||||||
if (!isdpnd(*(cnvstart + len))) {
|
if(!isdpnd(*(cnvstart + len))) {
|
||||||
setcrec(p);
|
setcrec(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (cmp == OVER)
|
else if(cmp == OVER)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,6 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:04 $
|
* $SonyDate: 1994/06/03 08:02:04 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_euc.h"
|
#include "sj_euc.h"
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_hinsi.h"
|
#include "sj_hinsi.h"
|
||||||
|
|
@ -44,39 +41,34 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static void getkhtbl(), cl_kanji();
|
static void getkhtbl(), cl_kanji();
|
||||||
static int diffknj();
|
static int diffknj();
|
||||||
static void cl_numcmn();
|
static void cl_numcmn();
|
||||||
static u_char *makekan();
|
static u_char* makekan();
|
||||||
|
|
||||||
void
|
void mkkouho() {
|
||||||
mkkouho()
|
CLREC* clrec;
|
||||||
{
|
int keeplen;
|
||||||
CLREC *clrec;
|
|
||||||
int keeplen;
|
|
||||||
|
|
||||||
khcount = nkhcount = 0;
|
khcount = nkhcount = 0;
|
||||||
|
|
||||||
keeplen = clt1st -> cllen;
|
keeplen = clt1st->cllen;
|
||||||
|
|
||||||
clrec = clt1st;
|
clrec = clt1st;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
getkhtbl(clrec);
|
getkhtbl(clrec);
|
||||||
clrec = clrec -> clsort;
|
clrec = clrec->clsort;
|
||||||
} while (clrec && (keeplen == clrec -> cllen));
|
} while(clrec && (keeplen == clrec->cllen));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
getkhtbl(CLREC *clrec)
|
getkhtbl(CLREC* clrec) {
|
||||||
{
|
JREC* jrec;
|
||||||
JREC *jrec;
|
|
||||||
|
|
||||||
jrec = clrec -> jnode;
|
jrec = clrec->jnode;
|
||||||
|
|
||||||
switch (jrec -> class) {
|
switch(jrec->class) {
|
||||||
case C_DICT:
|
case C_DICT:
|
||||||
cl_kanji(jrec, clrec);
|
cl_kanji(jrec, clrec);
|
||||||
break;
|
break;
|
||||||
|
|
@ -101,162 +93,148 @@ getkhtbl(CLREC *clrec)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
cl_kanji(JREC *jrec, CLREC *clrec)
|
cl_kanji(JREC* jrec, CLREC* clrec) {
|
||||||
{
|
u_char* ptr;
|
||||||
u_char *ptr;
|
|
||||||
int kcount = khcount;
|
int kcount = khcount;
|
||||||
|
|
||||||
if (seldict(jrec -> dicid)) {
|
if(seldict(jrec->dicid)) {
|
||||||
(*curdict->getdic)(curdict, jrec -> jseg);
|
(*curdict->getdic)(curdict, jrec->jseg);
|
||||||
ptr = dicbuf + jrec->jofsst + 1;
|
ptr = dicbuf + jrec->jofsst + 1;
|
||||||
|
|
||||||
get_askknj();
|
get_askknj();
|
||||||
|
|
||||||
while (*ptr != HINSIBLKTERM) {
|
while(*ptr != HINSIBLKTERM) {
|
||||||
if (diffknj(jrec, ptr, kcount)) {
|
if(diffknj(jrec, ptr, kcount)) {
|
||||||
setkouho(clrec, (TypeDicOfs)(ptr - dicbuf), 0);
|
setkouho(clrec, (TypeDicOfs)(ptr - dicbuf), 0);
|
||||||
}
|
}
|
||||||
ptr = skipkstr(ptr);
|
ptr = skipkstr(ptr);
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
setkouho(clrec, (TypeDicOfs)1, 0);
|
setkouho(clrec, (TypeDicOfs)1, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u_char*
|
||||||
|
makekan_none(u_char* s, u_char* d, int flg) {
|
||||||
u_char *
|
|
||||||
makekan_none(u_char *s, u_char *d, int flg)
|
|
||||||
{
|
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u_char*
|
||||||
|
makekan_1byte(u_char* s, u_char* d, int flg) {
|
||||||
u_char *
|
if((*s & KANJIMODEMASK) == ZENHIRAASSYUKU)
|
||||||
makekan_1byte(u_char *s, u_char *d, int flg)
|
*d++ = 0x10 | (*s & KNJASSYUKUMASK);
|
||||||
{
|
|
||||||
if ((*s & KANJIMODEMASK) == ZENHIRAASSYUKU)
|
|
||||||
*d++ = 0x10 | (*s & KNJASSYUKUMASK);
|
|
||||||
else
|
else
|
||||||
*d++ = 0x90 | (*s & KNJASSYUKUMASK);
|
*d++ = 0x90 | (*s & KNJASSYUKUMASK);
|
||||||
|
|
||||||
if (flg) *d++ = KANJISTREND;
|
if(flg) *d++ = KANJISTREND;
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u_char*
|
||||||
|
makekan_knj(u_char* s, u_char* d, int flg) {
|
||||||
u_char *
|
|
||||||
makekan_knj(u_char *s, u_char *d, int flg)
|
|
||||||
{
|
|
||||||
return makekan(askknj[*s & KNJASSYUKUMASK], d, flg);
|
return makekan(askknj[*s & KNJASSYUKUMASK], d, flg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u_char* makekan_ofs(u_char* s, u_char* d, int flg) {
|
||||||
|
return makekan(dicbuf + ((*s & KANJICODEMASK) << 8) + *(s + 1),
|
||||||
u_char *makekan_ofs(u_char *s, u_char *d, int flg)
|
d, flg);
|
||||||
{
|
|
||||||
return makekan(dicbuf + ((*s & KANJICODEMASK) << 8) + *(s + 1),
|
|
||||||
d, flg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u_char*
|
||||||
|
makekan_norm(u_char* s, u_char* d, int flg) {
|
||||||
u_char *
|
|
||||||
makekan_norm(u_char *s, u_char *d, int flg)
|
|
||||||
{
|
|
||||||
u_char c;
|
u_char c;
|
||||||
|
|
||||||
if (*s != 0) {
|
if(*s != 0) {
|
||||||
c = s[1];
|
c = s[1];
|
||||||
if (c & 0x80)
|
if(c & 0x80)
|
||||||
*d++ = SS3;
|
*d++ = SS3;
|
||||||
*d++ = *s | 0x80;
|
*d++ = *s | 0x80;
|
||||||
*d++ = c | 0x80;
|
*d++ = c | 0x80;
|
||||||
} else {
|
} else {
|
||||||
*d++ = *s;
|
*d++ = *s;
|
||||||
}
|
}
|
||||||
if (flg) *d++ = KANJISTREND;
|
if(flg) *d++ = KANJISTREND;
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u_char*
|
||||||
|
makekan_ascii(u_char* s, u_char* d, int flg) {
|
||||||
u_char *
|
|
||||||
makekan_ascii(u_char *s, u_char *d, int flg)
|
|
||||||
{
|
|
||||||
u_char c;
|
u_char c;
|
||||||
|
|
||||||
c = s[1];
|
c = s[1];
|
||||||
if (c & 0x80)
|
if(c & 0x80)
|
||||||
*d++ = SS2;
|
*d++ = SS2;
|
||||||
*d++ = c;
|
*d++ = c;
|
||||||
|
|
||||||
if (flg) *d++ = KANJISTREND;
|
if(flg) *d++ = KANJISTREND;
|
||||||
|
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static u_char*
|
||||||
|
makekan(u_char* s, u_char* d, int flg) {
|
||||||
static u_char *
|
|
||||||
makekan(u_char *s, u_char *d, int flg)
|
|
||||||
{
|
|
||||||
int csize;
|
int csize;
|
||||||
|
|
||||||
for ( ; ; ) {
|
for(;;) {
|
||||||
csize = codesize(*s);
|
csize = codesize(*s);
|
||||||
if (s[csize] == KANJISTREND) {
|
if(s[csize] == KANJISTREND) {
|
||||||
switch(*s & KANJIMODEMASK) {
|
switch(*s & KANJIMODEMASK) {
|
||||||
case ZENHIRAASSYUKU:
|
case ZENHIRAASSYUKU:
|
||||||
d = makekan_1byte(s, d, flg); break;
|
d = makekan_1byte(s, d, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
case ZENKATAASSYUKU:
|
case ZENKATAASSYUKU:
|
||||||
d = makekan_1byte(s, d, flg); break;
|
d = makekan_1byte(s, d, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
d = makekan_ofs(s, d, flg); break;
|
d = makekan_ofs(s, d, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
d = makekan_none(s, d, flg); break;
|
d = makekan_none(s, d, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
d = makekan_ascii(s, d, flg); break;
|
d = makekan_ascii(s, d, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJIASSYUKU:
|
case KANJIASSYUKU:
|
||||||
d = makekan_knj(s, d, flg); break;
|
d = makekan_knj(s, d, flg);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
d = makekan_norm(s, d, flg);
|
d = makekan_norm(s, d, flg);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
switch(*s & KANJIMODEMASK) {
|
switch(*s & KANJIMODEMASK) {
|
||||||
case ZENHIRAASSYUKU:
|
case ZENHIRAASSYUKU:
|
||||||
d = makekan_1byte(s, d, FALSE); break;
|
d = makekan_1byte(s, d, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
case ZENKATAASSYUKU:
|
case ZENKATAASSYUKU:
|
||||||
d = makekan_1byte(s, d, FALSE); break;
|
d = makekan_1byte(s, d, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
d = makekan_ofs(s, d, FALSE); break;
|
d = makekan_ofs(s, d, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
d = makekan_none(s, d, FALSE); break;
|
d = makekan_none(s, d, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
d = makekan_ascii(s, d, FALSE); break;
|
d = makekan_ascii(s, d, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJIASSYUKU:
|
case KANJIASSYUKU:
|
||||||
d = makekan_knj(s, d, FALSE); break;
|
d = makekan_knj(s, d, FALSE);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
d = makekan_norm(s, d, FALSE);
|
d = makekan_norm(s, d, FALSE);
|
||||||
}
|
}
|
||||||
s += codesize(*s);
|
s += codesize(*s);
|
||||||
|
|
@ -265,138 +243,124 @@ makekan(u_char *s, u_char *d, int flg)
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define PEND 2
|
||||||
|
#define QEND 1
|
||||||
#define PEND 2
|
|
||||||
#define QEND 1
|
|
||||||
static int
|
static int
|
||||||
sameknj(u_char *p, u_char plen, u_char *q, u_char qlen)
|
sameknj(u_char* p, u_char plen, u_char* q, u_char qlen) {
|
||||||
{
|
int i;
|
||||||
int i;
|
int j;
|
||||||
int j;
|
int endf = 0;
|
||||||
int endf = 0;
|
int brkf;
|
||||||
int brkf;
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if ((i = euc_codesize(*p)) != euc_codesize(*q)) return FALSE;
|
if((i = euc_codesize(*p)) != euc_codesize(*q)) return FALSE;
|
||||||
|
|
||||||
brkf = 0;
|
brkf = 0;
|
||||||
for (j = 0; j < i; j++) {
|
for(j = 0; j < i; j++) {
|
||||||
if (p[j] != q[j] ) {
|
if(p[j] != q[j]) {
|
||||||
brkf = 1;
|
brkf = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (brkf) break;
|
if(brkf) break;
|
||||||
|
|
||||||
if (p[i] == KANJISTREND) endf += PEND;
|
if(p[i] == KANJISTREND) endf += PEND;
|
||||||
if (q[i] == KANJISTREND) endf += QEND;
|
if(q[i] == KANJISTREND) endf += QEND;
|
||||||
|
|
||||||
p += i;
|
p += i;
|
||||||
q += i;
|
q += i;
|
||||||
} while (!endf);
|
} while(!endf);
|
||||||
|
|
||||||
switch (endf) {
|
switch(endf) {
|
||||||
case (PEND | QEND):
|
case(PEND | QEND):
|
||||||
if (plen == qlen) return TRUE;
|
if(plen == qlen) return TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PEND:
|
case PEND:
|
||||||
i = plen;
|
i = plen;
|
||||||
plen = qlen;
|
plen = qlen;
|
||||||
qlen = i;
|
qlen = i;
|
||||||
p = q;
|
p = q;
|
||||||
|
|
||||||
case QEND:
|
case QEND:
|
||||||
if (p[euc_codesize(*p)] != KANJISTREND) break;
|
if(p[euc_codesize(*p)] != KANJISTREND) break;
|
||||||
if ((*p & KANJIMODEMASK) != 0x10 ) break;
|
if((*p & KANJIMODEMASK) != 0x10) break;
|
||||||
if (qlen != plen - (*p & KANJICODEMASK) - 1) break;
|
if(qlen != plen - (*p & KANJICODEMASK) - 1) break;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (q[euc_codesize(*q)] != KANJISTREND) break;
|
if(q[euc_codesize(*q)] != KANJISTREND) break;
|
||||||
if (p[euc_codesize(*p)] != KANJISTREND) break;
|
if(p[euc_codesize(*p)] != KANJISTREND) break;
|
||||||
if ((*q & KANJIMODEMASK) != 0x10 ) break;
|
if((*q & KANJIMODEMASK) != 0x10) break;
|
||||||
if ((*p & KANJIMODEMASK) != 0x10 ) break;
|
if((*p & KANJIMODEMASK) != 0x10) break;
|
||||||
if (plen - (*p & KANJICODEMASK) != qlen - (*q & KANJICODEMASK))
|
if(plen - (*p & KANJICODEMASK) != qlen - (*q & KANJICODEMASK))
|
||||||
break;
|
break;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
#undef PEND
|
#undef PEND
|
||||||
#undef QEND
|
#undef QEND
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
diffknj(JREC *jrec, u_char *ptr, int num)
|
diffknj(JREC* jrec, u_char* ptr, int num) {
|
||||||
{
|
KHREC* kptr;
|
||||||
KHREC *kptr;
|
JREC* jptr;
|
||||||
JREC *jptr;
|
int i;
|
||||||
int i;
|
u_char kbuf1[MAXWDKANJILEN];
|
||||||
u_char kbuf1[MAXWDKANJILEN];
|
u_char kbuf2[MAXWDKANJILEN];
|
||||||
u_char kbuf2[MAXWDKANJILEN];
|
|
||||||
|
|
||||||
if (jrec -> hinsi == TANKANJI) return TRUE;
|
if(jrec->hinsi == TANKANJI) return TRUE;
|
||||||
|
|
||||||
makekan(ptr, kbuf1, TRUE);
|
makekan(ptr, kbuf1, TRUE);
|
||||||
|
|
||||||
for (i = 0, kptr = kouhotbl ; i < num ; i++, kptr++) {
|
for(i = 0, kptr = kouhotbl; i < num; i++, kptr++) {
|
||||||
if ((jptr = kptr -> clrec -> jnode) == jrec)
|
if((jptr = kptr->clrec->jnode) == jrec)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (jptr -> hinsi == TANKANJI) continue;
|
if(jptr->hinsi == TANKANJI) continue;
|
||||||
|
|
||||||
if (jptr -> class != jrec -> class) continue;
|
if(jptr->class != jrec->class) continue;
|
||||||
|
|
||||||
if (jptr -> dicid != jrec -> dicid) continue;
|
if(jptr->dicid != jrec->dicid) continue;
|
||||||
|
|
||||||
if (jptr -> jseg != jrec -> jseg) continue;
|
if(jptr->jseg != jrec->jseg) continue;
|
||||||
|
|
||||||
if (jptr -> sttofs != jrec -> sttofs) continue;
|
if(jptr->sttofs != jrec->sttofs) continue;
|
||||||
|
|
||||||
if (jptr -> stbofs != jrec -> stbofs) continue;
|
if(jptr->stbofs != jrec->stbofs) continue;
|
||||||
|
|
||||||
makekan(dicbuf + kptr -> offs, kbuf2, TRUE);
|
makekan(dicbuf + kptr->offs, kbuf2, TRUE);
|
||||||
|
|
||||||
if (sameknj(kbuf1, jrec -> jlen, kbuf2, jptr -> jlen))
|
if(sameknj(kbuf1, jrec->jlen, kbuf2, jptr->jlen))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
chrck_numtbl(u_short flg, u_short cond)
|
chrck_numtbl(u_short flg, u_short cond) {
|
||||||
{
|
u_short must;
|
||||||
u_short must;
|
|
||||||
|
|
||||||
if (cond = SelNumCond(cond)) {
|
if(cond = SelNumCond(cond)) {
|
||||||
if (must = (cond & SELNUMMUST)) {
|
if(must = (cond & SELNUMMUST)) {
|
||||||
if ((flg & must) != must) return FALSE;
|
if((flg & must) != must) return FALSE;
|
||||||
cond &= ~must;
|
cond &= ~must;
|
||||||
}
|
}
|
||||||
if (cond && !(cond & flg)) return FALSE;
|
if(cond && !(cond & flg)) return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int sel_sjmode(JREC* jrec) {
|
||||||
|
u_short i;
|
||||||
|
u_short* p;
|
||||||
|
u_short* q;
|
||||||
|
|
||||||
|
switch(jrec->class) {
|
||||||
int
|
|
||||||
sel_sjmode(JREC *jrec)
|
|
||||||
{
|
|
||||||
u_short i;
|
|
||||||
u_short *p;
|
|
||||||
u_short *q;
|
|
||||||
|
|
||||||
switch (jrec -> class) {
|
|
||||||
case C_N_ARABIA:
|
case C_N_ARABIA:
|
||||||
case C_N_ARACMA:
|
case C_N_ARACMA:
|
||||||
case C_N_KAZU:
|
case C_N_KAZU:
|
||||||
|
|
@ -414,52 +378,47 @@ sel_sjmode(JREC *jrec)
|
||||||
return SELARB;
|
return SELARB;
|
||||||
}
|
}
|
||||||
|
|
||||||
while ((i = *p++) != SELNUMTERM) {
|
while((i = *p++) != SELNUMTERM) {
|
||||||
if (chrck_numtbl(jrec -> flags, i)) break;
|
if(chrck_numtbl(jrec->flags, i)) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i == SELNUMTERM) i = *q;
|
if(i == SELNUMTERM) i = *q;
|
||||||
|
|
||||||
return SelNumFunc(i);
|
return SelNumFunc(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
cl_numcmn(JREC *jrec, CLREC *clrec)
|
cl_numcmn(JREC* jrec, CLREC* clrec) {
|
||||||
{
|
u_char* p;
|
||||||
u_char *p;
|
int i;
|
||||||
int i;
|
u_short j;
|
||||||
u_short j;
|
u_short* tbl;
|
||||||
u_short *tbl;
|
|
||||||
|
|
||||||
p = cnvstart;
|
p = cnvstart;
|
||||||
if ((i = jrec -> sttofs) == SETTOU_DAI)
|
if((i = jrec->sttofs) == SETTOU_DAI)
|
||||||
p += SttYomiLen(Settou_ptr(i));
|
p += SttYomiLen(Settou_ptr(i));
|
||||||
else if (i == SETTOU_KIGOU)
|
else if(i == SETTOU_KIGOU)
|
||||||
p++;
|
p++;
|
||||||
|
|
||||||
if (jrec -> jofsst) {
|
if(jrec->jofsst) {
|
||||||
i = sel_sjmode(jrec);
|
i = sel_sjmode(jrec);
|
||||||
|
|
||||||
if (seldict(jrec -> dicid)) {
|
if(seldict(jrec->dicid)) {
|
||||||
(*curdict->getdic)(curdict, jrec -> jseg);
|
(*curdict->getdic)(curdict, jrec->jseg);
|
||||||
|
|
||||||
p = dicbuf + jrec->jofsst + 1;
|
p = dicbuf + jrec->jofsst + 1;
|
||||||
|
|
||||||
while (*p != HINSIBLKTERM) {
|
while(*p != HINSIBLKTERM) {
|
||||||
setkouho(clrec, (TypeDicOfs)(p - dicbuf), i);
|
setkouho(clrec, (TypeDicOfs)(p - dicbuf), i);
|
||||||
p = skipkstr(p);
|
p = skipkstr(p);
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
setkouho(clrec, (TypeDicOfs)1, i);
|
setkouho(clrec, (TypeDicOfs)1, i);
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
tbl = Selsjadrs(jrec->class - C_N_ARABIA);
|
tbl = Selsjadrs(jrec->class - C_N_ARABIA);
|
||||||
while ((j = *tbl++) != SELNUMTERM) {
|
while((j = *tbl++) != SELNUMTERM) {
|
||||||
if (!chrck_numtbl(jrec -> flags, j)) continue;
|
if(!chrck_numtbl(jrec->flags, j)) continue;
|
||||||
|
|
||||||
setkouho(clrec, (TypeDicOfs)0, (int)SelNumFunc(j));
|
setkouho(clrec, (TypeDicOfs)0, (int)SelNumFunc(j));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,10 +33,6 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:05 $
|
* $SonyDate: 1994/06/03 08:02:05 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_yomi.h"
|
#include "sj_yomi.h"
|
||||||
#include "sj_suuji.h"
|
#include "sj_suuji.h"
|
||||||
|
|
@ -44,32 +40,31 @@
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static int
|
static int
|
||||||
word2char(u_short wd, u_char *tbl, int keta, int flg)
|
word2char(u_short wd, u_char* tbl, int keta, int flg) {
|
||||||
{
|
|
||||||
int mask;
|
int mask;
|
||||||
int num;
|
int num;
|
||||||
u_char *src;
|
u_char* src;
|
||||||
|
|
||||||
for (mask = 0x1000 ; mask ; mask >>= 4) {
|
for(mask = 0x1000; mask; mask >>= 4) {
|
||||||
switch (num = (unsigned int)wd / mask) {
|
switch(num = (unsigned int)wd / mask) {
|
||||||
case 0:
|
case 0:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case _NUM0:
|
case _NUM0:
|
||||||
if (!flg) break;
|
if(!flg) break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
src = tbl + (num - _NUM0) * 2;
|
src = tbl + (num - _NUM0) * 2;
|
||||||
*kanjitmp++ = *src++;
|
*kanjitmp++ = *src++;
|
||||||
*kanjitmp++ = *src;
|
*kanjitmp++ = *src;
|
||||||
flg = TRUE;
|
flg = TRUE;
|
||||||
|
|
||||||
if (keta && !(keta % 3)) {
|
if(keta && !(keta % 3)) {
|
||||||
*kanjitmp++ = COMMAHIGH;
|
*kanjitmp++ = COMMAHIGH;
|
||||||
*kanjitmp++ = COMMALOW;
|
*kanjitmp++ = COMMALOW;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (keta) keta--;
|
if(keta) keta--;
|
||||||
wd &= (mask - 1);
|
wd &= (mask - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -77,300 +72,250 @@ word2char(u_short wd, u_char *tbl, int keta, int flg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
words2num(u_short *wd, u_char *tbl, int flgc)
|
words2num(u_short* wd, u_char* tbl, int flgc) {
|
||||||
{
|
|
||||||
int i;
|
int i;
|
||||||
int keta;
|
int keta;
|
||||||
int flg;
|
int flg;
|
||||||
u_char *kp = kanjitmp;
|
u_char* kp = kanjitmp;
|
||||||
|
|
||||||
if (flgc) {
|
if(flgc) {
|
||||||
keta = NUMKETALENGTH - 1;
|
keta = NUMKETALENGTH - 1;
|
||||||
flg = FALSE;
|
flg = FALSE;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
keta = 0;
|
keta = 0;
|
||||||
flg = TRUE;
|
flg = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = NUMWORDBUF ; i-- > 0 ; ) {
|
for(i = NUMWORDBUF; i-- > 0;) {
|
||||||
flg = word2char(*(wd + i), tbl, keta, flg);
|
flg = word2char(*(wd + i), tbl, keta, flg);
|
||||||
if (keta) keta -= 4;
|
if(keta) keta -= 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (kp == kanjitmp) {
|
if(kp == kanjitmp) {
|
||||||
*kanjitmp++ = *tbl++;
|
*kanjitmp++ = *tbl++;
|
||||||
*kanjitmp++ = *tbl;
|
*kanjitmp++ = *tbl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void num_type00(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
num_type00(u_char *s1, u_char *s2, JREC *jrec)
|
u_short num[NUMWORDBUF];
|
||||||
{
|
|
||||||
u_short num[NUMWORDBUF];
|
|
||||||
|
|
||||||
setwdnum(s1, (int)jrec -> numlen, num);
|
setwdnum(s1, (int)jrec->numlen, num);
|
||||||
|
|
||||||
words2num(num, Num1tbl, FALSE);
|
words2num(num, Num1tbl, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void num_type01(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
num_type01(u_char *s1, u_char *s2, JREC *jrec)
|
u_short num[NUMWORDBUF];
|
||||||
{
|
|
||||||
u_short num[NUMWORDBUF];
|
|
||||||
|
|
||||||
setwdnum(s1, (int)jrec -> numlen, num);
|
setwdnum(s1, (int)jrec->numlen, num);
|
||||||
|
|
||||||
words2num(num, Num1tbl, FALSE);
|
words2num(num, Num1tbl, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void num_type02(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
num_type02(u_char *s1, u_char *s2, JREC *jrec)
|
u_short num[NUMWORDBUF];
|
||||||
{
|
|
||||||
u_short num[NUMWORDBUF];
|
|
||||||
|
|
||||||
setwdnum(s1, (int)jrec -> numlen, num);
|
setwdnum(s1, (int)jrec->numlen, num);
|
||||||
|
|
||||||
words2num(num, Num1tbl, TRUE);
|
words2num(num, Num1tbl, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void num_type03(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
num_type03(u_char *s1, u_char *s2, JREC *jrec)
|
u_short num[NUMWORDBUF];
|
||||||
{
|
|
||||||
u_short num[NUMWORDBUF];
|
|
||||||
|
|
||||||
setwdnum(s1, (int)jrec -> numlen, num);
|
setwdnum(s1, (int)jrec->numlen, num);
|
||||||
|
|
||||||
words2num(num, Num2tbl, FALSE);
|
words2num(num, Num2tbl, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void num_type04(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
num_type04(u_char *s1, u_char *s2, JREC *jrec)
|
u_short num[NUMWORDBUF];
|
||||||
{
|
|
||||||
u_short num[NUMWORDBUF];
|
|
||||||
|
|
||||||
setwdnum(s1, (int)jrec -> numlen, num);
|
setwdnum(s1, (int)jrec->numlen, num);
|
||||||
|
|
||||||
words2num(num, Num2tbl, FALSE);
|
words2num(num, Num2tbl, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void num_type05(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
num_type05(u_char *s1, u_char *s2, JREC *jrec)
|
u_short num[NUMWORDBUF];
|
||||||
{
|
|
||||||
u_short num[NUMWORDBUF];
|
|
||||||
|
|
||||||
setwdnum(s1, (int)jrec -> numlen, num);
|
setwdnum(s1, (int)jrec->numlen, num);
|
||||||
|
|
||||||
words2num(num, Num2tbl, TRUE);
|
words2num(num, Num2tbl, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void num_type06(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
num_type06(u_char *s1, u_char *s2, JREC *jrec)
|
u_short num[NUMWORDBUF];
|
||||||
{
|
|
||||||
u_short num[NUMWORDBUF];
|
|
||||||
|
|
||||||
setwdnum(s1, (int)jrec -> numlen, num);
|
setwdnum(s1, (int)jrec->numlen, num);
|
||||||
|
|
||||||
words2num(num, Num3tbl, FALSE);
|
words2num(num, Num3tbl, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void num_type07(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
num_type07(u_char *s1, u_char *s2, JREC *jrec)
|
u_short num[NUMWORDBUF];
|
||||||
{
|
|
||||||
u_short num[NUMWORDBUF];
|
|
||||||
|
|
||||||
setwdnum(s1, (int)jrec -> numlen, num);
|
setwdnum(s1, (int)jrec->numlen, num);
|
||||||
|
|
||||||
words2num(num, Num3tbl, FALSE);
|
words2num(num, Num3tbl, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
kan_num(u_short *wd, u_char *tbl1, u_char *tbl2)
|
kan_num(u_short* wd, u_char* tbl1, u_char* tbl2) {
|
||||||
{
|
|
||||||
int ii;
|
int ii;
|
||||||
u_short tmp;
|
u_short tmp;
|
||||||
int mask;
|
int mask;
|
||||||
int num;
|
int num;
|
||||||
int flg;
|
int flg;
|
||||||
u_char *kurai1;
|
u_char* kurai1;
|
||||||
u_char *kurai2;
|
u_char* kurai2;
|
||||||
u_char *src;
|
u_char* src;
|
||||||
u_char *keep = kanjitmp;
|
u_char* keep = kanjitmp;
|
||||||
|
|
||||||
kurai2 = Num6tbl - 2;
|
kurai2 = Num6tbl - 2;
|
||||||
mask = 0;
|
mask = 0;
|
||||||
wd += NUMWORDBUF - 1;
|
wd += NUMWORDBUF - 1;
|
||||||
flg = FALSE;
|
flg = FALSE;
|
||||||
|
|
||||||
for (ii = NUMKETALENGTH ; ii-- > 0 ; ) {
|
for(ii = NUMKETALENGTH; ii-- > 0;) {
|
||||||
if (!mask) {
|
if(!mask) {
|
||||||
if (flg) {
|
if(flg) {
|
||||||
*kanjitmp++ = *kurai2++;
|
*kanjitmp++ = *kurai2++;
|
||||||
*kanjitmp++ = *kurai2++;
|
*kanjitmp++ = *kurai2++;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
kurai2 += 2;
|
kurai2 += 2;
|
||||||
|
|
||||||
mask = 0x1000;
|
mask = 0x1000;
|
||||||
tmp = *wd--;
|
tmp = *wd--;
|
||||||
flg = FALSE;
|
flg = FALSE;
|
||||||
kurai1 = tbl2;
|
kurai1 = tbl2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((num = (unsigned int)tmp / mask) > _NUM0) {
|
if((num = (unsigned int)tmp / mask) > _NUM0) {
|
||||||
if ((num != _NUM1) || !*kurai1) {
|
if((num != _NUM1) || !*kurai1) {
|
||||||
src = tbl1 + (num - _NUM0) * 2;
|
src = tbl1 + (num - _NUM0) * 2;
|
||||||
*kanjitmp++ = *src++;
|
*kanjitmp++ = *src++;
|
||||||
*kanjitmp++ = *src;
|
*kanjitmp++ = *src;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*kurai1) {
|
if(*kurai1) {
|
||||||
*kanjitmp++ = *kurai1++;
|
*kanjitmp++ = *kurai1++;
|
||||||
*kanjitmp++ = *kurai1++;
|
*kanjitmp++ = *kurai1++;
|
||||||
}
|
}
|
||||||
flg = TRUE;
|
flg = TRUE;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
kurai1 += 2;
|
kurai1 += 2;
|
||||||
|
|
||||||
tmp &= (mask - 1);
|
tmp &= (mask - 1);
|
||||||
mask >>= 4;
|
mask >>= 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (kanjitmp == keep) {
|
if(kanjitmp == keep) {
|
||||||
*kanjitmp++ = *tbl1++;
|
*kanjitmp++ = *tbl1++;
|
||||||
*kanjitmp++ = *tbl1;
|
*kanjitmp++ = *tbl1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void num_type08(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
num_type08(u_char *s1, u_char *s2, JREC *jrec)
|
u_short num[NUMWORDBUF];
|
||||||
{
|
|
||||||
u_short num[NUMWORDBUF];
|
|
||||||
|
|
||||||
setwdnum(s1, (int)jrec -> numlen, num);
|
setwdnum(s1, (int)jrec->numlen, num);
|
||||||
|
|
||||||
kan_num(num, Num2tbl, Num4tbl);
|
kan_num(num, Num2tbl, Num4tbl);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void num_type09(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
num_type09(u_char *s1, u_char *s2, JREC *jrec)
|
u_short num[NUMWORDBUF];
|
||||||
{
|
|
||||||
u_short num[NUMWORDBUF];
|
|
||||||
|
|
||||||
setwdnum(s1, (int)jrec -> numlen, num);
|
setwdnum(s1, (int)jrec->numlen, num);
|
||||||
|
|
||||||
kan_num(num, Num3tbl, Num5tbl);
|
kan_num(num, Num3tbl, Num5tbl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void num_type10(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for(i = jrec->numlen; i > 0; i--) {
|
||||||
void
|
if(Chrtbl[*s1++] & NUMBER) {
|
||||||
num_type10(u_char *s1, u_char *s2, JREC *jrec)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = jrec -> numlen ; i > 0 ; i--) {
|
|
||||||
if (Chrtbl[*s1++] & NUMBER) {
|
|
||||||
*kanjitmp++ = *s2++;
|
*kanjitmp++ = *s2++;
|
||||||
*kanjitmp++ = *s2++;
|
*kanjitmp++ = *s2++;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
s2 += euc_codesize(*s2);
|
s2 += euc_codesize(*s2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void num_type11(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
|
int i;
|
||||||
|
int j;
|
||||||
|
|
||||||
|
i = j = jrec->numlen;
|
||||||
|
if(!(Chrtbl[*(s1 + j - 4)] & NUMBER)) j -= (j - 1) / 4;
|
||||||
|
|
||||||
void
|
for(; i > 0; i--) {
|
||||||
num_type11(u_char *s1, u_char *s2, JREC *jrec)
|
if(Chrtbl[*s1++] & NUMBER) {
|
||||||
{
|
|
||||||
int i;
|
|
||||||
int j;
|
|
||||||
|
|
||||||
i = j = jrec -> numlen;
|
|
||||||
if (!(Chrtbl[*(s1 + j - 4)] & NUMBER)) j -= (j - 1) / 4;
|
|
||||||
|
|
||||||
for ( ; i > 0 ; i--) {
|
|
||||||
if (Chrtbl[*s1++] & NUMBER) {
|
|
||||||
*kanjitmp++ = *s2++;
|
*kanjitmp++ = *s2++;
|
||||||
*kanjitmp++ = *s2++;
|
*kanjitmp++ = *s2++;
|
||||||
if (--j > 0) {
|
if(--j > 0) {
|
||||||
if ((j % 3) == 0) {
|
if((j % 3) == 0) {
|
||||||
*kanjitmp++ = COMMAHIGH;
|
*kanjitmp++ = COMMAHIGH;
|
||||||
*kanjitmp++ = COMMALOW;
|
*kanjitmp++ = COMMALOW;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
s2 += euc_codesize(*s2);
|
s2 += euc_codesize(*s2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void num_type12(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
|
int i;
|
||||||
|
int j;
|
||||||
|
|
||||||
|
for(i = jrec->numlen; i > 0; i--) {
|
||||||
void
|
if(Chrtbl[j = *s1++] & NUMBER) {
|
||||||
num_type12(u_char *s1, u_char *s2, JREC *jrec)
|
j = (j - N_0) * 2;
|
||||||
{
|
|
||||||
int i;
|
|
||||||
int j;
|
|
||||||
|
|
||||||
for (i = jrec -> numlen ; i > 0 ; i--) {
|
|
||||||
if (Chrtbl[j = *s1++] & NUMBER) {
|
|
||||||
j = (j - N_0) * 2;
|
|
||||||
*kanjitmp++ = Num2tbl[j];
|
*kanjitmp++ = Num2tbl[j];
|
||||||
*kanjitmp++ = Num2tbl[j + 1];
|
*kanjitmp++ = Num2tbl[j + 1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
num_kurai(u_char *p, int len, u_char *tbl)
|
num_kurai(u_char* p, int len, u_char* tbl) {
|
||||||
{
|
int i;
|
||||||
int i;
|
int j;
|
||||||
int j;
|
u_char tmp;
|
||||||
u_char tmp;
|
|
||||||
|
|
||||||
for (i = 0 ; i < len ; i++) {
|
for(i = 0; i < len; i++) {
|
||||||
tmp = *p++;
|
tmp = *p++;
|
||||||
|
|
||||||
*kanjitmp++ = tbl[j = ((tmp & 0x0f) - _NUM0) * 2];
|
*kanjitmp++ = tbl[j = ((tmp & 0x0f) - _NUM0) * 2];
|
||||||
*kanjitmp++ = tbl[j + 1];
|
*kanjitmp++ = tbl[j + 1];
|
||||||
if (j = ((tmp >> 4) & 3)) {
|
if(j = ((tmp >> 4) & 3)) {
|
||||||
*kanjitmp++ = Num4tbl[j = (3 - j) * 2];
|
*kanjitmp++ = Num4tbl[j = (3 - j) * 2];
|
||||||
*kanjitmp++ = Num4tbl[j + 1];
|
*kanjitmp++ = Num4tbl[j + 1];
|
||||||
}
|
}
|
||||||
if (j = ((tmp >> 6) & 3)) {
|
if(j = ((tmp >> 6) & 3)) {
|
||||||
*kanjitmp++ = Num6tbl[j = (3 - j) * 2];
|
*kanjitmp++ = Num6tbl[j = (3 - j) * 2];
|
||||||
*kanjitmp++ = Num6tbl[j + 1];
|
*kanjitmp++ = Num6tbl[j + 1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void num_type13(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
|
u_char num[NUMKETALENGTH];
|
||||||
|
int len;
|
||||||
|
|
||||||
|
len = setucnum(s1, (int)jrec->numlen, num);
|
||||||
void
|
|
||||||
num_type13(u_char *s1, u_char *s2, JREC *jrec)
|
|
||||||
{
|
|
||||||
u_char num[NUMKETALENGTH];
|
|
||||||
int len;
|
|
||||||
|
|
||||||
len = setucnum(s1, (int)jrec -> numlen, num);
|
|
||||||
|
|
||||||
num_kurai(num, len, Num1tbl);
|
num_kurai(num, len, Num1tbl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void num_type14(u_char* s1, u_char* s2, JREC* jrec) {
|
||||||
|
u_char num[NUMKETALENGTH];
|
||||||
|
int len;
|
||||||
|
|
||||||
|
len = setucnum(s1, (int)jrec->numlen, num);
|
||||||
void
|
|
||||||
num_type14(u_char *s1, u_char *s2, JREC *jrec)
|
|
||||||
{
|
|
||||||
u_char num[NUMKETALENGTH];
|
|
||||||
int len;
|
|
||||||
|
|
||||||
len = setucnum(s1, (int)jrec -> numlen, num);
|
|
||||||
|
|
||||||
num_kurai(num, len, Num2tbl);
|
num_kurai(num, len, Num2tbl);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,16 +33,11 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:05 $
|
* $SonyDate: 1994/06/03 08:02:05 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
void
|
void mvmemd(u_char* src, u_char* dest, int len) {
|
||||||
mvmemd(u_char *src, u_char *dest, int len)
|
while(len-- > 0) *(--dest) = *(--src);
|
||||||
{
|
|
||||||
while (len-- > 0) *(--dest) = *(--src);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,16 +33,11 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:06 $
|
* $SonyDate: 1994/06/03 08:02:06 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
void
|
void mvmemi(u_char* src, u_char* dest, int len) {
|
||||||
mvmemi(u_char *src, u_char *dest, int len)
|
while(len-- > 0) *dest++ = *src++;
|
||||||
{
|
|
||||||
while (len-- > 0) *dest++ = *src++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,24 +33,19 @@
|
||||||
* $SonyDate: 1995/07/21 05:22:51 $
|
* $SonyDate: 1995/07/21 05:22:51 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_yomi.h"
|
#include "sj_yomi.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static int prev_kanji(), prev_hinsi(), prev_douon();
|
static int prev_kanji(), prev_hinsi(), prev_douon();
|
||||||
static int next_kanji(), next_hinsi(), next_douon();
|
static int next_kanji(), next_hinsi(), next_douon();
|
||||||
static void set_kanji(), set_buf(), add_yomi();
|
static void set_kanji(), set_buf(), add_yomi();
|
||||||
static void set_idxyomi();
|
static void set_idxyomi();
|
||||||
|
|
||||||
static void cd2sjh_chr(u_char ch, u_char *dst);
|
static void cd2sjh_chr(u_char ch, u_char* dst);
|
||||||
|
|
||||||
int
|
int getusr(u_char* buf) {
|
||||||
getusr(u_char *buf)
|
|
||||||
{
|
|
||||||
int nlen;
|
int nlen;
|
||||||
|
|
||||||
peepyomi[0] = peepknj[0] = peepgrm = 0;
|
peepyomi[0] = peepknj[0] = peepgrm = 0;
|
||||||
|
|
@ -60,12 +55,12 @@ getusr(u_char *buf)
|
||||||
|
|
||||||
peepdptr = segtop();
|
peepdptr = segtop();
|
||||||
|
|
||||||
if (segend(peepdptr)) return 0;
|
if(segend(peepdptr)) return 0;
|
||||||
|
|
||||||
add_yomi();
|
add_yomi();
|
||||||
|
|
||||||
nlen = getnlen(peepdptr);
|
nlen = getnlen(peepdptr);
|
||||||
peephptr = peepdptr + DOUONBLKSIZENUMBER + nlen;
|
peephptr = peepdptr + DOUONBLKSIZENUMBER + nlen;
|
||||||
|
|
||||||
peepgrm = *peephptr;
|
peepgrm = *peephptr;
|
||||||
|
|
||||||
|
|
@ -78,13 +73,11 @@ getusr(u_char *buf)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int nextusr(u_char* buf) {
|
||||||
nextusr(u_char *buf)
|
|
||||||
{
|
|
||||||
(*curdict->getdic)(curdict, peepidx);
|
(*curdict->getdic)(curdict, peepidx);
|
||||||
get_askknj();
|
get_askknj();
|
||||||
|
|
||||||
if (next_kanji()) {
|
if(next_kanji()) {
|
||||||
set_kanji();
|
set_kanji();
|
||||||
|
|
||||||
set_buf(buf);
|
set_buf(buf);
|
||||||
|
|
@ -95,13 +88,11 @@ nextusr(u_char *buf)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int prevusr(u_char* buf) {
|
||||||
prevusr(u_char *buf)
|
|
||||||
{
|
|
||||||
(*curdict->getdic)(curdict, peepidx);
|
(*curdict->getdic)(curdict, peepidx);
|
||||||
get_askknj();
|
get_askknj();
|
||||||
|
|
||||||
if (prev_kanji()) {
|
if(prev_kanji()) {
|
||||||
set_kanji();
|
set_kanji();
|
||||||
|
|
||||||
set_buf(buf);
|
set_buf(buf);
|
||||||
|
|
@ -113,27 +104,25 @@ prevusr(u_char *buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
set_kanji()
|
set_kanji() {
|
||||||
{
|
int len;
|
||||||
int len;
|
|
||||||
|
|
||||||
len = getkanji(peepyomi, getnlen(peepdptr) + getplen(peepdptr),
|
len = getkanji(peepyomi, getnlen(peepdptr) + getplen(peepdptr),
|
||||||
peepkptr, peepknj);
|
peepkptr, peepknj);
|
||||||
*(peepknj + len) = 0;
|
*(peepknj + len) = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
set_buf(u_char *buf)
|
set_buf(u_char* buf) {
|
||||||
{
|
u_char* p;
|
||||||
u_char *p;
|
int i, csize;
|
||||||
int i, csize;
|
|
||||||
|
|
||||||
for (p = peepyomi ; *p ; ) *buf++ = *p++;
|
for(p = peepyomi; *p;) *buf++ = *p++;
|
||||||
*buf++ = 0;
|
*buf++ = 0;
|
||||||
|
|
||||||
for (p = peepknj ; *p ; ) {
|
for(p = peepknj; *p;) {
|
||||||
csize = euc_codesize(*p);
|
csize = euc_codesize(*p);
|
||||||
for (i = 0; i < csize; i++ ) *buf++ = *p++;
|
for(i = 0; i < csize; i++) *buf++ = *p++;
|
||||||
}
|
}
|
||||||
*buf++ = 0;
|
*buf++ = 0;
|
||||||
|
|
||||||
|
|
@ -142,45 +131,43 @@ set_buf(u_char *buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
prev_kanji()
|
prev_kanji() {
|
||||||
{
|
u_char* p1;
|
||||||
u_char *p1;
|
u_char* p2;
|
||||||
u_char *p2;
|
|
||||||
|
|
||||||
p1 = peephptr + 1;
|
p1 = peephptr + 1;
|
||||||
if (peepkptr <= p1) return prev_hinsi();
|
if(peepkptr <= p1) return prev_hinsi();
|
||||||
|
|
||||||
p2 = peepkptr;
|
p2 = peepkptr;
|
||||||
while (p1 < p2) {
|
while(p1 < p2) {
|
||||||
peepkptr = p1;
|
peepkptr = p1;
|
||||||
p1 = skipkstr(p1);
|
p1 = skipkstr(p1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
prev_hinsi()
|
prev_hinsi() {
|
||||||
{
|
u_char* p1;
|
||||||
u_char *p1;
|
u_char* p2;
|
||||||
u_char *p2;
|
int nlen;
|
||||||
int nlen;
|
|
||||||
|
|
||||||
nlen = getnlen(peepdptr);
|
nlen = getnlen(peepdptr);
|
||||||
p1 = peepdptr + DOUONBLKSIZENUMBER + nlen;
|
p1 = peepdptr + DOUONBLKSIZENUMBER + nlen;
|
||||||
|
|
||||||
if (peephptr <= p1) return prev_douon();
|
if(peephptr <= p1) return prev_douon();
|
||||||
|
|
||||||
p2 = peephptr;
|
p2 = peephptr;
|
||||||
while (p1 < p2) {
|
while(p1 < p2) {
|
||||||
peephptr = p1;
|
peephptr = p1;
|
||||||
p1 = skiphblk(p1);
|
p1 = skiphblk(p1);
|
||||||
}
|
}
|
||||||
|
|
||||||
peepgrm = *peephptr;
|
peepgrm = *peephptr;
|
||||||
|
|
||||||
p1 = peephptr + 1;
|
p1 = peephptr + 1;
|
||||||
while (*p1 != HINSIBLKTERM) {
|
while(*p1 != HINSIBLKTERM) {
|
||||||
peepkptr = p1;
|
peepkptr = p1;
|
||||||
|
|
||||||
p1 = skipkstr(p1);
|
p1 = skipkstr(p1);
|
||||||
|
|
@ -190,14 +177,13 @@ prev_hinsi()
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
prev_douon()
|
prev_douon() {
|
||||||
{
|
u_char* p1;
|
||||||
u_char *p1;
|
u_char* p2;
|
||||||
u_char *p2;
|
int nlen;
|
||||||
int nlen;
|
|
||||||
|
|
||||||
if (peepdptr <= segtop()) {
|
if(peepdptr <= segtop()) {
|
||||||
if (peepidx <= DICSEGBASE) return 0;
|
if(peepidx <= DICSEGBASE) return 0;
|
||||||
|
|
||||||
(*curdict->getdic)(curdict, --peepidx);
|
(*curdict->getdic)(curdict, --peepidx);
|
||||||
get_askknj();
|
get_askknj();
|
||||||
|
|
@ -211,9 +197,8 @@ prev_douon()
|
||||||
add_yomi();
|
add_yomi();
|
||||||
|
|
||||||
p1 = getntag(p1);
|
p1 = getntag(p1);
|
||||||
} while (!segend(p1));
|
} while(!segend(p1));
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
set_idxyomi();
|
set_idxyomi();
|
||||||
|
|
||||||
p1 = segtop();
|
p1 = segtop();
|
||||||
|
|
@ -224,17 +209,17 @@ prev_douon()
|
||||||
add_yomi();
|
add_yomi();
|
||||||
|
|
||||||
p1 = getntag(p1);
|
p1 = getntag(p1);
|
||||||
} while (p1 < p2);
|
} while(p1 < p2);
|
||||||
}
|
}
|
||||||
|
|
||||||
nlen = getnlen(peepdptr);
|
nlen = getnlen(peepdptr);
|
||||||
p1 = peepdptr + DOUONBLKSIZENUMBER + nlen;
|
p1 = peepdptr + DOUONBLKSIZENUMBER + nlen;
|
||||||
|
|
||||||
p2 = getntag(peepdptr);
|
p2 = getntag(peepdptr);
|
||||||
do {
|
do {
|
||||||
peephptr = p1;
|
peephptr = p1;
|
||||||
p1 = skiphblk(p1);
|
p1 = skiphblk(p1);
|
||||||
} while (p1 < p2);
|
} while(p1 < p2);
|
||||||
|
|
||||||
peepgrm = *peephptr;
|
peepgrm = *peephptr;
|
||||||
|
|
||||||
|
|
@ -243,19 +228,18 @@ prev_douon()
|
||||||
peepkptr = p1;
|
peepkptr = p1;
|
||||||
|
|
||||||
p1 = skipkstr(p1);
|
p1 = skipkstr(p1);
|
||||||
} while (*p1 != HINSIBLKTERM);
|
} while(*p1 != HINSIBLKTERM);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
next_kanji()
|
next_kanji() {
|
||||||
{
|
u_char* p1;
|
||||||
u_char *p1;
|
|
||||||
|
|
||||||
p1 = skipkstr(peepkptr);
|
p1 = skipkstr(peepkptr);
|
||||||
|
|
||||||
if (*p1 == HINSIBLKTERM) return next_hinsi();
|
if(*p1 == HINSIBLKTERM) return next_hinsi();
|
||||||
|
|
||||||
peepkptr = p1;
|
peepkptr = p1;
|
||||||
|
|
||||||
|
|
@ -263,13 +247,12 @@ next_kanji()
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
next_hinsi()
|
next_hinsi() {
|
||||||
{
|
u_char* p1;
|
||||||
u_char *p1;
|
|
||||||
|
|
||||||
p1 = skiphblk(peephptr);
|
p1 = skiphblk(peephptr);
|
||||||
|
|
||||||
if (p1 >= getntag(peepdptr)) return next_douon();
|
if(p1 >= getntag(peepdptr)) return next_douon();
|
||||||
|
|
||||||
peephptr = p1;
|
peephptr = p1;
|
||||||
|
|
||||||
|
|
@ -281,32 +264,29 @@ next_hinsi()
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
next_douon()
|
next_douon() {
|
||||||
{
|
u_char* p1;
|
||||||
u_char *p1;
|
int nlen;
|
||||||
int nlen;
|
|
||||||
|
|
||||||
p1 = getntag(peepdptr);
|
p1 = getntag(peepdptr);
|
||||||
|
|
||||||
if (segend(p1)) {
|
if(segend(p1)) {
|
||||||
if (peepidx + 1 < curdict->segunit) {
|
if(peepidx + 1 < curdict->segunit) {
|
||||||
(*curdict->getdic)(curdict, ++peepidx);
|
(*curdict->getdic)(curdict, ++peepidx);
|
||||||
get_askknj();
|
get_askknj();
|
||||||
peepdptr = segtop();
|
peepdptr = segtop();
|
||||||
|
|
||||||
set_idxyomi();
|
set_idxyomi();
|
||||||
}
|
} else
|
||||||
else
|
return 0;
|
||||||
return 0;
|
} else {
|
||||||
}
|
|
||||||
else {
|
|
||||||
peepdptr = p1;
|
peepdptr = p1;
|
||||||
}
|
}
|
||||||
|
|
||||||
add_yomi();
|
add_yomi();
|
||||||
|
|
||||||
nlen = getnlen(peepdptr);
|
nlen = getnlen(peepdptr);
|
||||||
peephptr = peepdptr + DOUONBLKSIZENUMBER + nlen;
|
peephptr = peepdptr + DOUONBLKSIZENUMBER + nlen;
|
||||||
|
|
||||||
peepgrm = *peephptr;
|
peepgrm = *peephptr;
|
||||||
|
|
||||||
|
|
@ -316,13 +296,12 @@ next_douon()
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
set_idxyomi()
|
set_idxyomi() {
|
||||||
{
|
u_char *p1, *p2;
|
||||||
u_char *p1, *p2;
|
|
||||||
|
|
||||||
if (p2 = get_idxptr(peepidx)) {
|
if(p2 = get_idxptr(peepidx)) {
|
||||||
p1 = peepyomi;
|
p1 = peepyomi;
|
||||||
while (*p2) {
|
while(*p2) {
|
||||||
cd2sjh_chr(*p2++, p1);
|
cd2sjh_chr(*p2++, p1);
|
||||||
p1 += 2;
|
p1 += 2;
|
||||||
}
|
}
|
||||||
|
|
@ -331,10 +310,9 @@ set_idxyomi()
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
add_yomi()
|
add_yomi() {
|
||||||
{
|
|
||||||
int nlen;
|
int nlen;
|
||||||
u_char *p1, *p2;
|
u_char *p1, *p2;
|
||||||
|
|
||||||
nlen = getnlen(peepdptr);
|
nlen = getnlen(peepdptr);
|
||||||
|
|
||||||
|
|
@ -342,7 +320,7 @@ add_yomi()
|
||||||
|
|
||||||
p2 = peepdptr + DOUONBLKSIZENUMBER;
|
p2 = peepdptr + DOUONBLKSIZENUMBER;
|
||||||
|
|
||||||
while (nlen--) {
|
while(nlen--) {
|
||||||
cd2sjh_chr(*p2++, p1);
|
cd2sjh_chr(*p2++, p1);
|
||||||
p1 += 2;
|
p1 += 2;
|
||||||
}
|
}
|
||||||
|
|
@ -351,46 +329,35 @@ add_yomi()
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
cd2sjh_chr(u_char ch, u_char *dst)
|
cd2sjh_chr(u_char ch, u_char* dst) {
|
||||||
{
|
if(ch == _TYOUON) {
|
||||||
if (ch == _TYOUON) {
|
|
||||||
*dst++ = 0xa1;
|
*dst++ = 0xa1;
|
||||||
*dst++ = 0xbc;
|
*dst++ = 0xbc;
|
||||||
}
|
} else if(ch == _IGETA) {
|
||||||
else if (ch == _IGETA) {
|
|
||||||
*dst++ = 0xa1;
|
*dst++ = 0xa1;
|
||||||
*dst++ = 0xf4;
|
*dst++ = 0xf4;
|
||||||
}
|
} else if(ch == _ATTO) {
|
||||||
else if (ch == _ATTO) {
|
|
||||||
*dst++ = 0xa1;
|
*dst++ = 0xa1;
|
||||||
*dst++ = 0xf7;
|
*dst++ = 0xf7;
|
||||||
}
|
} else if(ch == _YUUBIN) {
|
||||||
else if (ch == _YUUBIN) {
|
|
||||||
*dst++ = 0xa2;
|
*dst++ = 0xa2;
|
||||||
*dst++ = 0xa9;
|
*dst++ = 0xa9;
|
||||||
}
|
} else if(ch < N_0) {
|
||||||
else if (ch < N_0) {
|
} else if(ch <= N_9) {
|
||||||
}
|
|
||||||
else if (ch <= N_9) {
|
|
||||||
*dst++ = 0xa3;
|
*dst++ = 0xa3;
|
||||||
*dst++ = ch + 0xa0;
|
*dst++ = ch + 0xa0;
|
||||||
}
|
} else if(ch <= A_Z) {
|
||||||
else if (ch <= A_Z) {
|
|
||||||
*dst++ = 0xa3;
|
*dst++ = 0xa3;
|
||||||
*dst++ = ch + 0xa7;
|
*dst++ = ch + 0xa7;
|
||||||
}
|
} else if(ch <= A_z) {
|
||||||
else if (ch <= A_z) {
|
|
||||||
*dst++ = 0xa3;
|
*dst++ = 0xa3;
|
||||||
*dst++ = ch + 0xad;
|
*dst++ = ch + 0xad;
|
||||||
}
|
} else if(ch <= _NN) {
|
||||||
else if (ch <= _NN) {
|
|
||||||
*dst++ = 0xa4;
|
*dst++ = 0xa4;
|
||||||
*dst++ = ch + 0x53;
|
*dst++ = ch + 0x53;
|
||||||
}
|
} else if(ch <= _XKE) {
|
||||||
else if (ch <= _XKE) {
|
|
||||||
*dst++ = 0xa5;
|
*dst++ = 0xa5;
|
||||||
*dst++ = ch + 0x53;
|
*dst++ = ch + 0x53;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,24 +33,21 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:09 $
|
* $SonyDate: 1994/06/03 08:02:09 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_yomi.h"
|
#include "sj_yomi.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int ph2knj(u_char* zyomi, u_char* kanji, int knjlen) {
|
||||||
ph2knj(u_char *zyomi, u_char *kanji, int knjlen)
|
u_char* ptr;
|
||||||
{
|
u_char* dst;
|
||||||
u_char *ptr;
|
|
||||||
u_char *dst;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (ptr = zyomi, dst = hyomi, i = 0 ; *ptr ; ) {
|
for(ptr = zyomi, dst = hyomi, i = 0; *ptr;) {
|
||||||
if (i++ >= MAXPHINPUTLEN) { *kanji = 0; return 0; }
|
if(i++ >= MAXPHINPUTLEN) {
|
||||||
|
*kanji = 0;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
ptr += sj2cd_chr(ptr, dst++);
|
ptr += sj2cd_chr(ptr, dst++);
|
||||||
}
|
}
|
||||||
*dst = 0;
|
*dst = 0;
|
||||||
|
|
@ -59,23 +56,23 @@ ph2knj(u_char *zyomi, u_char *kanji, int knjlen)
|
||||||
prevclgrm = 0;
|
prevclgrm = 0;
|
||||||
prevclrow = 0;
|
prevclrow = 0;
|
||||||
|
|
||||||
khcount = 0;
|
khcount = 0;
|
||||||
nextcllen = 0;
|
nextcllen = 0;
|
||||||
|
|
||||||
inputyomi = zyomi;
|
inputyomi = zyomi;
|
||||||
cnvstart = ystart = hyomi;
|
cnvstart = ystart = hyomi;
|
||||||
cnvlen = sstrlen(hyomi);
|
cnvlen = sstrlen(hyomi);
|
||||||
|
|
||||||
kanjipos = kanji;
|
kanjipos = kanji;
|
||||||
kanjilen = knjlen;
|
kanjilen = knjlen;
|
||||||
|
|
||||||
while (cnvlen && kanjilen) {
|
while(cnvlen && kanjilen) {
|
||||||
if (!clt1st) {
|
if(!clt1st) {
|
||||||
mkjiritu(DO_CLSTUDY | DO_IKKATU);
|
mkjiritu(DO_CLSTUDY | DO_IKKATU);
|
||||||
|
|
||||||
mkbunsetu();
|
mkbunsetu();
|
||||||
|
|
||||||
if (!maxclptr) wakachi();
|
if(!maxclptr) wakachi();
|
||||||
|
|
||||||
jrt1st = maxjptr;
|
jrt1st = maxjptr;
|
||||||
clt1st = maxclptr;
|
clt1st = maxclptr;
|
||||||
|
|
@ -85,29 +82,27 @@ ph2knj(u_char *zyomi, u_char *kanji, int knjlen)
|
||||||
|
|
||||||
selclrec();
|
selclrec();
|
||||||
|
|
||||||
prevclgrm = selcl -> jnode -> hinsi;
|
prevclgrm = selcl->jnode->hinsi;
|
||||||
prevclrow = selcl -> right;
|
prevclrow = selcl->right;
|
||||||
|
|
||||||
clt1st = free_clst(clt1st, (int)selcl -> cllen);
|
clt1st = free_clst(clt1st, (int)selcl->cllen);
|
||||||
jrt1st = free_jlst(jrt1st);
|
jrt1st = free_jlst(jrt1st);
|
||||||
|
|
||||||
cnvstart += selcl -> cllen;
|
cnvstart += selcl->cllen;
|
||||||
cnvlen -= selcl -> cllen;
|
cnvlen -= selcl->cllen;
|
||||||
|
|
||||||
cvtphknj();
|
cvtphknj();
|
||||||
|
|
||||||
clt1st = clt2nd;
|
clt1st = clt2nd;
|
||||||
jrt1st = jrt2nd;
|
jrt1st = jrt2nd;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!kanjilen) {
|
if(!kanjilen) {
|
||||||
free_clall(clt1st);
|
free_clall(clt1st);
|
||||||
free_jall (jrt1st);
|
free_jall(jrt1st);
|
||||||
}
|
}
|
||||||
|
|
||||||
*kanjipos = 0;
|
*kanjipos = 0;
|
||||||
|
|
||||||
return(inputyomi - zyomi);
|
return (inputyomi - zyomi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,55 +38,52 @@
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ph_setsty(CLREC *clrec)
|
ph_setsty(CLREC* clrec) {
|
||||||
{
|
JREC* jrec;
|
||||||
JREC *jrec;
|
TypeDicOfs offset;
|
||||||
TypeDicOfs offset;
|
u_char* ptr;
|
||||||
u_char *ptr;
|
STDYIN* sptr;
|
||||||
STDYIN *sptr;
|
|
||||||
|
|
||||||
if (!seldict((jrec = clrec -> jnode) -> dicid)) {
|
if(!seldict((jrec = clrec->jnode)->dicid)) {
|
||||||
if (!khcount)
|
if(!khcount)
|
||||||
ph_setkouho(clrec, (TypeDicOfs)1, (STDYIN *)NULL);
|
ph_setkouho(clrec, (TypeDicOfs)1, (STDYIN*)NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
(*curdict->getdic)(curdict, jrec -> jseg);
|
(*curdict->getdic)(curdict, jrec->jseg);
|
||||||
ptr = dicbuf + jrec->jofsst + 1;
|
ptr = dicbuf + jrec->jofsst + 1;
|
||||||
|
|
||||||
for ( ; *ptr != HINSIBLKTERM ; ptr = skipkstr(ptr)) {
|
for(; *ptr != HINSIBLKTERM; ptr = skipkstr(ptr)) {
|
||||||
|
|
||||||
offset = ptr - dicbuf;
|
offset = ptr - dicbuf;
|
||||||
|
|
||||||
sptr = srchstdy(jrec -> jseg, offset, jrec -> dicid);
|
sptr = srchstdy(jrec->jseg, offset, jrec->dicid);
|
||||||
|
|
||||||
if (!khcount){
|
if(!khcount) {
|
||||||
ph_setkouho(clrec, offset, sptr);
|
ph_setkouho(clrec, offset, sptr);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!sptr) continue;
|
if(!sptr) continue;
|
||||||
|
|
||||||
if (sptr -> styno < kouhotbl[0].styno) {
|
if(sptr->styno < kouhotbl[0].styno) {
|
||||||
ph_setkouho(clrec, offset, sptr);
|
ph_setkouho(clrec, offset, sptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (sptr -> styno == kouhotbl -> styno) {
|
else if(sptr->styno == kouhotbl->styno) {
|
||||||
if (!(kouhotbl[0].ka_fg &&
|
if(!(kouhotbl[0].ka_fg &&
|
||||||
sptr -> ka_kj == kouhotbl[0].ka_kj)) {
|
sptr->ka_kj == kouhotbl[0].ka_kj)) {
|
||||||
ph_setkouho(clrec, offset, sptr);
|
ph_setkouho(clrec, offset, sptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int ph_khtbl(CLREC* clrec) {
|
||||||
ph_khtbl(CLREC *clrec)
|
JREC* jrec;
|
||||||
{
|
int flg = FALSE;
|
||||||
JREC *jrec;
|
|
||||||
int flg = FALSE;
|
|
||||||
|
|
||||||
switch((jrec = clrec -> jnode) -> class) {
|
switch((jrec = clrec->jnode)->class) {
|
||||||
case C_DICT:
|
case C_DICT:
|
||||||
ph_setsty(clrec);
|
ph_setsty(clrec);
|
||||||
break;
|
break;
|
||||||
|
|
@ -101,19 +98,17 @@ ph_khtbl(CLREC *clrec)
|
||||||
case C_N_KAZULONG:
|
case C_N_KAZULONG:
|
||||||
case C_N_KAZULCMA:
|
case C_N_KAZULCMA:
|
||||||
case C_N_SUUJILONG:
|
case C_N_SUUJILONG:
|
||||||
if (jrec -> jofsst) {
|
if(jrec->jofsst) {
|
||||||
ph_setsty(clrec);
|
ph_setsty(clrec);
|
||||||
break;
|
break;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
flg = TRUE;
|
flg = TRUE;
|
||||||
case C_BUNSETU:
|
case C_BUNSETU:
|
||||||
case C_MINASI:
|
case C_MINASI:
|
||||||
case C_WAKACHI:
|
case C_WAKACHI:
|
||||||
if (!khcount) ph_setkouho(clrec, (TypeDicOfs)0, (STDYIN *)0);
|
if(!khcount) ph_setkouho(clrec, (TypeDicOfs)0, (STDYIN*)0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return flg;
|
return flg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,6 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:10 $
|
* $SonyDate: 1994/06/03 08:02:10 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_hinsi.h"
|
#include "sj_hinsi.h"
|
||||||
#include "sj_right.h"
|
#include "sj_right.h"
|
||||||
|
|
@ -43,49 +41,44 @@
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static int
|
static int
|
||||||
isfukusi(TypeGram hinsi)
|
isfukusi(TypeGram hinsi) {
|
||||||
{
|
if(FUKUSI_1 <= hinsi && hinsi <= FUKUSI_7)
|
||||||
if (FUKUSI_1 <= hinsi && hinsi <= FUKUSI_7)
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
else if (hinsi == MEISI_11 || hinsi == D_MEISI_6)
|
else if(hinsi == MEISI_11 || hinsi == D_MEISI_6)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
istaigen(TypeCnct right)
|
istaigen(TypeCnct right) {
|
||||||
{
|
if(right == R_MEISI || right == R_DMEISI || right == R_SMEISI1)
|
||||||
if (right == R_MEISI || right == R_DMEISI || right == R_SMEISI1)
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
if (right == R_WO_MEISI || right == R_DAIMEISI || right == R_JOSUUSI)
|
if(right == R_WO_MEISI || right == R_DAIMEISI || right == R_JOSUUSI)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
if (right == R_RENYOU1 || (R_RENYOU3 <= right && right <= R_SA5RENYOU4))
|
if(right == R_RENYOU1 || (R_RENYOU3 <= right && right <= R_SA5RENYOU4))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
taicnt(TypeGram hinsi1, TypeGram hinsi2)
|
taicnt(TypeGram hinsi1, TypeGram hinsi2) {
|
||||||
{
|
if(hinsi2 == TANKANJI) return 0;
|
||||||
if (hinsi2 == TANKANJI) return 0;
|
|
||||||
|
|
||||||
if (MYOUJI <= hinsi1 && hinsi1 <= KEN_KU) {
|
if(MYOUJI <= hinsi1 && hinsi1 <= KEN_KU) {
|
||||||
if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9)
|
if(MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9)
|
||||||
return Taipri(hinsi1 - MYOUJI, hinsi2);
|
return Taipri(hinsi1 - MYOUJI, hinsi2);
|
||||||
else
|
else
|
||||||
return 3;
|
return 3;
|
||||||
}
|
} else if((MEISI_1 <= hinsi1 && hinsi1 <= MEISI_11) ||
|
||||||
else if ((MEISI_1 <= hinsi1 && hinsi1 <= MEISI_11) ||
|
hinsi1 == D_MEISI_2) {
|
||||||
hinsi1 == D_MEISI_2) {
|
if(MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) {
|
||||||
if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) {
|
|
||||||
return Taipri(5, hinsi2);
|
return Taipri(5, hinsi2);
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9)
|
if(MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9)
|
||||||
return Taipri(6, hinsi2);
|
return Taipri(6, hinsi2);
|
||||||
else
|
else
|
||||||
return 4;
|
return 4;
|
||||||
|
|
@ -93,70 +86,65 @@ taicnt(TypeGram hinsi1, TypeGram hinsi2)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
sttcnt(TypeGram hinsi1, TypeGram hinsi2)
|
sttcnt(TypeGram hinsi1, TypeGram hinsi2) {
|
||||||
{
|
if(SETTOU_1 <= hinsi1 && hinsi1 <= SETTOU_5) {
|
||||||
if (SETTOU_1 <= hinsi1 && hinsi1 <= SETTOU_5) {
|
if(MEISI_1 <= hinsi2 && hinsi2 <= SUUSI)
|
||||||
if (MEISI_1 <= hinsi2 && hinsi2 <= SUUSI)
|
|
||||||
return Sttpri(hinsi1 - SETTOU_1, hinsi2);
|
return Sttpri(hinsi1 - SETTOU_1, hinsi2);
|
||||||
}
|
}
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int priority(CLREC* clrec) {
|
||||||
priority(CLREC *clrec)
|
int prty;
|
||||||
{
|
CLREC* cl2rec;
|
||||||
int prty;
|
int keeplen;
|
||||||
CLREC *cl2rec;
|
TypeGram hinsi1;
|
||||||
int keeplen;
|
int i;
|
||||||
TypeGram hinsi1;
|
int prev = 0;
|
||||||
int i;
|
|
||||||
int prev = 0;
|
|
||||||
|
|
||||||
if (clrec->cllen == clrec->cl2len) return 0xff;
|
if(clrec->cllen == clrec->cl2len) return 0xff;
|
||||||
|
|
||||||
if (clrec->jnode->class == C_BUNSETU) {
|
if(clrec->jnode->class == C_BUNSETU) {
|
||||||
prty = Termtbl[clrec->right] & GETPRI;
|
prty = Termtbl[clrec->right] & GETPRI;
|
||||||
return(0xf0 + prty);
|
return (0xf0 + prty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
hinsi1 = clrec->jnode->hinsi;
|
hinsi1 = clrec->jnode->hinsi;
|
||||||
|
|
||||||
if (prevclrow == R_WO || prevclrow == R_WO_S ||
|
if(prevclrow == R_WO || prevclrow == R_WO_S ||
|
||||||
prevclrow == R_NI1 || prevclrow == R_DRENYOU2) {
|
prevclrow == R_NI1 || prevclrow == R_DRENYOU2) {
|
||||||
if (clrec -> kubun == K_DOUSHI || isfukusi(hinsi1))
|
if(clrec->kubun == K_DOUSHI || isfukusi(hinsi1))
|
||||||
prev = 5;
|
prev = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (istaigen(prevclrow)) {
|
else if(istaigen(prevclrow)) {
|
||||||
|
|
||||||
if (clrec -> kubun == K_TAIGEN)
|
if(clrec->kubun == K_TAIGEN)
|
||||||
prev = taicnt(prevclgrm, hinsi1);
|
prev = taicnt(prevclgrm, hinsi1);
|
||||||
|
|
||||||
else
|
else
|
||||||
prev = 0;
|
prev = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (prevclrow == R_SETTOU) {
|
else if(prevclrow == R_SETTOU) {
|
||||||
if (clrec -> jnode -> sttofs)
|
if(clrec->jnode->sttofs)
|
||||||
prty = 2;
|
prty = 2;
|
||||||
else
|
else
|
||||||
prty = sttcnt(prevclgrm, hinsi1);
|
prty = sttcnt(prevclgrm, hinsi1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(hinsi1 >= SETUBI_1 && hinsi1 <= SETUBI_9 && (!prev)) {
|
||||||
if (hinsi1 >= SETUBI_1 && hinsi1 <= SETUBI_9 && (!prev)) {
|
|
||||||
prty = 1;
|
prty = 1;
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
||||||
cl2rec = maxclptr;
|
cl2rec = maxclptr;
|
||||||
keeplen = cl2rec -> cllen;
|
keeplen = cl2rec->cllen;
|
||||||
|
|
||||||
if (clrec->right == R_WO || clrec->right == R_WO_S ||
|
if(clrec->right == R_WO || clrec->right == R_WO_S ||
|
||||||
clrec->right == R_NI1 || clrec->right == R_DRENYOU2) {
|
clrec->right == R_NI1 || clrec->right == R_DRENYOU2) {
|
||||||
while (cl2rec && (int)cl2rec->cllen == keeplen) {
|
while(cl2rec && (int)cl2rec->cllen == keeplen) {
|
||||||
if (cl2rec->kubun == K_DOUSHI) {
|
if(cl2rec->kubun == K_DOUSHI) {
|
||||||
prty = 14;
|
prty = 14;
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
@ -164,42 +152,40 @@ priority(CLREC *clrec)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (clrec->right == R_SETTOU) {
|
else if(clrec->right == R_SETTOU) {
|
||||||
prty = 0;
|
prty = 0;
|
||||||
while (cl2rec && (int)cl2rec -> cllen == keeplen) {
|
while(cl2rec && (int)cl2rec->cllen == keeplen) {
|
||||||
if (cl2rec -> jnode -> sttofs )
|
if(cl2rec->jnode->sttofs)
|
||||||
i = 2;
|
i = 2;
|
||||||
else
|
else
|
||||||
i = sttcnt(hinsi1, cl2rec->jnode->hinsi);
|
i = sttcnt(hinsi1, cl2rec->jnode->hinsi);
|
||||||
|
|
||||||
if (i > prty)
|
if(i > prty)
|
||||||
prty = i;
|
prty = i;
|
||||||
cl2rec = cl2rec -> clsort;
|
cl2rec = cl2rec->clsort;
|
||||||
}
|
}
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (istaigen(clrec->right)) {
|
else if(istaigen(clrec->right)) {
|
||||||
prty = 0;
|
prty = 0;
|
||||||
while (cl2rec && (int)cl2rec->cllen == keeplen) {
|
while(cl2rec && (int)cl2rec->cllen == keeplen) {
|
||||||
i = taicnt(hinsi1, cl2rec->jnode->hinsi);
|
i = taicnt(hinsi1, cl2rec->jnode->hinsi);
|
||||||
if (i > prty)
|
if(i > prty)
|
||||||
prty = i;
|
prty = i;
|
||||||
cl2rec = cl2rec->clsort;
|
cl2rec = cl2rec->clsort;
|
||||||
}
|
}
|
||||||
if (clrec->jnode->stbofs) {
|
if(clrec->jnode->stbofs) {
|
||||||
prty -= 3;
|
prty -= 3;
|
||||||
}
|
}
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
prty = Termtbl[clrec->right];
|
prty = Termtbl[clrec->right];
|
||||||
|
|
||||||
|
if(prty & RENTAI) {
|
||||||
if (prty & RENTAI) {
|
while(cl2rec && (int)cl2rec->cllen == keeplen) {
|
||||||
while (cl2rec && (int)cl2rec->cllen == keeplen) {
|
if(cl2rec->kubun == K_TAIGEN) {
|
||||||
if (cl2rec -> kubun == K_TAIGEN) {
|
|
||||||
prty &= GETPRI;
|
prty &= GETPRI;
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
@ -211,15 +197,14 @@ priority(CLREC *clrec)
|
||||||
else {
|
else {
|
||||||
prty &= GETPRI;
|
prty &= GETPRI;
|
||||||
|
|
||||||
if (prty == P_RENYOU_J || prty == P_RENYOU_M ) {
|
if(prty == P_RENYOU_J || prty == P_RENYOU_M) {
|
||||||
while (clrec->cllen != 1 && cl2rec &&
|
while(clrec->cllen != 1 && cl2rec &&
|
||||||
(int)cl2rec->cllen == keeplen ) {
|
(int)cl2rec->cllen == keeplen) {
|
||||||
if (cl2rec->kubun == K_DOUSHI) {
|
if(cl2rec->kubun == K_DOUSHI) {
|
||||||
prty = 6;
|
prty = 6;
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
} else if(cl2rec->jnode->hinsi == SETUBI_1 ||
|
||||||
else if (cl2rec->jnode->hinsi == SETUBI_1 ||
|
cl2rec->jnode->hinsi == SETUBI_2) {
|
||||||
cl2rec->jnode->hinsi == SETUBI_2) {
|
|
||||||
prty = 7;
|
prty = 7;
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
|
|
@ -229,57 +214,53 @@ priority(CLREC *clrec)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
finish:
|
finish:
|
||||||
cl2rec = maxclptr;
|
cl2rec = maxclptr;
|
||||||
|
|
||||||
if (hinsi1 == SUUSI) prty -= 4;
|
if(hinsi1 == SUUSI) prty -= 4;
|
||||||
|
|
||||||
if (cl2rec -> jnode -> hinsi == SUUSI) prty -= 3;
|
if(cl2rec->jnode->hinsi == SUUSI) prty -= 3;
|
||||||
|
|
||||||
if (cl2rec->jnode->class == C_DICT &&
|
if(cl2rec->jnode->class == C_DICT &&
|
||||||
cl2rec->jnode->jlen == 1 && (cl2rec->kubun != K_DOUSHI)) {
|
cl2rec->jnode->jlen == 1 && (cl2rec->kubun != K_DOUSHI)) {
|
||||||
prty -= 2;
|
prty -= 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!istaigen(clrec->right)) && (cl2rec->jnode->hinsi == SETUBI_2)) {
|
if((!istaigen(clrec->right)) && (cl2rec->jnode->hinsi == SETUBI_2)) {
|
||||||
prty -= 4;
|
prty -= 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
prty += 20 - clrec->cllen + clrec->jnode->jlen + clrec->gobiln;
|
prty += 20 - clrec->cllen + clrec->jnode->jlen + clrec->gobiln;
|
||||||
return(prty + prev);
|
return (prty + prev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void pritiny() {
|
||||||
|
CLREC* clrec;
|
||||||
|
int keeplen;
|
||||||
|
int i, prty = 0;
|
||||||
|
|
||||||
void
|
clrec = selcl;
|
||||||
pritiny()
|
keeplen = clrec->cllen;
|
||||||
{
|
|
||||||
CLREC *clrec;
|
|
||||||
int keeplen;
|
|
||||||
int i, prty = 0;
|
|
||||||
|
|
||||||
clrec = selcl;
|
if(istaigen(prevclrow)) {
|
||||||
keeplen = clrec -> cllen;
|
while(clrec && (int)clrec->cllen == keeplen) {
|
||||||
|
i = taicnt(prevclgrm, clrec->jnode->hinsi);
|
||||||
if (istaigen(prevclrow)) {
|
if(i > prty) {
|
||||||
while (clrec && (int)clrec -> cllen == keeplen) {
|
|
||||||
i = taicnt(prevclgrm, clrec -> jnode -> hinsi);
|
|
||||||
if (i > prty) {
|
|
||||||
selcl = clrec;
|
selcl = clrec;
|
||||||
prty = i;
|
prty = i;
|
||||||
}
|
}
|
||||||
clrec = clrec -> clsort;
|
clrec = clrec->clsort;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
|
|
||||||
while (clrec && (int)clrec -> cllen == keeplen) {
|
while(clrec && (int)clrec->cllen == keeplen) {
|
||||||
if (clrec -> jnode -> hinsi >= MYOUJI &&
|
if(clrec->jnode->hinsi >= MYOUJI &&
|
||||||
clrec -> jnode -> hinsi <= KEN_KU)
|
clrec->jnode->hinsi <= KEN_KU)
|
||||||
clrec = clrec -> clsort;
|
clrec = clrec->clsort;
|
||||||
|
|
||||||
else if (clrec -> jnode -> hinsi == TANKANJI)
|
else if(clrec->jnode->hinsi == TANKANJI)
|
||||||
return;
|
return;
|
||||||
else {
|
else {
|
||||||
selcl = clrec;
|
selcl = clrec;
|
||||||
|
|
@ -288,4 +269,3 @@ pritiny()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,72 +33,216 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:11 $
|
* $SonyDate: 1994/06/03 08:02:11 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
u_char taipri[7][45] = {
|
u_char taipri[7][45] = {
|
||||||
|
|
||||||
{ 0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
4, 4, 3, 3, 3, 3, 3, 3, 0, 0,
|
4, 4, 3, 3, 3, 3, 3, 3, 0, 0,
|
||||||
0, 3, 20, 4, 3, 3, 4, 4, 4, 4,
|
0, 3, 20, 4, 3, 3, 4, 4, 4, 4,
|
||||||
4, 4, 4, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
4, 4, 4, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
||||||
|
|
||||||
{ 0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
4, 4, 3, 3, 3, 3, 3, 3, 0, 0,
|
4, 4, 3, 3, 3, 3, 3, 3, 0, 0,
|
||||||
0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
4, 4, 4, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
4, 4, 4, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
|
||||||
|
|
||||||
{ 0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
4, 4, 3, 3, 3, 3, 3, 3, 0, 0,
|
4, 4, 3, 3, 3, 3, 3, 3, 0, 0,
|
||||||
0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6},
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6},
|
||||||
|
|
||||||
{ 0, 5, 5, 5, 5, 5, 5, 5, 5, 5,
|
{0, 5, 5, 5, 5, 5, 5, 5, 5, 5,
|
||||||
5, 5, 3, 3, 3, 3, 3, 3, 0, 0,
|
5, 5, 3, 3, 3, 3, 3, 3, 0, 0,
|
||||||
0, 3, 3, 3, 4, 5, 4, 4, 4, 4,
|
0, 3, 3, 3, 4, 5, 4, 4, 4, 4,
|
||||||
4, 4, 4, 4, 4, 4, 6, 6, 6, 8, 4, 4, 4, 4, 6},
|
4, 4, 4, 4, 4, 4, 6, 6, 6, 8, 4, 4, 4, 4, 6},
|
||||||
|
|
||||||
{ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
{0, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
||||||
7, 7, 4, 4, 4, 4, 4, 4, 0, 0,
|
7, 7, 4, 4, 4, 4, 4, 4, 0, 0,
|
||||||
0, 4, 4, 4, 20, 20, 4, 4, 4, 4,
|
0, 4, 4, 4, 20, 20, 4, 4, 4, 4,
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6},
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6},
|
||||||
|
|
||||||
{ 0, 8, 8, 8, 8, 8, 7, 8, 8, 8,
|
{0, 8, 8, 8, 8, 8, 7, 8, 8, 8,
|
||||||
8, 8, 3, 6, 7, 3, 3, 5, 0, 0,
|
8, 8, 3, 6, 7, 3, 3, 5, 0, 0,
|
||||||
0, 3, 3, 3, 3, 3, 5, 5, 5, 5,
|
0, 3, 3, 3, 3, 3, 5, 5, 5, 5,
|
||||||
5, 5, 5, 5, 5, 5, 8, 8, 11, 5, 7, 7, 7, 7, 7},
|
5, 5, 5, 5, 5, 5, 8, 8, 11, 5, 7, 7, 7, 7, 7},
|
||||||
|
|
||||||
{ 0, 5, 6, 6, 6, 6, 5, 6, 6, 6,
|
{0, 5, 6, 6, 6, 6, 5, 6, 6, 6,
|
||||||
6, 6, 3, 3, 3, 3, 3, 5, 0, 0,
|
6, 6, 3, 3, 3, 3, 3, 5, 0, 0,
|
||||||
0, 3, 3, 3, 3, 3, 5, 5, 5, 5,
|
0, 3, 3, 3, 3, 3, 5, 5, 5, 5,
|
||||||
4, 5, 5, 5, 5, 5, 5, 6, 6, 5, 5, 5, 5, 5, 5}
|
4, 5, 5, 5, 5, 5, 5, 6, 6, 5, 5, 5, 5, 5, 5}};
|
||||||
};
|
|
||||||
|
|
||||||
|
u_char sttpri[5][31] = {
|
||||||
|
|
||||||
|
{
|
||||||
|
0,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
2,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
},
|
||||||
|
|
||||||
u_char sttpri[5][31] = {
|
{
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
10,
|
||||||
|
10,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
},
|
||||||
|
|
||||||
{ 0, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
{
|
||||||
7, 7, 2, 4, 4, 4, 4, 4, 0, 0,
|
4,
|
||||||
0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, },
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
10,
|
||||||
|
10,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
},
|
||||||
|
|
||||||
{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
{
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 0, 0,
|
0,
|
||||||
0, 4, 4, 4, 10, 10, 4, 4, 4, 4, 4, },
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
15,
|
||||||
|
},
|
||||||
|
|
||||||
{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
{
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 0, 0,
|
0,
|
||||||
0, 10, 10, 4, 4, 4, 4, 4, 4, 4, 4, },
|
12,
|
||||||
|
12,
|
||||||
{ 0, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
12,
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 0, 0,
|
12,
|
||||||
0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 15, },
|
12,
|
||||||
|
12,
|
||||||
{ 0, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
12,
|
||||||
12, 12, 9, 9, 9, 9, 9, 9, 0, 0,
|
12,
|
||||||
0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }
|
12,
|
||||||
};
|
12,
|
||||||
|
12,
|
||||||
|
9,
|
||||||
|
9,
|
||||||
|
9,
|
||||||
|
9,
|
||||||
|
9,
|
||||||
|
9,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
}};
|
||||||
|
|
|
||||||
|
|
@ -33,121 +33,118 @@
|
||||||
* $SonyDate: 1995/07/21 05:22:51 $
|
* $SonyDate: 1995/07/21 05:22:51 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
#include "sj_yomi.h"
|
#include "sj_yomi.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
u_char kigou[] = {
|
u_char kigou[] = {
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_KUTEN,
|
Y_KUTEN,
|
||||||
Y_TOUTEN,
|
Y_TOUTEN,
|
||||||
Y_COMMA,
|
Y_COMMA,
|
||||||
Y_PERIOD,
|
Y_PERIOD,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_BIKKURI,
|
Y_BIKKURI,
|
||||||
Y_BIKKURI,
|
Y_BIKKURI,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
_TYOUON,
|
_TYOUON,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_QUOTA,
|
Y_QUOTA,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_QUOTA,
|
Y_QUOTA,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_R_KAKKO,
|
Y_R_KAKKO,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_R_KAKKO,
|
Y_R_KAKKO,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_R_KAKKO,
|
Y_R_KAKKO,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_R_KAKKO,
|
Y_R_KAKKO,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_R_KAKKO,
|
Y_R_KAKKO,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_R_KAKKO,
|
Y_R_KAKKO,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_R_KAKKO,
|
Y_R_KAKKO,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_R_KAKKO,
|
Y_R_KAKKO,
|
||||||
Y_L_KAKKO,
|
Y_L_KAKKO,
|
||||||
Y_R_KAKKO,
|
Y_R_KAKKO,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_S_KIGOU2,
|
Y_S_KIGOU2,
|
||||||
Y_S_KIGOU1,
|
Y_S_KIGOU1,
|
||||||
Y_S_KIGOU1,
|
Y_S_KIGOU1,
|
||||||
Y_S_KIGOU2,
|
Y_S_KIGOU2,
|
||||||
Y_S_KIGOU1,
|
Y_S_KIGOU1,
|
||||||
Y_S_KIGOU2,
|
Y_S_KIGOU2,
|
||||||
_IGETA,
|
_IGETA,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
_ATTO,
|
_ATTO,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
_YUUBIN,
|
_YUUBIN,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU,
|
Y_KIGOU,
|
||||||
Y_KIGOU
|
Y_KIGOU};
|
||||||
};
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -36,69 +36,69 @@
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
void
|
void selclrec() {
|
||||||
selclrec()
|
int len;
|
||||||
{
|
CLREC* rec;
|
||||||
int len;
|
|
||||||
CLREC *rec;
|
|
||||||
|
|
||||||
nextcllen = 0;
|
nextcllen = 0;
|
||||||
|
|
||||||
len = selcl -> cllen;
|
len = selcl->cllen;
|
||||||
rec = clt1st;
|
rec = clt1st;
|
||||||
while (rec) {
|
while(rec) {
|
||||||
if (len >= (unsigned int) rec -> cllen) break;
|
if(len >= (unsigned int)rec->cllen) break;
|
||||||
rec = rec -> clsort;
|
rec = rec->clsort;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (rec) {
|
while(rec) {
|
||||||
if (len > (unsigned int) rec -> cllen) return;
|
if(len > (unsigned int)rec->cllen) return;
|
||||||
if (rec -> jnode -> class == C_BUNSETU) break;
|
if(rec->jnode->class == C_BUNSETU) break;
|
||||||
rec = rec -> clsort;
|
rec = rec->clsort;
|
||||||
}
|
}
|
||||||
if (!rec) return;
|
if(!rec) return;
|
||||||
|
|
||||||
len = ClYomi1Len(CLSTUDYDICT + rec->jnode->jofsst);
|
len = ClYomi1Len(CLSTUDYDICT + rec->jnode->jofsst);
|
||||||
|
|
||||||
nextcllen = rec -> cllen - len;
|
nextcllen = rec->cllen - len;
|
||||||
|
|
||||||
while (rec) {
|
while(rec) {
|
||||||
if (len == rec -> cllen) {
|
if(len == rec->cllen) {
|
||||||
selcl = rec;
|
selcl = rec;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (len > (unsigned int) rec -> cllen) {
|
else if(len > (unsigned int)rec->cllen) {
|
||||||
rec = NULL;
|
rec = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
rec = rec -> clsort;
|
rec = rec->clsort;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rec == NULL) {
|
if(rec == NULL) {
|
||||||
int klen;
|
int klen;
|
||||||
u_char ch;
|
u_char ch;
|
||||||
|
|
||||||
free_clall(clt1st);
|
free_clall(clt1st);
|
||||||
free_jall(jrt1st);
|
free_jall(jrt1st);
|
||||||
|
|
||||||
klen = cnvlen;
|
klen = cnvlen;
|
||||||
cnvlen = len;
|
cnvlen = len;
|
||||||
ch = *(cnvstart + len);
|
ch = *(cnvstart + len);
|
||||||
*(cnvstart + len) = 0;
|
*(cnvstart + len) = 0;
|
||||||
|
|
||||||
mkjiritu(DO_IKKATU);
|
mkjiritu(DO_IKKATU);
|
||||||
|
|
||||||
mkbunsetu();
|
mkbunsetu();
|
||||||
if (!maxclptr) wakachi();
|
if(!maxclptr) wakachi();
|
||||||
|
|
||||||
jrt1st = maxjptr;
|
jrt1st = maxjptr;
|
||||||
selcl = clt1st = maxclptr;
|
selcl = clt1st = maxclptr;
|
||||||
|
|
||||||
cnvlen = klen;
|
cnvlen = klen;
|
||||||
*(cnvstart + len) = ch;
|
*(cnvstart + len) = ch;
|
||||||
}
|
}
|
||||||
|
|
||||||
free_clall(clt2nd); clt2nd = NULL;
|
free_clall(clt2nd);
|
||||||
free_jall(jrt2nd); jrt2nd = NULL;
|
clt2nd = NULL;
|
||||||
|
free_jall(jrt2nd);
|
||||||
|
jrt2nd = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,84 +40,72 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static u_short selsjAR[] = {
|
static u_short selsjAR[] = {
|
||||||
SELARB0,
|
SELARB0,
|
||||||
SELARBCMA | JFLAG_NK4 | JFLAG_NN0,
|
SELARBCMA | JFLAG_NK4 | JFLAG_NN0,
|
||||||
SELKANSJYM | JFLAG_NN0,
|
SELKANSJYM | JFLAG_NN0,
|
||||||
SELKANSJYM2 | SELNUM1_23_10_1 | JFLAG_NN0,
|
SELKANSJYM2 | SELNUM1_23_10_1 | JFLAG_NN0,
|
||||||
SELKANSJ0 | JFLAG_NK2,
|
SELKANSJ0 | JFLAG_NK2,
|
||||||
SELNUMTERM
|
SELNUMTERM};
|
||||||
};
|
|
||||||
|
|
||||||
static u_short selsjARCM[] = {
|
static u_short selsjARCM[] = {
|
||||||
SELARBCMA | JFLAG_NK4 | JFLAG_NN0,
|
SELARBCMA | JFLAG_NK4 | JFLAG_NN0,
|
||||||
SELARB0,
|
SELARB0,
|
||||||
SELKANSJYM | JFLAG_NN0,
|
SELKANSJYM | JFLAG_NN0,
|
||||||
SELKANSJYM2 | SELNUM1_23_10_1 | JFLAG_NN0,
|
SELKANSJYM2 | SELNUM1_23_10_1 | JFLAG_NN0,
|
||||||
SELKANSJ0 | JFLAG_NK2,
|
SELKANSJ0 | JFLAG_NK2,
|
||||||
SELNUMTERM
|
SELNUMTERM};
|
||||||
};
|
|
||||||
|
|
||||||
static u_short selsjKAZU[] = {
|
static u_short selsjKAZU[] = {
|
||||||
SELKANSJYM | JFLAG_NN0,
|
SELKANSJYM | JFLAG_NN0,
|
||||||
SELKANSJYM2 | SELNUM1_23_10_1 | JFLAG_NN0,
|
SELKANSJYM2 | SELNUM1_23_10_1 | JFLAG_NN0,
|
||||||
SELKANSJ0 | JFLAG_NK2,
|
SELKANSJ0 | JFLAG_NK2,
|
||||||
SELARB0,
|
SELARB0,
|
||||||
SELARBCMA | JFLAG_NK4 | JFLAG_NN0,
|
SELARBCMA | JFLAG_NK4 | JFLAG_NN0,
|
||||||
SELNUMTERM
|
SELNUMTERM};
|
||||||
};
|
|
||||||
|
|
||||||
static u_short selsjSUUJI[] = {
|
static u_short selsjSUUJI[] = {
|
||||||
SELKANSJ0,
|
SELKANSJ0,
|
||||||
SELARB0,
|
SELARB0,
|
||||||
SELNUMTERM
|
SELNUMTERM};
|
||||||
};
|
|
||||||
|
|
||||||
static u_short selsjNANSUU[] = {
|
static u_short selsjNANSUU[] = {
|
||||||
SELKANSJYM,
|
SELKANSJYM,
|
||||||
SELNUMTERM
|
SELNUMTERM};
|
||||||
};
|
|
||||||
|
|
||||||
static u_short selsjAR17[] = {
|
static u_short selsjAR17[] = {
|
||||||
SELLONGARB,
|
SELLONGARB,
|
||||||
SELLONGARBCMA,
|
SELLONGARBCMA,
|
||||||
SELNUMTERM
|
SELNUMTERM};
|
||||||
};
|
|
||||||
|
|
||||||
static u_short selsjAR17CM[] = {
|
static u_short selsjAR17CM[] = {
|
||||||
SELLONGARBCMA,
|
SELLONGARBCMA,
|
||||||
SELLONGARB,
|
SELLONGARB,
|
||||||
SELNUMTERM
|
SELNUMTERM};
|
||||||
};
|
|
||||||
|
|
||||||
static u_short selsjAR17SJ[] = {
|
static u_short selsjAR17SJ[] = {
|
||||||
SELLONGARB,
|
SELLONGARB,
|
||||||
SELLONGSJ,
|
SELLONGSJ,
|
||||||
SELNUMTERM
|
SELNUMTERM};
|
||||||
};
|
|
||||||
|
|
||||||
static u_short selsjKANKURA[] = {
|
static u_short selsjKANKURA[] = {
|
||||||
SELKANSJKR,
|
SELKANSJKR,
|
||||||
SELARBKR,
|
SELARBKR,
|
||||||
SELNUMTERM
|
SELNUMTERM};
|
||||||
};
|
|
||||||
|
|
||||||
static u_short selsjARAKURA[] = {
|
static u_short selsjARAKURA[] = {
|
||||||
SELARBKR,
|
SELARBKR,
|
||||||
SELKANSJKR | JFLAG_NSN,
|
SELKANSJKR | JFLAG_NSN,
|
||||||
SELNUMTERM
|
SELNUMTERM};
|
||||||
};
|
|
||||||
|
|
||||||
|
u_short* selsjadrs[] = {
|
||||||
u_short *selsjadrs[] = {
|
selsjAR,
|
||||||
selsjAR,
|
selsjARCM,
|
||||||
selsjARCM,
|
selsjKAZU,
|
||||||
selsjKAZU,
|
selsjSUUJI,
|
||||||
selsjSUUJI,
|
selsjNANSUU,
|
||||||
selsjNANSUU,
|
selsjKANKURA,
|
||||||
selsjKANKURA,
|
selsjARAKURA,
|
||||||
selsjARAKURA,
|
selsjAR17,
|
||||||
selsjAR17,
|
selsjAR17CM,
|
||||||
selsjAR17CM,
|
selsjAR17SJ};
|
||||||
selsjAR17SJ
|
|
||||||
};
|
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,6 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:16 $
|
* $SonyDate: 1994/06/03 08:02:16 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_right.h"
|
#include "sj_right.h"
|
||||||
#include "sj_hinsi.h"
|
#include "sj_hinsi.h"
|
||||||
|
|
@ -43,32 +41,31 @@
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static int
|
static int
|
||||||
cnjstrcmp(u_char *yptr, u_char *cnjp, int *saml)
|
cnjstrcmp(u_char* yptr, u_char* cnjp, int* saml) {
|
||||||
{
|
int asklen;
|
||||||
int asklen;
|
int nkrlen;
|
||||||
int nkrlen;
|
|
||||||
|
|
||||||
asklen = CnjAskLen(cnjp);
|
asklen = CnjAskLen(cnjp);
|
||||||
|
|
||||||
if (*saml < asklen) return CONT;
|
if(*saml < asklen) return CONT;
|
||||||
|
|
||||||
if (*saml > asklen) return OVER;
|
if(*saml > asklen) return OVER;
|
||||||
|
|
||||||
nkrlen = CnjNkrLen(cnjp);
|
nkrlen = CnjNkrLen(cnjp);
|
||||||
|
|
||||||
yptr += asklen;
|
yptr += asklen;
|
||||||
cnjp ++;
|
cnjp++;
|
||||||
|
|
||||||
while (nkrlen--) {
|
while(nkrlen--) {
|
||||||
if (*yptr > *cnjp)
|
if(*yptr > *cnjp)
|
||||||
return CONT;
|
return CONT;
|
||||||
|
|
||||||
else if (*yptr < *cnjp) {
|
else if(*yptr < *cnjp) {
|
||||||
if (!*yptr) return PARTLY;
|
if(!*yptr) return PARTLY;
|
||||||
return OVER;
|
return OVER;
|
||||||
}
|
}
|
||||||
|
|
||||||
else{
|
else {
|
||||||
yptr++;
|
yptr++;
|
||||||
cnjp++;
|
cnjp++;
|
||||||
(*saml)++;
|
(*saml)++;
|
||||||
|
|
@ -79,22 +76,21 @@ cnjstrcmp(u_char *yptr, u_char *cnjp, int *saml)
|
||||||
}
|
}
|
||||||
|
|
||||||
static TypeCnct
|
static TypeCnct
|
||||||
cnvrow(JREC *rec, TypeCnct row)
|
cnvrow(JREC* rec, TypeCnct row) {
|
||||||
{
|
TypeGram hinsi;
|
||||||
TypeGram hinsi;
|
int stt;
|
||||||
int stt;
|
|
||||||
|
|
||||||
hinsi = rec -> hinsi;
|
hinsi = rec->hinsi;
|
||||||
|
|
||||||
if ((stt = rec -> sttofs) == SETTOU_O) {
|
if((stt = rec->sttofs) == SETTOU_O) {
|
||||||
|
|
||||||
if (R_RENYOU1 <= row && row <= R_SA5RENYOU1)
|
if(R_RENYOU1 <= row && row <= R_SA5RENYOU1)
|
||||||
row += 6;
|
row += 6;
|
||||||
|
|
||||||
else if (R_RENYOU3 <= row && row <= R_SA5RENYOU3)
|
else if(R_RENYOU3 <= row && row <= R_SA5RENYOU3)
|
||||||
row += 3;
|
row += 3;
|
||||||
|
|
||||||
else if((hinsi>=KEIYOUSI_1 && hinsi<=KE_DOUSI_9)||
|
else if((hinsi >= KEIYOUSI_1 && hinsi <= KE_DOUSI_9) ||
|
||||||
(hinsi == MEISI_5) || (hinsi == MEISI_9))
|
(hinsi == MEISI_5) || (hinsi == MEISI_9))
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
@ -102,52 +98,50 @@ cnvrow(JREC *rec, TypeCnct row)
|
||||||
row = 0;
|
row = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (stt == SETTOU_GO) {
|
else if(stt == SETTOU_GO) {
|
||||||
|
|
||||||
if (hinsi == MEISI_7 && row == R_SMEISI1)
|
if(hinsi == MEISI_7 && row == R_SMEISI1)
|
||||||
row++;
|
row++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return row;
|
return row;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int setconj(TypeGram hinsi, JREC* jrec, CREC* crec) {
|
||||||
setconj(TypeGram hinsi, JREC *jrec, CREC *crec)
|
u_char* yptr;
|
||||||
{
|
int cmp;
|
||||||
u_char *yptr;
|
TypeCnct right;
|
||||||
int cmp;
|
int saml;
|
||||||
TypeCnct right;
|
int ofslen;
|
||||||
int saml;
|
int count = 0;
|
||||||
int ofslen;
|
u_char* cnj;
|
||||||
int count = 0;
|
|
||||||
u_char *cnj;
|
|
||||||
|
|
||||||
if (cnj = Conjadr(hinsi)) {
|
if(cnj = Conjadr(hinsi)) {
|
||||||
saml = ofslen = 0;
|
saml = ofslen = 0;
|
||||||
|
|
||||||
yptr = cnvstart + jrec -> jlen;
|
yptr = cnvstart + jrec->jlen;
|
||||||
|
|
||||||
if ((*cnj) & TYOUONFLG) {
|
if((*cnj) & TYOUONFLG) {
|
||||||
while (*yptr == _TYOUON) {
|
while(*yptr == _TYOUON) {
|
||||||
yptr++;
|
yptr++;
|
||||||
ofslen++;
|
ofslen++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( ; *cnj != CNJEND ; cnj += CnjRecLen(cnj)) {
|
for(; *cnj != CNJEND; cnj += CnjRecLen(cnj)) {
|
||||||
cmp = cnjstrcmp(yptr, cnj, &saml);
|
cmp = cnjstrcmp(yptr, cnj, &saml);
|
||||||
|
|
||||||
if (cmp == OVER) break;
|
if(cmp == OVER) break;
|
||||||
|
|
||||||
if (cmp == PARTLY) break;
|
if(cmp == PARTLY) break;
|
||||||
|
|
||||||
if (cmp != MATCH) continue;
|
if(cmp != MATCH) continue;
|
||||||
|
|
||||||
if (isdpnd(*(yptr + saml))) continue;
|
if(isdpnd(*(yptr + saml))) continue;
|
||||||
|
|
||||||
if (right = cnvrow(jrec, (TypeCnct)CnjRight(cnj))) {
|
if(right = cnvrow(jrec, (TypeCnct)CnjRight(cnj))) {
|
||||||
crec -> len = (u_char)(ofslen + saml);
|
crec->len = (u_char)(ofslen + saml);
|
||||||
crec -> right = right;
|
crec->right = right;
|
||||||
count++;
|
count++;
|
||||||
crec++;
|
crec++;
|
||||||
}
|
}
|
||||||
|
|
@ -156,4 +150,3 @@ setconj(TypeGram hinsi, JREC *jrec, CREC *crec)
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,127 +39,122 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int setj_atrb(u_char* p) {
|
||||||
setj_atrb(u_char *p)
|
|
||||||
{
|
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int setj_ofs(u_char* p) {
|
||||||
setj_ofs(u_char *p)
|
int contf = TRUE;
|
||||||
{
|
|
||||||
int contf = TRUE;
|
|
||||||
|
|
||||||
p = dicbuf + ((*p & KANJICODEMASK) << 8) + *(p + 1);
|
p = dicbuf + ((*p & KANJICODEMASK) << 8) + *(p + 1);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (p[codesize(*p)] == KANJISTREND) contf = FALSE;
|
if(p[codesize(*p)] == KANJISTREND) contf = FALSE;
|
||||||
switch(*p & KANJIMODEMASK) {
|
switch(*p & KANJIMODEMASK) {
|
||||||
case ZENHIRAASSYUKU:
|
case ZENHIRAASSYUKU:
|
||||||
p += setj_norm1(p); break;
|
p += setj_norm1(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case ZENKATAASSYUKU:
|
case ZENKATAASSYUKU:
|
||||||
p += setj_norm1(p); break;
|
p += setj_norm1(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
p += setj_ofs(p); break;
|
p += setj_ofs(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
p += setj_atrb(p); break;
|
p += setj_atrb(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
p += setj_norm2(p); break;
|
p += setj_norm2(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJIASSYUKU:
|
case KANJIASSYUKU:
|
||||||
p += setj_knj(p); break;
|
p += setj_knj(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJISTREND:
|
case KANJISTREND:
|
||||||
contf = FALSE; break;
|
contf = FALSE;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
p += setj_norm2(p);
|
p += setj_norm2(p);
|
||||||
}
|
}
|
||||||
} while (contf);
|
} while(contf);
|
||||||
|
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int setj_knj(u_char* p) {
|
||||||
setj_knj(u_char *p)
|
int contf = TRUE;
|
||||||
{
|
|
||||||
int contf = TRUE;
|
|
||||||
|
|
||||||
p = askknj[*p & KNJASSYUKUMASK];
|
p = askknj[*p & KNJASSYUKUMASK];
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (p[codesize(*p)]== KANJISTREND) contf = FALSE;
|
if(p[codesize(*p)] == KANJISTREND) contf = FALSE;
|
||||||
switch(*p & KANJIMODEMASK) {
|
switch(*p & KANJIMODEMASK) {
|
||||||
case ZENHIRAASSYUKU:
|
case ZENHIRAASSYUKU:
|
||||||
p += setj_norm1(p); break;
|
p += setj_norm1(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case ZENKATAASSYUKU:
|
case ZENKATAASSYUKU:
|
||||||
p += setj_norm1(p); break;
|
p += setj_norm1(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
p += setj_ofs(p); break;
|
p += setj_ofs(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
p += setj_atrb(p); break;
|
p += setj_atrb(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
p += setj_norm2(p); break;
|
p += setj_norm2(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJIASSYUKU:
|
case KANJIASSYUKU:
|
||||||
p += setj_knj(p); break;
|
p += setj_knj(p);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJISTREND:
|
case KANJISTREND:
|
||||||
contf = FALSE; break;
|
contf = FALSE;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
p += setj_norm2(p);
|
p += setj_norm2(p);
|
||||||
}
|
}
|
||||||
} while (contf);
|
} while(contf);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int setj_norm1(u_char* p) {
|
||||||
|
|
||||||
int
|
|
||||||
setj_norm1(u_char *p)
|
|
||||||
{
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int setj_norm2(u_char* p) {
|
||||||
|
|
||||||
int
|
|
||||||
setj_norm2(u_char *p)
|
|
||||||
{
|
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int setj_norm3(u_char* p) {
|
||||||
setj_norm3(u_char *p)
|
|
||||||
{
|
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static u_char
|
static u_char
|
||||||
chkhead(TypeGram gram)
|
chkhead(TypeGram gram) {
|
||||||
{
|
if(!headcode) return TRUE;
|
||||||
if (!headcode) return TRUE;
|
|
||||||
|
|
||||||
if (headcode == SETTOU_DAI) {
|
if(headcode == SETTOU_DAI) {
|
||||||
|
|
||||||
if (gram == SUUSI) return TRUE;
|
if(gram == SUUSI) return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
gram--;
|
gram--;
|
||||||
if ((Scncttbl(headcode-1, gram >> 3) << (gram & 0x07)) & 0x80) {
|
if((Scncttbl(headcode - 1, gram >> 3) << (gram & 0x07)) & 0x80) {
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -167,146 +162,148 @@ chkhead(TypeGram gram)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setjrec(u_char* tagp, int mode) {
|
||||||
|
TypeGram gram;
|
||||||
void
|
u_char* ptr;
|
||||||
setjrec(u_char *tagp, int mode)
|
u_char* endp;
|
||||||
{
|
u_char* tmp;
|
||||||
TypeGram gram;
|
JREC* rec;
|
||||||
u_char *ptr;
|
int plen;
|
||||||
u_char *endp;
|
int nlen;
|
||||||
u_char *tmp;
|
int len;
|
||||||
JREC *rec;
|
|
||||||
int plen;
|
|
||||||
int nlen;
|
|
||||||
int len;
|
|
||||||
|
|
||||||
plen = getplen(tagp);
|
plen = getplen(tagp);
|
||||||
nlen = getnlen(tagp);
|
nlen = getnlen(tagp);
|
||||||
|
|
||||||
len = plen + nlen;
|
len = plen + nlen;
|
||||||
|
|
||||||
if (headcode) len += headlen;
|
if(headcode) len += headlen;
|
||||||
|
|
||||||
ptr = tagp + DOUONBLKSIZENUMBER + nlen;
|
ptr = tagp + DOUONBLKSIZENUMBER + nlen;
|
||||||
|
|
||||||
endp = tagp + getsize(tagp);
|
endp = tagp + getsize(tagp);
|
||||||
|
|
||||||
for ( ; ptr < endp ; ptr = tmp + 1) {
|
for(; ptr < endp; ptr = tmp + 1) {
|
||||||
for (tmp = ptr + 1; *tmp != HINSIBLKTERM ; ) {
|
for(tmp = ptr + 1; *tmp != HINSIBLKTERM;) {
|
||||||
switch(*tmp & KANJIMODEMASK) {
|
switch(*tmp & KANJIMODEMASK) {
|
||||||
case ZENHIRAASSYUKU:
|
case ZENHIRAASSYUKU:
|
||||||
tmp += setj_norm1(tmp); break;
|
tmp += setj_norm1(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case ZENKATAASSYUKU:
|
case ZENKATAASSYUKU:
|
||||||
tmp += setj_norm1(tmp); break;
|
tmp += setj_norm1(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
tmp += setj_ofs(tmp); break;
|
tmp += setj_ofs(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
tmp += setj_atrb(tmp); break;
|
tmp += setj_atrb(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
tmp += setj_norm2(tmp); break;
|
tmp += setj_norm2(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJIASSYUKU:
|
case KANJIASSYUKU:
|
||||||
tmp += setj_knj(tmp); break;
|
tmp += setj_knj(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJISTREND:
|
case KANJISTREND:
|
||||||
tmp++; break;
|
tmp++;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
tmp += setj_norm2(tmp);
|
tmp += setj_norm2(tmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((gram = *ptr) == IKKATU && !(mode & DO_IKKATU)) continue;
|
if((gram = *ptr) == IKKATU && !(mode & DO_IKKATU)) continue;
|
||||||
|
|
||||||
if (!chkhead(gram)) continue;
|
if(!chkhead(gram)) continue;
|
||||||
|
|
||||||
if (!(rec = argjrec(len, (JREC *)NULL))) continue;
|
if(!(rec = argjrec(len, (JREC*)NULL))) continue;
|
||||||
|
|
||||||
rec -> jseg = prevseg;
|
rec->jseg = prevseg;
|
||||||
rec -> jofsst = ptr - dicbuf;
|
rec->jofsst = ptr - dicbuf;
|
||||||
rec -> jofsed = tmp - dicbuf;
|
rec->jofsed = tmp - dicbuf;
|
||||||
rec -> class = C_DICT;
|
rec->class = C_DICT;
|
||||||
rec -> dicid = curdict->dicid;
|
rec->dicid = curdict->dicid;
|
||||||
rec -> hinsi = gram;
|
rec->hinsi = gram;
|
||||||
rec -> sttofs = headcode;
|
rec->sttofs = headcode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setnumrec(u_char* tagp, JREC* rec, TypeGram gram) {
|
||||||
|
u_char* ptr;
|
||||||
void
|
u_char* endp;
|
||||||
setnumrec(u_char *tagp, JREC *rec, TypeGram gram)
|
u_char* tmp;
|
||||||
{
|
int plen, nlen, len;
|
||||||
u_char *ptr;
|
JREC* jrec;
|
||||||
u_char *endp;
|
|
||||||
u_char *tmp;
|
|
||||||
int plen, nlen, len;
|
|
||||||
JREC *jrec;
|
|
||||||
|
|
||||||
plen = getplen(tagp);
|
plen = getplen(tagp);
|
||||||
nlen = getnlen(tagp);
|
nlen = getnlen(tagp);
|
||||||
|
|
||||||
len = plen + nlen;
|
len = plen + nlen;
|
||||||
|
|
||||||
ptr = tagp + DOUONBLKSIZENUMBER + nlen;
|
ptr = tagp + DOUONBLKSIZENUMBER + nlen;
|
||||||
|
|
||||||
endp = tagp + getsize(tagp);
|
endp = tagp + getsize(tagp);
|
||||||
|
|
||||||
for ( ; ptr < endp ; ptr = tmp + 1) {
|
for(; ptr < endp; ptr = tmp + 1) {
|
||||||
for (tmp = ptr + 1; *tmp != HINSIBLKTERM ; ) {
|
for(tmp = ptr + 1; *tmp != HINSIBLKTERM;) {
|
||||||
switch(*tmp & KANJIMODEMASK) {
|
switch(*tmp & KANJIMODEMASK) {
|
||||||
case ZENHIRAASSYUKU:
|
case ZENHIRAASSYUKU:
|
||||||
tmp += setj_norm1(tmp); break;
|
tmp += setj_norm1(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case ZENKATAASSYUKU:
|
case ZENKATAASSYUKU:
|
||||||
tmp += setj_norm1(tmp); break;
|
tmp += setj_norm1(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
tmp += setj_ofs(tmp); break;
|
tmp += setj_ofs(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
tmp += setj_atrb(tmp); break;
|
tmp += setj_atrb(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
tmp += setj_norm2(tmp); break;
|
tmp += setj_norm2(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJIASSYUKU:
|
case KANJIASSYUKU:
|
||||||
tmp += setj_knj(tmp); break;
|
tmp += setj_knj(tmp);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJISTREND:
|
case KANJISTREND:
|
||||||
tmp++; break;
|
tmp++;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
tmp += setj_norm2(tmp);
|
tmp += setj_norm2(tmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gram != *ptr) continue;
|
if(gram != *ptr) continue;
|
||||||
|
|
||||||
if (!(jrec = argjrec((int)(rec -> jlen + len), rec))) continue;
|
if(!(jrec = argjrec((int)(rec->jlen + len), rec))) continue;
|
||||||
|
|
||||||
jrec -> jseg = prevseg;
|
jrec->jseg = prevseg;
|
||||||
jrec -> jofsst = ptr - dicbuf;
|
jrec->jofsst = ptr - dicbuf;
|
||||||
jrec -> jofsed = tmp - dicbuf;
|
jrec->jofsed = tmp - dicbuf;
|
||||||
jrec -> dicid = curdict->dicid;
|
jrec->dicid = curdict->dicid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setcrec(u_char* tagp) {
|
||||||
|
JREC* rec;
|
||||||
|
|
||||||
|
if(!(rec = argjrec((int)ClYomiLen(tagp), (JREC*)NULL))) return;
|
||||||
|
|
||||||
void
|
rec->jofsst = tagp - CLSTUDYDICT;
|
||||||
setcrec(u_char *tagp)
|
rec->class = C_BUNSETU;
|
||||||
{
|
rec->hinsi = ClGramCode(tagp);
|
||||||
JREC *rec;
|
|
||||||
|
|
||||||
if (!(rec = argjrec((int)ClYomiLen(tagp), (JREC *)NULL))) return;
|
|
||||||
|
|
||||||
rec -> jofsst = tagp - CLSTUDYDICT;
|
|
||||||
rec -> class = C_BUNSETU;
|
|
||||||
rec -> hinsi = ClGramCode(tagp);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,96 +39,94 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static int hiraknj();
|
static int hiraknj();
|
||||||
|
|
||||||
void
|
void setkouho(CLREC* clrec, TypeDicOfs offs, int mode) {
|
||||||
setkouho(CLREC *clrec, TypeDicOfs offs, int mode)
|
JREC* jrec;
|
||||||
{
|
KHREC* kptr;
|
||||||
JREC *jrec;
|
u_char* fptr;
|
||||||
KHREC *kptr;
|
|
||||||
u_char *fptr;
|
|
||||||
int flg;
|
int flg;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (khcount >= MAXKOUHONUMBER) return;
|
if(khcount >= MAXKOUHONUMBER) return;
|
||||||
|
|
||||||
jrec = clrec -> jnode;
|
jrec = clrec->jnode;
|
||||||
|
|
||||||
kptr = &kouhotbl[khcount++];
|
kptr = &kouhotbl[khcount++];
|
||||||
|
|
||||||
if (mode && !offs) nkhcount++;
|
if(mode && !offs) nkhcount++;
|
||||||
|
|
||||||
kptr -> clrec = clrec;
|
kptr->clrec = clrec;
|
||||||
kptr -> offs = offs;
|
kptr->offs = offs;
|
||||||
kptr -> rank = 0;
|
kptr->rank = 0;
|
||||||
kptr -> styno = 0;
|
kptr->styno = 0;
|
||||||
kptr -> mode = (u_char)mode;
|
kptr->mode = (u_char)mode;
|
||||||
|
|
||||||
if (jrec -> flags & JFLAG_KA) {
|
if(jrec->flags & JFLAG_KA) {
|
||||||
kptr -> ka_fg = 1;
|
kptr->ka_fg = 1;
|
||||||
kptr -> ka_kj = 1;
|
kptr->ka_kj = 1;
|
||||||
flg = 1;
|
flg = 1;
|
||||||
}
|
} else if(clrec->fzk_ka) {
|
||||||
else if (clrec -> fzk_ka) {
|
kptr->ka_fg = 1;
|
||||||
kptr -> ka_fg = 1;
|
kptr->ka_kj = 0;
|
||||||
kptr -> ka_kj = 0;
|
flg = 2;
|
||||||
flg = 2;
|
} else {
|
||||||
}
|
kptr->ka_fg = 0;
|
||||||
else {
|
kptr->ka_kj = 0;
|
||||||
kptr -> ka_fg = 0;
|
flg = 0;
|
||||||
kptr -> ka_kj = 0;
|
|
||||||
flg = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kptr -> sttfg = kptr -> sttkj = 0;
|
kptr->sttfg = kptr->sttkj = 0;
|
||||||
|
|
||||||
if (!(fptr = Settou_ptr(jrec -> sttofs))) return;
|
if(!(fptr = Settou_ptr(jrec->sttofs))) return;
|
||||||
|
|
||||||
if (!SttHiraKnj(fptr)) return;
|
if(!SttHiraKnj(fptr)) return;
|
||||||
|
|
||||||
kptr -> sttfg = 1;
|
kptr->sttfg = 1;
|
||||||
kptr -> sttkj = 0;
|
kptr->sttkj = 0;
|
||||||
|
|
||||||
i = hiraknj(dicbuf + offs);
|
i = hiraknj(dicbuf + offs);
|
||||||
if (offs > 1 && (i == 2 || i == 3)) return;
|
if(offs > 1 && (i == 2 || i == 3)) return;
|
||||||
|
|
||||||
if (khcount >= MAXKOUHONUMBER) return;
|
if(khcount >= MAXKOUHONUMBER) return;
|
||||||
|
|
||||||
kptr++;
|
kptr++;
|
||||||
khcount++;
|
khcount++;
|
||||||
|
|
||||||
if (mode && !offs) nkhcount++;
|
if(mode && !offs) nkhcount++;
|
||||||
|
|
||||||
kptr -> clrec = clrec;
|
kptr->clrec = clrec;
|
||||||
kptr -> offs = offs;
|
kptr->offs = offs;
|
||||||
kptr -> rank = 0;
|
kptr->rank = 0;
|
||||||
kptr -> styno = 0;
|
kptr->styno = 0;
|
||||||
kptr -> mode = (u_char)mode;
|
kptr->mode = (u_char)mode;
|
||||||
|
|
||||||
kptr -> sttfg = 1;
|
kptr->sttfg = 1;
|
||||||
kptr -> sttkj = 1;
|
kptr->sttkj = 1;
|
||||||
|
|
||||||
switch (flg) {
|
switch(flg) {
|
||||||
case 1: kptr -> ka_fg = kptr -> ka_kj = 1; break;
|
case 1:
|
||||||
case 2: kptr -> ka_fg = 1; kptr -> ka_kj = 0; break;
|
kptr->ka_fg = kptr->ka_kj = 1;
|
||||||
default: kptr -> ka_fg = kptr -> ka_kj = 0; break;
|
break;
|
||||||
|
case 2:
|
||||||
|
kptr->ka_fg = 1;
|
||||||
|
kptr->ka_kj = 0;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
kptr->ka_fg = kptr->ka_kj = 0;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ph_setkouho(CLREC* clrec, TypeDicOfs offs, STDYIN* sptr) {
|
||||||
|
JREC* jrec;
|
||||||
|
u_char* p;
|
||||||
|
|
||||||
|
if(sptr) {
|
||||||
void
|
stdytop = sptr;
|
||||||
ph_setkouho(CLREC *clrec, TypeDicOfs offs, STDYIN *sptr)
|
kouhotbl[0].styno = sptr->styno;
|
||||||
{
|
kouhotbl[0].sttkj = sptr->sttkj;
|
||||||
JREC *jrec;
|
} else {
|
||||||
u_char *p;
|
|
||||||
|
|
||||||
if (sptr) {
|
|
||||||
stdytop = sptr;
|
|
||||||
kouhotbl[0].styno = sptr -> styno;
|
|
||||||
kouhotbl[0].sttkj = sptr -> sttkj;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
kouhotbl[0].styno = -1;
|
kouhotbl[0].styno = -1;
|
||||||
kouhotbl[0].sttkj = 0;
|
kouhotbl[0].sttkj = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -137,139 +135,112 @@ ph_setkouho(CLREC *clrec, TypeDicOfs offs, STDYIN *sptr)
|
||||||
kouhotbl[0].offs = offs;
|
kouhotbl[0].offs = offs;
|
||||||
kouhotbl[0].rank = 0;
|
kouhotbl[0].rank = 0;
|
||||||
|
|
||||||
kouhotbl[0].mode = sel_sjmode(jrec = clrec -> jnode);
|
kouhotbl[0].mode = sel_sjmode(jrec = clrec->jnode);
|
||||||
|
|
||||||
kouhotbl[0].sttfg = (u_char)
|
kouhotbl[0].sttfg = (u_char)((p = Settou_ptr(jrec->sttofs)) ? (SttHiraKnj(p) ? 1 : 0) : 0);
|
||||||
((p = Settou_ptr(jrec->sttofs)) ? (SttHiraKnj(p)?1:0) : 0);
|
|
||||||
|
|
||||||
if (jrec -> flags & JFLAG_KA) {
|
if(jrec->flags & JFLAG_KA) {
|
||||||
kouhotbl[0].ka_fg =
|
kouhotbl[0].ka_fg =
|
||||||
kouhotbl[0].ka_kj = 1;
|
kouhotbl[0].ka_kj = 1;
|
||||||
}
|
} else if(clrec->fzk_ka) {
|
||||||
else if (clrec -> fzk_ka) {
|
|
||||||
kouhotbl[0].ka_fg = 1;
|
kouhotbl[0].ka_fg = 1;
|
||||||
kouhotbl[0].ka_kj = 0;
|
kouhotbl[0].ka_kj = 0;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
kouhotbl[0].ka_fg =
|
kouhotbl[0].ka_fg =
|
||||||
kouhotbl[0].ka_kj = 0;
|
kouhotbl[0].ka_kj = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
khcount = 1;
|
khcount = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
hiraknj(u_char *p)
|
hiraknj(u_char* p) {
|
||||||
{
|
char flg = TRUE;
|
||||||
char flg = TRUE;
|
int i;
|
||||||
int i;
|
int result;
|
||||||
int result;
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (p[codesize(*p)] == KANJISTREND) flg = FALSE;
|
if(p[codesize(*p)] == KANJISTREND) flg = FALSE;
|
||||||
switch(*p & KANJIMODEMASK) {
|
switch(*p & KANJIMODEMASK) {
|
||||||
case ZENHIRAASSYUKU:
|
case ZENHIRAASSYUKU:
|
||||||
result = hiraknj_hask(p, &i); break;
|
result = hiraknj_hask(p, &i);
|
||||||
|
break;
|
||||||
|
|
||||||
case ZENKATAASSYUKU:
|
case ZENKATAASSYUKU:
|
||||||
result = hiraknj_kask(p, &i); break;
|
result = hiraknj_kask(p, &i);
|
||||||
|
break;
|
||||||
|
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
result = hiraknj_ofs(p, &i); break;
|
result = hiraknj_ofs(p, &i);
|
||||||
|
break;
|
||||||
|
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
result = hiraknj_atrb(p, &i); break;
|
result = hiraknj_atrb(p, &i);
|
||||||
|
break;
|
||||||
|
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
result = hiraknj_norm(p, &i); break;
|
result = hiraknj_norm(p, &i);
|
||||||
|
break;
|
||||||
|
|
||||||
case KANJIASSYUKU:
|
case KANJIASSYUKU:
|
||||||
result = hiraknj_knj(p, &i); break;
|
result = hiraknj_knj(p, &i);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
result = hiraknj_hira(p, &i);
|
result = hiraknj_hira(p, &i);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result) return result;
|
if(result) return result;
|
||||||
|
|
||||||
p += i;
|
p += i;
|
||||||
} while (flg);
|
} while(flg);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int hiraknj_atrb(u_char* p, int* len) {
|
||||||
|
|
||||||
int
|
|
||||||
hiraknj_atrb(u_char *p, int *len)
|
|
||||||
{
|
|
||||||
*len = 2;
|
*len = 2;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int hiraknj_ofs(u_char* p, int* len) {
|
||||||
|
|
||||||
int
|
|
||||||
hiraknj_ofs(u_char *p, int *len)
|
|
||||||
{
|
|
||||||
*len = 2;
|
*len = 2;
|
||||||
return hiraknj(dicbuf + ((*p & KANJICODEMASK) << 8) + *(p + 1));
|
return hiraknj(dicbuf + ((*p & KANJICODEMASK) << 8) + *(p + 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int hiraknj_knj(u_char* p, int* len) {
|
||||||
|
|
||||||
int
|
|
||||||
hiraknj_knj(u_char *p, int *len)
|
|
||||||
{
|
|
||||||
*len = 1;
|
*len = 1;
|
||||||
return hiraknj(askknj[*p & KNJASSYUKUMASK]);
|
return hiraknj(askknj[*p & KNJASSYUKUMASK]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int hiraknj_hask(u_char* p, int* len) {
|
||||||
|
|
||||||
int
|
|
||||||
hiraknj_hask(u_char *p, int *len)
|
|
||||||
{
|
|
||||||
*len = 1;
|
*len = 1;
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int hiraknj_kask(u_char* p, int* len) {
|
||||||
|
|
||||||
int
|
|
||||||
hiraknj_kask(u_char *p, int *len)
|
|
||||||
{
|
|
||||||
*len = 1;
|
*len = 1;
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int hiraknj_norm(u_char* p, int* len) {
|
||||||
|
|
||||||
int hiraknj_norm(u_char *p, int *len)
|
|
||||||
{
|
|
||||||
*len = codesize(*p);
|
*len = codesize(*p);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int hiraknj_hira(u_char* p, int* len) {
|
||||||
|
u_char ch;
|
||||||
int
|
|
||||||
hiraknj_hira(u_char *p, int *len)
|
|
||||||
{
|
|
||||||
u_char ch;
|
|
||||||
|
|
||||||
*len = codesize(*p);
|
*len = codesize(*p);
|
||||||
ch = *(p + 1);
|
ch = *(p + 1);
|
||||||
|
|
||||||
switch (*p) {
|
switch(*p) {
|
||||||
case 0x24:
|
case 0x24:
|
||||||
if (ch >= 0x21 && ch <= 0x73) return 2;
|
if(ch >= 0x21 && ch <= 0x73) return 2;
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
case 0x25:
|
case 0x25:
|
||||||
if (ch >= 0x21 && ch <= 0x76) return 3;
|
if(ch >= 0x21 && ch <= 0x76) return 3;
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -33,51 +33,44 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:22 $
|
* $SonyDate: 1994/06/03 08:02:22 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_hinsi.h"
|
#include "sj_hinsi.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
u_char*
|
u_char*
|
||||||
getstb(TypeGram hinsi)
|
getstb(TypeGram hinsi) {
|
||||||
{
|
if(hinsi < MEISI_1 || hinsi > TIMEI) return NULL;
|
||||||
if (hinsi < MEISI_1 || hinsi > TIMEI) return NULL;
|
|
||||||
|
|
||||||
return Stbadr(hinsi);
|
return Stbadr(hinsi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setubi(JREC* rec, u_char* stbtbl) {
|
||||||
void
|
u_char* stb;
|
||||||
setubi(JREC *rec, u_char *stbtbl)
|
u_char* yptr;
|
||||||
{
|
u_char* sptr;
|
||||||
u_char *stb;
|
|
||||||
u_char *yptr;
|
|
||||||
u_char *sptr;
|
|
||||||
int slen;
|
int slen;
|
||||||
JREC *new;
|
JREC* new;
|
||||||
int cmp;
|
int cmp;
|
||||||
|
|
||||||
stb = stbtbl--;
|
stb = stbtbl--;
|
||||||
|
|
||||||
yptr = cnvstart + rec -> jlen;
|
yptr = cnvstart + rec->jlen;
|
||||||
|
|
||||||
for ( ; *stb ; stb = sptr + slen + StbKnjLen(stb)) {
|
for(; *stb; stb = sptr + slen + StbKnjLen(stb)) {
|
||||||
|
|
||||||
slen = StbYomiLen(stb);
|
slen = StbYomiLen(stb);
|
||||||
sptr = StbYomiTop(stb);
|
sptr = StbYomiTop(stb);
|
||||||
|
|
||||||
cmp = sstrncmp(yptr, sptr, slen);
|
cmp = sstrncmp(yptr, sptr, slen);
|
||||||
|
|
||||||
if (cmp == OVER || cmp == PARTLY) break;
|
if(cmp == OVER || cmp == PARTLY) break;
|
||||||
|
|
||||||
if ((cmp != MATCH) || isdpnd(*(yptr + slen))) continue;
|
if((cmp != MATCH) || isdpnd(*(yptr + slen))) continue;
|
||||||
|
|
||||||
if (!(new = argjrec((int)(rec -> jlen + slen), rec))) continue;
|
if(!(new = argjrec((int)(rec->jlen + slen), rec))) continue;
|
||||||
|
|
||||||
new -> stbofs = (u_char)(stb - stbtbl);
|
new->stbofs = (u_char)(stb - stbtbl);
|
||||||
new -> flags |= StbBakeru(stb) ? JFLAG_KA : 0;
|
new->flags |= StbBakeru(stb) ? JFLAG_KA : 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,99 +33,88 @@
|
||||||
* $SonyDate: 1995/07/21 05:22:51 $
|
* $SonyDate: 1995/07/21 05:22:51 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_euc.h"
|
#include "sj_euc.h"
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_yomi.h"
|
#include "sj_yomi.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int sj2cd_chr(u_char* euc, u_char* yomi) {
|
||||||
sj2cd_chr(u_char *euc, u_char *yomi)
|
u_char chr;
|
||||||
{
|
|
||||||
u_char chr;
|
|
||||||
|
|
||||||
if ((chr = *euc++) == EUC_a1) {
|
if((chr = *euc++) == EUC_a1) {
|
||||||
chr = *euc;
|
chr = *euc;
|
||||||
if (chr < EUC_START)
|
if(chr < EUC_START)
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
else if (chr <= EUC_END)
|
else if(chr <= EUC_END)
|
||||||
*yomi = Kigou[chr - EUC_START];
|
*yomi = Kigou[chr - EUC_START];
|
||||||
else
|
else
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
} else if (chr == EUC_a2) {
|
} else if(chr == EUC_a2) {
|
||||||
chr = *euc;
|
chr = *euc;
|
||||||
|
|
||||||
if (chr < EUC_START)
|
if(chr < EUC_START)
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
else if (chr <= EUC_END_KIGOU)
|
else if(chr <= EUC_END_KIGOU)
|
||||||
*yomi = Kigou[chr - EUC_START + 94];
|
*yomi = Kigou[chr - EUC_START + 94];
|
||||||
else
|
else
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
} else if (chr == EUC_a3) {
|
} else if(chr == EUC_a3) {
|
||||||
chr = *euc;
|
chr = *euc;
|
||||||
if (chr < EUC_0)
|
if(chr < EUC_0)
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
else if (chr <= EUC_END_0)
|
else if(chr <= EUC_END_0)
|
||||||
*yomi = chr - EUC_0 + N_0;
|
*yomi = chr - EUC_0 + N_0;
|
||||||
else if (chr < EUC_A)
|
else if(chr < EUC_A)
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
else if (chr <= EUC_END_A)
|
else if(chr <= EUC_END_A)
|
||||||
*yomi = chr - EUC_A + A_A;
|
*yomi = chr - EUC_A + A_A;
|
||||||
else if (chr < EUC_a)
|
else if(chr < EUC_a)
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
else if (chr <= EUC_END_a)
|
else if(chr <= EUC_END_a)
|
||||||
*yomi = chr - EUC_a + A_a;
|
*yomi = chr - EUC_a + A_a;
|
||||||
else
|
else
|
||||||
*yomi = Y_ZENKAKU;
|
|
||||||
} else if (chr == EUC_a4) {
|
|
||||||
chr = *euc;
|
|
||||||
if (chr < EUC_START)
|
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
else if (chr <= EUC_END_HIRA)
|
} else if(chr == EUC_a4) {
|
||||||
|
chr = *euc;
|
||||||
|
if(chr < EUC_START)
|
||||||
|
*yomi = Y_ZENKAKU;
|
||||||
|
else if(chr <= EUC_END_HIRA)
|
||||||
*yomi = chr - EUC_START + _XA;
|
*yomi = chr - EUC_START + _XA;
|
||||||
else
|
else
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
} else if (chr == EUC_a5) {
|
} else if(chr == EUC_a5) {
|
||||||
chr = *euc;
|
chr = *euc;
|
||||||
if (chr == EUC_VU)
|
if(chr == EUC_VU)
|
||||||
*yomi = _VU;
|
*yomi = _VU;
|
||||||
else if (chr == EUC_XKA)
|
else if(chr == EUC_XKA)
|
||||||
*yomi = _XKA;
|
*yomi = _XKA;
|
||||||
else if (chr == EUC_XKE)
|
else if(chr == EUC_XKE)
|
||||||
*yomi = _XKE;
|
*yomi = _XKE;
|
||||||
else
|
else
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
|
|
||||||
if (!(chr & 0x80)) {
|
if(!(chr & 0x80)) {
|
||||||
*yomi = Y_HANKAKU;
|
*yomi = Y_HANKAKU;
|
||||||
return 1;
|
return 1;
|
||||||
} else if (chr == SS2) {
|
} else if(chr == SS2) {
|
||||||
*yomi = Y_HANKAKU;
|
*yomi = Y_HANKAKU;
|
||||||
} else if (chr == SS3) {
|
} else if(chr == SS3) {
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
return 3;
|
return 3;
|
||||||
} else
|
} else
|
||||||
*yomi = Y_ZENKAKU;
|
*yomi = Y_ZENKAKU;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int sj2cd_str(u_char* euc, u_char* yomi, int len) {
|
||||||
|
|
||||||
|
if(!len--) return FALSE;
|
||||||
|
|
||||||
int
|
while(*euc && len--) euc += sj2cd_chr(euc, yomi++);
|
||||||
sj2cd_str(u_char *euc, u_char *yomi, int len)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (!len--) return FALSE;
|
|
||||||
|
|
||||||
|
|
||||||
while (*euc && len--) euc += sj2cd_chr(euc, yomi++);
|
|
||||||
*yomi = 0;
|
*yomi = 0;
|
||||||
|
|
||||||
return *euc ? FALSE : TRUE;
|
return *euc ? FALSE : TRUE;
|
||||||
|
|
|
||||||
|
|
@ -39,15 +39,13 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
u_char *
|
u_char*
|
||||||
skiphblk(u_char *ptr)
|
skiphblk(u_char* ptr) {
|
||||||
{
|
|
||||||
ptr++;
|
ptr++;
|
||||||
|
|
||||||
while (*ptr != HINSIBLKTERM) ptr = skipkstr(ptr);
|
while(*ptr != HINSIBLKTERM) ptr = skipkstr(ptr);
|
||||||
|
|
||||||
ptr++;
|
ptr++;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,20 +42,19 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
u_char *
|
u_char*
|
||||||
skipkstr(u_char *ptr)
|
skipkstr(u_char* ptr) {
|
||||||
{
|
int contf = TRUE, csize;
|
||||||
int contf = TRUE, csize;
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
csize = codesize(*ptr);
|
csize = codesize(*ptr);
|
||||||
|
|
||||||
if (ptr[csize] == KANJISTREND) contf = FALSE;
|
if(ptr[csize] == KANJISTREND) contf = FALSE;
|
||||||
|
|
||||||
ptr += csize;
|
ptr += csize;
|
||||||
} while (contf);
|
} while(contf);
|
||||||
|
|
||||||
ptr++;
|
ptr++;
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,41 +37,38 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int yomicmp(u_char* ptr1, u_char* ptr2, u_char* saml) {
|
||||||
yomicmp(u_char *ptr1, u_char *ptr2, u_char *saml)
|
int i, j;
|
||||||
{
|
int same;
|
||||||
int i, j;
|
|
||||||
int same;
|
|
||||||
|
|
||||||
same = *saml;
|
same = *saml;
|
||||||
|
|
||||||
i = getplen(ptr2);
|
i = getplen(ptr2);
|
||||||
j = getnlen(ptr2);
|
j = getnlen(ptr2);
|
||||||
|
|
||||||
if (j == 0) {
|
if(j == 0) {
|
||||||
ptr2 = get_idxptr(prevseg);
|
ptr2 = get_idxptr(prevseg);
|
||||||
|
|
||||||
for (i = same ; i ; i--)
|
for(i = same; i; i--)
|
||||||
if (*ptr1++ != *ptr2++) return OVER;
|
if(*ptr1++ != *ptr2++) return OVER;
|
||||||
|
|
||||||
j = sstrlen(ptr2);
|
j = sstrlen(ptr2);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (i > same)
|
else if(i > same)
|
||||||
return CONT;
|
return CONT;
|
||||||
|
|
||||||
else {
|
else {
|
||||||
if (i < same) same = i;
|
if(i < same) same = i;
|
||||||
ptr1 += same;
|
ptr1 += same;
|
||||||
ptr2 += DOUONBLKSIZENUMBER;
|
ptr2 += DOUONBLKSIZENUMBER;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (j-- > 0) {
|
while(j-- > 0) {
|
||||||
if (*ptr1 > *ptr2) {
|
if(*ptr1 > *ptr2) {
|
||||||
*saml = same;
|
*saml = same;
|
||||||
return CONT;
|
return CONT;
|
||||||
}
|
} else if(*ptr1++ < *ptr2++) {
|
||||||
else if (*ptr1++ < *ptr2++) {
|
|
||||||
return OVER;
|
return OVER;
|
||||||
}
|
}
|
||||||
same++;
|
same++;
|
||||||
|
|
@ -81,24 +78,21 @@ yomicmp(u_char *ptr1, u_char *ptr2, u_char *saml)
|
||||||
return MATCH;
|
return MATCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u_char*
|
||||||
u_char *
|
srchdict(u_char* tagp) {
|
||||||
srchdict(u_char *tagp)
|
TypeDicSeg segno;
|
||||||
{
|
int cmp;
|
||||||
TypeDicSeg segno;
|
int maxlen;
|
||||||
int cmp;
|
|
||||||
int maxlen;
|
|
||||||
|
|
||||||
maxlen = (cnvlen > MAXWDYOMILEN) ? MAXWDYOMILEN : cnvlen;
|
maxlen = (cnvlen > MAXWDYOMILEN) ? MAXWDYOMILEN : cnvlen;
|
||||||
|
|
||||||
while ((int)dicinl <= maxlen) {
|
while((int)dicinl <= maxlen) {
|
||||||
|
|
||||||
|
|
||||||
segno = srchidx(prevseg, (int)dicinl);
|
segno = srchidx(prevseg, (int)dicinl);
|
||||||
|
|
||||||
(*curdict->getdic)(curdict, segno);
|
(*curdict->getdic)(curdict, segno);
|
||||||
|
|
||||||
if (prevseg != segno) {
|
if(prevseg != segno) {
|
||||||
|
|
||||||
prevseg = segno;
|
prevseg = segno;
|
||||||
|
|
||||||
|
|
@ -109,11 +103,11 @@ srchdict(u_char *tagp)
|
||||||
|
|
||||||
tagp = getntag(tagp);
|
tagp = getntag(tagp);
|
||||||
|
|
||||||
if (segend(tagp)) {
|
if(segend(tagp)) {
|
||||||
|
|
||||||
prevseg = ++segno;
|
prevseg = ++segno;
|
||||||
|
|
||||||
if (segno >= curdict->segunit) return NULL;
|
if(segno >= curdict->segunit) return NULL;
|
||||||
|
|
||||||
(*curdict->getdic)(curdict, segno);
|
(*curdict->getdic)(curdict, segno);
|
||||||
|
|
||||||
|
|
@ -121,23 +115,23 @@ srchdict(u_char *tagp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tagp == dicbuf) {
|
if(tagp == dicbuf) {
|
||||||
get_askknj();
|
get_askknj();
|
||||||
tagp += *tagp + 1;
|
tagp += *tagp + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (!segend(tagp)) {
|
while(!segend(tagp)) {
|
||||||
|
|
||||||
cmp = yomicmp(cnvstart, tagp, &dicsaml);
|
cmp = yomicmp(cnvstart, tagp, &dicsaml);
|
||||||
|
|
||||||
if ((int)dicsaml > maxlen) return NULL;
|
if((int)dicsaml > maxlen) return NULL;
|
||||||
|
|
||||||
if (cmp == OVER)
|
if(cmp == OVER)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
else if (cmp == MATCH) {
|
else if(cmp == MATCH) {
|
||||||
|
|
||||||
if (isdpnd(*(cnvstart + dicsaml))) {
|
if(isdpnd(*(cnvstart + dicsaml))) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -153,4 +147,3 @@ srchdict(u_char *tagp)
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,35 +33,30 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:28 $
|
* $SonyDate: 1994/06/03 08:02:28 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_yomi.h"
|
#include "sj_yomi.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int srchhead() {
|
||||||
srchhead()
|
if(*cnvstart == _O) {
|
||||||
{
|
|
||||||
if (*cnvstart == _O) {
|
|
||||||
headcode = SETTOU_O;
|
headcode = SETTOU_O;
|
||||||
headlen = 1;
|
headlen = 1;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (*cnvstart == _GO) {
|
else if(*cnvstart == _GO) {
|
||||||
headcode = SETTOU_GO;
|
headcode = SETTOU_GO;
|
||||||
headlen = 1;
|
headlen = 1;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if ((*cnvstart == _DA) && (*(cnvstart + 1) == _I)) {
|
else if((*cnvstart == _DA) && (*(cnvstart + 1) == _I)) {
|
||||||
headcode = SETTOU_DAI;
|
headcode = SETTOU_DAI;
|
||||||
headlen = 2;
|
headlen = 2;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
headcode = headlen = 0;
|
headcode = headlen = 0;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,18 +38,17 @@
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
TypeDicSeg
|
TypeDicSeg
|
||||||
srchidx(TypeDicSeg low, int len)
|
srchidx(TypeDicSeg low, int len) {
|
||||||
{
|
TypeDicSeg high;
|
||||||
TypeDicSeg high;
|
TypeDicSeg mid;
|
||||||
TypeDicSeg mid;
|
int cmp;
|
||||||
int cmp;
|
u_char* target;
|
||||||
u_char *target;
|
|
||||||
|
|
||||||
if ((high = curdict->segunit - 1) < 1) return 0;
|
if((high = curdict->segunit - 1) < 1) return 0;
|
||||||
|
|
||||||
if (low == (TypeDicSeg)-1) low = 0;
|
if(low == (TypeDicSeg)-1) low = 0;
|
||||||
|
|
||||||
while (low <= high) {
|
while(low <= high) {
|
||||||
|
|
||||||
mid = (low + high) >> 1;
|
mid = (low + high) >> 1;
|
||||||
|
|
||||||
|
|
@ -57,11 +56,11 @@ srchidx(TypeDicSeg low, int len)
|
||||||
|
|
||||||
cmp = istrcmp(cnvstart, target, len, sstrlen(target));
|
cmp = istrcmp(cnvstart, target, len, sstrlen(target));
|
||||||
|
|
||||||
if (cmp == OVER) {
|
if(cmp == OVER) {
|
||||||
high = mid - 1;
|
high = mid - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if(cmp != MATCH){
|
else if(cmp != MATCH) {
|
||||||
low = mid + 1;
|
low = mid + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -72,4 +71,3 @@ srchidx(TypeDicSeg low, int len)
|
||||||
|
|
||||||
return (cmp == OVER && mid != DICSEGBASE) ? mid - 1 : mid;
|
return (cmp == OVER && mid != DICSEGBASE) ? mid - 1 : mid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,138 +41,131 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static void srch_kurai1(), srch_kurai2();
|
static void srch_kurai1(), srch_kurai2();
|
||||||
|
|
||||||
static void
|
static void
|
||||||
srch_josuu_sub(JREC *jrec, TypeGram gram)
|
srch_josuu_sub(JREC* jrec, TypeGram gram) {
|
||||||
{
|
u_char* tagp;
|
||||||
u_char *tagp;
|
DICTL* dp;
|
||||||
DICTL *dp;
|
|
||||||
|
|
||||||
for (dp = dictlist ; dp ; dp = dp -> next) {
|
for(dp = dictlist; dp; dp = dp->next) {
|
||||||
curdict = dp -> dict;
|
curdict = dp->dict;
|
||||||
dicinl = 1;
|
dicinl = 1;
|
||||||
dicsaml = 0;
|
dicsaml = 0;
|
||||||
prevseg = -1;
|
prevseg = -1;
|
||||||
while (tagp = srchdict(tagp)) setnumrec(tagp, jrec, gram);
|
while(tagp = srchdict(tagp)) setnumrec(tagp, jrec, gram);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
srch_josuu(JREC *jrec)
|
srch_josuu(JREC* jrec) {
|
||||||
{
|
u_char* kp;
|
||||||
u_char *kp;
|
|
||||||
int klen;
|
int klen;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
if (headcode && headcode != SETTOU_DAI) return;
|
if(headcode && headcode != SETTOU_DAI) return;
|
||||||
|
|
||||||
kp = cnvstart;
|
kp = cnvstart;
|
||||||
klen = cnvlen;
|
klen = cnvlen;
|
||||||
|
|
||||||
cnvstart += (len = jrec -> numlen);
|
cnvstart += (len = jrec->numlen);
|
||||||
cnvlen -= len;
|
cnvlen -= len;
|
||||||
|
|
||||||
srch_josuu_sub(jrec, JOSUUSI);
|
srch_josuu_sub(jrec, JOSUUSI);
|
||||||
|
|
||||||
if (!headcode) srch_josuu_sub(jrec, JOSUUSI2);
|
if(!headcode) srch_josuu_sub(jrec, JOSUUSI2);
|
||||||
|
|
||||||
cnvstart = kp;
|
cnvstart = kp;
|
||||||
cnvlen = klen;
|
cnvlen = klen;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
setnrec_sub(u_char *p, u_short flag, int stb)
|
setnrec_sub(u_char* p, u_short flag, int stb) {
|
||||||
{
|
JREC* rec;
|
||||||
JREC *rec;
|
int len1;
|
||||||
int len1;
|
int len2;
|
||||||
int len2;
|
|
||||||
|
|
||||||
len1 = len2 = p - suuji_yptr;
|
len1 = len2 = p - suuji_yptr;
|
||||||
if (headcode) len1 += headlen;
|
if(headcode) len1 += headlen;
|
||||||
if (stb) len2--;
|
if(stb) len2--;
|
||||||
|
|
||||||
if ((int)suuji_len == len2) {
|
if((int)suuji_len == len2) {
|
||||||
if (suuji_wkeep) {
|
if(suuji_wkeep) {
|
||||||
memcpy((u_char *)suuji_wkeep, (u_char *)suuji_wbuf,
|
memcpy((u_char*)suuji_wkeep, (u_char*)suuji_wbuf,
|
||||||
sizeof(suuji_wbuf[0]) * NUMWORDBUF);
|
sizeof(suuji_wbuf[0]) * NUMWORDBUF);
|
||||||
}
|
}
|
||||||
if (suuji_ukeep) {
|
if(suuji_ukeep) {
|
||||||
memcpy(suuji_ukeep, suuji_ubuf, NUMKETALENGTH);
|
memcpy(suuji_ukeep, suuji_ubuf, NUMKETALENGTH);
|
||||||
}
|
}
|
||||||
suuji_exit = suuji_keta;
|
suuji_exit = suuji_keta;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rec = argjrec(len1, (JREC *)NULL)) {
|
if(rec = argjrec(len1, (JREC*)NULL)) {
|
||||||
rec -> class = suuji_class;
|
rec->class = suuji_class;
|
||||||
rec -> hinsi = SUUSI;
|
rec->hinsi = SUUSI;
|
||||||
rec -> sttofs = headcode;
|
rec->sttofs = headcode;
|
||||||
rec -> stbofs = (u_char)stb;
|
rec->stbofs = (u_char)stb;
|
||||||
rec -> flags = flag;
|
rec->flags = flag;
|
||||||
rec -> numlen = (u_char)len2;
|
rec->numlen = (u_char)len2;
|
||||||
|
|
||||||
if (!stb) srch_josuu(rec);
|
if(!stb) srch_josuu(rec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
setnrec(u_char *p, u_short flag)
|
setnrec(u_char* p, u_short flag) {
|
||||||
{
|
|
||||||
setnrec_sub(p, flag, 0);
|
setnrec_sub(p, flag, 0);
|
||||||
|
|
||||||
if (!headcode && (*p == Y_S_KIGOU2)) {
|
if(!headcode && (*p == Y_S_KIGOU2)) {
|
||||||
setnrec_sub(p + 1, flag, -1);
|
setnrec_sub(p + 1, flag, -1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static u_char*
|
static u_char*
|
||||||
srchtbl(u_char ch, u_char *tbl, int rec, int n)
|
srchtbl(u_char ch, u_char* tbl, int rec, int n) {
|
||||||
{
|
|
||||||
int high, low, mid;
|
int high, low, mid;
|
||||||
u_char *p;
|
u_char* p;
|
||||||
|
|
||||||
if (!ch) return NULL;
|
if(!ch) return NULL;
|
||||||
|
|
||||||
low = 0;
|
low = 0;
|
||||||
high = n - 1;
|
high = n - 1;
|
||||||
|
|
||||||
while (low <= high) {
|
while(low <= high) {
|
||||||
mid = (low + high) / 2;
|
mid = (low + high) / 2;
|
||||||
p = tbl + mid * rec;
|
p = tbl + mid * rec;
|
||||||
|
|
||||||
if (ch == *p)
|
if(ch == *p)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
else if (ch < *p)
|
else if(ch < *p)
|
||||||
high = mid - 1;
|
high = mid - 1;
|
||||||
|
|
||||||
else
|
else
|
||||||
low = mid + 1;
|
low = mid + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (low > high) return NULL;
|
if(low > high) return NULL;
|
||||||
|
|
||||||
while (mid-- > 0 && ch == *(p - rec)) p -= rec;
|
while(mid-- > 0 && ch == *(p - rec)) p -= rec;
|
||||||
|
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
isconnect(u_char *cnct, int num)
|
isconnect(u_char* cnct, int num) {
|
||||||
{
|
|
||||||
return (cnct[num / 8] & (0x80 >> (num % 8)));
|
return (cnct[num / 8] & (0x80 >> (num % 8)));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
string_cmp(u_char *s, int l, u_char *d)
|
string_cmp(u_char* s, int l, u_char* d) {
|
||||||
{
|
u_char* p;
|
||||||
u_char *p;
|
|
||||||
|
|
||||||
p = s;
|
p = s;
|
||||||
|
|
||||||
while (*s && l-- > 0) {
|
while(*s && l-- > 0) {
|
||||||
if (*s != *d) return 0;
|
if(*s != *d) return 0;
|
||||||
s++;
|
s++;
|
||||||
d++;
|
d++;
|
||||||
}
|
}
|
||||||
|
|
@ -181,8 +174,7 @@ string_cmp(u_char *s, int l, u_char *d)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
check_num(u_char *ptr)
|
check_num(u_char* ptr) {
|
||||||
{
|
|
||||||
int i;
|
int i;
|
||||||
int j;
|
int j;
|
||||||
int k;
|
int k;
|
||||||
|
|
@ -191,37 +183,37 @@ check_num(u_char *ptr)
|
||||||
int lketa;
|
int lketa;
|
||||||
int flg = FALSE;
|
int flg = FALSE;
|
||||||
int cnt;
|
int cnt;
|
||||||
u_short flag;
|
u_short flag;
|
||||||
|
|
||||||
memset((u_char *)suuji_wbuf, 0, sizeof(u_short) * NUMWORDBUF);
|
memset((u_char*)suuji_wbuf, 0, sizeof(u_short) * NUMWORDBUF);
|
||||||
flag = 0;
|
flag = 0;
|
||||||
|
|
||||||
hketa = lketa = cnt = 0;
|
hketa = lketa = cnt = 0;
|
||||||
for (i = suuji_keta ; --i >= 0 ;) {
|
for(i = suuji_keta; --i >= 0;) {
|
||||||
if (hketa >= 4) return FALSE;
|
if(hketa >= 4) return FALSE;
|
||||||
tmp = suuji_ubuf[i];
|
tmp = suuji_ubuf[i];
|
||||||
if (j = ((tmp >> 6) & 3)) {
|
if(j = ((tmp >> 6) & 3)) {
|
||||||
if (j < hketa) return FALSE;
|
if(j < hketa) return FALSE;
|
||||||
if (j > hketa) {
|
if(j > hketa) {
|
||||||
flag |= JFLAG_N01;
|
flag |= JFLAG_N01;
|
||||||
do {
|
do {
|
||||||
suuji_wbuf[hketa] |= (_NUM0<<(lketa*4));
|
suuji_wbuf[hketa] |= (_NUM0 << (lketa * 4));
|
||||||
if (++lketa >= 4) {
|
if(++lketa >= 4) {
|
||||||
lketa = 0;
|
lketa = 0;
|
||||||
hketa++;
|
hketa++;
|
||||||
}
|
}
|
||||||
} while (j > hketa);
|
} while(j > hketa);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
k = ((tmp >> 4) & 3);
|
k = ((tmp >> 4) & 3);
|
||||||
if (j || k) {
|
if(j || k) {
|
||||||
if (k < lketa) return FALSE;
|
if(k < lketa) return FALSE;
|
||||||
if (k > lketa) {
|
if(k > lketa) {
|
||||||
flag |= JFLAG_N01;
|
flag |= JFLAG_N01;
|
||||||
do {
|
do {
|
||||||
suuji_wbuf[hketa] |= (_NUM0<<(lketa*4));
|
suuji_wbuf[hketa] |= (_NUM0 << (lketa * 4));
|
||||||
lketa++;
|
lketa++;
|
||||||
} while (k > lketa);
|
} while(k > lketa);
|
||||||
}
|
}
|
||||||
flg = TRUE;
|
flg = TRUE;
|
||||||
}
|
}
|
||||||
|
|
@ -230,16 +222,16 @@ check_num(u_char *ptr)
|
||||||
cnt++;
|
cnt++;
|
||||||
|
|
||||||
j = (1 << tmp);
|
j = (1 << tmp);
|
||||||
if (j & NUMBERS1) flag |= JFLAG_NS1;
|
if(j & NUMBERS1) flag |= JFLAG_NS1;
|
||||||
if (j & NUMBER01) flag |= JFLAG_N01;
|
if(j & NUMBER01) flag |= JFLAG_N01;
|
||||||
if (j & NUMBER23) flag |= JFLAG_N23;
|
if(j & NUMBER23) flag |= JFLAG_N23;
|
||||||
|
|
||||||
if (tmp != _NUM0) {
|
if(tmp != _NUM0) {
|
||||||
flg = FALSE;
|
flg = FALSE;
|
||||||
|
|
||||||
switch (lketa) {
|
switch(lketa) {
|
||||||
case 0:
|
case 0:
|
||||||
if (tmp == _NUM1) flag |= JFLAG_N_1;
|
if(tmp == _NUM1) flag |= JFLAG_N_1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
|
|
@ -247,22 +239,22 @@ check_num(u_char *ptr)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (++lketa >= 4) {
|
if(++lketa >= 4) {
|
||||||
lketa = 0;
|
lketa = 0;
|
||||||
hketa++;
|
hketa++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flg) return FALSE;
|
if(flg) return FALSE;
|
||||||
|
|
||||||
if (suuji_keta == 1 || tmp != _NUM0) flag |= JFLAG_NN0;
|
if(suuji_keta == 1 || tmp != _NUM0) flag |= JFLAG_NN0;
|
||||||
|
|
||||||
if (hketa)
|
if(hketa)
|
||||||
flag |= (JFLAG_NK4 | JFLAG_NK2);
|
flag |= (JFLAG_NK4 | JFLAG_NK2);
|
||||||
else if (lketa > 1)
|
else if(lketa > 1)
|
||||||
flag |= JFLAG_NK2;
|
flag |= JFLAG_NK2;
|
||||||
|
|
||||||
if (cnt > 1) flag |= JFLAG_NSN;
|
if(cnt > 1) flag |= JFLAG_NSN;
|
||||||
|
|
||||||
setnrec(ptr, flag);
|
setnrec(ptr, flag);
|
||||||
|
|
||||||
|
|
@ -270,57 +262,56 @@ check_num(u_char *ptr)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
srch_number1(u_char *ptr)
|
srch_number1(u_char* ptr) {
|
||||||
{
|
u_char ch;
|
||||||
u_char ch;
|
u_char mode;
|
||||||
u_char mode;
|
u_char* p;
|
||||||
u_char *p;
|
int l;
|
||||||
int l;
|
TypeClass cls;
|
||||||
TypeClass cls;
|
int len;
|
||||||
int len;
|
u_char* tptr;
|
||||||
u_char *tptr;
|
|
||||||
|
|
||||||
if (suuji_keta >= NUMKETALENGTH) return;
|
if(suuji_keta >= NUMKETALENGTH) return;
|
||||||
|
|
||||||
if (!(p = srchtbl((ch = *ptr), Suuji_tbl, SJTBLRECLEN, SJTBLRECNUM)))
|
if(!(p = srchtbl((ch = *ptr), Suuji_tbl, SJTBLRECLEN, SJTBLRECNUM)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
len = suuji_yptr + MAXCLINPUTLEN - ptr;
|
len = suuji_yptr + MAXCLINPUTLEN - ptr;
|
||||||
|
|
||||||
for ( ; *SjTblYPos(p) == ch ; p += SJTBLRECLEN) {
|
for(; *SjTblYPos(p) == ch; p += SJTBLRECLEN) {
|
||||||
if (!(l = string_cmp(SjTblYPos(p), SJTBLYLEN, ptr))) continue;
|
if(!(l = string_cmp(SjTblYPos(p), SJTBLYLEN, ptr))) continue;
|
||||||
|
|
||||||
if (l > len) continue;
|
if(l > len) continue;
|
||||||
|
|
||||||
mode = *SjTblModeP(p);
|
mode = *SjTblModeP(p);
|
||||||
suuji_ubuf[suuji_keta++] = SjTblNumber(mode);
|
suuji_ubuf[suuji_keta++] = SjTblNumber(mode);
|
||||||
tptr = ptr + l;
|
tptr = ptr + l;
|
||||||
|
|
||||||
switch (suuji_class) {
|
switch(suuji_class) {
|
||||||
case C_N_ARABIA:
|
case C_N_ARABIA:
|
||||||
if (!(mode & SJTBLNARABIAF)) break;
|
if(!(mode & SJTBLNARABIAF)) break;
|
||||||
|
|
||||||
check_num(tptr);
|
check_num(tptr);
|
||||||
srch_number1(tptr);
|
srch_number1(tptr);
|
||||||
srch_kurai2(tptr, (u_char *)NULL);
|
srch_kurai2(tptr, (u_char*)NULL);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case C_N_SUUJI:
|
case C_N_SUUJI:
|
||||||
if (mode & (SJTBLNARABIAF | SJTBLNYOMIF)) break;
|
if(mode & (SJTBLNARABIAF | SJTBLNYOMIF)) break;
|
||||||
|
|
||||||
check_num(tptr);
|
check_num(tptr);
|
||||||
srch_number1(tptr);
|
srch_number1(tptr);
|
||||||
srch_kurai1(tptr, (u_char *)NULL);
|
srch_kurai1(tptr, (u_char*)NULL);
|
||||||
srch_kurai2(tptr, (u_char *)NULL);
|
srch_kurai2(tptr, (u_char*)NULL);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case C_N_KAZU:
|
case C_N_KAZU:
|
||||||
case C_N_NANSUU:
|
case C_N_NANSUU:
|
||||||
if (mode & SJTBLNNARABIF) break;
|
if(mode & SJTBLNNARABIF) break;
|
||||||
if (mode & SJTBLNNANSUUF) {
|
if(mode & SJTBLNNANSUUF) {
|
||||||
cls = suuji_class;
|
cls = suuji_class;
|
||||||
suuji_class = C_N_NANSUU;
|
suuji_class = C_N_NANSUU;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -328,32 +319,29 @@ srch_number1(u_char *ptr)
|
||||||
srch_kurai1(tptr, SjTblCnctP(p));
|
srch_kurai1(tptr, SjTblCnctP(p));
|
||||||
srch_kurai2(tptr, SjTblCnctP(p));
|
srch_kurai2(tptr, SjTblCnctP(p));
|
||||||
|
|
||||||
if (mode & SJTBLNNANSUUF) suuji_class = cls;
|
if(mode & SJTBLNNANSUUF) suuji_class = cls;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (mode & SJTBLNARABIAF) {
|
if(mode & SJTBLNARABIAF) {
|
||||||
suuji_class = C_N_ARABIA;
|
suuji_class = C_N_ARABIA;
|
||||||
check_num(tptr);
|
check_num(tptr);
|
||||||
srch_number1(tptr);
|
srch_number1(tptr);
|
||||||
srch_kurai2(tptr, (u_char *)NULL);
|
srch_kurai2(tptr, (u_char*)NULL);
|
||||||
|
|
||||||
suuji_class = C_N_KAZU;
|
suuji_class = C_N_KAZU;
|
||||||
}
|
} else if(mode & SJTBLNYOMIF) {
|
||||||
else if (mode & SJTBLNYOMIF) {
|
if(mode & SJTBLNNANSUUF)
|
||||||
if (mode & SJTBLNNANSUUF)
|
|
||||||
suuji_class = C_N_NANSUU;
|
suuji_class = C_N_NANSUU;
|
||||||
else
|
else
|
||||||
suuji_class = C_N_KAZU;
|
suuji_class = C_N_KAZU;
|
||||||
check_num(tptr);
|
check_num(tptr);
|
||||||
}
|
} else if(mode & SJTBLNNARABIF) {
|
||||||
else if (mode & SJTBLNNARABIF) {
|
|
||||||
suuji_class = C_N_SUUJI;
|
suuji_class = C_N_SUUJI;
|
||||||
check_num(tptr);
|
check_num(tptr);
|
||||||
srch_number1(tptr);
|
srch_number1(tptr);
|
||||||
break;
|
break;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
suuji_class = C_N_SUUJI;
|
suuji_class = C_N_SUUJI;
|
||||||
srch_number1(tptr);
|
srch_number1(tptr);
|
||||||
|
|
||||||
|
|
@ -370,35 +358,33 @@ srch_number1(u_char *ptr)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
srch_kurai1(u_char *ptr, u_char *cnct)
|
srch_kurai1(u_char* ptr, u_char* cnct) {
|
||||||
{
|
u_char ch;
|
||||||
u_char ch;
|
u_char* p;
|
||||||
u_char *p;
|
int l;
|
||||||
int l;
|
int keta;
|
||||||
int keta;
|
int mode;
|
||||||
int mode;
|
TypeClass cls;
|
||||||
TypeClass cls;
|
int len;
|
||||||
int len;
|
u_char* tptr;
|
||||||
u_char *tptr;
|
|
||||||
|
|
||||||
if (!(p = srchtbl((ch = *ptr), Kurai1_tbl, KR1TBLRECLEN, KR1TBLRECNUM)))
|
if(!(p = srchtbl((ch = *ptr), Kurai1_tbl, KR1TBLRECLEN, KR1TBLRECNUM)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
len = suuji_yptr + MAXCLINPUTLEN - ptr;
|
len = suuji_yptr + MAXCLINPUTLEN - ptr;
|
||||||
|
|
||||||
for ( ; *Kr1TblYPos(p) == ch ; p += KR1TBLRECLEN) {
|
for(; *Kr1TblYPos(p) == ch; p += KR1TBLRECLEN) {
|
||||||
if (!(l = string_cmp(Kr1TblYPos(p), KR1TBLYLEN, ptr))) continue;
|
if(!(l = string_cmp(Kr1TblYPos(p), KR1TBLYLEN, ptr))) continue;
|
||||||
|
|
||||||
if (l > len) continue;
|
if(l > len) continue;
|
||||||
|
|
||||||
mode = *Kr1TblModeP(p);
|
mode = *Kr1TblModeP(p);
|
||||||
keta = Kr1TblKeta(mode);
|
keta = Kr1TblKeta(mode);
|
||||||
tptr = ptr + l;
|
tptr = ptr + l;
|
||||||
|
|
||||||
if (suuji_class != C_N_KAZU && suuji_class != C_N_NANSUU) {
|
if(suuji_class != C_N_KAZU && suuji_class != C_N_NANSUU) {
|
||||||
cls = suuji_class;
|
cls = suuji_class;
|
||||||
suuji_class = (suuji_class == C_N_ARABIA) ?
|
suuji_class = (suuji_class == C_N_ARABIA) ? C_N_ARAKURA : C_N_KANKURA;
|
||||||
C_N_ARAKURA : C_N_KANKURA;
|
|
||||||
suuji_ubuf[suuji_keta - 1] |= (keta << 4);
|
suuji_ubuf[suuji_keta - 1] |= (keta << 4);
|
||||||
check_num(tptr);
|
check_num(tptr);
|
||||||
suuji_class = cls;
|
suuji_class = cls;
|
||||||
|
|
@ -406,23 +392,22 @@ srch_kurai1(u_char *ptr, u_char *cnct)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cnct) {
|
if(cnct) {
|
||||||
if (!isconnect(cnct, (int)Kr1TblCnct(mode))) continue;
|
if(!isconnect(cnct, (int)Kr1TblCnct(mode))) continue;
|
||||||
suuji_ubuf[suuji_keta - 1] |= (keta << 4);
|
suuji_ubuf[suuji_keta - 1] |= (keta << 4);
|
||||||
}
|
} else {
|
||||||
else {
|
if(!Kr1TblTop(mode)) continue;
|
||||||
if (!Kr1TblTop(mode)) continue;
|
if(suuji_keta >= NUMKETALENGTH) continue;
|
||||||
if (suuji_keta >= NUMKETALENGTH) continue;
|
|
||||||
suuji_ubuf[suuji_keta++] = (_NUM1 | (keta << 4));
|
suuji_ubuf[suuji_keta++] = (_NUM1 | (keta << 4));
|
||||||
}
|
}
|
||||||
|
|
||||||
check_num(tptr);
|
check_num(tptr);
|
||||||
|
|
||||||
srch_number1(tptr);
|
srch_number1(tptr);
|
||||||
srch_kurai1(tptr, (u_char *)NULL);
|
srch_kurai1(tptr, (u_char*)NULL);
|
||||||
srch_kurai2(tptr, Kr1TblCnctP(p));
|
srch_kurai2(tptr, Kr1TblCnctP(p));
|
||||||
|
|
||||||
if (cnct)
|
if(cnct)
|
||||||
suuji_ubuf[suuji_keta - 1] &= 0xcf;
|
suuji_ubuf[suuji_keta - 1] &= 0xcf;
|
||||||
else
|
else
|
||||||
suuji_keta--;
|
suuji_keta--;
|
||||||
|
|
@ -430,59 +415,56 @@ srch_kurai1(u_char *ptr, u_char *cnct)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
srch_kurai2(u_char *ptr, u_char *cnct)
|
srch_kurai2(u_char* ptr, u_char* cnct) {
|
||||||
{
|
u_char ch;
|
||||||
u_char ch;
|
u_char* p;
|
||||||
u_char *p;
|
int l;
|
||||||
int l;
|
int keta;
|
||||||
int keta;
|
int mode;
|
||||||
int mode;
|
TypeClass cls;
|
||||||
TypeClass cls;
|
int len;
|
||||||
int len;
|
u_char* tptr;
|
||||||
u_char *tptr;
|
|
||||||
|
|
||||||
if ((suuji_ubuf[0] & 0x0f) == _NUM0) return;
|
if((suuji_ubuf[0] & 0x0f) == _NUM0) return;
|
||||||
|
|
||||||
if (!(p = srchtbl((ch = *ptr), Kurai2_tbl, KR2TBLRECLEN, KR2TBLRECNUM)))
|
if(!(p = srchtbl((ch = *ptr), Kurai2_tbl, KR2TBLRECLEN, KR2TBLRECNUM)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
len = suuji_yptr + MAXCLINPUTLEN - ptr;
|
len = suuji_yptr + MAXCLINPUTLEN - ptr;
|
||||||
|
|
||||||
for ( ; *Kr2TblYPos(p) == ch ; p += KR2TBLRECLEN) {
|
for(; *Kr2TblYPos(p) == ch; p += KR2TBLRECLEN) {
|
||||||
if (!(l = string_cmp(Kr2TblYPos(p), KR2TBLYLEN, ptr))) continue;
|
if(!(l = string_cmp(Kr2TblYPos(p), KR2TBLYLEN, ptr))) continue;
|
||||||
|
|
||||||
if (l > len) continue;
|
if(l > len) continue;
|
||||||
|
|
||||||
mode = *Kr2TblModeP(p);
|
mode = *Kr2TblModeP(p);
|
||||||
keta = Kr2TblKeta(mode);
|
keta = Kr2TblKeta(mode);
|
||||||
tptr = ptr + l;
|
tptr = ptr + l;
|
||||||
|
|
||||||
if (suuji_class != C_N_KAZU && suuji_class != C_N_NANSUU) {
|
if(suuji_class != C_N_KAZU && suuji_class != C_N_NANSUU) {
|
||||||
suuji_ubuf[suuji_keta - 1] |= (keta << 6);
|
suuji_ubuf[suuji_keta - 1] |= (keta << 6);
|
||||||
cls = suuji_class;
|
cls = suuji_class;
|
||||||
suuji_class = (suuji_class == C_N_ARABIA) ?
|
suuji_class = (suuji_class == C_N_ARABIA) ? C_N_ARAKURA : C_N_KANKURA;
|
||||||
C_N_ARAKURA : C_N_KANKURA;
|
|
||||||
check_num(tptr);
|
check_num(tptr);
|
||||||
suuji_class = cls;
|
suuji_class = cls;
|
||||||
suuji_ubuf[suuji_keta - 1] &= 0x3f;
|
suuji_ubuf[suuji_keta - 1] &= 0x3f;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cnct) {
|
if(cnct) {
|
||||||
if (!isconnect(cnct, (int)Kr2TblCnct(mode))) continue;
|
if(!isconnect(cnct, (int)Kr2TblCnct(mode))) continue;
|
||||||
suuji_ubuf[suuji_keta - 1] |= (keta << 6);
|
suuji_ubuf[suuji_keta - 1] |= (keta << 6);
|
||||||
}
|
} else {
|
||||||
else {
|
if(suuji_keta >= NUMKETALENGTH) continue;
|
||||||
if (suuji_keta >= NUMKETALENGTH) continue;
|
|
||||||
suuji_ubuf[suuji_keta++] = (_NUM1 | (keta << 6));
|
suuji_ubuf[suuji_keta++] = (_NUM1 | (keta << 6));
|
||||||
}
|
}
|
||||||
|
|
||||||
check_num(tptr);
|
check_num(tptr);
|
||||||
|
|
||||||
srch_number1(tptr);
|
srch_number1(tptr);
|
||||||
srch_kurai1(tptr, (u_char *)NULL);
|
srch_kurai1(tptr, (u_char*)NULL);
|
||||||
|
|
||||||
if (cnct)
|
if(cnct)
|
||||||
suuji_ubuf[suuji_keta - 1] &= 0x3f;
|
suuji_ubuf[suuji_keta - 1] &= 0x3f;
|
||||||
else
|
else
|
||||||
suuji_keta--;
|
suuji_keta--;
|
||||||
|
|
@ -490,53 +472,47 @@ srch_kurai2(u_char *ptr, u_char *cnct)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
srch_number2(u_char *p)
|
srch_number2(u_char* p) {
|
||||||
{
|
u_char ch;
|
||||||
u_char ch;
|
int i;
|
||||||
int i;
|
|
||||||
|
|
||||||
suuji_class = (*p == N_0) ? C_N_SUUJILONG : C_N_KAZULONG;
|
suuji_class = (*p == N_0) ? C_N_SUUJILONG : C_N_KAZULONG;
|
||||||
|
|
||||||
suuji_keta = suuji_comma = 0;
|
suuji_keta = suuji_comma = 0;
|
||||||
for (i = 0 ; i < MAXCLINPUTLEN ; i++) {
|
for(i = 0; i < MAXCLINPUTLEN; i++) {
|
||||||
if ((ch = *p++) == Y_COMMA) {
|
if((ch = *p++) == Y_COMMA) {
|
||||||
if (suuji_keta) {
|
if(suuji_keta) {
|
||||||
if (suuji_comma) {
|
if(suuji_comma) {
|
||||||
if (suuji_comma != 3) break;
|
if(suuji_comma != 3) break;
|
||||||
|
} else {
|
||||||
|
if(suuji_keta >= 4) break;
|
||||||
|
if(*suuji_yptr == N_0) break;
|
||||||
}
|
}
|
||||||
else {
|
} else
|
||||||
if (suuji_keta >= 4) break;
|
|
||||||
if (*suuji_yptr == N_0) break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
suuji_comma = 1;
|
suuji_comma = 1;
|
||||||
ch = *p++;
|
ch = *p++;
|
||||||
}
|
} else if(suuji_comma) {
|
||||||
else if (suuji_comma) {
|
|
||||||
suuji_comma++;
|
suuji_comma++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (suuji_comma > 3) break;
|
if(suuji_comma > 3) break;
|
||||||
|
|
||||||
if (!(Chrtbl[ch] & NUMBER)) break;
|
if(!(Chrtbl[ch] & NUMBER)) break;
|
||||||
|
|
||||||
if (suuji_keta < NUMKETALENGTH) {
|
if(suuji_keta < NUMKETALENGTH) {
|
||||||
suuji_ubuf[suuji_keta] = ch - N_0 + _NUM0;
|
suuji_ubuf[suuji_keta] = ch - N_0 + _NUM0;
|
||||||
}
|
}
|
||||||
suuji_keta++;
|
suuji_keta++;
|
||||||
|
|
||||||
if (!suuji_comma && suuji_keta > NUMKETALENGTH) {
|
if(!suuji_comma && suuji_keta > NUMKETALENGTH) {
|
||||||
setnrec(p, 0);
|
setnrec(p, 0);
|
||||||
}
|
} else if(suuji_comma == 3) {
|
||||||
else if (suuji_comma == 3) {
|
if(suuji_keta <= NUMKETALENGTH) {
|
||||||
if (suuji_keta <= NUMKETALENGTH) {
|
|
||||||
suuji_class = C_N_ARACMA;
|
suuji_class = C_N_ARACMA;
|
||||||
check_num(p);
|
check_num(p);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
suuji_class = C_N_KAZULCMA;
|
suuji_class = C_N_KAZULCMA;
|
||||||
setnrec(p, 0);
|
setnrec(p, 0);
|
||||||
}
|
}
|
||||||
|
|
@ -545,32 +521,29 @@ srch_number2(u_char *p)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
srchnum_sub(u_char *p)
|
srchnum_sub(u_char* p) {
|
||||||
{
|
|
||||||
suuji_yptr = p;
|
suuji_yptr = p;
|
||||||
|
|
||||||
suuji_comma = suuji_keta = 0;
|
suuji_comma = suuji_keta = 0;
|
||||||
suuji_class = 0;
|
suuji_class = 0;
|
||||||
srch_number1(p);
|
srch_number1(p);
|
||||||
|
|
||||||
suuji_keta = 0;
|
suuji_keta = 0;
|
||||||
suuji_class = C_N_KAZU;
|
suuji_class = C_N_KAZU;
|
||||||
srch_kurai1(p, (u_char *)NULL);
|
srch_kurai1(p, (u_char*)NULL);
|
||||||
if (suuji_exit) return;
|
if(suuji_exit) return;
|
||||||
|
|
||||||
srch_number2(p);
|
srch_number2(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void srchnum() {
|
||||||
srchnum()
|
|
||||||
{
|
|
||||||
suuji_len = suuji_exit = 0;
|
suuji_len = suuji_exit = 0;
|
||||||
|
|
||||||
srchnum_sub(cnvstart);
|
srchnum_sub(cnvstart);
|
||||||
|
|
||||||
if (!headcode && (*cnvstart == Y_S_KIGOU1)) {
|
if(!headcode && (*cnvstart == Y_S_KIGOU1)) {
|
||||||
headcode = SETTOU_KIGOU;
|
headcode = SETTOU_KIGOU;
|
||||||
headlen = 1;
|
headlen = 1;
|
||||||
|
|
||||||
srchnum_sub(cnvstart + 1);
|
srchnum_sub(cnvstart + 1);
|
||||||
|
|
||||||
|
|
@ -578,29 +551,24 @@ srchnum()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void setwdnum(u_char* p, int len, u_short* wd) {
|
||||||
setwdnum(u_char *p, int len, u_short *wd)
|
|
||||||
{
|
|
||||||
suuji_len = (u_char)len;
|
suuji_len = (u_char)len;
|
||||||
suuji_wkeep = wd;
|
suuji_wkeep = wd;
|
||||||
suuji_ukeep = NULL;
|
suuji_ukeep = NULL;
|
||||||
headcode = headlen = 0;
|
headcode = headlen = 0;
|
||||||
suuji_exit = 0;
|
suuji_exit = 0;
|
||||||
|
|
||||||
srchnum_sub(p);
|
srchnum_sub(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int setucnum(u_char* p, int len, u_char* ud) {
|
||||||
setucnum(u_char *p, int len, u_char *ud)
|
|
||||||
{
|
|
||||||
suuji_len = (u_char)len;
|
suuji_len = (u_char)len;
|
||||||
suuji_wkeep = NULL;
|
suuji_wkeep = NULL;
|
||||||
suuji_ukeep = ud;
|
suuji_ukeep = ud;
|
||||||
headcode = headlen = 0;
|
headcode = headlen = 0;
|
||||||
suuji_exit = 0;
|
suuji_exit = 0;
|
||||||
|
|
||||||
srchnum_sub(p);
|
srchnum_sub(p);
|
||||||
|
|
||||||
return (int)suuji_exit;
|
return (int)suuji_exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,18 +33,14 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:31 $
|
* $SonyDate: 1994/06/03 08:02:31 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int sstrcmp(u_char* src, u_char* dst) {
|
||||||
sstrcmp(u_char *src, u_char *dst)
|
for(; *src; src++, dst++)
|
||||||
{
|
if(*src != *dst) break;
|
||||||
for ( ; *src ; src++, dst++)
|
|
||||||
if (*src != *dst) break;
|
|
||||||
|
|
||||||
return (*src - *dst);
|
return (*src - *dst);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,22 +33,17 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:32 $
|
* $SonyDate: 1994/06/03 08:02:32 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int sstrlen(u_char* ptr) {
|
||||||
sstrlen(u_char *ptr)
|
u_char* head;
|
||||||
{
|
|
||||||
u_char *head;
|
|
||||||
|
|
||||||
head = ptr;
|
head = ptr;
|
||||||
|
|
||||||
while (*ptr) ptr++;
|
while(*ptr) ptr++;
|
||||||
|
|
||||||
return (ptr - head);
|
return (ptr - head);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,25 +33,21 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:33 $
|
* $SonyDate: 1994/06/03 08:02:33 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
#include "sj_const.h"
|
#include "sj_const.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int sstrncmp(u_char* src, u_char* dst, int len) {
|
||||||
sstrncmp(u_char *src, u_char *dst, int len)
|
|
||||||
{
|
|
||||||
|
|
||||||
while (len-- > 0) {
|
while(len-- > 0) {
|
||||||
|
|
||||||
if (*src > *dst)
|
if(*src > *dst)
|
||||||
return CONT;
|
return CONT;
|
||||||
|
|
||||||
if (*src < *dst) {
|
if(*src < *dst) {
|
||||||
if (!*src) return PARTLY;
|
if(!*src) return PARTLY;
|
||||||
return OVER;
|
return OVER;
|
||||||
}
|
}
|
||||||
src++;
|
src++;
|
||||||
|
|
@ -60,4 +56,3 @@ sstrncmp(u_char *src, u_char *dst, int len)
|
||||||
|
|
||||||
return MATCH;
|
return MATCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,6 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:34 $
|
* $SonyDate: 1994/06/03 08:02:34 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
#include "sj_yomi.h"
|
#include "sj_yomi.h"
|
||||||
|
|
@ -43,105 +40,118 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static u_char name_stb[] = {
|
static u_char name_stb[] = {
|
||||||
0x22, MEISI_1, _KU, _NN,
|
0x22, MEISI_1, _KU, _NN,
|
||||||
0xb7, 0xaf,
|
0xb7, 0xaf,
|
||||||
0x22, MEISI_1, _SA, _MA,
|
0x22, MEISI_1, _SA, _MA,
|
||||||
0xcd, 0xcd,
|
0xcd, 0xcd,
|
||||||
0x24, MEISI_1, _SA, _NN,
|
0x24, MEISI_1, _SA, _NN,
|
||||||
0xa4, 0xb5, 0xa4, 0xf3,
|
0xa4, 0xb5, 0xa4, 0xf3,
|
||||||
0x12, MEISI_1, _SI,
|
0x12, MEISI_1, _SI,
|
||||||
0xbb, 0xe1,
|
0xbb, 0xe1,
|
||||||
0x36, MEISI_1, _TI, _XYA, _NN,
|
0x36, MEISI_1, _TI, _XYA, _NN,
|
||||||
0xa4, 0xc1, 0xa4, 0xe3, 0xa4, 0xf3,
|
0xa4, 0xc1, 0xa4, 0xe3, 0xa4, 0xf3,
|
||||||
0x22, MEISI_1, _DO, _NO,
|
0x22, MEISI_1, _DO, _NO,
|
||||||
0xc5, 0xc2,
|
0xc5, 0xc2,
|
||||||
0x00
|
0x00};
|
||||||
};
|
|
||||||
|
|
||||||
static u_char timei_stb[] = {
|
static u_char timei_stb[] = {
|
||||||
0x22, MEISI_1, _E, _KI,
|
0x22, MEISI_1, _E, _KI,
|
||||||
0xb1, 0xd8,
|
0xb1, 0xd8,
|
||||||
0x44, MEISI_1, _E, _KI, _HA, _TU,
|
0x44, MEISI_1, _E, _KI, _HA, _TU,
|
||||||
0xb1, 0xd8, 0xc8, 0xaf,
|
0xb1, 0xd8, 0xc8, 0xaf,
|
||||||
0x44, MEISI_1, _E, _KI, _YU, _KI,
|
0x44, MEISI_1, _E, _KI, _YU, _KI,
|
||||||
0xb1, 0xd8, 0xb9, 0xd4,
|
0xb1, 0xd8, 0xb9, 0xd4,
|
||||||
0x22, MEISI_1, _GU, _NN,
|
0x22, MEISI_1, _GU, _NN,
|
||||||
0xb7, 0xb4,
|
0xb7, 0xb4,
|
||||||
0x12, MEISI_1, _SI,
|
0x12, MEISI_1, _SI,
|
||||||
0xbb, 0xd4,
|
0xbb, 0xd4,
|
||||||
0x32, MEISI_1, _TI, _XYO, _U,
|
0x32, MEISI_1, _TI, _XYO, _U,
|
||||||
0xc4, 0xae,
|
0xc4, 0xae,
|
||||||
0x22, MEISI_1, _HA, _TU,
|
0x22, MEISI_1, _HA, _TU,
|
||||||
0xc8, 0xaf,
|
0xc8, 0xaf,
|
||||||
0x22, MEISI_1, _MA, _TI,
|
0x22, MEISI_1, _MA, _TI,
|
||||||
0xc4, 0xae,
|
0xc4, 0xae,
|
||||||
0x22, MEISI_1, _MU, _RA,
|
0x22, MEISI_1, _MU, _RA,
|
||||||
0xc2, 0xbc,
|
0xc2, 0xbc,
|
||||||
0x00
|
0x00};
|
||||||
};
|
|
||||||
|
|
||||||
static u_char meisi_stb[] = {
|
static u_char meisi_stb[] = {
|
||||||
0x44, MEISI_6, _A, _TU, _KA, _I,
|
0x44, MEISI_6, _A, _TU, _KA, _I,
|
||||||
0xb0, 0xb7, 0xa4, 0xa4,
|
0xb0, 0xb7, 0xa4, 0xa4,
|
||||||
0x1a, MEISI_6, _KA,
|
0x1a, MEISI_6, _KA,
|
||||||
0xb2, 0xbd,
|
0xb2, 0xbd,
|
||||||
0x22, MEISI_8, _TE, _KI,
|
0x22, MEISI_8, _TE, _KI,
|
||||||
0xc5, 0xaa,
|
0xc5, 0xaa,
|
||||||
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I,
|
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I,
|
||||||
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4,
|
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4,
|
||||||
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U,
|
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U,
|
||||||
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6,
|
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6,
|
||||||
0x22, MEISI_8, _HU, _U,
|
0x22, MEISI_8, _HU, _U,
|
||||||
0xc9, 0xf7,
|
0xc9, 0xf7,
|
||||||
0x00
|
0x00};
|
||||||
};
|
|
||||||
|
|
||||||
static u_char sahen_stb[] = {
|
static u_char sahen_stb[] = {
|
||||||
0x44, MEISI_6, _A, _TU, _KA, _I,
|
0x44, MEISI_6, _A, _TU, _KA, _I,
|
||||||
0xb0, 0xb7, 0xa4, 0xa4,
|
0xb0, 0xb7, 0xa4, 0xa4,
|
||||||
0x1a, MEISI_6, _KA,
|
0x1a, MEISI_6, _KA,
|
||||||
0xb2, 0xbd,
|
0xb2, 0xbd,
|
||||||
0x12, MEISI_11, _GO,
|
0x12, MEISI_11, _GO,
|
||||||
0xb8, 0xe5,
|
0xb8, 0xe5,
|
||||||
0x22, MEISI_11, _GO, _TO,
|
0x22, MEISI_11, _GO, _TO,
|
||||||
0xcb, 0xe8,
|
0xcb, 0xe8,
|
||||||
0x32, MEISI_11, _ZI, _XYO, _U,
|
0x32, MEISI_11, _ZI, _XYO, _U,
|
||||||
0xbe, 0xe5,
|
0xbe, 0xe5,
|
||||||
0x32, MEISI_11, _TI, _XYU, _U,
|
0x32, MEISI_11, _TI, _XYU, _U,
|
||||||
0xc3, 0xe6,
|
0xc3, 0xe6,
|
||||||
0x22, MEISI_8, _TE, _KI,
|
0x22, MEISI_8, _TE, _KI,
|
||||||
0xc5, 0xaa,
|
0xc5, 0xaa,
|
||||||
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I,
|
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I,
|
||||||
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4,
|
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4,
|
||||||
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U,
|
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U,
|
||||||
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6,
|
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6,
|
||||||
0x22, MEISI_8, _HU, _U,
|
0x22, MEISI_8, _HU, _U,
|
||||||
0xc9, 0xf7,
|
0xc9, 0xf7,
|
||||||
0x22, MEISI_11, _MA, _E,
|
0x22, MEISI_11, _MA, _E,
|
||||||
0xc1, 0xb0,
|
0xc1, 0xb0,
|
||||||
0x00
|
0x00};
|
||||||
};
|
|
||||||
|
|
||||||
static u_char human_stb[] = {
|
static u_char human_stb[] = {
|
||||||
0x24, MEISI_1, _SA, _NN,
|
0x24, MEISI_1, _SA, _NN,
|
||||||
0xa4, 0xb5, 0xa4, 0xf3,
|
0xa4, 0xb5, 0xa4, 0xf3,
|
||||||
0x00
|
0x00};
|
||||||
};
|
|
||||||
|
|
||||||
static u_char ippan_stb[] = {
|
static u_char ippan_stb[] = {
|
||||||
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I,
|
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _I,
|
||||||
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4,
|
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa4,
|
||||||
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U,
|
0x56, FUKUSI_1, _NI, _TO, _MO, _NA, _U,
|
||||||
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6,
|
0xa4, 0xcb, 0xc8, 0xbc, 0xa4, 0xa6,
|
||||||
0x00
|
0x00};
|
||||||
};
|
|
||||||
|
|
||||||
u_char *stbadr[] = {
|
u_char* stbadr[] = {
|
||||||
0,
|
0,
|
||||||
ippan_stb, ippan_stb, ippan_stb, meisi_stb, sahen_stb,
|
ippan_stb,
|
||||||
sahen_stb, sahen_stb, meisi_stb, meisi_stb, meisi_stb,
|
ippan_stb,
|
||||||
ippan_stb, ippan_stb, human_stb, ippan_stb, ippan_stb,
|
ippan_stb,
|
||||||
ippan_stb, ippan_stb, ippan_stb, 0, 0,
|
meisi_stb,
|
||||||
name_stb, name_stb, 0, timei_stb,
|
sahen_stb,
|
||||||
|
sahen_stb,
|
||||||
|
sahen_stb,
|
||||||
|
meisi_stb,
|
||||||
|
meisi_stb,
|
||||||
|
meisi_stb,
|
||||||
|
ippan_stb,
|
||||||
|
ippan_stb,
|
||||||
|
human_stb,
|
||||||
|
ippan_stb,
|
||||||
|
ippan_stb,
|
||||||
|
ippan_stb,
|
||||||
|
ippan_stb,
|
||||||
|
ippan_stb,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
name_stb,
|
||||||
|
name_stb,
|
||||||
|
0,
|
||||||
|
timei_stb,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -33,58 +33,39 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:37 $
|
* $SonyDate: 1994/06/03 08:02:37 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
static u_char o_settou[] = {
|
static u_char o_settou[] = {
|
||||||
0xA1, 0xb8, 0xe6, 0xa4, 0xaa
|
0xA1, 0xb8, 0xe6, 0xa4, 0xaa};
|
||||||
};
|
|
||||||
|
|
||||||
static u_char go_settou[] = {
|
static u_char go_settou[] = {
|
||||||
0xA1, 0xb8, 0xe6, 0xa4, 0xb4
|
0xA1, 0xb8, 0xe6, 0xa4, 0xb4};
|
||||||
};
|
|
||||||
|
|
||||||
static u_char dai_settou[] = {
|
static u_char dai_settou[] = {
|
||||||
0x22, 0xc2, 0xe8, 0xc2, 0xe8
|
0x22, 0xc2, 0xe8, 0xc2, 0xe8};
|
||||||
};
|
|
||||||
|
|
||||||
static u_char kigou_settou[] = {
|
static u_char kigou_settou[] = {
|
||||||
0x01
|
0x01};
|
||||||
};
|
|
||||||
|
|
||||||
|
u_char* settou_ptr[] = {
|
||||||
|
NULL, o_settou, go_settou, dai_settou, kigou_settou};
|
||||||
|
|
||||||
|
u_char scncttbl[2][24] = {
|
||||||
|
{
|
||||||
|
|
||||||
u_char *settou_ptr[] = {
|
0x48, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
NULL, o_settou, go_settou, dai_settou, kigou_settou
|
|
||||||
};
|
|
||||||
|
|
||||||
|
0x18, 0x18, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0xff,
|
||||||
|
|
||||||
|
0x00, 0x1f, 0xf0, 0x00, 0xff, 0x00, 0x00, 0x00},
|
||||||
|
|
||||||
u_char scncttbl[2][24] = {
|
{
|
||||||
{
|
|
||||||
|
|
||||||
0x48, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x22, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
|
||||||
|
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
|
||||||
0x18, 0x18, 0x00, 0x00, 0x1f, 0xf0, 0x00, 0xff,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
|
||||||
|
|
||||||
|
|
||||||
0x00, 0x1f, 0xf0, 0x00, 0xff, 0x00, 0x00, 0x00
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
0x22, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
|
|
||||||
|
|
||||||
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
|
|
||||||
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
|
||||||
|
|
@ -37,96 +37,94 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int study(STDYOUT* stdy) {
|
||||||
study(STDYOUT *stdy)
|
STDYOUT outp;
|
||||||
{
|
STDYIN* p1;
|
||||||
STDYOUT outp;
|
STDYIN* p2;
|
||||||
STDYIN *p1;
|
int wcnt;
|
||||||
STDYIN *p2;
|
int ret;
|
||||||
int wcnt;
|
TypeDicSeg seg;
|
||||||
int ret;
|
TypeDicOfs ofs;
|
||||||
TypeDicSeg seg;
|
TypeStyNum nm;
|
||||||
TypeDicOfs ofs;
|
TypeStyNum wi;
|
||||||
TypeStyNum nm;
|
|
||||||
TypeStyNum wi;
|
|
||||||
|
|
||||||
if (!StudyExist()) return STUDYNODICT;
|
if(!StudyExist()) return STUDYNODICT;
|
||||||
|
|
||||||
memcpy((u_char *)&outp, (u_char *)stdy, sizeof(outp));
|
memcpy((u_char*)&outp, (u_char*)stdy, sizeof(outp));
|
||||||
|
|
||||||
if (outp.stdy1.offset == 0) return STUDYNOTSTUDY;
|
if(outp.stdy1.offset == 0) return STUDYNOTSTUDY;
|
||||||
|
|
||||||
p1 = srchstdy(outp.stdy1.seg, outp.stdy1.offset, outp.stdy1.dicid);
|
p1 = srchstdy(outp.stdy1.seg, outp.stdy1.offset, outp.stdy1.dicid);
|
||||||
if (p1) {
|
if(p1) {
|
||||||
nm = p1 -> styno;
|
nm = p1->styno;
|
||||||
|
|
||||||
for (wcnt = STUDYCOUNT, p2 = STUDYDICT ; wcnt-- ; p2++) {
|
for(wcnt = STUDYCOUNT, p2 = STUDYDICT; wcnt--; p2++) {
|
||||||
if (p2 -> styno < nm) p2 -> styno++;
|
if(p2->styno < nm) p2->styno++;
|
||||||
}
|
}
|
||||||
|
|
||||||
p1 -> styno = 1;
|
p1->styno = 1;
|
||||||
|
|
||||||
if (outp.sttfg) p1 -> sttkj = outp.stdy1.sttkj;
|
if(outp.sttfg) p1->sttkj = outp.stdy1.sttkj;
|
||||||
if (outp.ka_fg) p1 -> ka_kj = outp.stdy1.ka_kj;
|
if(outp.ka_fg) p1->ka_kj = outp.stdy1.ka_kj;
|
||||||
|
|
||||||
p1 -> nmflg = outp.stdy1.nmflg;
|
p1->nmflg = outp.stdy1.nmflg;
|
||||||
|
|
||||||
putstydic();
|
putstydic();
|
||||||
|
|
||||||
return STUDYNORMEND;
|
return STUDYNORMEND;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(STUDYCOUNT >= STUDYMAX) {
|
||||||
|
|
||||||
if (STUDYCOUNT >= STUDYMAX) {
|
p1 = STUDYDICT;
|
||||||
|
p2 = NULL;
|
||||||
p1 = STUDYDICT; p2 = NULL; wi = 0;
|
wi = 0;
|
||||||
for (wcnt = STUDYMAX ; wcnt-- ; p1++) {
|
for(wcnt = STUDYMAX; wcnt--; p1++) {
|
||||||
if ((nm = p1 -> styno + 1) > wi) {
|
if((nm = p1->styno + 1) > wi) {
|
||||||
wi = nm;
|
wi = nm;
|
||||||
p2 = p1;
|
p2 = p1;
|
||||||
}
|
}
|
||||||
|
|
||||||
p1 -> styno = nm;
|
p1->styno = nm;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p2) {
|
if(p2) {
|
||||||
mvmemi((u_char *)(p2 + 1), (u_char *)p2,
|
mvmemi((u_char*)(p2 + 1), (u_char*)p2,
|
||||||
(STUDYTAIL - p2) * STUDYRECSIZE);
|
(STUDYTAIL - p2) * STUDYRECSIZE);
|
||||||
STUDYCOUNT -= 1;
|
STUDYCOUNT -= 1;
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
return STUDYERROR;
|
return STUDYERROR;
|
||||||
|
|
||||||
ret = STUDYFULLAREA;
|
ret = STUDYFULLAREA;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
p1 = STUDYDICT;
|
p1 = STUDYDICT;
|
||||||
for (wcnt = STUDYCOUNT ; wcnt-- ; p1++) p1 -> styno++;
|
for(wcnt = STUDYCOUNT; wcnt--; p1++) p1->styno++;
|
||||||
|
|
||||||
ret = STUDYNORMEND;
|
ret = STUDYNORMEND;
|
||||||
}
|
}
|
||||||
|
|
||||||
p1 = STUDYDICT;
|
p1 = STUDYDICT;
|
||||||
seg = outp.stdy1.seg;
|
seg = outp.stdy1.seg;
|
||||||
for (wcnt = STUDYCOUNT ; wcnt && (p1 -> seg < seg) ; ) {
|
for(wcnt = STUDYCOUNT; wcnt && (p1->seg < seg);) {
|
||||||
wcnt--; p1++;
|
wcnt--;
|
||||||
}
|
|
||||||
|
|
||||||
ofs = outp.stdy1.offset;
|
|
||||||
while (wcnt-- && (p1 -> seg == seg)) {
|
|
||||||
if (p1 -> offset > ofs) break;
|
|
||||||
p1++;
|
p1++;
|
||||||
}
|
}
|
||||||
|
|
||||||
mvmemd((u_char *)(STUDYTAIL - 1), (u_char *)STUDYTAIL,
|
ofs = outp.stdy1.offset;
|
||||||
(u_char *)(STUDYTAIL - 1) - (u_char *)p1);
|
while(wcnt-- && (p1->seg == seg)) {
|
||||||
p1 -> offset = outp.stdy1.offset;
|
if(p1->offset > ofs) break;
|
||||||
p1 -> seg = outp.stdy1.seg;
|
p1++;
|
||||||
p1 -> dicid = outp.stdy1.dicid;
|
}
|
||||||
p1 -> styno = 1;
|
|
||||||
p1 -> sttkj = (outp.sttfg) ? outp.stdy1.sttkj : 0;
|
mvmemd((u_char*)(STUDYTAIL - 1), (u_char*)STUDYTAIL,
|
||||||
p1 -> ka_kj = (outp.ka_fg) ? outp.stdy1.ka_kj : 0;
|
(u_char*)(STUDYTAIL - 1) - (u_char*)p1);
|
||||||
p1 -> nmflg = outp.stdy1.nmflg;
|
p1->offset = outp.stdy1.offset;
|
||||||
|
p1->seg = outp.stdy1.seg;
|
||||||
|
p1->dicid = outp.stdy1.dicid;
|
||||||
|
p1->styno = 1;
|
||||||
|
p1->sttkj = (outp.sttfg) ? outp.stdy1.sttkj : 0;
|
||||||
|
p1->ka_kj = (outp.ka_fg) ? outp.stdy1.ka_kj : 0;
|
||||||
|
p1->nmflg = outp.stdy1.nmflg;
|
||||||
STUDYCOUNT += 1;
|
STUDYCOUNT += 1;
|
||||||
|
|
||||||
putstydic();
|
putstydic();
|
||||||
|
|
@ -134,54 +132,51 @@ study(STDYOUT *stdy)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
STDYIN *
|
STDYIN*
|
||||||
srchstdy(TypeDicSeg seg, TypeDicOfs ofs, TypeDicID dicid)
|
srchstdy(TypeDicSeg seg, TypeDicOfs ofs, TypeDicID dicid) {
|
||||||
{
|
|
||||||
int high;
|
int high;
|
||||||
int mid;
|
int mid;
|
||||||
int low;
|
int low;
|
||||||
STDYIN *ptr;
|
STDYIN* ptr;
|
||||||
|
|
||||||
|
if(!StudyExist()) return NULL;
|
||||||
|
|
||||||
if (!StudyExist()) return NULL;
|
if(!STUDYCOUNT || !ofs) return NULL;
|
||||||
|
|
||||||
if (!STUDYCOUNT || !ofs) return NULL;
|
low = 0;
|
||||||
|
|
||||||
low = 0;
|
|
||||||
high = STUDYCOUNT - 1;
|
high = STUDYCOUNT - 1;
|
||||||
|
|
||||||
for ( ; ; ) {
|
for(;;) {
|
||||||
mid = ((low + high) >> 1);
|
mid = ((low + high) >> 1);
|
||||||
|
|
||||||
if (STUDYDICT[mid].seg > seg)
|
if(STUDYDICT[mid].seg > seg)
|
||||||
high = mid - 1;
|
high = mid - 1;
|
||||||
|
|
||||||
else if (STUDYDICT[mid].seg < seg)
|
else if(STUDYDICT[mid].seg < seg)
|
||||||
low = mid + 1;
|
low = mid + 1;
|
||||||
|
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (low > high) return NULL;
|
if(low > high) return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
low = mid + 1;
|
low = mid + 1;
|
||||||
ptr = &STUDYDICT[mid];
|
ptr = &STUDYDICT[mid];
|
||||||
while (ptr -> seg == seg) {
|
while(ptr->seg == seg) {
|
||||||
if (ptr -> offset < ofs) break;
|
if(ptr->offset < ofs) break;
|
||||||
if (ptr -> dicid == dicid && ptr -> offset == ofs) return ptr;
|
if(ptr->dicid == dicid && ptr->offset == ofs) return ptr;
|
||||||
if (!mid--) break;
|
if(!mid--) break;
|
||||||
ptr--;
|
ptr--;
|
||||||
}
|
}
|
||||||
|
|
||||||
ptr = &STUDYDICT[low];
|
ptr = &STUDYDICT[low];
|
||||||
mid = STUDYCOUNT - low;
|
mid = STUDYCOUNT - low;
|
||||||
while (mid-- && ptr -> seg == seg) {
|
while(mid-- && ptr->seg == seg) {
|
||||||
if (ptr -> offset > ofs) break;
|
if(ptr->offset > ofs) break;
|
||||||
if (ptr -> dicid == dicid && ptr -> offset == ofs) return ptr;
|
if(ptr->dicid == dicid && ptr->offset == ofs) return ptr;
|
||||||
ptr++;
|
ptr++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,6 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:39 $
|
* $SonyDate: 1994/06/03 08:02:39 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_const.h"
|
#include "sj_const.h"
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
|
|
@ -44,153 +41,126 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
#define NA SJTBLNARABIAF
|
#define NA SJTBLNARABIAF
|
||||||
#define NY SJTBLNYOMIF
|
#define NY SJTBLNYOMIF
|
||||||
#define NN SJTBLNNARABIF
|
#define NN SJTBLNNARABIF
|
||||||
#define NS SJTBLNNANSUUF
|
#define NS SJTBLNNANSUUF
|
||||||
|
|
||||||
|
u_char suuji_tbl[] = {
|
||||||
|
N_0, _NIL, _NIL, _NUM0 | NA, 0x00, 0x00,
|
||||||
|
N_1, _NIL, _NIL, _NUM1 | NA, 0xec, 0x07,
|
||||||
|
N_2, _NIL, _NIL, _NUM2 | NA, 0xec, 0x07,
|
||||||
|
N_3, _NIL, _NIL, _NUM3 | NA, 0xff, 0x07,
|
||||||
|
N_4, _NIL, _NIL, _NUM4 | NA, 0xec, 0x07,
|
||||||
|
N_5, _NIL, _NIL, _NUM5 | NA, 0xec, 0x07,
|
||||||
|
N_6, _NIL, _NIL, _NUM6 | NA, 0xec, 0xc7,
|
||||||
|
N_7, _NIL, _NIL, _NUM7 | NA, 0xec, 0x07,
|
||||||
|
N_8, _NIL, _NIL, _NUM8 | NA, 0xec, 0xc7,
|
||||||
|
N_9, _NIL, _NIL, _NUM9 | NA, 0xec, 0x07,
|
||||||
|
_I, _TI, _NIL, _NUM1, 0x00, 0x05,
|
||||||
|
_I, _XTU, _NIL, _NUM1S | NY, 0x20, 0x02,
|
||||||
|
_KI, _XYU, _U, _NUM9, 0xec, 0x07,
|
||||||
|
_KU, _NIL, _NIL, _NUM9 | NY, 0x00, 0x00,
|
||||||
|
_GO, _NIL, _NIL, _NUM5, 0xec, 0x07,
|
||||||
|
_GO, _U, _NIL, _NUM5 | NN, 0x00, 0x00,
|
||||||
|
_SA, _NN, _NIL, _NUM3, 0xd3, 0x07,
|
||||||
|
_SI, _NIL, _NIL, _NUM4 | NY, 0x80, 0x00,
|
||||||
|
_SI, _I, _NIL, _NUM4 | NN, 0x00, 0x00,
|
||||||
|
_SI, _TI, _NIL, _NUM7, 0xec, 0x07,
|
||||||
|
_SU, _U, _NIL, _NUMS | NY | NS, 0xec, 0x07,
|
||||||
|
_ZE, _RO, _NIL, _NUM0 | NN, 0x00, 0x00,
|
||||||
|
_NA, _NA, _NIL, _NUM7, 0xec, 0x07,
|
||||||
|
_NA, _NN, _NIL, _NUMN | NY | NS, 0xf3, 0x07,
|
||||||
|
_NI, _NIL, _NIL, _NUM2, 0xec, 0x07,
|
||||||
|
_NI, _I, _NIL, _NUM2 | NN, 0x00, 0x00,
|
||||||
|
_HA, _TI, _NIL, _NUM8, 0xc0, 0x05,
|
||||||
|
_HA, _XTU, _NIL, _NUM8 | NY, 0x20, 0xc2,
|
||||||
|
_MA, _RU, _NIL, _NUM0 | NN, 0x00, 0x00,
|
||||||
|
_YO, _NIL, _NIL, _NUM4 | NY, 0x00, 0x00,
|
||||||
|
_YO, _NN, _NIL, _NUM4, 0xec, 0x07,
|
||||||
|
_RE, _I, _NIL, _NUM0 | NN, 0xec, 0x00,
|
||||||
|
_RO, _KU, _NIL, _NUM6, 0xe0, 0x07,
|
||||||
|
_RO, _XTU, _NIL, _NUM6 | NY, 0x00, 0xc2,
|
||||||
|
0};
|
||||||
|
|
||||||
|
u_char kurai1_tbl[] = {
|
||||||
|
_ZI, _XYU, _U, (1 << 4) + 0 + KR1TBLTOPF, 0x05,
|
||||||
|
_ZI, _XYU, _XTU, (1 << 4) + 1 + KR1TBLTOPF, 0x02,
|
||||||
|
_SE, _NN, _NIL, (3 << 4) + 2 + KR1TBLTOPF, 0x07,
|
||||||
|
_ZE, _NN, _NIL, (3 << 4) + 3, 0x05,
|
||||||
|
_HI, _XYA, _KU, (2 << 4) + 4 + KR1TBLTOPF, 0x07,
|
||||||
|
_HI, _XYA, _XTU, (2 << 4) + 5 + KR1TBLTOPF, 0x02,
|
||||||
|
_BI, _XYA, _KU, (2 << 4) + 6, 0x07,
|
||||||
|
_BI, _XYA, _XTU, (2 << 4) + 7, 0x00,
|
||||||
|
_PI, _XYA, _KU, (2 << 4) + 8, 0x07,
|
||||||
|
_PI, _XYA, _XTU, (2 << 4) + 9, 0x00,
|
||||||
|
0};
|
||||||
|
|
||||||
u_char suuji_tbl[] = {
|
u_char kurai2_tbl[] = {
|
||||||
N_0,_NIL,_NIL, _NUM0 | NA, 0x00, 0x00,
|
_O, _KU, _NIL, (2 << 4) + 13,
|
||||||
N_1,_NIL,_NIL, _NUM1 | NA, 0xec, 0x07,
|
_TI, _XYO, _U, (3 << 4) + 14,
|
||||||
N_2,_NIL,_NIL, _NUM2 | NA, 0xec, 0x07,
|
_MA, _NN, _NIL, (1 << 4) + 15,
|
||||||
N_3,_NIL,_NIL, _NUM3 | NA, 0xff, 0x07,
|
0};
|
||||||
N_4,_NIL,_NIL, _NUM4 | NA, 0xec, 0x07,
|
|
||||||
N_5,_NIL,_NIL, _NUM5 | NA, 0xec, 0x07,
|
|
||||||
N_6,_NIL,_NIL, _NUM6 | NA, 0xec, 0xc7,
|
|
||||||
N_7,_NIL,_NIL, _NUM7 | NA, 0xec, 0x07,
|
|
||||||
N_8,_NIL,_NIL, _NUM8 | NA, 0xec, 0xc7,
|
|
||||||
N_9,_NIL,_NIL, _NUM9 | NA, 0xec, 0x07,
|
|
||||||
_I, _TI, _NIL, _NUM1, 0x00, 0x05,
|
|
||||||
_I, _XTU,_NIL, _NUM1S | NY, 0x20, 0x02,
|
|
||||||
_KI,_XYU,_U, _NUM9, 0xec, 0x07,
|
|
||||||
_KU,_NIL,_NIL, _NUM9 | NY, 0x00, 0x00,
|
|
||||||
_GO,_NIL,_NIL, _NUM5, 0xec, 0x07,
|
|
||||||
_GO,_U, _NIL, _NUM5 | NN, 0x00, 0x00,
|
|
||||||
_SA,_NN, _NIL, _NUM3, 0xd3, 0x07,
|
|
||||||
_SI,_NIL,_NIL, _NUM4 | NY, 0x80, 0x00,
|
|
||||||
_SI,_I, _NIL, _NUM4 | NN, 0x00, 0x00,
|
|
||||||
_SI,_TI, _NIL, _NUM7, 0xec, 0x07,
|
|
||||||
_SU,_U, _NIL, _NUMS | NY | NS, 0xec, 0x07,
|
|
||||||
_ZE,_RO, _NIL, _NUM0 | NN, 0x00, 0x00,
|
|
||||||
_NA,_NA, _NIL, _NUM7, 0xec, 0x07,
|
|
||||||
_NA,_NN, _NIL, _NUMN | NY | NS, 0xf3, 0x07,
|
|
||||||
_NI,_NIL,_NIL, _NUM2, 0xec, 0x07,
|
|
||||||
_NI,_I, _NIL, _NUM2 | NN, 0x00, 0x00,
|
|
||||||
_HA,_TI, _NIL, _NUM8, 0xc0, 0x05,
|
|
||||||
_HA,_XTU,_NIL, _NUM8 | NY, 0x20, 0xc2,
|
|
||||||
_MA,_RU, _NIL, _NUM0 | NN, 0x00, 0x00,
|
|
||||||
_YO,_NIL,_NIL, _NUM4 | NY, 0x00, 0x00,
|
|
||||||
_YO,_NN, _NIL, _NUM4, 0xec, 0x07,
|
|
||||||
_RE,_I, _NIL, _NUM0 | NN, 0xec, 0x00,
|
|
||||||
_RO,_KU, _NIL, _NUM6, 0xe0, 0x07,
|
|
||||||
_RO,_XTU,_NIL, _NUM6 | NY, 0x00, 0xc2,
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
|
u_char num1tbl[] = {
|
||||||
|
0xa3, 0xb0,
|
||||||
|
0xa3, 0xb1,
|
||||||
|
0xa3, 0xb2,
|
||||||
|
0xa3, 0xb3,
|
||||||
|
0xa3, 0xb4,
|
||||||
|
0xa3, 0xb5,
|
||||||
|
0xa3, 0xb6,
|
||||||
|
0xa3, 0xb7,
|
||||||
|
0xa3, 0xb8,
|
||||||
|
0xa3, 0xb9,
|
||||||
|
0xa3, 0xb1,
|
||||||
|
0xbf, 0xf4,
|
||||||
|
0xb2, 0xbf};
|
||||||
|
|
||||||
|
u_char num2tbl[] = {
|
||||||
|
0xa1, 0xbb,
|
||||||
|
0xb0, 0xec,
|
||||||
|
0xc6, 0xf3,
|
||||||
|
0xbb, 0xb0,
|
||||||
|
0xbb, 0xcd,
|
||||||
|
0xb8, 0xde,
|
||||||
|
0xcf, 0xbb,
|
||||||
|
0xbc, 0xb7,
|
||||||
|
0xc8, 0xac,
|
||||||
|
0xb6, 0xe5,
|
||||||
|
0xb0, 0xec,
|
||||||
|
0xbf, 0xf4,
|
||||||
|
0xb2, 0xbf};
|
||||||
|
|
||||||
u_char kurai1_tbl[] = {
|
u_char num3tbl[] = {
|
||||||
_ZI,_XYU,_U, (1<<4)+0+KR1TBLTOPF, 0x05,
|
0xce, 0xed,
|
||||||
_ZI,_XYU,_XTU, (1<<4)+1+KR1TBLTOPF, 0x02,
|
0xb0, 0xed,
|
||||||
_SE,_NN, _NIL, (3<<4)+2+KR1TBLTOPF, 0x07,
|
0xc6, 0xf5,
|
||||||
_ZE,_NN, _NIL, (3<<4)+3, 0x05,
|
0xbb, 0xb2,
|
||||||
_HI,_XYA,_KU, (2<<4)+4+KR1TBLTOPF, 0x07,
|
0xbb, 0xcd,
|
||||||
_HI,_XYA,_XTU, (2<<4)+5+KR1TBLTOPF, 0x02,
|
0xb8, 0xde,
|
||||||
_BI,_XYA,_KU, (2<<4)+6, 0x07,
|
0xcf, 0xbb,
|
||||||
_BI,_XYA,_XTU, (2<<4)+7, 0x00,
|
0xbc, 0xb7,
|
||||||
_PI,_XYA,_KU, (2<<4)+8, 0x07,
|
0xc8, 0xac,
|
||||||
_PI,_XYA,_XTU, (2<<4)+9, 0x00,
|
0xb6, 0xe5,
|
||||||
0
|
0xb0, 0xed,
|
||||||
};
|
0xbf, 0xf4,
|
||||||
|
0xb2, 0xbf};
|
||||||
|
|
||||||
|
u_char num4tbl[] = {
|
||||||
|
0xc0, 0xe9,
|
||||||
|
0xc9, 0xb4,
|
||||||
|
0xbd, 0xbd,
|
||||||
|
0};
|
||||||
|
|
||||||
|
u_char num5tbl[] = {
|
||||||
|
0xc0, 0xe9,
|
||||||
|
0xc9, 0xb4,
|
||||||
|
0xbd, 0xa6,
|
||||||
|
0};
|
||||||
|
|
||||||
u_char kurai2_tbl[] = {
|
u_char num6tbl[] = {
|
||||||
_O, _KU, _NIL, (2<<4)+13,
|
0xc3, 0xfb,
|
||||||
_TI,_XYO,_U, (3<<4)+14,
|
0xb2, 0xaf,
|
||||||
_MA,_NN, _NIL, (1<<4)+15,
|
0xcb, 0xfc,
|
||||||
0
|
0};
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
u_char num1tbl[] = {
|
|
||||||
0xa3, 0xb0,
|
|
||||||
0xa3, 0xb1,
|
|
||||||
0xa3, 0xb2,
|
|
||||||
0xa3, 0xb3,
|
|
||||||
0xa3, 0xb4,
|
|
||||||
0xa3, 0xb5,
|
|
||||||
0xa3, 0xb6,
|
|
||||||
0xa3, 0xb7,
|
|
||||||
0xa3, 0xb8,
|
|
||||||
0xa3, 0xb9,
|
|
||||||
0xa3, 0xb1,
|
|
||||||
0xbf, 0xf4,
|
|
||||||
0xb2, 0xbf
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
u_char num2tbl[] = {
|
|
||||||
0xa1, 0xbb,
|
|
||||||
0xb0, 0xec,
|
|
||||||
0xc6, 0xf3,
|
|
||||||
0xbb, 0xb0,
|
|
||||||
0xbb, 0xcd,
|
|
||||||
0xb8, 0xde,
|
|
||||||
0xcf, 0xbb,
|
|
||||||
0xbc, 0xb7,
|
|
||||||
0xc8, 0xac,
|
|
||||||
0xb6, 0xe5,
|
|
||||||
0xb0, 0xec,
|
|
||||||
0xbf, 0xf4,
|
|
||||||
0xb2, 0xbf
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
u_char num3tbl[] = {
|
|
||||||
0xce, 0xed,
|
|
||||||
0xb0, 0xed,
|
|
||||||
0xc6, 0xf5,
|
|
||||||
0xbb, 0xb2,
|
|
||||||
0xbb, 0xcd,
|
|
||||||
0xb8, 0xde,
|
|
||||||
0xcf, 0xbb,
|
|
||||||
0xbc, 0xb7,
|
|
||||||
0xc8, 0xac,
|
|
||||||
0xb6, 0xe5,
|
|
||||||
0xb0, 0xed,
|
|
||||||
0xbf, 0xf4,
|
|
||||||
0xb2, 0xbf
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
u_char num4tbl[] = {
|
|
||||||
0xc0, 0xe9,
|
|
||||||
0xc9, 0xb4,
|
|
||||||
0xbd, 0xbd,
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
u_char num5tbl[] = {
|
|
||||||
0xc0, 0xe9,
|
|
||||||
0xc9, 0xb4,
|
|
||||||
0xbd, 0xa6,
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
u_char num6tbl[] = {
|
|
||||||
0xc3, 0xfb,
|
|
||||||
0xb2, 0xaf,
|
|
||||||
0xcb, 0xfc,
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
|
||||||
|
|
@ -33,40 +33,33 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:40 $
|
* $SonyDate: 1994/06/03 08:02:40 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_kcnv.h"
|
#include "sj_kcnv.h"
|
||||||
#include "sj_right.h"
|
#include "sj_right.h"
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
int
|
int terminate(TypeCnct right, u_char* yomi) {
|
||||||
terminate(TypeCnct right, u_char *yomi)
|
u_char ch;
|
||||||
{
|
|
||||||
u_char ch;
|
|
||||||
|
|
||||||
|
if((yomi > cnvstart) && (Chrtbl[*(yomi - 1)] & NUMBER))
|
||||||
if ((yomi > cnvstart) && (Chrtbl[*(yomi - 1)] & NUMBER))
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
ch = *yomi;
|
ch = *yomi;
|
||||||
if (Termtbl[right] & T_SHUUJO) {
|
if(Termtbl[right] & T_SHUUJO) {
|
||||||
|
|
||||||
if (!ch) return TRUE;
|
if(!ch) return TRUE;
|
||||||
|
|
||||||
if (Chrtbl[ch] & FZKTOP) return FALSE;
|
if(Chrtbl[ch] & FZKTOP) return FALSE;
|
||||||
|
|
||||||
if (!isdpnd(ch)) return SHU;
|
if(!isdpnd(ch)) return SHU;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Termtbl[right] & T_KANOU) {
|
if(Termtbl[right] & T_KANOU) {
|
||||||
|
|
||||||
if (ch && (Chrtbl[ch] & FZKTOP)) return FALSE;
|
if(ch && (Chrtbl[ch] & FZKTOP)) return FALSE;
|
||||||
|
|
||||||
if (!isdpnd(ch)) return TRUE;
|
if(!isdpnd(ch)) return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,6 @@
|
||||||
* $SonyDate: 1994/06/03 08:02:42 $
|
* $SonyDate: 1994/06/03 08:02:42 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "sj_rename.h"
|
#include "sj_rename.h"
|
||||||
#include "sj_typedef.h"
|
#include "sj_typedef.h"
|
||||||
#include "sj_const.h"
|
#include "sj_const.h"
|
||||||
|
|
@ -42,286 +40,285 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
u_char termtbl[] = {
|
u_char termtbl[] = {
|
||||||
0,
|
0,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + P_JOSHI_A,
|
T_KANOU + P_JOSHI_A,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + 8,
|
T_KANOU + 8,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
|
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_E,
|
T_KANOU + P_JOSHI_E,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
|
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_KANOU + P_RENYOU_J,
|
T_KANOU + P_RENYOU_J,
|
||||||
T_KANOU + P_RENYOU_J,
|
T_KANOU + P_RENYOU_J,
|
||||||
T_KANOU + P_RENYOU_J,
|
T_KANOU + P_RENYOU_J,
|
||||||
T_KANOU + P_RENYOU_J,
|
T_KANOU + P_RENYOU_J,
|
||||||
|
|
||||||
T_KANOU + P_RENYOU_M,
|
T_KANOU + P_RENYOU_M,
|
||||||
T_KANOU + P_RENYOU_M,
|
T_KANOU + P_RENYOU_M,
|
||||||
T_KANOU + P_RENYOU_M,
|
T_KANOU + P_RENYOU_M,
|
||||||
T_KANOU + P_RENYOU_M,
|
T_KANOU + P_RENYOU_M,
|
||||||
T_KANOU + P_RENYOU_M,
|
T_KANOU + P_RENYOU_M,
|
||||||
T_KANOU + P_RENYOU_M,
|
T_KANOU + P_RENYOU_M,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
T_KANOU + P_RENYOU_J,
|
T_KANOU + P_RENYOU_J,
|
||||||
|
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_RENYOU_J,
|
T_KANOU + P_RENYOU_J,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
|
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
|
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
|
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_SHUUJO+ P_SHUUSI,
|
T_SHUUJO + P_SHUUSI,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
|
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + RENTAI + 8,
|
T_KANOU + RENTAI + 8,
|
||||||
T_KANOU + RENTAI + 10,
|
T_KANOU + RENTAI + 10,
|
||||||
T_KANOU + RENTAI + 7,
|
T_KANOU + RENTAI + 7,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + RENTAI + 7,
|
T_KANOU + RENTAI + 7,
|
||||||
T_KANOU + RENTAI + 6,
|
T_KANOU + RENTAI + 6,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + RENTAI + 7,
|
T_KANOU + RENTAI + 7,
|
||||||
|
|
||||||
T_KANOU + RENTAI + 6,
|
T_KANOU + RENTAI + 6,
|
||||||
T_KANOU + RENTAI + 6,
|
T_KANOU + RENTAI + 6,
|
||||||
T_SHUUJO+ RENTAI + 6,
|
T_SHUUJO + RENTAI + 6,
|
||||||
T_KANOU + RENTAI + 6,
|
T_KANOU + RENTAI + 6,
|
||||||
T_KANOU + RENTAI + 7,
|
T_KANOU + RENTAI + 7,
|
||||||
T_KANOU + RENTAI + 6,
|
T_KANOU + RENTAI + 6,
|
||||||
T_KANOU + RENTAI + 6,
|
T_KANOU + RENTAI + 6,
|
||||||
T_KANOU + RENTAI + 6,
|
T_KANOU + RENTAI + 6,
|
||||||
T_KANOU + RENTAI + 6,
|
T_KANOU + RENTAI + 6,
|
||||||
T_KANOU + RENTAI + 6,
|
T_KANOU + RENTAI + 6,
|
||||||
|
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_KANOU + RENTAI + 6,
|
T_KANOU + RENTAI + 6,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_KANOU + 3,
|
T_KANOU + 3,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_KANOU + P_KAMEI,
|
T_KANOU + P_KAMEI,
|
||||||
T_KANOU + P_MEIREI,
|
T_KANOU + P_MEIREI,
|
||||||
T_KANOU + P_MEIREI,
|
T_KANOU + P_MEIREI,
|
||||||
T_SHUUJO+ P_MEIREI,
|
T_SHUUJO + P_MEIREI,
|
||||||
T_SHUUJO+ P_MEIREI,
|
T_SHUUJO + P_MEIREI,
|
||||||
|
|
||||||
T_KANOU + P_MEISI,
|
T_KANOU + P_MEISI,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_KANOU + P_FUKA,
|
T_KANOU + P_FUKA,
|
||||||
T_KANOU + P_MEISI,
|
T_KANOU + P_MEISI,
|
||||||
T_KANOU + P_DAIMEISI,
|
T_KANOU + P_DAIMEISI,
|
||||||
T_KANOU + P_DAIMEISI,
|
T_KANOU + P_DAIMEISI,
|
||||||
T_KANOU + P_MEISI,
|
T_KANOU + P_MEISI,
|
||||||
T_KANOU + P_JOSHI_D,
|
T_KANOU + P_JOSHI_D,
|
||||||
T_KANOU + P_JOSHI_E,
|
T_KANOU + P_JOSHI_E,
|
||||||
|
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + P_DAIMEISI,
|
T_KANOU + P_DAIMEISI,
|
||||||
T_KANOU + P_FUKUSI,
|
T_KANOU + P_FUKUSI,
|
||||||
T_KANOU + P_FUKUSI,
|
T_KANOU + P_FUKUSI,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_KANOU + P_DAIMEISI,
|
T_KANOU + P_DAIMEISI,
|
||||||
T_KANOU + 7,
|
T_KANOU + 7,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_SHUUJO+ P_JOSHI_E,
|
T_SHUUJO + P_JOSHI_E,
|
||||||
|
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + P_JOSHI_A,
|
T_KANOU + P_JOSHI_A,
|
||||||
T_KANOU + P_MEISI,
|
T_KANOU + P_MEISI,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_F_FUKUSI,
|
T_KANOU + P_F_FUKUSI,
|
||||||
0,
|
0,
|
||||||
T_KANOU + P_JOSHI_F,
|
T_KANOU + P_JOSHI_F,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
|
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
T_KANOU + P_RENYOU_J,
|
T_KANOU + P_RENYOU_J,
|
||||||
T_KANOU + P_RENYOU_F,
|
T_KANOU + P_RENYOU_F,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
|
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
0 + P_FUKA,
|
0 + P_FUKA,
|
||||||
T_SHUUJO+ P_SHUUSI,
|
T_SHUUJO + P_SHUUSI,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + 1,
|
T_KANOU + 1,
|
||||||
T_KANOU + P_JOSHI_F,
|
T_KANOU + P_JOSHI_F,
|
||||||
T_KANOU + P_JOSHI_F,
|
T_KANOU + P_JOSHI_F,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
|
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_F,
|
T_KANOU + P_JOSHI_F,
|
||||||
T_KANOU + P_SHUUSI,
|
T_KANOU + P_SHUUSI,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
|
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + P_JOSHI_D,
|
T_KANOU + P_JOSHI_D,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
|
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_D,
|
T_KANOU + P_JOSHI_D,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_D,
|
T_KANOU + P_JOSHI_D,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
|
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_D,
|
T_KANOU + P_JOSHI_D,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
|
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
|
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_D,
|
T_KANOU + P_JOSHI_D,
|
||||||
T_KANOU + P_JOSHI_D,
|
T_KANOU + P_JOSHI_D,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
|
|
||||||
T_SHUUJO+ P_SHUUSI,
|
T_SHUUJO + P_SHUUSI,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
|
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_B,
|
T_KANOU + P_JOSHI_B,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_JOSHI_C,
|
T_KANOU + P_JOSHI_C,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
T_KANOU + P_KEISIKI,
|
T_KANOU + P_KEISIKI,
|
||||||
|
|
||||||
0 + P_JOSHI_C,
|
0 + P_JOSHI_C,
|
||||||
T_KANOU + P_SUUSI,
|
T_KANOU + P_SUUSI,
|
||||||
T_KANOU + P_SETUZOKU,
|
T_KANOU + P_SETUZOKU,
|
||||||
T_KANOU + P_KANDOU,
|
T_KANOU + P_KANDOU,
|
||||||
T_KANOU + P_SETTOU,
|
T_KANOU + P_SETTOU,
|
||||||
T_KANOU + P_FUKUSI,
|
T_KANOU + P_FUKUSI,
|
||||||
T_KANOU + P_FZKKGU,
|
T_KANOU + P_FZKKGU,
|
||||||
T_KANOU + P_MEISI,
|
T_KANOU + P_MEISI,
|
||||||
T_KANOU + P_MEISI,
|
T_KANOU + P_MEISI,
|
||||||
T_KANOU + P_MEISI,
|
T_KANOU + P_MEISI,
|
||||||
|
|
||||||
T_KANOU + P_MEISI,
|
T_KANOU + P_MEISI,
|
||||||
0 + P_SETUBI,
|
0 + P_SETUBI,
|
||||||
T_KANOU + P_SETUBI,
|
T_KANOU + P_SETUBI,
|
||||||
T_KANOU + P_JOSUUSI,
|
T_KANOU + P_JOSUUSI,
|
||||||
T_KANOU + P_RENTAISI,
|
T_KANOU + P_RENTAISI,
|
||||||
T_KANOU + P_TANKAN
|
T_KANOU + P_TANKAN};
|
||||||
};
|
|
||||||
|
|
|
||||||
|
|
@ -39,18 +39,16 @@
|
||||||
|
|
||||||
#include "sj_kanakan.h"
|
#include "sj_kanakan.h"
|
||||||
|
|
||||||
void
|
void wakachi() {
|
||||||
wakachi()
|
JREC* jrec;
|
||||||
{
|
CLREC* clrec;
|
||||||
JREC *jrec;
|
|
||||||
CLREC *clrec;
|
|
||||||
|
|
||||||
CREC crec[4];
|
CREC crec[4];
|
||||||
int count;
|
int count;
|
||||||
u_char *next;
|
u_char* next;
|
||||||
TypeCnct right;
|
TypeCnct right;
|
||||||
int i;
|
int i;
|
||||||
int maxlen;
|
int maxlen;
|
||||||
|
|
||||||
free_jall(maxjptr);
|
free_jall(maxjptr);
|
||||||
maxjptr = NULL;
|
maxjptr = NULL;
|
||||||
|
|
@ -58,49 +56,47 @@ wakachi()
|
||||||
maxlen = (cnvlen > MAXCLINPUTLEN) ? MAXCLINPUTLEN : cnvlen;
|
maxlen = (cnvlen > MAXCLINPUTLEN) ? MAXCLINPUTLEN : cnvlen;
|
||||||
|
|
||||||
next = cnvstart;
|
next = cnvstart;
|
||||||
if (Chrtbl[*next] & (TAI_KGU | FZK_KGU)) {
|
if(Chrtbl[*next] & (TAI_KGU | FZK_KGU)) {
|
||||||
|
|
||||||
while (*next && (Chrtbl[*next] & (TAI_KGU | FZK_KGU)))
|
while(*next && (Chrtbl[*next] & (TAI_KGU | FZK_KGU)))
|
||||||
next++;
|
next++;
|
||||||
|
|
||||||
if ((i = next - cnvstart) > maxlen) {
|
if((i = next - cnvstart) > maxlen) {
|
||||||
next = cnvstart + maxlen;
|
next = cnvstart + maxlen;
|
||||||
i = maxlen;
|
i = maxlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(jrec = argjrec(i, (JREC *)NULL))) return;
|
if(!(jrec = argjrec(i, (JREC*)NULL))) return;
|
||||||
|
|
||||||
jrec -> class = C_WAKACHI;
|
jrec->class = C_WAKACHI;
|
||||||
jrec -> hinsi = D_MEISI_1;
|
jrec->hinsi = D_MEISI_1;
|
||||||
|
|
||||||
if (Chrtbl[*(next - 1)] & TAI_KGU)
|
if(Chrtbl[*(next - 1)] & TAI_KGU)
|
||||||
srchfzk(jrec, next, R_DAIMEISI, 0);
|
srchfzk(jrec, next, R_DAIMEISI, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
|
|
||||||
if (!(jrec = argjrec(0, (JREC *)NULL))) return;
|
if(!(jrec = argjrec(0, (JREC*)NULL))) return;
|
||||||
jrec -> class = C_WAKACHI;
|
jrec->class = C_WAKACHI;
|
||||||
jrec -> hinsi = MEISI_6;
|
jrec->hinsi = MEISI_6;
|
||||||
|
|
||||||
while ((int)jrec -> jlen < maxlen) {
|
while((int)jrec->jlen < maxlen) {
|
||||||
|
|
||||||
count = setconj((TypeGram)MEISI_6, jrec, crec);
|
count = setconj((TypeGram)MEISI_6, jrec, crec);
|
||||||
|
|
||||||
for (i = count ; i-- > 0 ; ) {
|
for(i = count; i-- > 0;) {
|
||||||
|
|
||||||
right = crec[i].right;
|
right = crec[i].right;
|
||||||
gobilen = crec[i].len;
|
gobilen = crec[i].len;
|
||||||
next = cnvstart + jrec->jlen + gobilen;
|
next = cnvstart + jrec->jlen + gobilen;
|
||||||
|
|
||||||
if (gobilen) {
|
if(gobilen) {
|
||||||
if (terminate(right, next)) {
|
if(terminate(right, next)) {
|
||||||
fzk_ka_flg = 0;
|
fzk_ka_flg = 0;
|
||||||
setclrec(jrec, next, right);
|
setclrec(jrec, next, right);
|
||||||
}
|
}
|
||||||
}
|
} else if((Chrtbl[*next] & NUMBER) && (jrec->jlen)) {
|
||||||
else if ((Chrtbl[*next] & NUMBER)
|
|
||||||
&& (jrec -> jlen)) {
|
|
||||||
fzk_ka_flg = 0;
|
fzk_ka_flg = 0;
|
||||||
setclrec(jrec, next, right);
|
setclrec(jrec, next, right);
|
||||||
return;
|
return;
|
||||||
|
|
@ -109,22 +105,21 @@ wakachi()
|
||||||
srchfzk(jrec, next, right, 0);
|
srchfzk(jrec, next, right, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (maxclptr) break;
|
if(maxclptr) break;
|
||||||
|
|
||||||
(jrec -> jlen)++;
|
(jrec->jlen)++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((maxclptr) && (Chrtbl[*(cnvstart + jrec -> jlen)] & FZKTOP))
|
if((maxclptr) && (Chrtbl[*(cnvstart + jrec->jlen)] & FZKTOP))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (jrec -> jlen) {
|
if(jrec->jlen) {
|
||||||
if (clrec = argclrec((int)jrec -> jlen)) {
|
if(clrec = argclrec((int)jrec->jlen)) {
|
||||||
clrec -> jnode = jrec;
|
clrec->jnode = jrec;
|
||||||
clrec -> right = R_MEISI;
|
clrec->right = R_MEISI;
|
||||||
clrec -> kubun = K_TAIGEN;
|
clrec->kubun = K_TAIGEN;
|
||||||
(jrec -> count)++;
|
(jrec->count)++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -33,7 +33,6 @@
|
||||||
* $SonyDate: 1994/11/17 06:49:21 $
|
* $SonyDate: 1994/11/17 06:49:21 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#include "wchar16.h"
|
#include "wchar16.h"
|
||||||
|
|
@ -47,108 +46,93 @@
|
||||||
#define FALSE (0)
|
#define FALSE (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define sjis2euc sj3_sjis2euc
|
#define sjis2euc sj3_sjis2euc
|
||||||
#define euc2sjis sj3_euc2sjis
|
#define euc2sjis sj3_euc2sjis
|
||||||
|
|
||||||
#define issjis1(c) (((0x81 <= (c)) && ((c) <= 0x9f)) || \
|
#define issjis1(c) (((0x81 <= (c)) && ((c) <= 0x9f)) || \
|
||||||
((0xe0 <= (c)) && ((c) <= 0xfc)))
|
((0xe0 <= (c)) && ((c) <= 0xfc)))
|
||||||
#define iseuc(c) ((0xa1 <= (c)) && ((c) <= 0xfe))
|
#define iseuc(c) ((0xa1 <= (c)) && ((c) <= 0xfe))
|
||||||
#define iskana(c) ((0xa1 <= (c)) && ((c) <= 0xdf))
|
#define iskana(c) ((0xa1 <= (c)) && ((c) <= 0xdf))
|
||||||
|
|
||||||
extern int current_locale;
|
extern int current_locale;
|
||||||
|
|
||||||
int
|
int sj3_iswcntrl16(wchar16_t wc) {
|
||||||
sj3_iswcntrl16(wchar16_t wc)
|
if((wc < 0x20) || (wc == 0x7f)) return TRUE;
|
||||||
{
|
|
||||||
if ((wc < 0x20) || (wc == 0x7f)) return TRUE;
|
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int sj3_iswupper16(wchar16_t wc) {
|
||||||
sj3_iswupper16(wchar16_t wc)
|
if(((0x40 < wc) && (wc < 0x5b)) ||
|
||||||
{
|
((0xa3c0 < wc) && (wc < 0xa3db))) return TRUE;
|
||||||
if (((0x40 < wc) && (wc < 0x5b)) ||
|
|
||||||
((0xa3c0 < wc) && (wc < 0xa3db))) return TRUE;
|
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int sj3_iswdigit16(wchar16_t wc) {
|
||||||
sj3_iswdigit16(wchar16_t wc)
|
if(((0x29 < wc) && (wc < 0x3a)) ||
|
||||||
{
|
((0xa3af < wc) && (wc < 0xa3ba))) return TRUE;
|
||||||
if (((0x29 < wc) && (wc < 0x3a)) ||
|
|
||||||
((0xa3af < wc) && (wc < 0xa3ba))) return TRUE;
|
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int sj3_iswxdigit16(wchar16_t wc) {
|
||||||
sj3_iswxdigit16(wchar16_t wc)
|
if(((0x29 < wc) && (wc < 0x3a)) ||
|
||||||
{
|
((0xa3af < wc) && (wc < 0xa3ba))) return TRUE;
|
||||||
if (((0x29 < wc) && (wc < 0x3a)) ||
|
|
||||||
((0xa3af < wc) && (wc < 0xa3ba))) return TRUE;
|
|
||||||
|
|
||||||
if (((0x60 < wc) && (wc < 0x67)) ||
|
if(((0x60 < wc) && (wc < 0x67)) ||
|
||||||
((0x40 < wc) && (wc < 0x47))) return TRUE;
|
((0x40 < wc) && (wc < 0x47))) return TRUE;
|
||||||
|
|
||||||
if (((0xa3c0 < wc) && (wc < 0xa3c7)) ||
|
if(((0xa3c0 < wc) && (wc < 0xa3c7)) ||
|
||||||
((0xa3e0 < wc) && (wc < 0xa3e6))) return TRUE;
|
((0xa3e0 < wc) && (wc < 0xa3e6))) return TRUE;
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int sj3_wslen16(wchar16_t* ws) {
|
||||||
sj3_wslen16(wchar16_t *ws)
|
int i = 0;
|
||||||
{
|
|
||||||
int i=0;
|
|
||||||
|
|
||||||
if (!ws) return 0;
|
if(!ws) return 0;
|
||||||
|
|
||||||
while (*ws++) i++;
|
while(*ws++) i++;
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int sj3_wscmp16(wchar16_t* ws1, wchar16_t* ws2) {
|
||||||
sj3_wscmp16(wchar16_t *ws1, wchar16_t *ws2)
|
while((*ws1 && *ws2) && (*ws1 == *ws2)) {
|
||||||
{
|
|
||||||
while ((*ws1 && *ws2) && (*ws1 == *ws2)) {
|
|
||||||
ws1++;
|
ws1++;
|
||||||
ws2++;
|
ws2++;
|
||||||
}
|
}
|
||||||
if (!*ws1 && !*ws2) return 0;
|
if(!*ws1 && !*ws2) return 0;
|
||||||
if (!*ws1) return -1;
|
if(!*ws1) return -1;
|
||||||
if (!*ws2) return 1;
|
if(!*ws2) return 1;
|
||||||
if (*ws1 < *ws2) return -1;
|
if(*ws1 < *ws2) return -1;
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
sj3_wsncmp16(wchar16_t *ws1, wchar16_t *ws2, int n)
|
|
||||||
{
|
|
||||||
int i=0;
|
|
||||||
|
|
||||||
while ((*ws1 && *ws2) && (*ws1 == *ws2) && (i < n)) {
|
|
||||||
ws1++;
|
|
||||||
ws2++;
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
if (!*ws1 && !*ws2) return 0;
|
|
||||||
if (i == n) return 0;
|
|
||||||
if (!*ws1) return -1;
|
|
||||||
if (!*ws2) return 1;
|
|
||||||
if (*ws1 < *ws2) return -1;
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
wchar16_t *
|
int sj3_wsncmp16(wchar16_t* ws1, wchar16_t* ws2, int n) {
|
||||||
sj3_wscpy16(wchar16_t *ws1, wchar16_t *ws2)
|
int i = 0;
|
||||||
{
|
|
||||||
wchar16_t *ws;
|
|
||||||
|
|
||||||
if (!ws2) return NULL;
|
while((*ws1 && *ws2) && (*ws1 == *ws2) && (i < n)) {
|
||||||
|
ws1++;
|
||||||
|
ws2++;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
if(!*ws1 && !*ws2) return 0;
|
||||||
|
if(i == n) return 0;
|
||||||
|
if(!*ws1) return -1;
|
||||||
|
if(!*ws2) return 1;
|
||||||
|
if(*ws1 < *ws2) return -1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
wchar16_t*
|
||||||
|
sj3_wscpy16(wchar16_t* ws1, wchar16_t* ws2) {
|
||||||
|
wchar16_t* ws;
|
||||||
|
|
||||||
|
if(!ws2) return NULL;
|
||||||
ws = ws1;
|
ws = ws1;
|
||||||
while (*ws2) {
|
while(*ws2) {
|
||||||
*ws++ = *ws2++;
|
*ws++ = *ws2++;
|
||||||
}
|
}
|
||||||
*ws = 0;
|
*ws = 0;
|
||||||
|
|
@ -156,35 +140,33 @@ sj3_wscpy16(wchar16_t *ws1, wchar16_t *ws2)
|
||||||
return ws1;
|
return ws1;
|
||||||
}
|
}
|
||||||
|
|
||||||
wchar16_t *
|
wchar16_t*
|
||||||
sj3_wsncpy16(wchar16_t *ws1, wchar16_t *ws2, int n)
|
sj3_wsncpy16(wchar16_t* ws1, wchar16_t* ws2, int n) {
|
||||||
{
|
wchar16_t* ws;
|
||||||
wchar16_t *ws;
|
int i = 0;
|
||||||
int i=0;
|
|
||||||
|
|
||||||
if (!ws2) return NULL;
|
if(!ws2) return NULL;
|
||||||
ws = ws1;
|
ws = ws1;
|
||||||
while (*ws2 && (i < n)) {
|
while(*ws2 && (i < n)) {
|
||||||
*ws++ = *ws2++;
|
*ws++ = *ws2++;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
if (i < n) *ws = 0;
|
if(i < n) *ws = 0;
|
||||||
|
|
||||||
return ws1;
|
return ws1;
|
||||||
}
|
}
|
||||||
|
|
||||||
wchar16_t *
|
wchar16_t*
|
||||||
sj3_wscat16(wchar16_t *ws1, wchar16_t *ws2)
|
sj3_wscat16(wchar16_t* ws1, wchar16_t* ws2) {
|
||||||
{
|
wchar16_t* ws;
|
||||||
wchar16_t *ws;
|
|
||||||
|
|
||||||
if (!ws1) return NULL;
|
if(!ws1) return NULL;
|
||||||
if (!ws2) return NULL;
|
if(!ws2) return NULL;
|
||||||
|
|
||||||
ws = ws1;
|
ws = ws1;
|
||||||
|
|
||||||
while (*ws) ws++;
|
while(*ws) ws++;
|
||||||
while (*ws2) {
|
while(*ws2) {
|
||||||
*ws++ = *ws2++;
|
*ws++ = *ws2++;
|
||||||
}
|
}
|
||||||
*ws = 0;
|
*ws = 0;
|
||||||
|
|
@ -192,15 +174,13 @@ sj3_wscat16(wchar16_t *ws1, wchar16_t *ws2)
|
||||||
return ws1;
|
return ws1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wchar16_t
|
wchar16_t
|
||||||
sj3_euc2wc16(unsigned int code)
|
sj3_euc2wc16(unsigned int code) {
|
||||||
{
|
|
||||||
wchar16_t wc = 0;
|
wchar16_t wc = 0;
|
||||||
|
|
||||||
if (((code >> 16) & 0xff) == SS3) {
|
if(((code >> 16) & 0xff) == SS3) {
|
||||||
wc = code & 0xff7f;
|
wc = code & 0xff7f;
|
||||||
} else if (((code >> 8) & 0xff) == SS2) {
|
} else if(((code >> 8) & 0xff) == SS2) {
|
||||||
wc = code & 0xff;
|
wc = code & 0xff;
|
||||||
} else {
|
} else {
|
||||||
wc = code;
|
wc = code;
|
||||||
|
|
@ -210,13 +190,12 @@ sj3_euc2wc16(unsigned int code)
|
||||||
}
|
}
|
||||||
|
|
||||||
wchar16_t
|
wchar16_t
|
||||||
sj3_sjis2wc16(unsigned int code)
|
sj3_sjis2wc16(unsigned int code) {
|
||||||
{
|
|
||||||
unsigned short ch;
|
unsigned short ch;
|
||||||
|
|
||||||
if ((code >> 8) & 0xff) {
|
if((code >> 8) & 0xff) {
|
||||||
ch = sjis2euc(code);
|
ch = sjis2euc(code);
|
||||||
} else if (code & MSB) {
|
} else if(code & MSB) {
|
||||||
ch = (SS2 << 8) + (code & 0xff);
|
ch = (SS2 << 8) + (code & 0xff);
|
||||||
} else {
|
} else {
|
||||||
return code;
|
return code;
|
||||||
|
|
@ -225,20 +204,19 @@ sj3_sjis2wc16(unsigned int code)
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
sj3_wc2euc16(wchar16_t wc)
|
sj3_wc2euc16(wchar16_t wc) {
|
||||||
{
|
unsigned int code = 0;
|
||||||
unsigned int code = 0;
|
|
||||||
unsigned char tmp;
|
unsigned char tmp;
|
||||||
|
|
||||||
tmp = (wc >> 8) & 0xff;
|
tmp = (wc >> 8) & 0xff;
|
||||||
if (tmp) {
|
if(tmp) {
|
||||||
if (wc & MSB) {
|
if(wc & MSB) {
|
||||||
code = wc;
|
code = wc;
|
||||||
} else {
|
} else {
|
||||||
code = (SS3 << 16) + wc + MSB;
|
code = (SS3 << 16) + wc + MSB;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (wc & MSB) {
|
if(wc & MSB) {
|
||||||
code = (SS2 << 8) + wc;
|
code = (SS2 << 8) + wc;
|
||||||
} else {
|
} else {
|
||||||
code = wc;
|
code = wc;
|
||||||
|
|
@ -249,49 +227,46 @@ sj3_wc2euc16(wchar16_t wc)
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
sj3_wc2sjis16(wchar16_t wc)
|
sj3_wc2sjis16(wchar16_t wc) {
|
||||||
{
|
|
||||||
unsigned int ch;
|
unsigned int ch;
|
||||||
|
|
||||||
ch = sj3_wc2euc16(wc);
|
ch = sj3_wc2euc16(wc);
|
||||||
if ((ch >> 16) == SS3) {
|
if((ch >> 16) == SS3) {
|
||||||
return 0;
|
return 0;
|
||||||
} else if ((ch >> 8) == SS2) {
|
} else if((ch >> 8) == SS2) {
|
||||||
return (ch & 0xff);
|
return (ch & 0xff);
|
||||||
} else if ((ch >> 8) & 0xff) {
|
} else if((ch >> 8) & 0xff) {
|
||||||
return euc2sjis(ch);
|
return euc2sjis(ch);
|
||||||
} else {
|
} else {
|
||||||
return wc;
|
return wc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int sj3_wcs2eucs16(unsigned char* mb, wchar16_t* ws, int n) {
|
||||||
sj3_wcs2eucs16(unsigned char *mb, wchar16_t *ws, int n)
|
int i = 0;
|
||||||
{
|
unsigned int code;
|
||||||
int i = 0;
|
|
||||||
unsigned int code;
|
|
||||||
unsigned char c;
|
unsigned char c;
|
||||||
|
|
||||||
while (*ws && (i < n)) {
|
while(*ws && (i < n)) {
|
||||||
code = sj3_wc2euc16(*ws);
|
code = sj3_wc2euc16(*ws);
|
||||||
if (c = ((code >> 16) & 0xff)) {
|
if(c = ((code >> 16) & 0xff)) {
|
||||||
*mb++ = c;
|
*mb++ = c;
|
||||||
i++;
|
i++;
|
||||||
if (i == n) break;
|
if(i == n) break;
|
||||||
*mb++ = ((code >> 8) & 0xff);
|
*mb++ = ((code >> 8) & 0xff);
|
||||||
i++;
|
i++;
|
||||||
if (i == n) break;
|
if(i == n) break;
|
||||||
*mb++ = code & 0xff;
|
*mb++ = code & 0xff;
|
||||||
i++;
|
i++;
|
||||||
if (i == n) break;
|
if(i == n) break;
|
||||||
} else if (c = ((code >> 8) & 0xff)) {
|
} else if(c = ((code >> 8) & 0xff)) {
|
||||||
*mb++ = c;
|
*mb++ = c;
|
||||||
i++;
|
i++;
|
||||||
if (i == n) break;
|
if(i == n) break;
|
||||||
*mb++ = code & 0xff;
|
*mb++ = code & 0xff;
|
||||||
i++;
|
i++;
|
||||||
if (i == n) break;
|
if(i == n) break;
|
||||||
} else if (c = (code & 0xff)) {
|
} else if(c = (code & 0xff)) {
|
||||||
*mb++ = c;
|
*mb++ = c;
|
||||||
i++;
|
i++;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -300,30 +275,28 @@ sj3_wcs2eucs16(unsigned char *mb, wchar16_t *ws, int n)
|
||||||
ws++;
|
ws++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!*ws) {
|
if(!*ws) {
|
||||||
*mb = '\0';
|
*mb = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int sj3_wcs2sjiss16(unsigned char* mb, wchar16_t* ws, int n) {
|
||||||
sj3_wcs2sjiss16(unsigned char *mb, wchar16_t *ws, int n)
|
int i = 0;
|
||||||
{
|
unsigned int code;
|
||||||
int i = 0;
|
|
||||||
unsigned int code;
|
|
||||||
unsigned char c;
|
unsigned char c;
|
||||||
|
|
||||||
while (*ws && (i < n)) {
|
while(*ws && (i < n)) {
|
||||||
code = sj3_wc2sjis16(*ws);
|
code = sj3_wc2sjis16(*ws);
|
||||||
if (c = ((code >> 8) & 0xff)) {
|
if(c = ((code >> 8) & 0xff)) {
|
||||||
*mb++ = c;
|
*mb++ = c;
|
||||||
i++;
|
i++;
|
||||||
if (i == n) break;
|
if(i == n) break;
|
||||||
*mb++ = code & 0xff;
|
*mb++ = code & 0xff;
|
||||||
i++;
|
i++;
|
||||||
if (i == n) break;
|
if(i == n) break;
|
||||||
} else if (c = (code & 0xff)) {
|
} else if(c = (code & 0xff)) {
|
||||||
*mb++ = c;
|
*mb++ = c;
|
||||||
i++;
|
i++;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -332,83 +305,73 @@ sj3_wcs2sjiss16(unsigned char *mb, wchar16_t *ws, int n)
|
||||||
ws++;
|
ws++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!*ws) {
|
if(!*ws) {
|
||||||
*mb = '\0';
|
*mb = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int sj3_eucs2wcs16(wchar16_t* ws, unsigned char* mb, int n) {
|
||||||
sj3_eucs2wcs16(wchar16_t *ws, unsigned char *mb, int n)
|
int i = 0;
|
||||||
{
|
|
||||||
int i = 0;
|
|
||||||
unsigned int code;
|
unsigned int code;
|
||||||
|
|
||||||
while (*mb && (i < n)) {
|
while(*mb && (i < n)) {
|
||||||
if (*mb == SS3) {
|
if(*mb == SS3) {
|
||||||
code = *mb++ << 16;
|
code = *mb++ << 16;
|
||||||
code += *mb++ << 8;
|
code += *mb++ << 8;
|
||||||
code += *mb++;
|
code += *mb++;
|
||||||
} else if ((*mb == SS2) || (*mb & 0x80)) {
|
} else if((*mb == SS2) || (*mb & 0x80)) {
|
||||||
code = *mb++ << 8;
|
code = *mb++ << 8;
|
||||||
code += *mb++;
|
code += *mb++;
|
||||||
} else {
|
} else {
|
||||||
code = *mb++;
|
code = *mb++;
|
||||||
}
|
}
|
||||||
*ws = sj3_euc2wc16(code);
|
*ws = sj3_euc2wc16(code);
|
||||||
if (!*ws) return -1;
|
if(!*ws) return -1;
|
||||||
ws++;
|
ws++;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
if (!*mb) {
|
if(!*mb) {
|
||||||
*ws = 0;
|
*ws = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int sj3_sjiss2wcs16(wchar16_t* ws, unsigned char* mb, int n) {
|
||||||
sj3_sjiss2wcs16(wchar16_t *ws, unsigned char *mb, int n)
|
int i = 0;
|
||||||
{
|
|
||||||
int i = 0;
|
|
||||||
unsigned int code;
|
unsigned int code;
|
||||||
|
|
||||||
while (*mb && (i < n)) {
|
while(*mb && (i < n)) {
|
||||||
if (issjis1(*mb)) {
|
if(issjis1(*mb)) {
|
||||||
code = *mb++ << 8;
|
code = *mb++ << 8;
|
||||||
code += *mb++;
|
code += *mb++;
|
||||||
} else {
|
} else {
|
||||||
code = *mb++;
|
code = *mb++;
|
||||||
}
|
}
|
||||||
*ws = sj3_sjis2wc16(code);
|
*ws = sj3_sjis2wc16(code);
|
||||||
if (!*ws) return -1;
|
if(!*ws) return -1;
|
||||||
ws++;
|
ws++;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
if (!*mb) {
|
if(!*mb) {
|
||||||
*ws = 0;
|
*ws = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int sj3_mbstowcs16(wchar16_t* ws, unsigned char* mb, int n) {
|
||||||
sj3_mbstowcs16(wchar16_t *ws, unsigned char *mb, int n)
|
if(current_locale == LC_CTYPE_EUC)
|
||||||
{
|
return sj3_eucs2wcs16(ws, mb, n);
|
||||||
if (current_locale == LC_CTYPE_EUC)
|
|
||||||
return sj3_eucs2wcs16(ws, mb, n);
|
|
||||||
else
|
else
|
||||||
return sj3_sjiss2wcs16(ws, mb, n);
|
return sj3_sjiss2wcs16(ws, mb, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int sj3_wcstombs16(unsigned char* mb, unsigned char* ws, int n) {
|
||||||
sj3_wcstombs16(unsigned char *mb, unsigned char *ws, int n)
|
if(current_locale == LC_CTYPE_EUC)
|
||||||
{
|
return sj3_wcs2eucs16(mb, ws, n);
|
||||||
if (current_locale == LC_CTYPE_EUC)
|
|
||||||
return sj3_wcs2eucs16(mb, ws, n);
|
|
||||||
else
|
else
|
||||||
return sj3_wcs2sjiss16(mb, ws, n);
|
return sj3_wcs2sjiss16(mb, ws, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,61 +33,61 @@
|
||||||
* $SonyDate: 1994/06/03 08:00:32 $
|
* $SonyDate: 1994/06/03 08:00:32 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "sj_euc.h"
|
#include "sj_euc.h"
|
||||||
#include "sj3_dict_const.h"
|
#include "sj3_dict_const.h"
|
||||||
|
|
||||||
#include "sj3mkdic.h"
|
#include "sj3mkdic.h"
|
||||||
|
|
||||||
int
|
int cnvyomi(int code) {
|
||||||
cnvyomi(int code)
|
|
||||||
{
|
|
||||||
u_short hh;
|
u_short hh;
|
||||||
u_char high;
|
u_char high;
|
||||||
u_char low;
|
u_char low;
|
||||||
|
|
||||||
hh = ((code >> 16) & 0xffff);
|
hh = ((code >> 16) & 0xffff);
|
||||||
high = ((code >> 8) & 0xff);
|
high = ((code >> 8) & 0xff);
|
||||||
low = (code & 0xff);
|
low = (code & 0xff);
|
||||||
|
|
||||||
if (!hh) {
|
if(!hh) {
|
||||||
if (high == 0xa1) {
|
if(high == 0xa1) {
|
||||||
switch (low) {
|
switch(low) {
|
||||||
case 0xbc: return 1;
|
case 0xbc:
|
||||||
case 0xf4: return 2;
|
return 1;
|
||||||
case 0xf7: return 3;
|
case 0xf4:
|
||||||
case 0xa7: return 4;
|
return 2;
|
||||||
|
case 0xf7:
|
||||||
|
return 3;
|
||||||
|
case 0xa7:
|
||||||
|
return 4;
|
||||||
}
|
}
|
||||||
}
|
} else if(high == 0xa2) {
|
||||||
else if (high == 0xa2) {
|
if(low == 0xa9)
|
||||||
if (low == 0xa9)
|
return 4;
|
||||||
return 4;
|
} else if(high == 0xa3) {
|
||||||
}
|
if(low < 0xb0)
|
||||||
else if (high == 0xa3) {
|
;
|
||||||
if (low < 0xb0)
|
else if(low <= 0xb9)
|
||||||
;
|
return (low - 0xb0 + 0x10);
|
||||||
else if (low <= 0xb9)
|
else if(low < 0xc0)
|
||||||
return(low - 0xb0 + 0x10);
|
;
|
||||||
else if (low < 0xc0)
|
else if(low <= 0xda)
|
||||||
;
|
return (low - 0xc1 + 0x1A);
|
||||||
else if (low <= 0xda)
|
else if(low < 0xe1)
|
||||||
return(low - 0xc1 + 0x1A);
|
;
|
||||||
else if (low < 0xe1)
|
else if(low <= 0xfa)
|
||||||
;
|
return (low - 0xe1 + 0x34);
|
||||||
else if (low <= 0xfa)
|
} else if(high == 0xa4) {
|
||||||
return(low - 0xe1 + 0x34);
|
if(low < 0xa1)
|
||||||
}
|
;
|
||||||
else if (high == 0xa4) {
|
else if(low <= 0xf3)
|
||||||
if (low < 0xa1)
|
return (low - 0xa1 + 0x4e);
|
||||||
;
|
} else if(high == 0xa5) {
|
||||||
else if (low <= 0xf3)
|
switch(low) {
|
||||||
return(low - 0xa1 + 0x4e);
|
case 0xf4:
|
||||||
}
|
return 0xa1;
|
||||||
else if (high == 0xa5) {
|
case 0xf5:
|
||||||
switch (low) {
|
return 0xa2;
|
||||||
case 0xf4: return 0xa1;
|
case 0xf6:
|
||||||
case 0xf5: return 0xa2;
|
return 0xa3;
|
||||||
case 0xf6: return 0xa3;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -95,177 +95,172 @@ cnvyomi(int code)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int h2kcode(int code) {
|
||||||
int
|
|
||||||
h2kcode(int code)
|
|
||||||
{
|
|
||||||
u_short hh;
|
u_short hh;
|
||||||
u_char high;
|
u_char high;
|
||||||
u_char low;
|
u_char low;
|
||||||
|
|
||||||
hh = ((code >> 16) & 0xffff);
|
hh = ((code >> 16) & 0xffff);
|
||||||
high = ((code >> 8) & 0xff);
|
high = ((code >> 8) & 0xff);
|
||||||
low = (code & 0xff);
|
low = (code & 0xff);
|
||||||
|
|
||||||
if (!hh) {
|
if(!hh) {
|
||||||
if (high != 0xa4)
|
if(high != 0xa4)
|
||||||
return code;
|
return code;
|
||||||
else
|
else
|
||||||
return (code + 0x0100);
|
return (code + 0x0100);
|
||||||
}
|
}
|
||||||
return code; /* XXX */
|
return code; /* XXX */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int codesize(u_char code) {
|
||||||
int
|
switch(code & KANJIMODEMASK) {
|
||||||
codesize(u_char code)
|
case ZENHIRAASSYUKU:
|
||||||
{
|
case ZENKATAASSYUKU:
|
||||||
switch (code & KANJIMODEMASK) {
|
case KANJIASSYUKU:
|
||||||
case ZENHIRAASSYUKU:
|
case KANJISTREND:
|
||||||
case ZENKATAASSYUKU:
|
|
||||||
case KANJIASSYUKU:
|
|
||||||
case KANJISTREND:
|
|
||||||
return 1;
|
return 1;
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
return 2;
|
return 2;
|
||||||
default:
|
default:
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void output_knj(FILE* fp, u_char* p, int l) {
|
||||||
void
|
while(l > 0) {
|
||||||
output_knj(FILE *fp, u_char *p, int l)
|
switch(*p & KANJIMODEMASK) {
|
||||||
{
|
case ZENHIRAASSYUKU:
|
||||||
while (l > 0) {
|
|
||||||
switch (*p & KANJIMODEMASK) {
|
|
||||||
case ZENHIRAASSYUKU:
|
|
||||||
fprintf(fp, "\244\322%d", (*p++ & 0x0f) + 1);
|
fprintf(fp, "\244\322%d", (*p++ & 0x0f) + 1);
|
||||||
l--;
|
l--;
|
||||||
break;
|
break;
|
||||||
case ZENKATAASSYUKU:
|
case ZENKATAASSYUKU:
|
||||||
fprintf(fp, "\245\253%d", (*p++ & 0x0f) + 1);
|
fprintf(fp, "\245\253%d", (*p++ & 0x0f) + 1);
|
||||||
l--;
|
l--;
|
||||||
break;
|
break;
|
||||||
case KANJIASSYUKU:
|
case KANJIASSYUKU:
|
||||||
fprintf(fp, "\260\265%1x", (*p++ & 0x0f));
|
fprintf(fp, "\260\265%1x", (*p++ & 0x0f));
|
||||||
l--;
|
l--;
|
||||||
break;
|
break;
|
||||||
case LEADINGHANKAKU:
|
case LEADINGHANKAKU:
|
||||||
#ifndef USEHANKAKUINDICT
|
#ifndef USEHANKAKUINDICT
|
||||||
l = 0;
|
l = 0;
|
||||||
fprintf(stderr, "\244\252\244\253\244\267\244\244");
|
fprintf(stderr, "\244\252\244\253\244\267\244\244");
|
||||||
#else
|
#else
|
||||||
fputc(*p++, fp); l--;
|
fputc(*p++, fp);
|
||||||
fputc(*p++, fp); l--;
|
l--;
|
||||||
|
fputc(*p++, fp);
|
||||||
|
l--;
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case OFFSETASSYUKU:
|
case OFFSETASSYUKU:
|
||||||
fprintf(fp, "ofs%1x", (*p++ & 0x0f));
|
fprintf(fp, "ofs%1x", (*p++ & 0x0f));
|
||||||
l--;
|
l--;
|
||||||
fprintf(fp, "%02x", *p++); l--;
|
fprintf(fp, "%02x", *p++);
|
||||||
|
l--;
|
||||||
break;
|
break;
|
||||||
case AIATTRIBUTE:
|
case AIATTRIBUTE:
|
||||||
fprintf(fp, "\302\260%1x", (*p++ & 0x0f));
|
fprintf(fp, "\302\260%1x", (*p++ & 0x0f));
|
||||||
l--;
|
l--;
|
||||||
fprintf(fp, "%02x", *p++); l--;
|
fprintf(fp, "%02x", *p++);
|
||||||
|
l--;
|
||||||
break;
|
break;
|
||||||
case KANJISTREND:
|
case KANJISTREND:
|
||||||
p++; l--;
|
p++;
|
||||||
|
l--;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (p[1] & 0x80)
|
if(p[1] & 0x80)
|
||||||
fputc(SS3, fp);
|
fputc(SS3, fp);
|
||||||
fputc((*p | 0x80), fp); l--; p++;
|
fputc((*p | 0x80), fp);
|
||||||
fputc((*p | 0x80), fp); l--; p++;
|
l--;
|
||||||
|
p++;
|
||||||
}
|
fputc((*p | 0x80), fp);
|
||||||
|
l--;
|
||||||
|
p++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void output_str(FILE* fp, char* p) {
|
||||||
void
|
while(*p) {
|
||||||
output_str(FILE *fp, char *p)
|
fputc(*p, fp);
|
||||||
{
|
p++;
|
||||||
while (*p) { fputc(*p, fp); p++; }
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void output_int(FILE* fp, int* p) {
|
||||||
|
while(*p) {
|
||||||
void
|
if(*p < 0x100) {
|
||||||
output_int(FILE *fp, int *p)
|
fputc(*p, fp);
|
||||||
{
|
p++;
|
||||||
while (*p) {
|
} else if(*p < 0x10000) {
|
||||||
if (*p < 0x100) {
|
|
||||||
fputc(*p, fp); p++;
|
|
||||||
}
|
|
||||||
else if (*p < 0x10000) {
|
|
||||||
fputc((*p >> 8) & 0xff, fp);
|
fputc((*p >> 8) & 0xff, fp);
|
||||||
fputc(*p & 0xff, fp); p++;
|
fputc(*p & 0xff, fp);
|
||||||
}
|
p++;
|
||||||
else if (*p < 0x1000000) {
|
} else if(*p < 0x1000000) {
|
||||||
fputc((*p >> 16) & 0xff, fp);
|
fputc((*p >> 16) & 0xff, fp);
|
||||||
fputc((*p >> 8) & 0xff, fp);
|
fputc((*p >> 8) & 0xff, fp);
|
||||||
fputc(*p & 0xff, fp); p++;
|
fputc(*p & 0xff, fp);
|
||||||
}
|
p++;
|
||||||
else {
|
} else {
|
||||||
fputc((*p >> 24) & 0xff, fp);
|
fputc((*p >> 24) & 0xff, fp);
|
||||||
fputc((*p >> 16) & 0xff, fp);
|
fputc((*p >> 16) & 0xff, fp);
|
||||||
fputc((*p >> 8) & 0xff, fp);
|
fputc((*p >> 8) & 0xff, fp);
|
||||||
fputc(*p & 0xff, fp); p++;
|
fputc(*p & 0xff, fp);
|
||||||
|
p++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int yomi2zen(int code) {
|
||||||
|
static char num[] = {
|
||||||
|
'0', '1', '2', '3', '4', '5', '6', '7',
|
||||||
|
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
|
||||||
|
|
||||||
|
switch(code) {
|
||||||
int
|
case 0x01:
|
||||||
yomi2zen(int code)
|
return 0xa1bc;
|
||||||
{
|
case 0x02:
|
||||||
static char num[] = {
|
return 0xa1f4;
|
||||||
'0', '1', '2', '3', '4', '5', '6', '7',
|
case 0x03:
|
||||||
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
|
return 0xa1f7;
|
||||||
};
|
case 0x04:
|
||||||
|
return 0xa2a9;
|
||||||
switch (code) {
|
case 0xa1:
|
||||||
case 0x01: return 0xa1bc;
|
return 0xa5f4;
|
||||||
case 0x02: return 0xa1f4;
|
case 0xa2:
|
||||||
case 0x03: return 0xa1f7;
|
return 0xa5f5;
|
||||||
case 0x04: return 0xa2a9;
|
case 0xa3:
|
||||||
case 0xa1: return 0xa5f4;
|
return 0xa5f6;
|
||||||
case 0xa2: return 0xa5f5;
|
default:
|
||||||
case 0xa3: return 0xa5f6;
|
break;
|
||||||
default: break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (code < 0x10)
|
if(code < 0x10)
|
||||||
;
|
;
|
||||||
|
|
||||||
else if (code < 0x1a)
|
else if(code < 0x1a)
|
||||||
return(0xa300 + code - 0x10 + 0xb0);
|
return (0xa300 + code - 0x10 + 0xb0);
|
||||||
|
|
||||||
else if (code < 0x34)
|
else if(code < 0x34)
|
||||||
return(0xa300 + code - 0x1a + 0xc1);
|
return (0xa300 + code - 0x1a + 0xc1);
|
||||||
|
|
||||||
else if (code < 0x4e)
|
else if(code < 0x4e)
|
||||||
return(0xa300 + code - 0x34 + 0xe1);
|
return (0xa300 + code - 0x34 + 0xe1);
|
||||||
|
|
||||||
else if (code < 0xa1)
|
else if(code < 0xa1)
|
||||||
return(0xa400 + code - 0x4e + 0xa1);
|
return (0xa400 + code - 0x4e + 0xa1);
|
||||||
|
|
||||||
return ((num[(code >> 4) & 0x0f] << 8) | num[code & 0x0f]);
|
return ((num[(code >> 4) & 0x0f] << 8) | num[code & 0x0f]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void output_yomi(FILE* fp, u_char* p) {
|
||||||
|
int i;
|
||||||
|
|
||||||
|
while(*p) {
|
||||||
void
|
|
||||||
output_yomi(FILE *fp, u_char *p)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
while (*p) {
|
|
||||||
i = yomi2zen(*p++);
|
i = yomi2zen(*p++);
|
||||||
fputc((i >> 8) & 0xff, fp);
|
fputc((i >> 8) & 0xff, fp);
|
||||||
fputc(i & 0xff, fp);
|
fputc(i & 0xff, fp);
|
||||||
|
|
|
||||||
|
|
@ -33,83 +33,68 @@
|
||||||
* $SonyDate: 1996/05/27 06:59:47 $
|
* $SonyDate: 1996/05/27 06:59:47 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "sj3mkdic.h"
|
#include "sj3mkdic.h"
|
||||||
|
|
||||||
|
|
||||||
static struct gram_code {
|
static struct gram_code {
|
||||||
char *name;
|
char* name;
|
||||||
int code;
|
int code;
|
||||||
} gramtbl[] = {
|
} gramtbl[] = {
|
||||||
|
|
||||||
|
|
||||||
#include "GramTable"
|
#include "GramTable"
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define GramMax (sizeof(gramtbl)/sizeof(struct gram_code) - 1)
|
#define GramMax (sizeof(gramtbl) / sizeof(struct gram_code) - 1)
|
||||||
|
|
||||||
int
|
int u_strcmp(u_char* a, u_char* b) {
|
||||||
u_strcmp(u_char *a, u_char *b)
|
if(!a || !b) return 0;
|
||||||
{
|
|
||||||
if (!a || !b) return 0;
|
|
||||||
|
|
||||||
while (*a && *b) {
|
while(*a && *b) {
|
||||||
if (*a < *b) return -1;
|
if(*a < *b) return -1;
|
||||||
if (*a > *b) return 1;
|
if(*a > *b) return 1;
|
||||||
a++;
|
a++;
|
||||||
b++;
|
b++;
|
||||||
}
|
}
|
||||||
if (!*a && !*b) return 0;
|
if(!*a && !*b) return 0;
|
||||||
if (!*a) return -1;
|
if(!*a) return -1;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cnvhinsi(u_char* buf) {
|
||||||
int
|
int min;
|
||||||
cnvhinsi(u_char *buf)
|
int max;
|
||||||
{
|
int mid;
|
||||||
int min;
|
int i;
|
||||||
int max;
|
|
||||||
int mid;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
min = 0;
|
min = 0;
|
||||||
max = GramMax;
|
max = GramMax;
|
||||||
while (min <= max) {
|
while(min <= max) {
|
||||||
|
|
||||||
mid = (min + max) / 2;
|
mid = (min + max) / 2;
|
||||||
|
|
||||||
|
|
||||||
i = u_strcmp(buf, gramtbl[mid].name);
|
i = u_strcmp(buf, gramtbl[mid].name);
|
||||||
|
|
||||||
|
if(i < 0) {
|
||||||
if (i < 0) {
|
|
||||||
max = mid - 1;
|
max = mid - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (i > 0) {
|
else if(i > 0) {
|
||||||
min = mid + 1;
|
min = mid + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
return(gramtbl[mid].code);
|
return (gramtbl[mid].code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char* hinsi_str(int code) {
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for(i = 0; i <= GramMax; i++) {
|
||||||
char *
|
if(gramtbl[i].code == code) return gramtbl[i].name;
|
||||||
hinsi_str(int code)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0 ; i <= GramMax ; i++) {
|
|
||||||
if (gramtbl[i].code == code) return gramtbl[i].name;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return "Err";
|
return "Err";
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue