Compare commits
6 commits
main
...
codex/hepb
| Author | SHA1 | Date | |
|---|---|---|---|
| 787febbd07 | |||
| 7935e5e7ea | |||
| d0be6165c0 | |||
| b6df536fe9 | |||
| 2248f9e3aa | |||
| 27224cdd4c |
177 changed files with 30354 additions and 34662 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
|
||||
45
CMakeLists.txt
Normal file
45
CMakeLists.txt
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
cmake_minimum_required(VERSION 3.16)
|
||||
|
||||
project(sj3 VERSION 2.0.99 LANGUAGES C)
|
||||
|
||||
include(CheckCSourceCompiles)
|
||||
|
||||
if(NOT DEFINED CMAKE_C_STANDARD)
|
||||
set(CMAKE_C_STANDARD 90)
|
||||
endif()
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_C_EXTENSIONS OFF)
|
||||
|
||||
set(SJ3CONFDIR "/etc/sj3" CACHE PATH "SJ3 configuration directory")
|
||||
set(SJ3DICTDIR "${CMAKE_INSTALL_PREFIX}/share/sj3/dict" CACHE PATH
|
||||
"SJ3 dictionary directory")
|
||||
|
||||
check_c_source_compiles("
|
||||
#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L)
|
||||
# error C99 required
|
||||
#endif
|
||||
#include <stdint.h>
|
||||
int main(void) {
|
||||
uint8_t u8 = 0;
|
||||
uint16_t u16 = 0;
|
||||
uint32_t u32 = 0;
|
||||
uint64_t u64 = 0;
|
||||
return (int)(u8 + u16 + u32 + u64);
|
||||
}
|
||||
" HAVE_C99_STDINT)
|
||||
|
||||
configure_file(config.h.cmake config.h @ONLY)
|
||||
configure_file(Paths.h.in Paths.h @ONLY)
|
||||
|
||||
add_library(sj3types INTERFACE)
|
||||
target_include_directories(sj3types INTERFACE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
add_library(sj3_core_types OBJECT
|
||||
wc16_str.c
|
||||
string.c
|
||||
string2.c
|
||||
)
|
||||
target_link_libraries(sj3_core_types PRIVATE sj3types)
|
||||
|
|
@ -1,138 +0,0 @@
|
|||
<!--
|
||||
-- SPDX-License-Identifier: CC-BY-4.0
|
||||
-- Copyright 2014 Coraline Ada Ehmke
|
||||
-->
|
||||
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, caste, color, religion, or sexual
|
||||
identity and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the overall
|
||||
community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or advances of
|
||||
any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email address,
|
||||
without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official email address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
<mogino@acm.org>.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series of
|
||||
actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or permanent
|
||||
ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within the
|
||||
community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.1, available at
|
||||
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
|
||||
|
||||
Community Impact Guidelines were inspired by
|
||||
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
|
||||
[https://www.contributor-covenant.org/translations][translations].
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
|
||||
[Mozilla CoC]: https://github.com/mozilla/diversity
|
||||
[FAQ]: https://www.contributor-covenant.org/faq
|
||||
[translations]: https://www.contributor-covenant.org/translations
|
||||
|
||||
8
Makefile
8
Makefile
|
|
@ -44,10 +44,10 @@ KANAKAN_OBJS = adddic.o addelcmn.o alloc.o charsize.o chrtbl.o cl2knj.o \
|
|||
clstudy.o cmpstr.o conjunc.o connect.o cvtclknj.o cvtdict.o \
|
||||
cvtkanji.o deldic.o depend.o dict.o functbl.o fuzoku.o \
|
||||
fzkyomi.o getkanji.o getrank.o global2.o hzstrlen.o init.o \
|
||||
istrcmp.o memory2.o mk2claus.o mkbunset.o mkjiritu.o mkkouho.o \
|
||||
istrcmp.o memory2.o mk2claus.o mkbunsetsu.o mkjiritsu.o mkkouho.o \
|
||||
mknumber.o mvmemd.o mvmemi.o peepdic.o ph2knj.o ph_khtbl.o \
|
||||
priority.o prtytbl.o s2ctbl.o selclrec.o selsuuji.o setconj.o \
|
||||
setjrec.o setkouho.o setubi.o sj2code.o skiphblk.o skipkstr.o \
|
||||
setjrec.o setkouho.o setsubi.o sj2code.o skiphblk.o skipkstr.o \
|
||||
srchdict.o srchhead.o srchidx.o srchnum.o stbtbl.o stttbl.o \
|
||||
study.o suujitbl.o terminat.o termtbl.o wakachi.o
|
||||
SJ3RKCV_OBJS = rk_conv.o sj3_rkcv.o wc16_str.o
|
||||
|
|
@ -58,9 +58,9 @@ SJ3_OBJS = code.o common.o conv.o display.o douon.o edit.o etc.o \
|
|||
eucmessage.o funckey.o henkan.o kigou.o libif.o nmttyslot.o \
|
||||
romaji.o screen.o sj3.o sj3ver.o sjgetchar.o sjrc2.o \
|
||||
stat_conv.o term.o toroku.o version2.o
|
||||
SJ3DIC_OBJS = codecnv.o dictdisp.o dictmake.o hinsi.o sj3dic.o sj3err.o \
|
||||
SJ3DIC_OBJS = codecnv.o dictdisp.o dictmake.o hinshi.o sj3dic.o sj3err.o \
|
||||
sjrc.o
|
||||
SJ3MKDIC_OBJS = char.o cnvhinsi.o file.o global.o hindo.o knjcvt.o makedict.o \
|
||||
SJ3MKDIC_OBJS = char.o cnvhinshi.o file.o global.o hindo.o knjcvt.o makedict.o \
|
||||
makelist.o makeseg.o memory.o offset.o readline.o string2.o
|
||||
SJ3STAT_OBJS = sj3stat.o
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ adddic.o: adddic.c sj_euc.h sj_sysvdef.h sj_kcnv.h sj_typedef.h \
|
|||
addelcmn.o: addelcmn.c sj_euc.h sj_sysvdef.h sj_kcnv.h sj_typedef.h \
|
||||
sj_rename.h sj_var.h sj_dict.h sj_study.h sj_table.h sj_func.h \
|
||||
sj_struct.h Struct.h const.h Paths.h sj_global.h \
|
||||
sj_hinsi.h sj_yomi.h kanakan.h
|
||||
sj_hinshi.h sj_yomi.h kanakan.h
|
||||
alloc.o: alloc.c sj_rename.h sj_typedef.h const.h Paths.h sj_euc.h \
|
||||
sj_sysvdef.h sj_var.h sj_struct.h kanakan.h Struct.h sj_dict.h
|
||||
char.o: char.c sj_euc.h sj_sysvdef.h const.h Paths.h
|
||||
|
|
@ -20,7 +20,7 @@ clstudy.o: clstudy.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
|||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h kanakan.h
|
||||
cmpstr.o: cmpstr.c sj_rename.h const.h Paths.h sj_euc.h sj_sysvdef.h \
|
||||
sj_typedef.h
|
||||
cnvhinsi.o: cnvhinsi.c dicttool.h sj_struct2.h const.h Paths.h sj_euc.h \
|
||||
cnvhinshi.o: cnvhinshi.c dicttool.h sj_struct2.h const.h Paths.h sj_euc.h \
|
||||
sj_sysvdef.h GramTable
|
||||
code.o: code.c sj_sysvdef.h wchar16.h key.h kctype.h sj2.h rk.h
|
||||
codecnv.o: codecnv.c sjctype.h sj_sysvdef.h sjtool.h
|
||||
|
|
@ -79,7 +79,7 @@ functbl.o: functbl.c sj_rename.h sj_func.h sj_typedef.h sj_struct.h \
|
|||
kanakan.h
|
||||
fuzoku.o: fuzoku.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h sj_dict.h \
|
||||
sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h Paths.h \
|
||||
sj_euc.h sj_sysvdef.h sj_global.h sj_hinsi.h sj_right.h \
|
||||
sj_euc.h sj_sysvdef.h sj_global.h sj_hinshi.h sj_right.h \
|
||||
sj_yomi.h
|
||||
fzkyomi.o: fzkyomi.c const.h Paths.h sj_euc.h sj_sysvdef.h sj_rename.h \
|
||||
sj_typedef.h sj_yomi.h sj_right.h sj_left.h
|
||||
|
|
@ -96,7 +96,7 @@ henkan.o: henkan.c common.h conversion.h sj2.h wchar16.h key.h \
|
|||
sj_sysvdef.h sj3libsj3.h sj3lib.h henkan.h kctype.h
|
||||
hindo.o: hindo.c sj_struct.h sj_typedef.h dicttool.h sj_struct2.h const.h \
|
||||
Paths.h sj_euc.h sj_sysvdef.h
|
||||
hinsi.o: hinsi.c sj_hinsi.h
|
||||
hinshi.o: hinshi.c sj_hinshi.h
|
||||
hzstrlen.o: hzstrlen.c sj_euc.h sj_sysvdef.h sj_rename.h sj_typedef.h \
|
||||
const.h Paths.h sj_dict.h kanakan.h sj_struct.h Struct.h sj_var.h
|
||||
init.o: init.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h sj_dict.h \
|
||||
|
|
@ -128,17 +128,17 @@ memory2.o: memory2.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
|||
mk2claus.o: mk2claus.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
||||
sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \
|
||||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_right.h
|
||||
mkbunset.o: mkbunset.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
||||
mkbunsetsu.o: mkbunsetsu.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
||||
sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \
|
||||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_hinsi.h \
|
||||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_hinshi.h \
|
||||
kanakan.h
|
||||
mkjiritu.o: mkjiritu.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
||||
mkjiritsu.o: mkjiritsu.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
||||
sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \
|
||||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h kanakan.h
|
||||
mkkouho.o: mkkouho.c sj_euc.h sj_sysvdef.h sj_kcnv.h sj_typedef.h \
|
||||
sj_rename.h sj_var.h sj_dict.h sj_study.h sj_table.h sj_func.h \
|
||||
sj_struct.h Struct.h const.h Paths.h sj_global.h \
|
||||
sj_hinsi.h sj_suuji.h kanakan.h
|
||||
sj_hinshi.h sj_suuji.h kanakan.h
|
||||
mknumber.o: mknumber.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
||||
sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \
|
||||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_yomi.h \
|
||||
|
|
@ -160,7 +160,7 @@ ph_khtbl.o: ph_khtbl.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
|||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h kanakan.h
|
||||
priority.o: priority.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
||||
sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \
|
||||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_hinsi.h \
|
||||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_hinshi.h \
|
||||
sj_right.h sj_prty.h
|
||||
prtytbl.o: prtytbl.c sj_rename.h sj_typedef.h
|
||||
readline.o: readline.c sj_euc.h sj_sysvdef.h const.h Paths.h sj_macro.h \
|
||||
|
|
@ -179,18 +179,18 @@ selsuuji.o: selsuuji.c sj_rename.h sj_typedef.h const.h Paths.h sj_euc.h \
|
|||
setconj.o: setconj.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
||||
sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \
|
||||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_right.h \
|
||||
sj_hinsi.h sj_yomi.h kanakan.h
|
||||
sj_hinshi.h sj_yomi.h kanakan.h
|
||||
setjrec.o: setjrec.c sj_euc.h sj_sysvdef.h sj_kcnv.h sj_typedef.h \
|
||||
sj_rename.h sj_var.h sj_dict.h sj_study.h sj_table.h sj_func.h \
|
||||
sj_struct.h Struct.h const.h Paths.h sj_global.h \
|
||||
sj_hinsi.h kanakan.h
|
||||
sj_hinshi.h kanakan.h
|
||||
setkouho.o: setkouho.c sj_euc.h sj_sysvdef.h sj_kcnv.h sj_typedef.h \
|
||||
sj_rename.h sj_var.h sj_dict.h sj_study.h sj_table.h sj_func.h \
|
||||
sj_struct.h Struct.h const.h Paths.h sj_global.h \
|
||||
sj_hinsi.h kanakan.h
|
||||
setubi.o: setubi.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h sj_dict.h \
|
||||
sj_hinshi.h kanakan.h
|
||||
setsubi.o: setsubi.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h sj_dict.h \
|
||||
sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h Paths.h \
|
||||
sj_euc.h sj_sysvdef.h sj_global.h sj_hinsi.h kanakan.h
|
||||
sj_euc.h sj_sysvdef.h sj_global.h sj_hinshi.h kanakan.h
|
||||
setup.o: setup.c sj_sysvdef.h sj_typedef.h sj_var.h sj_dict.h sj_struct.h \
|
||||
sj_rename.h const.h Paths.h sj_euc.h Struct.h sj_global.h kanakan.h \
|
||||
server.h
|
||||
|
|
@ -204,7 +204,7 @@ sj3_rkcv.o: sj3_rkcv.c wchar16.h key.h sj2.h sj_sysvdef.h kana.h rk.h \
|
|||
sj3dic.o: sj3dic.c sj_sysvdef.h sjtool.h sj3lib.h sj3dic.h
|
||||
sj3err.o: sj3err.c sj3err.h
|
||||
sj3lib.o: sj3lib.c config.h const.h Paths.h sj_euc.h sj_sysvdef.h \
|
||||
sj3err.h sj_hinsi.h sj3lib.h
|
||||
sj3err.h sj_hinshi.h sj3lib.h
|
||||
sj3stat.o: sj3stat.c const.h Paths.h sj_euc.h sj_sysvdef.h sj3err.h \
|
||||
sj3lib.h
|
||||
sj3ver.o: sj3ver.c sj2.h wchar16.h key.h sj_sysvdef.h
|
||||
|
|
@ -229,10 +229,10 @@ srchidx.o: srchidx.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
|||
srchnum.o: srchnum.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
||||
sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \
|
||||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_yomi.h \
|
||||
sj_hinsi.h sj_suuji.h kanakan.h
|
||||
sj_hinshi.h sj_suuji.h kanakan.h
|
||||
stat_conv.o: stat_conv.c common.h conversion.h sj2.h wchar16.h key.h \
|
||||
sj_sysvdef.h sj3libsj3.h sj3lib.h henkan.h rk.h
|
||||
stbtbl.o: stbtbl.c sj_rename.h sj_typedef.h sj_yomi.h sj_hinsi.h
|
||||
stbtbl.o: stbtbl.c sj_rename.h sj_typedef.h sj_yomi.h sj_hinshi.h
|
||||
string.o: string.c config.h sj_euc.h sj_sysvdef.h sj3lib.h
|
||||
string2.o: string2.c const.h Paths.h sj_euc.h sj_sysvdef.h dicttool.h \
|
||||
sj_struct2.h
|
||||
|
|
@ -255,5 +255,5 @@ version2.o: version2.c sj2.h wchar16.h key.h sj_sysvdef.h
|
|||
wakachi.o: wakachi.c sj_kcnv.h sj_typedef.h sj_rename.h sj_var.h \
|
||||
sj_dict.h sj_study.h sj_table.h sj_func.h sj_struct.h Struct.h const.h \
|
||||
Paths.h sj_euc.h sj_sysvdef.h sj_global.h sj_right.h \
|
||||
sj_hinsi.h kanakan.h
|
||||
sj_hinshi.h kanakan.h
|
||||
wc16_str.o: wc16_str.c sj_sysvdef.h sj_euc.h wchar16.h key.h
|
||||
|
|
|
|||
10
Sjrc
10
Sjrc
|
|
@ -26,12 +26,6 @@
|
|||
## from Sony Corporation.
|
||||
##
|
||||
|
||||
##
|
||||
## $SonyRCSfile: Sjrc,v $
|
||||
## $SonyRevision: 1.1 $
|
||||
## $SonyDate: 1994/06/03 08:03:06 $
|
||||
##
|
||||
|
||||
# SJ3用セット・アップ・ファイル
|
||||
# .sjrc file sample
|
||||
# sj3 1.00, 1990 Sony Corp.
|
||||
|
|
@ -48,7 +42,7 @@
|
|||
.key.right ^F
|
||||
.key.left ^B
|
||||
.key.kakuchou ^O
|
||||
.key.syukusyou ^I
|
||||
.key.shukushou ^I
|
||||
.key.wrap ^N
|
||||
.key.wrapback ^P
|
||||
.key.saihenkan ^Y
|
||||
|
|
@ -81,7 +75,7 @@
|
|||
|
||||
# その他キーが押されたときのコマンド・キーの指定
|
||||
#.etckey.toroku hira
|
||||
#.etckey.syoukyo zkatakana
|
||||
#.etckey.shoukyo zkatakana
|
||||
#.etckey.help hkatakana
|
||||
#.etckey.sjrc zalpha
|
||||
|
||||
|
|
|
|||
5
Sjrk
5
Sjrk
|
|
@ -26,11 +26,6 @@
|
|||
## from Sony Corporation.
|
||||
##
|
||||
|
||||
##
|
||||
## $SonyRCSfile: Sjrk,v $
|
||||
## $SonyRevision: 1.1 $
|
||||
## $SonyDate: 1994/06/03 08:03:07 $
|
||||
##
|
||||
#
|
||||
# ローマ字かな変換規則定義ファイル
|
||||
# デフォルトファイル
|
||||
|
|
|
|||
|
|
@ -26,11 +26,6 @@
|
|||
## from Sony Corporation.
|
||||
##
|
||||
|
||||
##
|
||||
## $SonyRCSfile: Xterm.cvt,v $
|
||||
## $SonyRevision: 1.1 $
|
||||
## $SonyDate: 1994/06/03 08:03:08 $
|
||||
##
|
||||
# sj3 command key alias file
|
||||
# for xterm
|
||||
#
|
||||
|
|
|
|||
66
adddic.c
66
adddic.c
|
|
@ -27,32 +27,20 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: adddic.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:26 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <string.h>
|
||||
#include "sj_euc.h"
|
||||
#include "sj_kcnv.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
static unsigned int checkdict(unsigned char* kanji, TypeGram grm);
|
||||
static int cal_nextym(unsigned char* ptr);
|
||||
static int usr_freelen(void);
|
||||
static void sprt_seg(TypeDicSeg seg, TypeDicOfs ofs);
|
||||
static void apnd_uidx(TypeDicSeg seg, unsigned char* yomi, int len);
|
||||
|
||||
|
||||
unsigned int
|
||||
adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
||||
{
|
||||
adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinshi) {
|
||||
unsigned int err;
|
||||
unsigned char yptr[MaxWdYomiLen + 1];
|
||||
unsigned char kptr[MaxWdKanjiLen + 1];
|
||||
|
|
@ -78,14 +66,14 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
STDYIN* stdy;
|
||||
STDYOUT stdydat;
|
||||
|
||||
if ((err = addel_arg(yomi, kanji, hinsi, yptr, sizeof(yptr))) != 0)
|
||||
if((err = addel_arg(yomi, kanji, hinshi, yptr, sizeof(yptr))) != 0)
|
||||
return err;
|
||||
|
||||
inputyomi = yomi;
|
||||
cnvstart = ystart = yptr;
|
||||
cnvlen = strlen(yptr);
|
||||
|
||||
if ((err = checkdict(kanji, hinsi)) != 0)
|
||||
if((err = checkdict(kanji, hinshi)) != 0)
|
||||
return err;
|
||||
|
||||
if(!curdict->maxunit) return AD_NotUserDict;
|
||||
|
|
@ -105,11 +93,11 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
dstofs = douofs = p1 - dicbuf;
|
||||
hnsofs = knjofs = 0;
|
||||
if(i) {
|
||||
i = srchgram(p1, &p1, hinsi);
|
||||
i = srchgram(p1, &p1, hinshi);
|
||||
dstofs = hnsofs = p1 - dicbuf;
|
||||
if(i) {
|
||||
srchkanji(&p1, kptr, klen);
|
||||
if (*p1 != HinsiBlkTerm) return AD_ArExist;
|
||||
if(*p1 != HinshiBlkTerm) return AD_ArExist;
|
||||
dstofs = knjofs = p1 - dicbuf;
|
||||
}
|
||||
}
|
||||
|
|
@ -122,8 +110,7 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
newsiz = DouonBlkSizeNumber + nlen;
|
||||
|
||||
nxtask = cal_nextym(p1);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
oldsiz = newsiz = getsize(p1);
|
||||
nxtask = 0;
|
||||
}
|
||||
|
|
@ -204,7 +191,7 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
nlen = getnlen(douptr) - nxtask;
|
||||
*douptr = (size >> 8);
|
||||
if(nlen & 0x10) *douptr |= NokoriYomiTop;
|
||||
if (plen & 0x10) *douptr |= AssyukuYomiTop;
|
||||
if(plen & 0x10) *douptr |= AsshukuYomiTop;
|
||||
*(douptr + 1) = size;
|
||||
*(douptr + 2) = ((nlen & 0x0f) | ((plen & 0x0f) << 4));
|
||||
|
||||
|
|
@ -226,7 +213,7 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
*dstptr = 0;
|
||||
nlen = cnvlen - saml;
|
||||
if(nlen & 0x10) *dstptr |= NokoriYomiTop;
|
||||
if (saml & 0x10) *dstptr |= AssyukuYomiTop;
|
||||
if(saml & 0x10) *dstptr |= AsshukuYomiTop;
|
||||
*dstptr++ |= (size >> 8);
|
||||
*dstptr++ = size;
|
||||
*dstptr++ = ((nlen & 0x0f) | ((saml & 0x0f) << 4));
|
||||
|
|
@ -239,18 +226,18 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
nlen = getnlen(douptr);
|
||||
*douptr = (newsiz >> 8);
|
||||
if(nlen & 0x10) *douptr |= NokoriYomiTop;
|
||||
if (plen & 0x10) *douptr |= AssyukuYomiTop;
|
||||
if(plen & 0x10) *douptr |= AsshukuYomiTop;
|
||||
*(douptr + 1) = newsiz;
|
||||
*(douptr + 2) = ((nlen & 0x0f) | ((plen & 0x0f) << 4));
|
||||
}
|
||||
|
||||
if (!knjofs) *dstptr++ = hinsi;
|
||||
if(!knjofs) *dstptr++ = hinshi;
|
||||
|
||||
stdydat.stdy1.offset = dstptr - dicbuf;
|
||||
for(saml = 0; saml < klen;) *dstptr++ = kptr[saml++];
|
||||
if(klen > 0) *dstptr++ = KanjiStrEnd;
|
||||
|
||||
if (!knjofs) *dstptr++ = HinsiBlkTerm;
|
||||
if(!knjofs) *dstptr++ = HinshiBlkTerm;
|
||||
|
||||
(*curdict->putdic)(curdict, segnum);
|
||||
|
||||
|
|
@ -270,8 +257,7 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
mkclidx();
|
||||
putcldic();
|
||||
break;
|
||||
}
|
||||
else if (err == OVER)
|
||||
} else if(err == OVER)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -282,7 +268,7 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
stdydat.stdy1.sttkj = 0;
|
||||
stdydat.stdy1.ka_kj = 0;
|
||||
stdydat.stdy1.nmflg = 0;
|
||||
stdydat.hinshi = hinsi;
|
||||
stdydat.hinshi = hinshi;
|
||||
stdydat.len = cnvlen;
|
||||
stdydat.sttlen = 0;
|
||||
stdydat.sttfg = 0;
|
||||
|
|
@ -292,10 +278,8 @@ adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
return AD_Done;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
checksub(unsigned char* kanji, TypeGram grm)
|
||||
{
|
||||
checksub(unsigned char* kanji, TypeGram grm) {
|
||||
unsigned char* tagp;
|
||||
unsigned char* ptr;
|
||||
unsigned char* endp;
|
||||
|
|
@ -319,7 +303,7 @@ checksub(unsigned char* kanji, TypeGram grm)
|
|||
|
||||
while(ptr < endp) {
|
||||
flg = (grm == *ptr++);
|
||||
while (*ptr != HinsiBlkTerm) {
|
||||
while(*ptr != HinshiBlkTerm) {
|
||||
if(flg) {
|
||||
buf[getkanji(inputyomi, cnvlen, ptr, buf)] = 0;
|
||||
if(cmpstr(kanji, buf)) return -1;
|
||||
|
|
@ -335,10 +319,8 @@ checksub(unsigned char* kanji, TypeGram grm)
|
|||
return dounum;
|
||||
}
|
||||
|
||||
|
||||
static unsigned int
|
||||
checkdict(unsigned char* kanji, TypeGram grm)
|
||||
{
|
||||
checkdict(unsigned char* kanji, TypeGram grm) {
|
||||
DICTL* dp;
|
||||
int dounum = 0;
|
||||
int tmp;
|
||||
|
|
@ -361,10 +343,8 @@ checkdict(unsigned char* kanji, TypeGram grm)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
cal_nextym(unsigned char* ptr)
|
||||
{
|
||||
cal_nextym(unsigned char* ptr) {
|
||||
int count = 0;
|
||||
unsigned char* src;
|
||||
int len;
|
||||
|
|
@ -385,10 +365,8 @@ cal_nextym(unsigned char* ptr)
|
|||
return count;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
usr_freelen(void)
|
||||
{
|
||||
usr_freelen(void) {
|
||||
unsigned char* ptr;
|
||||
|
||||
ptr = segtop();
|
||||
|
|
@ -397,10 +375,8 @@ usr_freelen(void)
|
|||
return (curdict->seglen - (ptr - dicbuf));
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
sprt_seg(TypeDicSeg seg, TypeDicOfs ofs)
|
||||
{
|
||||
sprt_seg(TypeDicSeg seg, TypeDicOfs ofs) {
|
||||
TypeDicSeg s;
|
||||
unsigned char* pos;
|
||||
unsigned char* p;
|
||||
|
|
@ -472,10 +448,8 @@ sprt_seg(TypeDicSeg seg, TypeDicOfs ofs)
|
|||
(*curdict->putdic)(curdict, seg);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
apnd_uidx(TypeDicSeg seg, unsigned char* yomi, int len)
|
||||
{
|
||||
apnd_uidx(TypeDicSeg seg, unsigned char* yomi, int len) {
|
||||
unsigned char* p;
|
||||
unsigned char* q;
|
||||
|
||||
|
|
|
|||
143
addelcmn.c
143
addelcmn.c
|
|
@ -27,43 +27,26 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: addelcmn.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:27 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include "sj_euc.h"
|
||||
#include "sj_kcnv.h"
|
||||
#include "sj_hinsi.h"
|
||||
#include "sj_hinshi.h"
|
||||
#include "sj_yomi.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
int sj2cd_str();
|
||||
void mvmemi(), mvmemd(), mkidxtbl();
|
||||
|
||||
|
||||
|
||||
void
|
||||
set_size (unsigned char *p, int size, int plen, int nlen)
|
||||
{
|
||||
void set_size(unsigned char* p, int size, int plen, int nlen) {
|
||||
*p = (unsigned char)(size >> 8);
|
||||
if(nlen & 0x10) *p |= NokoriYomiTop;
|
||||
if (plen & 0x10) *p |= AssyukuYomiTop;
|
||||
if(plen & 0x10) *p |= AsshukuYomiTop;
|
||||
*(p + 1) = (unsigned char)size;
|
||||
*(p + 2) = (unsigned char)((nlen & 0x0f) | ((plen & 0x0f) << 4));
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
isvyomi (unsigned char *yp)
|
||||
{
|
||||
isvyomi(unsigned char* yp) {
|
||||
int len;
|
||||
|
||||
if(!*yp) return FALSE;
|
||||
|
|
@ -78,11 +61,8 @@ isvyomi (unsigned char *yp)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
isvknj(unsigned char *kanji)
|
||||
{
|
||||
isvknj(unsigned char* kanji) {
|
||||
int len;
|
||||
|
||||
if(!*kanji) return FALSE;
|
||||
|
|
@ -96,8 +76,7 @@ isvknj(unsigned char *kanji)
|
|||
if(isknj1(*kanji)) {
|
||||
kanji += 2;
|
||||
len += 2;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
kanji++;
|
||||
len += 2;
|
||||
}
|
||||
|
|
@ -108,16 +87,13 @@ isvknj(unsigned char *kanji)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
isgrm (TypeGram gram)
|
||||
{
|
||||
isgrm(TypeGram gram) {
|
||||
int grm = gram;
|
||||
|
||||
if (MEISI_1 <= grm && grm <= D_MEISI_6) return TRUE;
|
||||
if (MYOUJI <= grm && grm <= JOSUUSI2) return TRUE;
|
||||
if (KEIYOUSI_1 <= grm && grm <= DO_ZAHEN) return TRUE;
|
||||
if(MEISHI_1 <= grm && grm <= D_MEISHI_6) return TRUE;
|
||||
if(MYOUJI <= grm && grm <= JOSUUSHI2) return TRUE;
|
||||
if(KEIYOUSHI_1 <= grm && grm <= DO_ZAHEN) 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_6 <= grm && grm <= DO_WAGO_6) return TRUE;
|
||||
|
|
@ -130,25 +106,19 @@ isgrm (TypeGram gram)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int
|
||||
addel_arg (unsigned char *yp, unsigned char *kp, TypeGram grm, unsigned char *nyp, int len)
|
||||
{
|
||||
addel_arg(unsigned char* yp, unsigned char* kp, TypeGram grm, unsigned char* nyp, int len) {
|
||||
unsigned int err = 0;
|
||||
|
||||
if(!sj2cd_str(yp, nyp, len)) err |= AD_BadYomi;
|
||||
if(!isvyomi(nyp)) err |= AD_BadYomi;
|
||||
if(!isvknj(kp)) err |= AD_BadKanji;
|
||||
if (!isgrm(grm)) err |= AD_BadHinsi;
|
||||
if(!isgrm(grm)) err |= AD_BadHinshi;
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
yomi2kata (unsigned char *src, unsigned char *dst)
|
||||
{
|
||||
yomi2kata(unsigned char* src, unsigned char* dst) {
|
||||
int first;
|
||||
int second;
|
||||
|
||||
|
|
@ -158,8 +128,7 @@ yomi2kata (unsigned char *src, unsigned char *dst)
|
|||
if(first != 0xa4) {
|
||||
*dst++ = first;
|
||||
*dst++ = second;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
*dst++ = 0xa5;
|
||||
*dst++ = second;
|
||||
}
|
||||
|
|
@ -168,22 +137,16 @@ yomi2kata (unsigned char *src, unsigned char *dst)
|
|||
*dst = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
top_strcmp (unsigned char *src, unsigned char *dst)
|
||||
{
|
||||
top_strcmp(unsigned char* src, unsigned char* dst) {
|
||||
int i;
|
||||
for(i = 0; *src && (*src == *dst); src++, dst++) i++;
|
||||
i /= 2;
|
||||
return (i > MaxYomiAskNumber) ? MaxYomiAskNumber : i;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
last_strcmp (unsigned char *src, unsigned char *dst)
|
||||
{
|
||||
last_strcmp(unsigned char* src, unsigned char* dst) {
|
||||
int slen;
|
||||
int dlen;
|
||||
|
||||
|
|
@ -197,11 +160,7 @@ last_strcmp (unsigned char *src, unsigned char *dst)
|
|||
return (dlen / 2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
int
|
||||
cvtknj (unsigned char *yomi, unsigned char *knj, unsigned char *dst)
|
||||
{
|
||||
int cvtknj(unsigned char* yomi, unsigned char* knj, unsigned char* dst) {
|
||||
unsigned char kana[MaxWdYomiLen * 2 + 1];
|
||||
int len;
|
||||
unsigned char* keep;
|
||||
|
|
@ -210,10 +169,9 @@ cvtknj (unsigned char *yomi, unsigned char *knj, unsigned char *dst)
|
|||
yomi2kata(yomi, kana);
|
||||
|
||||
if((len = top_strcmp(yomi, knj)) != 0) {
|
||||
*dst = (unsigned char)(ZenHiraAssyuku | (len - 1));
|
||||
}
|
||||
else if ((len = top_strcmp(kana, knj)) != 0) {
|
||||
*dst = (unsigned char)(ZenKataAssyuku | (len - 1));
|
||||
*dst = (unsigned char)(ZenHiraAsshuku | (len - 1));
|
||||
} else if((len = top_strcmp(kana, knj)) != 0) {
|
||||
*dst = (unsigned char)(ZenKataAsshuku | (len - 1));
|
||||
}
|
||||
|
||||
if(len) {
|
||||
|
|
@ -224,26 +182,26 @@ cvtknj (unsigned char *yomi, unsigned char *knj, unsigned char *dst)
|
|||
if(*knj) {
|
||||
for(;;) {
|
||||
if((len = last_strcmp(yomi, knj)) != 0) {
|
||||
*dst++ = (unsigned char)(ZenHiraAssyuku | (len - 1));
|
||||
*dst++ = (unsigned char)(ZenHiraAsshuku | (len - 1));
|
||||
break;
|
||||
}
|
||||
else if ((len = last_strcmp(kana, knj)) != 0) {
|
||||
*dst++ = (unsigned char)(ZenKataAssyuku | (len - 1));
|
||||
} else if((len = last_strcmp(kana, knj)) != 0) {
|
||||
*dst++ = (unsigned char)(ZenKataAsshuku | (len - 1));
|
||||
break;
|
||||
}
|
||||
else if (*knj == SS2) {
|
||||
} else if(*knj == SS2) {
|
||||
knj++;
|
||||
*dst++ = (unsigned char)LeadingHankaku;
|
||||
*dst++ = *knj++;
|
||||
} else if(*knj == SS3) {
|
||||
knj++;
|
||||
*dst++ = (*knj & NormalKanjiMask); knj++;
|
||||
*dst++ = (*knj & NormalKanjiMask);
|
||||
knj++;
|
||||
*dst++ = *knj++;
|
||||
} else if(*knj & 0x80) {
|
||||
*dst++ = (*knj & NormalKanjiMask); knj++;
|
||||
*dst++ = (*knj & NormalKanjiMask); knj++;
|
||||
}
|
||||
else {
|
||||
*dst++ = (*knj & NormalKanjiMask);
|
||||
knj++;
|
||||
*dst++ = (*knj & NormalKanjiMask);
|
||||
knj++;
|
||||
} else {
|
||||
*dst++ = (unsigned char)LeadingHankaku;
|
||||
*dst++ = *knj++;
|
||||
}
|
||||
|
|
@ -259,11 +217,7 @@ cvtknj (unsigned char *yomi, unsigned char *knj, unsigned char *dst)
|
|||
return (dst - keep);
|
||||
}
|
||||
|
||||
|
||||
|
||||
int
|
||||
srchkana (unsigned char **ptr, int *saml)
|
||||
{
|
||||
int srchkana(unsigned char** ptr, int* saml) {
|
||||
unsigned char* p;
|
||||
int cmp;
|
||||
int cnt = 0;
|
||||
|
|
@ -299,11 +253,7 @@ srchkana (unsigned char **ptr, int *saml)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int
|
||||
srchgram (unsigned char *ptr, unsigned char **dst, TypeGram hinsi)
|
||||
{
|
||||
int srchgram(unsigned char* ptr, unsigned char** dst, TypeGram hinshi) {
|
||||
unsigned char* endp;
|
||||
int cnt = 0, nlen;
|
||||
int flg = FALSE;
|
||||
|
|
@ -313,14 +263,14 @@ srchgram (unsigned char *ptr, unsigned char **dst, TypeGram hinsi)
|
|||
nlen = getnlen(ptr);
|
||||
ptr += DouonBlkSizeNumber + nlen;
|
||||
while(ptr < endp) {
|
||||
if (*ptr == hinsi) {
|
||||
if(*ptr == hinshi) {
|
||||
*dst = ptr;
|
||||
flg = TRUE;
|
||||
}
|
||||
|
||||
do {
|
||||
ptr += codesize(*ptr);
|
||||
} while (*ptr != HinsiBlkTerm);
|
||||
} while(*ptr != HinshiBlkTerm);
|
||||
ptr++;
|
||||
cnt++;
|
||||
}
|
||||
|
|
@ -331,11 +281,7 @@ srchgram (unsigned char *ptr, unsigned char **dst, TypeGram hinsi)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int
|
||||
srchkanji (unsigned char **dst, unsigned char *knj, int klen)
|
||||
{
|
||||
int srchkanji(unsigned char** dst, unsigned char* knj, int klen) {
|
||||
unsigned char* ptr;
|
||||
unsigned char *p, *q;
|
||||
int len;
|
||||
|
|
@ -344,7 +290,7 @@ srchkanji (unsigned char **dst, unsigned char *knj, int klen)
|
|||
|
||||
ptr = *dst + 1;
|
||||
|
||||
while (*ptr != HinsiBlkTerm) {
|
||||
while(*ptr != HinshiBlkTerm) {
|
||||
for(p = ptr, q = knj, len = klen; len; len--)
|
||||
if(*p++ != *q++) break;
|
||||
|
||||
|
|
@ -365,11 +311,8 @@ srchkanji (unsigned char **dst, unsigned char *knj, int klen)
|
|||
return cnt;
|
||||
}
|
||||
|
||||
|
||||
|
||||
TypeIdxOfs
|
||||
count_uidx (void)
|
||||
{
|
||||
count_uidx(void) {
|
||||
unsigned char* p;
|
||||
|
||||
p = get_idxptr(curdict->segunit - 1);
|
||||
|
|
@ -378,11 +321,7 @@ count_uidx (void)
|
|||
return (curdict->idxlen - (p - idxbuf));
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
chg_uidx (TypeDicSeg seg, unsigned char *yomi, int len)
|
||||
{
|
||||
void chg_uidx(TypeDicSeg seg, unsigned char* yomi, int len) {
|
||||
unsigned char *p, *q;
|
||||
int olen;
|
||||
|
||||
|
|
@ -394,8 +333,7 @@ chg_uidx (TypeDicSeg seg, unsigned char *yomi, int len)
|
|||
|
||||
if(len > olen) {
|
||||
mvmemd(q - (len - olen), q, (int)(q - (len - olen) - p));
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
mvmemi(p + (olen - len), p, (int)(q - (p + (olen - len))));
|
||||
}
|
||||
|
||||
|
|
@ -405,4 +343,3 @@ chg_uidx (TypeDicSeg seg, unsigned char *yomi, int len)
|
|||
|
||||
mkidxtbl(curdict);
|
||||
}
|
||||
|
||||
|
|
|
|||
25
alloc.c
25
alloc.c
|
|
@ -27,16 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: alloc.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:28 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
#include "sj_rename.h"
|
||||
|
|
@ -52,9 +42,7 @@
|
|||
static JREC* jrec = NULL;
|
||||
static CLREC* clrec = NULL;
|
||||
|
||||
JREC*
|
||||
alloc_jrec(void)
|
||||
{
|
||||
JREC* alloc_jrec(void) {
|
||||
JREC* p;
|
||||
int i;
|
||||
|
||||
|
|
@ -71,9 +59,7 @@ alloc_jrec(void)
|
|||
return p;
|
||||
}
|
||||
|
||||
void
|
||||
free_jrec(JREC *p)
|
||||
{
|
||||
void free_jrec(JREC* p) {
|
||||
if(p != NULL) {
|
||||
p->jsort = jrec;
|
||||
jrec = p;
|
||||
|
|
@ -81,8 +67,7 @@ free_jrec(JREC *p)
|
|||
}
|
||||
|
||||
CLREC*
|
||||
alloc_clrec(void)
|
||||
{
|
||||
alloc_clrec(void) {
|
||||
CLREC* p;
|
||||
int i;
|
||||
|
||||
|
|
@ -99,9 +84,7 @@ alloc_clrec(void)
|
|||
return p;
|
||||
}
|
||||
|
||||
void
|
||||
free_clrec(CLREC* p)
|
||||
{
|
||||
void free_clrec(CLREC* p) {
|
||||
if(p != NULL) {
|
||||
p->clsort = clrec;
|
||||
clrec = p;
|
||||
|
|
|
|||
168
char.c
168
char.c
|
|
@ -27,7 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <stdio.h>
|
||||
|
|
@ -35,10 +34,7 @@
|
|||
#include "sj_euc.h"
|
||||
#include "const.h"
|
||||
|
||||
|
||||
int
|
||||
cnvyomi(int code)
|
||||
{
|
||||
int cnvyomi(int code) {
|
||||
unsigned short hh;
|
||||
unsigned char high;
|
||||
unsigned char low;
|
||||
|
|
@ -50,17 +46,19 @@ cnvyomi(int code)
|
|||
if(!hh) {
|
||||
if(high == 0xa1) {
|
||||
switch(low) {
|
||||
case 0xbc: return 1;
|
||||
case 0xf4: return 2;
|
||||
case 0xf7: return 3;
|
||||
case 0xa7: return 4;
|
||||
}
|
||||
}
|
||||
else if (high == 0xa2) {
|
||||
if (low == 0xa9)
|
||||
case 0xbc:
|
||||
return 1;
|
||||
case 0xf4:
|
||||
return 2;
|
||||
case 0xf7:
|
||||
return 3;
|
||||
case 0xa7:
|
||||
return 4;
|
||||
}
|
||||
else if (high == 0xa3) {
|
||||
} else if(high == 0xa2) {
|
||||
if(low == 0xa9)
|
||||
return 4;
|
||||
} else if(high == 0xa3) {
|
||||
if(low < 0xb0)
|
||||
;
|
||||
else if(low <= 0xb9)
|
||||
|
|
@ -73,18 +71,19 @@ cnvyomi(int code)
|
|||
;
|
||||
else if(low <= 0xfa)
|
||||
return (low - 0xe1 + 0x34);
|
||||
}
|
||||
else if (high == 0xa4) {
|
||||
} else if(high == 0xa4) {
|
||||
if(low < 0xa1)
|
||||
;
|
||||
else if(low <= 0xf3)
|
||||
return (low - 0xa1 + 0x4e);
|
||||
}
|
||||
else if (high == 0xa5) {
|
||||
} else if(high == 0xa5) {
|
||||
switch(low) {
|
||||
case 0xf4: return 0xa1;
|
||||
case 0xf5: return 0xa2;
|
||||
case 0xf6: return 0xa3;
|
||||
case 0xf4:
|
||||
return 0xa1;
|
||||
case 0xf5:
|
||||
return 0xa2;
|
||||
case 0xf6:
|
||||
return 0xa3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -92,10 +91,7 @@ cnvyomi(int code)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
h2kcode(int code)
|
||||
{
|
||||
int h2kcode(int code) {
|
||||
unsigned short hh;
|
||||
unsigned char high;
|
||||
unsigned char low;
|
||||
|
|
@ -116,18 +112,15 @@ h2kcode(int code)
|
|||
return (0);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
codesize(unsigned char code)
|
||||
{
|
||||
int codesize(unsigned char code) {
|
||||
switch(code & KanjiModeMask) {
|
||||
case ZenHiraAssyuku:
|
||||
case ZenKataAssyuku:
|
||||
case KanjiAssyuku:
|
||||
case ZenHiraAsshuku:
|
||||
case ZenKataAsshuku:
|
||||
case KanjiAsshuku:
|
||||
case KanjiStrEnd:
|
||||
return 1;
|
||||
case LeadingHankaku:
|
||||
case OffsetAssyuku:
|
||||
case OffsetAsshuku:
|
||||
case AiAttribute:
|
||||
return 2;
|
||||
default:
|
||||
|
|
@ -135,21 +128,18 @@ codesize(unsigned char code)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
output_knj(FILE* fp, unsigned char* p, int l)
|
||||
{
|
||||
void output_knj(FILE* fp, unsigned char* p, int l) {
|
||||
while(l > 0) {
|
||||
switch(*p & KanjiModeMask) {
|
||||
case ZenHiraAssyuku:
|
||||
case ZenHiraAsshuku:
|
||||
fprintf(fp, "\244\322%d", (*p++ & 0x0f) + 1);
|
||||
l--;
|
||||
break;
|
||||
case ZenKataAssyuku:
|
||||
case ZenKataAsshuku:
|
||||
fprintf(fp, "\245\253%d", (*p++ & 0x0f) + 1);
|
||||
l--;
|
||||
break;
|
||||
case KanjiAssyuku:
|
||||
case KanjiAsshuku:
|
||||
fprintf(fp, "\260\265%1x", (*p++ & 0x0f));
|
||||
l--;
|
||||
break;
|
||||
|
|
@ -158,84 +148,95 @@ output_knj(FILE* fp, unsigned char* p, int l)
|
|||
l = 0;
|
||||
fprintf(stderr, "\244\252\244\253\244\267\244\244");
|
||||
#else
|
||||
fputc(*p++, fp); l--;
|
||||
fputc(*p++, fp); l--;
|
||||
fputc(*p++, fp);
|
||||
l--;
|
||||
fputc(*p++, fp);
|
||||
l--;
|
||||
#endif
|
||||
break;
|
||||
case OffsetAssyuku:
|
||||
case OffsetAsshuku:
|
||||
fprintf(fp, "ofs%1x", (*p++ & 0x0f));
|
||||
l--;
|
||||
fprintf(fp, "%02x", *p++); l--;
|
||||
fprintf(fp, "%02x", *p++);
|
||||
l--;
|
||||
break;
|
||||
case AiAttribute:
|
||||
fprintf(fp, "\302\260%1x", (*p++ & 0x0f));
|
||||
l--;
|
||||
fprintf(fp, "%02x", *p++); l--;
|
||||
fprintf(fp, "%02x", *p++);
|
||||
l--;
|
||||
break;
|
||||
case KanjiStrEnd:
|
||||
p++; l--;
|
||||
p++;
|
||||
l--;
|
||||
break;
|
||||
default:
|
||||
if(p[1] & 0x80)
|
||||
fputc(SS3, fp);
|
||||
fputc((*p | 0x80), fp); l--; p++;
|
||||
fputc((*p | 0x80), fp); l--; p++;
|
||||
|
||||
fputc((*p | 0x80), fp);
|
||||
l--;
|
||||
p++;
|
||||
fputc((*p | 0x80), fp);
|
||||
l--;
|
||||
p++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
output_str(FILE* fp, char* p)
|
||||
{
|
||||
while (*p) { fputc(*p, fp); p++; }
|
||||
void output_str(FILE* fp, char* p) {
|
||||
while(*p) {
|
||||
fputc(*p, fp);
|
||||
p++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
output_int(FILE* fp, int* p)
|
||||
{
|
||||
void output_int(FILE* fp, int* p) {
|
||||
while(*p) {
|
||||
if(*p < 0x100) {
|
||||
fputc(*p, fp); p++;
|
||||
}
|
||||
else if (*p < 0x10000) {
|
||||
fputc(*p, fp);
|
||||
p++;
|
||||
} else if(*p < 0x10000) {
|
||||
fputc((*p >> 8) & 0xff, fp);
|
||||
fputc(*p & 0xff, fp); p++;
|
||||
}
|
||||
else if (*p < 0x1000000) {
|
||||
fputc(*p & 0xff, fp);
|
||||
p++;
|
||||
} else if(*p < 0x1000000) {
|
||||
fputc((*p >> 16) & 0xff, fp);
|
||||
fputc((*p >> 8) & 0xff, fp);
|
||||
fputc(*p & 0xff, fp); p++;
|
||||
}
|
||||
else {
|
||||
fputc(*p & 0xff, fp);
|
||||
p++;
|
||||
} else {
|
||||
fputc((*p >> 24) & 0xff, fp);
|
||||
fputc((*p >> 16) & 0xff, fp);
|
||||
fputc((*p >> 8) & 0xff, fp);
|
||||
fputc(*p & 0xff, fp); p++;
|
||||
fputc(*p & 0xff, fp);
|
||||
p++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
yomi2zen(int code)
|
||||
{
|
||||
yomi2zen(int code) {
|
||||
static char num[] = {
|
||||
'0', '1', '2', '3', '4', '5', '6', '7',
|
||||
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
|
||||
};
|
||||
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
|
||||
|
||||
switch(code) {
|
||||
case 0x01: return 0xa1bc;
|
||||
case 0x02: return 0xa1f4;
|
||||
case 0x03: return 0xa1f7;
|
||||
case 0x04: return 0xa2a9;
|
||||
case 0xa1: return 0xa5f4;
|
||||
case 0xa2: return 0xa5f5;
|
||||
case 0xa3: return 0xa5f6;
|
||||
default: break;
|
||||
case 0x01:
|
||||
return 0xa1bc;
|
||||
case 0x02:
|
||||
return 0xa1f4;
|
||||
case 0x03:
|
||||
return 0xa1f7;
|
||||
case 0x04:
|
||||
return 0xa2a9;
|
||||
case 0xa1:
|
||||
return 0xa5f4;
|
||||
case 0xa2:
|
||||
return 0xa5f5;
|
||||
case 0xa3:
|
||||
return 0xa5f6;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if(code < 0x10)
|
||||
|
|
@ -256,10 +257,7 @@ yomi2zen(int code)
|
|||
return ((num[(code >> 4) & 0x0f] << 8) | num[code & 0x0f]);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
output_yomi(FILE* fp, unsigned char* p)
|
||||
{
|
||||
void output_yomi(FILE* fp, unsigned char* p) {
|
||||
int i;
|
||||
|
||||
while(*p) {
|
||||
|
|
|
|||
22
charsize.c
22
charsize.c
|
|
@ -27,36 +27,24 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: charsize.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:29 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include "sj_euc.h"
|
||||
#include "sj_rename.h"
|
||||
#include "sj_typedef.h"
|
||||
#include "sj_dict.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
int
|
||||
codesize(unsigned char code)
|
||||
{
|
||||
int codesize(unsigned char code) {
|
||||
switch(code & KanjiModeMask) {
|
||||
case ZenHiraAssyuku:
|
||||
case ZenKataAssyuku:
|
||||
case KanjiAssyuku:
|
||||
case ZenHiraAsshuku:
|
||||
case ZenKataAsshuku:
|
||||
case KanjiAsshuku:
|
||||
case KanjiStrEnd:
|
||||
return 1;
|
||||
case LeadingHankaku:
|
||||
case OffsetAssyuku:
|
||||
case OffsetAsshuku:
|
||||
case AiAttribute:
|
||||
return 2;
|
||||
default:
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
14
chrtbl.c
14
chrtbl.c
|
|
@ -27,21 +27,10 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: chrtbl.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:30 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
#include "const.h"
|
||||
#include "sj_rename.h"
|
||||
#include "sj_typedef.h"
|
||||
|
||||
|
||||
|
||||
unsigned char chrtbl[256] =
|
||||
{
|
||||
0,
|
||||
|
|
@ -299,5 +288,4 @@ unsigned char chrtbl[256] =
|
|||
TAI_KGU,
|
||||
TAI_KGU,
|
||||
TAI_KGU,
|
||||
0
|
||||
};
|
||||
0};
|
||||
|
|
|
|||
63
cl2knj.c
63
cl2knj.c
|
|
@ -27,32 +27,18 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: cl2knj.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:31 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include "sj_kcnv.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
int sj2cd_chr();
|
||||
void cvtclknj(), freework();
|
||||
|
||||
|
||||
static CLREC* nextrecblk(void);
|
||||
static CLREC* prevrecblk(void);
|
||||
static void initkbuf(unsigned char* kouho);
|
||||
|
||||
|
||||
int
|
||||
cl2knj(unsigned char* yomi, int len, unsigned char* kouho)
|
||||
{
|
||||
int cl2knj(unsigned char* yomi, int len, unsigned char* kouho) {
|
||||
unsigned char* ptr1;
|
||||
unsigned char* ptr2;
|
||||
int i;
|
||||
|
|
@ -63,7 +49,8 @@ cl2knj(unsigned char* yomi, int len, unsigned char* kouho)
|
|||
|
||||
if(len > MaxClInputLen * 2) len = MaxClInputLen * 2;
|
||||
|
||||
ptr1 = yomi; ptr2 = hyomi;
|
||||
ptr1 = yomi;
|
||||
ptr2 = hyomi;
|
||||
for(i = 0; i < len; i++) {
|
||||
if(isknj1(*ptr1)) {
|
||||
if(++i >= len) break;
|
||||
|
|
@ -82,8 +69,8 @@ cl2knj(unsigned char* yomi, int len, unsigned char* kouho)
|
|||
cnvstart = ystart = hyomi;
|
||||
cnvlen = strlen(hyomi);
|
||||
|
||||
mkjiritu(0);
|
||||
mkbunsetu();
|
||||
mkjiritsu(0);
|
||||
mkbunsetsu();
|
||||
if(!maxclptr) wakachi();
|
||||
|
||||
jrt1st = maxjptr;
|
||||
|
|
@ -99,11 +86,7 @@ cl2knj(unsigned char* yomi, int len, unsigned char* kouho)
|
|||
return hzstrlen(inputyomi, (int)clt1st->cllen);
|
||||
}
|
||||
|
||||
|
||||
|
||||
int
|
||||
nextcl(unsigned char* kouho, int mode)
|
||||
{
|
||||
int nextcl(unsigned char* kouho, int mode) {
|
||||
CLREC* clptr;
|
||||
|
||||
initkbuf(kouho);
|
||||
|
|
@ -112,14 +95,12 @@ nextcl(unsigned char* kouho, int mode)
|
|||
|
||||
if(!mode && (selectid < khcount)) {
|
||||
selectid++;
|
||||
}
|
||||
else if((mode < 2) && (clptr = nextrecblk())) {
|
||||
} else if((mode < 2) && (clptr = nextrecblk())) {
|
||||
selectid = 1;
|
||||
clt1st = clptr;
|
||||
mkkouho();
|
||||
getrank();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cvtclknj();
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -129,10 +110,8 @@ nextcl(unsigned char* kouho, int mode)
|
|||
return hzstrlen(inputyomi, (int)clt1st->cllen);
|
||||
}
|
||||
|
||||
|
||||
static CLREC*
|
||||
nextrecblk(void)
|
||||
{
|
||||
nextrecblk(void) {
|
||||
CLREC* clptr;
|
||||
int keeplen;
|
||||
|
||||
|
|
@ -145,10 +124,7 @@ nextrecblk(void)
|
|||
return clptr;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
prevcl(unsigned char* kouho, int mode)
|
||||
{
|
||||
int prevcl(unsigned char* kouho, int mode) {
|
||||
CLREC* clptr;
|
||||
|
||||
initkbuf(kouho);
|
||||
|
|
@ -157,14 +133,12 @@ prevcl(unsigned char* kouho, int mode)
|
|||
|
||||
if(!mode && (selectid > 1)) {
|
||||
selectid--;
|
||||
}
|
||||
else if ((mode < 2) && (clptr = prevrecblk())) {
|
||||
} else if((mode < 2) && (clptr = prevrecblk())) {
|
||||
clt1st = clptr;
|
||||
mkkouho();
|
||||
getrank();
|
||||
selectid = khcount;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cvtclknj();
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -174,10 +148,8 @@ prevcl(unsigned char* kouho, int mode)
|
|||
return hzstrlen(inputyomi, (int)clt1st->cllen);
|
||||
}
|
||||
|
||||
|
||||
static CLREC*
|
||||
prevrecblk(void)
|
||||
{
|
||||
prevrecblk(void) {
|
||||
CLREC* clptr;
|
||||
CLREC* keepptr;
|
||||
int keeplen;
|
||||
|
|
@ -199,17 +171,12 @@ prevrecblk(void)
|
|||
return keepptr;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
initkbuf(unsigned char* kouho)
|
||||
{
|
||||
initkbuf(unsigned char* kouho) {
|
||||
kanjitmp = kouho;
|
||||
memset(kanjitmp, 0, sizeof(STDYOUT) + 1);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
selectnum(void)
|
||||
{
|
||||
int selectnum(void) {
|
||||
return selectid;
|
||||
}
|
||||
|
|
|
|||
49
clstudy.c
49
clstudy.c
|
|
@ -27,21 +27,11 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: clstudy.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:32 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include "sj_kcnv.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
int sj2cd_str();
|
||||
void mvmemd(), mvmemi();
|
||||
|
||||
|
|
@ -49,10 +39,7 @@ static unsigned char* delcldata(unsigned char* ycode);
|
|||
static int delclold(void);
|
||||
static unsigned char* srchclpos(unsigned char* ycode);
|
||||
|
||||
|
||||
int
|
||||
clstudy(unsigned char* yomi1, unsigned char* yomi2, STDYOUT *stdy)
|
||||
{
|
||||
int clstudy(unsigned char* yomi1, unsigned char* yomi2, STDYOUT* stdy) {
|
||||
unsigned char ytmp[CLSTDY_TMPLEN];
|
||||
unsigned char *dst, *ptr;
|
||||
int ret;
|
||||
|
|
@ -71,11 +58,9 @@ clstudy(unsigned char* yomi1, unsigned char* yomi2, STDYOUT *stdy)
|
|||
(void)delcldata(ytmp);
|
||||
|
||||
ret = ClstudyNormEnd;
|
||||
}
|
||||
else if (!stdy) {
|
||||
} else if(!stdy) {
|
||||
return ClstudyParaErr;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if(!sj2cd_str(yomi1, ytmp, CLSTDY_TMPLEN))
|
||||
return ClstudyYomiErr;
|
||||
len1 = strlen(ytmp);
|
||||
|
|
@ -108,8 +93,7 @@ clstudy(unsigned char* yomi1, unsigned char* yomi2, STDYOUT *stdy)
|
|||
memcpy(ytmp, ClYomiPos(dst), len2);
|
||||
|
||||
ret = ClstudyNormEnd;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
ret = ClstudyNoArea;
|
||||
}
|
||||
}
|
||||
|
|
@ -120,10 +104,8 @@ clstudy(unsigned char* yomi1, unsigned char* yomi2, STDYOUT *stdy)
|
|||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static unsigned char*
|
||||
delcldata(unsigned char* ycode)
|
||||
{
|
||||
delcldata(unsigned char* ycode) {
|
||||
unsigned char* tagptr;
|
||||
unsigned char* ptr1;
|
||||
unsigned char* ptr2;
|
||||
|
|
@ -144,8 +126,7 @@ delcldata(unsigned char* ycode)
|
|||
|
||||
if(!*ptr1 || !len1) {
|
||||
delclsub(tagptr);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
tagptr = ClNextTag(tagptr);
|
||||
}
|
||||
}
|
||||
|
|
@ -153,10 +134,7 @@ delcldata(unsigned char* ycode)
|
|||
return tagptr;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
delclsub(unsigned char* target)
|
||||
{
|
||||
void delclsub(unsigned char* target) {
|
||||
unsigned char* src;
|
||||
int num;
|
||||
int tmp;
|
||||
|
|
@ -181,10 +159,8 @@ delclsub(unsigned char* target)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
delclold(void)
|
||||
{
|
||||
delclold(void) {
|
||||
unsigned char* tagptr;
|
||||
unsigned char* target;
|
||||
int num;
|
||||
|
|
@ -215,10 +191,8 @@ delclold(void)
|
|||
return num;
|
||||
}
|
||||
|
||||
|
||||
static unsigned char*
|
||||
srchclpos(unsigned char* ycode)
|
||||
{
|
||||
srchclpos(unsigned char* ycode) {
|
||||
unsigned char* tagptr;
|
||||
unsigned char* target;
|
||||
unsigned char* ptr1;
|
||||
|
|
@ -259,10 +233,7 @@ srchclpos(unsigned char* ycode)
|
|||
return target ? target : tagptr;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
mkclidx(void)
|
||||
{
|
||||
void mkclidx(void) {
|
||||
unsigned char* ptr;
|
||||
int num;
|
||||
int st, ed;
|
||||
|
|
|
|||
10
cmpstr.c
10
cmpstr.c
|
|
@ -27,16 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: cmpstr.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:32 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#include "sj_rename.h"
|
||||
#include "const.h"
|
||||
#include "sj_typedef.h"
|
||||
|
|
|
|||
|
|
@ -27,18 +27,10 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: cnvhinsi.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1996/05/27 06:59:47 $
|
||||
*/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include "dicttool.h"
|
||||
|
||||
|
||||
struct gram_code {
|
||||
char* name;
|
||||
int code;
|
||||
|
|
@ -50,9 +42,7 @@ struct gram_code {
|
|||
|
||||
#define GramMax (sizeof(gramtbl) / sizeof(struct gram_code) - 1)
|
||||
|
||||
int
|
||||
u_strcmp(unsigned char* a, unsigned char* b)
|
||||
{
|
||||
int u_strcmp(unsigned char* a, unsigned char* b) {
|
||||
if(!a || !b) return 0;
|
||||
|
||||
while(*a && *b) {
|
||||
|
|
@ -66,10 +56,7 @@ u_strcmp(unsigned char* a, unsigned char* b)
|
|||
return 1;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
cnvhinsi(unsigned char *buf)
|
||||
{
|
||||
int cnvhinshi(unsigned char* buf) {
|
||||
int min;
|
||||
int max;
|
||||
int mid;
|
||||
|
|
@ -81,10 +68,8 @@ cnvhinsi(unsigned char *buf)
|
|||
|
||||
mid = (min + max) / 2;
|
||||
|
||||
|
||||
i = u_strcmp(buf, gramtbl[mid].name);
|
||||
|
||||
|
||||
if(i < 0) {
|
||||
max = mid - 1;
|
||||
}
|
||||
|
|
@ -98,15 +83,10 @@ cnvhinsi(unsigned char *buf)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
char*
|
||||
hinsi_str(int code)
|
||||
{
|
||||
char* hinshi_str(int code) {
|
||||
int i;
|
||||
|
||||
for(i = 0; i <= GramMax; i++) {
|
||||
22
code.c
22
code.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: code.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:09 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj_sysvdef.h"
|
||||
#include "wchar16.h"
|
||||
#include "kctype.h"
|
||||
|
|
@ -150,8 +142,7 @@ wchar16_t c;
|
|||
}
|
||||
|
||||
unsigned short
|
||||
strtocode()
|
||||
{
|
||||
strtocode() {
|
||||
int c;
|
||||
unsigned short code;
|
||||
|
||||
|
|
@ -180,9 +171,7 @@ strtocode()
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
ChangeCode (void)
|
||||
{
|
||||
void ChangeCode(void) {
|
||||
if(cur_code == CODE_KUTEN2)
|
||||
cur_code = CODE_SJIS;
|
||||
else {
|
||||
|
|
@ -201,14 +190,11 @@ ChangeCode (void)
|
|||
}
|
||||
}
|
||||
|
||||
SetCode(code)
|
||||
int code;
|
||||
SetCode(code) int code;
|
||||
{
|
||||
cur_code = code;
|
||||
}
|
||||
|
||||
GetCcode()
|
||||
{
|
||||
GetCcode() {
|
||||
return (cur_code);
|
||||
}
|
||||
|
||||
|
|
|
|||
33
codecnv.c
33
codecnv.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: codecnv.c,v $
|
||||
* $SonyRevision: 1.3 $
|
||||
* $SonyDate: 1997/01/23 11:26:31 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
|
|
@ -44,9 +36,7 @@
|
|||
|
||||
static int euc_mode;
|
||||
|
||||
int
|
||||
init_code()
|
||||
{
|
||||
int init_code() {
|
||||
char* loc;
|
||||
|
||||
#ifdef LACKOF_SETLOCALE
|
||||
|
|
@ -76,8 +66,7 @@ init_code()
|
|||
}
|
||||
|
||||
void
|
||||
cnvcode(s)
|
||||
unsigned char *s;
|
||||
cnvcode(s) unsigned char* s;
|
||||
{
|
||||
if(euc_mode) {
|
||||
unsigned short i;
|
||||
|
|
@ -87,24 +76,20 @@ unsigned char *s;
|
|||
if(iseuckana(i)) {
|
||||
if(*s) {
|
||||
*d++ = *s++;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
*d++ = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (iseuc(i)) {
|
||||
} else if(iseuc(i)) {
|
||||
if(*s) {
|
||||
i = euc2sjis((i << 8) + *s++);
|
||||
*d++ = (i >> 8);
|
||||
*d++ = i;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
*d++ = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
*d++ = i;
|
||||
}
|
||||
}
|
||||
|
|
@ -137,8 +122,7 @@ unsigned char *s;
|
|||
}
|
||||
|
||||
void
|
||||
normal_out(fmt, p1, p2, p3, p4, p5)
|
||||
char *fmt;
|
||||
normal_out(fmt, p1, p2, p3, p4, p5) char* fmt;
|
||||
int p1, p2, p3, p4, p5;
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
|
|
@ -148,8 +132,7 @@ int p1, p2, p3, p4, p5;
|
|||
}
|
||||
|
||||
void
|
||||
error_out(fmt, p1, p2, p3, p4, p5)
|
||||
char *fmt;
|
||||
error_out(fmt, p1, p2, p3, p4, p5) char* fmt;
|
||||
int p1, p2, p3, p4, p5;
|
||||
{
|
||||
char buf[BUFSIZ];
|
||||
|
|
|
|||
29
common.c
29
common.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: common.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:10 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "conversion.h"
|
||||
|
||||
int allways_buff = 0;
|
||||
|
|
@ -48,8 +40,7 @@ Conversion *current_conversion;
|
|||
Conversion* default_conversion;
|
||||
|
||||
Conversion*
|
||||
AllocConversion ()
|
||||
{
|
||||
AllocConversion() {
|
||||
Conversion* c;
|
||||
|
||||
if((c = (Conversion*)malloc(sizeof(Conversion))) == NULL) {
|
||||
|
|
@ -96,36 +87,30 @@ Conversion *c;
|
|||
push_conversion = c;
|
||||
}
|
||||
|
||||
PopConversion ()
|
||||
{
|
||||
PopConversion() {
|
||||
if(push_conversion)
|
||||
current_conversion = push_conversion;
|
||||
}
|
||||
|
||||
Conversion*
|
||||
GetConversion ()
|
||||
{
|
||||
GetConversion() {
|
||||
return (current_conversion);
|
||||
}
|
||||
|
||||
InitConversion ()
|
||||
{
|
||||
InitConversion() {
|
||||
default_conversion = AllocConversion();
|
||||
DefaultConversion();
|
||||
}
|
||||
|
||||
DefaultConversion ()
|
||||
{
|
||||
DefaultConversion() {
|
||||
current_conversion = default_conversion;
|
||||
}
|
||||
|
||||
EndConversion ()
|
||||
{
|
||||
EndConversion() {
|
||||
free(default_conversion);
|
||||
}
|
||||
|
||||
int
|
||||
wcbyte(str)
|
||||
int wcbyte(str)
|
||||
wchar16_t* str;
|
||||
{
|
||||
count = 0;
|
||||
|
|
|
|||
10
common.h
10
common.h
|
|
@ -27,16 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: common.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:42 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#include "conversion.h"
|
||||
|
||||
extern Conversion* current_conversion;
|
||||
|
|
|
|||
145
comuni.c
145
comuni.c
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: comuni.c,v $
|
||||
* $SonyRevision: 1.4 $
|
||||
* $SonyDate: 1994/11/16 07:34:05 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
|
|
@ -110,10 +101,7 @@ static int putpos = 0;
|
|||
static int buflen = 0;
|
||||
static int getpos = 0;
|
||||
|
||||
|
||||
void
|
||||
socket_init(void)
|
||||
{
|
||||
void socket_init(void) {
|
||||
#ifdef SVR4
|
||||
int i;
|
||||
|
||||
|
|
@ -129,11 +117,8 @@ socket_init(void)
|
|||
maxfds = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
set_fd(int fd)
|
||||
{
|
||||
set_fd(int fd) {
|
||||
#ifdef SVR4
|
||||
poll_fds[maxfds].fd = fd;
|
||||
poll_fds[maxfds].events = POLLIN;
|
||||
|
|
@ -144,11 +129,8 @@ set_fd(int fd)
|
|||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
clr_fd(int fd)
|
||||
{
|
||||
clr_fd(int fd) {
|
||||
#ifdef SVR4
|
||||
int i, j;
|
||||
|
||||
|
|
@ -179,10 +161,8 @@ clr_fd(int fd)
|
|||
|
||||
#if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX)))
|
||||
|
||||
|
||||
static void
|
||||
open_af_unix(void)
|
||||
{
|
||||
open_af_unix(void) {
|
||||
struct sockaddr_un sunix;
|
||||
|
||||
unlink(socket_name);
|
||||
|
|
@ -225,10 +205,8 @@ struct t_call *inet_callptr;
|
|||
struct netconfig* nconf;
|
||||
#endif
|
||||
|
||||
|
||||
static void
|
||||
open_af_inet(void)
|
||||
{
|
||||
open_af_inet(void) {
|
||||
#ifdef TLI
|
||||
struct t_bind* req;
|
||||
struct nd_hostserv hserv;
|
||||
|
|
@ -246,7 +224,6 @@ open_af_inet(void)
|
|||
#endif
|
||||
int true = 1;
|
||||
|
||||
|
||||
#ifdef TLI
|
||||
if((handlep = setnetpath()) == NULL) {
|
||||
fprintf(stderr, "Setnetpath fail\n");
|
||||
|
|
@ -334,7 +311,6 @@ open_af_inet(void)
|
|||
|
||||
inet_callptr->addr = *(addrs->n_addrs);
|
||||
|
||||
|
||||
inet_callptr->udata.maxlen = 0;
|
||||
inet_callptr->udata.len = 0;
|
||||
inet_callptr->udata.buf = (char*)NULL;
|
||||
|
|
@ -366,8 +342,7 @@ open_af_inet(void)
|
|||
fprintf(stderr,
|
||||
"Port %d is already in use\n",
|
||||
port);
|
||||
}
|
||||
else
|
||||
} else
|
||||
fprintf(stderr, "Can't bind AF_INET socket\n");
|
||||
shutdown(fd_inet, 2);
|
||||
close(fd_inet);
|
||||
|
|
@ -384,9 +359,7 @@ open_af_inet(void)
|
|||
set_fd(fd_inet);
|
||||
}
|
||||
|
||||
void
|
||||
open_socket(void)
|
||||
{
|
||||
void open_socket(void) {
|
||||
open_af_inet();
|
||||
#if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX)))
|
||||
open_af_unix();
|
||||
|
|
@ -395,10 +368,8 @@ open_socket(void)
|
|||
|
||||
#if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX)))
|
||||
|
||||
|
||||
static int
|
||||
connect_af_unix(void)
|
||||
{
|
||||
connect_af_unix(void) {
|
||||
struct sockaddr_un sunix;
|
||||
int i = sizeof(sunix);
|
||||
int fd;
|
||||
|
|
@ -410,9 +381,7 @@ connect_af_unix(void)
|
|||
#endif
|
||||
|
||||
#ifdef TLI
|
||||
int
|
||||
accept_func(int fd, struct t_call* callptr, char* name, int closeflg)
|
||||
{
|
||||
int accept_func(int fd, struct t_call* callptr, char* name, int closeflg) {
|
||||
int newfd;
|
||||
int look;
|
||||
extern int t_errno;
|
||||
|
|
@ -443,11 +412,8 @@ accept_func(int fd, struct t_call* callptr, char* name, int closeflg)
|
|||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
static int
|
||||
connect_af_inet(void)
|
||||
{
|
||||
connect_af_inet(void) {
|
||||
#ifndef TLI
|
||||
struct sockaddr_in sin;
|
||||
int i = sizeof(sin);
|
||||
|
|
@ -457,7 +423,6 @@ connect_af_inet(void)
|
|||
#ifdef TLI
|
||||
if(t_listen(fd_inet, inet_callptr) < 0) {
|
||||
warning_out("t_listen error");
|
||||
|
||||
}
|
||||
|
||||
if((fd = accept_func(fd_inet, inet_callptr, nconf->nc_device, FALSE)) == ERROR)
|
||||
|
|
@ -470,10 +435,8 @@ connect_af_inet(void)
|
|||
|
||||
#if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX)))
|
||||
|
||||
|
||||
static void
|
||||
close_af_unix(void)
|
||||
{
|
||||
close_af_unix(void) {
|
||||
struct sockaddr_un sunix;
|
||||
int true = 1;
|
||||
int i;
|
||||
|
|
@ -490,11 +453,8 @@ close_af_unix(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
static void
|
||||
close_af_inet(void)
|
||||
{
|
||||
close_af_inet(void) {
|
||||
#ifndef TLI
|
||||
struct sockaddr_in sin;
|
||||
#endif
|
||||
|
|
@ -522,17 +482,13 @@ close_af_inet(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
close_socket(void)
|
||||
{
|
||||
void close_socket(void) {
|
||||
#if (!defined(TLI) || (defined(TLI) && defined(SOCK_UNIX)))
|
||||
close_af_unix();
|
||||
#endif
|
||||
close_af_inet();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
#ifdef SVR4
|
||||
connect_client(struct pollfd* readfds)
|
||||
|
|
@ -588,9 +544,6 @@ connect_client(fd_set *readfds)
|
|||
#endif /* SVR4 */
|
||||
if(fd == ERROR) return;
|
||||
|
||||
|
||||
|
||||
|
||||
if(client_num >= MaxClientNum || client_num >= max_client) {
|
||||
warning_out("No more client");
|
||||
}
|
||||
|
|
@ -599,7 +552,6 @@ connect_client(fd_set *readfds)
|
|||
debug_out(1, "client create(%d)\r\n", fd);
|
||||
logging_out("connect to client on %d", fd);
|
||||
|
||||
|
||||
if((client_tmp = (Client*)malloc(sizeof(Client))) != NULL) {
|
||||
memset(client_tmp, 0, sizeof(Client));
|
||||
client_tmp->fd = fd;
|
||||
|
|
@ -633,14 +585,10 @@ connect_client(fd_set *readfds)
|
|||
shutdown(fd, 2);
|
||||
close(fd);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
static Client*
|
||||
disconnect_client(Client *cp)
|
||||
{
|
||||
disconnect_client(Client* cp) {
|
||||
WorkArea* wp;
|
||||
StdyFile* sp;
|
||||
int fd;
|
||||
|
|
@ -700,9 +648,7 @@ disconnect_client(Client *cp)
|
|||
#include <signal.h>
|
||||
#endif
|
||||
|
||||
void
|
||||
communicate(void)
|
||||
{
|
||||
void communicate(void) {
|
||||
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
|
||||
|
|
@ -718,7 +664,6 @@ communicate(void)
|
|||
|
||||
fd_set readfds;
|
||||
|
||||
|
||||
readfds = fds_org;
|
||||
while(select(maxfds, &readfds, NULL, NULL, NULL) == ERROR) {
|
||||
if(errno != EINTR) error_out("select");
|
||||
|
|
@ -759,10 +704,7 @@ communicate(void)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
put_flush(void)
|
||||
{
|
||||
void put_flush(void) {
|
||||
int len;
|
||||
int i;
|
||||
char* p;
|
||||
|
|
@ -777,58 +719,41 @@ put_flush(void)
|
|||
putpos = 0;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
put_byte(int c)
|
||||
{
|
||||
void put_byte(int c) {
|
||||
putbuf[putpos++] = c;
|
||||
if(putpos >= sizeof(putbuf)) put_flush();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
put_work(int c)
|
||||
{
|
||||
void put_work(int c) {
|
||||
put_byte(c >> 8);
|
||||
put_byte(c & 0xff);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
put_int(int c)
|
||||
{
|
||||
void put_int(int c) {
|
||||
put_byte(c >> (8 * 3));
|
||||
put_byte(c >> (8 * 2));
|
||||
put_byte(c >> (8 * 1));
|
||||
put_byte(c);
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
put_string(unsigned char* p)
|
||||
{
|
||||
put_string(unsigned char* p) {
|
||||
if(p) {
|
||||
do {
|
||||
put_byte(*p);
|
||||
} while(*p++);
|
||||
}
|
||||
else
|
||||
} else
|
||||
put_byte(0);
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
put_ndata(unsigned char* p, int n)
|
||||
{
|
||||
put_ndata(unsigned char* p, int n) {
|
||||
while(n-- > 0) put_byte(p ? *p++ : 0);
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
get_buf(void)
|
||||
{
|
||||
void get_buf(void) {
|
||||
int i;
|
||||
|
||||
for(;;) {
|
||||
|
|
@ -843,28 +768,19 @@ get_buf(void)
|
|||
getpos = 0;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
get_byte(void)
|
||||
{
|
||||
int get_byte(void) {
|
||||
if(getpos >= buflen) get_buf();
|
||||
return (getbuf[getpos++] & 0xff);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
get_word(void)
|
||||
{
|
||||
int get_word(void) {
|
||||
int i;
|
||||
|
||||
i = get_byte();
|
||||
return ((i << 8) | get_byte());
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
get_int(void)
|
||||
{
|
||||
int get_int(void) {
|
||||
int i0;
|
||||
int i1;
|
||||
int i2;
|
||||
|
|
@ -875,10 +791,7 @@ get_int(void)
|
|||
return ((i0 << (8 * 3)) | (i1 << (8 * 2)) | (i2 << (8 * 1)) | get_byte());
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
get_nstring(unsigned char* p, int n)
|
||||
{
|
||||
int get_nstring(unsigned char* p, int n) {
|
||||
int c;
|
||||
|
||||
do {
|
||||
|
|
@ -889,10 +802,8 @@ get_nstring(unsigned char* p, int n)
|
|||
return (n < 0) ? ERROR : 0;
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
get_ndata(unsigned char* p, int n)
|
||||
{
|
||||
get_ndata(unsigned char* p, int n) {
|
||||
while(n-- > 0) *p++ = get_byte();
|
||||
return p;
|
||||
}
|
||||
|
|
|
|||
13
config.h.cmake
Normal file
13
config.h.cmake
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#ifndef OCONFIGURE_CONFIG_H
|
||||
#define OCONFIGURE_CONFIG_H
|
||||
|
||||
#cmakedefine01 HAVE_C99_STDINT
|
||||
|
||||
#ifndef HAVE_MD5
|
||||
# define HAVE_MD5 1
|
||||
#endif
|
||||
#ifndef HAVE_SHA2
|
||||
# define HAVE_SHA2 1
|
||||
#endif
|
||||
|
||||
#endif /* OCONFIGURE_CONFIG_H */
|
||||
5
configure
vendored
5
configure
vendored
|
|
@ -221,6 +221,7 @@ HAVE_B64_NTOP=
|
|||
HAVE_CAPSICUM=
|
||||
HAVE_CRYPT=
|
||||
HAVE_CRYPT_NEWHASH=
|
||||
HAVE_C99_STDINT=
|
||||
HAVE_ENDIAN_H=
|
||||
HAVE_ERR=
|
||||
HAVE_EXPLICIT_BZERO=
|
||||
|
|
@ -391,6 +392,7 @@ runtest b64_ntop B64_NTOP "" "" "-lresolv" || true
|
|||
runtest capsicum CAPSICUM || true
|
||||
runtest crypt CRYPT "" "" "-lcrypt" || true
|
||||
runtest crypt_newhash CRYPT_NEWHASH || true
|
||||
runtest c99_stdint C99_STDINT || true
|
||||
runtest endian_h ENDIAN_H || true
|
||||
runtest err ERR || true
|
||||
runtest explicit_bzero EXPLICIT_BZERO || true
|
||||
|
|
@ -513,7 +515,7 @@ fi
|
|||
if [ ${HAVE_MD5} -eq 0 -o \
|
||||
${HAVE_SHA2} -eq 0 ]
|
||||
then
|
||||
echo "#include <stdint.h> /* C99 [u]int[nn]_t types */"
|
||||
echo "#include \"sj_stdint.h\" /* C99 stdint.h or C89 fallback types */"
|
||||
echo
|
||||
fi
|
||||
|
||||
|
|
@ -555,6 +557,7 @@ cat << __HEREDOC__
|
|||
#define HAVE_CAPSICUM ${HAVE_CAPSICUM}
|
||||
#define HAVE_CRYPT ${HAVE_CRYPT}
|
||||
#define HAVE_CRYPT_NEWHASH ${HAVE_CRYPT_NEWHASH}
|
||||
#define HAVE_C99_STDINT ${HAVE_C99_STDINT}
|
||||
#define HAVE_ENDIAN_H ${HAVE_ENDIAN_H}
|
||||
#define HAVE_ERR ${HAVE_ERR}
|
||||
#define HAVE_EXPLICIT_BZERO ${HAVE_EXPLICIT_BZERO}
|
||||
|
|
|
|||
306
conjunc.c
306
conjunc.c
|
|
@ -27,13 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: conjunc.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:33 $
|
||||
*/
|
||||
|
||||
|
||||
#include "sj_rename.h"
|
||||
#include "sj_typedef.h"
|
||||
#include "sj_yomi.h"
|
||||
|
|
@ -60,8 +53,7 @@ static unsigned char sahencnj[] = {
|
|||
0x31, _RE, R_KATEI2,
|
||||
0x31, _RO, R_MEIREI1,
|
||||
0x11, _YO, R_MEIREI2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char zahencnj[] = {
|
||||
0x00, R_CUT,
|
||||
|
|
@ -74,8 +66,7 @@ static unsigned char zahencnj[] = {
|
|||
0x11, _RE, R_KATEI2,
|
||||
0x01, _ZE, R_MIZEN3,
|
||||
0x11, _YO, R_MEIREI2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ka5cnj1[] = {
|
||||
0x01, _I, R_ONBIN2,
|
||||
|
|
@ -84,8 +75,7 @@ static unsigned char ka5cnj1[] = {
|
|||
0x01, _KU, R_SHUUSI,
|
||||
0x01, _KE, R_KAMEI,
|
||||
0x02, _KO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ka5cnj3[] = {
|
||||
0x01, _I, R_ONBIN2,
|
||||
|
|
@ -94,8 +84,7 @@ static unsigned char ka5cnj3[] = {
|
|||
0x01, _KU, R_SHUUSI,
|
||||
0x01, _KE, R_KAMEI,
|
||||
0x02, _KO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ka5cnj5[] = {
|
||||
0x01, _I, R_ONBIN2,
|
||||
|
|
@ -110,8 +99,7 @@ static unsigned char ka5cnj5[] = {
|
|||
0x11, _RU, R_SHUUSI,
|
||||
0x11, _RE, R_KATEI2,
|
||||
0x02, _KO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ka5cnj7[] = {
|
||||
0x01, _I, R_ONBIN2,
|
||||
|
|
@ -126,8 +114,7 @@ static unsigned char ka5cnj7[] = {
|
|||
0x11, _RU, R_SHUUSI,
|
||||
0x11, _RE, R_KATEI2,
|
||||
0x02, _KO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ga5cnj1[] = {
|
||||
0x01, _I, R_ONBIN3,
|
||||
|
|
@ -136,8 +123,7 @@ static unsigned char ga5cnj1[] = {
|
|||
0x01, _GU, R_SHUUSI,
|
||||
0x01, _GE, R_KAMEI,
|
||||
0x02, _GO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ga5cnj3[] = {
|
||||
0x01, _I, R_ONBIN3,
|
||||
|
|
@ -146,8 +132,7 @@ static unsigned char ga5cnj3[] = {
|
|||
0x01, _GU, R_SHUUSI,
|
||||
0x01, _GE, R_KAMEI,
|
||||
0x02, _GO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ga5cnj5[] = {
|
||||
0x01, _I, R_ONBIN3,
|
||||
|
|
@ -162,8 +147,7 @@ static unsigned char ga5cnj5[] = {
|
|||
0x11, _RU, R_SHUUSI,
|
||||
0x11, _RE, R_KATEI2,
|
||||
0x02, _GO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ga5cnj7[] = {
|
||||
0x01, _I, R_ONBIN3,
|
||||
|
|
@ -178,8 +162,7 @@ static unsigned char ga5cnj7[] = {
|
|||
0x11, _RU, R_SHUUSI,
|
||||
0x11, _RE, R_KATEI2,
|
||||
0x02, _GO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char sa5cnj1[] = {
|
||||
0x01, _SA, R_MIZEN5,
|
||||
|
|
@ -187,8 +170,7 @@ static unsigned char sa5cnj1[] = {
|
|||
0x01, _SU, R_SHUUSI,
|
||||
0x01, _SE, R_KAMEI,
|
||||
0x02, _SO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char sa5cnj3[] = {
|
||||
0x01, _SA, R_MIZEN5,
|
||||
|
|
@ -196,8 +178,7 @@ static unsigned char sa5cnj3[] = {
|
|||
0x01, _SU, R_SHUUSI,
|
||||
0x01, _SE, R_KAMEI,
|
||||
0x02, _SO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char sa5cnj5[] = {
|
||||
0x01, _SA, R_MIZEN5,
|
||||
|
|
@ -207,8 +188,7 @@ static unsigned char sa5cnj5[] = {
|
|||
0x11, _RU, R_SHUUSI,
|
||||
0x11, _RE, R_KATEI2,
|
||||
0x02, _SO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char sa5cnj7[] = {
|
||||
0x01, _SA, R_MIZEN5,
|
||||
|
|
@ -218,8 +198,7 @@ static unsigned char sa5cnj7[] = {
|
|||
0x11, _RU, R_SHUUSI,
|
||||
0x11, _RE, R_KATEI2,
|
||||
0x02, _SO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ta5cnj1[] = {
|
||||
0x01, _TA, R_MIZEN5,
|
||||
|
|
@ -228,8 +207,7 @@ static unsigned char ta5cnj1[] = {
|
|||
0x01, _TU, R_SHUUSI,
|
||||
0x01, _TE, R_KAMEI,
|
||||
0x02, _TO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ta5cnj3[] = {
|
||||
0x01, _TA, R_MIZEN5,
|
||||
|
|
@ -238,8 +216,7 @@ static unsigned char ta5cnj3[] = {
|
|||
0x01, _TU, R_SHUUSI,
|
||||
0x01, _TE, R_KAMEI,
|
||||
0x02, _TO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ta5cnj5[] = {
|
||||
0x01, _TA, R_MIZEN5,
|
||||
|
|
@ -254,8 +231,7 @@ static unsigned char ta5cnj5[] = {
|
|||
0x11, _RU, R_SHUUSI,
|
||||
0x11, _RE, R_KATEI2,
|
||||
0x02, _TO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ta5cnj7[] = {
|
||||
0x01, _TA, R_MIZEN5,
|
||||
|
|
@ -270,9 +246,7 @@ static unsigned char ta5cnj7[] = {
|
|||
0x11, _RU, R_SHUUSI,
|
||||
0x11, _RE, R_KATEI2,
|
||||
0x02, _TO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
|
||||
0xff};
|
||||
|
||||
static unsigned char na5cnj[] = {
|
||||
0x01, _NA, R_MIZEN5,
|
||||
|
|
@ -281,8 +255,7 @@ static unsigned char na5cnj[] = {
|
|||
0x01, _NE, R_KAMEI,
|
||||
0x02, _NO, _U, R_AROU,
|
||||
0x01, _NN, R_ONBIN3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ba5cnj1[] = {
|
||||
0x01, _BA, R_MIZEN5,
|
||||
|
|
@ -291,8 +264,7 @@ static unsigned char ba5cnj1[] = {
|
|||
0x01, _BE, R_KAMEI,
|
||||
0x02, _BO, _U, R_AROU,
|
||||
0x01, _NN, R_ONBIN3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ba5cnj3[] = {
|
||||
0x01, _BA, R_MIZEN5,
|
||||
|
|
@ -301,8 +273,7 @@ static unsigned char ba5cnj3[] = {
|
|||
0x01, _BE, R_KAMEI,
|
||||
0x02, _BO, _U, R_AROU,
|
||||
0x01, _NN, R_ONBIN3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ba5cnj5[] = {
|
||||
0x01, _BA, R_MIZEN5,
|
||||
|
|
@ -317,8 +288,7 @@ static unsigned char ba5cnj5[] = {
|
|||
0x11, _RE, R_KATEI2,
|
||||
0x02, _BO, _U, R_AROU,
|
||||
0x01, _NN, R_ONBIN3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ba5cnj7[] = {
|
||||
0x01, _BA, R_MIZEN5,
|
||||
|
|
@ -333,8 +303,7 @@ static unsigned char ba5cnj7[] = {
|
|||
0x11, _RE, R_KATEI2,
|
||||
0x02, _BO, _U, R_AROU,
|
||||
0x01, _NN, R_ONBIN3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ma5cnj1[] = {
|
||||
0x01, _MA, R_MIZEN5,
|
||||
|
|
@ -343,8 +312,7 @@ static unsigned char ma5cnj1[] = {
|
|||
0x01, _ME, R_KAMEI,
|
||||
0x02, _MO, _U, R_AROU,
|
||||
0x01, _NN, R_ONBIN3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ma5cnj3[] = {
|
||||
0x01, _MA, R_MIZEN5,
|
||||
|
|
@ -353,8 +321,7 @@ static unsigned char ma5cnj3[] = {
|
|||
0x01, _ME, R_KAMEI,
|
||||
0x02, _MO, _U, R_AROU,
|
||||
0x01, _NN, R_ONBIN3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ma5cnj5[] = {
|
||||
0x01, _MA, R_MIZEN5,
|
||||
|
|
@ -369,8 +336,7 @@ static unsigned char ma5cnj5[] = {
|
|||
0x11, _RE, R_KATEI2,
|
||||
0x02, _MO, _U, R_AROU,
|
||||
0x01, _NN, R_ONBIN3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ma5cnj7[] = {
|
||||
0x01, _MA, R_MIZEN5,
|
||||
|
|
@ -385,8 +351,7 @@ static unsigned char ma5cnj7[] = {
|
|||
0x11, _RE, R_KATEI2,
|
||||
0x02, _MO, _U, R_AROU,
|
||||
0x01, _NN, R_ONBIN3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ra5cnj1[] = {
|
||||
0x01, _XTU, R_ONBIN2,
|
||||
|
|
@ -395,8 +360,7 @@ static unsigned char ra5cnj1[] = {
|
|||
0x01, _RU, R_SHUUSI,
|
||||
0x01, _RE, R_KAMEI,
|
||||
0x02, _RO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ra5cnj3[] = {
|
||||
0x01, _XTU, R_ONBIN2,
|
||||
|
|
@ -405,8 +369,7 @@ static unsigned char ra5cnj3[] = {
|
|||
0x01, _RU, R_SHUUSI,
|
||||
0x01, _RE, R_KAMEI,
|
||||
0x02, _RO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ra5cnj5[] = {
|
||||
0x01, _XTU, R_ONBIN2,
|
||||
|
|
@ -421,8 +384,7 @@ static unsigned char ra5cnj5[] = {
|
|||
0x11, _RU, R_SHUUSI,
|
||||
0x11, _RE, R_KATEI2,
|
||||
0x02, _RO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ra5cnj7[] = {
|
||||
0x01, _XTU, R_ONBIN2,
|
||||
|
|
@ -437,8 +399,7 @@ static unsigned char ra5cnj7[] = {
|
|||
0x11, _RU, R_SHUUSI,
|
||||
0x11, _RE, R_KATEI2,
|
||||
0x02, _RO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char wa5cnj1[] = {
|
||||
0x01, _I, R_RENYOU5,
|
||||
|
|
@ -447,8 +408,7 @@ static unsigned char wa5cnj1[] = {
|
|||
0x02, _O, _U, R_AROU,
|
||||
0x01, _XTU, R_ONBIN2,
|
||||
0x01, _WA, R_MIZEN5,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char wa5cnj3[] = {
|
||||
0x01, _I, R_RENYOU7,
|
||||
|
|
@ -457,8 +417,7 @@ static unsigned char wa5cnj3[] = {
|
|||
0x02, _O, _U, R_AROU,
|
||||
0x01, _XTU, R_ONBIN2,
|
||||
0x01, _WA, R_MIZEN5,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char wa5cnj5[] = {
|
||||
0x01, _I, R_RENYOU5,
|
||||
|
|
@ -473,8 +432,7 @@ static unsigned char wa5cnj5[] = {
|
|||
0x11, _SI, R_SA5RENYOU3,
|
||||
0x11, _SU, R_SHUUSI,
|
||||
0x12, _SO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char wa5cnj7[] = {
|
||||
0x01, _I, R_RENYOU7,
|
||||
|
|
@ -489,8 +447,7 @@ static unsigned char wa5cnj7[] = {
|
|||
0x11, _SI, R_SA5RENYOU3,
|
||||
0x11, _SU, R_SHUUSI,
|
||||
0x12, _SO, _U, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ichicnj1[] = {
|
||||
0x00, R_RENYOU1,
|
||||
|
|
@ -498,8 +455,7 @@ static unsigned char ichicnj1[] = {
|
|||
0x01, _RU, R_SHUUSI,
|
||||
0x01, _RE, R_KATEI2,
|
||||
0x01, _RO, R_MEIREI1,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ichicnj3[] = {
|
||||
0x00, R_RENYOU3,
|
||||
|
|
@ -507,8 +463,7 @@ static unsigned char ichicnj3[] = {
|
|||
0x01, _RU, R_SHUUSI,
|
||||
0x01, _RE, R_KATEI2,
|
||||
0x01, _RO, R_MEIREI1,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyou1[] = {
|
||||
0x80, R_KGOKAN,
|
||||
|
|
@ -518,8 +473,7 @@ static unsigned char keiyou1[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyou2[] = {
|
||||
0x80, R_KGOKAN,
|
||||
|
|
@ -529,9 +483,8 @@ static unsigned char keiyou2[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0xff
|
||||
};
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyou3[] = {
|
||||
0x80, R_KGOKAN,
|
||||
|
|
@ -541,7 +494,7 @@ static unsigned char keiyou3[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0x01, _GE, R_DMEISI,
|
||||
0x01, _GE, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -552,9 +505,8 @@ static unsigned char keiyou3[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0xff
|
||||
};
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyou4[] = {
|
||||
0x80, R_KGOKAN,
|
||||
|
|
@ -570,9 +522,8 @@ static unsigned char keiyou4[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0xff
|
||||
};
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyou5[] = {
|
||||
0x80, R_KGOKAN,
|
||||
|
|
@ -588,7 +539,7 @@ static unsigned char keiyou5[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0x01, _GE, R_DMEISI,
|
||||
0x01, _GE, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -599,9 +550,8 @@ static unsigned char keiyou5[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0xff
|
||||
};
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyou6[] = {
|
||||
0x80, R_KGOKAN,
|
||||
|
|
@ -611,7 +561,7 @@ static unsigned char keiyou6[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0x01, _GE, R_DMEISI,
|
||||
0x01, _GE, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -622,8 +572,8 @@ static unsigned char keiyou6[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0x01, _ME, R_DMEISI,
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0x01, _ME, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -634,8 +584,7 @@ static unsigned char keiyou6[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyou7[] = {
|
||||
0x80, R_KGOKAN,
|
||||
|
|
@ -651,7 +600,7 @@ static unsigned char keiyou7[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0x01, _GE, R_DMEISI,
|
||||
0x01, _GE, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -662,8 +611,8 @@ static unsigned char keiyou7[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0x01, _ME, R_DMEISI,
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0x01, _ME, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -674,8 +623,7 @@ static unsigned char keiyou7[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyou8[] = {
|
||||
0x80, R_KGOKAN,
|
||||
|
|
@ -691,7 +639,7 @@ static unsigned char keiyou8[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0x01, _GE, R_DMEISI,
|
||||
0x01, _GE, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -702,9 +650,9 @@ static unsigned char keiyou8[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0x01, _MI, R_FZKMEISI,
|
||||
0x01, _ME, R_DMEISI,
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0x01, _MI, R_FZKMEISHI,
|
||||
0x01, _ME, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -715,8 +663,7 @@ static unsigned char keiyou8[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyou9[] = {
|
||||
0x80, R_KGOKAN,
|
||||
|
|
@ -732,7 +679,7 @@ static unsigned char keiyou9[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0x01, _GE, R_DMEISI,
|
||||
0x01, _GE, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -743,9 +690,8 @@ static unsigned char keiyou9[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0xff
|
||||
};
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyou10[] = {
|
||||
0x80, R_KGOKAN,
|
||||
|
|
@ -761,7 +707,7 @@ static unsigned char keiyou10[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0x01, _GE, R_DMEISI,
|
||||
0x01, _GE, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -772,8 +718,8 @@ static unsigned char keiyou10[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0x01, _ME, R_DMEISI,
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0x01, _ME, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -784,8 +730,7 @@ static unsigned char keiyou10[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyou11[] = {
|
||||
0x80, R_KGOKAN,
|
||||
|
|
@ -795,9 +740,9 @@ static unsigned char keiyou11[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0x01, _MI, R_FZKMEISI,
|
||||
0x01, _ME, R_DMEISI,
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0x01, _MI, R_FZKMEISHI,
|
||||
0x01, _ME, R_DMEISHI,
|
||||
0x11, _DA, R_DSHUUSI1,
|
||||
0x21, _XTU, R_ONBIN1,
|
||||
0x22, _RO, _U, R_DAROU,
|
||||
|
|
@ -808,8 +753,7 @@ static unsigned char keiyou11[] = {
|
|||
0x21, _RU, R_DRENTAI3,
|
||||
0x21, _RE, R_KAMEI,
|
||||
0x11, _NI, R_DRENYOU2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keidou1[] = {
|
||||
0x80, R_DGOKAN,
|
||||
|
|
@ -823,20 +767,18 @@ static unsigned char keidou1[] = {
|
|||
0x11, _RU, R_DRENTAI3,
|
||||
0x11, _RE, R_KAMEI,
|
||||
0x01, _NI, R_DRENYOU2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keidou2[] = {
|
||||
0x80, R_DGOKAN,
|
||||
0x02, _TA, _RU, R_DRENTAI2,
|
||||
0x11, _RE, R_KATEI2,
|
||||
0x01, _TO, R_DRENYOU3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keidou4[] = {
|
||||
0x80, R_DGOKAN,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0x01, _DA, R_DSHUUSI1,
|
||||
0x11, _XTU, R_ONBIN1,
|
||||
0x12, _RO, _U, R_DAROU,
|
||||
|
|
@ -847,8 +789,7 @@ static unsigned char keidou4[] = {
|
|||
0x11, _RU, R_DRENTAI3,
|
||||
0x11, _RE, R_KAMEI,
|
||||
0x01, _NI, R_DRENYOU2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keidou9[] = {
|
||||
0x80, R_DGOKAN,
|
||||
|
|
@ -864,11 +805,10 @@ static unsigned char keidou9[] = {
|
|||
0x01, _NI, R_DRENYOU2,
|
||||
0x01, _NO, R_CUT,
|
||||
0x12, _KO, _TO, R_KOTO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char sahenmeisi1[] = {
|
||||
0x00, R_SMEISI1,
|
||||
0x00, R_SMEISHI1,
|
||||
0x01, _SA, R_MIZEN1,
|
||||
0x01, _SI, R_SI1,
|
||||
0x11, _RO, R_MEIREI1,
|
||||
|
|
@ -877,11 +817,10 @@ static unsigned char sahenmeisi1[] = {
|
|||
0x11, _RE, R_KATEI2,
|
||||
0x01, _SE, R_MIZEN2,
|
||||
0x11, _YO, R_MEIREI2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char sahenmeisi2[] = {
|
||||
0x00, R_SMEISI1,
|
||||
0x00, R_SMEISHI1,
|
||||
0x01, _SA, R_MIZEN1,
|
||||
0x01, _SI, R_SI1,
|
||||
0x11, _RO, R_MEIREI1,
|
||||
|
|
@ -890,12 +829,11 @@ static unsigned char sahenmeisi2[] = {
|
|||
0x11, _RE, R_KATEI2,
|
||||
0x01, _SE, R_MIZEN2,
|
||||
0x11, _YO, R_MEIREI2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keidoumeisi[] = {
|
||||
0x00, R_DMEISI,
|
||||
0x01, _SA, R_FZKMEISI,
|
||||
0x00, R_DMEISHI,
|
||||
0x01, _SA, R_FZKMEISHI,
|
||||
0x01, _DA, R_DSHUUSI1,
|
||||
0x11, _XTU, R_ONBIN1,
|
||||
0x12, _RO, _U, R_DAROU,
|
||||
|
|
@ -906,8 +844,7 @@ static unsigned char keidoumeisi[] = {
|
|||
0x11, _RU, R_DRENTAI3,
|
||||
0x11, _RE, R_KAMEI,
|
||||
0x01, _NI, R_DRENYOU2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char keiyoustb[] = {
|
||||
0x00, R_KSTB,
|
||||
|
|
@ -917,28 +854,25 @@ static unsigned char keiyoustb[] = {
|
|||
0x01, _KI, R_KRENTAI,
|
||||
0x01, _KU, R_KRENYOU,
|
||||
0x02, _KE, _RE, R_KATEI2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char ichistb[] = {
|
||||
0x00, R_ICHISETUBI,
|
||||
0x00, R_ICHISETSUBI,
|
||||
0x01, _YO, R_MEIREI2,
|
||||
0x01, _RU, R_SHUUSI,
|
||||
0x01, _RE, R_KATEI2,
|
||||
0x01, _RO, R_MEIREI1,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fukusi2[] = {
|
||||
0x00, R_FUKUSI,
|
||||
0x01, _TO, R_F_FUKUSI,
|
||||
0x00, R_FUKUSHI,
|
||||
0x01, _TO, R_F_FUKUSHI,
|
||||
0x11, _SI, R_SI1,
|
||||
0x11, _HA, R_F_FUKUSI,
|
||||
0xff
|
||||
};
|
||||
0x11, _HA, R_F_FUKUSHI,
|
||||
0xff};
|
||||
|
||||
static unsigned char fukusi3[] = {
|
||||
0x00, R_FUKUSI,
|
||||
0x00, R_FUKUSHI,
|
||||
0x01, _SA, R_MIZEN1,
|
||||
0x01, _SI, R_SI1,
|
||||
0x11, _RO, R_MEIREI1,
|
||||
|
|
@ -947,14 +881,13 @@ static unsigned char fukusi3[] = {
|
|||
0x11, _RE, R_KATEI2,
|
||||
0x01, _SE, R_MIZEN2,
|
||||
0x11, _YO, R_MEIREI2,
|
||||
0x01, _TO, R_F_FUKUSI,
|
||||
0x01, _TO, R_F_FUKUSHI,
|
||||
0x11, _SI, R_SI1,
|
||||
0x11, _HA, R_F_FUKUSI,
|
||||
0xff
|
||||
};
|
||||
0x11, _HA, R_F_FUKUSHI,
|
||||
0xff};
|
||||
|
||||
static unsigned char fukusi4[] = {
|
||||
0x00, R_FUKUSI,
|
||||
0x00, R_FUKUSHI,
|
||||
0x01, _SA, R_MIZEN1,
|
||||
0x01, _SI, R_SI1,
|
||||
0x11, _RO, R_MEIREI1,
|
||||
|
|
@ -963,43 +896,38 @@ static unsigned char fukusi4[] = {
|
|||
0x11, _RE, R_KATEI2,
|
||||
0x01, _SE, R_MIZEN2,
|
||||
0x11, _YO, R_MEIREI2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fukusi5[] = {
|
||||
0x00, R_FUKUSI,
|
||||
0x01, _NI, R_F_FUKUSI,
|
||||
0xff
|
||||
};
|
||||
0x00, R_FUKUSHI,
|
||||
0x01, _NI, R_F_FUKUSHI,
|
||||
0xff};
|
||||
|
||||
static unsigned char fukusi6[] = {
|
||||
0x00, R_FUKUSI,
|
||||
0x01, _MO, R_F_FUKUSI,
|
||||
0xff
|
||||
};
|
||||
0x00, R_FUKUSHI,
|
||||
0x01, _MO, R_F_FUKUSHI,
|
||||
0xff};
|
||||
|
||||
static unsigned char fukusi7[] = {
|
||||
0x00, R_FUKUSI,
|
||||
0x01, _NO, R_F_FUKUSI,
|
||||
0xff
|
||||
};
|
||||
0x00, R_FUKUSHI,
|
||||
0x01, _NO, R_F_FUKUSHI,
|
||||
0xff};
|
||||
|
||||
static unsigned char fukusi8[] = {
|
||||
0x00, R_FUKUSI,
|
||||
0x00, R_FUKUSHI,
|
||||
0x01, _DA, R_DSHUUSI1,
|
||||
0x11, _XTU, R_ONBIN1,
|
||||
0x02, _DE, _SI, R_DESHI,
|
||||
0x21, _XYO, R_SHO,
|
||||
0x31, _U, R_DESHOU,
|
||||
0x11, _SU, R_DESU,
|
||||
0x01, _TO, R_F_FUKUSI,
|
||||
0x01, _TO, R_F_FUKUSHI,
|
||||
0x11, _SI, R_SI1,
|
||||
0x11, _HA, R_F_FUKUSI,
|
||||
0xff
|
||||
};
|
||||
0x11, _HA, R_F_FUKUSHI,
|
||||
0xff};
|
||||
|
||||
static unsigned char fukusi9[] = {
|
||||
0x00, R_FUKUSI,
|
||||
0x00, R_FUKUSHI,
|
||||
0x01, _SA, R_MIZEN1,
|
||||
0x01, _SI, R_SI1,
|
||||
0x11, _RO, R_MEIREI1,
|
||||
|
|
@ -1014,12 +942,11 @@ static unsigned char fukusi9[] = {
|
|||
0x21, _XYO, R_SHO,
|
||||
0x31, _U, R_DESHOU,
|
||||
0x11, _SU, R_DESU,
|
||||
0x01, _TO, R_F_FUKUSI,
|
||||
0x01, _TO, R_F_FUKUSHI,
|
||||
0x11, _SI, R_SI1,
|
||||
0x11, _HA, R_F_FUKUSI,
|
||||
0x01, _NO, R_F_FUKUSI,
|
||||
0xff
|
||||
};
|
||||
0x11, _HA, R_F_FUKUSHI,
|
||||
0x01, _NO, R_F_FUKUSHI,
|
||||
0xff};
|
||||
|
||||
unsigned char* conjadr[] = {
|
||||
0,
|
||||
|
|
@ -1241,5 +1168,4 @@ unsigned char *conjadr[] = {
|
|||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
0};
|
||||
|
|
|
|||
38
const.h
38
const.h
|
|
@ -90,7 +90,7 @@
|
|||
#define AD_NotUserDict 0x0001
|
||||
#define AD_BadYomi 0x0002
|
||||
#define AD_BadKanji 0x0004
|
||||
#define AD_BadHinsi 0x0008
|
||||
#define AD_BadHinshi 0x0008
|
||||
|
||||
#define AD_ArExist 0x0010
|
||||
#define AD_OvflwDouBlk 0x0020
|
||||
|
|
@ -99,12 +99,12 @@
|
|||
#define AD_OvflwIndex 0x0100
|
||||
|
||||
#define AD_NoMidasi 0x0010
|
||||
#define AD_NoHinsi 0x0020
|
||||
#define AD_NoHinshi 0x0020
|
||||
#define AD_NoKanji 0x0040
|
||||
|
||||
#define C_WAKACHI 0x00
|
||||
#define C_MINASI 0x01
|
||||
#define C_BUNSETU 0x02
|
||||
#define C_BUNSETSU 0x02
|
||||
#define C_DICT 0x03
|
||||
#define C_N_ARABIA 0x04
|
||||
#define C_N_ARACMA 0x05
|
||||
|
|
@ -134,8 +134,8 @@
|
|||
#define K_DOUSHI 1
|
||||
#define K_YOUGEN 2
|
||||
#define K_TAIGEN 3
|
||||
#define K_FUKUSI 4
|
||||
#define K_RENTAISI 5
|
||||
#define K_FUKUSHI 4
|
||||
#define K_RENTAISHI 5
|
||||
#define K_SONOTA 6
|
||||
|
||||
#define EUC_a1 (unsigned char)0xa1
|
||||
|
|
@ -195,7 +195,7 @@
|
|||
|
||||
#define MaxYomiLength 32
|
||||
#define MaxKanjiLength 32
|
||||
#define MaxHinsiNumber 16
|
||||
#define MaxHinshiNumber 16
|
||||
#define MaxAtrNumber 16
|
||||
#define MaxJosiNumber 16
|
||||
|
||||
|
|
@ -205,20 +205,20 @@
|
|||
#define DouonBlkSizeNumber 3
|
||||
|
||||
#define DouonBlkTerm 0xff
|
||||
#define HinsiBlkTerm 0xff
|
||||
#define HinshiBlkTerm 0xff
|
||||
|
||||
#define NormalKanjiMask 0x7f
|
||||
#define SS3Kanji 0x0080
|
||||
#define ZenHiraAssyuku 0x80
|
||||
#define OffsetAssyuku 0x90
|
||||
#define ZenKataAssyuku 0xa0
|
||||
#define ZenHiraAsshuku 0x80
|
||||
#define OffsetAsshuku 0x90
|
||||
#define ZenKataAsshuku 0xa0
|
||||
#define AiAttribute 0xb0
|
||||
#define KanjiAssyuku 0xc0
|
||||
#define KanjiAsshuku 0xc0
|
||||
#define LeadingHankaku 0xd0
|
||||
#define KanjiStrEnd 0x00
|
||||
#define IsAssyuku 0x80
|
||||
#define IsAsshuku 0x80
|
||||
#define AssukuUse2byte 0x90
|
||||
#define KnjAssyukuMask 0x0f
|
||||
#define KnjAsshukuMask 0x0f
|
||||
#define KanjiCodeMask 0x0f
|
||||
#define KanjiModeMask 0xf0
|
||||
#define AtrMsKanjiOfs 0xc0c0
|
||||
|
|
@ -229,29 +229,29 @@
|
|||
#define IllegalFormat "\245\325\245\251\241\274\245\336\245\303\245\310\244\254\260\333\276\357\244\307\244\271"
|
||||
#define TooLongYomi "\306\311\244\337\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271"
|
||||
#define TooLongKanji "\264\301\273\372\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271"
|
||||
#define TooLongHinsi "\311\312\273\354\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271"
|
||||
#define TooLongHinshi "\311\312\273\354\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271"
|
||||
#define TooLongGroup "\245\260\245\353\241\274\245\327\314\276\244\254\260\333\276\357\244\307\244\271"
|
||||
#define TooLongJosi "\275\365\273\354\312\270\273\372\316\363\244\254\260\333\276\357\244\307\244\271"
|
||||
#define BadHinsi "\305\320\317\277\244\265\244\354\244\306\244\244\244\312\244\244\311\312\273\354\244\307\244\271"
|
||||
#define BadHinshi "\305\320\317\277\244\265\244\354\244\306\244\244\244\312\244\244\311\312\273\354\244\307\244\271"
|
||||
#define BadGroup "\305\320\317\277\244\265\244\354\244\306\244\244\244\312\244\244\245\260\245\353\241\274\245\327\244\307\244\271"
|
||||
#define BadJosi "\305\320\317\277\244\265\244\354\244\306\244\244\244\312\244\244\275\365\273\354\244\307\244\271"
|
||||
#define NoYomiString "\306\311\244\337\312\270\273\372\316\363\244\254\274\350\306\300\244\307\244\255\244\336\244\273\244\363"
|
||||
#define NoKanjiString "\264\301\273\372\312\270\273\372\316\363\244\254\274\350\306\300\244\307\244\255\244\336\244\273\244\363"
|
||||
#define TooManyAtr "\302\260\300\255\244\316\277\364\244\254\302\277\244\271\244\256\244\336\244\271"
|
||||
#define TooManyHinsi "\311\312\273\354\244\316\277\364\244\254\302\277\244\271\244\256\244\336\244\271"
|
||||
#define TooManyHinshi "\311\312\273\354\244\316\277\364\244\254\302\277\244\271\244\256\244\336\244\271"
|
||||
#define TooManyJosi "\275\365\273\354\244\316\277\364\244\254\302\277\244\271\244\256\244\336\244\271"
|
||||
#define NoDataInMain "\245\341\245\244\245\363\274\255\275\361\244\313\302\270\272\337\244\267\244\336\244\273\244\363"
|
||||
#define TooManyTarget "\311\312\273\354\244\362\243\261\244\304\273\330\304\352\244\267\244\306\244\257\244\300\244\265\244\244"
|
||||
|
||||
#define HinsiTankan cnvhinsi("\303\261\264\301")
|
||||
#define HinshiTankan cnvhinshi("\303\261\264\301")
|
||||
|
||||
#define DIVLIST 1
|
||||
#define ASSYUKUREC 2
|
||||
#define ASSHUKUREC 2
|
||||
#define STRING 3
|
||||
#define HINDOREC 4
|
||||
#define OFFSETREC 5
|
||||
#define KANJIREC 6
|
||||
#define HINSIREC 7
|
||||
#define HINSHIREC 7
|
||||
#define DOUONREC 8
|
||||
|
||||
#endif /* SJ3_CONST_H_ */
|
||||
|
|
|
|||
159
conv.c
159
conv.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: conv.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:11 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <errno.h>
|
||||
#include "wchar16.h"
|
||||
#include "select.h"
|
||||
|
|
@ -42,63 +34,100 @@
|
|||
#include "inkey.h"
|
||||
#include "common.h"
|
||||
|
||||
|
||||
#define MSEC 300
|
||||
|
||||
|
||||
|
||||
int keyvalue;
|
||||
|
||||
char* funckey[] = {
|
||||
"\033OH", "\033OP", "\033OQ",
|
||||
"\033OR", "\033OS", "\033OT",
|
||||
"\033OU", "\033OV", "\033OW",
|
||||
"\033OX", "\033OY", "\033OZ",
|
||||
"\033[C", "\033OC", "\033[D",
|
||||
"\033OD", "\033[A", "\033OA",
|
||||
"\033[B", "\033OB", "\033[H",
|
||||
"\033[4~", "\033[11~", "\033[8~",
|
||||
"\033[12~", "\033[13~", "\033[9~",
|
||||
"\033[14~", "\033[15~", "\033[17~",
|
||||
"\033[18~", "\033[19~", "\033[20~",
|
||||
"\033[21~", "\033[7~",
|
||||
"\033OH",
|
||||
"\033OP",
|
||||
"\033OQ",
|
||||
"\033OR",
|
||||
"\033OS",
|
||||
"\033OT",
|
||||
"\033OU",
|
||||
"\033OV",
|
||||
"\033OW",
|
||||
"\033OX",
|
||||
"\033OY",
|
||||
"\033OZ",
|
||||
"\033[C",
|
||||
"\033OC",
|
||||
"\033[D",
|
||||
"\033OD",
|
||||
"\033[A",
|
||||
"\033OA",
|
||||
"\033[B",
|
||||
"\033OB",
|
||||
"\033[H",
|
||||
"\033[4~",
|
||||
"\033[11~",
|
||||
"\033[8~",
|
||||
"\033[12~",
|
||||
"\033[13~",
|
||||
"\033[9~",
|
||||
"\033[14~",
|
||||
"\033[15~",
|
||||
"\033[17~",
|
||||
"\033[18~",
|
||||
"\033[19~",
|
||||
"\033[20~",
|
||||
"\033[21~",
|
||||
"\033[7~",
|
||||
};
|
||||
|
||||
int funcvalue[] = {
|
||||
KEY_CONV, KEY_HENKAN, KEY_MUHENKAN,
|
||||
KEY_ETC, KEY_KETTEI, KEY_CODE,
|
||||
KEY_HALPHA, KEY_ZALPHA, KEY_HKATA,
|
||||
KEY_ZKATA, KEY_ZHIRA, KEY_OTHER,
|
||||
KEY_RIGHT, KEY_RIGHT, KEY_LEFT,
|
||||
KEY_LEFT, KEY_UP, KEY_UP,
|
||||
KEY_DOWN, KEY_DOWN, KEY_CONV,
|
||||
KEY_HENKAN, KEY_HENKAN, KEY_MUHENKAN,
|
||||
KEY_MUHENKAN, KEY_ETC, KEY_KETTEI,
|
||||
KEY_KETTEI, KEY_CODE, KEY_HALPHA,
|
||||
KEY_ZALPHA, KEY_HKATA, KEY_ZKATA,
|
||||
KEY_ZHIRA, KEY_CONV,
|
||||
KEY_CONV,
|
||||
KEY_HENKAN,
|
||||
KEY_MUHENKAN,
|
||||
KEY_ETC,
|
||||
KEY_KETTEI,
|
||||
KEY_CODE,
|
||||
KEY_HALPHA,
|
||||
KEY_ZALPHA,
|
||||
KEY_HKATA,
|
||||
KEY_ZKATA,
|
||||
KEY_ZHIRA,
|
||||
KEY_OTHER,
|
||||
KEY_RIGHT,
|
||||
KEY_RIGHT,
|
||||
KEY_LEFT,
|
||||
KEY_LEFT,
|
||||
KEY_UP,
|
||||
KEY_UP,
|
||||
KEY_DOWN,
|
||||
KEY_DOWN,
|
||||
KEY_CONV,
|
||||
KEY_HENKAN,
|
||||
KEY_HENKAN,
|
||||
KEY_MUHENKAN,
|
||||
KEY_MUHENKAN,
|
||||
KEY_ETC,
|
||||
KEY_KETTEI,
|
||||
KEY_KETTEI,
|
||||
KEY_CODE,
|
||||
KEY_HALPHA,
|
||||
KEY_ZALPHA,
|
||||
KEY_HKATA,
|
||||
KEY_ZKATA,
|
||||
KEY_ZHIRA,
|
||||
KEY_CONV,
|
||||
};
|
||||
|
||||
int keynumber = sizeof(funckey) / sizeof(char*);
|
||||
|
||||
|
||||
|
||||
extern int Direct;
|
||||
extern int master;
|
||||
extern wchar16_t Ukey[UKEYNUM][SEQLEN + 1];
|
||||
extern int Uvalue[];
|
||||
extern int Unumber;
|
||||
|
||||
|
||||
|
||||
convert_stat ()
|
||||
{
|
||||
convert_stat() {
|
||||
stat_init();
|
||||
stat_conv();
|
||||
}
|
||||
|
||||
inputprocess ()
|
||||
{
|
||||
inputprocess() {
|
||||
int c;
|
||||
wchar16_t obuf[2];
|
||||
|
||||
|
|
@ -130,15 +159,13 @@ inputprocess ()
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
wchar16_t ibuf[KEYBUFSIZ];
|
||||
wchar16_t pars_seq[KEYBUFSIZ];
|
||||
int buf_count = 0;
|
||||
int pars_n;
|
||||
static int escape = 0;
|
||||
|
||||
inkey ()
|
||||
{
|
||||
inkey() {
|
||||
Conversion* cv;
|
||||
int i, j;
|
||||
wchar16_t c;
|
||||
|
|
@ -150,8 +177,7 @@ inkey ()
|
|||
if(escape && cv->Cflag)
|
||||
master_flush();
|
||||
c = *ibuf;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if((c = SJ_getchar()) == (wchar16_t)EOF)
|
||||
|
||||
return ((short)c);
|
||||
|
|
@ -159,12 +185,10 @@ inkey ()
|
|||
buf_count = 1;
|
||||
}
|
||||
|
||||
|
||||
if(*ibuf == ESC) {
|
||||
keyvalue = sequence(ibuf, &buf_count);
|
||||
escape = 1;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
escape = 0;
|
||||
}
|
||||
|
||||
|
|
@ -199,15 +223,12 @@ wchar16_t *buf;
|
|||
int* count;
|
||||
{
|
||||
|
||||
|
||||
|
||||
int n;
|
||||
SELECT_FD ifds;
|
||||
struct timeval t;
|
||||
wchar16_t* s;
|
||||
int value;
|
||||
|
||||
|
||||
if(*count > 1 && (value = parse_escape(buf, count, 1)) != KEY_MORE)
|
||||
return (value);
|
||||
|
||||
|
|
@ -238,8 +259,6 @@ int *count;
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
parse_escape(s, count, more)
|
||||
wchar16_t* s;
|
||||
int* count;
|
||||
|
|
@ -251,28 +270,21 @@ int more;
|
|||
|
||||
possible = 0;
|
||||
|
||||
|
||||
|
||||
for(i = 0; i < Unumber; i++) {
|
||||
|
||||
|
||||
for(j = 0; j < *count; j++) {
|
||||
if(s[j] != Ukey[i][j])
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if(j == wslen(&Ukey[i][0])) {
|
||||
|
||||
|
||||
Strncpy(pars_seq, s, j);
|
||||
pars_seq[j] = (wchar16_t)'\0';
|
||||
pars_n = j;
|
||||
|
||||
|
||||
*count -= j;
|
||||
|
||||
|
||||
if(*count > 0) {
|
||||
Strncpy(temp, &s[j], *count);
|
||||
temp[*count] = (wchar16_t)'\0';
|
||||
|
|
@ -280,33 +292,25 @@ int more;
|
|||
}
|
||||
|
||||
return (Uvalue[i]);
|
||||
}
|
||||
else if (j == *count)
|
||||
} else if(j == *count)
|
||||
possible = 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
for(i = 0; i < keynumber; i++) {
|
||||
|
||||
|
||||
for(j = 0; j < *count; j++) {
|
||||
if(s[j] != (unsigned char)funckey[i][j])
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if(j == strlen(funckey[i])) {
|
||||
|
||||
|
||||
Strncpy(pars_seq, s, j);
|
||||
pars_seq[j] = (wchar16_t)'\0';
|
||||
pars_n = j;
|
||||
|
||||
|
||||
*count -= j;
|
||||
|
||||
|
||||
if(*count > 0) {
|
||||
Strncpy(temp, &s[j], *count);
|
||||
temp[*count] = (wchar16_t)'\0';
|
||||
|
|
@ -314,8 +318,7 @@ int more;
|
|||
}
|
||||
|
||||
return (funcvalue[i]);
|
||||
}
|
||||
else if (j == *count)
|
||||
} else if(j == *count)
|
||||
possible = 1;
|
||||
}
|
||||
|
||||
|
|
@ -333,11 +336,9 @@ int more;
|
|||
}
|
||||
}
|
||||
|
||||
write_pseq (mod)
|
||||
int mod;
|
||||
write_pseq(mod) int mod;
|
||||
{
|
||||
|
||||
|
||||
if(mod == 3) {
|
||||
if(pars_n > 0) {
|
||||
pars_n = 0;
|
||||
|
|
@ -356,8 +357,7 @@ int mod;
|
|||
if(pars_n == 1) {
|
||||
pars_n = 0;
|
||||
return (*pars_seq);
|
||||
}
|
||||
else if (IsGoto (*pars_seq)) {
|
||||
} else if(IsGoto(*pars_seq)) {
|
||||
Strncpy(&ibuf[buf_count], &pars_seq[1], pars_n - 1);
|
||||
buf_count += pars_n - 1;
|
||||
pars_n = 0;
|
||||
|
|
@ -369,4 +369,3 @@ int mod;
|
|||
pars_n = 0;
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
|
|
|||
13
conversion.h
13
conversion.h
|
|
@ -27,19 +27,11 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: conversion.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:43 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj2.h"
|
||||
#include "sj3libsj3.h"
|
||||
#include "henkan.h"
|
||||
|
||||
typedef struct bunsetu_sj3 Bunsetu;
|
||||
typedef struct bunsetsu_sj3 Bunsetsu;
|
||||
|
||||
typedef struct _Conversion {
|
||||
unsigned short out_mode[BUFFLENGTH * 2];
|
||||
|
|
@ -76,7 +68,7 @@ typedef struct _Conversion {
|
|||
short CurBun;
|
||||
short PreBun;
|
||||
|
||||
Bunsetu Bun[BUFFLENGTH];
|
||||
Bunsetsu Bun[BUFFLENGTH];
|
||||
|
||||
wchar16_t out_buf[BUFFLENGTH * 2];
|
||||
unsigned char in_mode[BUFFLENGTH * 2];
|
||||
|
|
@ -104,7 +96,6 @@ typedef struct _Conversion {
|
|||
unsigned char wrap;
|
||||
} Conversion;
|
||||
|
||||
|
||||
wchar16_t osave_buf[BUFFLENGTH * 2];
|
||||
unsigned short osave_mode[BUFFLENGTH * 2];
|
||||
unsigned short isave_mode[BUFFLENGTH * 2];
|
||||
|
|
|
|||
22
cvtclknj.c
22
cvtclknj.c
|
|
@ -27,32 +27,14 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: cvtclknj.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:38 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#include "sj_kcnv.h"
|
||||
|
||||
|
||||
|
||||
void cvtkouho(), setstyrec();
|
||||
|
||||
|
||||
|
||||
void cvtclknj()
|
||||
{
|
||||
void cvtclknj() {
|
||||
KHREC* krec;
|
||||
int i;
|
||||
|
||||
|
||||
|
||||
|
||||
if(!selectid) selectid = khcount;
|
||||
|
||||
i = khcount;
|
||||
|
|
@ -63,9 +45,7 @@ void cvtclknj()
|
|||
krec++;
|
||||
}
|
||||
|
||||
|
||||
setstyrec(krec);
|
||||
|
||||
|
||||
cvtkouho(krec);
|
||||
}
|
||||
|
|
|
|||
58
cvtdict.c
58
cvtdict.c
|
|
@ -27,24 +27,11 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: cvtdict.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:40 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include "sj_euc.h"
|
||||
#include "sj_kcnv.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
|
||||
void
|
||||
cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
||||
{
|
||||
void cvtdict(KHREC* krec, CLREC* clrec, int flg) {
|
||||
TypeDicOfs ofs;
|
||||
unsigned char* yptr;
|
||||
int jlen;
|
||||
|
|
@ -55,17 +42,14 @@ cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
|||
JREC* jrec;
|
||||
int i, j;
|
||||
|
||||
|
||||
ofs = krec->offs;
|
||||
jrec = clrec->jnode;
|
||||
cllen = clrec->cllen;
|
||||
|
||||
yptr = inputyomi;
|
||||
|
||||
|
||||
jlen = jrec->jlen;
|
||||
|
||||
|
||||
if((i = jrec->sttofs) != 0) {
|
||||
|
||||
if(i == SETTOU_KIGOU) {
|
||||
|
|
@ -73,7 +57,6 @@ cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
|||
fptr = yptr;
|
||||
}
|
||||
|
||||
|
||||
else {
|
||||
fptr = Settou_ptr(i);
|
||||
sttlen = SttYomiLen(fptr);
|
||||
|
|
@ -87,20 +70,16 @@ cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
|||
yptr += sttlen * 2;
|
||||
}
|
||||
|
||||
|
||||
else
|
||||
sttlen = 0;
|
||||
|
||||
|
||||
if(flg) {
|
||||
|
||||
(*Cvtnum_func[krec->mode - 1])(ystart + sttlen, yptr, jrec);
|
||||
|
||||
|
||||
yptr += (i = jrec->numlen) * 2;
|
||||
jlen -= i;
|
||||
|
||||
|
||||
if(jrec->stbofs) {
|
||||
*kanjitmp++ = *yptr++;
|
||||
*kanjitmp++ = *yptr++;
|
||||
|
|
@ -110,19 +89,16 @@ cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
|||
stblen = 0;
|
||||
}
|
||||
|
||||
|
||||
else if ((i = jrec -> stbofs) && (fptr = getstb(jrec -> hinsi))) {
|
||||
else if((i = jrec->stbofs) && (fptr = getstb(jrec->hinshi))) {
|
||||
fptr += i - 1;
|
||||
stblen = StbYomiLen(fptr);
|
||||
jlen -= stblen;
|
||||
}
|
||||
|
||||
|
||||
else {
|
||||
stblen = 0;
|
||||
}
|
||||
|
||||
|
||||
if(ofs) {
|
||||
if(seldict(jrec->dicid)) {
|
||||
(*curdict->getdic)(curdict, jrec->jseg);
|
||||
|
|
@ -130,8 +106,7 @@ cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
|||
kanjitmp +=
|
||||
getkanji(yptr, jlen, dicbuf + ofs, kanjitmp);
|
||||
yptr += jlen * 2;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
while(jlen-- > 0) {
|
||||
for(i = 0; i < euc_codesize(*yptr); i++)
|
||||
*kanjitmp++ = yptr[i];
|
||||
|
|
@ -140,7 +115,6 @@ cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if(stblen) {
|
||||
i = StbKnjLen(fptr);
|
||||
fptr += stblen + 2;
|
||||
|
|
@ -148,7 +122,6 @@ cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
|||
yptr += stblen * 2;
|
||||
}
|
||||
|
||||
|
||||
i = cllen - (jrec->jlen);
|
||||
while(i-- > 0) {
|
||||
for(j = 0; j < euc_codesize(*yptr); j++)
|
||||
|
|
@ -157,18 +130,13 @@ cvtdict(KHREC *krec, CLREC *clrec, int flg)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
cvtminasi(int len)
|
||||
{
|
||||
void cvtminasi(int len) {
|
||||
unsigned char* ptr;
|
||||
|
||||
ptr = inputyomi;
|
||||
|
||||
while(len-- > 0) {
|
||||
|
||||
|
||||
if(isknj1(*ptr)) {
|
||||
*kanjitmp++ = *ptr++;
|
||||
*kanjitmp++ = *ptr++;
|
||||
|
|
@ -184,11 +152,7 @@ cvtminasi(int len)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
cvtwakachi(CLREC *clrec)
|
||||
{
|
||||
void cvtwakachi(CLREC* clrec) {
|
||||
int jlen;
|
||||
unsigned char* ym;
|
||||
int cnt;
|
||||
|
|
@ -196,7 +160,6 @@ cvtwakachi(CLREC *clrec)
|
|||
|
||||
ym = inputyomi;
|
||||
|
||||
|
||||
cnt = jlen = clrec->jnode->jlen;
|
||||
while(cnt-- > 0) {
|
||||
if(isknj1(*ym)) {
|
||||
|
|
@ -205,19 +168,16 @@ cvtwakachi(CLREC *clrec)
|
|||
ch = *++ym;
|
||||
if(0xa1 <= ch && ch <= 0xf3) {
|
||||
*kanjitmp++ = 0xa5;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
*kanjitmp++ = 0xa4;
|
||||
}
|
||||
*kanjitmp++ = ch;
|
||||
ym++;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
*kanjitmp++ = *ym++;
|
||||
*kanjitmp++ = *ym++;
|
||||
}
|
||||
}
|
||||
else if (*ym == SS3) {
|
||||
} else if(*ym == SS3) {
|
||||
*kanjitmp++ = *ym++;
|
||||
*kanjitmp++ = *ym++;
|
||||
*kanjitmp++ = *ym++;
|
||||
|
|
@ -226,11 +186,9 @@ cvtwakachi(CLREC *clrec)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
cnt = clrec->cllen - jlen;
|
||||
while(cnt-- > 0) {
|
||||
|
||||
|
||||
if(isknj1(*ym)) {
|
||||
*kanjitmp++ = *ym++;
|
||||
*kanjitmp++ = *ym++;
|
||||
|
|
|
|||
54
cvtkanji.c
54
cvtkanji.c
|
|
@ -27,29 +27,15 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: cvtkanji.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:41 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include "sj_kcnv.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
void mkknjmax();
|
||||
void mvmemi(), free_clall();
|
||||
void free_jall();
|
||||
|
||||
|
||||
|
||||
void
|
||||
cvtphknj (void)
|
||||
{
|
||||
void cvtphknj(void) {
|
||||
int i, j;
|
||||
CLREC* clrec;
|
||||
CLREC* clkp;
|
||||
|
|
@ -66,7 +52,6 @@ cvtphknj (void)
|
|||
clrec = clrec->clsort;
|
||||
}
|
||||
|
||||
|
||||
if(clkp && stdytop) {
|
||||
|
||||
if(stdytop->nmflg)
|
||||
|
|
@ -75,54 +60,40 @@ cvtphknj (void)
|
|||
|
||||
kouhotbl[0].rank = 1;
|
||||
|
||||
|
||||
kanjitmp = kanjibuf + 1;
|
||||
|
||||
|
||||
setstyrec(kouhotbl);
|
||||
|
||||
|
||||
cvtkouho(kouhotbl);
|
||||
|
||||
|
||||
i = kanjitmp - kanjibuf;
|
||||
if(i < kanjilen) {
|
||||
|
||||
kanjilen -= i;
|
||||
|
||||
|
||||
ystart += clt1st->cllen;
|
||||
|
||||
j = hzstrlen(inputyomi, (int)clt1st->cllen);
|
||||
kanjibuf[0] = (unsigned char)j;
|
||||
|
||||
|
||||
inputyomi += j;
|
||||
|
||||
|
||||
memcpy(kanjibuf, kanjipos, i);
|
||||
kanjipos += i;
|
||||
}
|
||||
else
|
||||
} else
|
||||
kanjilen = 0;
|
||||
|
||||
not_enough_memory:
|
||||
|
||||
|
||||
free_clall(clt1st);
|
||||
free_jall(jrt1st);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
cvtkouho (KHREC *krec)
|
||||
{
|
||||
void cvtkouho(KHREC* krec) {
|
||||
CLREC* clrec;
|
||||
|
||||
clrec = krec->clrec;
|
||||
|
||||
|
||||
switch(clrec->jnode->class) {
|
||||
case C_DICT:
|
||||
cvtdict(krec, clrec, FALSE);
|
||||
|
|
@ -141,7 +112,7 @@ cvtkouho (KHREC *krec)
|
|||
cvtdict(krec, clrec, TRUE);
|
||||
break;
|
||||
|
||||
case C_BUNSETU :
|
||||
case C_BUNSETSU:
|
||||
case C_MINASI:
|
||||
cvtminasi((int)clrec->cllen);
|
||||
break;
|
||||
|
|
@ -151,15 +122,10 @@ cvtkouho (KHREC *krec)
|
|||
break;
|
||||
}
|
||||
|
||||
|
||||
*kanjitmp++ = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
setstyrec (KHREC *krec)
|
||||
{
|
||||
void setstyrec(KHREC* krec) {
|
||||
JREC* jrec;
|
||||
KHREC* kptr;
|
||||
int ii;
|
||||
|
|
@ -168,13 +134,11 @@ setstyrec (KHREC *krec)
|
|||
|
||||
jrec = krec->clrec->jnode;
|
||||
|
||||
|
||||
if(krec->mode && !krec->offs) {
|
||||
|
||||
for(ii = khcount, kptr = kouhotbl; ii--; kptr++)
|
||||
if(kptr->rank == 1) break;
|
||||
|
||||
|
||||
stdy.stdy1.offset = kptr->offs;
|
||||
stdy.stdy1.seg = kptr->clrec->jnode->jseg;
|
||||
stdy.stdy1.styno = kptr->styno;
|
||||
|
|
@ -191,23 +155,19 @@ setstyrec (KHREC *krec)
|
|||
}
|
||||
stdy.stdy1.sttkj = krec->sttkj;
|
||||
stdy.stdy1.ka_kj = krec->ka_kj;
|
||||
stdy.hinshi = jrec -> hinsi;
|
||||
stdy.hinshi = jrec->hinshi;
|
||||
stdy.len = jrec->jlen;
|
||||
stdy.sttfg = krec->sttfg;
|
||||
stdy.ka_fg = krec->ka_fg;
|
||||
|
||||
|
||||
if (jrec -> stbofs && (fptr = getstb(jrec -> hinsi)) != NULL)
|
||||
if(jrec->stbofs && (fptr = getstb(jrec->hinshi)) != NULL)
|
||||
stdy.len -= StbYomiLen(fptr + jrec->stbofs - 1);
|
||||
|
||||
|
||||
if((fptr = Settou_ptr(jrec->sttofs)) != NULL)
|
||||
stdy.sttlen = SttYomiLen(fptr);
|
||||
else
|
||||
stdy.sttlen = 0;
|
||||
|
||||
|
||||
memcpy((unsigned char*)&stdy, kanjitmp, sizeof(STDYOUT));
|
||||
kanjitmp += sizeof(STDYOUT);
|
||||
}
|
||||
|
||||
|
|
|
|||
58
deldic.c
58
deldic.c
|
|
@ -27,34 +27,21 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: deldic.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:42 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <string.h>
|
||||
#include "sj_kcnv.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
void mvmemi();
|
||||
void mkidxtbl();
|
||||
|
||||
|
||||
static int del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs);
|
||||
static int del_segment(TypeDicSeg seg);
|
||||
static void del_uidx(TypeDicSeg seg);
|
||||
static void del_stdy(TypeDicSeg seg, TypeDicOfs ofs, int size);
|
||||
|
||||
|
||||
unsigned int
|
||||
deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
||||
{
|
||||
deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinshi) {
|
||||
unsigned char yptr[MaxWdYomiLen + 1];
|
||||
unsigned char kptr[MaxWdKanjiLen + 1];
|
||||
unsigned int err;
|
||||
|
|
@ -69,7 +56,7 @@ deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
unsigned char *stp, *edp;
|
||||
int size, len;
|
||||
|
||||
if ((err = addel_arg(yomi, kanji, hinsi, yptr, sizeof(yptr))) != 0)
|
||||
if((err = addel_arg(yomi, kanji, hinshi, yptr, sizeof(yptr))) != 0)
|
||||
return err;
|
||||
|
||||
if((curdict->maxunit) == 0) return AD_NotUserDict;
|
||||
|
|
@ -84,11 +71,11 @@ deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
|
||||
if((dblknum = srchkana(&p1, &samlen)) == 0) return AD_NoMidasi;
|
||||
|
||||
if ((hblknum = srchgram(p1, &p2, hinsi)) == 0) return AD_NoHinsi;
|
||||
if((hblknum = srchgram(p1, &p2, hinshi)) == 0) return AD_NoHinshi;
|
||||
|
||||
p3 = p2;
|
||||
kblknum = srchkanji(&p3, kptr, knjlen);
|
||||
if (*p3 == HinsiBlkTerm) return AD_NoKanji;
|
||||
if(*p3 == HinshiBlkTerm) return AD_NoKanji;
|
||||
ofs = p3 - dicbuf;
|
||||
|
||||
edp = skipkstr(p3);
|
||||
|
|
@ -97,17 +84,14 @@ deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
if(hblknum == 1) {
|
||||
if(dblknum == 1) {
|
||||
return del_segment(useg);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return del_douon(useg, p1, ofs);
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
stp = p2;
|
||||
edp++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
stp = p3;
|
||||
}
|
||||
|
||||
|
|
@ -129,10 +113,8 @@ deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinsi)
|
|||
return AD_Done;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs)
|
||||
{
|
||||
del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs) {
|
||||
unsigned char *nxt, *p1, *p2;
|
||||
int size;
|
||||
int nlen, plen, len;
|
||||
|
|
@ -143,15 +125,13 @@ del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs)
|
|||
size = nxt - ptr;
|
||||
|
||||
memset(ptr, DicSegTerm, dicbuf + curdict->seglen - nxt);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
size = getsize(nxt);
|
||||
nlen = getnlen(nxt);
|
||||
plen = getplen(nxt);
|
||||
|
||||
if(ptr == segtop()) {
|
||||
if (nlen + plen > (unsigned int) count_uidx()
|
||||
+ strlen(get_idxptr(seg)))
|
||||
if(nlen + plen > (unsigned int)count_uidx() + strlen(get_idxptr(seg)))
|
||||
return AD_OvflwIndex;
|
||||
}
|
||||
|
||||
|
|
@ -179,10 +159,8 @@ del_douon(TypeDicSeg seg, unsigned char* ptr, TypeDicOfs ofs)
|
|||
return AD_Done;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
del_segment(TypeDicSeg seg)
|
||||
{
|
||||
del_segment(TypeDicSeg seg) {
|
||||
int i;
|
||||
STDYIN* styp;
|
||||
TypeDicID dicid;
|
||||
|
|
@ -195,8 +173,7 @@ del_segment(TypeDicSeg seg)
|
|||
(*curdict->putdic)(curdict, sg - 1);
|
||||
}
|
||||
curdict->segunit--;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
memset(dicbuf, DicSegTerm, (int)curdict->seglen);
|
||||
dicbuf[0] = 0;
|
||||
(*curdict->putdic)(curdict, DicSegBase);
|
||||
|
|
@ -236,16 +213,13 @@ del_segment(TypeDicSeg seg)
|
|||
return AD_Done;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
del_uidx(TypeDicSeg seg)
|
||||
{
|
||||
del_uidx(TypeDicSeg seg) {
|
||||
unsigned char *p, *q;
|
||||
int len;
|
||||
|
||||
p = get_idxptr(seg);
|
||||
for (q = p ; *q++; )
|
||||
;
|
||||
for(q = p; *q++;);
|
||||
|
||||
mvmemi(q, p, idxbuf + curdict->idxlen - q);
|
||||
|
||||
|
|
@ -257,10 +231,8 @@ del_uidx(TypeDicSeg seg)
|
|||
mkidxtbl(curdict);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
del_stdy(TypeDicSeg seg, TypeDicOfs ofs, int size)
|
||||
{
|
||||
del_stdy(TypeDicSeg seg, TypeDicOfs ofs, int size) {
|
||||
int i;
|
||||
TypeStyNum stdynum;
|
||||
STDYIN* stdy;
|
||||
|
|
|
|||
357
depend.c
357
depend.c
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: depend.c,v $
|
||||
* $SonyRevision: 1.4 $
|
||||
* $SonyDate: 1997/10/07 07:39:45 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include "sj_kcnv.h"
|
||||
#include <errno.h>
|
||||
|
|
@ -48,7 +39,6 @@
|
|||
#include "sj3err.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
#if defined(__FD_SET) && !defined(FD_SET)
|
||||
#define FD_SET __FD_SET
|
||||
#define FD_CLR __FD_CLR
|
||||
|
|
@ -57,14 +47,11 @@
|
|||
extern int serv_errno;
|
||||
extern Global* work_base;
|
||||
|
||||
|
||||
DictFile* dictlink = NULL;
|
||||
StdyFile* stdylink = NULL;
|
||||
|
||||
|
||||
static long
|
||||
get4byte(unsigned char* p)
|
||||
{
|
||||
get4byte(unsigned char* p) {
|
||||
long i;
|
||||
|
||||
i = *p;
|
||||
|
|
@ -74,91 +61,89 @@ get4byte(unsigned char* p)
|
|||
}
|
||||
|
||||
static void
|
||||
Put4byte(unsigned char* p, long n)
|
||||
{
|
||||
Put4byte(unsigned char* p, long n) {
|
||||
p += 3;
|
||||
*p-- = n; n >>= 8;
|
||||
*p-- = n; n >>= 8;
|
||||
*p-- = n; n >>= 8;
|
||||
*p-- = n;
|
||||
n >>= 8;
|
||||
*p-- = n;
|
||||
n >>= 8;
|
||||
*p-- = n;
|
||||
n >>= 8;
|
||||
*p = n;
|
||||
}
|
||||
|
||||
#define put4byte(p, n) Put4byte((p), (long)(n))
|
||||
|
||||
|
||||
static int
|
||||
fgetfile(FILE* fp, long pos, int len, void* p)
|
||||
{
|
||||
fgetfile(FILE* fp, long pos, int len, void* p) {
|
||||
if(fseek(fp, pos, 0) == ERROR) {
|
||||
serv_errno = SJ3_FileSeekError; return ERROR;
|
||||
serv_errno = SJ3_FileSeekError;
|
||||
return ERROR;
|
||||
}
|
||||
if(fread(p, len, 1, fp) != 1) {
|
||||
serv_errno = SJ3_FileReadError; return ERROR;
|
||||
serv_errno = SJ3_FileReadError;
|
||||
return ERROR;
|
||||
}
|
||||
return SJ3_NormalEnd;
|
||||
}
|
||||
|
||||
static int
|
||||
fputfile(FILE* fp, long pos, int len, unsigned char* p)
|
||||
{
|
||||
fputfile(FILE* fp, long pos, int len, unsigned char* p) {
|
||||
if(fseek(fp, pos, 0) == ERROR) {
|
||||
serv_errno = SJ3_FileSeekError; return ERROR;
|
||||
serv_errno = SJ3_FileSeekError;
|
||||
return ERROR;
|
||||
}
|
||||
if(fwrite(p, len, 1, fp) != 1) {
|
||||
serv_errno = SJ3_FileWriteError; return ERROR;
|
||||
serv_errno = SJ3_FileWriteError;
|
||||
return ERROR;
|
||||
}
|
||||
return SJ3_NormalEnd;
|
||||
}
|
||||
|
||||
static int
|
||||
getfile(int fd, off_t pos, int len, void* p)
|
||||
{
|
||||
getfile(int fd, off_t pos, int len, void* p) {
|
||||
if(lseek(fd, pos, L_SET) == ERROR) {
|
||||
serv_errno = SJ3_FileSeekError; return ERROR;
|
||||
serv_errno = SJ3_FileSeekError;
|
||||
return ERROR;
|
||||
}
|
||||
if(read(fd, p, len) != len) {
|
||||
serv_errno = SJ3_FileReadError; return ERROR;
|
||||
serv_errno = SJ3_FileReadError;
|
||||
return ERROR;
|
||||
}
|
||||
return SJ3_NormalEnd;
|
||||
}
|
||||
|
||||
static int
|
||||
putfile(int fd, off_t pos, int len, void* p)
|
||||
{
|
||||
putfile(int fd, off_t pos, int len, void* p) {
|
||||
if(lseek(fd, pos, L_SET) == ERROR) {
|
||||
serv_errno = SJ3_FileSeekError; return ERROR;
|
||||
serv_errno = SJ3_FileSeekError;
|
||||
return ERROR;
|
||||
}
|
||||
if(write(fd, p, len) != len) {
|
||||
serv_errno = SJ3_FileWriteError; return ERROR;
|
||||
serv_errno = SJ3_FileWriteError;
|
||||
return ERROR;
|
||||
}
|
||||
return SJ3_NormalEnd;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
check_passwd(unsigned char* buf, char* passwd)
|
||||
{
|
||||
check_passwd(unsigned char* buf, char* passwd) {
|
||||
buf += PasswdPos;
|
||||
return (*buf && strncmp(passwd, buf, PasswdLen)) ? FALSE : TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
set_passwd(unsigned char* buf, char* passwd)
|
||||
{
|
||||
set_passwd(unsigned char* buf, char* passwd) {
|
||||
strncpy(buf + PasswdPos, passwd, PasswdLen);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
check_dictfile(unsigned char* buf)
|
||||
{
|
||||
check_dictfile(unsigned char* buf) {
|
||||
return (DictVersion != get4byte(buf + VersionPos)) ? FALSE : TRUE;
|
||||
}
|
||||
|
||||
|
||||
static DictFile*
|
||||
search_same_dict(ino_t ino)
|
||||
{
|
||||
search_same_dict(ino_t ino) {
|
||||
DictFile* p;
|
||||
|
||||
for(p = dictlink; p != NULL; p = p->link)
|
||||
|
|
@ -167,38 +152,32 @@ search_same_dict(ino_t ino)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
getofs(DictFile* dp)
|
||||
{
|
||||
getofs(DictFile* dp) {
|
||||
idxofs = dp->ofsptr;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
getidx(DictFile* dp)
|
||||
{
|
||||
getidx(DictFile* dp) {
|
||||
idxbuf = dp->buffer + dp->idxstrt;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
getdic(DictFile* dp, TypeDicSeg seg)
|
||||
{
|
||||
getdic(DictFile* dp, TypeDicSeg seg) {
|
||||
if(seg >= dp->dict.segunit) return -1;
|
||||
dicbuf = dp->buffer + dp->segstrt + dp->dict.seglen * seg;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
putidx(DictFile* dp, TypeDicSeg seg)
|
||||
{
|
||||
putidx(DictFile* dp, TypeDicSeg seg) {
|
||||
return putfile(dp->fd, dp->idxstrt, dp->dict.idxlen, idxbuf);
|
||||
}
|
||||
|
||||
static int
|
||||
putdic(DictFile* dp, TypeDicSeg seg)
|
||||
{
|
||||
putdic(DictFile* dp, TypeDicSeg seg) {
|
||||
unsigned char* p;
|
||||
long i, j;
|
||||
|
||||
|
|
@ -226,8 +205,7 @@ putdic(DictFile* dp, TypeDicSeg seg)
|
|||
}
|
||||
|
||||
static int
|
||||
rszdic(DictFile* dp, TypeDicSeg seg)
|
||||
{
|
||||
rszdic(DictFile* dp, TypeDicSeg seg) {
|
||||
long i;
|
||||
unsigned char* p;
|
||||
|
||||
|
|
@ -251,10 +229,8 @@ rszdic(DictFile* dp, TypeDicSeg seg)
|
|||
return putfile(dp->fd, 0, HeaderLength, dp->buffer);
|
||||
}
|
||||
|
||||
|
||||
DictFile*
|
||||
opendict(char* name, char* passwd)
|
||||
{
|
||||
opendict(char* name, char* passwd) {
|
||||
FILE* fp;
|
||||
struct stat sbuf;
|
||||
DictFile* dfp;
|
||||
|
|
@ -262,7 +238,6 @@ opendict(char* name, char* passwd)
|
|||
int i;
|
||||
unsigned char* dp;
|
||||
|
||||
|
||||
if(stat(name, &sbuf) == ERROR) {
|
||||
if(errno == ENOENT)
|
||||
serv_errno = SJ3_FileNotExist;
|
||||
|
|
@ -271,32 +246,30 @@ opendict(char* name, char* passwd)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
if((dfp = search_same_dict(sbuf.st_ino)) != NULL) {
|
||||
dfp -> refcnt++; return dfp;
|
||||
dfp->refcnt++;
|
||||
return dfp;
|
||||
}
|
||||
|
||||
|
||||
if((fp = fopen(name, "r+")) == NULL) {
|
||||
if((fp = fopen(name, "r")) == NULL) {
|
||||
serv_errno = SJ3_CannotOpenFile; return NULL;
|
||||
serv_errno = SJ3_CannotOpenFile;
|
||||
return NULL;
|
||||
}
|
||||
i = FALSE;
|
||||
}
|
||||
else
|
||||
} else
|
||||
i = TRUE;
|
||||
|
||||
|
||||
if(fgetfile(fp, 0L, sizeof(tmp), tmp) == ERROR) goto error1;
|
||||
|
||||
|
||||
if(!check_dictfile(tmp)) {
|
||||
serv_errno = SJ3_IllegalDictFile; goto error1;
|
||||
serv_errno = SJ3_IllegalDictFile;
|
||||
goto error1;
|
||||
}
|
||||
|
||||
|
||||
if(!check_passwd(tmp, passwd)) {
|
||||
serv_errno = SJ3_IncorrectPasswd; goto error1;
|
||||
serv_errno = SJ3_IncorrectPasswd;
|
||||
goto error1;
|
||||
}
|
||||
|
||||
#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__bsdi__) || defined(__DragonFly__)
|
||||
|
|
@ -304,10 +277,12 @@ opendict(char* name, char* passwd)
|
|||
#else
|
||||
if((dp = (unsigned char*)malloc(sbuf.st_size)) == NULL) {
|
||||
#endif
|
||||
serv_errno = SJ3_NotEnoughMemory; goto error1;
|
||||
serv_errno = SJ3_NotEnoughMemory;
|
||||
goto error1;
|
||||
}
|
||||
if((dfp = (DictFile*)malloc(sizeof(*dfp))) == NULL) {
|
||||
serv_errno = SJ3_NotEnoughMemory; goto error2;
|
||||
serv_errno = SJ3_NotEnoughMemory;
|
||||
goto error2;
|
||||
}
|
||||
memset(dfp, '\0', sizeof(*dfp));
|
||||
|
||||
|
|
@ -339,7 +314,8 @@ opendict(char* name, char* passwd)
|
|||
if(i < dfp->dict.maxunit) i = dfp->dict.maxunit;
|
||||
i *= sizeof(TypeIdxOfs);
|
||||
if((dfp->ofsptr = (TypeIdxOfs*)malloc(i)) == NULL) {
|
||||
serv_errno = SJ3_NotEnoughMemory; goto error3;
|
||||
serv_errno = SJ3_NotEnoughMemory;
|
||||
goto error3;
|
||||
}
|
||||
mkidxtbl(&(dfp->dict));
|
||||
|
||||
|
|
@ -348,25 +324,21 @@ opendict(char* name, char* passwd)
|
|||
|
||||
return dfp;
|
||||
|
||||
|
||||
|
||||
error3: free((char *)dfp);
|
||||
error2: free((char *)dp);
|
||||
error1: fclose(fp);
|
||||
error3:
|
||||
free((char*)dfp);
|
||||
error2:
|
||||
free((char*)dp);
|
||||
error1:
|
||||
fclose(fp);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
closedict(DictFile* dfp)
|
||||
{
|
||||
int closedict(DictFile* dfp) {
|
||||
DictFile* df;
|
||||
|
||||
|
||||
if(--dfp->refcnt > 0) return 0;
|
||||
|
||||
|
||||
if(dictlink == dfp)
|
||||
dictlink = dfp->link;
|
||||
else {
|
||||
|
|
@ -377,10 +349,8 @@ closedict(DictFile* dfp)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if(dfp->fp) fclose(dfp->fp);
|
||||
|
||||
|
||||
free((char*)(dfp->ofsptr));
|
||||
free((char*)(dfp->buffer));
|
||||
free((char*)dfp);
|
||||
|
|
@ -388,38 +358,27 @@ closedict(DictFile* dfp)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static fd_set zero_fd_set = {{0}};
|
||||
|
||||
void
|
||||
lock_dict(DictFile* p, int fd)
|
||||
{
|
||||
void lock_dict(DictFile* p, int fd) {
|
||||
FD_SET(fd, &(p->lock));
|
||||
}
|
||||
|
||||
void
|
||||
unlock_dict(DictFile* p, int fd)
|
||||
{
|
||||
void unlock_dict(DictFile* p, int fd) {
|
||||
FD_CLR(fd, &(p->lock));
|
||||
}
|
||||
|
||||
int
|
||||
is_dict_locked(DictFile* p)
|
||||
{
|
||||
int is_dict_locked(DictFile* p) {
|
||||
return memcmp(&(p->lock), &zero_fd_set, sizeof(zero_fd_set));
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
check_stdyfile(unsigned char* buf)
|
||||
{
|
||||
check_stdyfile(unsigned char* buf) {
|
||||
return (StdyVersion != get4byte(buf + VersionPos)) ? FALSE : TRUE;
|
||||
}
|
||||
|
||||
|
||||
static StdyFile*
|
||||
search_same_stdy(ino_t ino)
|
||||
{
|
||||
search_same_stdy(ino_t ino) {
|
||||
StdyFile* p;
|
||||
|
||||
for(p = stdylink; p != NULL; p = p->link)
|
||||
|
|
@ -428,10 +387,8 @@ search_same_stdy(ino_t ino)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
StdyFile*
|
||||
openstdy(char* name, char* passwd)
|
||||
{
|
||||
openstdy(char* name, char* passwd) {
|
||||
FILE* fp;
|
||||
struct stat sbuf;
|
||||
StdyFile* sfp;
|
||||
|
|
@ -444,7 +401,6 @@ openstdy(char* name, char* passwd)
|
|||
long clstdypos, clstdylen, clstdystep;
|
||||
long len;
|
||||
|
||||
|
||||
if(stat(name, &sbuf) == ERROR) {
|
||||
if(errno == ENOENT)
|
||||
serv_errno = SJ3_FileNotExist;
|
||||
|
|
@ -453,36 +409,34 @@ openstdy(char* name, char* passwd)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
if((sfp = search_same_stdy(sbuf.st_ino)) != NULL) {
|
||||
sfp -> refcnt++; return sfp;
|
||||
sfp->refcnt++;
|
||||
return sfp;
|
||||
}
|
||||
|
||||
|
||||
if((hd = (unsigned char*)malloc(HeaderLength + CommentLength)) == NULL) {
|
||||
serv_errno = SJ3_NotEnoughMemory; return NULL;
|
||||
serv_errno = SJ3_NotEnoughMemory;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
if((fp = fopen(name, "r+")) == NULL) {
|
||||
serv_errno = SJ3_CannotOpenFile; goto error0;
|
||||
serv_errno = SJ3_CannotOpenFile;
|
||||
goto error0;
|
||||
}
|
||||
|
||||
|
||||
if(fgetfile(fp, 0L, HeaderLength + CommentLength, hd) == ERROR)
|
||||
goto error1;
|
||||
|
||||
|
||||
if(!check_stdyfile(hd)) {
|
||||
serv_errno = SJ3_IllegalStdyFile; goto error1;
|
||||
serv_errno = SJ3_IllegalStdyFile;
|
||||
goto error1;
|
||||
}
|
||||
|
||||
|
||||
if(!check_passwd(hd, passwd)) {
|
||||
serv_errno = SJ3_IncorrectPasswd; goto error1;
|
||||
serv_errno = SJ3_IncorrectPasswd;
|
||||
goto error1;
|
||||
}
|
||||
|
||||
|
||||
stdycnt = get4byte(hd + StdyNormCnt);
|
||||
stdypos = get4byte(hd + StdyNormPos);
|
||||
stdylen = get4byte(hd + StdyNormLen);
|
||||
|
|
@ -494,27 +448,28 @@ openstdy(char* name, char* passwd)
|
|||
clstdystep = get4byte(hd + StdyClIdxStep);
|
||||
len = sizeof(STDYIN) * stdymax;
|
||||
|
||||
|
||||
if((sfp = (StdyFile*)malloc(sizeof(*sfp))) == NULL) {
|
||||
serv_errno = SJ3_NotEnoughMemory; goto error1;
|
||||
serv_errno = SJ3_NotEnoughMemory;
|
||||
goto error1;
|
||||
}
|
||||
memset(sfp, '\0', sizeof(*sfp));
|
||||
if((sp = (STDYIN*)malloc(len)) == NULL) {
|
||||
serv_errno = SJ3_NotEnoughMemory; goto error2;
|
||||
serv_errno = SJ3_NotEnoughMemory;
|
||||
goto error2;
|
||||
}
|
||||
if((cip = (unsigned short*)malloc(clidxlen)) == NULL) {
|
||||
serv_errno = SJ3_NotEnoughMemory; goto error3;
|
||||
serv_errno = SJ3_NotEnoughMemory;
|
||||
goto error3;
|
||||
}
|
||||
if((clp = (unsigned char*)malloc(clstdylen)) == NULL) {
|
||||
serv_errno = SJ3_NotEnoughMemory; goto error4;
|
||||
serv_errno = SJ3_NotEnoughMemory;
|
||||
goto error4;
|
||||
}
|
||||
|
||||
|
||||
if(fgetfile(fp, clidxpos, clidxlen, cip) == ERROR) goto error5;
|
||||
if(fgetfile(fp, clstdypos, clstdylen, clp) == ERROR) goto error5;
|
||||
if(fgetfile(fp, stdypos, len, sp) == ERROR) stdycnt = 0;
|
||||
|
||||
|
||||
sfp->stdy.stdycnt = stdycnt;
|
||||
sfp->stdy.stdymax = stdymax;
|
||||
sfp->stdy.stdydic = sp;
|
||||
|
|
@ -533,28 +488,27 @@ openstdy(char* name, char* passwd)
|
|||
|
||||
return sfp;
|
||||
|
||||
|
||||
|
||||
error5: free((char *)clp);
|
||||
error4: free((char *)cip);
|
||||
error3: free((char *)sp);
|
||||
error2: free((char *)sfp);
|
||||
error1: fclose(fp);
|
||||
error0: free((char *)hd);
|
||||
error5:
|
||||
free((char*)clp);
|
||||
error4:
|
||||
free((char*)cip);
|
||||
error3:
|
||||
free((char*)sp);
|
||||
error2:
|
||||
free((char*)sfp);
|
||||
error1:
|
||||
fclose(fp);
|
||||
error0:
|
||||
free((char*)hd);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
closestdy(StdyFile* sfp)
|
||||
{
|
||||
int closestdy(StdyFile* sfp) {
|
||||
StdyFile* sf;
|
||||
|
||||
|
||||
if(--sfp->refcnt > 0) return 0;
|
||||
|
||||
|
||||
if(stdylink == sfp)
|
||||
stdylink = sfp->link;
|
||||
else {
|
||||
|
|
@ -565,10 +519,8 @@ closestdy(StdyFile* sfp)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if(sfp->fp) fclose(sfp->fp);
|
||||
|
||||
|
||||
free((char*)sfp->stdy.stdydic);
|
||||
free((char*)sfp->stdy.clstdyidx);
|
||||
free((char*)sfp->stdy.clstdydic);
|
||||
|
|
@ -578,10 +530,7 @@ closestdy(StdyFile* sfp)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
putstydic(void)
|
||||
{
|
||||
int putstydic(void) {
|
||||
int fd;
|
||||
unsigned char* hd;
|
||||
StdyFile* sf;
|
||||
|
|
@ -591,23 +540,17 @@ putstydic(void)
|
|||
fd = sf->fd;
|
||||
hd = sf->header;
|
||||
|
||||
|
||||
put4byte(hd + StdyNormCnt, sf->stdy.stdycnt);
|
||||
|
||||
|
||||
len = sizeof(STDYIN) * sf->stdy.stdymax;
|
||||
put4byte(hd + StdyNormLen, len);
|
||||
|
||||
|
||||
if(putfile(fd, 0, HeaderLength + CommentLength, hd)) return ERROR;
|
||||
|
||||
|
||||
return putfile(fd, get4byte(hd + StdyNormPos), len, sf->stdy.stdydic);
|
||||
}
|
||||
|
||||
int
|
||||
putcldic(void)
|
||||
{
|
||||
int putcldic(void) {
|
||||
int fd;
|
||||
unsigned char* hd;
|
||||
StdyFile* sf;
|
||||
|
|
@ -623,56 +566,56 @@ putcldic(void)
|
|||
get4byte(hd + StdyClSegLen), sf->stdy.clstdydic);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
makedict(char* path, int idxlen, int seglen, int segnum)
|
||||
{
|
||||
int makedict(char* path, int idxlen, int seglen, int segnum) {
|
||||
FILE* fp;
|
||||
unsigned char tmp[HeaderLength + CommentLength];
|
||||
long pos = HeaderLength + CommentLength;
|
||||
int ret = ERROR;
|
||||
int i;
|
||||
|
||||
|
||||
if(idxlen < MinIdxLen || seglen < MinSegLen || segnum < MinSegNum) {
|
||||
serv_errno = SJ3_IllegalParameter; return ret;
|
||||
serv_errno = SJ3_IllegalParameter;
|
||||
return ret;
|
||||
}
|
||||
|
||||
if(!(fp = fopen(path, "w"))) {
|
||||
serv_errno = SJ3_CannotCreateFile; return ret;
|
||||
serv_errno = SJ3_CannotCreateFile;
|
||||
return ret;
|
||||
}
|
||||
memset(tmp, '\0', sizeof(tmp));
|
||||
put4byte(tmp + VersionPos, DictVersion);
|
||||
|
||||
|
||||
put4byte(tmp + DictIdxPos, pos);
|
||||
put4byte(tmp + DictIdxLen, idxlen);
|
||||
if(fseek(fp, pos, 0) == ERROR) {
|
||||
serv_errno = SJ3_FileSeekError; goto error;
|
||||
serv_errno = SJ3_FileSeekError;
|
||||
goto error;
|
||||
}
|
||||
for(i = 0; i < idxlen; i++)
|
||||
if(putc(0, fp)) {
|
||||
serv_errno = SJ3_FileWriteError; goto error;
|
||||
serv_errno = SJ3_FileWriteError;
|
||||
goto error;
|
||||
}
|
||||
pos += idxlen;
|
||||
|
||||
|
||||
put4byte(tmp + DictSegPos, pos);
|
||||
put4byte(tmp + DictSegLen, seglen);
|
||||
put4byte(tmp + DictSegNum, 1);
|
||||
put4byte(tmp + DictSegMax, segnum);
|
||||
if(fseek(fp, pos, 0) == ERROR) {
|
||||
serv_errno = SJ3_FileSeekError; goto error;
|
||||
serv_errno = SJ3_FileSeekError;
|
||||
goto error;
|
||||
}
|
||||
if(putc(0, fp)) {
|
||||
serv_errno = SJ3_FileWriteError; goto error;
|
||||
serv_errno = SJ3_FileWriteError;
|
||||
goto error;
|
||||
}
|
||||
for(i = 1; i < seglen; i++)
|
||||
if(putc(0xff, fp) != 0xff) {
|
||||
serv_errno = SJ3_FileWriteError; goto error;
|
||||
serv_errno = SJ3_FileWriteError;
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
||||
if(fputfile(fp, 0L, sizeof(tmp), tmp) == SJ3_NormalEnd)
|
||||
ret = SJ3_NormalEnd;
|
||||
error:
|
||||
|
|
@ -681,78 +624,78 @@ error:
|
|||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
makestdy(char* path, int stynum, int clstep, int cllen)
|
||||
{
|
||||
int makestdy(char* path, int stynum, int clstep, int cllen) {
|
||||
FILE* fp;
|
||||
unsigned char tmp[HeaderLength + CommentLength];
|
||||
long pos = HeaderLength + CommentLength;
|
||||
int ret = ERROR;
|
||||
int i, j;
|
||||
|
||||
|
||||
if(stynum == 0) stynum = MinStyNum;
|
||||
if(clstep == 0) clstep = MinClStep;
|
||||
if(cllen == 0) cllen = MinClLen;
|
||||
|
||||
|
||||
if(stynum < MinStyNum || clstep < MinClStep || cllen < MinClLen) {
|
||||
serv_errno = SJ3_IllegalParameter; return ret;
|
||||
serv_errno = SJ3_IllegalParameter;
|
||||
return ret;
|
||||
}
|
||||
if(stynum > MaxStyNum || clstep > MaxClStep || cllen > MaxClLen) {
|
||||
serv_errno = SJ3_IllegalParameter; return ret;
|
||||
serv_errno = SJ3_IllegalParameter;
|
||||
return ret;
|
||||
}
|
||||
|
||||
if(!(fp = fopen(path, "w"))) {
|
||||
serv_errno = SJ3_CannotCreateFile; return ret;
|
||||
serv_errno = SJ3_CannotCreateFile;
|
||||
return ret;
|
||||
}
|
||||
memset(tmp, '\0', sizeof(tmp));
|
||||
put4byte(tmp + VersionPos, StdyVersion);
|
||||
|
||||
|
||||
j = 256 * sizeof(unsigned short);
|
||||
put4byte(tmp + StdyClIdxPos, pos);
|
||||
put4byte(tmp + StdyClIdxLen, j);
|
||||
put4byte(tmp + StdyClIdxStep, clstep);
|
||||
if(fseek(fp, pos, 0) == ERROR) {
|
||||
serv_errno = SJ3_FileSeekError; goto error;
|
||||
serv_errno = SJ3_FileSeekError;
|
||||
goto error;
|
||||
}
|
||||
for(i = 0; i < j; i++)
|
||||
if(putc(0, fp)) {
|
||||
serv_errno = SJ3_FileWriteError; goto error;
|
||||
serv_errno = SJ3_FileWriteError;
|
||||
goto error;
|
||||
}
|
||||
pos += j;
|
||||
|
||||
|
||||
put4byte(tmp + StdyClSegPos, pos);
|
||||
put4byte(tmp + StdyClSegLen, cllen);
|
||||
if(fseek(fp, pos, 0) == ERROR) {
|
||||
serv_errno = SJ3_FileSeekError; goto error;
|
||||
serv_errno = SJ3_FileSeekError;
|
||||
goto error;
|
||||
}
|
||||
for(i = 0; i < cllen; i++)
|
||||
if(putc(0, fp)) {
|
||||
serv_errno = SJ3_FileWriteError; goto error;
|
||||
serv_errno = SJ3_FileWriteError;
|
||||
goto error;
|
||||
}
|
||||
pos += cllen;
|
||||
|
||||
|
||||
j = sizeof(STDYIN) * stynum;
|
||||
put4byte(tmp + StdyNormPos, pos);
|
||||
put4byte(tmp + StdyNormLen, j);
|
||||
put4byte(tmp + StdyNormNum, stynum);
|
||||
put4byte(tmp + StdyNormCnt, 0);
|
||||
if(fseek(fp, pos, 0) == ERROR) {
|
||||
serv_errno = SJ3_FileSeekError; goto error;
|
||||
serv_errno = SJ3_FileSeekError;
|
||||
goto error;
|
||||
}
|
||||
for(i = 0; i < j; i++) {
|
||||
if(putc(0, fp)) {
|
||||
serv_errno = SJ3_FileWriteError; goto error;
|
||||
serv_errno = SJ3_FileWriteError;
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
pos += j;
|
||||
|
||||
|
||||
if(fputfile(fp, 0L, sizeof(tmp), tmp) == SJ3_NormalEnd)
|
||||
ret = SJ3_NormalEnd;
|
||||
error:
|
||||
|
|
@ -761,25 +704,17 @@ error:
|
|||
return ret;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
sj_closeall(void)
|
||||
{
|
||||
void sj_closeall(void) {
|
||||
while(dictlink) closedict(dictlink);
|
||||
while(stdylink) closestdy(stdylink);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
set_dictpass(DictFile* dp, char* pass)
|
||||
{
|
||||
int set_dictpass(DictFile* dp, char* pass) {
|
||||
set_passwd(dp->buffer, pass);
|
||||
return putfile(dp->fd, 0, HeaderLength + CommentLength, dp->buffer);
|
||||
}
|
||||
|
||||
int
|
||||
set_stdypass(char* pass)
|
||||
{
|
||||
int set_stdypass(char* pass) {
|
||||
StdyFile* sp;
|
||||
|
||||
sp = (StdyFile*)stdy_base;
|
||||
|
|
@ -787,24 +722,17 @@ set_stdypass(char* pass)
|
|||
return putfile(sp->fd, 0, HeaderLength + CommentLength, sp->header);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
set_comment(unsigned char* buf, char* comment)
|
||||
{
|
||||
set_comment(unsigned char* buf, char* comment) {
|
||||
strncpy(buf + HeaderLength, comment, CommentLength);
|
||||
}
|
||||
|
||||
int
|
||||
set_dictcmnt(DictFile* dp, char* cmnt)
|
||||
{
|
||||
int set_dictcmnt(DictFile* dp, char* cmnt) {
|
||||
set_comment(dp->buffer, cmnt);
|
||||
return putfile(dp->fd, 0, HeaderLength + CommentLength, dp->buffer);
|
||||
}
|
||||
|
||||
int
|
||||
set_stdycmnt(char* cmnt)
|
||||
{
|
||||
int set_stdycmnt(char* cmnt) {
|
||||
StdyFile* sp;
|
||||
|
||||
sp = (StdyFile*)stdy_base;
|
||||
|
|
@ -812,10 +740,7 @@ set_stdycmnt(char* cmnt)
|
|||
return putfile(sp->fd, 0, HeaderLength + CommentLength, sp->header);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
get_stdysize(int* stynum, int* clstep, int* cllen)
|
||||
{
|
||||
void get_stdysize(int* stynum, int* clstep, int* cllen) {
|
||||
*stynum = StudyMax;
|
||||
*clstep = ClStudyStep;
|
||||
*cllen = ClStudyLen;
|
||||
|
|
|
|||
23
dict.c
23
dict.c
|
|
@ -27,24 +27,12 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: dict.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:45 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include "sj_euc.h"
|
||||
#include "sj_kcnv.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
void
|
||||
get_askknj(void)
|
||||
{
|
||||
void get_askknj(void) {
|
||||
unsigned char* p;
|
||||
unsigned char* q;
|
||||
unsigned char* r;
|
||||
|
|
@ -73,10 +61,7 @@ get_askknj(void)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
seldict(TypeDicID id)
|
||||
{
|
||||
int seldict(TypeDicID id) {
|
||||
DICTL* dp;
|
||||
|
||||
for(dp = dictlist; dp; dp = dp->next) {
|
||||
|
|
@ -88,10 +73,8 @@ seldict(TypeDicID id)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
get_idxptr(TypeDicSeg seg)
|
||||
{
|
||||
get_idxptr(TypeDicSeg seg) {
|
||||
(*curdict->getofs)(curdict);
|
||||
(*curdict->getidx)(curdict);
|
||||
|
||||
|
|
|
|||
14
dictdisp.c
14
dictdisp.c
|
|
@ -27,21 +27,12 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: dictdisp.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:34 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
|
||||
void
|
||||
dictdisp(output)
|
||||
char *output;
|
||||
dictdisp(output) char* output;
|
||||
{
|
||||
unsigned char buf[BUFSIZ];
|
||||
unsigned char* p;
|
||||
|
|
@ -55,8 +46,7 @@ char *output;
|
|||
error_out("%s \244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363", output);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
else
|
||||
} else
|
||||
fp = stdout;
|
||||
|
||||
flg = sj3_getdict_mb(buf);
|
||||
|
|
|
|||
20
dictmake.c
20
dictmake.c
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: dictmake.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:35 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
#include "sj_sysvdef.h"
|
||||
#include <stdio.h>
|
||||
#ifdef SVR4
|
||||
|
|
@ -55,8 +46,7 @@ extern int force_flag;
|
|||
extern int verbose_flag;
|
||||
extern int _sys_code;
|
||||
|
||||
static void touroku(y, k, h)
|
||||
char *y, *k, *h;
|
||||
static void touroku(y, k, h) char *y, *k, *h;
|
||||
{
|
||||
int err;
|
||||
int grm;
|
||||
|
|
@ -118,7 +108,7 @@ char *y, *k, *h;
|
|||
if(force_flag) break;
|
||||
exit(1);
|
||||
|
||||
case SJ3_BAD_HINSI_CODE:
|
||||
case SJ3_BAD_HINSHI_CODE:
|
||||
error_out("\305\320\317\277\244\307\244\255\244\312\244\244\311\312\273\354\244\307\244\271 %s:%s:%s", y, k, h);
|
||||
if(force_flag) break;
|
||||
exit(1);
|
||||
|
|
@ -135,8 +125,7 @@ char *y, *k, *h;
|
|||
}
|
||||
|
||||
void
|
||||
dictmake(input)
|
||||
char *input;
|
||||
dictmake(input) char* input;
|
||||
{
|
||||
unsigned char buf[BUFSIZ];
|
||||
FILE* fp;
|
||||
|
|
@ -152,8 +141,7 @@ char *input;
|
|||
error_out("%s \244\254\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363", input);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
else
|
||||
} else
|
||||
fp = stdin;
|
||||
|
||||
while(fgets((char*)buf, sizeof(buf), fp)) {
|
||||
|
|
|
|||
|
|
@ -47,8 +47,8 @@ void output_str (FILE* fp, char* p);
|
|||
void output_int(FILE* fp, int* p);
|
||||
void output_yomi(FILE* fp, unsigned char* p);
|
||||
|
||||
/* cnvhinsi.c */
|
||||
int cnvhinsi (unsigned char *buf);
|
||||
/* cnvhinshi.c */
|
||||
int cnvhinshi(unsigned char* buf);
|
||||
|
||||
/* file.c */
|
||||
FILE* Fopen(char* filename, char* type);
|
||||
|
|
@ -67,7 +67,7 @@ void knjhnd_set (unsigned char* p, int l);
|
|||
void knjhnd_reset(unsigned char* p, int l);
|
||||
int decide_knjask(void);
|
||||
void clear_hindo(void);
|
||||
void clear_assyuku (void);
|
||||
void clear_asshuku(void);
|
||||
|
||||
/* knjcvt.c */
|
||||
unsigned char* knjofscvt(unsigned char* ptr, int len, int* ret);
|
||||
|
|
@ -82,7 +82,7 @@ void mark_file (FILE* out);
|
|||
/* makelist.c */
|
||||
void clear_list(void);
|
||||
void flush_douon(void);
|
||||
void makelist (int* yomi, int* kanji, int hinsi, int* atr);
|
||||
void makelist(int* yomi, int* kanji, int hinshi, int* atr);
|
||||
|
||||
/* makeseg.c */
|
||||
size_t make_knjstr(unsigned char* src, int len, unsigned char* dst);
|
||||
|
|
@ -112,4 +112,3 @@ int last_strcmp (int* src, int* dst);
|
|||
int string_cmp(unsigned char* p1, int l1, unsigned char* p2, int l2);
|
||||
|
||||
#endif /* _DICTTOOL_H_ */
|
||||
|
||||
|
|
|
|||
118
display.c
118
display.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: display.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:12 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj_sysvdef.h"
|
||||
#include <errno.h>
|
||||
#include "common.h"
|
||||
|
|
@ -45,8 +37,6 @@ char bp[TCBUFSIZE];
|
|||
char bpwork[AREASIZE];
|
||||
char cmove[SHORTLENGTH];
|
||||
|
||||
|
||||
|
||||
extern int master;
|
||||
extern int vflag;
|
||||
extern char term_name[];
|
||||
|
|
@ -56,10 +46,7 @@ char *CM,*US,*UE,*SO,*SE,*CE,*CS,*BEL,*RP,*AP,*TS,*FS,*DS,*I2;
|
|||
char * SC, *RC, *SR, *DO;
|
||||
static int keyboard = OTHER_KB;
|
||||
|
||||
|
||||
|
||||
checkterm ()
|
||||
{
|
||||
checkterm() {
|
||||
char * kb, *area, *tgetstr(), *tmp;
|
||||
int val;
|
||||
Conversion* cv;
|
||||
|
|
@ -136,7 +123,6 @@ checkterm ()
|
|||
}
|
||||
#ifdef SVR4
|
||||
|
||||
|
||||
if(strstr(term_name, "news") != NULL) {
|
||||
keyboard = NEWS_KB;
|
||||
set_news();
|
||||
|
|
@ -157,33 +143,28 @@ checkterm ()
|
|||
strcpy(cmove, CM);
|
||||
}
|
||||
|
||||
void outc(c)
|
||||
char c;
|
||||
void outc(c) char c;
|
||||
{
|
||||
putchar(c);
|
||||
}
|
||||
|
||||
void erroutc(c)
|
||||
{
|
||||
void erroutc(c) {
|
||||
fputc(c, stderr);
|
||||
}
|
||||
|
||||
start_guideline ()
|
||||
{
|
||||
start_guideline() {
|
||||
if(status_line && I2)
|
||||
tputs(I2, 1, erroutc);
|
||||
}
|
||||
|
||||
end_guideline ()
|
||||
{
|
||||
end_guideline() {
|
||||
if(status_line) {
|
||||
tputs(DS, 1, outc);
|
||||
fflush(stdout);
|
||||
}
|
||||
}
|
||||
|
||||
put_space (n)
|
||||
int n;
|
||||
put_space(n) int n;
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -191,13 +172,11 @@ int n;
|
|||
putchar(' ');
|
||||
}
|
||||
|
||||
Backspace ()
|
||||
{
|
||||
Backspace() {
|
||||
putchar(BS);
|
||||
}
|
||||
|
||||
master_flush ()
|
||||
{
|
||||
master_flush() {
|
||||
SELECT_FD ifds;
|
||||
int nc;
|
||||
struct timeval t;
|
||||
|
|
@ -225,8 +204,7 @@ cont:
|
|||
return (0);
|
||||
}
|
||||
|
||||
ThroughIntr ()
|
||||
{
|
||||
ThroughIntr() {
|
||||
wchar16_t s[2];
|
||||
|
||||
SJ_read(s, 1);
|
||||
|
|
@ -234,58 +212,42 @@ ThroughIntr ()
|
|||
if(isintr(*s)) {
|
||||
master_out(s, 1);
|
||||
return (1);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
unget_inkey2(s, 1);
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
|
||||
under_in ()
|
||||
{
|
||||
under_in() {
|
||||
tputs(US, 1, outc);
|
||||
}
|
||||
|
||||
under_out ()
|
||||
{
|
||||
under_out() {
|
||||
tputs(UE, 1, outc);
|
||||
}
|
||||
|
||||
reverse_in ()
|
||||
{
|
||||
reverse_in() {
|
||||
tputs(SO, 1, outc);
|
||||
}
|
||||
|
||||
reverse_out ()
|
||||
{
|
||||
reverse_out() {
|
||||
tputs(SE, 1, outc);
|
||||
}
|
||||
|
||||
|
||||
|
||||
beep ()
|
||||
{
|
||||
beep() {
|
||||
tputs(BEL, 1, outc);
|
||||
Flush();
|
||||
}
|
||||
|
||||
|
||||
|
||||
CursorSet (row, col)
|
||||
unsigned short row, col;
|
||||
CursorSet(row, col) unsigned short row, col;
|
||||
{
|
||||
tputs(tgoto(CM, col - 1, row - 1), 1, outc);
|
||||
Flush();
|
||||
}
|
||||
|
||||
|
||||
|
||||
RegionSet (row1, row2)
|
||||
int row1, row2;
|
||||
RegionSet(row1, row2) int row1, row2;
|
||||
{
|
||||
|
||||
|
||||
|
||||
tputs(SC, 1, outc);
|
||||
tputs(tgoto(CS, row2, row1 - 1), 1, outc);
|
||||
tputs(RC, 1, outc);
|
||||
|
|
@ -303,8 +265,7 @@ int row1, row2;
|
|||
|
||||
int master_flush_flag = 1;
|
||||
|
||||
CursorRead (row, col)
|
||||
unsigned short *row, *col;
|
||||
CursorRead(row, col) unsigned short* row, *col;
|
||||
{
|
||||
|
||||
int count;
|
||||
|
|
@ -333,8 +294,6 @@ unsigned short *row, *col;
|
|||
*col = col2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define CRPLIM 4
|
||||
#define BACKLIM 16
|
||||
#define MARKER '%'
|
||||
|
|
@ -349,8 +308,6 @@ int *row, *col;
|
|||
wchar16_t Back[BACKLIM];
|
||||
int Back_count, count;
|
||||
|
||||
|
||||
|
||||
count = 0;
|
||||
Back_count = 0;
|
||||
c = '\0';
|
||||
|
|
@ -385,16 +342,14 @@ top:
|
|||
if(isdigit(c)) {
|
||||
*(sd++) = c;
|
||||
*sd = '\0';
|
||||
}
|
||||
else if (c == *sa)
|
||||
} else if(c == *sa)
|
||||
break;
|
||||
else
|
||||
goto top;
|
||||
}
|
||||
if(c == SEPARA)
|
||||
sd = Cchar;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
c = CRI();
|
||||
if(c == ESC)
|
||||
goto top;
|
||||
|
|
@ -410,8 +365,6 @@ top:
|
|||
return (SUCC);
|
||||
}
|
||||
|
||||
|
||||
|
||||
unget_inkey2(s, n)
|
||||
wchar16_t* s;
|
||||
int n;
|
||||
|
|
@ -426,8 +379,7 @@ int n;
|
|||
}
|
||||
}
|
||||
|
||||
unget_key (c)
|
||||
int c;
|
||||
unget_key(c) int c;
|
||||
{
|
||||
wchar16_t tmp[2];
|
||||
|
||||
|
|
@ -435,26 +387,19 @@ int c;
|
|||
unget_inkey2(tmp, 1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
CRI ()
|
||||
{
|
||||
CRI() {
|
||||
wchar16_t c;
|
||||
|
||||
SJ_read(&c, 1);
|
||||
return (c);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Clear_EOL ()
|
||||
{
|
||||
Clear_EOL() {
|
||||
reverse_out();
|
||||
tputs(CE, 1, outc);
|
||||
}
|
||||
|
||||
StartGuide (row, col)
|
||||
unsigned short *row, *col;
|
||||
StartGuide(row, col) unsigned short* row, *col;
|
||||
{
|
||||
Conversion* cv;
|
||||
|
||||
|
|
@ -462,34 +407,29 @@ unsigned short *row, *col;
|
|||
master_flush_flag = 0;
|
||||
if(status_line) {
|
||||
tputs(tgoto(TS, 0, 0), 1, outc);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
CursorRead(row, col);
|
||||
CursorSet(cv->line + 1, 0);
|
||||
}
|
||||
Flush();
|
||||
}
|
||||
|
||||
EndGuide (row, col)
|
||||
unsigned short row, col;
|
||||
EndGuide(row, col) unsigned short row, col;
|
||||
{
|
||||
if(status_line) {
|
||||
tputs(FS, 1, outc);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
CursorSet(row, col);
|
||||
}
|
||||
Flush();
|
||||
master_flush_flag = 1;
|
||||
}
|
||||
|
||||
Flush ()
|
||||
{
|
||||
Flush() {
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
Cscroll ()
|
||||
{
|
||||
Cscroll() {
|
||||
|
||||
return (1);
|
||||
}
|
||||
|
|
|
|||
93
douon.c
93
douon.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: douon.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1996/02/23 11:04:02 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "common.h"
|
||||
#include "key.h"
|
||||
#include "wchar16.h"
|
||||
|
|
@ -45,7 +37,7 @@ static int Dpoint;
|
|||
static struct douon_sj3 HenkanDouon[DOUON_N];
|
||||
static wchar16_t Dkanji[BUFFLENGTH * 2];
|
||||
|
||||
void go_gakusyuu();
|
||||
void go_gakushuu();
|
||||
|
||||
SJ_getdouon(s, d, n, choice, reconv)
|
||||
wchar16_t* s;
|
||||
|
|
@ -58,7 +50,6 @@ int reconv;
|
|||
|
||||
Dcount = SJ2_getdouon(s, d, n, choice, reconv);
|
||||
|
||||
|
||||
if(Dcount < 0 && !dconnect(1))
|
||||
Dcount = SJ2_getdouon(s, d, n, choice, reconv);
|
||||
|
||||
|
|
@ -73,10 +64,7 @@ int reconv;
|
|||
return (1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
exec_douon ()
|
||||
{
|
||||
exec_douon() {
|
||||
Conversion* cv;
|
||||
int val;
|
||||
|
||||
|
|
@ -94,8 +82,7 @@ exec_douon ()
|
|||
Rdisp();
|
||||
}
|
||||
|
||||
wrap_douon (back)
|
||||
int back;
|
||||
wrap_douon(back) int back;
|
||||
{
|
||||
Conversion* cv;
|
||||
int val;
|
||||
|
|
@ -116,14 +103,11 @@ int back;
|
|||
Rdisp();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Cdouon(yomi, gnum)
|
||||
wchar16_t* yomi;
|
||||
int gnum;
|
||||
{
|
||||
|
||||
|
||||
int i, j;
|
||||
int len;
|
||||
wchar16_t* s;
|
||||
|
|
@ -134,13 +118,13 @@ int gnum;
|
|||
char tmp[BUFFLENGTH], tmp2[BUFFLENGTH * 2];
|
||||
wchar16_t wtmp[BUFFLENGTH], wtmp2[BUFFLENGTH * 2];
|
||||
|
||||
int gakusyuu;
|
||||
int gakushuu;
|
||||
unsigned short row, col;
|
||||
Conversion* cv;
|
||||
|
||||
cv = current_conversion;
|
||||
|
||||
gakusyuu = SJ_getdouon (yomi, HenkanDouon, gnum, 0, 0);
|
||||
gakushuu = SJ_getdouon(yomi, HenkanDouon, gnum, 0, 0);
|
||||
|
||||
dispnum = DNUM;
|
||||
if(dispnum > Dcount)
|
||||
|
|
@ -197,11 +181,9 @@ int gnum;
|
|||
Flush();
|
||||
num = Dselect(j);
|
||||
|
||||
|
||||
if(num == 0)
|
||||
continue;
|
||||
|
||||
|
||||
else if(num == -1) {
|
||||
if((i >= Dcount) && ((Dcount % dispnum) != 0))
|
||||
i = Dcount - (Dcount % dispnum);
|
||||
|
|
@ -214,20 +196,17 @@ int gnum;
|
|||
i = Dcount - dispnum;
|
||||
else
|
||||
i = Dcount - (Dcount % dispnum);
|
||||
}
|
||||
else
|
||||
} else
|
||||
i = 0;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
else if(num > j) {
|
||||
disp_mode();
|
||||
return (FALSE);
|
||||
}
|
||||
|
||||
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
|
@ -242,7 +221,7 @@ int gnum;
|
|||
if(HenkanDouon[Dpoint].valid)
|
||||
PushGD(gnum, &HenkanDouon[Dpoint].dcid);
|
||||
|
||||
if (gakusyuu)
|
||||
if(gakushuu)
|
||||
if(HenkanDouon[Dpoint].valid)
|
||||
SJ2_study(&HenkanDouon[Dpoint].dcid);
|
||||
else
|
||||
|
|
@ -251,8 +230,7 @@ int gnum;
|
|||
return (TRUE);
|
||||
}
|
||||
|
||||
Dselect (lim)
|
||||
int lim;
|
||||
Dselect(lim) int lim;
|
||||
{
|
||||
extern int keyvalue;
|
||||
int c, num;
|
||||
|
|
@ -270,8 +248,7 @@ int lim;
|
|||
return (0);
|
||||
else if(c == ' ')
|
||||
return (0);
|
||||
else if (keyvalue == KEY_MUHENKAN || keyvalue == KEY_LEFT
|
||||
|| is_bsdel (c))
|
||||
else if(keyvalue == KEY_MUHENKAN || keyvalue == KEY_LEFT || is_bsdel(c))
|
||||
return (-1);
|
||||
else if(WcIsASCII(c) && isdigit(WcLowByte(c))) {
|
||||
*s = c;
|
||||
|
|
@ -279,8 +256,7 @@ int lim;
|
|||
num = atoi(s);
|
||||
if(num > 0 && num <= lim)
|
||||
return (num);
|
||||
}
|
||||
else if (keyvalue != KEY_NORMAL)
|
||||
} else if(keyvalue != KEY_NORMAL)
|
||||
break;
|
||||
else if(keyvalue == KEY_NORMAL && IsESC(c))
|
||||
break;
|
||||
|
|
@ -288,7 +264,6 @@ int lim;
|
|||
return (lim + 1);
|
||||
}
|
||||
|
||||
|
||||
Gdouon(yomi, num, choice, reconv)
|
||||
wchar16_t* yomi;
|
||||
int num;
|
||||
|
|
@ -296,7 +271,6 @@ int choice;
|
|||
int reconv;
|
||||
{
|
||||
|
||||
|
||||
int len;
|
||||
wchar16_t* s;
|
||||
|
||||
|
|
@ -311,8 +285,7 @@ int reconv;
|
|||
PushGD(num, &HenkanDouon[Dpoint].dcid);
|
||||
}
|
||||
|
||||
Sdouon (Choice)
|
||||
int Choice;
|
||||
Sdouon(Choice) int Choice;
|
||||
{
|
||||
Conversion* cv;
|
||||
int i, j;
|
||||
|
|
@ -333,17 +306,14 @@ top:
|
|||
cv->Pkettei[i] = MODE_ZHIRA;
|
||||
*Dkanji = '\0';
|
||||
goto null;
|
||||
}
|
||||
else if (len > DLEN) {
|
||||
} else if(len > DLEN) {
|
||||
cv->Bkettei[i] |= Bmuhenkan;
|
||||
cv->Bkettei[i] &= ~Bhenkan;
|
||||
*Dkanji = '\0';
|
||||
goto null;
|
||||
}
|
||||
else if (Choice == 0 && (cv->Bkettei[i] & Bmuhenkan)) {
|
||||
} else if(Choice == 0 && (cv->Bkettei[i] & Bmuhenkan)) {
|
||||
goto tail;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cv->Bkettei[i] |= Bhenkan;
|
||||
cv->Bkettei[i] &= ~Bmuhenkan;
|
||||
}
|
||||
|
|
@ -352,11 +322,9 @@ top:
|
|||
if(Cdouon(yomi, i) == FALSE)
|
||||
return (1);
|
||||
cv->Pkettei[i] = MODE_ZHIRA;
|
||||
}
|
||||
else if (Choice == 2) {
|
||||
} else if(Choice == 2) {
|
||||
Gdouon(yomi, i, 0, 0);
|
||||
}
|
||||
else if (Choice == 3)
|
||||
} else if(Choice == 3)
|
||||
Gdouon(yomi, i, count, 1);
|
||||
else
|
||||
Gdouon(yomi, i, count, 0);
|
||||
|
|
@ -370,8 +338,7 @@ null:
|
|||
cv->Edit[i] = j;
|
||||
cv->Epoint[j] = &(cv->Ebuff[cv->e_point]);
|
||||
cv->e_point += DLEN;
|
||||
}
|
||||
else
|
||||
} else
|
||||
j = cv->Edit[i];
|
||||
if(0 < len && len <= DLEN) {
|
||||
cv->Bkettei[i] |= Bedit;
|
||||
|
|
@ -390,10 +357,7 @@ tail:
|
|||
return (0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Rdouon (back)
|
||||
int back;
|
||||
Rdouon(back) int back;
|
||||
{
|
||||
Conversion* cv;
|
||||
int i, j;
|
||||
|
|
@ -406,8 +370,7 @@ int back;
|
|||
Dpoint--;
|
||||
if(Dpoint < 0)
|
||||
Dpoint = Dcount - 1;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
Dpoint++;
|
||||
if(Dpoint >= Dcount)
|
||||
Dpoint = 0;
|
||||
|
|
@ -449,15 +412,13 @@ wchar16_t *kanji;
|
|||
|
||||
struct studyrec Gdata[BUFFLENGTH];
|
||||
|
||||
PushGD (num, wordid)
|
||||
int num;
|
||||
PushGD(num, wordid) int num;
|
||||
struct studyrec* wordid;
|
||||
{
|
||||
Gdata[num] = *wordid;
|
||||
}
|
||||
|
||||
cl_gakusyuu ()
|
||||
{
|
||||
cl_gakushuu() {
|
||||
Conversion* cv;
|
||||
int i, j;
|
||||
int o_point, n_point;
|
||||
|
|
@ -475,14 +436,13 @@ cl_gakusyuu ()
|
|||
break;
|
||||
}
|
||||
j--;
|
||||
check_and_gakusyuu (i, j);
|
||||
check_and_gakushuu(i, j);
|
||||
i = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
check_and_gakusyuu (m, n)
|
||||
int m, n;
|
||||
check_and_gakushuu(m, n) int m, n;
|
||||
{
|
||||
Conversion* cv;
|
||||
int i, j;
|
||||
|
|
@ -492,15 +452,14 @@ int m, n;
|
|||
j = i + 1;
|
||||
while(j <= n && j < cv->Bnum) {
|
||||
if(cv->Bkettei[i] & Bedit && !(cv->Bkettei[i] & Bmuhenkan))
|
||||
go_gakusyuu (i);
|
||||
go_gakushuu(i);
|
||||
i++;
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
go_gakusyuu (n)
|
||||
int n;
|
||||
go_gakushuu(n) int n;
|
||||
{
|
||||
Conversion* cv;
|
||||
int i, j;
|
||||
|
|
@ -515,13 +474,11 @@ int n;
|
|||
if(cv->Pedited[i] == 1 || cv->Pedited[j] == 1)
|
||||
return;
|
||||
|
||||
|
||||
if((len = load_bun(i, yomi1, MODE_ZHIRA)) <= 0 && len > DLEN)
|
||||
return;
|
||||
if((len = load_bun(j, yomi2, MODE_ZHIRA)) > DLEN)
|
||||
return;
|
||||
|
||||
|
||||
if(len <= 0)
|
||||
gdatap = NULL;
|
||||
else
|
||||
|
|
|
|||
94
edit.c
94
edit.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: edit.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1997/01/23 11:09:36 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "common.h"
|
||||
#include "key.h"
|
||||
|
||||
|
|
@ -44,8 +36,7 @@ static wchar16_t *jpoint;
|
|||
static int iedit, jedit;
|
||||
static int ilen, jlen;
|
||||
|
||||
push_obj (i, j)
|
||||
int i, j;
|
||||
push_obj(i, j) int i, j;
|
||||
{
|
||||
Conversion* cv;
|
||||
|
||||
|
|
@ -57,8 +48,7 @@ int i, j;
|
|||
jedit = cv->Bkettei[j];
|
||||
}
|
||||
|
||||
pop_obj (i, j)
|
||||
int i, j;
|
||||
pop_obj(i, j) int i, j;
|
||||
{
|
||||
Conversion* cv;
|
||||
|
||||
|
|
@ -70,10 +60,7 @@ int i, j;
|
|||
cv->Bkettei[j] = jedit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Bbig ()
|
||||
{
|
||||
Bbig() {
|
||||
Conversion* cv;
|
||||
int i, j, k;
|
||||
int moji, last, val;
|
||||
|
|
@ -108,8 +95,7 @@ Bbig ()
|
|||
if(cv->Bkettei[i] & Bhenkan) {
|
||||
val = Sdouon(0);
|
||||
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cv->Bkettei[i] |= Bmuhenkan;
|
||||
cv->Bkettei[i] &= ~Bhenkan;
|
||||
cv->Bkettei[j] |= Bmuhenkan;
|
||||
|
|
@ -122,8 +108,7 @@ Bbig ()
|
|||
return (1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
} else
|
||||
j++;
|
||||
}
|
||||
beep();
|
||||
|
|
@ -132,10 +117,7 @@ Bbig ()
|
|||
return (0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Bsmall (small)
|
||||
int small;
|
||||
Bsmall(small) int small;
|
||||
{
|
||||
Conversion* cv;
|
||||
int i, j, k, moji;
|
||||
|
|
@ -154,14 +136,12 @@ int small;
|
|||
cv->Pkettei[j] = cv->Pkettei[i];
|
||||
cv->Bkettei[j] |= Bmuhenkan;
|
||||
cv->Bkettei[j] &= ~Bhenkan;
|
||||
}
|
||||
else if (small) {
|
||||
} else if(small) {
|
||||
while(j < cv->Bnum - 1 && cv->Plen[j] == 0)
|
||||
j++;
|
||||
if(j == cv->Bnum)
|
||||
j--;
|
||||
}
|
||||
else if (cv->Plen[j] != 0 && cv->Enum < MAXENUM) {
|
||||
} else if(cv->Plen[j] != 0 && cv->Enum < MAXENUM) {
|
||||
for(k = cv->Bnum; k > j; k--) {
|
||||
cv->Plen[k] = cv->Plen[k - 1];
|
||||
cv->Ppoint[k] = cv->Ppoint[k - 1];
|
||||
|
|
@ -179,14 +159,12 @@ int small;
|
|||
cv->Plen[j] = 0;
|
||||
cv->Bkettei[j] = Bmuhenkan;
|
||||
cv->Displen[j] = 0;
|
||||
}
|
||||
else if (cv->Plen[j] != 0) {
|
||||
} else if(cv->Plen[j] != 0) {
|
||||
while(j < cv->Bnum - 1 && cv->Plen[j] == 0)
|
||||
j++;
|
||||
if(j == cv->Bnum)
|
||||
j--;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
while(j < cv->Bnum - 1 && cv->Plen[j] == 0 &&
|
||||
cv->Plen[j + 1] == 0)
|
||||
j++;
|
||||
|
|
@ -214,8 +192,7 @@ int small;
|
|||
if(cv->Bkettei[i] & Bhenkan) {
|
||||
val = Sdouon(0);
|
||||
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cv->Bkettei[i] |= Bmuhenkan;
|
||||
cv->Bkettei[i] &= ~Bhenkan;
|
||||
cv->Bkettei[j] |= Bmuhenkan;
|
||||
|
|
@ -229,17 +206,13 @@ int small;
|
|||
}
|
||||
beep();
|
||||
pop_obj(i, j);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
beep();
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Bdelete ()
|
||||
{
|
||||
void Bdelete() {
|
||||
Conversion* cv;
|
||||
int i, j, deletelen, val;
|
||||
|
||||
|
|
@ -280,17 +253,14 @@ Bdelete ()
|
|||
beep();
|
||||
pop_obj(i, j);
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
beep();
|
||||
all_set_up();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Chain (n, len)
|
||||
int n;
|
||||
Chain(n, len) int n;
|
||||
int len;
|
||||
{
|
||||
Conversion* cv;
|
||||
|
|
@ -332,13 +302,11 @@ int len;
|
|||
|
||||
for(i = n + 1; i < cv->Bnum; i++)
|
||||
cv->Ppoint[i] -= len;
|
||||
|
||||
}
|
||||
|
||||
static int Elimit;
|
||||
static int Ehlimit;
|
||||
exec_edit ()
|
||||
{
|
||||
exec_edit() {
|
||||
Conversion* cv;
|
||||
int edit, inc, i;
|
||||
wchar16_t* s;
|
||||
|
|
@ -370,7 +338,6 @@ exec_edit ()
|
|||
Zcol = 0;
|
||||
Flush();
|
||||
|
||||
|
||||
cur = cv->Ppoint[bun] - cv->Ppoint[0];
|
||||
ncur = cur + cv->Plen[bun];
|
||||
s = cv->Ppoint[bun];
|
||||
|
|
@ -541,14 +508,11 @@ exec_edit ()
|
|||
if(iswdigit(inc)) {
|
||||
if(numpoint > 1) {
|
||||
|
||||
|
||||
number[0] = number[1];
|
||||
number[1] = inc;
|
||||
}
|
||||
else
|
||||
} else
|
||||
number[numpoint++] = inc;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
num = getnum(number, &numpoint);
|
||||
beep();
|
||||
}
|
||||
|
|
@ -615,7 +579,8 @@ int *numpoint;
|
|||
}
|
||||
|
||||
Replace(Hs, Zs, omode, cur, num)
|
||||
wchar16_t *Hs, *Zs;
|
||||
wchar16_t* Hs,
|
||||
*Zs;
|
||||
unsigned short* omode;
|
||||
int cur, num;
|
||||
{
|
||||
|
|
@ -691,9 +656,9 @@ int cur, num;
|
|||
return (num);
|
||||
}
|
||||
|
||||
|
||||
Substitute(Hs, Zs, omode, cur, num)
|
||||
wchar16_t *Hs, *Zs;
|
||||
wchar16_t* Hs,
|
||||
*Zs;
|
||||
unsigned short* omode;
|
||||
int * cur, num;
|
||||
{
|
||||
|
|
@ -721,7 +686,8 @@ int *cur, num;
|
|||
}
|
||||
|
||||
Insert(Hs, Zs, omode, cur)
|
||||
wchar16_t *Hs, *Zs;
|
||||
wchar16_t* Hs,
|
||||
*Zs;
|
||||
unsigned short* omode;
|
||||
int cur;
|
||||
{
|
||||
|
|
@ -752,7 +718,8 @@ int cur;
|
|||
if(iswcntrl(inc) && !is_bs(inc))
|
||||
beep();
|
||||
else if(((len = wslen(ztmp)) >= limit ||
|
||||
(rlen = wslen(htmp)) >= hlimit) && !is_bs(inc))
|
||||
(rlen = wslen(htmp)) >= hlimit) &&
|
||||
!is_bs(inc))
|
||||
beep();
|
||||
else
|
||||
(void)exec_romaji2(inc, htmp, ztmp, otmp, len, rlen);
|
||||
|
|
@ -789,7 +756,8 @@ int cur;
|
|||
}
|
||||
|
||||
EditDel(Hs, Zs, omode, cur, num)
|
||||
wchar16_t *Hs, *Zs;
|
||||
wchar16_t* Hs,
|
||||
*Zs;
|
||||
unsigned short* omode;
|
||||
int cur, num;
|
||||
{
|
||||
|
|
@ -823,7 +791,8 @@ int cur, num;
|
|||
}
|
||||
|
||||
chhstr(Hs, Zs, omode, cur)
|
||||
wchar16_t *Hs, *Zs;
|
||||
wchar16_t* Hs,
|
||||
*Zs;
|
||||
unsigned short* omode;
|
||||
int cur;
|
||||
{
|
||||
|
|
@ -862,8 +831,7 @@ wchar16_t *s;
|
|||
backspace(wcbyte(s));
|
||||
}
|
||||
|
||||
backspace (n)
|
||||
int n;
|
||||
backspace(n) int n;
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
|
|||
67
error.c
67
error.c
|
|
@ -27,17 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: error.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:51 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
|
@ -54,10 +43,7 @@ static FILE *errfp = NULL;
|
|||
static FILE* logfp = NULL;
|
||||
static FILE* dbgfp = NULL;
|
||||
|
||||
|
||||
int
|
||||
open_error(void)
|
||||
{
|
||||
int open_error(void) {
|
||||
extern char* error_file;
|
||||
int flg = 0;
|
||||
|
||||
|
|
@ -65,20 +51,15 @@ open_error(void)
|
|||
if(!strcmp(error_file, tty_name)) {
|
||||
errfp = stderr;
|
||||
flg = -1;
|
||||
}
|
||||
else if (!(errfp = fopen(error_file, "a")))
|
||||
} else if(!(errfp = fopen(error_file, "a")))
|
||||
fprintf(stderr, "Can't open \"%s\"\r\n", error_file);
|
||||
}
|
||||
else
|
||||
} else
|
||||
errfp = NULL;
|
||||
|
||||
return flg;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
error_out(char* s, int p1, int p2, int p3, int p4, int p5)
|
||||
{
|
||||
void error_out(char* s, int p1, int p2, int p3, int p4, int p5) {
|
||||
char tmp[BUFSIZ];
|
||||
|
||||
if(errfp) {
|
||||
|
|
@ -89,10 +70,7 @@ error_out(char* s, int p1, int p2, int p3, int p4, int p5)
|
|||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
warning_out(char* s, int p1, int p2, int p3, int p4, int p5)
|
||||
{
|
||||
void warning_out(char* s, int p1, int p2, int p3, int p4, int p5) {
|
||||
char tmp[BUFSIZ];
|
||||
|
||||
if(errfp) {
|
||||
|
|
@ -102,10 +80,7 @@ warning_out(char* s, int p1, int p2, int p3, int p4, int p5)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
open_log(void)
|
||||
{
|
||||
int open_log(void) {
|
||||
extern char* log_file;
|
||||
int flg = 0;
|
||||
|
||||
|
|
@ -113,8 +88,7 @@ open_log(void)
|
|||
if(!strcmp(log_file, tty_name)) {
|
||||
logfp = stderr;
|
||||
flg = -1;
|
||||
}
|
||||
else
|
||||
} else
|
||||
logfp = fopen(log_file, "a");
|
||||
if(logfp) {
|
||||
time_t t;
|
||||
|
|
@ -123,20 +97,15 @@ open_log(void)
|
|||
fprintf(logfp, "%s: log started at %s\r",
|
||||
program_name, ctime(&t));
|
||||
fflush(logfp);
|
||||
}
|
||||
else
|
||||
} else
|
||||
fprintf(stderr, "Can't open \"%s\"\r\n", log_file);
|
||||
}
|
||||
else
|
||||
} else
|
||||
logfp = NULL;
|
||||
|
||||
return flg;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
logging_out(char* s, int p1, int p2, int p3, int p4, int p5)
|
||||
{
|
||||
void logging_out(char* s, int p1, int p2, int p3, int p4, int p5) {
|
||||
char tmp[BUFSIZ];
|
||||
|
||||
if(logfp) {
|
||||
|
|
@ -146,10 +115,7 @@ logging_out(char* s, int p1, int p2, int p3, int p4, int p5)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
open_debug(void)
|
||||
{
|
||||
int open_debug(void) {
|
||||
extern char* debug_file;
|
||||
int flg = 0;
|
||||
|
||||
|
|
@ -157,20 +123,15 @@ open_debug(void)
|
|||
if(!strcmp(debug_file, tty_name)) {
|
||||
dbgfp = stderr;
|
||||
flg = -1;
|
||||
}
|
||||
else if (!(dbgfp = fopen(debug_file, "a")))
|
||||
} else if(!(dbgfp = fopen(debug_file, "a")))
|
||||
fprintf(stderr, "Can't open \"%s\"\r\n", debug_file);
|
||||
}
|
||||
else
|
||||
} else
|
||||
dbgfp = NULL;
|
||||
|
||||
return flg;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
debug_out(int lvl, char* s, int p1, int p2, int p3, int p4, int p5)
|
||||
{
|
||||
void debug_out(int lvl, char* s, int p1, int p2, int p3, int p4, int p5) {
|
||||
if(lvl <= debug_level && dbgfp) {
|
||||
fprintf(dbgfp, s, p1, p2, p3, p4, p5);
|
||||
fflush(dbgfp);
|
||||
|
|
|
|||
76
etc.c
76
etc.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: etc.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:15 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "common.h"
|
||||
#include "key.h"
|
||||
|
||||
|
|
@ -45,8 +37,7 @@ static int dcflag = 0;
|
|||
|
||||
void disp_version();
|
||||
|
||||
exec_etc (key)
|
||||
int key;
|
||||
exec_etc(key) int key;
|
||||
{
|
||||
unsigned short row, col;
|
||||
int inc;
|
||||
|
|
@ -72,8 +63,7 @@ int key;
|
|||
return (KEY_NORMAL);
|
||||
cv = GetConversion();
|
||||
etckey = etc_map(keyvalue);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
EndGuide(row, col);
|
||||
etckey = key;
|
||||
}
|
||||
|
|
@ -91,7 +81,7 @@ normal:
|
|||
break;
|
||||
case 's':
|
||||
if(!IsCflag())
|
||||
chbun = exec_syoukyo ();
|
||||
chbun = exec_shoukyo();
|
||||
break;
|
||||
case 'v':
|
||||
case 'd':
|
||||
|
|
@ -111,9 +101,9 @@ normal:
|
|||
if(!IsCflag())
|
||||
chbun = exec_toroku();
|
||||
break;
|
||||
case KEY_SYOUKYO:
|
||||
case KEY_SHOUKYO:
|
||||
if(!IsCflag())
|
||||
chbun = exec_syoukyo ();
|
||||
chbun = exec_shoukyo();
|
||||
break;
|
||||
case KEY_SJRC:
|
||||
if(IsCflag())
|
||||
|
|
@ -159,8 +149,7 @@ normal:
|
|||
return (KEY_NORMAL);
|
||||
}
|
||||
|
||||
Ssbun(flag)
|
||||
int flag;
|
||||
Ssbun(flag) int flag;
|
||||
{
|
||||
Conversion* cv;
|
||||
static short ScurBun, SpreBun;
|
||||
|
|
@ -178,8 +167,7 @@ int flag;
|
|||
}
|
||||
}
|
||||
|
||||
etc_map (key)
|
||||
int key;
|
||||
etc_map(key) int key;
|
||||
{
|
||||
extern int u_etckeys;
|
||||
extern int Uetckey[], Uetcval[];
|
||||
|
|
@ -196,7 +184,7 @@ int key;
|
|||
val = KEY_TOROKU;
|
||||
break;
|
||||
case KEY_MUHENKAN:
|
||||
val = KEY_SYOUKYO;
|
||||
val = KEY_SHOUKYO;
|
||||
break;
|
||||
case KEY_ETC:
|
||||
val = KEY_HELP;
|
||||
|
|
@ -217,8 +205,7 @@ int key;
|
|||
return (val);
|
||||
}
|
||||
|
||||
helplevel ()
|
||||
{
|
||||
helplevel() {
|
||||
wchar16_t wtmp[BUFFLENGTH];
|
||||
unsigned char mtmp[BUFFLENGTH];
|
||||
unsigned char tmp[BUFFLENGTH];
|
||||
|
|
@ -232,8 +219,7 @@ helplevel ()
|
|||
(void)wcstombs((char*)mtmp, WCMHelp, BUFFLENGTH);
|
||||
sprintf((char*)tmp, (char*)mtmp, "on");
|
||||
(void)mbstowcs(wtmp, (char*)tmp, BUFFLENGTH);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
HHlevel = 1;
|
||||
Hlevel = 1;
|
||||
(void)wcstombs((char*)mtmp, WCMHelp, BUFFLENGTH);
|
||||
|
|
@ -244,8 +230,7 @@ helplevel ()
|
|||
}
|
||||
|
||||
void
|
||||
disp_version (c)
|
||||
int c;
|
||||
disp_version(c) int c;
|
||||
{
|
||||
extern char *Version, *Copyright, *Date;
|
||||
char tmp[BUFFLENGTH];
|
||||
|
|
@ -262,31 +247,25 @@ int c;
|
|||
guide_print_pause(0, wtmp);
|
||||
}
|
||||
|
||||
exec_sjrc ()
|
||||
{
|
||||
exec_sjrc() {
|
||||
extern char RCfile[];
|
||||
char tmp[BUFFLENGTH];
|
||||
unsigned char SUCCorFAIL[BUFFLENGTH];
|
||||
wchar16_t wtmp[BUFFLENGTH];
|
||||
|
||||
|
||||
if(*RCfile == (char)NULL) {
|
||||
getsjrc();
|
||||
if (*RCfile == (char)NULL)
|
||||
{
|
||||
if(*RCfile == (char)NULL) {
|
||||
(void)wcstombs((char*)SUCCorFAIL, WCNOTHsjrc, BUFFLENGTH);
|
||||
sprintf((char*)tmp, (char*)SUCCorFAIL);
|
||||
(void)mbstowcs(wtmp, tmp, BUFFLENGTH);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
(void)wcstombs((char*)SUCCorFAIL, WCSUCCsjrc, BUFFLENGTH);
|
||||
sprintf(tmp, "%s %s ", RCfile, SUCCorFAIL);
|
||||
(void)mbstowcs(wtmp, tmp, BUFFLENGTH);
|
||||
}
|
||||
} else {
|
||||
if (setrc () == TRUE)
|
||||
{
|
||||
if(setrc() == TRUE) {
|
||||
(void)wcstombs((char*)SUCCorFAIL, WCSUCCsjrc, BUFFLENGTH);
|
||||
} else {
|
||||
(void)wcstombs((char*)SUCCorFAIL, WCFAILsjrc, BUFFLENGTH);
|
||||
|
|
@ -300,8 +279,7 @@ exec_sjrc ()
|
|||
static int weight = 3;
|
||||
static int seed = 100000;
|
||||
|
||||
change_weight ()
|
||||
{
|
||||
change_weight() {
|
||||
int c;
|
||||
char s[2];
|
||||
char tmp[BUFFLENGTH];
|
||||
|
|
@ -320,19 +298,16 @@ change_weight ()
|
|||
}
|
||||
}
|
||||
|
||||
UsecWeight (sw)
|
||||
int sw;
|
||||
UsecWeight(sw) int sw;
|
||||
{
|
||||
|
||||
|
||||
if(sw)
|
||||
return (seed);
|
||||
else
|
||||
return (seed * weight);
|
||||
}
|
||||
|
||||
dconnect(aflag)
|
||||
int aflag;
|
||||
dconnect(aflag) int aflag;
|
||||
{
|
||||
int err;
|
||||
char tmp[BUFFLENGTH];
|
||||
|
|
@ -346,7 +321,6 @@ int aflag;
|
|||
(void)mbstowcs(wtmp, tmp, BUFFLENGTH);
|
||||
guide_print_pause(0, wtmp);
|
||||
|
||||
|
||||
if(aflag && keyvalue == KEY_HENKAN) {
|
||||
if((err = sj3_autocon()) == 0) {
|
||||
(void)wcstombs((char*)dtmp, WCRserv_OK, BUFFLENGTH);
|
||||
|
|
@ -364,19 +338,16 @@ int aflag;
|
|||
return (dcflag);
|
||||
}
|
||||
|
||||
set_dcflag(flag)
|
||||
int flag;
|
||||
set_dcflag(flag) int flag;
|
||||
{
|
||||
dcflag = flag;
|
||||
}
|
||||
|
||||
IsDcflag()
|
||||
{
|
||||
IsDcflag() {
|
||||
return (dcflag);
|
||||
}
|
||||
|
||||
reconnect ()
|
||||
{
|
||||
reconnect() {
|
||||
int inc, err;
|
||||
char tmp[BUFFLENGTH], *hp;
|
||||
char newserv[SHORTLENGTH * 2], *nsp;
|
||||
|
|
@ -465,7 +436,8 @@ reconnect ()
|
|||
}
|
||||
|
||||
guide_print_pause(s1, s2)
|
||||
wchar16_t *s1, *s2;
|
||||
wchar16_t* s1,
|
||||
*s2;
|
||||
{
|
||||
int c;
|
||||
|
||||
|
|
@ -478,5 +450,3 @@ wchar16_t *s1, *s2;
|
|||
}
|
||||
return (c);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
243
eucmessage.c
243
eucmessage.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: eucmessage.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1994/12/09 11:27:08 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "wchar16.h"
|
||||
#include <locale.h>
|
||||
#include "kctype.h"
|
||||
|
|
@ -53,7 +45,6 @@ unsigned char *EucMessages[] = {
|
|||
(unsigned char*)"\301\264\245\242\245\353\245\325\245\241",
|
||||
(unsigned char*)"\310\276\245\242\245\353\245\325\245\241",
|
||||
|
||||
|
||||
(unsigned char*)" \312\321\264\271 \314\265\312\321 etc. \267\350\304\352 code \310\276\245\242 \301\264\245\242 \310\276\245\253 \301\264\245\253 \244\253\244\312",
|
||||
(unsigned char*)"\244\275\244\316\302\276\241\241\241\241\241\241\241\241\241\241\241\241\241\241",
|
||||
|
||||
|
|
@ -62,8 +53,6 @@ unsigned char *EucMessages[] = {
|
|||
(unsigned char*)"Help\241\241Mode",
|
||||
(unsigned char*)" \245\254\245\244\245\311\241\246\245\351\245\244\245\363 %s \244\313\244\312\244\352\244\336\244\267\244\277 ",
|
||||
|
||||
|
||||
|
||||
(unsigned char*)"ShiftJIS\241\241",
|
||||
(unsigned char*)"\241\241\243\305\243\325\243\303\241\241",
|
||||
(unsigned char*)"\243\305\243\325\243\303\312\344\275\365",
|
||||
|
|
@ -72,8 +61,6 @@ unsigned char *EucMessages[] = {
|
|||
(unsigned char*)"\241\241\241\241\266\350\305\300\241\241",
|
||||
(unsigned char*)"\266\350\305\300\241\241\312\344\275\365",
|
||||
|
||||
|
||||
|
||||
(unsigned char*)"\305\320\317\277",
|
||||
(unsigned char*)" \310\317\260\317\244\362\273\330\304\352\244\267\244\306\244\257\244\300\244\265\244\244 ",
|
||||
(unsigned char*)" \264\301\273\372 [%s] : \306\311\244\337\306\376\316\317 ",
|
||||
|
|
@ -93,7 +80,6 @@ unsigned char *EucMessages[] = {
|
|||
(unsigned char*)" \245\267\245\271\245\306\245\340\245\250\245\351\241\274\244\307\305\320\317\277\244\307\244\255\244\336\244\273\244\363",
|
||||
(unsigned char*)",",
|
||||
|
||||
|
||||
(unsigned char*)"\276\303\265\356",
|
||||
(unsigned char*)" \264\301\273\372 [%s] : \306\311\244\337 [%s] : \311\312\273\354 [%s]\244\362\276\303\265\356\244\267\244\336\244\267\244\277 ",
|
||||
(unsigned char*)" \273\330\304\352\244\265\244\354\244\277\306\311\244\337\241\246\264\301\273\372\244\317\305\320\317\277\244\265\244\354\244\306\244\244\244\336\244\273\244\363",
|
||||
|
|
@ -102,17 +88,12 @@ unsigned char *EucMessages[] = {
|
|||
(unsigned char*)" \244\263\244\316\264\301\273\372\312\270\273\372\316\363\244\317\276\303\265\356\244\307\244\255\244\336\244\273\244\363",
|
||||
(unsigned char*)" \245\267\245\271\245\306\245\340\245\250\245\351\241\274\244\307\276\303\265\356\244\307\244\255\244\336\244\273\244\363",
|
||||
|
||||
|
||||
|
||||
(unsigned char*)"\244\362\306\311\244\337\271\376\244\337\244\336\244\267\244\277",
|
||||
(unsigned char*)"\244\362\306\311\244\337\271\376\244\341\244\336\244\273\244\363\244\307\244\267\244\277",
|
||||
(unsigned char*)"\245\273\245\303\245\310\245\242\245\303\245\327\245\325\245\241\245\244\245\353\244\254\244\242\244\352\244\336\244\273\244\363 ",
|
||||
|
||||
|
||||
(unsigned char*)"Change weight (1-9) current weight %d ",
|
||||
|
||||
|
||||
|
||||
(unsigned char*)"\272\306\300\334\302\263 ",
|
||||
(unsigned char*)" \245\265\241\274\245\320\314\276 [%s] \244\362\273\330\304\352\244\267\244\306\244\257\244\300\244\265\244\244 ",
|
||||
(unsigned char*)" \245\265\241\274\245\320 [%s] \244\313\300\334\302\263\244\267\244\336\244\267\244\277 ",
|
||||
|
|
@ -122,7 +103,6 @@ unsigned char *EucMessages[] = {
|
|||
(unsigned char*)" ",
|
||||
(unsigned char*)" \302\263\244\261\244\336\244\271\244\253? y",
|
||||
|
||||
|
||||
(unsigned char*)"\245\265\241\274\245\320\241\274\244\254\273\340\244\313\244\336\244\267\244\277\241\243",
|
||||
(unsigned char*)"\245\265\241\274\245\320\241\274\244\313\300\334\302\263\272\321\244\307\244\271\241\243",
|
||||
(unsigned char*)"\245\265\241\274\245\320\241\274\244\330\244\316\300\334\302\263\244\313\274\272\307\324\244\267\244\336\244\267\244\277\241\243",
|
||||
|
|
@ -133,26 +113,21 @@ unsigned char *EucMessages[] = {
|
|||
(unsigned char*)"\263\330\275\254\245\325\245\241\245\244\245\353\244\316\300\270\300\256\244\313\274\272\307\324\244\267\244\336\244\267\244\277\241\243",
|
||||
(unsigned char*)"\263\330\275\254\245\325\245\241\245\244\245\353\244\362\245\252\241\274\245\327\245\363\244\307\244\255\244\336\244\273\244\363\241\243",
|
||||
|
||||
|
||||
|
||||
(unsigned char*)"\312\324\275\270 ",
|
||||
(unsigned char*)"\243\323\243\312\243\263\241\241\241\241\241\241\241\241\241\241\241\241\241\241",
|
||||
|
||||
(unsigned char*)" \312\324\275\270\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\336\244\271",
|
||||
(unsigned char*)"$$",
|
||||
|
||||
|
||||
(unsigned char*)"on",
|
||||
(unsigned char*)"off",
|
||||
|
||||
|
||||
(unsigned char*)"\314\276\273\354",
|
||||
(unsigned char*)"\314\276\273\372",
|
||||
(unsigned char*)"\314\276\301\260",
|
||||
(unsigned char*)"\303\317\314\276",
|
||||
(unsigned char*)"\245\265\312\321\306\260\273\354",
|
||||
|
||||
|
||||
(unsigned char*)"",
|
||||
(unsigned char*)"F1",
|
||||
(unsigned char*)"F2",
|
||||
|
|
@ -197,7 +172,7 @@ unsigned char *EucMessages[] = {
|
|||
(unsigned char*)"right",
|
||||
(unsigned char*)"left",
|
||||
(unsigned char*)"kaku",
|
||||
(unsigned char *)"syuku",
|
||||
(unsigned char*)"shuku",
|
||||
(unsigned char*)"edit",
|
||||
(unsigned char*)"toggle",
|
||||
(unsigned char*)"wrapback",
|
||||
|
|
@ -205,7 +180,7 @@ unsigned char *EucMessages[] = {
|
|||
(unsigned char*)"sjrc",
|
||||
(unsigned char*)"buffer",
|
||||
(unsigned char*)"toroku",
|
||||
(unsigned char *)"syoukyo",
|
||||
(unsigned char*)"shoukyo",
|
||||
(unsigned char*)"help",
|
||||
(unsigned char*)"ha-kettei",
|
||||
(unsigned char*)"flush",
|
||||
|
|
@ -218,7 +193,6 @@ unsigned char *EucMessages[] = {
|
|||
(unsigned char*)"reconnect",
|
||||
(unsigned char*)"kill",
|
||||
|
||||
|
||||
(unsigned char*)"key",
|
||||
(unsigned char*)"escape",
|
||||
(unsigned char*)"sjxkey",
|
||||
|
|
@ -270,18 +244,13 @@ unsigned char *EucMessages[] = {
|
|||
|
||||
};
|
||||
|
||||
|
||||
#define CURMESSAGES 182
|
||||
wchar16_t* WcMessages[CURMESSAGES];
|
||||
|
||||
#define CURWCVTKEY 29
|
||||
struct wcvtkey wcvtkeytbl[CURWCVTKEY];
|
||||
|
||||
|
||||
|
||||
int
|
||||
init_wcvtkey()
|
||||
{
|
||||
int init_wcvtkey() {
|
||||
int i = 0;
|
||||
|
||||
for(i = 0; i < CURWCVTKEY; i++) {
|
||||
|
|
@ -320,40 +289,59 @@ init_wcvtkey()
|
|||
|
||||
wchar16_t* comstr[KEY_OTHER];
|
||||
|
||||
|
||||
|
||||
int
|
||||
init_comstr()
|
||||
{
|
||||
comstr[0] = WCStart; comstr[1] = WCHenkan; comstr[2] = WCMuhen;
|
||||
comstr[3] = WCKettei; comstr[4] = WCHira; comstr[5] = WCHalpha;
|
||||
comstr[6] = WCZalpha; comstr[7] = WCHkata; comstr[8] = WCZkata;
|
||||
comstr[9] = WCCode; comstr[10] = WCEtc; comstr[11] = WCRightl;
|
||||
comstr[12] = WCLeftl; comstr[13] = WCKaku; comstr[14] = WCSyuku;
|
||||
comstr[15] = WCEdit; comstr[16] = WCToggle; comstr[17] = WCWrapback;
|
||||
comstr[18] = WCWrap; comstr[19] = WCSjrc; comstr[20] = WCBuffer;
|
||||
comstr[21] = WCToroku; comstr[22] = WCSyoukyo; comstr[23] = WCHelp;
|
||||
comstr[24] = WCHaKettei; comstr[25] = WCFlush; comstr[26] = WCDebug;
|
||||
comstr[27] = WCCancell; comstr[28] = WCSaihenkan; comstr[29] = WCIgnore;
|
||||
comstr[30] = WCTop; comstr[31] = WCEnd; comstr[32] = WCReconnect;
|
||||
comstr[33] = WCKill; comstr[34] = WCKara;
|
||||
int init_comstr() {
|
||||
comstr[0] = WCStart;
|
||||
comstr[1] = WCHenkan;
|
||||
comstr[2] = WCMuhen;
|
||||
comstr[3] = WCKettei;
|
||||
comstr[4] = WCHira;
|
||||
comstr[5] = WCHalpha;
|
||||
comstr[6] = WCZalpha;
|
||||
comstr[7] = WCHkata;
|
||||
comstr[8] = WCZkata;
|
||||
comstr[9] = WCCode;
|
||||
comstr[10] = WCEtc;
|
||||
comstr[11] = WCRightl;
|
||||
comstr[12] = WCLeftl;
|
||||
comstr[13] = WCKaku;
|
||||
comstr[14] = WCSyuku;
|
||||
comstr[15] = WCEdit;
|
||||
comstr[16] = WCToggle;
|
||||
comstr[17] = WCWrapback;
|
||||
comstr[18] = WCWrap;
|
||||
comstr[19] = WCSjrc;
|
||||
comstr[20] = WCBuffer;
|
||||
comstr[21] = WCToroku;
|
||||
comstr[22] = WCShoukyo;
|
||||
comstr[23] = WCHelp;
|
||||
comstr[24] = WCHaKettei;
|
||||
comstr[25] = WCFlush;
|
||||
comstr[26] = WCDebug;
|
||||
comstr[27] = WCCancell;
|
||||
comstr[28] = WCSaihenkan;
|
||||
comstr[29] = WCIgnore;
|
||||
comstr[30] = WCTop;
|
||||
comstr[31] = WCEnd;
|
||||
comstr[32] = WCReconnect;
|
||||
comstr[33] = WCKill;
|
||||
comstr[34] = WCKara;
|
||||
}
|
||||
|
||||
struct valtbl hin_val[5];
|
||||
|
||||
|
||||
|
||||
int
|
||||
init_hin_val()
|
||||
{
|
||||
hin_val[0].keyword = WCMeishi; hin_val[0].ivalue = SJ3_H_NRMNOUN;
|
||||
hin_val[1].keyword = WCMyouji; hin_val[1].ivalue = SJ3_H_LNAME;
|
||||
hin_val[2].keyword = WCNamae; hin_val[2].ivalue = SJ3_H_FNAME;
|
||||
hin_val[3].keyword = WCTimei; hin_val[3].ivalue = SJ3_H_LOCNAME;
|
||||
hin_val[4].keyword = WCSahen; hin_val[4].ivalue = SJ3_H_SILVERB;
|
||||
int init_hin_val() {
|
||||
hin_val[0].keyword = WCMeishi;
|
||||
hin_val[0].ivalue = SJ3_H_NRMNOUN;
|
||||
hin_val[1].keyword = WCMyouji;
|
||||
hin_val[1].ivalue = SJ3_H_LNAME;
|
||||
hin_val[2].keyword = WCNamae;
|
||||
hin_val[2].ivalue = SJ3_H_FNAME;
|
||||
hin_val[3].keyword = WCTimei;
|
||||
hin_val[3].ivalue = SJ3_H_LOCNAME;
|
||||
hin_val[4].keyword = WCSahen;
|
||||
hin_val[4].ivalue = SJ3_H_SILVERB;
|
||||
}
|
||||
|
||||
|
||||
extern int set_func(), set_etckeys(), set_intr(),
|
||||
set_delkey(), set_goto(), set_trap(), set_init_mode(),
|
||||
set_helpmenu(), set_defcode(), set_muhenkan(), set_muedit(),
|
||||
|
|
@ -363,70 +351,92 @@ extern int set_func(), set_etckeys(), set_intr(),
|
|||
#define CURFUNCS 29
|
||||
struct functbl funcs[CURFUNCS];
|
||||
|
||||
|
||||
|
||||
int
|
||||
init_funcs()
|
||||
{
|
||||
funcs[0].keyword = WCKey; funcs[0].func = set_func;
|
||||
funcs[1].keyword = WCEscape; funcs[1].func = set_func;
|
||||
funcs[2].keyword = WCEtckey; funcs[2].func = set_etckeys;
|
||||
funcs[3].keyword = WCIntr; funcs[3].func = set_intr;
|
||||
funcs[4].keyword = WCDelkey; funcs[4].func = set_delkey;
|
||||
funcs[5].keyword = WCSetnormal; funcs[5].func = set_goto;
|
||||
funcs[6].keyword = WCThroughnext; funcs[6].func = set_trap;
|
||||
funcs[7].keyword = WCInitialmode; funcs[7].func = set_init_mode;
|
||||
funcs[8].keyword = WCHelpmode; funcs[8].func = set_helpmenu;
|
||||
funcs[9].keyword = WCDefaultcode; funcs[9].func = set_defcode;
|
||||
funcs[10].keyword = WCMuhenkanmode; funcs[10].func = set_muhenkan;
|
||||
funcs[11].keyword = WCMuhenkaninedit; funcs[11].func = set_muedit;
|
||||
funcs[12].keyword = WCMuhenkantoggle; funcs[12].func = set_m_toggle;
|
||||
funcs[13].keyword = WCGuide; funcs[13].func = set_guide;
|
||||
funcs[14].keyword = WCForkshell; funcs[14].func = set_forkshell;
|
||||
funcs[15].keyword = WCExecshell; funcs[15].func = set_forkshell;
|
||||
funcs[16].keyword = WCBstudy; funcs[16].func = set_bstudy;
|
||||
funcs[17].keyword = WCSilent; funcs[17].func = set_silent;
|
||||
funcs[18].keyword = WCFlushafterconversion; funcs[18].func = set_flush_conversion;
|
||||
funcs[19].keyword = WCRkerrbell; funcs[19].func = set_rkebell;
|
||||
funcs[20].keyword = WCServer; funcs[20].func = set_server;
|
||||
funcs[21].keyword = WCDictionary; funcs[21].func = set_dict;
|
||||
funcs[22].keyword = NULL; funcs[22].func = NULL;
|
||||
int init_funcs() {
|
||||
funcs[0].keyword = WCKey;
|
||||
funcs[0].func = set_func;
|
||||
funcs[1].keyword = WCEscape;
|
||||
funcs[1].func = set_func;
|
||||
funcs[2].keyword = WCEtckey;
|
||||
funcs[2].func = set_etckeys;
|
||||
funcs[3].keyword = WCIntr;
|
||||
funcs[3].func = set_intr;
|
||||
funcs[4].keyword = WCDelkey;
|
||||
funcs[4].func = set_delkey;
|
||||
funcs[5].keyword = WCSetnormal;
|
||||
funcs[5].func = set_goto;
|
||||
funcs[6].keyword = WCThroughnext;
|
||||
funcs[6].func = set_trap;
|
||||
funcs[7].keyword = WCInitialmode;
|
||||
funcs[7].func = set_init_mode;
|
||||
funcs[8].keyword = WCHelpmode;
|
||||
funcs[8].func = set_helpmenu;
|
||||
funcs[9].keyword = WCDefaultcode;
|
||||
funcs[9].func = set_defcode;
|
||||
funcs[10].keyword = WCMuhenkanmode;
|
||||
funcs[10].func = set_muhenkan;
|
||||
funcs[11].keyword = WCMuhenkaninedit;
|
||||
funcs[11].func = set_muedit;
|
||||
funcs[12].keyword = WCMuhenkantoggle;
|
||||
funcs[12].func = set_m_toggle;
|
||||
funcs[13].keyword = WCGuide;
|
||||
funcs[13].func = set_guide;
|
||||
funcs[14].keyword = WCForkshell;
|
||||
funcs[14].func = set_forkshell;
|
||||
funcs[15].keyword = WCExecshell;
|
||||
funcs[15].func = set_forkshell;
|
||||
funcs[16].keyword = WCBstudy;
|
||||
funcs[16].func = set_bstudy;
|
||||
funcs[17].keyword = WCSilent;
|
||||
funcs[17].func = set_silent;
|
||||
funcs[18].keyword = WCFlushafterconversion;
|
||||
funcs[18].func = set_flush_conversion;
|
||||
funcs[19].keyword = WCRkerrbell;
|
||||
funcs[19].func = set_rkebell;
|
||||
funcs[20].keyword = WCServer;
|
||||
funcs[20].func = set_server;
|
||||
funcs[21].keyword = WCDictionary;
|
||||
funcs[21].func = set_dict;
|
||||
funcs[22].keyword = NULL;
|
||||
funcs[22].func = NULL;
|
||||
}
|
||||
|
||||
struct valtbl mode_val[5];
|
||||
|
||||
|
||||
|
||||
int
|
||||
init_mode_val()
|
||||
{
|
||||
mode_val[0].keyword = WCHalpha; mode_val[0].ivalue = MODE_HALPHA;
|
||||
mode_val[1].keyword = WCZalpha; mode_val[1].ivalue = MODE_ZALPHA;
|
||||
mode_val[2].keyword = WCHkata; mode_val[2].ivalue = MODE_HKATA;
|
||||
mode_val[3].keyword = WCZkata; mode_val[3].ivalue = MODE_ZKATA;
|
||||
mode_val[4].keyword = WCHira; mode_val[4].ivalue = MODE_ZHIRA;
|
||||
int init_mode_val() {
|
||||
mode_val[0].keyword = WCHalpha;
|
||||
mode_val[0].ivalue = MODE_HALPHA;
|
||||
mode_val[1].keyword = WCZalpha;
|
||||
mode_val[1].ivalue = MODE_ZALPHA;
|
||||
mode_val[2].keyword = WCHkata;
|
||||
mode_val[2].ivalue = MODE_HKATA;
|
||||
mode_val[3].keyword = WCZkata;
|
||||
mode_val[3].ivalue = MODE_ZKATA;
|
||||
mode_val[4].keyword = WCHira;
|
||||
mode_val[4].ivalue = MODE_ZHIRA;
|
||||
}
|
||||
|
||||
struct valtbl code_val[8];
|
||||
|
||||
|
||||
|
||||
int
|
||||
init_code_val()
|
||||
{
|
||||
code_val[0].keyword = WCShiftjis; code_val[0].ivalue = CODE_SJIS;
|
||||
code_val[1].keyword = WCSjis; code_val[1].ivalue = CODE_SJIS;
|
||||
code_val[2].keyword = WCEuc; code_val[2].ivalue = CODE_EUC;
|
||||
code_val[3].keyword = WCEuc2; code_val[3].ivalue = CODE_EUC2;
|
||||
code_val[4].keyword = WCJis; code_val[4].ivalue = CODE_JIS;
|
||||
code_val[5].keyword = WCJis2; code_val[5].ivalue = CODE_JIS2;
|
||||
code_val[6].keyword = WCKuten; code_val[6].ivalue = CODE_KUTEN;
|
||||
code_val[7].keyword = WCKuten2; code_val[7].ivalue = CODE_KUTEN2;
|
||||
int init_code_val() {
|
||||
code_val[0].keyword = WCShiftjis;
|
||||
code_val[0].ivalue = CODE_SJIS;
|
||||
code_val[1].keyword = WCSjis;
|
||||
code_val[1].ivalue = CODE_SJIS;
|
||||
code_val[2].keyword = WCEuc;
|
||||
code_val[2].ivalue = CODE_EUC;
|
||||
code_val[3].keyword = WCEuc2;
|
||||
code_val[3].ivalue = CODE_EUC2;
|
||||
code_val[4].keyword = WCJis;
|
||||
code_val[4].ivalue = CODE_JIS;
|
||||
code_val[5].keyword = WCJis2;
|
||||
code_val[5].ivalue = CODE_JIS2;
|
||||
code_val[6].keyword = WCKuten;
|
||||
code_val[6].ivalue = CODE_KUTEN;
|
||||
code_val[7].keyword = WCKuten2;
|
||||
code_val[7].ivalue = CODE_KUTEN2;
|
||||
}
|
||||
|
||||
int
|
||||
init_messages()
|
||||
{
|
||||
int init_messages() {
|
||||
#define LOCALELEN 20
|
||||
char cur_loc[LOCALELEN];
|
||||
char* loc;
|
||||
|
|
@ -487,4 +497,3 @@ Fail:
|
|||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
|
|||
45
file.c
45
file.c
|
|
@ -27,13 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: file.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1995/02/03 07:38:32 $
|
||||
*/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
|
@ -50,8 +43,7 @@ typedef struct filelist {
|
|||
static FileList* flist = NULL;
|
||||
|
||||
static char*
|
||||
get_fname(FILE* fp)
|
||||
{
|
||||
get_fname(FILE* fp) {
|
||||
FileList* p;
|
||||
|
||||
for(p = flist; p; p = p->next)
|
||||
|
|
@ -59,9 +51,7 @@ get_fname(FILE* fp)
|
|||
return "some file";
|
||||
}
|
||||
|
||||
FILE*
|
||||
Fopen(char* filename, char* type)
|
||||
{
|
||||
FILE* Fopen(char* filename, char* type) {
|
||||
FILE* fp;
|
||||
FileList* fl;
|
||||
|
||||
|
|
@ -79,9 +69,7 @@ Fopen(char* filename, char* type)
|
|||
return fp;
|
||||
}
|
||||
|
||||
void
|
||||
Fclose(FILE* fp)
|
||||
{
|
||||
void Fclose(FILE* fp) {
|
||||
FileList *p, *q;
|
||||
|
||||
if(fclose(fp) == EOF) {
|
||||
|
|
@ -102,24 +90,19 @@ Fclose(FILE* fp)
|
|||
}
|
||||
}
|
||||
|
||||
int
|
||||
Fseek(FILE* fp, long ofs, int ptr)
|
||||
{
|
||||
int Fseek(FILE* fp, long ofs, int ptr) {
|
||||
if(fseek(fp, ofs, ptr) == 0) return 0;
|
||||
|
||||
fprintf(stderr, "Seek error in %s\n", get_fname(fp));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
long
|
||||
Ftell(FILE* fp)
|
||||
{
|
||||
long Ftell(FILE* fp) {
|
||||
return ftell(fp);
|
||||
}
|
||||
|
||||
off_t /* XXX: just looked in FreeBSD's sys/stat.h, need to check SUS spec. */
|
||||
Fsize(char* filename)
|
||||
{
|
||||
Fsize(char* filename) {
|
||||
struct stat buf;
|
||||
|
||||
#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
|
|
@ -132,32 +115,24 @@ Fsize(char* filename)
|
|||
exit(1);
|
||||
}
|
||||
|
||||
int
|
||||
Fread(char* p, int s, int n, FILE* fp)
|
||||
{
|
||||
int Fread(char* p, int s, int n, FILE* fp) {
|
||||
if(fread(p, s, n, fp) == n) return n;
|
||||
|
||||
fprintf(stderr, "Read error in %s\n", get_fname(fp));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
int
|
||||
Fwrite(char* p, int s, int n, FILE* fp)
|
||||
{
|
||||
int Fwrite(char* p, int s, int n, FILE* fp) {
|
||||
if(fwrite(p, s, n, fp) == n) return n;
|
||||
|
||||
fprintf(stderr, "Write error in %s\n", get_fname(fp));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
int
|
||||
Fgetc(FILE* fp)
|
||||
{
|
||||
int Fgetc(FILE* fp) {
|
||||
return fgetc(fp);
|
||||
}
|
||||
|
||||
void
|
||||
Fflush(FILE* fp)
|
||||
{
|
||||
void Fflush(FILE* fp) {
|
||||
fflush(fp);
|
||||
}
|
||||
|
|
|
|||
2
format.sh
Executable file
2
format.sh
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
clang-format --verbose -i *.c *.h
|
||||
72
funckey.c
72
funckey.c
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: funckey.c,v $
|
||||
* $SonyRevision: 1.3 $
|
||||
* $SonyDate: 1997/01/23 11:20:53 $
|
||||
*
|
||||
* $Id: funckey.c,v 1.3 2004/07/04 08:38:33 hiroo Exp $
|
||||
*/
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include "wchar16.h"
|
||||
#include "sj2.h"
|
||||
|
|
@ -75,8 +66,7 @@ struct cvtkey {
|
|||
{"Down", ""},
|
||||
{"Right", ""},
|
||||
{"Left", ""},
|
||||
{ NULL, "" }
|
||||
};
|
||||
{NULL, ""}};
|
||||
|
||||
extern struct wcvtkey wcvtkeytbl[];
|
||||
|
||||
|
|
@ -93,7 +83,6 @@ int u_etckeys = 0;
|
|||
int Uetckey[ETCKEYS];
|
||||
int Uetcval[ETCKEYS];
|
||||
|
||||
|
||||
extern wchar16_t* comstr[];
|
||||
|
||||
int comstrvalue[KEY_OTHER] = {
|
||||
|
|
@ -104,18 +93,14 @@ int comstrvalue[KEY_OTHER] = {
|
|||
KEY_LEFT, KEY_UP, KEY_DOWN,
|
||||
KEY_EDIT, KEY_TOGGLE, KEY_WRAPBACK,
|
||||
KEY_WRAP, KEY_SJRC, KEY_BUFFER,
|
||||
KEY_TOROKU, KEY_SYOUKYO, KEY_HELP,
|
||||
KEY_TOROKU, KEY_SHOUKYO, KEY_HELP,
|
||||
KEY_HA_KET, KEY_FLUSH, KEY_DEBUG,
|
||||
KEY_CANCEL, KEY_RECONV, KEY_IGNORE,
|
||||
KEY_TOP, KEY_END, KEY_RECONNECT,
|
||||
KEY_KILL,
|
||||
KEY_OTHER
|
||||
};
|
||||
KEY_OTHER};
|
||||
|
||||
|
||||
void
|
||||
mk_cvtkey(char* term)
|
||||
{
|
||||
void mk_cvtkey(char* term) {
|
||||
char* p;
|
||||
char line[MAXLINE], rstr[16];
|
||||
FILE* fd;
|
||||
|
|
@ -157,9 +142,7 @@ mk_cvtkey(char* term)
|
|||
}
|
||||
}
|
||||
|
||||
char *
|
||||
getkey2(char* istr, char* ostr)
|
||||
{
|
||||
char* getkey2(char* istr, char* ostr) {
|
||||
char* p;
|
||||
int i;
|
||||
|
||||
|
|
@ -182,17 +165,11 @@ getkey2(char* istr, char* ostr)
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
clear_ukeys (void)
|
||||
{
|
||||
void clear_ukeys(void) {
|
||||
Unumber = 0;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
set_func (struct wordent word[])
|
||||
{
|
||||
void set_func(struct wordent word[]) {
|
||||
int i, num;
|
||||
wchar16_t * p, *s;
|
||||
struct wcvtkey* ckeyp;
|
||||
|
|
@ -229,10 +206,8 @@ set_func (struct wordent word[])
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
wchar16_t
|
||||
eval_keys (wchar16_t* s, wchar16_t* p)
|
||||
{
|
||||
eval_keys(wchar16_t* s, wchar16_t* p) {
|
||||
wchar16_t c, i;
|
||||
|
||||
if(wslen(s) > SEQLEN)
|
||||
|
|
@ -255,30 +230,21 @@ eval_keys (wchar16_t* s, wchar16_t* p)
|
|||
return (i);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
clear_key (void)
|
||||
{
|
||||
void clear_key(void) {
|
||||
clear_commkeys();
|
||||
clear_etckeys();
|
||||
clear_ukeys();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
clear_commkeys (void)
|
||||
{
|
||||
void clear_commkeys(void) {
|
||||
comnumber = 0;
|
||||
}
|
||||
|
||||
int
|
||||
eval_key (wchar16_t* s)
|
||||
{
|
||||
int eval_key(wchar16_t* s) {
|
||||
wchar16_t c;
|
||||
|
||||
c = *s;
|
||||
|
||||
|
||||
if(c == '^') {
|
||||
c = s[1];
|
||||
if('@' <= c && c <= '_')
|
||||
|
|
@ -287,24 +253,17 @@ eval_key (wchar16_t* s)
|
|||
return (DEL);
|
||||
}
|
||||
|
||||
|
||||
else if(c <= '~')
|
||||
return (c);
|
||||
|
||||
return (-1);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
clear_etckeys (void)
|
||||
{
|
||||
void clear_etckeys(void) {
|
||||
u_etckeys = 0;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
set_etckeys (struct wordent word[])
|
||||
{
|
||||
int set_etckeys(struct wordent word[]) {
|
||||
int i;
|
||||
|
||||
if(u_etckeys >= ETCKEYS)
|
||||
|
|
@ -329,10 +288,8 @@ set_etckeys (struct wordent word[])
|
|||
return (0);
|
||||
}
|
||||
|
||||
|
||||
wchar16_t
|
||||
parse_command (wchar16_t* s, int* count)
|
||||
{
|
||||
parse_command(wchar16_t* s, int* count) {
|
||||
extern wchar16_t pars_seq[];
|
||||
extern int pars_n;
|
||||
int i, j;
|
||||
|
|
@ -352,4 +309,3 @@ parse_command (wchar16_t* s, int* count)
|
|||
}
|
||||
return (KEY_NORMAL);
|
||||
}
|
||||
|
||||
|
|
|
|||
26
functbl.c
26
functbl.c
|
|
@ -27,52 +27,36 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: functbl.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:46 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include "sj_rename.h"
|
||||
#include "sj_func.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
VFuncNT cvtnum_func[] = {
|
||||
num_type00, num_type01, num_type02, num_type03,
|
||||
num_type04, num_type05, num_type06, num_type07,
|
||||
num_type08, num_type09, num_type10, num_type11,
|
||||
num_type12, num_type13, num_type14
|
||||
};
|
||||
num_type12, num_type13, num_type14};
|
||||
|
||||
UCPFuncGK getkan_func[] = {
|
||||
getkan_norm, getkan_norm, getkan_hira, getkan_kata,
|
||||
getkan_knj, getkan_ofs, getkan_norm, getkan_none,
|
||||
getkan_norm, getkan_norm, getkan_hira, getkan_kata,
|
||||
getkan_knj, getkan_ofs, getkan_norm, getkan_none
|
||||
};
|
||||
getkan_knj, getkan_ofs, getkan_norm, getkan_none};
|
||||
|
||||
IFuncSetj setjrec_func[] = {
|
||||
setj_norm2, setj_norm2, setj_norm1, setj_norm1,
|
||||
setj_knj, setj_ofs, setj_norm2, setj_atrb,
|
||||
setj_norm2, setj_norm2, setj_norm1, setj_norm1,
|
||||
setj_knj, setj_ofs, setj_norm2, setj_atrb
|
||||
};
|
||||
setj_knj, setj_ofs, setj_norm2, setj_atrb};
|
||||
|
||||
IFuncHira hiraknj_func[] = {
|
||||
hiraknj_hira, hiraknj_norm, hiraknj_hask, hiraknj_kask,
|
||||
hiraknj_knj, hiraknj_ofs, hiraknj_norm, hiraknj_atrb,
|
||||
hiraknj_hira, hiraknj_norm, hiraknj_hask, hiraknj_kask,
|
||||
hiraknj_knj, hiraknj_ofs, hiraknj_norm, hiraknj_atrb
|
||||
};
|
||||
|
||||
hiraknj_knj, hiraknj_ofs, hiraknj_norm, hiraknj_atrb};
|
||||
|
||||
UCPFuncMK makekan_func[] = {
|
||||
makekan_norm, makekan_norm, makekan_1byte, makekan_1byte,
|
||||
makekan_knj, makekan_ofs, makekan_norm, makekan_none,
|
||||
makekan_norm, makekan_norm, makekan_1byte, makekan_1byte,
|
||||
makekan_knj, makekan_ofs, makekan_norm, makekan_none
|
||||
};
|
||||
makekan_knj, makekan_ofs, makekan_norm, makekan_none};
|
||||
|
|
|
|||
73
fuzoku.c
73
fuzoku.c
|
|
@ -27,28 +27,14 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: fuzoku.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:47 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#include "sj_kcnv.h"
|
||||
#include "sj_hinsi.h"
|
||||
#include "sj_hinshi.h"
|
||||
#include "sj_right.h"
|
||||
#include "sj_yomi.h"
|
||||
|
||||
|
||||
|
||||
CLREC* argclrec();
|
||||
int terminate();
|
||||
|
||||
|
||||
|
||||
static int fzkstrcmp(yptr, fzkp, saml)
|
||||
unsigned char* yptr;
|
||||
unsigned char* fzkp;
|
||||
|
|
@ -58,20 +44,15 @@ int *saml;
|
|||
|
||||
asklen = FzkAskLen(fzkp);
|
||||
|
||||
|
||||
if(*saml < asklen) return CONT;
|
||||
|
||||
|
||||
if(*saml > asklen) return OVER;
|
||||
|
||||
|
||||
nkrlen = FzkNkrLen(fzkp);
|
||||
|
||||
|
||||
yptr += asklen;
|
||||
fzkp++;
|
||||
|
||||
|
||||
while(nkrlen--) {
|
||||
if(*yptr > *fzkp)
|
||||
return CONT;
|
||||
|
|
@ -91,78 +72,69 @@ int *saml;
|
|||
return MATCH;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void setclrec(jrec, yptr, right)
|
||||
JREC* jrec;
|
||||
unsigned char* yptr;
|
||||
TypeCnct right;
|
||||
{
|
||||
CLREC* new;
|
||||
TypeGram hinsi;
|
||||
TypeGram hinshi;
|
||||
int len;
|
||||
|
||||
|
||||
if(!(len = yptr - cnvstart)) return;
|
||||
|
||||
|
||||
if(len > MaxClInputLen) return;
|
||||
|
||||
|
||||
if(!(new = argclrec(len))) return;
|
||||
|
||||
|
||||
new->jnode = jrec;
|
||||
new->gobiln = gobilen;
|
||||
new->right = right;
|
||||
new->fzk_ka = fzk_ka_flg;
|
||||
(jrec->count)++;
|
||||
|
||||
hinshi = jrec->hinshi;
|
||||
|
||||
hinsi = jrec -> hinsi;
|
||||
|
||||
if (hinsi >= DO_SAHEN && hinsi <= SP_KA_ONB)
|
||||
if(hinshi >= DO_SAHEN && hinshi <= SP_KA_ONB)
|
||||
new->kubun = K_DOUSHI;
|
||||
|
||||
else if ((hinsi >= KEIYOUSI_1 && hinsi <= KE_DOUSI_9) ||
|
||||
(hinsi == SP_KEIYOUSI)){
|
||||
if(right == R_FZKMEISI)
|
||||
else if((hinshi >= KEIYOUSHI_1 && hinshi <= KE_DOUSHI_9) ||
|
||||
(hinshi == SP_KEIYOUSHI)) {
|
||||
if(right == R_FZKMEISHI)
|
||||
new->kubun = K_TAIGEN;
|
||||
else
|
||||
new->kubun = K_YOUGEN;
|
||||
}
|
||||
|
||||
else if (hinsi == RENTAISI)
|
||||
new -> kubun = K_RENTAISI;
|
||||
else if(hinshi == RENTAISHI)
|
||||
new->kubun = K_RENTAISHI;
|
||||
|
||||
else if ((hinsi >= FUKUSI_1 && hinsi <= FUKUSI_9) ||
|
||||
(hinsi == SP_FUKUSI))
|
||||
new -> kubun = K_FUKUSI;
|
||||
else if((hinshi >= FUKUSHI_1 && hinshi <= FUKUSHI_9) ||
|
||||
(hinshi == SP_FUKUSHI))
|
||||
new->kubun = K_FUKUSHI;
|
||||
|
||||
else if (hinsi == SETUZOKU || hinsi==KANDOUSI ||
|
||||
hinsi == TANKANJI || hinsi==AISATU)
|
||||
else if(hinshi == SETSUZOKU || hinshi == KANDOUSHI ||
|
||||
hinshi == TANKANJI || hinshi == AISATSU)
|
||||
new->kubun = K_SONOTA;
|
||||
|
||||
else if(gobilen) {
|
||||
if (hinsi >= MEISI_5 && hinsi <= MEISI_7)
|
||||
if(hinshi >= MEISHI_5 && hinshi <= MEISHI_7)
|
||||
new->kubun = K_DOUSHI;
|
||||
|
||||
else if (hinsi == D_MEISI_4)
|
||||
else if(hinshi == D_MEISHI_4)
|
||||
new->kubun = K_DOUSHI;
|
||||
|
||||
else if (hinsi == SETUBI_7 || hinsi == SETUBI_8)
|
||||
else if(hinshi == SETSUBI_7 || hinshi == SETSUBI_8)
|
||||
new->kubun = K_DOUSHI;
|
||||
|
||||
|
||||
else if (hinsi == D_MEISI_5)
|
||||
else if(hinshi == D_MEISHI_5)
|
||||
new->kubun = K_YOUGEN;
|
||||
|
||||
else if (hinsi == SETUBI_5 || hinsi == SETUBI_6)
|
||||
else if(hinshi == SETSUBI_5 || hinshi == SETSUBI_6)
|
||||
new->kubun = K_YOUGEN;
|
||||
else
|
||||
new->kubun = K_TAIGEN;
|
||||
}
|
||||
else if (hinsi >= MEISI_5 && hinsi <= MEISI_7) {
|
||||
} else if(hinshi >= MEISHI_5 && hinshi <= MEISHI_7) {
|
||||
if(right >= R_I && right <= R_ITADAKE)
|
||||
new->kubun = K_DOUSHI;
|
||||
|
||||
|
|
@ -176,8 +148,7 @@ TypeCnct right;
|
|||
new->kubun = K_DOUSHI;
|
||||
else
|
||||
new->kubun = K_TAIGEN;
|
||||
}
|
||||
else
|
||||
} else
|
||||
new->kubun = K_TAIGEN;
|
||||
}
|
||||
|
||||
|
|
@ -253,7 +224,6 @@ int level;
|
|||
|
||||
if(len) return;
|
||||
|
||||
|
||||
if(!(fzk = Fzkadr(*yptr - _XA))) return;
|
||||
|
||||
yptr++;
|
||||
|
|
@ -274,7 +244,6 @@ int level;
|
|||
else if((cmp != MATCH) || isdpnd(*(yptr + len)))
|
||||
continue;
|
||||
|
||||
|
||||
fzktbl[fzkcount].yomip = yptr - 1;
|
||||
fzktbl[fzkcount].fzkp = fzk;
|
||||
fzkcount++;
|
||||
|
|
|
|||
186
fzkyomi.c
186
fzkyomi.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: fzkyomi.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:48 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "const.h"
|
||||
#include "sj_rename.h"
|
||||
#include "sj_typedef.h"
|
||||
|
|
@ -45,8 +37,7 @@
|
|||
static unsigned char fzk_wo[] = {
|
||||
(0 << 5) + 0, L_WO, R_WO,
|
||||
(0 << 5) + 0, L_WO_S, R_WO_S,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_xtu[] = {
|
||||
(0 << 5) + 1, _KE, L_KKE, R_SHUUJO,
|
||||
|
|
@ -57,7 +48,7 @@ static unsigned char fzk_xtu[] = {
|
|||
(4 << 5) + 2, _RO, _U, L_TTARASII, R_KAROU,
|
||||
(3 << 5) + 1, _KU, L_TTARASII, R_KRENYOU,
|
||||
(3 << 5) + 2, _KE, _RE, L_TTARASII, R_KATEI1,
|
||||
(3<<5) + 1, _SA, L_TTARASII, R_FZKMEISI,
|
||||
(3 << 5) + 1, _SA, L_TTARASII, R_FZKMEISHI,
|
||||
(0 << 5) + 1, _TE, L_TTE1, R_TTE1,
|
||||
(1 << 5) + 0, L_TTE2, R_TTE2,
|
||||
(0 << 5) + 3, _PA, _NA, _SI, L_PPANASI, R_PPANASI,
|
||||
|
|
@ -66,8 +57,7 @@ static unsigned char fzk_xtu[] = {
|
|||
(2 << 5) + 2, _RO, _U, L_PPOI, R_KAROU,
|
||||
(1 << 5) + 1, _KU, L_PPOI, R_KRENYOU,
|
||||
(1 << 5) + 2, _KE, _RE, L_PPOI, R_KATEI1,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_a[] = {
|
||||
(0 << 5) + 1, _GE, L_YOUGEN, R_AGE,
|
||||
|
|
@ -85,8 +75,7 @@ static unsigned char fzk_a[] = {
|
|||
(1 << 5) + 0, L_ARE2, R_KATEI2,
|
||||
(1 << 5) + 3, _BA, _KO, _SO, L_ARE1, R_CUT,
|
||||
(0 << 5) + 2, _RO, _U, L_AROU, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_i[] = {
|
||||
(0 << 5) + 0, L_IRU, R_I,
|
||||
|
|
@ -108,22 +97,19 @@ static unsigned char fzk_i[] = {
|
|||
(0 << 5) + 1, _RU, L_IRU, R_SHUUSI,
|
||||
(0 << 5) + 1, _RE, L_IRU, R_KATEI2,
|
||||
(0 << 5) + 1, _RO, L_IRU, R_MEIREI1,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_u[] = {
|
||||
(0 << 5) + 1, _E, L_UE, R_UE,
|
||||
(0 << 5) + 1, _TI, L_UTI, R_UTI,
|
||||
(0 << 5) + 1, _RU, L_ERU, R_SHUUSI,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_e[] = {
|
||||
(0 << 5) + 0, L_ERU, R_E,
|
||||
(0 << 5) + 1, _RU, L_ERU, R_SHUUSI,
|
||||
(0 << 5) + 1, _RE, L_ERU, R_KATEI3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_o[] = {
|
||||
(0 << 5) + 1, _I, L_YOUGEN, R_ONBIN8,
|
||||
|
|
@ -138,8 +124,7 @@ static unsigned char fzk_o[] = {
|
|||
(0 << 5) + 1, _RI, L_ORI, R_ORI1,
|
||||
(1 << 5) + 0, L_YOUGEN, R_ORI2,
|
||||
(0 << 5) + 1, _RE, L_YOUGEN, R_KAMEI,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ka[] = {
|
||||
(0 << 5) + 0 + 8, L_KA1, R_KA1,
|
||||
|
|
@ -163,8 +148,7 @@ static unsigned char fzk_ka[] = {
|
|||
(1 << 5) + 0, L_KARA2, R_KARA2,
|
||||
(1 << 5) + 1, _ZU, L_KARAZU, R_ZU,
|
||||
(1 << 5) + 1, _NU, L_KARAZU, R_NU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ga[] = {
|
||||
(0 << 5) + 0, L_GA1, R_GA1,
|
||||
|
|
@ -183,14 +167,12 @@ static unsigned char fzk_ga[] = {
|
|||
(2 << 5) + 1, _RA, L_GATIDA, R_KATEI1,
|
||||
(1 << 5) + 1, _NI, L_GATIDA, R_DRENYOU2,
|
||||
(0 << 5) + 2, _TE, _RA, L_GATERA, R_GATERA,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ki[] = {
|
||||
(0 << 5) + 0, L_YOUGEN, R_FZKKI,
|
||||
(0 << 5) + 1, _RI, L_KIRI, R_KIRI,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ku[] = {
|
||||
(0 << 5) + 2, _SE, _NI, L_KUSENI, R_KUSENI,
|
||||
|
|
@ -205,38 +187,33 @@ static unsigned char fzk_ku[] = {
|
|||
(0 << 5) + 1, _RE, L_YOUGEN, R_KURE,
|
||||
(1 << 5) + 1, _RU, L_YOUGEN, R_SHUUSI,
|
||||
(1 << 5) + 1, _RE, L_YOUGEN, R_KATEI3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_gu[] = {
|
||||
(0 << 5) + 2, _RA, _I, L_KURAI, R_KURAI,
|
||||
(0 << 5) + 2, _RU, _MI, L_GURUMI, R_GURUMI,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ke[] = {
|
||||
(0 << 5) + 1, _DO, L_KEDO, R_KEDO,
|
||||
(1 << 5) + 1, _MO, L_KEDO, R_KEDO,
|
||||
(0 << 5) + 2, _RE, _DO, L_KEDO, R_KEDO,
|
||||
(2 << 5) + 1, _MO, L_KEDO, R_KEDO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ko[] = {
|
||||
(0 << 5) + 0, L_YOUGEN, R_KO,
|
||||
(0 << 5) + 1, _I, L_YOUGEN, R_MEIREI1,
|
||||
(0 << 5) + 1, _SO, L_KOSO, R_KOSO,
|
||||
(0 << 5) + 1, _TO, L_KOTO, R_KOTO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_go[] = {
|
||||
(0 << 5) + 2, _ZA, _I, L_GOZAI, R_GOZAI,
|
||||
(0 << 5) + 2, _TO, _KI, L_GOTOSI, R_GOTOKI,
|
||||
(1 << 5) + 1, _KU, L_GOTOSI, R_GOTOKU,
|
||||
(1 << 5) + 1, _SI, L_GOTOSI, R_GOTOSI,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_sa[] = {
|
||||
(0 << 5) + 0, L_SA1, R_MIZEN1,
|
||||
|
|
@ -247,14 +224,12 @@ static unsigned char fzk_sa[] = {
|
|||
(1 << 5) + 1, _RU, L_SASERU, R_SHUUSI,
|
||||
(1 << 5) + 1, _RE, L_SASERU, R_KATEI2,
|
||||
(1 << 5) + 1, _RO, L_SASERU, R_MEIREI1,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_za[] = {
|
||||
(0 << 5) + 1, _RU, L_ZARU, R_ZARU,
|
||||
(0 << 5) + 1, _RE, L_ZARU, R_KATEI2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_si[] = {
|
||||
(0 << 5) + 0, L_SI1, R_SI1,
|
||||
|
|
@ -269,8 +244,7 @@ static unsigned char fzk_si[] = {
|
|||
(1 << 5) + 1, _XTU, L_YOUGEN, R_ONBIN6,
|
||||
(1 << 5) + 1, _WA, L_YOUGEN, R_MIZEN5,
|
||||
(0 << 5) + 1, _RO, L_SIRO, R_MEIREI1,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ji[] = {
|
||||
(0 << 5) + 2, _MA, _I, L_JIMAU, R_IKI,
|
||||
|
|
@ -286,8 +260,7 @@ static unsigned char fzk_ji[] = {
|
|||
(1 << 5) + 2, _O, _U, L_JYAU, R_AROU,
|
||||
(1 << 5) + 1, _XTU, L_JYAU, R_ONBIN6,
|
||||
(1 << 5) + 1, _WA, L_JYAU, R_MIZEN5,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_su[] = {
|
||||
(0 << 5) + 1, _GI, L_SUGIRU, R_SUGI,
|
||||
|
|
@ -300,8 +273,7 @@ static unsigned char fzk_su[] = {
|
|||
(0 << 5) + 1, _RA, L_SURA, R_SURA,
|
||||
(0 << 5) + 1, _RU, L_SURU, R_SHUUSI,
|
||||
(0 << 5) + 1, _RE, L_SURE, R_KATEI2,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_zu[] = {
|
||||
(0 << 5) + 0, L_ZU, R_ZU,
|
||||
|
|
@ -309,8 +281,7 @@ static unsigned char fzk_zu[] = {
|
|||
(0 << 5) + 2, _NI, _I, L_ZU, R_I,
|
||||
(2 << 5) + 1, _RU, L_ZU, R_SHUUSI,
|
||||
(0 << 5) + 2, _NN, _BA, L_ZUNBA, R_CUT,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_se[] = {
|
||||
(0 << 5) + 0, L_SE, R_MIZEN2,
|
||||
|
|
@ -320,13 +291,11 @@ static unsigned char fzk_se[] = {
|
|||
(0 << 5) + 1, _RU, L_SERU, R_SHUUSI,
|
||||
(0 << 5) + 1, _RE, L_SERU, R_KATEI2,
|
||||
(0 << 5) + 1, _RO, L_SERU, R_MEIREI1,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ze[] = {
|
||||
(0 << 5) + 0, L_ZE, R_SHUUJO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_so[] = {
|
||||
(0 << 5) + 1, _U, L_SOUDA, R_SOU,
|
||||
|
|
@ -342,13 +311,11 @@ static unsigned char fzk_so[] = {
|
|||
(2 << 5) + 0, L_YOUTAI, R_SOUNA2,
|
||||
(2 << 5) + 1, _RA, L_SOUDA, R_KATEI1,
|
||||
(1 << 5) + 1, _NI, L_YOUTAI, R_SOUNI,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_zo[] = {
|
||||
(0 << 5) + 0, L_ZO, R_SHUUJO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ta[] = {
|
||||
(0 << 5) + 0, L_TA, R_TA,
|
||||
|
|
@ -373,8 +340,7 @@ static unsigned char fzk_ta[] = {
|
|||
(0 << 5) + 1, _RI, L_TA, R_TARI,
|
||||
(0 << 5) + 1, _RU, L_TARU, R_CUT,
|
||||
(0 << 5) + 2, _RO, _U, L_TA, R_KAROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_da[] = {
|
||||
(0 << 5) + 0, L_DA1, R_TA,
|
||||
|
|
@ -386,8 +352,7 @@ static unsigned char fzk_da[] = {
|
|||
(1 << 5) + 1, _KE, L_DARAKE, R_DARAKE,
|
||||
(0 << 5) + 1, _RI, L_DA1, R_TARI,
|
||||
(0 << 5) + 2, _RO, _U, L_DAROU, R_DAROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ti[] = {
|
||||
(0 << 5) + 2, _MA, _I, L_TIMAU, R_IKI,
|
||||
|
|
@ -403,28 +368,24 @@ static unsigned char fzk_ti[] = {
|
|||
(1 << 5) + 2, _O, _U, L_TYAU, R_AROU,
|
||||
(1 << 5) + 1, _XTU, L_TYAU, R_ONBIN6,
|
||||
(1 << 5) + 1, _WA, L_TYAU, R_MIZEN5,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_di[] = {
|
||||
(0 << 5) + 1, _XYA, L_JYA, R_JYA,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_tu[] = {
|
||||
(0 << 5) + 2, _I, _TE, L_TUITE, R_TUITE,
|
||||
(0 << 5) + 1, _KI, L_TUKI, R_TUKI,
|
||||
(0 << 5) + 1, _TU, L_TUTU, R_TUTU,
|
||||
(0 << 5) + 2, _MO, _RI, L_TUMORI, R_TUMORI,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_te[] = {
|
||||
(0 << 5) + 0, L_TE1, R_TE1,
|
||||
(0 << 5) + 0, L_TE2, R_TE2,
|
||||
(0 << 5) + 1, _RU, L_TERU, R_TERU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_de[] = {
|
||||
(0 << 5) + 0, L_DE, R_DE,
|
||||
|
|
@ -439,8 +400,7 @@ static unsigned char fzk_de[] = {
|
|||
(0 << 5) + 1, _SU, L_DESU, R_DESU,
|
||||
(0 << 5) + 1, _HA, L_DEHA, R_DEHA,
|
||||
(0 << 5) + 1, _RU, L_DERU, R_TERU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_to[] = {
|
||||
(0 << 5) + 0, L_TO1, R_TO1,
|
||||
|
|
@ -460,8 +420,7 @@ static unsigned char fzk_to[] = {
|
|||
(0 << 5) + 1, _TE, L_TOTE, R_TOTE,
|
||||
(0 << 5) + 3, _HA, _I, _E, L_TOHAIE, R_TOHAIE,
|
||||
(0 << 5) + 1, _MO, L_TOMO, R_TOMO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_do[] = {
|
||||
(0 << 5) + 0, L_DO, R_DO,
|
||||
|
|
@ -475,8 +434,7 @@ static unsigned char fzk_do[] = {
|
|||
(1 << 5) + 1, _RO, L_DOKORO, R_DOKORO,
|
||||
(2 << 5) + 1, _KA, L_DOKOROKA, R_DOKOROKA,
|
||||
(0 << 5) + 1, _MO, L_DOMO, R_DOMO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_na[] = {
|
||||
(0 << 5) + 0, L_NA1, R_SHUUJO,
|
||||
|
|
@ -512,8 +470,7 @@ static unsigned char fzk_na[] = {
|
|||
(0 << 5) + 2, _NN, _KA, L_NANKA, R_NANKA,
|
||||
(1 << 5) + 1, _ZO, L_NANZO, R_NANZO,
|
||||
(1 << 5) + 1, _TE, L_NANTE, R_NANTE,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ni[] = {
|
||||
(0 << 5) + 0, L_NI1, R_NI1,
|
||||
|
|
@ -524,24 +481,21 @@ static unsigned char fzk_ni[] = {
|
|||
(2 << 5) + 2, _RO, _U, L_NIKUI, R_KAROU,
|
||||
(1 << 5) + 1, _KU, L_NIKUI, R_TAKU,
|
||||
(1 << 5) + 2, _KE, _RE, L_NIKUI, R_KATEI3,
|
||||
(1<<5) + 1, _SA, L_NIKUI, R_FZKMEISI,
|
||||
(1 << 5) + 1, _SA, L_NIKUI, R_FZKMEISHI,
|
||||
(0 << 5) + 1, _TE, L_NITE, R_NITE,
|
||||
(0 << 5) + 2, _DE, _MO, L_NI1, R_MO1,
|
||||
(0 << 5) + 1, _MO, L_NIMO, R_NIMO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_nu[] = {
|
||||
(0 << 5) + 0, L_NU, R_NU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ne[] = {
|
||||
(0 << 5) + 0, L_NE1, R_SHUUJO,
|
||||
(0 << 5) + 0, L_NE2, R_KATEI2,
|
||||
(0 << 5) + 1, _E, L_NEE, R_SHUUJO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_no[] = {
|
||||
(0 << 5) + 0, L_NO1, R_NO1,
|
||||
|
|
@ -550,15 +504,13 @@ static unsigned char fzk_no[] = {
|
|||
(0 << 5) + 1, _NI, L_NONI, R_NONI,
|
||||
(0 << 5) + 1, _MI, L_NOMI, R_NOMI,
|
||||
(1 << 5) + 3, _NA, _RA, _ZU, L_NOMINRZ, R_NOMINRZ,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ha[] = {
|
||||
(0 << 5) + 0, L_HA, R_HA,
|
||||
(0 << 5) + 1, _SI, L_HA, R_HASI,
|
||||
(0 << 5) + 1, _ZU, L_HAZU, R_HAZU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ba[] = {
|
||||
(0 << 5) + 0, L_BA, R_BA,
|
||||
|
|
@ -566,8 +518,7 @@ static unsigned char fzk_ba[] = {
|
|||
(1 << 5) + 1, _RI, L_BAKARI, R_BAKARI,
|
||||
(0 << 5) + 3, _XTU, _KA, _SI, L_BAKARI, R_BAKARI,
|
||||
(2 << 5) + 1, _RI, L_BAKARI, R_BAKARI,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_hu[] = {
|
||||
(0 << 5) + 2, _U, _DA, L_FUUDA, R_SOUDA,
|
||||
|
|
@ -581,28 +532,24 @@ static unsigned char fzk_hu[] = {
|
|||
(1 << 5) + 1, _NA, L_FUUDA, R_SOUNA2,
|
||||
(2 << 5) + 1, _RA, L_FUUDA, R_KATEI1,
|
||||
(1 << 5) + 1, _NI, L_FUUDA, R_FUUNI,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_he[] = {
|
||||
(0 << 5) + 0, L_HE, R_HE,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_be[] = {
|
||||
(0 << 5) + 2, _KA, _RA, L_BESI, R_BEKARA,
|
||||
(0 << 5) + 1, _KI, L_BESI, R_BEKI,
|
||||
(0 << 5) + 1, _KU, L_BESI, R_BEKU,
|
||||
(0 << 5) + 1, _SI, L_BESI, R_BESI,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ho[] = {
|
||||
(0 << 5) + 1, _U, L_HOU, R_HOU,
|
||||
(0 << 5) + 1, _KA, L_HOKA, R_HOKA,
|
||||
(0 << 5) + 1, _DO, L_HODO, R_HODO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ma[] = {
|
||||
(0 << 5) + 1, _I, L_MAI, R_MAI,
|
||||
|
|
@ -617,8 +564,7 @@ static unsigned char fzk_ma[] = {
|
|||
(1 << 5) + 1, _NN, L_MASU, R_NN2,
|
||||
(0 << 5) + 1, _DE, L_MADE, R_MADE,
|
||||
(0 << 5) + 1, _MA, L_MAMA, R_MAMA,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_mi[] = {
|
||||
(0 << 5) + 0, L_YOUGEN, R_MI,
|
||||
|
|
@ -638,8 +584,7 @@ static unsigned char fzk_mi[] = {
|
|||
(0 << 5) + 1, _RU, L_YOUGEN, R_SHUUSI,
|
||||
(0 << 5) + 1, _RE, L_YOUGEN, R_KATEI2,
|
||||
(0 << 5) + 1, _RO, L_YOUGEN, R_MEIREI1,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_mo[] = {
|
||||
(0 << 5) + 0, L_MO1, R_MO1,
|
||||
|
|
@ -654,8 +599,7 @@ static unsigned char fzk_mo[] = {
|
|||
(1 << 5) + 1, _WA, L_YOUGEN, R_MIZEN5,
|
||||
(0 << 5) + 1, _NN, L_WAYO, R_SHUUJO,
|
||||
(1 << 5) + 1, _KA, L_WAYO, R_SHUUJO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ya[] = {
|
||||
(0 << 5) + 0, L_YA1, R_YA1,
|
||||
|
|
@ -665,7 +609,7 @@ static unsigned char fzk_ya[] = {
|
|||
(2 << 5) + 2, _RO, _U, L_YASUI, R_KAROU,
|
||||
(1 << 5) + 1, _KU, L_YASUI, R_TAKU,
|
||||
(1 << 5) + 2, _KE, _RE, L_YASUI, R_KATEI3,
|
||||
(1<<5) + 1, _SA, L_YASUI, R_FZKMEISI,
|
||||
(1 << 5) + 1, _SA, L_YASUI, R_FZKMEISHI,
|
||||
(0 << 5) + 1, _XTU, L_YOUGEN, R_ONBIN2,
|
||||
(0 << 5) + 1, _RA, L_YARA, R_YARA,
|
||||
(1 << 5) + 0, L_YOUGEN, R_MIZEN5,
|
||||
|
|
@ -673,13 +617,11 @@ static unsigned char fzk_ya[] = {
|
|||
(0 << 5) + 1, _RU, L_YOUGEN, R_SHUUSI,
|
||||
(0 << 5) + 1, _RE, L_YOUGEN, R_KATEI2,
|
||||
(0 << 5) + 2, _RO, _U, L_YOUGEN, R_AROU,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_yu[] = {
|
||||
(0 << 5) + 1, _E, L_YUE, R_YUE,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_yo[] = {
|
||||
(0 << 5) + 0, L_YO, R_SHUUJO,
|
||||
|
|
@ -701,7 +643,7 @@ static unsigned char fzk_yo[] = {
|
|||
(1 << 5) + 2, _RO, _U, L_YOI, R_KAROU,
|
||||
(0 << 5) + 1, _KU, L_YOI, R_TAKU,
|
||||
(0 << 5) + 2, _KE, _RE, L_YOI, R_KATEI3,
|
||||
(0<<5) + 1, _SA, L_YOI, R_FZKMEISI,
|
||||
(0 << 5) + 1, _SA, L_YOI, R_FZKMEISHI,
|
||||
(0 << 5) + 2, _XTU, _TE, L_YORU, R_YOTTE,
|
||||
(0 << 5) + 2, _NA, _XA, L_YO, R_SHUUJO,
|
||||
(1 << 5) + 1, _A, L_YO, R_SHUUJO,
|
||||
|
|
@ -711,8 +653,7 @@ static unsigned char fzk_yo[] = {
|
|||
(1 << 5) + 0, L_YORU, R_YORI2,
|
||||
(0 << 5) + 1, _RU, L_YORU, R_SHUUSI,
|
||||
(0 << 5) + 1, _RE, L_YORU, R_KATEI3,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_ra[] = {
|
||||
(0 << 5) + 2, _SI, _I, L_RASII, R_RASII,
|
||||
|
|
@ -725,8 +666,7 @@ static unsigned char fzk_ra[] = {
|
|||
(1 << 5) + 1, _RU, L_RARERU, R_SHUUSI,
|
||||
(1 << 5) + 1, _RE, L_RARERU, R_KATEI2,
|
||||
(1 << 5) + 1, _RO, L_RARERU, R_MEIREI1,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_re[] = {
|
||||
(0 << 5) + 0, L_RERU, R_RARE,
|
||||
|
|
@ -734,24 +674,19 @@ static unsigned char fzk_re[] = {
|
|||
(0 << 5) + 1, _RU, L_RERU, R_SHUUSI,
|
||||
(0 << 5) + 1, _RE, L_RERU, R_KATEI2,
|
||||
(0 << 5) + 1, _RO, L_RERU, R_MEIREI1,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_wa[] = {
|
||||
(0 << 5) + 0, L_WA, R_SHUUJO,
|
||||
(0 << 5) + 1, _KE, L_WAKE, R_WAKE,
|
||||
(0 << 5) + 1, _NE, L_WANE, R_SHUUJO,
|
||||
(0 << 5) + 1, _YO, L_WAYO, R_SHUUJO,
|
||||
0xff
|
||||
};
|
||||
0xff};
|
||||
|
||||
static unsigned char fzk_nn[] = {
|
||||
(0 << 5) + 0, L_NN1, R_NN1,
|
||||
(0 << 5) + 0, L_NN2, R_NN2,
|
||||
0xff
|
||||
};
|
||||
|
||||
|
||||
0xff};
|
||||
|
||||
unsigned char* fzkadr[] = {
|
||||
0, fzk_a, 0, fzk_i, 0,
|
||||
|
|
@ -770,5 +705,4 @@ unsigned char *fzkadr[] = {
|
|||
fzk_mo, 0, fzk_ya, 0, fzk_yu,
|
||||
0, fzk_yo, fzk_ra, 0, 0,
|
||||
fzk_re, 0, 0, fzk_wa, 0,
|
||||
0, fzk_wo, fzk_nn
|
||||
};
|
||||
0, fzk_wo, fzk_nn};
|
||||
|
|
|
|||
114
getkanji.c
114
getkanji.c
|
|
@ -27,53 +27,36 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: getkanji.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:49 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include "sj_euc.h"
|
||||
#include "sj_kcnv.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
static unsigned char*
|
||||
code2kanji(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg);
|
||||
|
||||
unsigned char*
|
||||
getkan_none(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg)
|
||||
{
|
||||
getkan_none(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) {
|
||||
return d;
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
getkan_hira(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg)
|
||||
{
|
||||
getkan_hira(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) {
|
||||
int cnt, csize;
|
||||
|
||||
csize = codesize(*s);
|
||||
|
||||
cnt = (*s & KanjiCodeMask) + 1;
|
||||
|
||||
|
||||
if(flg && (s[csize] == KanjiStrEnd)) ym += (yl - cnt) * 2;
|
||||
|
||||
|
||||
cnt *= 2;
|
||||
while(cnt-- > 0) *d++ = *ym++;
|
||||
|
||||
return d;
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
getkan_kata(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg)
|
||||
{
|
||||
getkan_kata(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) {
|
||||
int cnt, csize;
|
||||
unsigned char ch;
|
||||
|
||||
|
|
@ -81,24 +64,20 @@ getkan_kata(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int f
|
|||
|
||||
cnt = (*s & KanjiCodeMask) + 1;
|
||||
|
||||
|
||||
if(flg && (s[csize] == KanjiStrEnd)) ym += (yl - cnt) * 2;
|
||||
|
||||
|
||||
while(cnt-- > 0) {
|
||||
|
||||
if(*ym == 0xa4) {
|
||||
ch = *++ym;
|
||||
if(0xa1 <= ch && ch <= 0xf3) {
|
||||
*d++ = 0xa5;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
*d++ = 0xa4;
|
||||
}
|
||||
*d++ = ch;
|
||||
ym++;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
*d++ = *ym++;
|
||||
*d++ = *ym++;
|
||||
}
|
||||
|
|
@ -107,27 +86,21 @@ getkan_kata(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int f
|
|||
return d;
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
getkan_knj(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg)
|
||||
{
|
||||
getkan_knj(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) {
|
||||
|
||||
return code2kanji(askknj[*s & KnjAssyukuMask], d, ym, yl, flg);
|
||||
return code2kanji(askknj[*s & KnjAsshukuMask], d, ym, yl, flg);
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
getkan_ofs(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg)
|
||||
{
|
||||
getkan_ofs(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) {
|
||||
|
||||
return code2kanji(dicbuf + ((*s & KanjiCodeMask) << 8) + *(s + 1),
|
||||
d, ym, yl, flg);
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
getkan_norm(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg)
|
||||
{
|
||||
getkan_norm(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) {
|
||||
unsigned char c;
|
||||
|
||||
if(*s != 0) {
|
||||
|
|
@ -142,10 +115,8 @@ getkan_norm(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int f
|
|||
return d;
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
getkan_ascii(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg)
|
||||
{
|
||||
getkan_ascii(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) {
|
||||
unsigned char c;
|
||||
|
||||
c = s[1];
|
||||
|
|
@ -156,58 +127,67 @@ getkan_ascii(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int
|
|||
return d;
|
||||
}
|
||||
|
||||
|
||||
static unsigned char*
|
||||
code2kanji(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg)
|
||||
{
|
||||
code2kanji(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int flg) {
|
||||
int csize;
|
||||
|
||||
for(;;) {
|
||||
csize = codesize(*s);
|
||||
if(s[csize] == KanjiStrEnd) {
|
||||
switch(*s & KanjiModeMask) {
|
||||
case ZenHiraAssyuku:
|
||||
d = getkan_hira(s, d, ym, yl, flg); break;
|
||||
case ZenHiraAsshuku:
|
||||
d = getkan_hira(s, d, ym, yl, flg);
|
||||
break;
|
||||
|
||||
case ZenKataAssyuku:
|
||||
d = getkan_kata(s, d, ym, yl, flg); break;
|
||||
case ZenKataAsshuku:
|
||||
d = getkan_kata(s, d, ym, yl, flg);
|
||||
break;
|
||||
|
||||
case OffsetAssyuku:
|
||||
d = getkan_ofs(s, d, ym, yl, flg); break;
|
||||
case OffsetAsshuku:
|
||||
d = getkan_ofs(s, d, ym, yl, flg);
|
||||
break;
|
||||
|
||||
case AiAttribute:
|
||||
d = getkan_none(s, d, ym, yl, flg); break;
|
||||
d = getkan_none(s, d, ym, yl, flg);
|
||||
break;
|
||||
|
||||
case LeadingHankaku:
|
||||
d = getkan_ascii(s, d, ym, yl, flg); break;
|
||||
d = getkan_ascii(s, d, ym, yl, flg);
|
||||
break;
|
||||
|
||||
case KanjiAssyuku:
|
||||
d = getkan_knj(s, d, ym, yl, flg); break;
|
||||
case KanjiAsshuku:
|
||||
d = getkan_knj(s, d, ym, yl, flg);
|
||||
break;
|
||||
|
||||
default:
|
||||
d = getkan_norm(s, d, ym, yl, flg);
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
} else
|
||||
switch(*s & KanjiModeMask) {
|
||||
case ZenHiraAssyuku:
|
||||
d = getkan_hira(s, d, ym, yl, FALSE); break;
|
||||
case ZenHiraAsshuku:
|
||||
d = getkan_hira(s, d, ym, yl, FALSE);
|
||||
break;
|
||||
|
||||
case ZenKataAssyuku:
|
||||
d = getkan_kata(s, d, ym, yl, FALSE); break;
|
||||
case ZenKataAsshuku:
|
||||
d = getkan_kata(s, d, ym, yl, FALSE);
|
||||
break;
|
||||
|
||||
case OffsetAssyuku:
|
||||
d = getkan_ofs(s, d, ym, yl, FALSE); break;
|
||||
case OffsetAsshuku:
|
||||
d = getkan_ofs(s, d, ym, yl, FALSE);
|
||||
break;
|
||||
|
||||
case AiAttribute:
|
||||
d = getkan_none(s, d, ym, yl, FALSE); break;
|
||||
d = getkan_none(s, d, ym, yl, FALSE);
|
||||
break;
|
||||
|
||||
case LeadingHankaku:
|
||||
d = getkan_ascii(s, d, ym, yl, FALSE); break;
|
||||
d = getkan_ascii(s, d, ym, yl, FALSE);
|
||||
break;
|
||||
|
||||
case KanjiAssyuku:
|
||||
d = getkan_knj(s, d, ym, yl, FALSE); break;
|
||||
case KanjiAsshuku:
|
||||
d = getkan_knj(s, d, ym, yl, FALSE);
|
||||
break;
|
||||
|
||||
default:
|
||||
d = getkan_norm(s, d, ym, yl, FALSE);
|
||||
|
|
@ -219,14 +199,10 @@ code2kanji(unsigned char* s, unsigned char* d, unsigned char* ym, int yl, int fl
|
|||
return d;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
getkanji(unsigned char* ym, int yl, unsigned char* ptr, unsigned char* buf)
|
||||
{
|
||||
int getkanji(unsigned char* ym, int yl, unsigned char* ptr, unsigned char* buf) {
|
||||
unsigned char* q;
|
||||
|
||||
q = code2kanji(ptr, buf, ym, yl, TRUE);
|
||||
|
||||
return q - buf;
|
||||
}
|
||||
|
||||
|
|
|
|||
49
getrank.c
49
getrank.c
|
|
@ -27,39 +27,22 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: getrank.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:50 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include "sj_kcnv.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
static void setstynum(void);
|
||||
static void setnspr(KHREC* kptr, STDYIN* sptr);
|
||||
static void regetrank(void);
|
||||
|
||||
|
||||
|
||||
void
|
||||
getrank (void)
|
||||
{
|
||||
void getrank(void) {
|
||||
trank = nrank = 1;
|
||||
|
||||
setstynum();
|
||||
regetrank();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
setstynum (void)
|
||||
{
|
||||
setstynum(void) {
|
||||
KHREC* kptr;
|
||||
STDYIN* sptr;
|
||||
int count;
|
||||
|
|
@ -72,11 +55,8 @@ setstynum (void)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
setnspr (KHREC *kptr, STDYIN *sptr)
|
||||
{
|
||||
setnspr(KHREC* kptr, STDYIN* sptr) {
|
||||
KHREC* ptr;
|
||||
int keepnm;
|
||||
TypeStyNum styno;
|
||||
|
|
@ -88,22 +68,19 @@ setnspr (KHREC *kptr, STDYIN *sptr)
|
|||
if(styno < ptr->styno) {
|
||||
ptr->rank++;
|
||||
keepnm--;
|
||||
}
|
||||
else if (styno == ptr -> styno) {
|
||||
} else if(styno == ptr->styno) {
|
||||
if(kptr->sttfg && kptr->ka_fg) {
|
||||
if((sptr->sttkj == kptr->sttkj) &&
|
||||
(sptr->ka_kj == kptr->ka_kj)) {
|
||||
ptr->rank++;
|
||||
keepnm--;
|
||||
}
|
||||
}
|
||||
else if (kptr -> sttfg) {
|
||||
} else if(kptr->sttfg) {
|
||||
if(sptr->sttkj == kptr->sttkj) {
|
||||
ptr->rank++;
|
||||
keepnm--;
|
||||
}
|
||||
}
|
||||
else if (kptr -> ka_fg) {
|
||||
} else if(kptr->ka_fg) {
|
||||
if(sptr->ka_kj == kptr->ka_kj) {
|
||||
ptr->rank++;
|
||||
keepnm--;
|
||||
|
|
@ -118,11 +95,8 @@ setnspr (KHREC *kptr, STDYIN *sptr)
|
|||
if(sptr->nmflg && (nrank > keepnm)) nrank = keepnm;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
regetrank (void)
|
||||
{
|
||||
regetrank(void) {
|
||||
KHREC* kptr;
|
||||
int count;
|
||||
int tmp;
|
||||
|
|
@ -130,8 +104,7 @@ regetrank (void)
|
|||
if(nrank < trank) {
|
||||
tmp = nrank;
|
||||
trank += nkhcount;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
nkhcount = tmp = 0;
|
||||
}
|
||||
|
||||
|
|
@ -139,11 +112,9 @@ regetrank (void)
|
|||
if(!(kptr->rank)) {
|
||||
if(tmp && kptr->mode && !(kptr->offs)) {
|
||||
kptr->rank = (unsigned char)tmp++;
|
||||
}
|
||||
else
|
||||
} else
|
||||
kptr->rank = (unsigned char)trank++;
|
||||
}
|
||||
else if ((short)kptr -> rank >= nrank)
|
||||
} else if((short)kptr->rank >= nrank)
|
||||
kptr->rank += (unsigned char)nkhcount;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
11
global.c
11
global.c
|
|
@ -27,13 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: global.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:00:35 $
|
||||
*/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include "sj_struct2.h"
|
||||
|
|
@ -41,7 +34,7 @@
|
|||
DouonRec* douon_ptr = NULL;
|
||||
int douon_num = 0;
|
||||
int yomi_len = 0;
|
||||
int hinsi_num = 0;
|
||||
int hinshi_num = 0;
|
||||
int kanji_len = 0;
|
||||
|
||||
HindoRec* hindo[MaxHindoNumber];
|
||||
|
|
@ -50,7 +43,7 @@ int hindo_num = 0;
|
|||
OffsetRec* ofsrec[MaxOffsetNumber];
|
||||
int ofsrec_num = 0;
|
||||
|
||||
AssyukuRec *assyuku = NULL;
|
||||
AsshukuRec* asshuku = NULL;
|
||||
|
||||
HindoRec* askknj[MaxKnjAskNumber];
|
||||
int askknj_num = 0;
|
||||
|
|
|
|||
|
|
@ -27,13 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: global.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1994/12/09 11:27:06 $
|
||||
*/
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <stdio.h>
|
||||
|
|
@ -53,4 +46,3 @@ Global *work_base;
|
|||
STDY* stdy_base;
|
||||
|
||||
int serv_errno;
|
||||
|
||||
|
|
|
|||
119
henkan.c
119
henkan.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: henkan.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1997/01/23 11:09:37 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "common.h"
|
||||
#include "key.h"
|
||||
#include "wchar16.h"
|
||||
|
|
@ -44,8 +36,7 @@ void Rdisp();
|
|||
|
||||
int i_point;
|
||||
|
||||
exec_henkan ()
|
||||
{
|
||||
exec_henkan() {
|
||||
Conversion* cv;
|
||||
int i, j;
|
||||
wchar16_t * s, *p;
|
||||
|
|
@ -108,7 +99,6 @@ exec_henkan ()
|
|||
|
||||
bnum = SJ2_henkan(cv->yomiout, cv->Bun, cv->kanjiout, BUFFLENGTH * 4);
|
||||
|
||||
|
||||
if(bnum < 0 && !dconnect(1))
|
||||
bnum = SJ2_henkan(cv->yomiout, cv->Bun, cv->kanjiout, BUFFLENGTH * 4);
|
||||
|
||||
|
|
@ -226,8 +216,7 @@ exec_henkan ()
|
|||
cv->Kanji = 1;
|
||||
}
|
||||
|
||||
addBun(cur, end)
|
||||
int cur, end;
|
||||
addBun(cur, end) int cur, end;
|
||||
{
|
||||
int i;
|
||||
Conversion* cv;
|
||||
|
|
@ -241,8 +230,7 @@ int cur, end;
|
|||
}
|
||||
}
|
||||
|
||||
delspan(cur)
|
||||
int cur;
|
||||
delspan(cur) int cur;
|
||||
{
|
||||
int i;
|
||||
Conversion* cv;
|
||||
|
|
@ -255,8 +243,7 @@ int cur;
|
|||
}
|
||||
}
|
||||
|
||||
delBun(cur, end)
|
||||
int cur, end;
|
||||
delBun(cur, end) int cur, end;
|
||||
{
|
||||
int i;
|
||||
Conversion* cv;
|
||||
|
|
@ -272,7 +259,6 @@ int cur, end;
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
IsHex(c)
|
||||
wchar16_t c;
|
||||
{
|
||||
|
|
@ -280,7 +266,8 @@ wchar16_t c;
|
|||
}
|
||||
|
||||
Getcode(in, out)
|
||||
wchar16_t *in, *out;
|
||||
wchar16_t* in,
|
||||
*out;
|
||||
{
|
||||
int c, i, j;
|
||||
unsigned char s[5];
|
||||
|
|
@ -347,11 +334,9 @@ wchar16_t *in, *out;
|
|||
(void)sj_hantozen(out, in, strlen((char*)in));
|
||||
}
|
||||
|
||||
|
||||
static unsigned char load_mode;
|
||||
|
||||
load_bun (num, s, type)
|
||||
int num;
|
||||
load_bun(num, s, type) int num;
|
||||
wchar16_t* s;
|
||||
unsigned char type;
|
||||
{
|
||||
|
|
@ -418,13 +403,11 @@ unsigned char type;
|
|||
} else
|
||||
len = sj_zentohan(s, cv->Ppoint[num], len);
|
||||
}
|
||||
|
||||
}
|
||||
return (len);
|
||||
}
|
||||
|
||||
load_bun2(num, htmp, ztmp, omode)
|
||||
int num;
|
||||
load_bun2(num, htmp, ztmp, omode) int num;
|
||||
wchar16_t * htmp, *ztmp;
|
||||
unsigned short* omode;
|
||||
{
|
||||
|
|
@ -435,7 +418,6 @@ unsigned short *omode;
|
|||
unsigned char type;
|
||||
wchar16_t Ztmp[DLEN + 1];
|
||||
|
||||
|
||||
cv = GetConversion();
|
||||
if(num < 0 || (len = cv->Plen[num]) == 0) {
|
||||
*ztmp = '\0';
|
||||
|
|
@ -471,7 +453,8 @@ unsigned short *omode;
|
|||
}
|
||||
|
||||
getistr(s, ostr, len)
|
||||
wchar16_t *s, *ostr;
|
||||
wchar16_t* s,
|
||||
*ostr;
|
||||
int len;
|
||||
{
|
||||
int ipos, opos;
|
||||
|
|
@ -492,8 +475,7 @@ int len;
|
|||
return (rlen);
|
||||
}
|
||||
|
||||
exec_muhenkan (first)
|
||||
int first;
|
||||
exec_muhenkan(first) int first;
|
||||
{
|
||||
Conversion* cv;
|
||||
|
||||
|
|
@ -506,15 +488,12 @@ int first;
|
|||
if(first) {
|
||||
cv->Bkettei[0] = Bmuhenkan;
|
||||
cv->Pkettei[0] = cv->Imode;
|
||||
}
|
||||
else if (cv->Bkettei[0] != Bmuhenkan) {
|
||||
} else if(cv->Bkettei[0] != Bmuhenkan) {
|
||||
cv->Bkettei[0] = Bmuhenkan;
|
||||
cv->Pkettei[0] = MODE_ZHIRA;
|
||||
}
|
||||
else if (cv->Pkettei[0] != MODE_ZHIRA) {
|
||||
} else if(cv->Pkettei[0] != MODE_ZHIRA) {
|
||||
cv->Pkettei[0] = MODE_ZHIRA;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cv->Pkettei[0] = MODE_ZKATA;
|
||||
}
|
||||
|
||||
|
|
@ -530,12 +509,9 @@ int first;
|
|||
Bdisp(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static unsigned char Bstr_mode;
|
||||
|
||||
Bstr (bnum, s)
|
||||
int bnum;
|
||||
Bstr(bnum, s) int bnum;
|
||||
wchar16_t* s;
|
||||
{
|
||||
Conversion* cv;
|
||||
|
|
@ -545,8 +521,7 @@ wchar16_t *s;
|
|||
if(cv->Bkettei[bnum] & Bmuhenkan) {
|
||||
len = load_bun(bnum, s, cv->Pkettei[bnum]);
|
||||
Bstr_mode = load_mode;
|
||||
}
|
||||
else if (cv->Bkettei[bnum] & Bedit) {
|
||||
} else if(cv->Bkettei[bnum] & Bedit) {
|
||||
i = cv->Edit[bnum];
|
||||
len = cv->Elen[i];
|
||||
if(len <= DLEN) {
|
||||
|
|
@ -556,12 +531,10 @@ wchar16_t *s;
|
|||
*s = '\0';
|
||||
} else
|
||||
len = -1;
|
||||
}
|
||||
else
|
||||
} else
|
||||
len = load_bun(bnum, s, 0);
|
||||
Bstr_mode = 1;
|
||||
}
|
||||
else if (cv->Bkettei[bnum] & Bhenkan) {
|
||||
} else if(cv->Bkettei[bnum] & Bhenkan) {
|
||||
if(!(i = cv->Bpoint[bnum])) {
|
||||
len = -1;
|
||||
return len;
|
||||
|
|
@ -579,16 +552,12 @@ wchar16_t *s;
|
|||
} else
|
||||
len = -1;
|
||||
Bstr_mode = 1;
|
||||
}
|
||||
else
|
||||
} else
|
||||
len = -1;
|
||||
return (len);
|
||||
}
|
||||
|
||||
|
||||
|
||||
mode_muhenkan (mod, bkettei)
|
||||
int mod, bkettei;
|
||||
mode_muhenkan(mod, bkettei) int mod, bkettei;
|
||||
{
|
||||
int def;
|
||||
|
||||
|
|
@ -604,8 +573,7 @@ int mod, bkettei;
|
|||
return (KEY_ZHIRA);
|
||||
}
|
||||
|
||||
Bchange (mod)
|
||||
int mod;
|
||||
Bchange(mod) int mod;
|
||||
{
|
||||
Conversion* cv;
|
||||
int i;
|
||||
|
|
@ -658,10 +626,7 @@ int mod;
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Bdisp (redraw)
|
||||
{
|
||||
Bdisp(redraw) {
|
||||
Conversion* cv;
|
||||
int i;
|
||||
int len;
|
||||
|
|
@ -686,8 +651,7 @@ Bdisp (redraw)
|
|||
}
|
||||
displen = wcbyte(BDtmp);
|
||||
tmpcol += displen;
|
||||
if ((tmpcol > (unsigned int)cv->column) && (row == cv->line)
|
||||
&& (row == cv->SavedRow) && (row > 0)) {
|
||||
if((tmpcol > (unsigned int)cv->column) && (row == cv->line) && (row == cv->SavedRow) && (row > 0)) {
|
||||
cv->SavedRow--;
|
||||
tmpcol -= cv->column;
|
||||
}
|
||||
|
|
@ -704,10 +668,7 @@ Bdisp (redraw)
|
|||
Flush();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Rdisp ()
|
||||
{
|
||||
void Rdisp() {
|
||||
Conversion* cv;
|
||||
int i;
|
||||
int Total;
|
||||
|
|
@ -732,8 +693,7 @@ Rdisp ()
|
|||
}
|
||||
displen = wcbyte(BDtmp);
|
||||
tmpcol += displen;
|
||||
if ((tmpcol > (unsigned int)cv->column) && (row == cv->line)
|
||||
&& (row == cv->SavedRow) && (row > 0)) {
|
||||
if((tmpcol > (unsigned int)cv->column) && (row == cv->line) && (row == cv->SavedRow) && (row > 0)) {
|
||||
cv->SavedRow--;
|
||||
tmpcol -= cv->column;
|
||||
}
|
||||
|
|
@ -755,8 +715,7 @@ Rdisp ()
|
|||
Flush();
|
||||
}
|
||||
|
||||
AfterAllPrint (from, Total)
|
||||
int from;
|
||||
AfterAllPrint(from, Total) int from;
|
||||
int Total;
|
||||
{
|
||||
Conversion* cv;
|
||||
|
|
@ -782,8 +741,7 @@ int Total;
|
|||
}
|
||||
displen = wcbyte(BDtmp);
|
||||
tmpcol += displen;
|
||||
if ((tmpcol > (unsigned int)cv->column) && (row == cv->line)
|
||||
&& (row == cv->SavedRow) && (row > 0)) {
|
||||
if((tmpcol > (unsigned int)cv->column) && (row == cv->line) && (row == cv->SavedRow) && (row > 0)) {
|
||||
cv->SavedRow--;
|
||||
tmpcol -= cv->column;
|
||||
}
|
||||
|
|
@ -803,10 +761,7 @@ int Total;
|
|||
Flush();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Bright ()
|
||||
{
|
||||
void Bright() {
|
||||
Conversion* cv;
|
||||
int flag;
|
||||
|
||||
|
|
@ -826,10 +781,7 @@ Bright ()
|
|||
Rdisp();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Bleft ()
|
||||
{
|
||||
void Bleft() {
|
||||
Conversion* cv;
|
||||
int flag;
|
||||
|
||||
|
|
@ -849,10 +801,7 @@ Bleft ()
|
|||
Rdisp();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Blast ()
|
||||
{
|
||||
void Blast() {
|
||||
Conversion* cv;
|
||||
|
||||
cv = GetConversion();
|
||||
|
|
@ -864,13 +813,9 @@ Blast ()
|
|||
return;
|
||||
}
|
||||
Rdisp();
|
||||
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Btop ()
|
||||
{
|
||||
void Btop() {
|
||||
Conversion* cv;
|
||||
|
||||
cv = GetConversion();
|
||||
|
|
@ -883,5 +828,3 @@ Btop ()
|
|||
}
|
||||
Rdisp();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
8
henkan.h
8
henkan.h
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: henkan.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:43 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#define ObjEnd 0
|
||||
#define ObjHenkan 1
|
||||
#define ObjMuhenkan 2
|
||||
|
|
|
|||
234
hindo.c
234
hindo.c
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: hindo.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1994/08/17 01:50:26 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
|
|
@ -44,23 +35,19 @@
|
|||
|
||||
extern HindoRec* hindo[];
|
||||
extern int hindo_num;
|
||||
extern AssyukuRec *assyuku;
|
||||
extern AsshukuRec* asshuku;
|
||||
extern HindoRec* askknj[];
|
||||
extern int askknj_num;
|
||||
extern int kanji_num;
|
||||
|
||||
|
||||
int
|
||||
check_hindo(unsigned char* ptr, int len)
|
||||
{
|
||||
int check_hindo(unsigned char* ptr, int len) {
|
||||
int low, high, mid;
|
||||
int i;
|
||||
|
||||
|
||||
if(hindo_num <= 0) return 0;
|
||||
|
||||
|
||||
low = 0; high = hindo_num - 1;
|
||||
low = 0;
|
||||
high = hindo_num - 1;
|
||||
while(low <= high) {
|
||||
mid = (low + high) / 2;
|
||||
i = string_cmp(hindo[mid]->kptr, hindo[mid]->klen, ptr, len);
|
||||
|
|
@ -75,21 +62,16 @@ check_hindo(unsigned char* ptr, int len)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static AsshukuRec*
|
||||
makeasshuku(int num) {
|
||||
AsshukuRec* arec;
|
||||
|
||||
|
||||
static AssyukuRec*
|
||||
makeassyuku (int num)
|
||||
{
|
||||
AssyukuRec *arec;
|
||||
|
||||
|
||||
arec = (AssyukuRec *)Malloc(sizeof(AssyukuRec));
|
||||
arec = (AsshukuRec*)Malloc(sizeof(AsshukuRec));
|
||||
if(!arec) {
|
||||
fprintf(stderr, "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
arec->len = num;
|
||||
arec->nrec = NULL;
|
||||
arec->anext = NULL;
|
||||
|
|
@ -97,30 +79,22 @@ makeassyuku (int num)
|
|||
return arec;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
assyuku_len(HindoRec* hrec)
|
||||
{
|
||||
asshuku_len(HindoRec* hrec) {
|
||||
int org;
|
||||
int old;
|
||||
int new;
|
||||
OffsetRec* p;
|
||||
|
||||
|
||||
if (((*(hrec->kptr) & KanjiModeMask) == OffsetAssyuku) &&
|
||||
if(((*(hrec->kptr) & KanjiModeMask) == OffsetAsshuku) &&
|
||||
(hrec->klen == 2)) {
|
||||
|
||||
p = real_ofsrec(hrec->kptr);
|
||||
|
||||
|
||||
org = check_hindo(p->kptr, p->klen);
|
||||
|
||||
|
||||
|
||||
old = p->klen * org + 2 * (hrec->exist + hrec->hindo);
|
||||
|
||||
|
||||
|
||||
new = p->klen + (hrec->exist + hrec->hindo + org);
|
||||
}
|
||||
|
||||
|
|
@ -128,31 +102,24 @@ assyuku_len(HindoRec* hrec)
|
|||
|
||||
old = hrec->klen * (hrec->exist + hrec->hindo);
|
||||
|
||||
|
||||
new = hrec->klen + (hrec->exist + hrec->hindo);
|
||||
}
|
||||
|
||||
|
||||
return (old - new);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
set_assyuku(HindoRec* hrec)
|
||||
{
|
||||
AssyukuRec *arec;
|
||||
AssyukuRec *aprev;
|
||||
set_asshuku(HindoRec* hrec) {
|
||||
AsshukuRec* arec;
|
||||
AsshukuRec* aprev;
|
||||
int len;
|
||||
|
||||
|
||||
len = assyuku_len(hrec);
|
||||
|
||||
len = asshuku_len(hrec);
|
||||
|
||||
if(len <= 0) return;
|
||||
|
||||
|
||||
arec = assyuku; aprev = NULL;
|
||||
arec = asshuku;
|
||||
aprev = NULL;
|
||||
while(arec) {
|
||||
|
||||
if(arec->len == len) {
|
||||
|
|
@ -170,104 +137,83 @@ set_assyuku(HindoRec* hrec)
|
|||
arec = arec->anext;
|
||||
}
|
||||
|
||||
|
||||
arec = makeassyuku(len);
|
||||
|
||||
arec = makeasshuku(len);
|
||||
|
||||
hrec->anext = NULL;
|
||||
hrec->arec = arec;
|
||||
arec->nrec = hrec;
|
||||
|
||||
|
||||
if(aprev) {
|
||||
arec->anext = aprev->anext;
|
||||
aprev->anext = arec;
|
||||
}
|
||||
else {
|
||||
arec -> anext = assyuku;
|
||||
assyuku = arec;
|
||||
} else {
|
||||
arec->anext = asshuku;
|
||||
asshuku = arec;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
reset_assyuku(HindoRec* hrec)
|
||||
{
|
||||
AssyukuRec *arec;
|
||||
AssyukuRec *aptr;
|
||||
AssyukuRec *aprev;
|
||||
reset_asshuku(HindoRec* hrec) {
|
||||
AsshukuRec* arec;
|
||||
AsshukuRec* aptr;
|
||||
AsshukuRec* aprev;
|
||||
HindoRec* hptr;
|
||||
HindoRec* hprev;
|
||||
|
||||
arec = hrec->arec;
|
||||
|
||||
|
||||
if(!arec) return;
|
||||
hrec->arec = NULL;
|
||||
|
||||
|
||||
hptr = arec -> nrec; hprev = NULL;
|
||||
hptr = arec->nrec;
|
||||
hprev = NULL;
|
||||
while(hptr) {
|
||||
if(hptr == hrec) break;
|
||||
hprev = hptr;
|
||||
hptr = hptr->anext;
|
||||
}
|
||||
|
||||
|
||||
if(!hptr) return;
|
||||
|
||||
|
||||
if(hprev) {
|
||||
hprev->anext = hrec->anext;
|
||||
hrec->anext = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if(hrec->anext) {
|
||||
arec->nrec = hrec->anext;
|
||||
hrec->anext = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (!assyuku) return;
|
||||
aptr = assyuku; aprev = NULL;
|
||||
if(!asshuku) return;
|
||||
aptr = asshuku;
|
||||
aprev = NULL;
|
||||
while(aptr) {
|
||||
if(aptr == arec) break;
|
||||
aprev = aptr;
|
||||
aptr = aptr->anext;
|
||||
}
|
||||
|
||||
|
||||
if(!aptr) return;
|
||||
|
||||
|
||||
if(aprev)
|
||||
aprev->anext = arec->anext;
|
||||
|
||||
else
|
||||
assyuku = arec -> anext;
|
||||
|
||||
asshuku = arec->anext;
|
||||
|
||||
Free(arec);
|
||||
|
||||
|
||||
hrec->anext = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static HindoRec*
|
||||
makehindo(unsigned char* ptr, int len, int alen)
|
||||
{
|
||||
makehindo(unsigned char* ptr, int len, int alen) {
|
||||
HindoRec* hrec;
|
||||
unsigned char* p;
|
||||
|
||||
|
||||
hrec = (HindoRec*)Malloc(sizeof(HindoRec));
|
||||
if(!hrec) {
|
||||
fprintf(stderr, "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363\n");
|
||||
|
|
@ -285,8 +231,7 @@ makehindo(unsigned char* ptr, int len, int alen)
|
|||
hrec->hindo = 0;
|
||||
hrec->exist = 1;
|
||||
hrec->offset = ++kanji_num;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
hrec->hindo = 1;
|
||||
hrec->exist = 0;
|
||||
hrec->offset = 0;
|
||||
|
|
@ -298,29 +243,24 @@ makehindo(unsigned char* ptr, int len, int alen)
|
|||
return hrec;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
set_hindo(unsigned char* ptr, int len, int alen)
|
||||
{
|
||||
set_hindo(unsigned char* ptr, int len, int alen) {
|
||||
HindoRec* hrec;
|
||||
int low, high, mid;
|
||||
int i;
|
||||
|
||||
|
||||
if(hindo_num <= 0) {
|
||||
hrec = makehindo(ptr, len, alen);
|
||||
hindo[0] = hrec;
|
||||
hindo_num = 1;
|
||||
|
||||
|
||||
set_assyuku(hrec);
|
||||
set_asshuku(hrec);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
low = 0; high = hindo_num - 1;
|
||||
low = 0;
|
||||
high = hindo_num - 1;
|
||||
while(low <= high) {
|
||||
mid = (low + high) / 2;
|
||||
i = string_cmp(hindo[mid]->kptr, hindo[mid]->klen, ptr, len);
|
||||
|
|
@ -332,17 +272,14 @@ set_hindo(unsigned char* ptr, int len, int alen)
|
|||
break;
|
||||
}
|
||||
|
||||
|
||||
if(i) {
|
||||
if(hindo_num >= MaxHindoNumber) {
|
||||
fprintf(stderr, "\311\321\305\331\245\306\241\274\245\326\245\353\244\254\244\242\244\325\244\354\244\336\244\267\244\277\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
hrec = makehindo(ptr, len, alen);
|
||||
|
||||
|
||||
for(i = hindo_num; i > mid; i--) hindo[i] = hindo[i - 1];
|
||||
hindo[mid] = hrec;
|
||||
hindo_num++;
|
||||
|
|
@ -351,42 +288,33 @@ set_hindo(unsigned char* ptr, int len, int alen)
|
|||
else {
|
||||
hrec = hindo[mid];
|
||||
|
||||
|
||||
reset_assyuku(hrec);
|
||||
|
||||
reset_asshuku(hrec);
|
||||
|
||||
if(hrec->exist > 0)
|
||||
hrec->exist += 1;
|
||||
|
||||
|
||||
else if(len == alen && len > 2) {
|
||||
hrec->exist = 1;
|
||||
hrec->offset = ++kanji_num;
|
||||
}
|
||||
|
||||
|
||||
else
|
||||
hrec->hindo += 1;
|
||||
}
|
||||
|
||||
|
||||
set_assyuku(hrec);
|
||||
set_asshuku(hrec);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
reset_hindo(unsigned char* p, int l)
|
||||
{
|
||||
reset_hindo(unsigned char* p, int l) {
|
||||
HindoRec* hrec;
|
||||
int low, high, mid;
|
||||
int i;
|
||||
|
||||
|
||||
if(hindo_num <= 0) return;
|
||||
|
||||
|
||||
low = 0; high = hindo_num - 1;
|
||||
low = 0;
|
||||
high = hindo_num - 1;
|
||||
while(low <= high) {
|
||||
mid = (low + high) / 2;
|
||||
i = string_cmp(hindo[mid]->kptr, hindo[mid]->klen, p, l);
|
||||
|
|
@ -398,15 +326,13 @@ reset_hindo(unsigned char* p, int l)
|
|||
else {
|
||||
hrec = hindo[mid];
|
||||
|
||||
|
||||
reset_assyuku(hrec);
|
||||
reset_asshuku(hrec);
|
||||
|
||||
if(hrec->exist > 0)
|
||||
hrec->exist -= 1;
|
||||
else if(hrec->hindo > 0)
|
||||
hrec->hindo -= 1;
|
||||
|
||||
|
||||
if(hrec->exist + hrec->hindo == 0) {
|
||||
while(++mid < hindo_num) {
|
||||
hindo[mid - 1] = hindo[mid];
|
||||
|
|
@ -414,10 +340,9 @@ reset_hindo(unsigned char* p, int l)
|
|||
hindo_num--;
|
||||
Free(hrec->kptr);
|
||||
Free(hrec);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
|
||||
set_assyuku(hrec);
|
||||
set_asshuku(hrec);
|
||||
}
|
||||
|
||||
return;
|
||||
|
|
@ -426,10 +351,7 @@ reset_hindo(unsigned char* p, int l)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
knjhnd_set(unsigned char* p, int l)
|
||||
{
|
||||
void knjhnd_set(unsigned char* p, int l) {
|
||||
unsigned char* kp1;
|
||||
unsigned char* kp2;
|
||||
int i;
|
||||
|
|
@ -438,12 +360,10 @@ knjhnd_set(unsigned char* p, int l)
|
|||
|
||||
for(kp1 = p, kl1 = l; kl1 > 0;) {
|
||||
|
||||
|
||||
for(i = 0, kp2 = kp1; i < kl1;) {
|
||||
if(codesize(*kp2) == 1) {
|
||||
tmp[i++] = *kp2++;
|
||||
}
|
||||
else if (codesize(*kp2) == 2) {
|
||||
} else if(codesize(*kp2) == 2) {
|
||||
tmp[i++] = *kp2++;
|
||||
tmp[i++] = *kp2++;
|
||||
} else {
|
||||
|
|
@ -454,16 +374,12 @@ knjhnd_set(unsigned char* p, int l)
|
|||
set_hindo(tmp, i, l);
|
||||
}
|
||||
|
||||
|
||||
kl1 -= codesize(*kp1);
|
||||
kp1 += codesize(*kp1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
knjhnd_reset(unsigned char* p, int l)
|
||||
{
|
||||
void knjhnd_reset(unsigned char* p, int l) {
|
||||
unsigned char* kp1;
|
||||
unsigned char* kp2;
|
||||
int i;
|
||||
|
|
@ -472,12 +388,10 @@ knjhnd_reset(unsigned char* p, int l)
|
|||
|
||||
for(kp1 = p, kl1 = l; kl1 > 0;) {
|
||||
|
||||
|
||||
for(i = 0, kp2 = kp1; i < kl1;) {
|
||||
if(codesize(*kp2) == 1) {
|
||||
tmp[i++] = *kp2++;
|
||||
}
|
||||
else if (codesize(*kp2) == 2) {
|
||||
} else if(codesize(*kp2) == 2) {
|
||||
tmp[i++] = *kp2++;
|
||||
tmp[i++] = *kp2++;
|
||||
} else {
|
||||
|
|
@ -488,67 +402,51 @@ knjhnd_reset(unsigned char* p, int l)
|
|||
reset_hindo(tmp, i);
|
||||
}
|
||||
|
||||
|
||||
kl1 -= codesize(*kp1);
|
||||
kp1 += codesize(*kp1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
check_assyuku(HindoRec* p, HindoRec* q)
|
||||
{
|
||||
check_asshuku(HindoRec* p, HindoRec* q) {
|
||||
unsigned char ptmp[128], qtmp[128];
|
||||
int plen;
|
||||
int qlen;
|
||||
|
||||
|
||||
plen = make_knjstr(p->kptr, p->klen, ptmp);
|
||||
|
||||
|
||||
qlen = make_knjstr(q->kptr, q->klen, qtmp);
|
||||
|
||||
|
||||
if(bubun_str(ptmp, plen, qtmp, qlen)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
if(overlap_str(ptmp, plen, qtmp, qlen))
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
decide_knjask(void)
|
||||
{
|
||||
int decide_knjask(void) {
|
||||
int i, j;
|
||||
AssyukuRec *p;
|
||||
AsshukuRec* p;
|
||||
HindoRec* q;
|
||||
unsigned char* r;
|
||||
int len = 0;
|
||||
|
||||
askknj_num = 0;
|
||||
|
||||
|
||||
for (p = assyuku ; p ; p = p -> anext) {
|
||||
|
||||
for(p = asshuku; p; p = p->anext) {
|
||||
|
||||
if(p->len <= 0) break;
|
||||
|
||||
|
||||
for(q = p->nrec; q; q = q->anext) {
|
||||
|
||||
|
||||
i = q->klen;
|
||||
r = q->kptr;
|
||||
if(i > 2) {
|
||||
while(i > 0) {
|
||||
if ((*r & KanjiModeMask)
|
||||
== OffsetAssyuku) {
|
||||
if((*r & KanjiModeMask) == OffsetAsshuku) {
|
||||
break;
|
||||
}
|
||||
j = codesize(*r);
|
||||
|
|
@ -561,19 +459,17 @@ decide_knjask(void)
|
|||
if(askknj_num) {
|
||||
|
||||
for(i = 0; i < askknj_num; i++) {
|
||||
if (check_assyuku(askknj[i], q))
|
||||
if(check_asshuku(askknj[i], q))
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if(i >= askknj_num) {
|
||||
askknj[askknj_num++] = q;
|
||||
len += p->len;
|
||||
if(askknj_num >= MaxKnjAskNumber)
|
||||
goto end;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
askknj[askknj_num++] = q;
|
||||
len += p->len;
|
||||
}
|
||||
|
|
@ -589,7 +485,7 @@ end:
|
|||
p = askknj[i]->kptr;
|
||||
if(len <= 2) continue;
|
||||
while(len > 0) {
|
||||
if ((*p & KanjiModeMask) == OffsetAssyuku) {
|
||||
if((*p & KanjiModeMask) == OffsetAsshuku) {
|
||||
printf("\245\252\245\325\245\273\245\303\245\310\260\265\275\314\244\362\264\336\244\340 %d\n", i);
|
||||
}
|
||||
j = codesize(*p);
|
||||
|
|
@ -601,10 +497,7 @@ end:
|
|||
return len;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
clear_hindo(void)
|
||||
{
|
||||
void clear_hindo(void) {
|
||||
int i;
|
||||
|
||||
for(i = 0; i < hindo_num; i++) {
|
||||
|
|
@ -615,15 +508,12 @@ clear_hindo(void)
|
|||
kanji_num = 0;
|
||||
}
|
||||
|
||||
void clear_asshuku(void) {
|
||||
AsshukuRec* p;
|
||||
|
||||
void
|
||||
clear_assyuku(void)
|
||||
{
|
||||
AssyukuRec *p;
|
||||
|
||||
while (assyuku) {
|
||||
p = assyuku;
|
||||
assyuku = assyuku -> anext;
|
||||
while(asshuku) {
|
||||
p = asshuku;
|
||||
asshuku = asshuku->anext;
|
||||
Free(p);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
249
hinshi.c
Normal file
249
hinshi.c
Normal file
|
|
@ -0,0 +1,249 @@
|
|||
/*
|
||||
* Copyright (c) 1991-1994 Sony Corporation
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
|
||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
|
||||
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of Sony Corporation
|
||||
* shall not be used in advertising or otherwise to promote the sale, use
|
||||
* or other dealings in this Software without prior written authorization
|
||||
* from Sony Corporation.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "sj_hinshi.h"
|
||||
|
||||
static struct hlist {
|
||||
int code;
|
||||
char* str;
|
||||
} hinshi[] = {
|
||||
{MEISHI_1, "\314\276\273\354"},
|
||||
{MEISHI_1, "\314\276\243\261"},
|
||||
{MEISHI_2, "\314\276\243\262"},
|
||||
{MEISHI_3, "\314\276\243\263"},
|
||||
{MEISHI_4, "\314\276\243\264"},
|
||||
{MEISHI_5, "\314\276\243\265"},
|
||||
{MEISHI_6, "\314\276\243\266"},
|
||||
{MEISHI_7, "\314\276\243\267"},
|
||||
{MEISHI_8, "\314\276\243\270"},
|
||||
{MEISHI_9, "\314\276\243\271"},
|
||||
{MEISHI_10, "\314\276\243\261\243\260"},
|
||||
{MEISHI_11, "\314\276\243\261\243\261"},
|
||||
{MEISHI_20, "\314\276\243\262\243\260"},
|
||||
{D_MEISHI_1, "\302\345\314\276\273\354"},
|
||||
{D_MEISHI_1, "\302\345\243\261"},
|
||||
{D_MEISHI_2, "\302\345\243\262"},
|
||||
{D_MEISHI_3, "\302\345\243\263"},
|
||||
{D_MEISHI_4, "\302\345\243\264"},
|
||||
{D_MEISHI_5, "\302\345\243\265"},
|
||||
{D_MEISHI_6, "\302\345\243\266"},
|
||||
{MYOUJI, "\311\304\273\372"},
|
||||
{NAMAE, "\314\276\301\260"},
|
||||
{KIGYOU, "\264\353\266\310"},
|
||||
{TIMEI, "\303\317\314\276"},
|
||||
{KEN_KU, "\270\251\241\277\266\350\314\276"},
|
||||
{KEN_KU, "\270\251\266\350"},
|
||||
{RENTAISHI, "\317\242\302\316\273\354"},
|
||||
{RENTAISHI, "\317\242\302\316"},
|
||||
{SETSUZOKU, "\300\334\302\263\273\354"},
|
||||
{SETSUZOKU, "\300\334\302\263"},
|
||||
{KANDOUSHI, "\264\266\306\260"},
|
||||
{JOSUUSHI, "\275\365\277\364\273\354"},
|
||||
{JOSUUSHI, "\275\365\277\364"},
|
||||
{SUUSHI, "\277\364\273\354"},
|
||||
{SETTOU_1, "\300\334\306\254\270\354"},
|
||||
{SETTOU_1, "\300\334\306\254\243\261"},
|
||||
{SETTOU_2, "\300\334\306\254\243\262"},
|
||||
{SETTOU_3, "\300\334\306\254\243\263"},
|
||||
{SETTOU_4, "\300\334\306\254\243\264"},
|
||||
{SETTOU_5, "\300\334\306\254\243\265"},
|
||||
{SETSUBI_1, "\300\334\310\370\270\354"},
|
||||
{SETSUBI_1, "\300\334\310\370\243\261"},
|
||||
{SETSUBI_2, "\300\334\310\370\243\262"},
|
||||
{SETSUBI_3, "\300\334\310\370\243\263"},
|
||||
{SETSUBI_4, "\300\334\310\370\243\264"},
|
||||
{SETSUBI_5, "\300\334\310\370\243\265"},
|
||||
{SETSUBI_6, "\300\334\310\370\243\266"},
|
||||
{SETSUBI_7, "\300\334\310\370\243\267"},
|
||||
{SETSUBI_8, "\300\334\310\370\243\270"},
|
||||
{SETSUBI_9, "\300\334\310\370\243\271"},
|
||||
{FUKUSHI_1, "\311\373\273\354"},
|
||||
{FUKUSHI_1, "\311\373\243\261"},
|
||||
{FUKUSHI_2, "\311\373\243\262"},
|
||||
{FUKUSHI_3, "\311\373\243\263"},
|
||||
{FUKUSHI_4, "\311\373\243\264"},
|
||||
{FUKUSHI_5, "\311\373\243\265"},
|
||||
{FUKUSHI_6, "\311\373\243\266"},
|
||||
{FUKUSHI_7, "\311\373\243\267"},
|
||||
{FUKUSHI_8, "\311\373\243\270"},
|
||||
{FUKUSHI_9, "\311\373\243\271"},
|
||||
{JOSUUSHI2, "\275\365\277\364\243\262"},
|
||||
{KEIYOUSHI_1, "\267\301\315\306\273\354"},
|
||||
{KEIYOUSHI_1, "\267\301\243\261"},
|
||||
{KEIYOUSHI_2, "\267\301\243\262"},
|
||||
{KEIYOUSHI_3, "\267\301\243\263"},
|
||||
{KEIYOUSHI_4, "\267\301\243\264"},
|
||||
{KEIYOUSHI_5, "\267\301\243\265"},
|
||||
{KEIYOUSHI_6, "\267\301\243\266"},
|
||||
{KEIYOUSHI_7, "\267\301\243\267"},
|
||||
{KEIYOUSHI_8, "\267\301\243\270"},
|
||||
{KEIYOUSHI_9, "\267\301\243\271"},
|
||||
{KEIYOUSHI_10, "\267\301\243\261\243\260"},
|
||||
{KEIYOUSHI_11, "\267\301\243\261\243\261"},
|
||||
{KE_DOUSHI_1, "\267\301\315\306\306\260\273\354"},
|
||||
{KE_DOUSHI_1, "\267\301\306\260\243\261"},
|
||||
{KE_DOUSHI_2, "\267\301\306\260\243\262"},
|
||||
{KE_DOUSHI_3, "\267\301\306\260\243\263"},
|
||||
{KE_DOUSHI_4, "\267\301\306\260\243\264"},
|
||||
{KE_DOUSHI_5, "\267\301\306\260\243\265"},
|
||||
{KE_DOUSHI_6, "\267\301\306\260\243\266"},
|
||||
{KE_DOUSHI_7, "\267\301\306\260\243\267"},
|
||||
{KE_DOUSHI_8, "\267\301\306\260\243\270"},
|
||||
{KE_DOUSHI_9, "\267\301\306\260\243\271"},
|
||||
{DO_SAHEN, "\306\260\241\246\245\265\312\321"},
|
||||
{DO_SAHEN, "\245\265\312\321"},
|
||||
{DO_ZAHEN, "\306\260\241\246\245\266\312\321"},
|
||||
{DO_ZAHEN, "\245\266\312\321"},
|
||||
{DO_1DAN_1, "\306\260\241\246\260\354\303\312"},
|
||||
{DO_1DAN_1, "\260\354\303\312\243\261"},
|
||||
{DO_KAGO_1, "\306\260\241\246\245\253\270\336"},
|
||||
{DO_KAGO_1, "\245\253\270\336\243\261"},
|
||||
{DO_GAGO_1, "\306\260\241\246\245\254\270\336"},
|
||||
{DO_GAGO_1, "\245\254\270\336\243\261"},
|
||||
{DO_SAGO_1, "\306\260\241\246\245\265\270\336"},
|
||||
{DO_SAGO_1, "\245\265\270\336\243\261"},
|
||||
{DO_TAGO_1, "\306\260\241\246\245\277\270\336"},
|
||||
{DO_TAGO_1, "\245\277\270\336\243\261"},
|
||||
{DO_NAGO_1, "\306\260\241\246\245\312\270\336"},
|
||||
{DO_NAGO_1, "\245\312\270\336"},
|
||||
{DO_BAGO_1, "\306\260\241\246\245\320\270\336"},
|
||||
{DO_BAGO_1, "\245\320\270\336\243\261"},
|
||||
{DO_MAGO_1, "\306\260\241\246\245\336\270\336"},
|
||||
{DO_MAGO_1, "\245\336\270\336\243\261"},
|
||||
{DO_RAGO_1, "\306\260\241\246\245\351\270\336"},
|
||||
{DO_RAGO_1, "\245\351\270\336\243\261"},
|
||||
{DO_WAGO_1, "\306\260\241\246\245\357\270\336"},
|
||||
{DO_WAGO_1, "\245\357\270\336\243\261"},
|
||||
{DO_1DAN_2, "\260\354\303\312\243\262"},
|
||||
{DO_KAGO_2, "\245\253\270\336\243\262"},
|
||||
{DO_GAGO_2, "\245\254\270\336\243\262"},
|
||||
{DO_SAGO_2, "\245\265\270\336\243\262"},
|
||||
{DO_TAGO_2, "\245\277\270\336\243\262"},
|
||||
{DO_BAGO_2, "\245\320\270\336\243\262"},
|
||||
{DO_MAGO_2, "\245\336\270\336\243\262"},
|
||||
{DO_RAGO_2, "\245\351\270\336\243\262"},
|
||||
{DO_WAGO_2, "\245\357\270\336\243\262"},
|
||||
{DO_KAGO_5, "\245\253\270\336\243\265"},
|
||||
{DO_GAGO_5, "\245\254\270\336\243\265"},
|
||||
{DO_SAGO_5, "\245\265\270\336\243\265"},
|
||||
{DO_TAGO_5, "\245\277\270\336\243\265"},
|
||||
{DO_BAGO_5, "\245\320\270\336\243\265"},
|
||||
{DO_MAGO_5, "\245\336\270\336\243\265"},
|
||||
{DO_RAGO_5, "\245\351\270\336\243\265"},
|
||||
{DO_WAGO_5, "\245\357\270\336\243\265"},
|
||||
{DO_KAGO_6, "\245\253\270\336\243\266"},
|
||||
{DO_GAGO_6, "\245\254\270\336\243\266"},
|
||||
{DO_SAGO_6, "\245\265\270\336\243\266"},
|
||||
{DO_TAGO_6, "\245\277\270\336\243\266"},
|
||||
{DO_BAGO_6, "\245\320\270\336\243\266"},
|
||||
{DO_MAGO_6, "\245\336\270\336\243\266"},
|
||||
{DO_RAGO_6, "\245\351\270\336\243\266"},
|
||||
{DO_WAGO_6, "\245\357\270\336\243\266"},
|
||||
{DO_1DAN_3, "\260\354\303\312\243\263"},
|
||||
{DO_KAGO_3, "\245\253\270\336\243\263"},
|
||||
{DO_GAGO_3, "\245\254\270\336\243\263"},
|
||||
{DO_SAGO_3, "\245\265\270\336\243\263"},
|
||||
{DO_TAGO_3, "\245\277\270\336\243\263"},
|
||||
{DO_BAGO_3, "\245\320\270\336\243\263"},
|
||||
{DO_MAGO_3, "\245\336\270\336\243\263"},
|
||||
{DO_RAGO_3, "\245\351\270\336\243\263"},
|
||||
{DO_WAGO_3, "\245\357\270\336\243\263"},
|
||||
{DO_1DAN_4, "\260\354\303\312\243\264"},
|
||||
{DO_KAGO_4, "\245\253\270\336\243\264"},
|
||||
{DO_GAGO_4, "\245\254\270\336\243\264"},
|
||||
{DO_SAGO_4, "\245\265\270\336\243\264"},
|
||||
{DO_TAGO_4, "\245\277\270\336\243\264"},
|
||||
{DO_BAGO_4, "\245\320\270\336\243\264"},
|
||||
{DO_MAGO_4, "\245\336\270\336\243\264"},
|
||||
{DO_RAGO_4, "\245\351\270\336\243\264"},
|
||||
{DO_WAGO_4, "\245\357\270\336\243\264"},
|
||||
{DO_KAGO_7, "\245\253\270\336\243\267"},
|
||||
{DO_GAGO_7, "\245\254\270\336\243\267"},
|
||||
{DO_SAGO_7, "\245\265\270\336\243\267"},
|
||||
{DO_TAGO_7, "\245\277\270\336\243\267"},
|
||||
{DO_BAGO_7, "\245\320\270\336\243\267"},
|
||||
{DO_MAGO_7, "\245\336\270\336\243\267"},
|
||||
{DO_RAGO_7, "\245\351\270\336\243\267"},
|
||||
{DO_WAGO_7, "\245\357\270\336\243\267"},
|
||||
{DO_KAGO_8, "\245\253\270\336\243\270"},
|
||||
{DO_GAGO_8, "\245\254\270\336\243\270"},
|
||||
{DO_SAGO_8, "\245\265\270\336\243\270"},
|
||||
{DO_TAGO_8, "\245\277\270\336\243\270"},
|
||||
{DO_BAGO_8, "\245\320\270\336\243\270"},
|
||||
{DO_MAGO_8, "\245\336\270\336\243\270"},
|
||||
{DO_RAGO_8, "\245\351\270\336\243\270"},
|
||||
{DO_WAGO_8, "\245\357\270\336\243\270"},
|
||||
{SP_SA_MI1, "\245\265\312\321\314\244\243\261"},
|
||||
{SP_SA_MI2, "\245\265\312\321\314\244\243\262"},
|
||||
{SP_SA_YOU, "\245\265\312\321\314\244\315\321"},
|
||||
{SP_SA_SHU, "\245\265\312\321\275\252\302\316"},
|
||||
{SP_SA_KAT, "\245\265\312\321\262\276"},
|
||||
{SP_SA_ME1, "\245\265\312\321\314\277\243\261"},
|
||||
{SP_SA_ME2, "\245\265\312\321\314\277\243\262"},
|
||||
{SP_KA_MIZ, "\245\253\312\321\314\244"},
|
||||
{SP_KA_YOU, "\245\253\312\321\315\321"},
|
||||
{SP_KA_SHU, "\245\253\312\321\275\252\302\316"},
|
||||
{SP_KA_KAT, "\245\253\312\321\262\276"},
|
||||
{SP_KA_MEI, "\245\253\312\321\314\277"},
|
||||
{TEINEI1, "\303\372\307\253\243\261"},
|
||||
{TEINEI2, "\303\372\307\253\243\262"},
|
||||
{SP_KA_ONB, "\245\253\270\336\262\273\312\330"},
|
||||
{SP_FUKUSHI, "\306\303\274\354\311\373"},
|
||||
{AISATSU, "\260\247\273\242"},
|
||||
{SP_KEIYOUSHI, "\306\303\274\354\267\301\315\306"},
|
||||
{TANKANJI, "\303\261\264\301\273\372"},
|
||||
{TANKANJI, "\303\261\264\301"},
|
||||
{IKKATU, "\260\354\263\347"},
|
||||
{0, 0}};
|
||||
|
||||
char* hns2str(code)
|
||||
int code;
|
||||
{
|
||||
struct hlist* p;
|
||||
|
||||
for(p = hinshi; p->code; p++) {
|
||||
if(p->code == code)
|
||||
return p->str;
|
||||
}
|
||||
|
||||
return "ERROR";
|
||||
}
|
||||
|
||||
int str2hns(str)
|
||||
char* str;
|
||||
{
|
||||
struct hlist* p;
|
||||
|
||||
for(p = hinshi; p->code; p++) {
|
||||
if(strcmp(p->str, str) == 0)
|
||||
return p->code;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
259
hinsi.c
259
hinsi.c
|
|
@ -1,259 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 1991-1994 Sony Corporation
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM,
|
||||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
|
||||
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of Sony Corporation
|
||||
* shall not be used in advertising or otherwise to promote the sale, use
|
||||
* or other dealings in this Software without prior written authorization
|
||||
* from Sony Corporation.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: hinsi.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:36 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
#include "sj_hinsi.h"
|
||||
|
||||
static struct hlist {
|
||||
int code;
|
||||
char *str;
|
||||
} hinsi[] = {
|
||||
{MEISI_1, "\314\276\273\354"},
|
||||
{MEISI_1, "\314\276\243\261"},
|
||||
{MEISI_2, "\314\276\243\262"},
|
||||
{MEISI_3, "\314\276\243\263"},
|
||||
{MEISI_4, "\314\276\243\264"},
|
||||
{MEISI_5, "\314\276\243\265"},
|
||||
{MEISI_6, "\314\276\243\266"},
|
||||
{MEISI_7, "\314\276\243\267"},
|
||||
{MEISI_8, "\314\276\243\270"},
|
||||
{MEISI_9, "\314\276\243\271"},
|
||||
{MEISI_10, "\314\276\243\261\243\260"},
|
||||
{MEISI_11, "\314\276\243\261\243\261"},
|
||||
{MEISI_20, "\314\276\243\262\243\260"},
|
||||
{D_MEISI_1, "\302\345\314\276\273\354"},
|
||||
{D_MEISI_1, "\302\345\243\261"},
|
||||
{D_MEISI_2, "\302\345\243\262"},
|
||||
{D_MEISI_3, "\302\345\243\263"},
|
||||
{D_MEISI_4, "\302\345\243\264"},
|
||||
{D_MEISI_5, "\302\345\243\265"},
|
||||
{D_MEISI_6, "\302\345\243\266"},
|
||||
{MYOUJI, "\311\304\273\372"},
|
||||
{NAMAE, "\314\276\301\260"},
|
||||
{KIGYOU, "\264\353\266\310"},
|
||||
{TIMEI, "\303\317\314\276"},
|
||||
{KEN_KU, "\270\251\241\277\266\350\314\276"},
|
||||
{KEN_KU, "\270\251\266\350"},
|
||||
{RENTAISI, "\317\242\302\316\273\354"},
|
||||
{RENTAISI, "\317\242\302\316"},
|
||||
{SETUZOKU, "\300\334\302\263\273\354"},
|
||||
{SETUZOKU, "\300\334\302\263"},
|
||||
{KANDOUSI, "\264\266\306\260"},
|
||||
{JOSUUSI, "\275\365\277\364\273\354"},
|
||||
{JOSUUSI, "\275\365\277\364"},
|
||||
{SUUSI, "\277\364\273\354"},
|
||||
{SETTOU_1, "\300\334\306\254\270\354"},
|
||||
{SETTOU_1, "\300\334\306\254\243\261"},
|
||||
{SETTOU_2, "\300\334\306\254\243\262"},
|
||||
{SETTOU_3, "\300\334\306\254\243\263"},
|
||||
{SETTOU_4, "\300\334\306\254\243\264"},
|
||||
{SETTOU_5, "\300\334\306\254\243\265"},
|
||||
{SETUBI_1, "\300\334\310\370\270\354"},
|
||||
{SETUBI_1, "\300\334\310\370\243\261"},
|
||||
{SETUBI_2, "\300\334\310\370\243\262"},
|
||||
{SETUBI_3, "\300\334\310\370\243\263"},
|
||||
{SETUBI_4, "\300\334\310\370\243\264"},
|
||||
{SETUBI_5, "\300\334\310\370\243\265"},
|
||||
{SETUBI_6, "\300\334\310\370\243\266"},
|
||||
{SETUBI_7, "\300\334\310\370\243\267"},
|
||||
{SETUBI_8, "\300\334\310\370\243\270"},
|
||||
{SETUBI_9, "\300\334\310\370\243\271"},
|
||||
{FUKUSI_1, "\311\373\273\354"},
|
||||
{FUKUSI_1, "\311\373\243\261"},
|
||||
{FUKUSI_2, "\311\373\243\262"},
|
||||
{FUKUSI_3, "\311\373\243\263"},
|
||||
{FUKUSI_4, "\311\373\243\264"},
|
||||
{FUKUSI_5, "\311\373\243\265"},
|
||||
{FUKUSI_6, "\311\373\243\266"},
|
||||
{FUKUSI_7, "\311\373\243\267"},
|
||||
{FUKUSI_8, "\311\373\243\270"},
|
||||
{FUKUSI_9, "\311\373\243\271"},
|
||||
{JOSUUSI2, "\275\365\277\364\243\262"},
|
||||
{KEIYOUSI_1, "\267\301\315\306\273\354"},
|
||||
{KEIYOUSI_1, "\267\301\243\261"},
|
||||
{KEIYOUSI_2, "\267\301\243\262"},
|
||||
{KEIYOUSI_3, "\267\301\243\263"},
|
||||
{KEIYOUSI_4, "\267\301\243\264"},
|
||||
{KEIYOUSI_5, "\267\301\243\265"},
|
||||
{KEIYOUSI_6, "\267\301\243\266"},
|
||||
{KEIYOUSI_7, "\267\301\243\267"},
|
||||
{KEIYOUSI_8, "\267\301\243\270"},
|
||||
{KEIYOUSI_9, "\267\301\243\271"},
|
||||
{KEIYOUSI_10, "\267\301\243\261\243\260"},
|
||||
{KEIYOUSI_11, "\267\301\243\261\243\261"},
|
||||
{KE_DOUSI_1, "\267\301\315\306\306\260\273\354"},
|
||||
{KE_DOUSI_1, "\267\301\306\260\243\261"},
|
||||
{KE_DOUSI_2, "\267\301\306\260\243\262"},
|
||||
{KE_DOUSI_3, "\267\301\306\260\243\263"},
|
||||
{KE_DOUSI_4, "\267\301\306\260\243\264"},
|
||||
{KE_DOUSI_5, "\267\301\306\260\243\265"},
|
||||
{KE_DOUSI_6, "\267\301\306\260\243\266"},
|
||||
{KE_DOUSI_7, "\267\301\306\260\243\267"},
|
||||
{KE_DOUSI_8, "\267\301\306\260\243\270"},
|
||||
{KE_DOUSI_9, "\267\301\306\260\243\271"},
|
||||
{DO_SAHEN, "\306\260\241\246\245\265\312\321"},
|
||||
{DO_SAHEN, "\245\265\312\321"},
|
||||
{DO_ZAHEN, "\306\260\241\246\245\266\312\321"},
|
||||
{DO_ZAHEN, "\245\266\312\321"},
|
||||
{DO_1DAN_1, "\306\260\241\246\260\354\303\312"},
|
||||
{DO_1DAN_1, "\260\354\303\312\243\261"},
|
||||
{DO_KAGO_1, "\306\260\241\246\245\253\270\336"},
|
||||
{DO_KAGO_1, "\245\253\270\336\243\261"},
|
||||
{DO_GAGO_1, "\306\260\241\246\245\254\270\336"},
|
||||
{DO_GAGO_1, "\245\254\270\336\243\261"},
|
||||
{DO_SAGO_1, "\306\260\241\246\245\265\270\336"},
|
||||
{DO_SAGO_1, "\245\265\270\336\243\261"},
|
||||
{DO_TAGO_1, "\306\260\241\246\245\277\270\336"},
|
||||
{DO_TAGO_1, "\245\277\270\336\243\261"},
|
||||
{DO_NAGO_1, "\306\260\241\246\245\312\270\336"},
|
||||
{DO_NAGO_1, "\245\312\270\336"},
|
||||
{DO_BAGO_1, "\306\260\241\246\245\320\270\336"},
|
||||
{DO_BAGO_1, "\245\320\270\336\243\261"},
|
||||
{DO_MAGO_1, "\306\260\241\246\245\336\270\336"},
|
||||
{DO_MAGO_1, "\245\336\270\336\243\261"},
|
||||
{DO_RAGO_1, "\306\260\241\246\245\351\270\336"},
|
||||
{DO_RAGO_1, "\245\351\270\336\243\261"},
|
||||
{DO_WAGO_1, "\306\260\241\246\245\357\270\336"},
|
||||
{DO_WAGO_1, "\245\357\270\336\243\261"},
|
||||
{DO_1DAN_2, "\260\354\303\312\243\262"},
|
||||
{DO_KAGO_2, "\245\253\270\336\243\262"},
|
||||
{DO_GAGO_2, "\245\254\270\336\243\262"},
|
||||
{DO_SAGO_2, "\245\265\270\336\243\262"},
|
||||
{DO_TAGO_2, "\245\277\270\336\243\262"},
|
||||
{DO_BAGO_2, "\245\320\270\336\243\262"},
|
||||
{DO_MAGO_2, "\245\336\270\336\243\262"},
|
||||
{DO_RAGO_2, "\245\351\270\336\243\262"},
|
||||
{DO_WAGO_2, "\245\357\270\336\243\262"},
|
||||
{DO_KAGO_5, "\245\253\270\336\243\265"},
|
||||
{DO_GAGO_5, "\245\254\270\336\243\265"},
|
||||
{DO_SAGO_5, "\245\265\270\336\243\265"},
|
||||
{DO_TAGO_5, "\245\277\270\336\243\265"},
|
||||
{DO_BAGO_5, "\245\320\270\336\243\265"},
|
||||
{DO_MAGO_5, "\245\336\270\336\243\265"},
|
||||
{DO_RAGO_5, "\245\351\270\336\243\265"},
|
||||
{DO_WAGO_5, "\245\357\270\336\243\265"},
|
||||
{DO_KAGO_6, "\245\253\270\336\243\266"},
|
||||
{DO_GAGO_6, "\245\254\270\336\243\266"},
|
||||
{DO_SAGO_6, "\245\265\270\336\243\266"},
|
||||
{DO_TAGO_6, "\245\277\270\336\243\266"},
|
||||
{DO_BAGO_6, "\245\320\270\336\243\266"},
|
||||
{DO_MAGO_6, "\245\336\270\336\243\266"},
|
||||
{DO_RAGO_6, "\245\351\270\336\243\266"},
|
||||
{DO_WAGO_6, "\245\357\270\336\243\266"},
|
||||
{DO_1DAN_3, "\260\354\303\312\243\263"},
|
||||
{DO_KAGO_3, "\245\253\270\336\243\263"},
|
||||
{DO_GAGO_3, "\245\254\270\336\243\263"},
|
||||
{DO_SAGO_3, "\245\265\270\336\243\263"},
|
||||
{DO_TAGO_3, "\245\277\270\336\243\263"},
|
||||
{DO_BAGO_3, "\245\320\270\336\243\263"},
|
||||
{DO_MAGO_3, "\245\336\270\336\243\263"},
|
||||
{DO_RAGO_3, "\245\351\270\336\243\263"},
|
||||
{DO_WAGO_3, "\245\357\270\336\243\263"},
|
||||
{DO_1DAN_4, "\260\354\303\312\243\264"},
|
||||
{DO_KAGO_4, "\245\253\270\336\243\264"},
|
||||
{DO_GAGO_4, "\245\254\270\336\243\264"},
|
||||
{DO_SAGO_4, "\245\265\270\336\243\264"},
|
||||
{DO_TAGO_4, "\245\277\270\336\243\264"},
|
||||
{DO_BAGO_4, "\245\320\270\336\243\264"},
|
||||
{DO_MAGO_4, "\245\336\270\336\243\264"},
|
||||
{DO_RAGO_4, "\245\351\270\336\243\264"},
|
||||
{DO_WAGO_4, "\245\357\270\336\243\264"},
|
||||
{DO_KAGO_7, "\245\253\270\336\243\267"},
|
||||
{DO_GAGO_7, "\245\254\270\336\243\267"},
|
||||
{DO_SAGO_7, "\245\265\270\336\243\267"},
|
||||
{DO_TAGO_7, "\245\277\270\336\243\267"},
|
||||
{DO_BAGO_7, "\245\320\270\336\243\267"},
|
||||
{DO_MAGO_7, "\245\336\270\336\243\267"},
|
||||
{DO_RAGO_7, "\245\351\270\336\243\267"},
|
||||
{DO_WAGO_7, "\245\357\270\336\243\267"},
|
||||
{DO_KAGO_8, "\245\253\270\336\243\270"},
|
||||
{DO_GAGO_8, "\245\254\270\336\243\270"},
|
||||
{DO_SAGO_8, "\245\265\270\336\243\270"},
|
||||
{DO_TAGO_8, "\245\277\270\336\243\270"},
|
||||
{DO_BAGO_8, "\245\320\270\336\243\270"},
|
||||
{DO_MAGO_8, "\245\336\270\336\243\270"},
|
||||
{DO_RAGO_8, "\245\351\270\336\243\270"},
|
||||
{DO_WAGO_8, "\245\357\270\336\243\270"},
|
||||
{SP_SA_MI1, "\245\265\312\321\314\244\243\261"},
|
||||
{SP_SA_MI2, "\245\265\312\321\314\244\243\262"},
|
||||
{SP_SA_YOU, "\245\265\312\321\314\244\315\321"},
|
||||
{SP_SA_SYU, "\245\265\312\321\275\252\302\316"},
|
||||
{SP_SA_KAT, "\245\265\312\321\262\276"},
|
||||
{SP_SA_ME1, "\245\265\312\321\314\277\243\261"},
|
||||
{SP_SA_ME2, "\245\265\312\321\314\277\243\262"},
|
||||
{SP_KA_MIZ, "\245\253\312\321\314\244"},
|
||||
{SP_KA_YOU, "\245\253\312\321\315\321"},
|
||||
{SP_KA_SYU, "\245\253\312\321\275\252\302\316"},
|
||||
{SP_KA_KAT, "\245\253\312\321\262\276"},
|
||||
{SP_KA_MEI, "\245\253\312\321\314\277"},
|
||||
{TEINEI1, "\303\372\307\253\243\261"},
|
||||
{TEINEI2, "\303\372\307\253\243\262"},
|
||||
{SP_KA_ONB, "\245\253\270\336\262\273\312\330"},
|
||||
{SP_FUKUSI, "\306\303\274\354\311\373"},
|
||||
{AISATU, "\260\247\273\242"},
|
||||
{SP_KEIYOUSI, "\306\303\274\354\267\301\315\306"},
|
||||
{TANKANJI, "\303\261\264\301\273\372"},
|
||||
{TANKANJI, "\303\261\264\301"},
|
||||
{IKKATU, "\260\354\263\347"},
|
||||
{0, 0}
|
||||
};
|
||||
|
||||
char *hns2str(code)
|
||||
int code;
|
||||
{
|
||||
struct hlist *p;
|
||||
|
||||
for (p = hinsi ; p -> code ; p++) {
|
||||
if (p -> code == code)
|
||||
return p -> str;
|
||||
}
|
||||
|
||||
return "ERROR";
|
||||
}
|
||||
|
||||
int str2hns(str)
|
||||
char *str;
|
||||
{
|
||||
struct hlist *p;
|
||||
|
||||
for (p = hinsi ; p -> code ; p++) {
|
||||
if (strcmp(p -> str, str) == 0)
|
||||
return p -> code;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
18
hzstrlen.c
18
hzstrlen.c
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: hzstrlen.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:52 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include "sj_euc.h"
|
||||
#include "sj_rename.h"
|
||||
#include "sj_typedef.h"
|
||||
|
|
@ -43,9 +34,7 @@
|
|||
#include "sj_dict.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
int
|
||||
euc_codesize (unsigned char c)
|
||||
{
|
||||
int euc_codesize(unsigned char c) {
|
||||
if((c & KanjiModeMask) == 0x90) {
|
||||
return 1;
|
||||
} else if(isknj1(c)) {
|
||||
|
|
@ -57,12 +46,9 @@ euc_codesize (unsigned char c)
|
|||
}
|
||||
}
|
||||
|
||||
int
|
||||
hzstrlen (unsigned char *ptr, int len)
|
||||
{
|
||||
int hzstrlen(unsigned char* ptr, int len) {
|
||||
unsigned char* head;
|
||||
head = ptr;
|
||||
while(len-- > 0) ptr += euc_codesize(*ptr);
|
||||
return (ptr - head);
|
||||
}
|
||||
|
||||
|
|
|
|||
12
init.c
12
init.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: init.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:54 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj_kcnv.h"
|
||||
|
||||
void seg_count(dict)
|
||||
|
|
@ -78,9 +70,7 @@ DICT *dict;
|
|||
}
|
||||
}
|
||||
|
||||
void initwork()
|
||||
{
|
||||
void initwork() {
|
||||
jrt1st = jrt2nd = maxjptr = (JREC*)0;
|
||||
clt1st = clt2nd = maxclptr = (CLREC*)0;
|
||||
}
|
||||
|
||||
|
|
|
|||
12
inkey.h
12
inkey.h
|
|
@ -27,18 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: inkey.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:44 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define KEYBUFSIZ 520
|
||||
#define KEYBUFLIM 512
|
||||
#define AVLEN 3
|
||||
|
||||
|
|
|
|||
|
|
@ -33,9 +33,7 @@
|
|||
#include "const.h"
|
||||
#include "sj_typedef.h"
|
||||
|
||||
int
|
||||
istrcmp(unsigned char *yomip, unsigned char *idxp, int ylen, int ilen)
|
||||
{
|
||||
int istrcmp(unsigned char* yomip, unsigned char* idxp, int ylen, int ilen) {
|
||||
while(1) {
|
||||
if((ilen | ylen) == 0)
|
||||
return MATCH;
|
||||
|
|
|
|||
11
kana.h
11
kana.h
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: kana.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:45 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
#define ZKATA1 0xa5
|
||||
#define ZHIRA1 0xa4
|
||||
#define ZKATAF2 0xa1
|
||||
|
|
@ -47,8 +38,6 @@
|
|||
|
||||
#define ZKATAn (ZKATAE2 - ZKATAF2 + 1)
|
||||
|
||||
|
||||
|
||||
#define ZEN_SPACE 0xa1a1
|
||||
#define ZEN_KTEN 0xa1a3
|
||||
#define ZEN_FKAKKO 0xa1d6
|
||||
|
|
|
|||
22
kanakan.h
22
kanakan.h
|
|
@ -38,14 +38,14 @@
|
|||
#include "Struct.h"
|
||||
|
||||
/* adddic.c */
|
||||
unsigned int adddic(unsigned char *yomi, unsigned char *kanji, TypeGram hinsi);
|
||||
unsigned int adddic(unsigned char* yomi, unsigned char* kanji, TypeGram hinshi);
|
||||
|
||||
/* addelcmn.c */
|
||||
void set_size(unsigned char* p, int size, int plen, int nlen);
|
||||
unsigned int addel_arg(unsigned char* yp, unsigned char* kp, TypeGram grm, unsigned char* nyp, int len);
|
||||
int cvtknj(unsigned char* yomi, unsigned char* knj, unsigned char* dst);
|
||||
int srchkana(unsigned char** ptr, int* saml);
|
||||
int srchgram(unsigned char *ptr, unsigned char **dst, TypeGram hinsi);
|
||||
int srchgram(unsigned char* ptr, unsigned char** dst, TypeGram hinshi);
|
||||
int srchkanji(unsigned char** dst, unsigned char* knj, int klen);
|
||||
TypeIdxOfs count_uidx(void);
|
||||
void chg_uidx(TypeDicSeg seg, unsigned char* yomi, int len);
|
||||
|
|
@ -81,7 +81,7 @@ void cvtkouho(KHREC *krec);
|
|||
void setstyrec(KHREC* krec);
|
||||
|
||||
/* deldic.c */
|
||||
unsigned int deldic(unsigned char *yomi, unsigned char *kanji, TypeGram hinsi);
|
||||
unsigned int deldic(unsigned char* yomi, unsigned char* kanji, TypeGram hinshi);
|
||||
|
||||
/* depend.c */
|
||||
DictFile* opendict(char* name, char* passwd);
|
||||
|
|
@ -124,12 +124,12 @@ void getrank(void);
|
|||
int euc_codesize(unsigned char c);
|
||||
int hzstrlen(unsigned char* ptr, int len);
|
||||
|
||||
/* mkbunset.c */
|
||||
void mkbunsetu(void);
|
||||
/* mkbunsetsu.c */
|
||||
void mkbunsetsu(void);
|
||||
CLREC* argclrec(int len);
|
||||
|
||||
/* mkjiritu.c */
|
||||
void mkjiritu(int mode);
|
||||
/* mkjiritsu.c */
|
||||
void mkjiritsu(int mode);
|
||||
JREC* argjrec(int len, JREC* rec);
|
||||
|
||||
/* mkkouho.c */
|
||||
|
|
@ -171,7 +171,7 @@ int ph2knj(unsigned char *zyomi, unsigned char *kanji, int knjlen);
|
|||
int ph_khtbl(CLREC* clrec);
|
||||
|
||||
/* setconj.c */
|
||||
int setconj(TypeGram hinsi, JREC *jrec, CREC *crec);
|
||||
int setconj(TypeGram hinshi, JREC* jrec, CREC* crec);
|
||||
|
||||
/* setjrec.c */
|
||||
int setj_atrb(unsigned char* p);
|
||||
|
|
@ -195,9 +195,9 @@ int hiraknj_kask(unsigned char*, int*);
|
|||
int hiraknj_norm(unsigned char*, int*);
|
||||
int hiraknj_hira(unsigned char*, int*);
|
||||
|
||||
/* setubi.c */
|
||||
unsigned char *getstb(TypeGram hinsi);
|
||||
void setubi(JREC *rec, unsigned char *stbtbl);
|
||||
/* setsubi.c */
|
||||
unsigned char* getstb(TypeGram hinshi);
|
||||
void setsubi(JREC* rec, unsigned char* stbtbl);
|
||||
|
||||
/* skipkstr.c */
|
||||
unsigned char* skipkstr(unsigned char* ptr);
|
||||
|
|
|
|||
9
kctype.h
9
kctype.h
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: kctype.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:46 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#if !defined(__sony_news) || (defined(__sony_news) && !defined(SVR4))
|
||||
#ifndef __KCTYPE
|
||||
#define __KCTYPE
|
||||
|
|
@ -112,4 +104,3 @@
|
|||
#define iskana iskana2
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
|
|||
15
key.h
15
key.h
|
|
@ -27,16 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: key.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:47 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define KEY_NORMAL 0
|
||||
#define KEY_CONV 1
|
||||
#define KEY_HENKAN 2
|
||||
|
|
@ -60,7 +50,7 @@
|
|||
#define KEY_WRAPBACK 19
|
||||
#define KEY_HELP 20
|
||||
#define KEY_TOROKU 21
|
||||
#define KEY_SYOUKYO 22
|
||||
#define KEY_SHOUKYO 22
|
||||
#define KEY_SJRC 23
|
||||
|
||||
#define KEY_HA_KET 24
|
||||
|
|
@ -90,9 +80,6 @@
|
|||
|
||||
#define KEY_MORE 43
|
||||
|
||||
|
||||
|
||||
#define UKEYNUM 64
|
||||
#define SEQLEN 8
|
||||
#define COMNUM 64
|
||||
|
||||
|
|
|
|||
31
kigou.c
31
kigou.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: kigou.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:19 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "common.h"
|
||||
#include "kctype.h"
|
||||
#include "key.h"
|
||||
|
|
@ -49,8 +41,7 @@ static unsigned short row, col;
|
|||
|
||||
void input_kigou();
|
||||
|
||||
kigou ()
|
||||
{
|
||||
kigou() {
|
||||
extern int keyvalue;
|
||||
int increse, code, basecode;
|
||||
int inc, ki, low;
|
||||
|
|
@ -170,8 +161,7 @@ top:
|
|||
basecode = code & 0xfff0;
|
||||
guide_kigou(basecode, code, increse);
|
||||
}
|
||||
}
|
||||
else if (inc == ESC)
|
||||
} else if(inc == ESC)
|
||||
ki = 0;
|
||||
else if(inc == '\n' || inc == '\r' || inc == ' ')
|
||||
input_kigou(basecode, code, increse);
|
||||
|
|
@ -188,8 +178,7 @@ top:
|
|||
return (rval);
|
||||
}
|
||||
|
||||
IsRedraw (c)
|
||||
int c;
|
||||
IsRedraw(c) int c;
|
||||
{
|
||||
if(c == 0x0c)
|
||||
return (1);
|
||||
|
|
@ -197,8 +186,7 @@ int c;
|
|||
return (0);
|
||||
}
|
||||
|
||||
IsCKey (inc)
|
||||
int inc;
|
||||
IsCKey(inc) int inc;
|
||||
{
|
||||
switch(inc) {
|
||||
case 'l':
|
||||
|
|
@ -214,8 +202,7 @@ int inc;
|
|||
}
|
||||
}
|
||||
|
||||
guide_kigou (bcode, code, increse)
|
||||
int bcode, code, increse;
|
||||
guide_kigou(bcode, code, increse) int bcode, code, increse;
|
||||
{
|
||||
int i;
|
||||
extern wchar16_t Mguide[];
|
||||
|
|
@ -246,9 +233,7 @@ int bcode, code, increse;
|
|||
Flush();
|
||||
}
|
||||
|
||||
|
||||
pkigou (code)
|
||||
int code;
|
||||
pkigou(code) int code;
|
||||
{
|
||||
wchar16_t tmp[3];
|
||||
unsigned short ccode;
|
||||
|
|
@ -270,8 +255,8 @@ int code;
|
|||
}
|
||||
|
||||
void
|
||||
input_kigou (basecode, code, increse)
|
||||
int basecode, code, increse;
|
||||
input_kigou(basecode, code, increse) int basecode,
|
||||
code, increse;
|
||||
{
|
||||
wchar16_t s[2];
|
||||
unsigned short ccode, svlen;
|
||||
|
|
|
|||
68
knjcvt.c
68
knjcvt.c
|
|
@ -27,17 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: knjcvt.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:00:37 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
|
|
@ -54,11 +43,8 @@ typedef struct div_list {
|
|||
extern HindoRec* askknj[];
|
||||
extern int askknj_num;
|
||||
|
||||
|
||||
|
||||
static void
|
||||
free_divlist(DivList* p)
|
||||
{
|
||||
free_divlist(DivList* p) {
|
||||
DivList* q;
|
||||
|
||||
while(p) {
|
||||
|
|
@ -68,11 +54,8 @@ free_divlist(DivList* p)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static DivList*
|
||||
make_divrec(void)
|
||||
{
|
||||
make_divrec(void) {
|
||||
DivList* p;
|
||||
|
||||
p = (DivList*)Malloc(sizeof(DivList));
|
||||
|
|
@ -85,11 +68,8 @@ make_divrec(void)
|
|||
return p;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
make_divlist(DivList* parent, unsigned char *knj, int len)
|
||||
{
|
||||
make_divlist(DivList* parent, unsigned char* knj, int len) {
|
||||
int i, j;
|
||||
int num;
|
||||
int minlen;
|
||||
|
|
@ -97,10 +77,8 @@ make_divlist(DivList* parent, unsigned char *knj, int len)
|
|||
DivList tmprec;
|
||||
DivList* minrec;
|
||||
|
||||
|
||||
minrec = make_divrec();
|
||||
|
||||
|
||||
if(len == 0) {
|
||||
free_divlist(minrec);
|
||||
|
||||
|
|
@ -117,7 +95,6 @@ make_divlist(DivList* parent, unsigned char *knj, int len)
|
|||
return len;
|
||||
}
|
||||
|
||||
|
||||
if(codesize(*knj) == 1) {
|
||||
minrec->len = 1;
|
||||
minrec->code[0] = *knj;
|
||||
|
|
@ -131,86 +108,66 @@ make_divlist(DivList* parent, unsigned char *knj, int len)
|
|||
minlen = make_divlist(minrec, knj + 2, len - 2) + 2;
|
||||
}
|
||||
|
||||
|
||||
for(i = 0; i < len; i = j) {
|
||||
|
||||
j = i + codesize(*(knj + i));
|
||||
|
||||
|
||||
if(j <= 2 || !(num = isknjexist(knj, j))) continue;
|
||||
|
||||
|
||||
tmprec.len = 2;
|
||||
tmprec.code[0] = (OffsetAssyuku | ((num >> 8) & 0xff));
|
||||
tmprec.code[0] = (OffsetAsshuku | ((num >> 8) & 0xff));
|
||||
tmprec.code[1] = (num & 0xff);
|
||||
tmprec.child = NULL;
|
||||
tmplen = make_divlist(&tmprec, knj + j, len - j) + 2;
|
||||
|
||||
|
||||
if(tmplen < minlen) {
|
||||
|
||||
free_divlist(minrec->child);
|
||||
|
||||
|
||||
*minrec = tmprec;
|
||||
minlen = tmplen;
|
||||
}
|
||||
else
|
||||
} else
|
||||
free_divlist(tmprec.child);
|
||||
}
|
||||
|
||||
|
||||
for(i = 0; i < askknj_num; i++) {
|
||||
|
||||
if((j = askknj[i]->klen) > len) continue;
|
||||
|
||||
|
||||
if(string_cmp(askknj[i]->kptr, j, knj, j)) continue;
|
||||
|
||||
|
||||
tmprec.len = 1;
|
||||
tmprec.code[0] = (KanjiAssyuku | i);
|
||||
tmprec.code[0] = (KanjiAsshuku | i);
|
||||
tmprec.child = NULL;
|
||||
tmplen = make_divlist(&tmprec, knj + j, len - j) + 1;
|
||||
|
||||
|
||||
if(tmplen < minlen) {
|
||||
|
||||
free_divlist(minrec->child);
|
||||
|
||||
|
||||
*minrec = tmprec;
|
||||
minlen = tmplen;
|
||||
}
|
||||
else
|
||||
} else
|
||||
free_divlist(tmprec.child);
|
||||
}
|
||||
|
||||
|
||||
parent->child = minrec;
|
||||
|
||||
|
||||
return minlen;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned char*
|
||||
knjofscvt(unsigned char* ptr, int len, int* ret)
|
||||
{
|
||||
knjofscvt(unsigned char* ptr, int len, int* ret) {
|
||||
int i;
|
||||
unsigned char *p, *q;
|
||||
DivList parent, *dl;
|
||||
|
||||
|
||||
askknj_num = 0;
|
||||
|
||||
|
||||
parent.child = NULL;
|
||||
i = make_divlist(&parent, ptr, len);
|
||||
*ret = i;
|
||||
|
||||
|
||||
p = (unsigned char*)Malloc(i);
|
||||
if(!p) {
|
||||
fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277");
|
||||
|
|
@ -228,25 +185,19 @@ knjofscvt(unsigned char* ptr, int len, int* ret)
|
|||
|
||||
free_divlist(parent.child);
|
||||
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned char*
|
||||
knjcvt(unsigned char* ptr, int len, int* ret)
|
||||
{
|
||||
knjcvt(unsigned char* ptr, int len, int* ret) {
|
||||
int i;
|
||||
unsigned char *p, *q;
|
||||
DivList parent, *dl;
|
||||
|
||||
|
||||
parent.child = NULL;
|
||||
i = make_divlist(&parent, ptr, len);
|
||||
*ret = i;
|
||||
|
||||
|
||||
p = (unsigned char*)Malloc(i);
|
||||
if(!p) {
|
||||
fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277");
|
||||
|
|
@ -271,4 +222,3 @@ if (i != q - p) {
|
|||
|
||||
return p;
|
||||
}
|
||||
|
||||
|
|
|
|||
224
level1.c
224
level1.c
|
|
@ -69,7 +69,8 @@ static int INTLEN = sizeof(int);
|
|||
static int CMDLEN = sizeof(int);
|
||||
static int ReadErrorFlag = FALSE;
|
||||
|
||||
#define client_init(p) { \
|
||||
#define client_init(p) \
|
||||
{ \
|
||||
cliptr = (p); \
|
||||
if((server_fd = cliptr->fd) == -1) { \
|
||||
sj3_error_number = SJ3_NotOpened; \
|
||||
|
|
@ -78,8 +79,7 @@ static int ReadErrorFlag = FALSE;
|
|||
}
|
||||
|
||||
static int
|
||||
put_flush(void)
|
||||
{
|
||||
put_flush(void) {
|
||||
int i, j;
|
||||
unsigned char* p;
|
||||
|
||||
|
|
@ -98,21 +98,18 @@ put_flush(void)
|
|||
}
|
||||
|
||||
static void
|
||||
put_byte(int c)
|
||||
{
|
||||
put_byte(int c) {
|
||||
putbuf[putpos++] = c;
|
||||
}
|
||||
|
||||
static void
|
||||
put_word(int c)
|
||||
{
|
||||
put_word(int c) {
|
||||
put_byte(c >> 8);
|
||||
put_byte(c & 0xff);
|
||||
}
|
||||
|
||||
static void
|
||||
put_int(int c)
|
||||
{
|
||||
put_int(int c) {
|
||||
put_byte(c >> (8 * 3));
|
||||
put_byte(c >> (8 * 2));
|
||||
put_byte(c >> (8 * 1));
|
||||
|
|
@ -120,8 +117,7 @@ put_int(int c)
|
|||
}
|
||||
|
||||
static void
|
||||
put_cmd(int cmd)
|
||||
{
|
||||
put_cmd(int cmd) {
|
||||
ReadErrorFlag = FALSE;
|
||||
putpos = getlen = 0;
|
||||
put_int(cmd);
|
||||
|
|
@ -130,8 +126,7 @@ put_cmd(int cmd)
|
|||
#define put_string put_ndata
|
||||
|
||||
static unsigned char*
|
||||
put_ndata(void *p, int n)
|
||||
{
|
||||
put_ndata(void* p, int n) {
|
||||
unsigned char* pp = (unsigned char*)p;
|
||||
|
||||
while(n-- > 0)
|
||||
|
|
@ -144,8 +139,7 @@ put_over(int buflen, int n,
|
|||
unsigned char* (*func1)(), void* str1, int len1,
|
||||
unsigned char* (*func2)(), void* str2, int len2,
|
||||
unsigned char* (*func3)(), void* str3, int len3,
|
||||
unsigned char *(*func4)(), void *str4, int len4)
|
||||
{
|
||||
unsigned char* (*func4)(), void* str4, int len4) {
|
||||
#define ARGNUM 4
|
||||
unsigned char* (*func[ARGNUM])();
|
||||
unsigned char* data[ARGNUM];
|
||||
|
|
@ -187,8 +181,7 @@ put_over(int buflen, int n,
|
|||
}
|
||||
|
||||
static int
|
||||
get_buffer(void)
|
||||
{
|
||||
get_buffer(void) {
|
||||
if(ReadErrorFlag)
|
||||
return ERROR;
|
||||
getpos = getlen = 0;
|
||||
|
|
@ -205,8 +198,7 @@ get_buffer(void)
|
|||
}
|
||||
|
||||
static unsigned char
|
||||
get_byte(void)
|
||||
{
|
||||
get_byte(void) {
|
||||
if((getpos >= getlen) && (get_buffer() == ERROR)) {
|
||||
ReadErrorFlag = TRUE;
|
||||
return 0;
|
||||
|
|
@ -215,8 +207,7 @@ get_byte(void)
|
|||
}
|
||||
|
||||
static int
|
||||
get_word(void)
|
||||
{
|
||||
get_word(void) {
|
||||
int i;
|
||||
|
||||
i = get_byte();
|
||||
|
|
@ -224,8 +215,7 @@ get_word(void)
|
|||
}
|
||||
|
||||
static int
|
||||
get_int(void)
|
||||
{
|
||||
get_int(void) {
|
||||
int i0;
|
||||
int i1;
|
||||
int i2;
|
||||
|
|
@ -237,8 +227,7 @@ get_int(void)
|
|||
}
|
||||
|
||||
static unsigned char*
|
||||
get_string(unsigned char *p)
|
||||
{
|
||||
get_string(unsigned char* p) {
|
||||
int c;
|
||||
|
||||
do {
|
||||
|
|
@ -249,8 +238,7 @@ get_string(unsigned char *p)
|
|||
}
|
||||
|
||||
static int
|
||||
get_nstring(unsigned char *p, int n)
|
||||
{
|
||||
get_nstring(unsigned char* p, int n) {
|
||||
int c;
|
||||
|
||||
c = get_byte();
|
||||
|
|
@ -267,8 +255,7 @@ get_nstring(unsigned char *p, int n)
|
|||
}
|
||||
|
||||
static unsigned char*
|
||||
get_ndata(void *p, int n)
|
||||
{
|
||||
get_ndata(void* p, int n) {
|
||||
unsigned char* pp = (unsigned char*)p;
|
||||
while(n-- > 0)
|
||||
*pp++ = get_byte();
|
||||
|
|
@ -276,22 +263,18 @@ get_ndata(void *p, int n)
|
|||
}
|
||||
|
||||
static void
|
||||
skip_string(void)
|
||||
{
|
||||
while (get_byte())
|
||||
;
|
||||
skip_string(void) {
|
||||
while(get_byte());
|
||||
}
|
||||
|
||||
static void
|
||||
skip_ndata(int n)
|
||||
{
|
||||
skip_ndata(int n) {
|
||||
while(n-- > 0)
|
||||
get_byte();
|
||||
}
|
||||
|
||||
static int
|
||||
open_unix(void)
|
||||
{
|
||||
open_unix(void) {
|
||||
int fd, len;
|
||||
struct sockaddr_un sunix;
|
||||
|
||||
|
|
@ -316,20 +299,16 @@ open_unix(void)
|
|||
return fd;
|
||||
}
|
||||
|
||||
void
|
||||
sj3_set_timeout(int timeout)
|
||||
{
|
||||
void sj3_set_timeout(int timeout) {
|
||||
sj3_timeout = timeout;
|
||||
}
|
||||
|
||||
static void
|
||||
connect_timeout(void)
|
||||
{
|
||||
connect_timeout(void) {
|
||||
}
|
||||
|
||||
static int
|
||||
open_inet(char *host)
|
||||
{
|
||||
open_inet(char* host) {
|
||||
struct hostent* hp;
|
||||
struct servent* sp;
|
||||
int port;
|
||||
|
|
@ -373,12 +352,10 @@ open_inet(char *host)
|
|||
return fd;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_make_connection(SJ3_CLIENT_ENV *client,
|
||||
int sj3_make_connection(SJ3_CLIENT_ENV* client,
|
||||
char* serv,
|
||||
char* user,
|
||||
char *prog)
|
||||
{
|
||||
char* prog) {
|
||||
char host[MAXHOSTNAMELEN];
|
||||
int tmp;
|
||||
int hostlen, userlen, proglen, datalen, buflen;
|
||||
|
|
@ -470,9 +447,7 @@ sj3_make_connection(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_erase_connection(SJ3_CLIENT_ENV *client)
|
||||
{
|
||||
int sj3_erase_connection(SJ3_CLIENT_ENV* client) {
|
||||
client_init(client);
|
||||
|
||||
put_cmd(SJ3_DISCONNECT);
|
||||
|
|
@ -487,10 +462,8 @@ sj3_erase_connection(SJ3_CLIENT_ENV *client)
|
|||
return sj3_error_number ? ERROR : 0;
|
||||
}
|
||||
|
||||
long
|
||||
sj3_open_dictionary(SJ3_CLIENT_ENV *client,
|
||||
char *dictname, char *password)
|
||||
{
|
||||
long sj3_open_dictionary(SJ3_CLIENT_ENV* client,
|
||||
char* dictname, char* password) {
|
||||
int res;
|
||||
int dictlen, passlen;
|
||||
int datalen, buflen;
|
||||
|
|
@ -520,9 +493,7 @@ sj3_open_dictionary(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : res;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_close_dictionary(SJ3_CLIENT_ENV *client, long dicid)
|
||||
{
|
||||
int sj3_close_dictionary(SJ3_CLIENT_ENV* client, long dicid) {
|
||||
client_init(client);
|
||||
|
||||
put_cmd(SJ3_CLOSEDICT);
|
||||
|
|
@ -535,10 +506,8 @@ sj3_close_dictionary(SJ3_CLIENT_ENV *client, long dicid)
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_open_study_file(SJ3_CLIENT_ENV *client,
|
||||
char *stdyname, char *password)
|
||||
{
|
||||
int sj3_open_study_file(SJ3_CLIENT_ENV* client,
|
||||
char* stdyname, char* password) {
|
||||
int stdylen, passlen;
|
||||
int datalen, buflen;
|
||||
|
||||
|
|
@ -566,9 +535,7 @@ sj3_open_study_file(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_close_study_file(SJ3_CLIENT_ENV *client)
|
||||
{
|
||||
int sj3_close_study_file(SJ3_CLIENT_ENV* client) {
|
||||
client_init(client);
|
||||
|
||||
put_cmd(SJ3_CLOSESTDY);
|
||||
|
|
@ -580,9 +547,7 @@ sj3_close_study_file(SJ3_CLIENT_ENV *client)
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_get_id_size(SJ3_CLIENT_ENV *client)
|
||||
{
|
||||
int sj3_get_id_size(SJ3_CLIENT_ENV* client) {
|
||||
client_init(client);
|
||||
|
||||
put_cmd(SJ3_STDYSIZE);
|
||||
|
|
@ -595,9 +560,7 @@ sj3_get_id_size(SJ3_CLIENT_ENV *client)
|
|||
return ReadErrorFlag ? ERROR : cliptr->stdy_size;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_lock_server(SJ3_CLIENT_ENV *client)
|
||||
{
|
||||
int sj3_lock_server(SJ3_CLIENT_ENV* client) {
|
||||
client_init(client);
|
||||
|
||||
put_cmd(SJ3_LOCK);
|
||||
|
|
@ -609,9 +572,7 @@ sj3_lock_server(SJ3_CLIENT_ENV *client)
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_unlock_server(SJ3_CLIENT_ENV *client)
|
||||
{
|
||||
int sj3_unlock_server(SJ3_CLIENT_ENV* client) {
|
||||
client_init(client);
|
||||
|
||||
put_cmd(SJ3_UNLOCK);
|
||||
|
|
@ -623,13 +584,11 @@ sj3_unlock_server(SJ3_CLIENT_ENV *client)
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_ikkatu_henkan(SJ3_CLIENT_ENV *client,
|
||||
int sj3_ikkatu_henkan(SJ3_CLIENT_ENV* client,
|
||||
unsigned char* src,
|
||||
unsigned char* dst,
|
||||
int dstsiz,
|
||||
int mb_flag)
|
||||
{
|
||||
int mb_flag) {
|
||||
int c;
|
||||
unsigned char* top;
|
||||
int result;
|
||||
|
|
@ -692,21 +651,18 @@ error1:
|
|||
do {
|
||||
skip_ndata(stysiz);
|
||||
error2:
|
||||
while (get_byte())
|
||||
;
|
||||
while(get_byte());
|
||||
} while(get_byte());
|
||||
|
||||
*top = 0;
|
||||
return ReadErrorFlag ? ERROR : result;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_bunsetu_henkan(SJ3_CLIENT_ENV *client,
|
||||
int sj3_bunsetsu_henkan(SJ3_CLIENT_ENV* client,
|
||||
unsigned char* yomi,
|
||||
int len,
|
||||
unsigned char* kanji,
|
||||
int mb_flag)
|
||||
{
|
||||
int mb_flag) {
|
||||
int result;
|
||||
int buflen;
|
||||
|
||||
|
|
@ -736,12 +692,10 @@ sj3_bunsetu_henkan(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : result;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_bunsetu_jikouho(SJ3_CLIENT_ENV *client,
|
||||
int sj3_bunsetsu_jikouho(SJ3_CLIENT_ENV* client,
|
||||
unsigned char* kanji,
|
||||
int mode,
|
||||
int mb_flag)
|
||||
{
|
||||
int mb_flag) {
|
||||
int result;
|
||||
|
||||
client_init(client);
|
||||
|
|
@ -762,10 +716,8 @@ sj3_bunsetu_jikouho(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : result;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_bunsetu_maekouho(SJ3_CLIENT_ENV *client,
|
||||
unsigned char *kanji, int mode, int mb_flag)
|
||||
{
|
||||
int sj3_bunsetsu_maekouho(SJ3_CLIENT_ENV* client,
|
||||
unsigned char* kanji, int mode, int mb_flag) {
|
||||
int result;
|
||||
|
||||
client_init(client);
|
||||
|
|
@ -786,12 +738,10 @@ sj3_bunsetu_maekouho(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : result;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_bunsetu_kouhosuu(SJ3_CLIENT_ENV *client,
|
||||
int sj3_bunsetsu_kouhosuu(SJ3_CLIENT_ENV* client,
|
||||
unsigned char* yomi,
|
||||
int len,
|
||||
int mb_flag)
|
||||
{
|
||||
int mb_flag) {
|
||||
int result;
|
||||
int buflen;
|
||||
|
||||
|
|
@ -820,13 +770,11 @@ sj3_bunsetu_kouhosuu(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : result;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_bunsetu_zenkouho(SJ3_CLIENT_ENV *client,
|
||||
int sj3_bunsetsu_zenkouho(SJ3_CLIENT_ENV* client,
|
||||
unsigned char* yomi,
|
||||
int len,
|
||||
SJ3_DOUON* douon,
|
||||
int mb_flag)
|
||||
{
|
||||
int mb_flag) {
|
||||
int cnt = 0;
|
||||
int buflen;
|
||||
|
||||
|
|
@ -862,9 +810,7 @@ sj3_bunsetu_zenkouho(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : cnt;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_tango_gakusyuu(SJ3_CLIENT_ENV *client, SJ3_STUDYREC *stdy)
|
||||
{
|
||||
int sj3_tango_gakushuu(SJ3_CLIENT_ENV* client, SJ3_STUDYREC* stdy) {
|
||||
int buflen;
|
||||
|
||||
client_init(client);
|
||||
|
|
@ -885,13 +831,11 @@ sj3_tango_gakusyuu(SJ3_CLIENT_ENV *client, SJ3_STUDYREC *stdy)
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_bunsetu_gakusyuu(SJ3_CLIENT_ENV *client,
|
||||
int sj3_bunsetsu_gakushuu(SJ3_CLIENT_ENV* client,
|
||||
unsigned char* yomi1,
|
||||
unsigned char* yomi2,
|
||||
SJ3_STUDYREC* stdy,
|
||||
int mb_flag)
|
||||
{
|
||||
int mb_flag) {
|
||||
int yomilen1, yomilen2;
|
||||
int datalen, buflen;
|
||||
|
||||
|
|
@ -923,14 +867,12 @@ sj3_bunsetu_gakusyuu(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_tango_touroku(SJ3_CLIENT_ENV *client,
|
||||
int sj3_tango_touroku(SJ3_CLIENT_ENV* client,
|
||||
long dicid,
|
||||
unsigned char* yomi,
|
||||
unsigned char* kanji,
|
||||
int code,
|
||||
int mb_flag)
|
||||
{
|
||||
int mb_flag) {
|
||||
int yomilen, kanjilen;
|
||||
int datalen, buflen;
|
||||
|
||||
|
|
@ -963,14 +905,12 @@ sj3_tango_touroku(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_tango_sakujo(SJ3_CLIENT_ENV *client,
|
||||
int sj3_tango_sakujo(SJ3_CLIENT_ENV* client,
|
||||
long dicid,
|
||||
unsigned char* yomi,
|
||||
unsigned char* kanji,
|
||||
int code,
|
||||
int mb_flag)
|
||||
{
|
||||
int mb_flag) {
|
||||
int yomilen, kanjilen;
|
||||
int datalen, buflen;
|
||||
|
||||
|
|
@ -1003,12 +943,10 @@ sj3_tango_sakujo(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_tango_syutoku(SJ3_CLIENT_ENV *client,
|
||||
int sj3_tango_shutoku(SJ3_CLIENT_ENV* client,
|
||||
int dicid,
|
||||
unsigned char* buf,
|
||||
int mb_flag)
|
||||
{
|
||||
int mb_flag) {
|
||||
unsigned char* p;
|
||||
|
||||
client_init(client);
|
||||
|
|
@ -1030,12 +968,10 @@ sj3_tango_syutoku(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_tango_jikouho(SJ3_CLIENT_ENV *client,
|
||||
int sj3_tango_jikouho(SJ3_CLIENT_ENV* client,
|
||||
int dicid,
|
||||
unsigned char* buf,
|
||||
int mb_flag)
|
||||
{
|
||||
int mb_flag) {
|
||||
unsigned char* p;
|
||||
|
||||
client_init(client);
|
||||
|
|
@ -1057,12 +993,10 @@ sj3_tango_jikouho(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_tango_maekouho(SJ3_CLIENT_ENV *client,
|
||||
int sj3_tango_maekouho(SJ3_CLIENT_ENV* client,
|
||||
int dicid,
|
||||
unsigned char* buf,
|
||||
int mb_flag)
|
||||
{
|
||||
int mb_flag) {
|
||||
unsigned char* p;
|
||||
|
||||
client_init(client);
|
||||
|
|
@ -1084,13 +1018,11 @@ sj3_tango_maekouho(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_make_dict_file(SJ3_CLIENT_ENV *client,
|
||||
int sj3_make_dict_file(SJ3_CLIENT_ENV* client,
|
||||
char* path,
|
||||
int idxlen,
|
||||
int seglen,
|
||||
int segnum)
|
||||
{
|
||||
int segnum) {
|
||||
int pathlen;
|
||||
int buflen, datalen;
|
||||
|
||||
|
|
@ -1119,13 +1051,11 @@ sj3_make_dict_file(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_make_study_file(SJ3_CLIENT_ENV *client,
|
||||
int sj3_make_study_file(SJ3_CLIENT_ENV* client,
|
||||
char* path,
|
||||
int stynum,
|
||||
int clstep,
|
||||
int cllen)
|
||||
{
|
||||
int cllen) {
|
||||
int pathlen;
|
||||
int buflen, datalen;
|
||||
|
||||
|
|
@ -1154,9 +1084,7 @@ sj3_make_study_file(SJ3_CLIENT_ENV *client,
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_make_directory(SJ3_CLIENT_ENV *client, char *path)
|
||||
{
|
||||
int sj3_make_directory(SJ3_CLIENT_ENV* client, char* path) {
|
||||
int pathlen;
|
||||
int buflen;
|
||||
|
||||
|
|
@ -1180,9 +1108,7 @@ sj3_make_directory(SJ3_CLIENT_ENV *client, char *path)
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_access(SJ3_CLIENT_ENV *client, char *path, int mode)
|
||||
{
|
||||
int sj3_access(SJ3_CLIENT_ENV* client, char* path, int mode) {
|
||||
int result;
|
||||
int pathlen;
|
||||
int buflen, datalen;
|
||||
|
|
@ -1209,9 +1135,7 @@ sj3_access(SJ3_CLIENT_ENV *client, char *path, int mode)
|
|||
return ReadErrorFlag ? ERROR : result;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_who(SJ3_CLIENT_ENV *client, SJ3_WHO_STRUCT *ret, int num)
|
||||
{
|
||||
int sj3_who(SJ3_CLIENT_ENV* client, SJ3_WHO_STRUCT* ret, int num) {
|
||||
int i, j;
|
||||
|
||||
client_init(client);
|
||||
|
|
@ -1244,9 +1168,7 @@ sj3_who(SJ3_CLIENT_ENV *client, SJ3_WHO_STRUCT *ret, int num)
|
|||
return ReadErrorFlag ? ERROR : ((i < num) ? i : num);
|
||||
}
|
||||
|
||||
int
|
||||
sj3_quit(SJ3_CLIENT_ENV *client)
|
||||
{
|
||||
int sj3_quit(SJ3_CLIENT_ENV* client) {
|
||||
client_init(client);
|
||||
|
||||
put_cmd(SJ3_QUIT);
|
||||
|
|
@ -1258,9 +1180,7 @@ sj3_quit(SJ3_CLIENT_ENV *client)
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_kill(SJ3_CLIENT_ENV *client)
|
||||
{
|
||||
int sj3_kill(SJ3_CLIENT_ENV* client) {
|
||||
client_init(client);
|
||||
|
||||
put_cmd(SJ3_KILL);
|
||||
|
|
@ -1272,9 +1192,7 @@ sj3_kill(SJ3_CLIENT_ENV *client)
|
|||
return ReadErrorFlag ? ERROR : 0;
|
||||
}
|
||||
|
||||
int
|
||||
sj3_version(SJ3_CLIENT_ENV *client, char *dst, int dstsiz)
|
||||
{
|
||||
int sj3_version(SJ3_CLIENT_ENV* client, char* dst, int dstsiz) {
|
||||
int c;
|
||||
|
||||
client_init(client);
|
||||
|
|
|
|||
68
libif.c
68
libif.c
|
|
@ -27,13 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: libif.c,v $
|
||||
* $SonyRevision: 1.3 $
|
||||
* $SonyDate: 1996/02/23 11:04:02 $
|
||||
*/
|
||||
|
||||
|
||||
#include "sj_sysvdef.h"
|
||||
#ifdef SVR4
|
||||
#include <sys/euc.h>
|
||||
|
|
@ -43,7 +36,6 @@
|
|||
#include "kctype.h"
|
||||
#include "common.h"
|
||||
|
||||
|
||||
extern char user_name[];
|
||||
extern char * cur_serv, **serv_list;
|
||||
extern char** dict_list;
|
||||
|
|
@ -55,21 +47,15 @@ int sjislen(), euclen();
|
|||
|
||||
int (*len_func[3])() = {0, sjislen, euclen};
|
||||
|
||||
|
||||
#define YOMILEN 32
|
||||
#define KLEN 64
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
SJ2_henkan (yomiout, bun, kanjiout, kanjilen)
|
||||
struct bunsetu_sj3 *bun;
|
||||
SJ2_henkan(yomiout, bun, kanjiout, kanjilen) struct bunsetsu_sj3* bun;
|
||||
wchar16_t *yomiout, *kanjiout;
|
||||
int kanjilen;
|
||||
{
|
||||
int retv;
|
||||
SJ3_BUNSETU sbun[BUFFLENGTH];
|
||||
SJ3_BUNSETSU sbun[BUFFLENGTH];
|
||||
int i, sentou, saigo;
|
||||
unsigned char yomi[BUFFLENGTH * 3];
|
||||
unsigned char kanji[BUFFLENGTH * 6];
|
||||
|
|
@ -98,8 +84,7 @@ int kanjilen;
|
|||
|
||||
return (retv);
|
||||
}
|
||||
int
|
||||
sjislen(str, max)
|
||||
int sjislen(str, max)
|
||||
unsigned char* str;
|
||||
int max;
|
||||
{
|
||||
|
|
@ -121,8 +106,7 @@ int max;
|
|||
return len;
|
||||
}
|
||||
|
||||
euclen(str, max)
|
||||
unsigned char *str;
|
||||
euclen(str, max) unsigned char* str;
|
||||
int max;
|
||||
{
|
||||
int len = 0, bytes = 1;
|
||||
|
|
@ -151,8 +135,6 @@ int max;
|
|||
return len;
|
||||
}
|
||||
|
||||
|
||||
|
||||
SJ2_getdouon(s, d, n, choice, reconv)
|
||||
wchar16_t* s;
|
||||
struct douon_sj3* d;
|
||||
|
|
@ -175,7 +157,7 @@ int reconv;
|
|||
(void)memcpy(&(d[i].dcid),
|
||||
&(d_sjis[i].dcid), SJ3_WORD_ID_SIZE);
|
||||
d[i].wlen = (int)mbstowcs(d[i].ddata, (char*)d_sjis[i].ddata,
|
||||
SJ3_BUNSETU_KANJI*2);
|
||||
SJ3_BUNSETSU_KANJI * 2);
|
||||
d[i].dlen = wcbyte(d[i].ddata);
|
||||
d[i].valid = (char)1;
|
||||
}
|
||||
|
|
@ -192,14 +174,14 @@ int reconv;
|
|||
return (ret + 1);
|
||||
}
|
||||
|
||||
SJ2_study (dcid)
|
||||
struct studyrec *dcid;
|
||||
SJ2_study(dcid) struct studyrec* dcid;
|
||||
{
|
||||
sj3_gakusyuu(dcid);
|
||||
sj3_gakushuu(dcid);
|
||||
}
|
||||
|
||||
SJ2_clstudy(yomi1, yomi2, dcid)
|
||||
wchar16_t *yomi1, *yomi2;
|
||||
wchar16_t* yomi1,
|
||||
*yomi2;
|
||||
struct studyrec* dcid;
|
||||
{
|
||||
unsigned char y1[BUFFLENGTH * 2];
|
||||
|
|
@ -209,14 +191,15 @@ struct studyrec *dcid;
|
|||
(void)wcstombs((char*)y2, yomi2, BUFFLENGTH * 2);
|
||||
|
||||
if(current_locale == LC_CTYPE_SHIFTJIS) {
|
||||
sj3_gakusyuu2(y1, y2, dcid);
|
||||
sj3_gakushuu2(y1, y2, dcid);
|
||||
} else {
|
||||
sj3_gakusyuu2_euc(y1, y2, dcid);
|
||||
sj3_gakushuu2_euc(y1, y2, dcid);
|
||||
}
|
||||
}
|
||||
|
||||
SJ2_toroku(yomi, kanji, hinshi)
|
||||
wchar16_t *yomi, *kanji;
|
||||
wchar16_t* yomi,
|
||||
*kanji;
|
||||
int hinshi;
|
||||
{
|
||||
unsigned char y[(YOMILEN + 1) * 3];
|
||||
|
|
@ -233,8 +216,9 @@ int hinshi;
|
|||
return (ret);
|
||||
}
|
||||
|
||||
SJ2_syoukyo (yomi, kanji, hinshi)
|
||||
wchar16_t *yomi, *kanji;
|
||||
SJ2_shoukyo(yomi, kanji, hinshi)
|
||||
wchar16_t* yomi,
|
||||
*kanji;
|
||||
int hinshi;
|
||||
{
|
||||
unsigned char y[(YOMILEN + 1) * 3];
|
||||
|
|
@ -244,15 +228,14 @@ int hinshi;
|
|||
(void)wcstombs((char*)y, yomi, (YOMILEN + 1) * 3);
|
||||
(void)wcstombs((char*)k, kanji, (KLEN + 1) * 3);
|
||||
if(current_locale == LC_CTYPE_SHIFTJIS) {
|
||||
ret = sj3_syoukyo (y, k, hinshi);
|
||||
ret = sj3_shoukyo(y, k, hinshi);
|
||||
} else {
|
||||
ret = sj3_syoukyo_euc (y, k, hinshi);
|
||||
ret = sj3_shoukyo_euc(y, k, hinshi);
|
||||
}
|
||||
return (ret);
|
||||
}
|
||||
|
||||
sj_check_error (err)
|
||||
int err;
|
||||
sj_check_error(err) int err;
|
||||
{
|
||||
if(err & SJ3_SERVER_DEAD)
|
||||
SJ_warnning(WCServer_Dead);
|
||||
|
|
@ -274,8 +257,7 @@ int err;
|
|||
SJ_warnning(WCNopen_Study);
|
||||
}
|
||||
|
||||
SJ2_reconnect ()
|
||||
{
|
||||
SJ2_reconnect() {
|
||||
int err;
|
||||
|
||||
sj3_close();
|
||||
|
|
@ -286,14 +268,11 @@ SJ2_reconnect ()
|
|||
return (err);
|
||||
}
|
||||
|
||||
|
||||
SJ2_henkan_end ()
|
||||
{
|
||||
SJ2_henkan_end() {
|
||||
sj3_close();
|
||||
}
|
||||
|
||||
SJ2_henkan_init ()
|
||||
{
|
||||
SJ2_henkan_init() {
|
||||
int i, err;
|
||||
int* err_dict = NULL;
|
||||
int err_num = 0;
|
||||
|
|
@ -333,8 +312,7 @@ SJ2_henkan_init ()
|
|||
}
|
||||
}
|
||||
|
||||
sj3_autocon()
|
||||
{
|
||||
sj3_autocon() {
|
||||
int i, err;
|
||||
|
||||
if(dict_num && dict_list) {
|
||||
|
|
|
|||
31
main.c
31
main.c
|
|
@ -53,8 +53,7 @@ char *version_number = "2.08C";
|
|||
char* time_stamp = "Mon Mar 23 16:42:59 JST 1998";
|
||||
|
||||
static void
|
||||
opening(void)
|
||||
{
|
||||
opening(void) {
|
||||
printf("Kana-Kanji Conversion Server Version %s\r\n", version_number);
|
||||
printf("Copyright (c) 1990-1995 Sony Corporation\r\n");
|
||||
printf("Created at %s\r\n", time_stamp);
|
||||
|
|
@ -62,9 +61,7 @@ opening(void)
|
|||
|
||||
#ifdef LOCK_FILE
|
||||
|
||||
int
|
||||
make_lockfile(void)
|
||||
{
|
||||
int make_lockfile(void) {
|
||||
int fd;
|
||||
|
||||
fd = open(lock_file, O_CREAT | O_EXCL, 0600);
|
||||
|
|
@ -74,22 +71,18 @@ make_lockfile(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
erase_lockfile(void)
|
||||
{
|
||||
int erase_lockfile(void) {
|
||||
return unlink(lock_file);
|
||||
}
|
||||
#endif
|
||||
|
||||
static int
|
||||
signal_handler(int sig)
|
||||
{
|
||||
signal_handler(int sig) {
|
||||
warning_out("signal %d catched.", sig);
|
||||
}
|
||||
|
||||
static int
|
||||
terminate_handler(int sig)
|
||||
{
|
||||
terminate_handler(int sig) {
|
||||
close_socket();
|
||||
sj_closeall();
|
||||
#ifdef LOCK_FILE
|
||||
|
|
@ -98,9 +91,7 @@ terminate_handler(int sig)
|
|||
exit(0);
|
||||
}
|
||||
|
||||
void
|
||||
server_terminate(void)
|
||||
{
|
||||
void server_terminate(void) {
|
||||
close_socket();
|
||||
sj_closeall();
|
||||
#ifdef LOCK_FILE
|
||||
|
|
@ -110,8 +101,7 @@ server_terminate(void)
|
|||
}
|
||||
|
||||
static void
|
||||
exec_fork(void)
|
||||
{
|
||||
exec_fork(void) {
|
||||
int tmp;
|
||||
|
||||
if(fork_flag && (tmp = fork())) {
|
||||
|
|
@ -140,8 +130,7 @@ exec_fork(void)
|
|||
}
|
||||
|
||||
static void
|
||||
leave_tty(void)
|
||||
{
|
||||
leave_tty(void) {
|
||||
int tmp;
|
||||
|
||||
tmp = open_error();
|
||||
|
|
@ -161,9 +150,7 @@ leave_tty(void)
|
|||
}
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int main(int argc, char** argv) {
|
||||
opening();
|
||||
#ifndef __NetBSD__
|
||||
if(setuid(geteuid())) {
|
||||
|
|
|
|||
59
makedict.c
59
makedict.c
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: makedict.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1994/12/09 11:27:05 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
/* #include "sj_sysvdef.h" */ /* XXX: no more need it? */
|
||||
|
||||
#include <stdio.h>
|
||||
|
|
@ -53,10 +44,7 @@ FILE *outfp = NULL;
|
|||
|
||||
static char* idxtop = NULL;
|
||||
|
||||
|
||||
int
|
||||
main(int argc, char** argv)
|
||||
{
|
||||
int main(int argc, char** argv) {
|
||||
parse(argc, argv);
|
||||
|
||||
while(readline()) setline(makelist);
|
||||
|
|
@ -66,10 +54,7 @@ main(int argc, char** argv)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
char*
|
||||
make_idxlist(char* name)
|
||||
{
|
||||
char* make_idxlist(char* name) {
|
||||
int i;
|
||||
char* p;
|
||||
|
||||
|
|
@ -79,26 +64,20 @@ make_idxlist(char* name)
|
|||
return p;
|
||||
}
|
||||
|
||||
char*
|
||||
get_idxlist(char* name)
|
||||
{
|
||||
char* get_idxlist(char* name) {
|
||||
FILE* fp;
|
||||
int i;
|
||||
char *p, *q, *r;
|
||||
|
||||
|
||||
fp = Fopen(name, "r");
|
||||
|
||||
|
||||
i = Fsize(name);
|
||||
|
||||
|
||||
p = Zalloc(i + 2);
|
||||
Fseek(fp, 0L, 0);
|
||||
Fread(p, 1, i, fp);
|
||||
Fclose(fp);
|
||||
|
||||
|
||||
for(q = r = p; *q;) {
|
||||
while(*q <= ' ') q++;
|
||||
while(*q > ' ') *r++ = *q++;
|
||||
|
|
@ -107,7 +86,6 @@ get_idxlist(char* name)
|
|||
}
|
||||
*r = 0;
|
||||
|
||||
|
||||
i = 0;
|
||||
for(q = p; *q;) {
|
||||
if((fp = fopen(q, "r")) != NULL)
|
||||
|
|
@ -123,33 +101,24 @@ get_idxlist(char* name)
|
|||
return p;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
parse(int argc, char** argv)
|
||||
{
|
||||
void parse(int argc, char** argv) {
|
||||
char* progname = NULL;
|
||||
char* p;
|
||||
|
||||
|
||||
if((progname = strrchr(argv[0], '/')) != NULL)
|
||||
progname++;
|
||||
else
|
||||
progname = argv[0];
|
||||
|
||||
|
||||
if(argc != 3) usage(progname);
|
||||
|
||||
|
||||
p = argv[1];
|
||||
idxtop = (*p == '-') ? get_idxlist(p + 1) : make_idxlist(p);
|
||||
|
||||
outfp = Fopen(argv[2], "w");
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
get_number(char* ptr)
|
||||
{
|
||||
int get_number(char* ptr) {
|
||||
int i = 0;
|
||||
|
||||
while(*ptr >= '0' && *ptr <= '9') {
|
||||
|
|
@ -159,19 +128,13 @@ get_number(char* ptr)
|
|||
return (i);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
usage(char* name)
|
||||
{
|
||||
void usage(char* name) {
|
||||
fprintf(stderr, "Usage: %s text_file binary_file\n",
|
||||
name ? name : "encode");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
getch(void)
|
||||
{
|
||||
int getch(void) {
|
||||
if(infp) {
|
||||
int c;
|
||||
|
||||
|
|
@ -195,10 +158,7 @@ getch(void)
|
|||
return EOF;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
mark_file(FILE* out)
|
||||
{
|
||||
void mark_file(FILE* out) {
|
||||
static char pathname[MAXPATHLEN];
|
||||
static long pos;
|
||||
|
||||
|
|
@ -216,8 +176,7 @@ mark_file(FILE* out)
|
|||
}
|
||||
fputc('\n', out);
|
||||
Fclose(fp);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
strcpy(pathname, idxtop);
|
||||
pos = infp ? Ftell(infp) : 0;
|
||||
}
|
||||
|
|
|
|||
218
makelist.c
218
makelist.c
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: makelist.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:00:39 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
|
@ -50,90 +41,68 @@
|
|||
extern DouonRec* douon_ptr;
|
||||
extern int douon_num;
|
||||
extern int yomi_len;
|
||||
extern int hinsi_num;
|
||||
extern int hinshi_num;
|
||||
extern int kanji_len;
|
||||
extern HindoRec* hindo[];
|
||||
extern int hindo_num;
|
||||
extern HindoRec* askknj[];
|
||||
extern int askknj_num;
|
||||
extern HindoRec *assyuku;
|
||||
extern HindoRec* asshuku;
|
||||
|
||||
static DouonRec* drectmp = NULL;
|
||||
|
||||
|
||||
|
||||
static void
|
||||
clearklist(KanjiRec* krec)
|
||||
{
|
||||
clearklist(KanjiRec* krec) {
|
||||
KanjiRec* p;
|
||||
|
||||
|
||||
while(krec) {
|
||||
|
||||
Free(krec->kptr);
|
||||
Free(krec->aptr);
|
||||
|
||||
|
||||
p = krec;
|
||||
krec = krec->knext;
|
||||
|
||||
|
||||
Free(p);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
clearhlist(HinsiRec* hrec)
|
||||
{
|
||||
HinsiRec *p;
|
||||
|
||||
clearhlist(HinshiRec* hrec) {
|
||||
HinshiRec* p;
|
||||
|
||||
while(hrec) {
|
||||
|
||||
clearklist(hrec->krec);
|
||||
|
||||
|
||||
p = hrec;
|
||||
hrec = hrec->hnext;
|
||||
|
||||
|
||||
Free(p);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
clear_list(void)
|
||||
{
|
||||
void clear_list(void) {
|
||||
DouonRec* p;
|
||||
DouonRec* drec = douon_ptr;
|
||||
|
||||
|
||||
while(drec) {
|
||||
|
||||
Free(drec->yptr);
|
||||
|
||||
|
||||
clearhlist(drec->hrec);
|
||||
|
||||
|
||||
p = drec;
|
||||
drec = drec->dnext;
|
||||
|
||||
|
||||
Free(p);
|
||||
}
|
||||
|
||||
douon_ptr = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static unsigned char*
|
||||
makekanji(int *yomi, int* kanji, int* atr, int* len)
|
||||
{
|
||||
makekanji(int* yomi, int* kanji, int* atr, int* len) {
|
||||
int kana[MaxYomiLength + 1];
|
||||
unsigned char ktmp[MaxKanjiLength * 3 + MaxAtrNumber * 2 + 1];
|
||||
int i;
|
||||
|
|
@ -141,7 +110,6 @@ makekanji(int *yomi, int* kanji, int* atr, int* len)
|
|||
int* p;
|
||||
unsigned char* q;
|
||||
|
||||
|
||||
for(p = yomi, i = 0; *p;)
|
||||
kana[i++] = h2kcode(*p++);
|
||||
kana[i] = 0;
|
||||
|
|
@ -155,28 +123,26 @@ makekanji(int *yomi, int* kanji, int* atr, int* len)
|
|||
#endif
|
||||
}
|
||||
|
||||
|
||||
if((i = top_strcmp(yomi, kanji)) != 0) {
|
||||
kanji += i;
|
||||
ktmp[pos++] = (ZenHiraAssyuku | (i - 1));
|
||||
ktmp[pos++] = (ZenHiraAsshuku | (i - 1));
|
||||
}
|
||||
|
||||
else if((i = top_strcmp(kana, kanji)) != 0) {
|
||||
kanji += i;
|
||||
ktmp[pos++] = (ZenKataAssyuku | (i - 1));
|
||||
ktmp[pos++] = (ZenKataAsshuku | (i - 1));
|
||||
}
|
||||
|
||||
|
||||
while(*kanji) {
|
||||
|
||||
if((i = last_strcmp(yomi, kanji)) != 0) {
|
||||
kanji += i;
|
||||
ktmp[pos++] = (ZenHiraAssyuku | (i - 1));
|
||||
ktmp[pos++] = (ZenHiraAsshuku | (i - 1));
|
||||
}
|
||||
|
||||
else if((i = last_strcmp(kana, kanji)) != 0) {
|
||||
kanji += i;
|
||||
ktmp[pos++] = (ZenKataAssyuku | (i - 1));
|
||||
ktmp[pos++] = (ZenKataAsshuku | (i - 1));
|
||||
}
|
||||
|
||||
else if(((*kanji >> 8) & 0xff) == SS2 || *kanji < 0x100) {
|
||||
|
|
@ -205,7 +171,6 @@ makekanji(int *yomi, int* kanji, int* atr, int* len)
|
|||
}
|
||||
*len = pos;
|
||||
|
||||
|
||||
q = (unsigned char*)Malloc(pos);
|
||||
if(!q) {
|
||||
fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277");
|
||||
|
|
@ -216,30 +181,26 @@ makekanji(int *yomi, int* kanji, int* atr, int* len)
|
|||
return q;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static unsigned char*
|
||||
makeyomi(int* yomi)
|
||||
{
|
||||
makeyomi(int* yomi) {
|
||||
unsigned char tmp[MaxYomiLength + 1];
|
||||
int i;
|
||||
int j;
|
||||
int* y = yomi;
|
||||
unsigned char* p;
|
||||
|
||||
|
||||
for(i = 0; *y;) {
|
||||
j = cnvyomi(*y++);
|
||||
if(j == 0) {
|
||||
fprintf(stderr, "\311\324\300\265\244\312\312\270\273\372\244\254\306\311\244\337\244\313\273\310\244\357\244\354\244\306\244\244\244\336\244\271\n");
|
||||
output_int(stderr, yomi); fputc('\n', stderr);
|
||||
output_int(stderr, yomi);
|
||||
fputc('\n', stderr);
|
||||
exit(1);
|
||||
}
|
||||
tmp[i++] = j;
|
||||
}
|
||||
tmp[i++] = 0;
|
||||
|
||||
|
||||
p = (unsigned char*)Malloc(i);
|
||||
if(!p) {
|
||||
fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277");
|
||||
|
|
@ -250,21 +211,16 @@ makeyomi(int* yomi)
|
|||
return p;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static KanjiRec*
|
||||
make_krec(unsigned char* kcode, int klen)
|
||||
{
|
||||
make_krec(unsigned char* kcode, int klen) {
|
||||
KanjiRec* krec;
|
||||
|
||||
|
||||
krec = (KanjiRec*)Malloc(sizeof(KanjiRec));
|
||||
if(!krec) {
|
||||
fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
krec->klen = klen;
|
||||
krec->kptr = kcode;
|
||||
krec->alen = 0;
|
||||
|
|
@ -274,43 +230,33 @@ make_krec(unsigned char* kcode, int klen)
|
|||
return krec;
|
||||
}
|
||||
|
||||
static HinshiRec*
|
||||
make_hrec(int hinshi) {
|
||||
HinshiRec* hrec;
|
||||
|
||||
|
||||
static HinsiRec*
|
||||
make_hrec(int hinsi)
|
||||
{
|
||||
HinsiRec *hrec;
|
||||
|
||||
|
||||
hrec = (HinsiRec *)Malloc(sizeof(HinsiRec));
|
||||
hrec = (HinshiRec*)Malloc(sizeof(HinshiRec));
|
||||
if(!hrec) {
|
||||
fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
hrec -> hinsi = hinsi;
|
||||
hrec->hinshi = hinshi;
|
||||
hrec->krec = NULL;
|
||||
hrec->hnext = NULL;
|
||||
|
||||
return hrec;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static DouonRec*
|
||||
make_drec(unsigned char* ycode)
|
||||
{
|
||||
make_drec(unsigned char* ycode) {
|
||||
DouonRec* drec;
|
||||
|
||||
|
||||
drec = (DouonRec*)Malloc(sizeof(DouonRec));
|
||||
if(!drec) {
|
||||
fprintf(stderr, "\245\341\245\342\245\352\244\254\311\324\302\255\244\267\244\336\244\267\244\277");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
drec->yptr = ycode;
|
||||
drec->hrec_num = 0;
|
||||
drec->hrec = NULL;
|
||||
|
|
@ -319,19 +265,16 @@ make_drec(unsigned char* ycode)
|
|||
return drec;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
diff_ylen(DouonRec *drec)
|
||||
{
|
||||
diff_ylen(DouonRec* drec) {
|
||||
DouonRec* dptr;
|
||||
DouonRec* dprev;
|
||||
unsigned char* p1;
|
||||
unsigned char* p2;
|
||||
int ylen = 0;
|
||||
|
||||
|
||||
dptr = douon_ptr; dprev = NULL;
|
||||
dptr = douon_ptr;
|
||||
dprev = NULL;
|
||||
while(dptr) {
|
||||
dprev = dptr;
|
||||
dptr = dptr->dnext;
|
||||
|
|
@ -339,75 +282,68 @@ diff_ylen(DouonRec *drec)
|
|||
|
||||
if(dprev) {
|
||||
|
||||
p1 = dprev -> yptr; p2 = drec -> yptr;
|
||||
while (*p1 && (*p1 == *p2)) { p1++; p2++; }
|
||||
|
||||
p1 = dprev->yptr;
|
||||
p2 = drec->yptr;
|
||||
while(*p1 && (*p1 == *p2)) {
|
||||
p1++;
|
||||
p2++;
|
||||
}
|
||||
|
||||
if(*p1 == *p2) {
|
||||
fprintf(stderr, "\305\371\244\267\244\244\306\311\244\337\244\316\306\261\262\273\270\354\245\326\245\355\245\303\245\257\244\254\244\242\244\353\n");
|
||||
output_yomi(stderr, dprev -> yptr); fputc('\n', stderr);
|
||||
output_yomi(stderr, dprev->yptr);
|
||||
fputc('\n', stderr);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
else if(*p1 > *p2) {
|
||||
fprintf(stderr, "\306\311\244\337\244\316\275\347\275\370\244\254\244\252\244\253\244\267\244\244\n");
|
||||
output_yomi(stderr, dprev->yptr); fputc('\n', stderr);
|
||||
output_yomi(stderr, drec->yptr); fputc('\n', stderr);
|
||||
output_yomi(stderr, dprev->yptr);
|
||||
fputc('\n', stderr);
|
||||
output_yomi(stderr, drec->yptr);
|
||||
fputc('\n', stderr);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
while(*p2++) ylen++;
|
||||
}
|
||||
|
||||
return ylen;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
douon_knj(DouonRec* drec)
|
||||
{
|
||||
douon_knj(DouonRec* drec) {
|
||||
int i;
|
||||
int len = 0;
|
||||
unsigned char* p;
|
||||
unsigned char* knjofscvt();
|
||||
HinsiRec *hrec;
|
||||
HinshiRec* hrec;
|
||||
KanjiRec* krec;
|
||||
|
||||
|
||||
for(hrec = drec->hrec; hrec; hrec = hrec->hnext) {
|
||||
|
||||
for(krec = hrec->krec; krec; krec = krec->knext) {
|
||||
|
||||
p = knjofscvt(krec->kptr, krec->klen, &i);
|
||||
|
||||
|
||||
len += i + 1;
|
||||
|
||||
|
||||
knjhnd_set(p, i);
|
||||
|
||||
|
||||
krec->alen = i;
|
||||
krec->aptr = p;
|
||||
|
||||
|
||||
set_ofsrec(krec->kptr, krec->klen, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
make_d_list(DouonRec* drec)
|
||||
{
|
||||
make_d_list(DouonRec* drec) {
|
||||
DouonRec *dptr, *dprev;
|
||||
HinsiRec *hptr;
|
||||
HinshiRec* hptr;
|
||||
KanjiRec* kptr;
|
||||
int ylen;
|
||||
int klen;
|
||||
|
|
@ -420,45 +356,39 @@ start:
|
|||
if(douon_ptr == NULL) {
|
||||
douon_num = 0;
|
||||
yomi_len = 0;
|
||||
hinsi_num = 0;
|
||||
hinshi_num = 0;
|
||||
kanji_len = 0;
|
||||
assyuku = NULL;
|
||||
asshuku = NULL;
|
||||
}
|
||||
|
||||
|
||||
klen = douon_knj(drec);
|
||||
|
||||
|
||||
ylen = diff_ylen(drec);
|
||||
|
||||
|
||||
hnum = drec->hrec_num;
|
||||
|
||||
|
||||
i = 1 +
|
||||
MaxKnjAskNumber +
|
||||
|
||||
douon_num * DouonBlkSizeNumber + DouonBlkSizeNumber +
|
||||
yomi_len + ylen +
|
||||
hinsi_num + hnum +
|
||||
hinsi_num + hnum +
|
||||
hinshi_num + hnum +
|
||||
hinshi_num + hnum +
|
||||
kanji_len + klen;
|
||||
|
||||
|
||||
len = (i <= MainSegmentLength) ? 0 : decide_knjask();
|
||||
|
||||
|
||||
if((i - len) <= MainSegmentLength) {
|
||||
|
||||
if(douon_ptr) {
|
||||
|
||||
dptr = douon_ptr; dprev = NULL;
|
||||
dptr = douon_ptr;
|
||||
dprev = NULL;
|
||||
while(dptr) {
|
||||
dprev = dptr;
|
||||
dptr = dptr->dnext;
|
||||
}
|
||||
|
||||
|
||||
dprev->dnext = drec;
|
||||
}
|
||||
|
||||
|
|
@ -468,18 +398,13 @@ start:
|
|||
}
|
||||
drec->dnext = NULL;
|
||||
|
||||
|
||||
drec->dlen = ylen;
|
||||
|
||||
|
||||
douon_num += 1;
|
||||
|
||||
|
||||
yomi_len += ylen;
|
||||
|
||||
|
||||
hinsi_num += hnum;
|
||||
|
||||
hinshi_num += hnum;
|
||||
|
||||
kanji_len += klen;
|
||||
|
||||
|
|
@ -491,47 +416,34 @@ start:
|
|||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
for(hptr = drec->hrec; hptr; hptr = hptr->hnext) {
|
||||
for(kptr = hptr->krec; kptr; kptr = kptr->knext) {
|
||||
|
||||
|
||||
knjhnd_reset(kptr->aptr, kptr->alen);
|
||||
|
||||
|
||||
Free(kptr->aptr);
|
||||
kptr->aptr = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
len = decide_knjask();
|
||||
|
||||
|
||||
makeseg();
|
||||
|
||||
|
||||
clear_list();
|
||||
|
||||
|
||||
clear_hindo();
|
||||
|
||||
|
||||
clear_ofsrec();
|
||||
|
||||
|
||||
askknj_num = 0;
|
||||
|
||||
|
||||
clear_assyuku();
|
||||
clear_asshuku();
|
||||
|
||||
goto start;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
flush_douon(void)
|
||||
{
|
||||
void flush_douon(void) {
|
||||
if(drectmp) {
|
||||
|
||||
make_d_list(drectmp);
|
||||
|
|
@ -543,40 +455,29 @@ flush_douon(void)
|
|||
|
||||
decide_knjask();
|
||||
|
||||
|
||||
makeseg();
|
||||
|
||||
|
||||
clear_list();
|
||||
|
||||
|
||||
clear_hindo();
|
||||
|
||||
|
||||
clear_ofsrec();
|
||||
|
||||
|
||||
askknj_num = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
makelist(int* yomi, int* kanji, int hinsi, int* atr)
|
||||
{
|
||||
void makelist(int* yomi, int* kanji, int hinshi, int* atr) {
|
||||
unsigned char* ycode;
|
||||
unsigned char* kcode;
|
||||
int klen;
|
||||
HinsiRec *hrec;
|
||||
HinshiRec* hrec;
|
||||
KanjiRec * krec, *kprev;
|
||||
|
||||
|
||||
ycode = makeyomi(yomi);
|
||||
|
||||
|
||||
kcode = makekanji(yomi, kanji, atr, &klen);
|
||||
|
||||
|
||||
if(drectmp && strcmp(ycode, drectmp->yptr)) {
|
||||
|
||||
make_d_list(drectmp);
|
||||
|
|
@ -584,29 +485,24 @@ makelist(int* yomi, int* kanji, int hinsi, int* atr)
|
|||
drectmp = NULL;
|
||||
}
|
||||
|
||||
|
||||
if(!drectmp) {
|
||||
|
||||
drectmp = make_drec(ycode);
|
||||
|
||||
|
||||
hrec = make_hrec(hinsi);
|
||||
hrec = make_hrec(hinshi);
|
||||
drectmp->hrec = hrec;
|
||||
drectmp->hrec_num = 1;
|
||||
|
||||
|
||||
krec = make_krec(kcode, klen);
|
||||
hrec->krec = krec;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
for(hrec = drectmp->hrec; hrec->hnext; hrec = hrec->hnext)
|
||||
if (hrec -> hinsi == hinsi) break;
|
||||
if(hrec->hinshi == hinshi) break;
|
||||
|
||||
|
||||
if (hrec -> hinsi == hinsi) {
|
||||
if(hrec->hinshi == hinshi) {
|
||||
|
||||
for(krec = hrec->krec; krec; krec = krec->knext) {
|
||||
|
||||
|
|
@ -620,7 +516,6 @@ makelist(int* yomi, int* kanji, int hinsi, int* atr)
|
|||
output_int(stderr, kanji);
|
||||
fprintf(stderr, "\n");
|
||||
|
||||
|
||||
Free(kcode);
|
||||
|
||||
return;
|
||||
|
|
@ -628,18 +523,15 @@ makelist(int* yomi, int* kanji, int hinsi, int* atr)
|
|||
kprev = krec;
|
||||
}
|
||||
|
||||
|
||||
kprev->knext = make_krec(kcode, klen);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
hrec -> hnext = make_hrec(hinsi);
|
||||
hrec->hnext = make_hrec(hinshi);
|
||||
hrec = hrec->hnext;
|
||||
drectmp->hrec_num += 1;
|
||||
|
||||
|
||||
krec = make_krec(kcode, klen);
|
||||
hrec->krec = krec;
|
||||
}
|
||||
|
|
|
|||
139
makeseg.c
139
makeseg.c
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: makeseg.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1994/12/09 11:27:05 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
@ -56,22 +47,19 @@ static unsigned char segindex[MainSegmentLength];
|
|||
static int idxpos = 0;
|
||||
static int idxnum = 0;
|
||||
|
||||
|
||||
static unsigned char*
|
||||
set_ofsask(unsigned char* src, unsigned char* dst)
|
||||
{
|
||||
set_ofsask(unsigned char* src, unsigned char* dst) {
|
||||
int len;
|
||||
unsigned char* ptr;
|
||||
OffsetRec* ofsrec;
|
||||
|
||||
|
||||
ofsrec = real_ofsrec(src);
|
||||
|
||||
for(len = ofsrec->klen, ptr = ofsrec->kptr; len > 0;) {
|
||||
switch(*ptr & KanjiModeMask) {
|
||||
case ZenHiraAssyuku:
|
||||
case ZenKataAssyuku:
|
||||
case KanjiAssyuku:
|
||||
case ZenHiraAsshuku:
|
||||
case ZenKataAsshuku:
|
||||
case KanjiAsshuku:
|
||||
*dst++ = *ptr++;
|
||||
len -= 1;
|
||||
break;
|
||||
|
|
@ -85,7 +73,7 @@ set_ofsask(unsigned char* src, unsigned char* dst)
|
|||
len -= 2;
|
||||
break;
|
||||
#endif
|
||||
case OffsetAssyuku:
|
||||
case OffsetAsshuku:
|
||||
fprintf(stderr, "\306\363\275\305\244\313\245\252\245\325\245\273\245\303\245\310\244\254\273\262\276\310\244\265\244\354\244\306\244\244\244\353\n");
|
||||
exit(1);
|
||||
case AiAttribute:
|
||||
|
|
@ -107,17 +95,15 @@ set_ofsask(unsigned char* src, unsigned char* dst)
|
|||
return dst;
|
||||
}
|
||||
|
||||
|
||||
size_t
|
||||
make_knjstr(unsigned char* src, int len, unsigned char* dst)
|
||||
{
|
||||
make_knjstr(unsigned char* src, int len, unsigned char* dst) {
|
||||
unsigned char* keep = dst;
|
||||
|
||||
while(len > 0) {
|
||||
switch(*src & KanjiModeMask) {
|
||||
case ZenHiraAssyuku:
|
||||
case ZenKataAssyuku:
|
||||
case KanjiAssyuku:
|
||||
case ZenHiraAsshuku:
|
||||
case ZenKataAsshuku:
|
||||
case KanjiAsshuku:
|
||||
*dst++ = *src++;
|
||||
len -= 1;
|
||||
break;
|
||||
|
|
@ -131,7 +117,7 @@ make_knjstr(unsigned char* src, int len, unsigned char* dst)
|
|||
len -= 2;
|
||||
break;
|
||||
#endif
|
||||
case OffsetAssyuku:
|
||||
case OffsetAsshuku:
|
||||
dst = set_ofsask(src, dst);
|
||||
src += 2;
|
||||
len -= 2;
|
||||
|
|
@ -154,52 +140,40 @@ make_knjstr(unsigned char* src, int len, unsigned char* dst)
|
|||
return (dst - keep);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
make_knjask(void)
|
||||
{
|
||||
make_knjask(void) {
|
||||
int i;
|
||||
unsigned char* p;
|
||||
unsigned char buf[128];
|
||||
int len;
|
||||
int tlen = 0;
|
||||
|
||||
|
||||
for(i = 0; i < askknj_num; i++) {
|
||||
|
||||
|
||||
len = make_knjstr(askknj[i]->kptr, askknj[i]->klen, buf);
|
||||
|
||||
|
||||
Free(askknj[i]->kptr);
|
||||
|
||||
|
||||
p = (unsigned char*)Malloc(len);
|
||||
if(!p) {
|
||||
fprintf(stderr, "\245\341\245\342\245\352\244\254\302\255\244\352\244\336\244\273\244\363\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
memcpy(p, buf, len);
|
||||
askknj[i]->kptr = p;
|
||||
askknj[i]->klen = len;
|
||||
|
||||
|
||||
tlen += len + 1;
|
||||
}
|
||||
|
||||
return tlen;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
makeseg(void)
|
||||
{
|
||||
void makeseg(void) {
|
||||
unsigned char buf[MainSegmentLength];
|
||||
DouonRec* drec;
|
||||
HinsiRec *hrec;
|
||||
HinshiRec* hrec;
|
||||
KanjiRec* krec;
|
||||
int i, j, k;
|
||||
int slen;
|
||||
|
|
@ -208,94 +182,93 @@ makeseg(void)
|
|||
unsigned char *p, *q;
|
||||
|
||||
#ifndef HEHE
|
||||
#define datset(i) { if (dst >= buf+sizeof(buf)) goto err; *dst++ = i; }
|
||||
#define datset(i) \
|
||||
{ \
|
||||
if(dst >= buf + sizeof(buf)) goto err; \
|
||||
*dst++ = i; \
|
||||
}
|
||||
#else
|
||||
#define datset(i) { *dst++; i; }
|
||||
#define datset(i) \
|
||||
{ \
|
||||
*dst++; \
|
||||
i; \
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
dst = buf;
|
||||
|
||||
|
||||
i = make_knjask();
|
||||
if(i >= 0x100) {
|
||||
fprintf(stderr, "\264\301\273\372\260\265\275\314\312\270\273\372\316\363\244\254\304\271\244\271\244\256\244\353\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
datset(i);
|
||||
for(i = 0; i < askknj_num; i++) {
|
||||
p = askknj[i]->kptr;
|
||||
j = askknj[i]->klen;
|
||||
while(j > 0) {
|
||||
k = codesize(*p);
|
||||
datset(*p); p++;
|
||||
datset(*p);
|
||||
p++;
|
||||
if(k > 2) {
|
||||
datset(*p); p++;
|
||||
datset(*p); p++;
|
||||
datset(*p);
|
||||
p++;
|
||||
datset(*p);
|
||||
p++;
|
||||
} else if(k > 1) {
|
||||
datset(*p); p++;
|
||||
datset(*p);
|
||||
p++;
|
||||
}
|
||||
j -= k;
|
||||
}
|
||||
datset(KanjiStrEnd);
|
||||
}
|
||||
|
||||
|
||||
clear_ofsrec();
|
||||
|
||||
|
||||
for(drec = douon_ptr; drec; drec = drec->dnext) {
|
||||
|
||||
|
||||
sdst = dst; dst += DouonBlkSizeNumber;
|
||||
|
||||
sdst = dst;
|
||||
dst += DouonBlkSizeNumber;
|
||||
|
||||
p = drec->yptr;
|
||||
slen = strlen(p) - drec->dlen;
|
||||
p += slen;
|
||||
for(i = drec->dlen; i > 0; i--) {
|
||||
datset(*p); p++;
|
||||
datset(*p);
|
||||
p++;
|
||||
}
|
||||
|
||||
for(hrec = drec->hrec; hrec; hrec = hrec->hnext) {
|
||||
|
||||
|
||||
datset(hrec -> hinsi);
|
||||
|
||||
datset(hrec->hinshi);
|
||||
|
||||
for(krec = hrec->krec; krec; krec = krec->knext) {
|
||||
|
||||
|
||||
p = q = knjcvt(krec->kptr, krec->klen, &i);
|
||||
|
||||
|
||||
set_ofsrec(krec->kptr, krec->klen, dst - buf);
|
||||
|
||||
|
||||
while(i-- > 0) {
|
||||
datset(*p); p++;
|
||||
datset(*p);
|
||||
p++;
|
||||
}
|
||||
datset(KanjiStrEnd);
|
||||
|
||||
Free(q);
|
||||
}
|
||||
|
||||
|
||||
datset(HinsiBlkTerm);
|
||||
datset(HinshiBlkTerm);
|
||||
}
|
||||
|
||||
|
||||
i = dst - sdst;
|
||||
*sdst = ((i >> 8) & 0x0f);
|
||||
*(sdst + 1) = (i & 0xff);
|
||||
|
||||
|
||||
if(drec->dlen > 0x0f) *sdst |= 0x40;
|
||||
*(sdst + 2) = (drec->dlen & 0x0f);
|
||||
|
||||
|
||||
if(slen > 0x0f) *sdst |= 0x80;
|
||||
*(sdst + 2) |= ((slen << 4) & 0xf0);
|
||||
}
|
||||
|
|
@ -304,12 +277,10 @@ makeseg(void)
|
|||
datset(DouonBlkTerm);
|
||||
}
|
||||
|
||||
|
||||
for(p = douon_ptr->yptr;;) {
|
||||
if(idxpos < MainIndexLength) {
|
||||
segindex[idxpos++] = *p;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
fprintf(stderr, "\245\244\245\363\245\307\245\303\245\257\245\271\244\254\244\242\244\325\244\354\244\336\244\267\244\277\n");
|
||||
exit(1);
|
||||
}
|
||||
|
|
@ -317,21 +288,17 @@ makeseg(void)
|
|||
}
|
||||
if(idxpos < MainIndexLength) {
|
||||
segindex[idxpos] = 0;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
fprintf(stderr, "\245\244\245\363\245\307\245\303\245\257\245\271\244\254\244\242\244\325\244\354\244\336\244\267\244\277\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
i = dst - buf;
|
||||
|
||||
while(dst < buf + sizeof(buf)) *dst++ = DouonBlkTerm;
|
||||
|
||||
|
||||
if(Fseek(outfp,
|
||||
(long)(HeaderLength + CommentLength + MainIndexLength
|
||||
+ idxnum * MainSegmentLength),
|
||||
(long)(HeaderLength + CommentLength + MainIndexLength + idxnum * MainSegmentLength),
|
||||
0) < 0) {
|
||||
fprintf(stderr, "\275\320\316\317\245\325\245\241\245\244\245\353\244\307\245\267\241\274\245\257\245\250\245\351\241\274\n");
|
||||
exit(1);
|
||||
|
|
@ -342,7 +309,6 @@ makeseg(void)
|
|||
}
|
||||
Fflush(outfp);
|
||||
|
||||
|
||||
printf("\245\273\245\260\245\341\245\363\245\310\310\326\271\346:%d:", idxnum++);
|
||||
output_yomi(stdout, douon_ptr->yptr);
|
||||
printf("\t\245\273\245\260\245\341\245\363\245\310\304\271:%d", i);
|
||||
|
|
@ -375,18 +341,18 @@ err:
|
|||
}
|
||||
|
||||
static void
|
||||
put4byte(unsigned char* p, size_t n)
|
||||
{
|
||||
put4byte(unsigned char* p, size_t n) {
|
||||
p += 3;
|
||||
*p-- = n; n >>= 8;
|
||||
*p-- = n; n >>= 8;
|
||||
*p-- = n; n >>= 8;
|
||||
*p-- = n;
|
||||
n >>= 8;
|
||||
*p-- = n;
|
||||
n >>= 8;
|
||||
*p-- = n;
|
||||
n >>= 8;
|
||||
*p = n;
|
||||
}
|
||||
|
||||
void
|
||||
makehead(unsigned char* dict_name)
|
||||
{
|
||||
void makehead(unsigned char* dict_name) {
|
||||
unsigned char header[HeaderLength + CommentLength];
|
||||
long i;
|
||||
unsigned char* p;
|
||||
|
|
@ -400,7 +366,10 @@ makehead(unsigned char* dict_name)
|
|||
p = header + CommentPos;
|
||||
sprintf((char*)p, "%s : %s", dict_name, ctime(&curtime));
|
||||
while(*p) {
|
||||
if (*p == '\n') { *p = 0; break; }
|
||||
if(*p == '\n') {
|
||||
*p = 0;
|
||||
break;
|
||||
}
|
||||
p++;
|
||||
}
|
||||
|
||||
|
|
|
|||
21
memory.c
21
memory.c
|
|
@ -27,24 +27,13 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: memory.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:00:42 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include "dicttool.h"
|
||||
|
||||
void*
|
||||
Malloc(size_t size)
|
||||
{
|
||||
void* Malloc(size_t size) {
|
||||
void* p;
|
||||
|
||||
p = malloc(size);
|
||||
|
|
@ -55,9 +44,7 @@ Malloc(size_t size)
|
|||
return p;
|
||||
}
|
||||
|
||||
void*
|
||||
Zalloc (size_t size)
|
||||
{
|
||||
void* Zalloc(size_t size) {
|
||||
void* p;
|
||||
|
||||
p = Malloc(size);
|
||||
|
|
@ -65,8 +52,6 @@ Zalloc (size_t size)
|
|||
return p;
|
||||
}
|
||||
|
||||
void
|
||||
Free(void *p)
|
||||
{
|
||||
void Free(void* p) {
|
||||
free(p);
|
||||
}
|
||||
|
|
|
|||
18
memory2.c
18
memory2.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: memory.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:01:58 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj_kcnv.h"
|
||||
|
||||
void free_jrec(), free_clrec();
|
||||
|
|
@ -90,11 +82,9 @@ int l;
|
|||
if(cp) {
|
||||
p->clsort = cpk;
|
||||
cpk = p;
|
||||
}
|
||||
else
|
||||
} else
|
||||
cpk = cp = p;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if(cp)
|
||||
cp->clsort = p;
|
||||
else
|
||||
|
|
@ -140,12 +130,10 @@ JREC *p;
|
|||
}
|
||||
}
|
||||
|
||||
void freework()
|
||||
{
|
||||
void freework() {
|
||||
free_clall(maxclptr);
|
||||
clt1st = maxclptr = NULL;
|
||||
|
||||
free_jall(maxjptr);
|
||||
jrt1st = maxjptr = NULL;
|
||||
}
|
||||
|
||||
|
|
|
|||
18
mk2claus.c
18
mk2claus.c
|
|
@ -27,19 +27,11 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: mk2claus.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:00 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj_kcnv.h"
|
||||
#include "sj_right.h"
|
||||
|
||||
int terminate(), priority();
|
||||
void mkjiritu(), mkbunsetu(), wakachi(), pritiny();
|
||||
void mkjiritsu(), mkbunsetsu(), wakachi(), pritiny();
|
||||
void free_clall(), free_jall();
|
||||
|
||||
static int set2nd(clrec)
|
||||
|
|
@ -48,9 +40,9 @@ CLREC *clrec;
|
|||
|
||||
CLREC* rec2;
|
||||
|
||||
mkjiritu(DO_IKKATU | DO_CLSTUDY);
|
||||
mkjiritsu(DO_IKKATU | DO_CLSTUDY);
|
||||
|
||||
mkbunsetu();
|
||||
mkbunsetsu();
|
||||
|
||||
if(!maxclptr) {
|
||||
wakachi();
|
||||
|
|
@ -65,8 +57,7 @@ CLREC *clrec;
|
|||
return rec2 ? (clrec->cllen + rec2->cllen) : (clrec->cllen);
|
||||
}
|
||||
|
||||
void mk2claus()
|
||||
{
|
||||
void mk2claus() {
|
||||
unsigned char* keepptr;
|
||||
int keeplen;
|
||||
CLREC* clrec;
|
||||
|
|
@ -160,4 +151,3 @@ void mk2claus()
|
|||
cnvstart = keepptr;
|
||||
cnvlen = keeplen;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,29 +27,18 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: mkbunset.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:02 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <string.h>
|
||||
#include "sj_kcnv.h"
|
||||
#include "sj_hinsi.h"
|
||||
#include "sj_hinshi.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
int terminate();
|
||||
void setclrec(), srchfzk();
|
||||
|
||||
void
|
||||
mkbunsetu(void)
|
||||
{
|
||||
void mkbunsetsu(void) {
|
||||
JREC* jrec;
|
||||
TypeGram hinsi;
|
||||
TypeGram hinshi;
|
||||
unsigned char* cnj;
|
||||
CREC crec[4];
|
||||
int count;
|
||||
|
|
@ -65,12 +54,12 @@ mkbunsetu(void)
|
|||
|
||||
while(jrec) {
|
||||
|
||||
if (jrec -> stbofs && (cnj = getstb(jrec -> hinsi)))
|
||||
hinsi = StbHinsi(cnj + jrec -> stbofs - 1);
|
||||
if(jrec->stbofs && (cnj = getstb(jrec->hinshi)))
|
||||
hinshi = StbHinshi(cnj + jrec->stbofs - 1);
|
||||
else
|
||||
hinsi = jrec -> hinsi;
|
||||
hinshi = jrec->hinshi;
|
||||
|
||||
if ((right = Connadr[hinsi]) != '\0') {
|
||||
if((right = Connadr[hinshi]) != '\0') {
|
||||
gobilen = 0;
|
||||
next = cnvstart + jrec->jlen;
|
||||
|
||||
|
|
@ -82,7 +71,7 @@ mkbunsetu(void)
|
|||
srchfzk(jrec, next, right, 0);
|
||||
}
|
||||
|
||||
else if ((count = setconj(hinsi, jrec, crec)) != 0) {
|
||||
else if((count = setconj(hinshi, jrec, crec)) != 0) {
|
||||
|
||||
for(i = count; i-- > 0;) {
|
||||
|
||||
|
|
@ -103,10 +92,8 @@ mkbunsetu(void)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
CLREC*
|
||||
argclrec(int len)
|
||||
{
|
||||
argclrec(int len) {
|
||||
CLREC* ptr;
|
||||
CLREC* rec;
|
||||
CLREC* child;
|
||||
|
|
@ -144,7 +131,7 @@ argclrec(int len)
|
|||
|
||||
if(((int)ptr->cllen < len) ||
|
||||
(((int)ptr->cllen == len) &&
|
||||
(ptr -> jnode -> hinsi == TANKANJI))) {
|
||||
(ptr->jnode->hinshi == TANKANJI))) {
|
||||
rec->clsort = maxclptr;
|
||||
maxclptr = rec;
|
||||
return rec;
|
||||
|
|
@ -153,16 +140,14 @@ argclrec(int len)
|
|||
while((child = ptr->clsort) != NULL) {
|
||||
if((int)child->cllen < len ||
|
||||
((int)child->cllen == len &&
|
||||
child->jnode->hinsi == TANKANJI)){
|
||||
child->jnode->hinshi == TANKANJI)) {
|
||||
ptr->clsort = rec;
|
||||
rec->clsort = child;
|
||||
return rec;
|
||||
}
|
||||
else
|
||||
} else
|
||||
ptr = child;
|
||||
}
|
||||
|
||||
ptr->clsort = rec;
|
||||
return rec;
|
||||
}
|
||||
|
||||
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: mkjiritu.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:03 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <string.h>
|
||||
#include "sj_kcnv.h"
|
||||
|
|
@ -46,9 +37,7 @@ int srchhead();
|
|||
static void dic_mu(int mode);
|
||||
static void dic_cl(void);
|
||||
|
||||
void
|
||||
mkjiritu(int mode)
|
||||
{
|
||||
void mkjiritsu(int mode) {
|
||||
unsigned char chkind1;
|
||||
unsigned char chkind2;
|
||||
JREC* jrec;
|
||||
|
|
@ -87,14 +76,13 @@ mkjiritu(int mode)
|
|||
}
|
||||
|
||||
for(jrec = maxjptr; jrec; jrec = jrec->jsort) {
|
||||
if ((stb = getstb(jrec -> hinsi)) != NULL)
|
||||
setubi(jrec, stb);
|
||||
if((stb = getstb(jrec->hinshi)) != NULL)
|
||||
setsubi(jrec, stb);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
dic_mu(int mode)
|
||||
{
|
||||
dic_mu(int mode) {
|
||||
unsigned char* tagp;
|
||||
DICTL* dp;
|
||||
|
||||
|
|
@ -108,9 +96,7 @@ dic_mu(int mode)
|
|||
}
|
||||
}
|
||||
|
||||
JREC*
|
||||
argjrec(int len, JREC* rec)
|
||||
{
|
||||
JREC* argjrec(int len, JREC* rec) {
|
||||
JREC* ptr;
|
||||
JREC* jrec;
|
||||
JREC* child;
|
||||
|
|
@ -167,8 +153,7 @@ argjrec(int len, JREC* rec)
|
|||
}
|
||||
|
||||
static void
|
||||
dic_cl(void)
|
||||
{
|
||||
dic_cl(void) {
|
||||
unsigned char* p;
|
||||
unsigned short pos;
|
||||
int len;
|
||||
|
|
@ -193,4 +178,3 @@ dic_cl(void)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
169
mkkouho.c
169
mkkouho.c
|
|
@ -27,56 +27,37 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: mkkouho.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:04 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include "sj_euc.h"
|
||||
#include "sj_kcnv.h"
|
||||
#include "sj_hinsi.h"
|
||||
#include "sj_hinshi.h"
|
||||
#include "sj_suuji.h"
|
||||
#include "sj_dict.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
static void getkhtbl(CLREC* clrec);
|
||||
static void cl_kanji(JREC* jrec, CLREC* clrec);
|
||||
static unsigned char* makekan(unsigned char* s, unsigned char* d, int flg);
|
||||
static int diffknj(JREC* jrec, unsigned char* ptr, int num);
|
||||
static void cl_numcmn(JREC* jrec, CLREC* clrec);
|
||||
|
||||
|
||||
void
|
||||
mkkouho(void)
|
||||
{
|
||||
void mkkouho(void) {
|
||||
CLREC* clrec;
|
||||
int keeplen;
|
||||
|
||||
|
||||
khcount = nkhcount = 0;
|
||||
|
||||
|
||||
keeplen = clt1st->cllen;
|
||||
|
||||
|
||||
clrec = clt1st;
|
||||
|
||||
|
||||
do {
|
||||
getkhtbl(clrec);
|
||||
clrec = clrec->clsort;
|
||||
} while(clrec && (keeplen == clrec->cllen));
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
getkhtbl(CLREC* clrec)
|
||||
{
|
||||
getkhtbl(CLREC* clrec) {
|
||||
JREC* jrec;
|
||||
|
||||
jrec = clrec->jnode;
|
||||
|
|
@ -99,7 +80,7 @@ getkhtbl(CLREC* clrec)
|
|||
cl_numcmn(jrec, clrec);
|
||||
break;
|
||||
|
||||
case C_BUNSETU:
|
||||
case C_BUNSETSU:
|
||||
|
||||
break;
|
||||
|
||||
|
|
@ -110,80 +91,63 @@ getkhtbl(CLREC* clrec)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
cl_kanji(JREC* jrec, CLREC* clrec)
|
||||
{
|
||||
cl_kanji(JREC* jrec, CLREC* clrec) {
|
||||
unsigned char* ptr;
|
||||
int kcount = khcount;
|
||||
|
||||
|
||||
if(seldict(jrec->dicid)) {
|
||||
(*curdict->getdic)(curdict, jrec->jseg);
|
||||
ptr = dicbuf + jrec->jofsst + 1;
|
||||
|
||||
get_askknj();
|
||||
|
||||
|
||||
while (*ptr != HinsiBlkTerm) {
|
||||
|
||||
while(*ptr != HinshiBlkTerm) {
|
||||
|
||||
if(diffknj(jrec, ptr, kcount)) {
|
||||
|
||||
setkouho(clrec, (TypeDicOfs)(ptr - dicbuf), 0);
|
||||
}
|
||||
|
||||
|
||||
ptr = skipkstr(ptr);
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
|
||||
setkouho(clrec, (TypeDicOfs)1, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
makekan_none(unsigned char* s, unsigned char* d, int flg)
|
||||
{
|
||||
makekan_none(unsigned char* s, unsigned char* d, int flg) {
|
||||
return d;
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
makekan_1byte(unsigned char* s, unsigned char* d, int flg)
|
||||
{
|
||||
if ((*s & KanjiModeMask) == ZenHiraAssyuku)
|
||||
*d++ = 0x10 | (*s & KnjAssyukuMask);
|
||||
makekan_1byte(unsigned char* s, unsigned char* d, int flg) {
|
||||
if((*s & KanjiModeMask) == ZenHiraAsshuku)
|
||||
*d++ = 0x10 | (*s & KnjAsshukuMask);
|
||||
else
|
||||
*d++ = 0x90 | (*s & KnjAssyukuMask);
|
||||
*d++ = 0x90 | (*s & KnjAsshukuMask);
|
||||
|
||||
if(flg) *d++ = KanjiStrEnd;
|
||||
return d;
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
makekan_knj(unsigned char* s, unsigned char* d, int flg)
|
||||
{
|
||||
makekan_knj(unsigned char* s, unsigned char* d, int flg) {
|
||||
|
||||
return makekan(askknj[*s & KnjAssyukuMask], d, flg);
|
||||
return makekan(askknj[*s & KnjAsshukuMask], d, flg);
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
makekan_ofs(unsigned char* s, unsigned char* d, int flg)
|
||||
{
|
||||
makekan_ofs(unsigned char* s, unsigned char* d, int flg) {
|
||||
|
||||
return makekan(dicbuf + ((*s & KanjiCodeMask) << 8) + *(s + 1),
|
||||
d, flg);
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
makekan_norm(unsigned char* s, unsigned char* d, int flg)
|
||||
{
|
||||
makekan_norm(unsigned char* s, unsigned char* d, int flg) {
|
||||
unsigned char c;
|
||||
|
||||
if(*s != 0) {
|
||||
|
|
@ -200,10 +164,8 @@ makekan_norm(unsigned char* s, unsigned char* d, int flg)
|
|||
return d;
|
||||
}
|
||||
|
||||
|
||||
unsigned char*
|
||||
makekan_ascii(unsigned char* s, unsigned char* d, int flg)
|
||||
{
|
||||
makekan_ascii(unsigned char* s, unsigned char* d, int flg) {
|
||||
unsigned char c;
|
||||
|
||||
c = s[1];
|
||||
|
|
@ -216,58 +178,67 @@ makekan_ascii(unsigned char* s, unsigned char* d, int flg)
|
|||
return d;
|
||||
}
|
||||
|
||||
|
||||
static unsigned char*
|
||||
makekan(unsigned char* s, unsigned char* d, int flg)
|
||||
{
|
||||
makekan(unsigned char* s, unsigned char* d, int flg) {
|
||||
int csize;
|
||||
|
||||
for(;;) {
|
||||
csize = codesize(*s);
|
||||
if(s[csize] == KanjiStrEnd) {
|
||||
switch(*s & KanjiModeMask) {
|
||||
case ZenHiraAssyuku:
|
||||
d = makekan_1byte(s, d, flg); break;
|
||||
case ZenHiraAsshuku:
|
||||
d = makekan_1byte(s, d, flg);
|
||||
break;
|
||||
|
||||
case ZenKataAssyuku:
|
||||
d = makekan_1byte(s, d, flg); break;
|
||||
case ZenKataAsshuku:
|
||||
d = makekan_1byte(s, d, flg);
|
||||
break;
|
||||
|
||||
case OffsetAssyuku:
|
||||
d = makekan_ofs(s, d, flg); break;
|
||||
case OffsetAsshuku:
|
||||
d = makekan_ofs(s, d, flg);
|
||||
break;
|
||||
|
||||
case AiAttribute:
|
||||
d = makekan_none(s, d, flg); break;
|
||||
d = makekan_none(s, d, flg);
|
||||
break;
|
||||
|
||||
case LeadingHankaku:
|
||||
d = makekan_ascii(s, d, flg); break;
|
||||
d = makekan_ascii(s, d, flg);
|
||||
break;
|
||||
|
||||
case KanjiAssyuku:
|
||||
d = makekan_knj(s, d, flg); break;
|
||||
case KanjiAsshuku:
|
||||
d = makekan_knj(s, d, flg);
|
||||
break;
|
||||
|
||||
default:
|
||||
d = makekan_norm(s, d, flg);
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
} else
|
||||
switch(*s & KanjiModeMask) {
|
||||
case ZenHiraAssyuku:
|
||||
d = makekan_1byte(s, d, FALSE); break;
|
||||
case ZenHiraAsshuku:
|
||||
d = makekan_1byte(s, d, FALSE);
|
||||
break;
|
||||
|
||||
case ZenKataAssyuku:
|
||||
d = makekan_1byte(s, d, FALSE); break;
|
||||
case ZenKataAsshuku:
|
||||
d = makekan_1byte(s, d, FALSE);
|
||||
break;
|
||||
|
||||
case OffsetAssyuku:
|
||||
d = makekan_ofs(s, d, FALSE); break;
|
||||
case OffsetAsshuku:
|
||||
d = makekan_ofs(s, d, FALSE);
|
||||
break;
|
||||
|
||||
case AiAttribute:
|
||||
d = makekan_none(s, d, FALSE); break;
|
||||
d = makekan_none(s, d, FALSE);
|
||||
break;
|
||||
|
||||
case LeadingHankaku:
|
||||
d = makekan_ascii(s, d, FALSE); break;
|
||||
d = makekan_ascii(s, d, FALSE);
|
||||
break;
|
||||
|
||||
case KanjiAssyuku:
|
||||
d = makekan_knj(s, d, FALSE); break;
|
||||
case KanjiAsshuku:
|
||||
d = makekan_knj(s, d, FALSE);
|
||||
break;
|
||||
|
||||
default:
|
||||
d = makekan_norm(s, d, FALSE);
|
||||
|
|
@ -279,12 +250,10 @@ makekan(unsigned char* s, unsigned char* d, int flg)
|
|||
return d;
|
||||
}
|
||||
|
||||
|
||||
#define PEND 2
|
||||
#define QEND 1
|
||||
static int
|
||||
sameknj(unsigned char* p, int plen, unsigned char* q, int qlen)
|
||||
{
|
||||
sameknj(unsigned char* p, int plen, unsigned char* q, int qlen) {
|
||||
int i;
|
||||
int j;
|
||||
int endf = 0;
|
||||
|
|
@ -341,17 +310,15 @@ sameknj(unsigned char* p, int plen, unsigned char* q, int qlen)
|
|||
#undef PEND
|
||||
#undef QEND
|
||||
|
||||
|
||||
static int
|
||||
diffknj(JREC* jrec, unsigned char* ptr, int num)
|
||||
{
|
||||
diffknj(JREC* jrec, unsigned char* ptr, int num) {
|
||||
KHREC* kptr;
|
||||
JREC* jptr;
|
||||
int i;
|
||||
unsigned char kbuf1[MaxWdKanjiLen];
|
||||
unsigned char kbuf2[MaxWdKanjiLen];
|
||||
|
||||
if (jrec -> hinsi == TANKANJI) return TRUE;
|
||||
if(jrec->hinshi == TANKANJI) return TRUE;
|
||||
|
||||
makekan(ptr, kbuf1, TRUE);
|
||||
|
||||
|
|
@ -359,7 +326,7 @@ diffknj(JREC* jrec, unsigned char* ptr, int num)
|
|||
if((jptr = kptr->clrec->jnode) == jrec)
|
||||
return FALSE;
|
||||
|
||||
if (jptr -> hinsi == TANKANJI) continue;
|
||||
if(jptr->hinshi == TANKANJI) continue;
|
||||
|
||||
if(jptr->class != jrec->class) continue;
|
||||
|
||||
|
|
@ -380,10 +347,8 @@ diffknj(JREC* jrec, unsigned char* ptr, int num)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
chrck_numtbl(unsigned short flg, unsigned short cond)
|
||||
{
|
||||
chrck_numtbl(unsigned short flg, unsigned short cond) {
|
||||
unsigned short must;
|
||||
|
||||
if((cond = SelNumCond(cond)) != 0) {
|
||||
|
|
@ -397,10 +362,7 @@ chrck_numtbl(unsigned short flg, unsigned short cond)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
sel_sjmode(JREC* jrec)
|
||||
{
|
||||
int sel_sjmode(JREC* jrec) {
|
||||
unsigned short i;
|
||||
unsigned short* p;
|
||||
unsigned short* q;
|
||||
|
|
@ -423,7 +385,6 @@ sel_sjmode(JREC* jrec)
|
|||
return SelArb;
|
||||
}
|
||||
|
||||
|
||||
while((i = *p++) != SelNumTerm) {
|
||||
|
||||
if(chrck_numtbl(jrec->flags, i)) break;
|
||||
|
|
@ -434,44 +395,35 @@ sel_sjmode(JREC* jrec)
|
|||
return SelNumFunc(i);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
cl_numcmn(JREC* jrec, CLREC* clrec)
|
||||
{
|
||||
cl_numcmn(JREC* jrec, CLREC* clrec) {
|
||||
unsigned char* p;
|
||||
int i;
|
||||
unsigned short j;
|
||||
unsigned short* tbl;
|
||||
|
||||
|
||||
p = cnvstart;
|
||||
if((i = jrec->sttofs) == SETTOU_DAI)
|
||||
p += SttYomiLen(Settou_ptr(i));
|
||||
else if(i == SETTOU_KIGOU)
|
||||
p++;
|
||||
|
||||
|
||||
if(jrec->jofsst) {
|
||||
|
||||
i = sel_sjmode(jrec);
|
||||
|
||||
|
||||
if(seldict(jrec->dicid)) {
|
||||
(*curdict->getdic)(curdict, jrec->jseg);
|
||||
|
||||
|
||||
p = dicbuf + jrec->jofsst + 1;
|
||||
|
||||
|
||||
while (*p != HinsiBlkTerm) {
|
||||
while(*p != HinshiBlkTerm) {
|
||||
|
||||
setkouho(clrec, (TypeDicOfs)(p - dicbuf), i);
|
||||
|
||||
|
||||
p = skipkstr(p);
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
|
||||
setkouho(clrec, (TypeDicOfs)1, i);
|
||||
}
|
||||
|
|
@ -484,7 +436,6 @@ cl_numcmn(JREC* jrec, CLREC* clrec)
|
|||
|
||||
if(!chrck_numtbl(jrec->flags, j)) continue;
|
||||
|
||||
|
||||
setkouho(clrec, (TypeDicOfs)0, (int)SelNumFunc(j));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
142
mknumber.c
142
mknumber.c
|
|
@ -27,25 +27,14 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: mknumber.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:05 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include "sj_kcnv.h"
|
||||
#include "sj_yomi.h"
|
||||
#include "sj_suuji.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
static int
|
||||
word2char(unsigned short wd, unsigned char* tbl, int keta, int flg)
|
||||
{
|
||||
word2char(unsigned short wd, unsigned char* tbl, int keta, int flg) {
|
||||
int mask;
|
||||
int num;
|
||||
unsigned char* src;
|
||||
|
|
@ -74,17 +63,14 @@ word2char(unsigned short wd, unsigned char* tbl, int keta, int flg)
|
|||
}
|
||||
if(keta) keta--;
|
||||
|
||||
|
||||
wd &= (mask - 1);
|
||||
}
|
||||
|
||||
return flg;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
words2num(unsigned short* wd, unsigned char* tbl, int flgc)
|
||||
{
|
||||
words2num(unsigned short* wd, unsigned char* tbl, int flgc) {
|
||||
int i;
|
||||
int keta;
|
||||
int flg;
|
||||
|
|
@ -93,8 +79,7 @@ words2num(unsigned short* wd, unsigned char* tbl, int flgc)
|
|||
if(flgc) {
|
||||
keta = NumKetaLength - 1;
|
||||
flg = FALSE;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
keta = 0;
|
||||
flg = TRUE;
|
||||
}
|
||||
|
|
@ -104,7 +89,6 @@ words2num(unsigned short* wd, unsigned char* tbl, int flgc)
|
|||
if(keta) keta -= 4;
|
||||
}
|
||||
|
||||
|
||||
if(kp == kanjitmp) {
|
||||
|
||||
*kanjitmp++ = *tbl++;
|
||||
|
|
@ -112,114 +96,72 @@ words2num(unsigned short* wd, unsigned char* tbl, int flgc)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type00(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type00(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned short num[NumWordBuf];
|
||||
|
||||
|
||||
setwdnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
words2num(num, Num1tbl, FALSE);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type01(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type01(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned short num[NumWordBuf];
|
||||
|
||||
|
||||
setwdnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
words2num(num, Num1tbl, FALSE);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type02(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type02(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned short num[NumWordBuf];
|
||||
|
||||
|
||||
setwdnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
words2num(num, Num1tbl, TRUE);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type03(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type03(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned short num[NumWordBuf];
|
||||
|
||||
|
||||
setwdnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
words2num(num, Num2tbl, FALSE);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type04(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type04(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned short num[NumWordBuf];
|
||||
|
||||
|
||||
setwdnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
words2num(num, Num2tbl, FALSE);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type05(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type05(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned short num[NumWordBuf];
|
||||
|
||||
|
||||
setwdnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
words2num(num, Num2tbl, TRUE);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type06(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type06(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned short num[NumWordBuf];
|
||||
|
||||
|
||||
setwdnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
words2num(num, Num3tbl, FALSE);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type07(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type07(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned short num[NumWordBuf];
|
||||
|
||||
|
||||
setwdnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
words2num(num, Num3tbl, FALSE);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
kan_num(unsigned short* wd, unsigned char* tbl1, unsigned char* tbl2)
|
||||
{
|
||||
kan_num(unsigned short* wd, unsigned char* tbl1, unsigned char* tbl2) {
|
||||
int ii;
|
||||
unsigned short tmp;
|
||||
int mask;
|
||||
|
|
@ -230,13 +172,11 @@ kan_num(unsigned short* wd, unsigned char* tbl1, unsigned char* tbl2)
|
|||
unsigned char* src;
|
||||
unsigned char* keep = kanjitmp;
|
||||
|
||||
|
||||
kurai2 = Num6tbl - 2;
|
||||
mask = 0;
|
||||
wd += NumWordBuf - 1;
|
||||
flg = FALSE;
|
||||
|
||||
|
||||
for(ii = NumKetaLength; ii-- > 0;) {
|
||||
|
||||
if(!mask) {
|
||||
|
|
@ -244,8 +184,7 @@ kan_num(unsigned short* wd, unsigned char* tbl1, unsigned char* tbl2)
|
|||
if(flg) {
|
||||
*kanjitmp++ = *kurai2++;
|
||||
*kanjitmp++ = *kurai2++;
|
||||
}
|
||||
else
|
||||
} else
|
||||
kurai2 += 2;
|
||||
|
||||
mask = 0x1000;
|
||||
|
|
@ -254,7 +193,6 @@ kan_num(unsigned short* wd, unsigned char* tbl1, unsigned char* tbl2)
|
|||
kurai1 = tbl2;
|
||||
}
|
||||
|
||||
|
||||
if((num = (unsigned int)tmp / mask) > _Num0) {
|
||||
|
||||
if((num != _Num1) || !*kurai1) {
|
||||
|
|
@ -263,7 +201,6 @@ kan_num(unsigned short* wd, unsigned char* tbl1, unsigned char* tbl2)
|
|||
*kanjitmp++ = *src;
|
||||
}
|
||||
|
||||
|
||||
if(*kurai1) {
|
||||
*kanjitmp++ = *kurai1++;
|
||||
*kanjitmp++ = *kurai1++;
|
||||
|
|
@ -274,51 +211,35 @@ kan_num(unsigned short* wd, unsigned char* tbl1, unsigned char* tbl2)
|
|||
else
|
||||
kurai1 += 2;
|
||||
|
||||
|
||||
tmp &= (mask - 1);
|
||||
mask >>= 4;
|
||||
}
|
||||
|
||||
|
||||
if(kanjitmp == keep) {
|
||||
*kanjitmp++ = *tbl1++;
|
||||
*kanjitmp++ = *tbl1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type08(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type08(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned short num[NumWordBuf];
|
||||
|
||||
|
||||
setwdnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
kan_num(num, Num2tbl, Num4tbl);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type09(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type09(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned short num[NumWordBuf];
|
||||
|
||||
|
||||
setwdnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
kan_num(num, Num3tbl, Num5tbl);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type10(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type10(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
int i;
|
||||
|
||||
|
||||
for(i = jrec->numlen; i > 0; i--) {
|
||||
|
||||
if(Chrtbl[*s1++] & NUMBER) {
|
||||
|
|
@ -331,18 +252,13 @@ num_type10(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type11(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type11(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
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) {
|
||||
|
|
@ -361,14 +277,10 @@ num_type11(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type12(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type12(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
int i;
|
||||
int j;
|
||||
|
||||
|
||||
for(i = jrec->numlen; i > 0; i--) {
|
||||
|
||||
if(Chrtbl[j = *s1++] & NUMBER) {
|
||||
|
|
@ -379,10 +291,8 @@ num_type12(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
num_kurai(unsigned char* p, int len, unsigned char* tbl)
|
||||
{
|
||||
num_kurai(unsigned char* p, int len, unsigned char* tbl) {
|
||||
int i;
|
||||
int j;
|
||||
unsigned char tmp;
|
||||
|
|
@ -403,30 +313,20 @@ num_kurai(unsigned char* p, int len, unsigned char* tbl)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type13(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type13(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned char num[NumKetaLength];
|
||||
int len;
|
||||
|
||||
|
||||
len = setucnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
num_kurai(num, len, Num1tbl);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
num_type14(unsigned char* s1, unsigned char* s2, JREC* jrec)
|
||||
{
|
||||
void num_type14(unsigned char* s1, unsigned char* s2, JREC* jrec) {
|
||||
unsigned char num[NumKetaLength];
|
||||
int len;
|
||||
|
||||
|
||||
len = setucnum(s1, (int)jrec->numlen, num);
|
||||
|
||||
|
||||
num_kurai(num, len, Num2tbl);
|
||||
}
|
||||
|
|
|
|||
12
mvmemd.c
12
mvmemd.c
|
|
@ -27,22 +27,12 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: mvmemd.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:05 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj_rename.h"
|
||||
#include "sj_typedef.h"
|
||||
|
||||
void mvmemd(src, dest, len)
|
||||
unsigned char *src;
|
||||
void mvmemd(src, dest, len) unsigned char* src;
|
||||
unsigned char* dest;
|
||||
int len;
|
||||
{
|
||||
while(len-- > 0) *(--dest) = *(--src);
|
||||
}
|
||||
|
||||
|
|
|
|||
12
mvmemi.c
12
mvmemi.c
|
|
@ -27,22 +27,12 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: mvmemi.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:06 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj_rename.h"
|
||||
#include "sj_typedef.h"
|
||||
|
||||
void mvmemi(src, dest, len)
|
||||
unsigned char *src;
|
||||
void mvmemi(src, dest, len) unsigned char* src;
|
||||
unsigned char* dest;
|
||||
int len;
|
||||
{
|
||||
while(len-- > 0) *dest++ = *src++;
|
||||
}
|
||||
|
||||
|
|
|
|||
20
nmttyslot.c
20
nmttyslot.c
|
|
@ -27,32 +27,18 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: nmttyslot.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:20 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj2.h"
|
||||
#define LINESIZE 128
|
||||
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
|
||||
|
||||
|
||||
static char* getttys();
|
||||
static char* ttys = "/etc/ttys";
|
||||
|
||||
#define NULL 0
|
||||
|
||||
nmttyslot (name)
|
||||
char *name;
|
||||
nmttyslot(name) char* name;
|
||||
{
|
||||
char *tp, *p;
|
||||
int s, tf;
|
||||
|
|
@ -90,8 +76,7 @@ top:
|
|||
if(*lp == '\n') {
|
||||
*lp = '\0';
|
||||
break;
|
||||
}
|
||||
else if (*lp == ' ' || *lp == '\t') {
|
||||
} else if(*lp == ' ' || *lp == '\t') {
|
||||
|
||||
while(1) {
|
||||
if(read(f, lp, 1) != 1)
|
||||
|
|
@ -110,4 +95,3 @@ top:
|
|||
goto top;
|
||||
return (lp);
|
||||
}
|
||||
|
||||
|
|
|
|||
55
offset.c
55
offset.c
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: offset.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1994/08/17 01:50:26 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
|
@ -46,22 +37,16 @@
|
|||
extern OffsetRec* ofsrec[];
|
||||
extern int ofsrec_num;
|
||||
|
||||
|
||||
|
||||
static OffsetRec*
|
||||
makeoffset(unsigned char* ptr, int len, int ofs)
|
||||
{
|
||||
makeoffset(unsigned char* ptr, int len, int ofs) {
|
||||
OffsetRec* orec;
|
||||
unsigned char* p;
|
||||
|
||||
|
||||
orec = (OffsetRec*)Malloc(sizeof(OffsetRec));
|
||||
|
||||
|
||||
p = (unsigned char*)Malloc(len);
|
||||
memcpy(p, ptr, len);
|
||||
|
||||
|
||||
orec->kptr = p;
|
||||
orec->klen = len;
|
||||
if(ofs)
|
||||
|
|
@ -72,15 +57,11 @@ makeoffset(unsigned char* ptr, int len, int ofs)
|
|||
return orec;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
set_ofsrec(unsigned char* ptr, int len, int ofs)
|
||||
{
|
||||
void set_ofsrec(unsigned char* ptr, int len, int ofs) {
|
||||
OffsetRec* orec;
|
||||
int low, high, mid;
|
||||
int i;
|
||||
|
||||
|
||||
if(ofsrec_num <= 0) {
|
||||
orec = makeoffset(ptr, len, ofs);
|
||||
ofsrec[0] = orec;
|
||||
|
|
@ -89,8 +70,8 @@ set_ofsrec(unsigned char* ptr, int len, int ofs)
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
low = 0; high = ofsrec_num - 1;
|
||||
low = 0;
|
||||
high = ofsrec_num - 1;
|
||||
while(low <= high) {
|
||||
mid = (low + high) / 2;
|
||||
i = string_cmp(ofsrec[mid]->kptr, ofsrec[mid]->klen, ptr, len);
|
||||
|
|
@ -102,35 +83,28 @@ set_ofsrec(unsigned char* ptr, int len, int ofs)
|
|||
break;
|
||||
}
|
||||
|
||||
|
||||
if(i) {
|
||||
if(ofsrec_num >= MaxOffsetNumber) {
|
||||
fprintf(stderr, "\245\252\245\325\245\273\245\303\245\310\241\246\245\306\241\274\245\326\245\353\244\254\244\242\244\325\244\354\244\336\244\267\244\277\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
orec = makeoffset(ptr, len, ofs);
|
||||
|
||||
|
||||
for(i = ofsrec_num; i > mid; i--) ofsrec[i] = ofsrec[i - 1];
|
||||
ofsrec[mid] = orec;
|
||||
ofsrec_num++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
isknjexist(unsigned char* knj, int len)
|
||||
{
|
||||
int isknjexist(unsigned char* knj, int len) {
|
||||
int low, high, mid;
|
||||
int i;
|
||||
|
||||
|
||||
if(ofsrec_num <= 0) return 0;
|
||||
|
||||
|
||||
low = 0; high = ofsrec_num - 1;
|
||||
low = 0;
|
||||
high = ofsrec_num - 1;
|
||||
while(low <= high) {
|
||||
mid = (low + high) / 2;
|
||||
i = string_cmp(ofsrec[mid]->kptr, ofsrec[mid]->klen, knj, len);
|
||||
|
|
@ -145,10 +119,7 @@ isknjexist(unsigned char* knj, int len)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
clear_ofsrec(void)
|
||||
{
|
||||
void clear_ofsrec(void) {
|
||||
int i;
|
||||
|
||||
for(i = 0; i < ofsrec_num; i++) {
|
||||
|
|
@ -159,26 +130,20 @@ clear_ofsrec(void)
|
|||
ofsrec_num = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
OffsetRec*
|
||||
real_ofsrec(unsigned char* ptr)
|
||||
{
|
||||
real_ofsrec(unsigned char* ptr) {
|
||||
int ofs;
|
||||
int i;
|
||||
OffsetRec** p;
|
||||
|
||||
|
||||
ofs = (*ptr++ & KnjAssyukuMask);
|
||||
ofs = (*ptr++ & KnjAsshukuMask);
|
||||
ofs <<= 8;
|
||||
ofs += *ptr;
|
||||
|
||||
|
||||
for(i = ofsrec_num, p = ofsrec; i-- > 0; p++)
|
||||
if((*p)->offset == ofs)
|
||||
return *p;
|
||||
|
||||
|
||||
fprintf(stderr, "real_ofsrec() \244\307\260\333\276\357\244\312\276\365\302\326 %x\n", ofs);
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
135
peepdic.c
135
peepdic.c
|
|
@ -27,39 +27,25 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: peepdic.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1995/07/21 05:22:51 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include "sj_kcnv.h"
|
||||
#include "sj_yomi.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
unsigned char* skiphblk();
|
||||
|
||||
static void add_yomi(void);
|
||||
static void cd2sjh_chr(unsigned char ch, unsigned char* dst);
|
||||
static int next_douon(void);
|
||||
static int next_hinsi (void);
|
||||
static int next_hinshi(void);
|
||||
static int next_kanji(void);
|
||||
static int prev_douon(void);
|
||||
static int prev_hinsi (void);
|
||||
static int prev_hinshi(void);
|
||||
static int prev_kanji(void);
|
||||
static void set_buf(unsigned char* buf);
|
||||
static void set_idxyomi(void);
|
||||
static void set_kanji(void);
|
||||
|
||||
|
||||
|
||||
int
|
||||
getusr (unsigned char *buf)
|
||||
{
|
||||
int getusr(unsigned char* buf) {
|
||||
int nlen;
|
||||
|
||||
peepyomi[0] = peepknj[0] = peepgrm = 0;
|
||||
|
|
@ -87,11 +73,7 @@ getusr (unsigned char *buf)
|
|||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int
|
||||
nextusr (unsigned char *buf)
|
||||
{
|
||||
int nextusr(unsigned char* buf) {
|
||||
(*curdict->getdic)(curdict, peepidx);
|
||||
get_askknj();
|
||||
|
||||
|
|
@ -104,11 +86,7 @@ nextusr (unsigned char *buf)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int
|
||||
prevusr (unsigned char *buf)
|
||||
{
|
||||
int prevusr(unsigned char* buf) {
|
||||
(*curdict->getdic)(curdict, peepidx);
|
||||
get_askknj();
|
||||
|
||||
|
|
@ -121,11 +99,8 @@ prevusr (unsigned char *buf)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
set_kanji (void)
|
||||
{
|
||||
set_kanji(void) {
|
||||
int len;
|
||||
|
||||
len = getkanji(peepyomi, getnlen(peepdptr) + getplen(peepdptr),
|
||||
|
|
@ -133,11 +108,8 @@ set_kanji (void)
|
|||
*(peepknj + len) = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
set_buf (unsigned char *buf)
|
||||
{
|
||||
set_buf(unsigned char* buf) {
|
||||
unsigned char* p;
|
||||
int i, csize;
|
||||
|
||||
|
|
@ -154,16 +126,13 @@ set_buf (unsigned char *buf)
|
|||
*buf++ = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
prev_kanji (void)
|
||||
{
|
||||
prev_kanji(void) {
|
||||
unsigned char* p1;
|
||||
unsigned char* p2;
|
||||
|
||||
p1 = peephptr + 1;
|
||||
if (peepkptr <= p1) return prev_hinsi();
|
||||
if(peepkptr <= p1) return prev_hinshi();
|
||||
|
||||
p2 = peepkptr;
|
||||
while(p1 < p2) {
|
||||
|
|
@ -174,11 +143,8 @@ prev_kanji (void)
|
|||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
prev_hinsi (void)
|
||||
{
|
||||
prev_hinshi(void) {
|
||||
unsigned char* p1;
|
||||
unsigned char* p2;
|
||||
int nlen;
|
||||
|
|
@ -197,7 +163,7 @@ prev_hinsi (void)
|
|||
peepgrm = *peephptr;
|
||||
|
||||
p1 = peephptr + 1;
|
||||
while (*p1 != HinsiBlkTerm) {
|
||||
while(*p1 != HinshiBlkTerm) {
|
||||
peepkptr = p1;
|
||||
p1 = skipkstr(p1);
|
||||
}
|
||||
|
|
@ -205,11 +171,8 @@ prev_hinsi (void)
|
|||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
prev_douon (void)
|
||||
{
|
||||
prev_douon(void) {
|
||||
unsigned char* p1;
|
||||
unsigned char* p2;
|
||||
int nlen;
|
||||
|
|
@ -228,8 +191,7 @@ prev_douon (void)
|
|||
add_yomi();
|
||||
p1 = getntag(p1);
|
||||
} while(!segend(p1));
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
set_idxyomi();
|
||||
|
||||
p1 = segtop();
|
||||
|
|
@ -256,29 +218,23 @@ prev_douon (void)
|
|||
do {
|
||||
peepkptr = p1;
|
||||
p1 = skipkstr(p1);
|
||||
} while (*p1 != HinsiBlkTerm);
|
||||
} while(*p1 != HinshiBlkTerm);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
next_kanji (void)
|
||||
{
|
||||
next_kanji(void) {
|
||||
unsigned char* p1;
|
||||
|
||||
p1 = skipkstr(peepkptr);
|
||||
if (*p1 == HinsiBlkTerm) return next_hinsi();
|
||||
if(*p1 == HinshiBlkTerm) return next_hinshi();
|
||||
peepkptr = p1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
next_hinsi (void)
|
||||
{
|
||||
next_hinshi(void) {
|
||||
unsigned char* p1;
|
||||
|
||||
p1 = skiphblk(peephptr);
|
||||
|
|
@ -289,11 +245,8 @@ next_hinsi (void)
|
|||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
next_douon (void)
|
||||
{
|
||||
next_douon(void) {
|
||||
unsigned char* p1;
|
||||
int nlen;
|
||||
|
||||
|
|
@ -306,11 +259,9 @@ next_douon (void)
|
|||
peepdptr = segtop();
|
||||
|
||||
set_idxyomi();
|
||||
}
|
||||
else
|
||||
} else
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
peepdptr = p1;
|
||||
}
|
||||
|
||||
|
|
@ -326,11 +277,8 @@ next_douon (void)
|
|||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
set_idxyomi (void)
|
||||
{
|
||||
set_idxyomi(void) {
|
||||
unsigned char *p1, *p2;
|
||||
|
||||
if((p2 = get_idxptr(peepidx)) != NULL) {
|
||||
|
|
@ -343,11 +291,8 @@ set_idxyomi (void)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
add_yomi (void)
|
||||
{
|
||||
add_yomi(void) {
|
||||
int nlen;
|
||||
unsigned char *p1, *p2;
|
||||
|
||||
|
|
@ -363,50 +308,36 @@ add_yomi (void)
|
|||
*p1 = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
cd2sjh_chr (unsigned char ch, unsigned char *dst)
|
||||
{
|
||||
cd2sjh_chr(unsigned char ch, unsigned char* dst) {
|
||||
if(ch == _TYOUON) {
|
||||
*dst++ = 0xa1;
|
||||
*dst++ = 0xbc;
|
||||
}
|
||||
else if (ch == _IGETA) {
|
||||
} else if(ch == _IGETA) {
|
||||
*dst++ = 0xa1;
|
||||
*dst++ = 0xf4;
|
||||
}
|
||||
else if (ch == _ATTO) {
|
||||
} else if(ch == _ATTO) {
|
||||
*dst++ = 0xa1;
|
||||
*dst++ = 0xf7;
|
||||
}
|
||||
else if (ch == _YUUBIN) {
|
||||
} else if(ch == _YUUBIN) {
|
||||
*dst++ = 0xa2;
|
||||
*dst++ = 0xa9;
|
||||
}
|
||||
else if (ch < N_0) {
|
||||
}
|
||||
else if (ch <= N_9) {
|
||||
} else if(ch < N_0) {
|
||||
} else if(ch <= N_9) {
|
||||
*dst++ = 0xa3;
|
||||
*dst++ = ch + 0xa0;
|
||||
}
|
||||
else if (ch <= A_Z) {
|
||||
} else if(ch <= A_Z) {
|
||||
*dst++ = 0xa3;
|
||||
*dst++ = ch + 0xa7;
|
||||
}
|
||||
else if (ch <= A_z) {
|
||||
} else if(ch <= A_z) {
|
||||
*dst++ = 0xa3;
|
||||
*dst++ = ch + 0xad;
|
||||
}
|
||||
else if (ch <= _NN) {
|
||||
} else if(ch <= _NN) {
|
||||
*dst++ = 0xa4;
|
||||
*dst++ = ch + 0x53;
|
||||
}
|
||||
else if (ch <= _XKE) {
|
||||
} else if(ch <= _XKE) {
|
||||
*dst++ = 0xa5;
|
||||
*dst++ = ch + 0x53;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
28
ph2knj.c
28
ph2knj.c
|
|
@ -27,21 +27,11 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: ph2knj.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:09 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <string.h>
|
||||
#include "sj_kcnv.h"
|
||||
#include "sj_yomi.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
int sj2cd_chr();
|
||||
void mk2claus();
|
||||
void freework();
|
||||
|
|
@ -49,17 +39,16 @@ void selclrec();
|
|||
CLREC* free_clst();
|
||||
JREC* free_jlst();
|
||||
|
||||
|
||||
|
||||
int ph2knj
|
||||
(unsigned char *zyomi, unsigned char *kanji, int knjlen)
|
||||
{
|
||||
int ph2knj(unsigned char* zyomi, unsigned char* kanji, int knjlen) {
|
||||
unsigned char* ptr;
|
||||
unsigned char* dst;
|
||||
int i;
|
||||
|
||||
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++);
|
||||
}
|
||||
*dst = 0;
|
||||
|
|
@ -80,8 +69,8 @@ int ph2knj
|
|||
|
||||
while(cnvlen && kanjilen) {
|
||||
if(!clt1st) {
|
||||
mkjiritu(DO_CLSTUDY | DO_IKKATU);
|
||||
mkbunsetu();
|
||||
mkjiritsu(DO_CLSTUDY | DO_IKKATU);
|
||||
mkbunsetsu();
|
||||
if(!maxclptr) wakachi();
|
||||
jrt1st = maxjptr;
|
||||
clt1st = maxclptr;
|
||||
|
|
@ -91,7 +80,7 @@ int ph2knj
|
|||
|
||||
selclrec();
|
||||
|
||||
prevclgrm = selcl -> jnode -> hinsi;
|
||||
prevclgrm = selcl->jnode->hinshi;
|
||||
prevclrow = selcl->right;
|
||||
|
||||
clt1st = free_clst(clt1st, (int)selcl->cllen);
|
||||
|
|
@ -115,4 +104,3 @@ int ph2knj
|
|||
|
||||
return (inputyomi - zyomi);
|
||||
}
|
||||
|
||||
|
|
|
|||
31
ph_khtbl.c
31
ph_khtbl.c
|
|
@ -27,23 +27,11 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: ph_khtbl.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:09 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include "sj_kcnv.h"
|
||||
#include "kanakan.h"
|
||||
|
||||
|
||||
|
||||
static void
|
||||
ph_setsty (CLREC *clrec)
|
||||
{
|
||||
ph_setsty(CLREC* clrec) {
|
||||
JREC* jrec;
|
||||
TypeDicOfs offset;
|
||||
unsigned char* ptr;
|
||||
|
|
@ -58,7 +46,7 @@ ph_setsty (CLREC *clrec)
|
|||
(*curdict->getdic)(curdict, jrec->jseg);
|
||||
ptr = dicbuf + jrec->jofsst + 1;
|
||||
|
||||
for ( ; *ptr != HinsiBlkTerm ; ptr = skipkstr(ptr)) {
|
||||
for(; *ptr != HinshiBlkTerm; ptr = skipkstr(ptr)) {
|
||||
offset = ptr - dicbuf;
|
||||
sptr = srchstdy(jrec->jseg, offset, jrec->dicid);
|
||||
|
||||
|
|
@ -71,8 +59,7 @@ ph_setsty (CLREC *clrec)
|
|||
|
||||
if(sptr->styno < kouhotbl[0].styno) {
|
||||
ph_setkouho(clrec, offset, sptr);
|
||||
}
|
||||
else if (sptr -> styno == kouhotbl -> styno) {
|
||||
} else if(sptr->styno == kouhotbl->styno) {
|
||||
if(!(kouhotbl[0].ka_fg &&
|
||||
sptr->ka_kj == kouhotbl[0].ka_kj)) {
|
||||
ph_setkouho(clrec, offset, sptr);
|
||||
|
|
@ -81,11 +68,7 @@ ph_setsty (CLREC *clrec)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
int
|
||||
ph_khtbl (CLREC *clrec)
|
||||
{
|
||||
int ph_khtbl(CLREC* clrec) {
|
||||
JREC* jrec;
|
||||
int flg = FALSE;
|
||||
|
||||
|
|
@ -107,10 +90,9 @@ ph_khtbl (CLREC *clrec)
|
|||
if(jrec->jofsst) {
|
||||
ph_setsty(clrec);
|
||||
break;
|
||||
}
|
||||
else
|
||||
} else
|
||||
flg = TRUE;
|
||||
case C_BUNSETU:
|
||||
case C_BUNSETSU:
|
||||
case C_MINASI:
|
||||
case C_WAKACHI:
|
||||
if(!khcount) ph_setkouho(clrec, (TypeDicOfs)0, (STDYIN*)0);
|
||||
|
|
@ -119,4 +101,3 @@ ph_khtbl (CLREC *clrec)
|
|||
|
||||
return flg;
|
||||
}
|
||||
|
||||
|
|
|
|||
111
priority.c
111
priority.c
|
|
@ -27,25 +27,17 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: priority.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:10 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj_kcnv.h"
|
||||
#include "sj_hinsi.h"
|
||||
#include "sj_hinshi.h"
|
||||
#include "sj_right.h"
|
||||
#include "sj_prty.h"
|
||||
|
||||
static int isfukusi(hinsi)
|
||||
TypeGram hinsi;
|
||||
static int isfukusi(hinshi)
|
||||
TypeGram hinshi;
|
||||
{
|
||||
if (FUKUSI_1 <= hinsi && hinsi <= FUKUSI_7)
|
||||
if(FUKUSHI_1 <= hinshi && hinshi <= FUKUSHI_7)
|
||||
return TRUE;
|
||||
else if (hinsi == MEISI_11 || hinsi == D_MEISI_6)
|
||||
else if(hinshi == MEISHI_11 || hinshi == D_MEISHI_6)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -53,51 +45,49 @@ TypeGram hinsi;
|
|||
static int istaigen(right)
|
||||
TypeCnct right;
|
||||
{
|
||||
if (right == R_MEISI || right == R_DMEISI || right == R_SMEISI1)
|
||||
if(right == R_MEISHI || right == R_DMEISHI || right == R_SMEISHI1)
|
||||
return TRUE;
|
||||
if (right == R_WO_MEISI || right == R_DAIMEISI || right == R_JOSUUSI)
|
||||
if(right == R_WO_MEISHI || right == R_DAIMEISHI || right == R_JOSUUSHI)
|
||||
return TRUE;
|
||||
if(right == R_RENYOU1 || (R_RENYOU3 <= right && right <= R_SA5RENYOU4))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static int taicnt(hinsi1, hinsi2)
|
||||
TypeGram hinsi1;
|
||||
TypeGram hinsi2;
|
||||
static int taicnt(hinshi1, hinshi2)
|
||||
TypeGram hinshi1;
|
||||
TypeGram hinshi2;
|
||||
{
|
||||
if (hinsi2 == TANKANJI) return 0;
|
||||
if(hinshi2 == TANKANJI) return 0;
|
||||
|
||||
if (MYOUJI <= hinsi1 && hinsi1 <= KEN_KU) {
|
||||
if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9)
|
||||
return Taipri(hinsi1 - MYOUJI, hinsi2);
|
||||
if(MYOUJI <= hinshi1 && hinshi1 <= KEN_KU) {
|
||||
if(MEISHI_1 <= hinshi2 && hinshi2 <= SETSUBI_9)
|
||||
return Taipri(hinshi1 - MYOUJI, hinshi2);
|
||||
else
|
||||
return 3;
|
||||
}
|
||||
else if ((MEISI_1 <= hinsi1 && hinsi1 <= MEISI_11) ||
|
||||
hinsi1 == D_MEISI_2) {
|
||||
if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9) {
|
||||
return Taipri(5, hinsi2);
|
||||
}
|
||||
else
|
||||
} else if((MEISHI_1 <= hinshi1 && hinshi1 <= MEISHI_11) ||
|
||||
hinshi1 == D_MEISHI_2) {
|
||||
if(MEISHI_1 <= hinshi2 && hinshi2 <= SETSUBI_9) {
|
||||
return Taipri(5, hinshi2);
|
||||
} else
|
||||
return 5;
|
||||
}
|
||||
|
||||
else {
|
||||
if (MEISI_1 <= hinsi2 && hinsi2 <= SETUBI_9)
|
||||
return Taipri(6, hinsi2);
|
||||
if(MEISHI_1 <= hinshi2 && hinshi2 <= SETSUBI_9)
|
||||
return Taipri(6, hinshi2);
|
||||
else
|
||||
return 4;
|
||||
}
|
||||
}
|
||||
|
||||
static int sttcnt(hinsi1, hinsi2)
|
||||
TypeGram hinsi1;
|
||||
TypeGram hinsi2;
|
||||
static int sttcnt(hinshi1, hinshi2)
|
||||
TypeGram hinshi1;
|
||||
TypeGram hinshi2;
|
||||
{
|
||||
if (SETTOU_1 <= hinsi1 && hinsi1 <= SETTOU_5) {
|
||||
if (MEISI_1 <= hinsi2 && hinsi2 <= SUUSI)
|
||||
return Sttpri(hinsi1 - SETTOU_1, hinsi2);
|
||||
if(SETTOU_1 <= hinshi1 && hinshi1 <= SETTOU_5) {
|
||||
if(MEISHI_1 <= hinshi2 && hinshi2 <= SUUSHI)
|
||||
return Sttpri(hinshi1 - SETTOU_1, hinshi2);
|
||||
}
|
||||
return 4;
|
||||
}
|
||||
|
|
@ -108,30 +98,29 @@ CLREC *clrec;
|
|||
int prty;
|
||||
CLREC* cl2rec;
|
||||
int keeplen;
|
||||
TypeGram hinsi1;
|
||||
TypeGram hinshi1;
|
||||
int i;
|
||||
int prev = 0;
|
||||
|
||||
if(clrec->cllen == clrec->cl2len) return 0xff;
|
||||
|
||||
if (clrec->jnode->class == C_BUNSETU) {
|
||||
if(clrec->jnode->class == C_BUNSETSU) {
|
||||
prty = Termtbl[clrec->right] & GETPRI;
|
||||
return (0xf0 + prty);
|
||||
}
|
||||
|
||||
|
||||
hinsi1 = clrec->jnode->hinsi;
|
||||
hinshi1 = clrec->jnode->hinshi;
|
||||
|
||||
if(prevclrow == R_WO || prevclrow == R_WO_S ||
|
||||
prevclrow == R_NI1 || prevclrow == R_DRENYOU2) {
|
||||
if (clrec -> kubun == K_DOUSHI || isfukusi(hinsi1))
|
||||
if(clrec->kubun == K_DOUSHI || isfukusi(hinshi1))
|
||||
prev = 5;
|
||||
}
|
||||
|
||||
else if(istaigen(prevclrow)) {
|
||||
|
||||
if(clrec->kubun == K_TAIGEN)
|
||||
prev = taicnt(prevclgrm, hinsi1);
|
||||
prev = taicnt(prevclgrm, hinshi1);
|
||||
|
||||
else
|
||||
prev = 0;
|
||||
|
|
@ -141,11 +130,10 @@ CLREC *clrec;
|
|||
if(clrec->jnode->sttofs)
|
||||
prty = 2;
|
||||
else
|
||||
prty = sttcnt(prevclgrm, hinsi1);
|
||||
prty = sttcnt(prevclgrm, hinshi1);
|
||||
}
|
||||
|
||||
|
||||
if (hinsi1 >= SETUBI_1 && hinsi1 <= SETUBI_9 && (!prev)) {
|
||||
if(hinshi1 >= SETSUBI_1 && hinshi1 <= SETSUBI_9 && (!prev)) {
|
||||
prty = 1;
|
||||
goto finish;
|
||||
}
|
||||
|
|
@ -170,7 +158,7 @@ CLREC *clrec;
|
|||
if(cl2rec->jnode->sttofs)
|
||||
i = 2;
|
||||
else
|
||||
i = sttcnt(hinsi1, cl2rec->jnode->hinsi);
|
||||
i = sttcnt(hinshi1, cl2rec->jnode->hinshi);
|
||||
|
||||
if(i > prty)
|
||||
prty = i;
|
||||
|
|
@ -182,7 +170,7 @@ CLREC *clrec;
|
|||
else if(istaigen(clrec->right)) {
|
||||
prty = 0;
|
||||
while(cl2rec && (int)cl2rec->cllen == keeplen) {
|
||||
i = taicnt(hinsi1, cl2rec->jnode->hinsi);
|
||||
i = taicnt(hinshi1, cl2rec->jnode->hinshi);
|
||||
if(i > prty)
|
||||
prty = i;
|
||||
cl2rec = cl2rec->clsort;
|
||||
|
|
@ -193,10 +181,8 @@ CLREC *clrec;
|
|||
goto finish;
|
||||
}
|
||||
|
||||
|
||||
prty = Termtbl[clrec->right];
|
||||
|
||||
|
||||
if(prty & RENTAI) {
|
||||
while(cl2rec && (int)cl2rec->cllen == keeplen) {
|
||||
if(cl2rec->kubun == K_TAIGEN) {
|
||||
|
|
@ -217,9 +203,8 @@ CLREC *clrec;
|
|||
if(cl2rec->kubun == K_DOUSHI) {
|
||||
prty = 6;
|
||||
goto finish;
|
||||
}
|
||||
else if (cl2rec->jnode->hinsi == SETUBI_1 ||
|
||||
cl2rec->jnode->hinsi == SETUBI_2) {
|
||||
} else if(cl2rec->jnode->hinshi == SETSUBI_1 ||
|
||||
cl2rec->jnode->hinshi == SETSUBI_2) {
|
||||
prty = 7;
|
||||
goto finish;
|
||||
}
|
||||
|
|
@ -229,20 +214,19 @@ CLREC *clrec;
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
finish:
|
||||
cl2rec = maxclptr;
|
||||
|
||||
if (hinsi1 == SUUSI) prty -= 4;
|
||||
if(hinshi1 == SUUSHI) prty -= 4;
|
||||
|
||||
if (cl2rec -> jnode -> hinsi == SUUSI) prty -= 3;
|
||||
if(cl2rec->jnode->hinshi == SUUSHI) prty -= 3;
|
||||
|
||||
if(cl2rec->jnode->class == C_DICT &&
|
||||
cl2rec->jnode->jlen == 1 && (cl2rec->kubun != K_DOUSHI)) {
|
||||
prty -= 2;
|
||||
}
|
||||
|
||||
if ((!istaigen(clrec->right)) && (cl2rec->jnode->hinsi == SETUBI_2)) {
|
||||
if((!istaigen(clrec->right)) && (cl2rec->jnode->hinshi == SETSUBI_2)) {
|
||||
prty -= 4;
|
||||
}
|
||||
|
||||
|
|
@ -250,9 +234,7 @@ finish:
|
|||
return (prty + prev);
|
||||
}
|
||||
|
||||
|
||||
void pritiny()
|
||||
{
|
||||
void pritiny() {
|
||||
CLREC* clrec;
|
||||
int keeplen;
|
||||
int i, prty = 0;
|
||||
|
|
@ -262,7 +244,7 @@ void pritiny()
|
|||
|
||||
if(istaigen(prevclrow)) {
|
||||
while(clrec && (int)clrec->cllen == keeplen) {
|
||||
i = taicnt(prevclgrm, clrec -> jnode -> hinsi);
|
||||
i = taicnt(prevclgrm, clrec->jnode->hinshi);
|
||||
if(i > prty) {
|
||||
selcl = clrec;
|
||||
prty = i;
|
||||
|
|
@ -274,11 +256,11 @@ void pritiny()
|
|||
else {
|
||||
|
||||
while(clrec && (int)clrec->cllen == keeplen) {
|
||||
if (clrec -> jnode -> hinsi >= MYOUJI &&
|
||||
clrec -> jnode -> hinsi <= KEN_KU)
|
||||
if(clrec->jnode->hinshi >= MYOUJI &&
|
||||
clrec->jnode->hinshi <= KEN_KU)
|
||||
clrec = clrec->clsort;
|
||||
|
||||
else if (clrec -> jnode -> hinsi == TANKANJI)
|
||||
else if(clrec->jnode->hinshi == TANKANJI)
|
||||
return;
|
||||
else {
|
||||
selcl = clrec;
|
||||
|
|
@ -287,4 +269,3 @@ void pritiny()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
194
prtytbl.c
194
prtytbl.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: prtytbl.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:02:11 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj_rename.h"
|
||||
#include "sj_typedef.h"
|
||||
|
||||
|
|
@ -73,30 +65,176 @@ unsigned char taipri[7][45] = {
|
|||
{0, 5, 6, 6, 6, 6, 5, 6, 6, 6,
|
||||
6, 6, 3, 3, 3, 3, 3, 5, 0, 0,
|
||||
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}};
|
||||
|
||||
unsigned 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, },
|
||||
{
|
||||
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,
|
||||
},
|
||||
|
||||
{ 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, },
|
||||
{
|
||||
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,
|
||||
},
|
||||
|
||||
{ 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,
|
||||
10,
|
||||
10,
|
||||
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, 0, 0,
|
||||
0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 15, },
|
||||
{
|
||||
0,
|
||||
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,
|
||||
},
|
||||
|
||||
{ 0, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
||||
12, 12, 9, 9, 9, 9, 9, 9, 0, 0,
|
||||
0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }
|
||||
};
|
||||
{
|
||||
0,
|
||||
12,
|
||||
12,
|
||||
12,
|
||||
12,
|
||||
12,
|
||||
12,
|
||||
12,
|
||||
12,
|
||||
12,
|
||||
12,
|
||||
12,
|
||||
9,
|
||||
9,
|
||||
9,
|
||||
9,
|
||||
9,
|
||||
9,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
}};
|
||||
|
|
|
|||
138
readline.c
138
readline.c
|
|
@ -27,15 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: readline.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:00:44 $
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "sj_euc.h"
|
||||
|
|
@ -43,73 +34,61 @@
|
|||
#include "sj_macro.h"
|
||||
#include "dicttool.h"
|
||||
|
||||
|
||||
/* static long lineloc; */
|
||||
static int yomi[MaxYomiLength + 1];
|
||||
static int kanji[MaxKanjiLength + 1];
|
||||
static int hinsi[MaxHinsiNumber + 1];
|
||||
static int hinshi[MaxHinshiNumber + 1];
|
||||
static int atr[MaxAtrNumber + 1];
|
||||
|
||||
|
||||
|
||||
static void
|
||||
error(char *s)
|
||||
{
|
||||
error(char* s) {
|
||||
if(s) fprintf(stderr, "%s\n", s);
|
||||
mark_file(stderr);
|
||||
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
readchar(void)
|
||||
{
|
||||
readchar(void) {
|
||||
int c1;
|
||||
int c2;
|
||||
|
||||
|
||||
c1 = getch(); if (c1 == EOF) return EOF;
|
||||
|
||||
c1 = getch();
|
||||
if(c1 == EOF) return EOF;
|
||||
|
||||
if(c1 != SS3) {
|
||||
if(c1 & 0x80) {
|
||||
c2 = getch(); if (c2 == EOF) error(NULL);
|
||||
c2 = getch();
|
||||
if(c2 == EOF) error(NULL);
|
||||
c1 = ((c1 & 0xff) << 8) + (c2 & 0xff);
|
||||
}
|
||||
} else {
|
||||
c2 = getch(); if (c2 == EOF) error(NULL);
|
||||
c2 = getch();
|
||||
if(c2 == EOF) error(NULL);
|
||||
c1 = ((c1 & 0xff) << 8) + (c2 & 0xff);
|
||||
c2 = getch(); if (c2 == EOF) error(NULL);
|
||||
c2 = getch();
|
||||
if(c2 == EOF) error(NULL);
|
||||
c1 = ((c1 & 0xffff) << 8) + (c2 & 0xff);
|
||||
}
|
||||
|
||||
return c1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
skip_blank(void)
|
||||
{
|
||||
skip_blank(void) {
|
||||
int c;
|
||||
|
||||
c = readchar();
|
||||
while(Isblank(c)) c = readchar();
|
||||
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static int
|
||||
readhinsi(void)
|
||||
{
|
||||
readhinshi(void) {
|
||||
static int c = 0;
|
||||
int i;
|
||||
unsigned char hinsi[128];
|
||||
unsigned char hinshi[128];
|
||||
int flg;
|
||||
|
||||
retry:
|
||||
|
|
@ -119,63 +98,58 @@ retry:
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
c = skip_blank();
|
||||
if(c == '\n') {
|
||||
c = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
for(i = 0; !Isblank(c);) {
|
||||
if(c == '\n' || c == ':') break;
|
||||
if(Isillegal(c)) error(IllegalFormat);
|
||||
if(c > 0xffffff) {
|
||||
if (i >= 126) error(TooLongHinsi);
|
||||
hinsi[i++] = ((c >> 24) & 0xff);
|
||||
if (i >= 126) error(TooLongHinsi);
|
||||
hinsi[i++] = ((c >> 16) & 0xff);
|
||||
if (i >= 126) error(TooLongHinsi);
|
||||
hinsi[i++] = ((c >> 8) & 0xff);
|
||||
if(i >= 126) error(TooLongHinshi);
|
||||
hinshi[i++] = ((c >> 24) & 0xff);
|
||||
if(i >= 126) error(TooLongHinshi);
|
||||
hinshi[i++] = ((c >> 16) & 0xff);
|
||||
if(i >= 126) error(TooLongHinshi);
|
||||
hinshi[i++] = ((c >> 8) & 0xff);
|
||||
} else if(c > 0xffff) {
|
||||
if (i >= 126) error(TooLongHinsi);
|
||||
hinsi[i++] = ((c >> 16) & 0xff);
|
||||
if (i >= 126) error(TooLongHinsi);
|
||||
hinsi[i++] = ((c >> 8) & 0xff);
|
||||
if(i >= 126) error(TooLongHinshi);
|
||||
hinshi[i++] = ((c >> 16) & 0xff);
|
||||
if(i >= 126) error(TooLongHinshi);
|
||||
hinshi[i++] = ((c >> 8) & 0xff);
|
||||
} else if(c > 0xff) {
|
||||
if (i >= 126) error(TooLongHinsi);
|
||||
hinsi[i++] = ((c >> 8) & 0xff);
|
||||
if(i >= 126) error(TooLongHinshi);
|
||||
hinshi[i++] = ((c >> 8) & 0xff);
|
||||
}
|
||||
if (i >= 127) error(TooLongHinsi);
|
||||
hinsi[i++] = (c & 0xff);
|
||||
if(i >= 127) error(TooLongHinshi);
|
||||
hinshi[i++] = (c & 0xff);
|
||||
c = readchar();
|
||||
}
|
||||
|
||||
|
||||
if(i == 0) return 0;
|
||||
|
||||
|
||||
if (hinsi[0] == '[' && hinsi[i - 1] == ']') {
|
||||
hinsi[i - 1] = 0;
|
||||
i = cnvhinsi(hinsi + 1);
|
||||
if(hinshi[0] == '[' && hinshi[i - 1] == ']') {
|
||||
hinshi[i - 1] = 0;
|
||||
i = cnvhinshi(hinshi + 1);
|
||||
if(i > 0) {
|
||||
fprintf(stderr, "\311\312\273\354 \"%s\" \244\313\263\347\270\314\244\254\244\304\244\244\244\306\244\244\244\353\n",
|
||||
hinsi + 1);
|
||||
}
|
||||
else if (!i) {
|
||||
hinshi + 1);
|
||||
} else if(!i) {
|
||||
|
||||
fprintf(stderr, "\"%s\" \244\254\245\263\241\274\245\311\262\275\244\307\244\255\244\336\244\273\244\363\n",
|
||||
hinsi + 1);
|
||||
hinshi + 1);
|
||||
goto retry;
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
hinsi[i] = 0;
|
||||
i = cnvhinsi(hinsi);
|
||||
hinshi[i] = 0;
|
||||
i = cnvhinshi(hinshi);
|
||||
if(!i) {
|
||||
|
||||
fprintf(stderr, "\"%s\" \244\254\245\263\241\274\245\311\262\275\244\307\244\255\244\336\244\273\244\363\n", hinsi);
|
||||
fprintf(stderr, "\"%s\" \244\254\245\263\241\274\245\311\262\275\244\307\244\255\244\336\244\273\244\363\n", hinshi);
|
||||
goto retry;
|
||||
}
|
||||
}
|
||||
|
|
@ -183,35 +157,26 @@ retry:
|
|||
return i;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int*
|
||||
readline(void)
|
||||
{
|
||||
int* readline(void) {
|
||||
int c;
|
||||
int i;
|
||||
int j;
|
||||
|
||||
|
||||
for(;;) {
|
||||
|
||||
mark_file(NULL);
|
||||
|
||||
c = skip_blank();
|
||||
|
||||
|
||||
if(c == '#') {
|
||||
while(c != '\n') c = skip_blank();
|
||||
}
|
||||
|
||||
|
||||
if(c == EOF) return NULL;
|
||||
|
||||
|
||||
if(c != '\n') break;
|
||||
}
|
||||
|
||||
|
||||
for(i = 0; !Isblank(c);) {
|
||||
if(Isillegal(c)) error(IllegalFormat);
|
||||
if(i >= MaxYomiLength) error(TooLongYomi);
|
||||
|
|
@ -221,10 +186,8 @@ readline(void)
|
|||
yomi[i] = 0;
|
||||
if(i == 0) error(NoYomiString);
|
||||
|
||||
|
||||
c = skip_blank();
|
||||
|
||||
|
||||
if(c != '"') {
|
||||
for(i = 0; !Isblank(c);) {
|
||||
if(Isillegal(c)) error(IllegalFormat);
|
||||
|
|
@ -232,8 +195,7 @@ readline(void)
|
|||
kanji[i++] = c;
|
||||
c = readchar();
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
c = readchar();
|
||||
for(i = 0; c != '"';) {
|
||||
if(Isillegal(c)) error(IllegalFormat);
|
||||
|
|
@ -245,31 +207,25 @@ readline(void)
|
|||
kanji[i] = 0;
|
||||
if(i == 0) error(NoKanjiString);
|
||||
|
||||
|
||||
i = j = 0;
|
||||
while ((c = readhinsi())!=0) {
|
||||
while((c = readhinshi()) != 0) {
|
||||
if(c < 0) {
|
||||
if(i >= MaxAtrNumber) error(TooManyAtr);
|
||||
atr[i++] = -c;
|
||||
}
|
||||
else {
|
||||
if (j >= MaxHinsiNumber) error(TooManyHinsi);
|
||||
hinsi[j++] = c;
|
||||
} else {
|
||||
if(j >= MaxHinshiNumber) error(TooManyHinshi);
|
||||
hinshi[j++] = c;
|
||||
}
|
||||
}
|
||||
atr[i] = 0;
|
||||
if (j == 0) hinsi[j++] = HinsiTankan;
|
||||
hinsi[j] = 0;
|
||||
|
||||
if(j == 0) hinshi[j++] = HinshiTankan;
|
||||
hinshi[j] = 0;
|
||||
|
||||
return yomi;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
setline(void (*func)(int*, int*, int, int*))
|
||||
{
|
||||
void setline(void (*func)(int*, int*, int, int*)) {
|
||||
int i;
|
||||
|
||||
for (i = 0 ; hinsi[i] ; i++) (*func)(yomi, kanji, hinsi[i], atr);
|
||||
for(i = 0; hinshi[i]; i++) (*func)(yomi, kanji, hinshi[i], atr);
|
||||
}
|
||||
|
|
|
|||
9
rk.h
9
rk.h
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: rk.h,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:48 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include "wchar16.h"
|
||||
|
||||
|
|
@ -79,4 +71,3 @@ typedef struct rktable {
|
|||
unsigned char* r_str;
|
||||
struct rktable* next;
|
||||
} RkTabl;
|
||||
|
||||
|
|
|
|||
119
rk_conv.c
119
rk_conv.c
|
|
@ -27,18 +27,10 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: rk_conv.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:59 $
|
||||
*/
|
||||
|
||||
|
||||
#ifndef lint
|
||||
static char rcsid[] = "$Header: /export/work/contrib/sj3/sj3rkcv/RCS/rk_conv.c,v 1.14 1994/06/03 07:42:16 notanaka Exp $";
|
||||
#endif
|
||||
|
||||
|
||||
#include "sj_sysvdef.h"
|
||||
#include "wchar16.h"
|
||||
#include <stdio.h>
|
||||
|
|
@ -96,7 +88,6 @@ typedef struct ymibufrec {
|
|||
struct ymibufrec* ymibufp;
|
||||
} YmibufRec;
|
||||
|
||||
|
||||
#define SJ3_NO -1
|
||||
#define SJ3_SJIS 0
|
||||
#define SJ3_EUC 1
|
||||
|
|
@ -115,7 +106,6 @@ static int rk_cflag;
|
|||
static int rk_klen;
|
||||
static int file_code = SJ3_NO;
|
||||
|
||||
|
||||
static RkbufRec rkpbuf, *rkpp = NULL;
|
||||
static RkTablW16* rkhp;
|
||||
static StrbufRec strpbuf, *strpp;
|
||||
|
|
@ -123,27 +113,20 @@ static wchar16_t *shp;
|
|||
static YmibufRec ymipbuf, *ymipp;
|
||||
static unsigned short* yhp;
|
||||
|
||||
|
||||
sj3_rkcode(code)
|
||||
int code;
|
||||
sj3_rkcode(code) int code;
|
||||
{
|
||||
if(code)
|
||||
file_code = SJ3_NO;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
sj3_rkinit2(rkfile, erase)
|
||||
char *rkfile;
|
||||
sj3_rkinit2(rkfile, erase) char* rkfile;
|
||||
int erase;
|
||||
{
|
||||
rk_erase = erase;
|
||||
return (sj3_rkinit_mb(rkfile));
|
||||
}
|
||||
|
||||
rcode_sjis_init()
|
||||
{
|
||||
rcode_sjis_init() {
|
||||
int i, rkeylen = 0, ryomilen = 0, rstrlen = 0;
|
||||
int klen, ylen, slen, tablnum = 0, tablsize;
|
||||
unsigned char * mbstr, *mptr, mtmp[BUFSIZ], mtmp2[BUFSIZ];
|
||||
|
|
@ -153,7 +136,6 @@ rcode_sjis_init()
|
|||
|
||||
tablsize = sizeof(RkTabl);
|
||||
|
||||
|
||||
for(i = 0; i < MAXCODE; i++) {
|
||||
if(sj3_rcode_w16[i]) {
|
||||
tabl_w16 = sj3_rcode_w16[i];
|
||||
|
|
@ -300,11 +282,9 @@ rcode_sjis_init()
|
|||
}
|
||||
}
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
rcode_euc_init()
|
||||
{
|
||||
rcode_euc_init() {
|
||||
int i, rkeylen = 0, ryomilen = 0, rstrlen = 0;
|
||||
int klen, ylen, slen, tablnum = 0, tablsize;
|
||||
unsigned char * mbstr, *mptr, mtmp[BUFSIZ], mtmp2[BUFSIZ];
|
||||
|
|
@ -314,7 +294,6 @@ rcode_euc_init()
|
|||
|
||||
tablsize = sizeof(RkTabl);
|
||||
|
||||
|
||||
for(i = 0; i < MAXCODE; i++) {
|
||||
if(sj3_rcode_w16[i]) {
|
||||
tabl_w16 = sj3_rcode_w16[i];
|
||||
|
|
@ -461,23 +440,19 @@ rcode_euc_init()
|
|||
}
|
||||
}
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
sj3_rkinit(rkfile)
|
||||
char *rkfile;
|
||||
sj3_rkinit(rkfile) char* rkfile;
|
||||
{
|
||||
return sj3_rkinit_sub(rkfile, rcode_sjis_init);
|
||||
}
|
||||
|
||||
sj3_rkinit_euc(rkfile)
|
||||
char *rkfile;
|
||||
sj3_rkinit_euc(rkfile) char* rkfile;
|
||||
{
|
||||
return sj3_rkinit_sub(rkfile, rcode_euc_init);
|
||||
}
|
||||
|
||||
sj3_rkinit_mb(rkfile)
|
||||
char *rkfile;
|
||||
sj3_rkinit_mb(rkfile) char* rkfile;
|
||||
{
|
||||
if(current_locale == LC_CTYPE_EUC)
|
||||
return sj3_rkinit_sub(rkfile, rcode_euc_init);
|
||||
|
|
@ -485,8 +460,7 @@ char *rkfile;
|
|||
return sj3_rkinit_sub(rkfile, rcode_sjis_init);
|
||||
}
|
||||
|
||||
sj3_rkinit_sub(rkfile, mbfunc)
|
||||
char *rkfile;
|
||||
sj3_rkinit_sub(rkfile, mbfunc) char* rkfile;
|
||||
int (*mbfunc)();
|
||||
{
|
||||
char* p;
|
||||
|
|
@ -507,7 +481,6 @@ int (*mbfunc)();
|
|||
line[MAXLEN - 1] = EOL;
|
||||
retv = 0;
|
||||
|
||||
|
||||
while((p = fgets(line, MAXLEN + 1, fp)) != NULL) {
|
||||
if(line[MAXLEN - 1] != EOL) {
|
||||
line[MAXLEN - 1] = EOL;
|
||||
|
|
@ -545,7 +518,6 @@ int (*mbfunc)();
|
|||
retv = FAIL;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
fclose(fp);
|
||||
if(!(*mbfunc)())
|
||||
|
|
@ -554,10 +526,7 @@ int (*mbfunc)();
|
|||
return (retv);
|
||||
}
|
||||
|
||||
|
||||
|
||||
char *
|
||||
getkey(istr, ostr, len)
|
||||
char* getkey(istr, ostr, len)
|
||||
char* istr;
|
||||
wchar16_t* ostr;
|
||||
int* len;
|
||||
|
|
@ -612,10 +581,7 @@ int *len;
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
char *
|
||||
rkgetyomi(istr, ostr, len)
|
||||
char* rkgetyomi(istr, ostr, len)
|
||||
char* istr;
|
||||
wchar16_t* ostr;
|
||||
int* len;
|
||||
|
|
@ -646,8 +612,7 @@ int *len;
|
|||
p++;
|
||||
} else if(iseuckana(c) && iskana2(*p)) {
|
||||
cc = *p++;
|
||||
}
|
||||
else if (IsEUCHojo(c) && iseuc(*p) && iseuc(p[1])) {
|
||||
} else if(IsEUCHojo(c) && iseuc(*p) && iseuc(p[1])) {
|
||||
cc = WcSetX0212(*p, p[1]);
|
||||
p += 2;
|
||||
}
|
||||
|
|
@ -657,9 +622,7 @@ int *len;
|
|||
p--;
|
||||
continue;
|
||||
}
|
||||
if ((iseuc(c) && iseuc(*p)) || (iseuckana(c) &&
|
||||
iskana2(*p)) || (IsEUCHojo(c) && iseuc(*p) &&
|
||||
iseuc(p[1]))) {
|
||||
if((iseuc(c) && iseuc(*p)) || (iseuckana(c) && iskana2(*p)) || (IsEUCHojo(c) && iseuc(*p) && iseuc(p[1]))) {
|
||||
file_code = SJ3_EUC;
|
||||
p--;
|
||||
continue;
|
||||
|
|
@ -678,10 +641,7 @@ int *len;
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
cltable()
|
||||
{
|
||||
cltable() {
|
||||
int i;
|
||||
|
||||
if(rkpp != NULL) {
|
||||
|
|
@ -698,10 +658,9 @@ cltable()
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
chk_rstr(rstr, rkey, rlen, klen)
|
||||
wchar16_t *rstr, *rkey;
|
||||
wchar16_t* rstr,
|
||||
*rkey;
|
||||
int rlen, klen;
|
||||
{
|
||||
int i;
|
||||
|
|
@ -719,11 +678,8 @@ int rlen, klen;
|
|||
return (1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
RkTablW16*
|
||||
rkalloc()
|
||||
{
|
||||
rkalloc() {
|
||||
RkTablW16* rkp;
|
||||
RkbufRec* rkbrp;
|
||||
|
||||
|
|
@ -755,8 +711,6 @@ rkalloc()
|
|||
return (rkp);
|
||||
}
|
||||
|
||||
|
||||
|
||||
stradd(cp, str, len)
|
||||
wchar16_t** cp;
|
||||
wchar16_t* str;
|
||||
|
|
@ -792,10 +746,9 @@ int len;
|
|||
return (0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
kstradd(cp, kstr, len)
|
||||
wchar16_t **cp, *kstr;
|
||||
wchar16_t** cp,
|
||||
*kstr;
|
||||
int len;
|
||||
{
|
||||
int i;
|
||||
|
|
@ -829,8 +782,6 @@ int len;
|
|||
return (0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
RkTablW16*
|
||||
mktable(key, len)
|
||||
wchar16_t* key;
|
||||
|
|
@ -878,18 +829,12 @@ int len;
|
|||
return (rktp);
|
||||
}
|
||||
|
||||
|
||||
|
||||
sj3_rkebell(err)
|
||||
int err;
|
||||
sj3_rkebell(err) int err;
|
||||
{
|
||||
rk_errin = err;
|
||||
}
|
||||
|
||||
|
||||
|
||||
sj3_rkclear()
|
||||
{
|
||||
sj3_rkclear() {
|
||||
rline[0] = NSTR;
|
||||
lstr[0] = NSTR;
|
||||
rktblp = NULL;
|
||||
|
|
@ -897,13 +842,10 @@ sj3_rkclear()
|
|||
sj3_rkreset();
|
||||
}
|
||||
|
||||
sj3_rkreset()
|
||||
{
|
||||
sj3_rkreset() {
|
||||
rk_cflag = -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
sj3_rkconvc(c, rkstr)
|
||||
wchar16_t c;
|
||||
unsigned int* rkstr;
|
||||
|
|
@ -975,8 +917,6 @@ unsigned int *rkstr;
|
|||
*rkstr = RKEND;
|
||||
}
|
||||
|
||||
|
||||
|
||||
sj3_rkconv2(wstr, kstr, wlen)
|
||||
wchar16_t* wstr;
|
||||
unsigned int* kstr;
|
||||
|
|
@ -1073,13 +1013,9 @@ int wlen;
|
|||
return (len);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
int sj3_rkconv_w16(wchar16_t*, wchar16_t*);
|
||||
|
||||
sj3_rkconv(romaji, kana)
|
||||
unsigned char *romaji;
|
||||
sj3_rkconv(romaji, kana) unsigned char* romaji;
|
||||
unsigned char* kana;
|
||||
{
|
||||
wchar16_t* wstr;
|
||||
|
|
@ -1124,8 +1060,7 @@ unsigned char *kana;
|
|||
}
|
||||
}
|
||||
|
||||
sj3_rkconv_euc(romaji, kana)
|
||||
unsigned char *romaji;
|
||||
sj3_rkconv_euc(romaji, kana) unsigned char* romaji;
|
||||
unsigned char* kana;
|
||||
{
|
||||
wchar16_t* wstr;
|
||||
|
|
@ -1170,8 +1105,7 @@ unsigned char *kana;
|
|||
}
|
||||
}
|
||||
|
||||
sj3_rkconv_mb(romaji, kana)
|
||||
unsigned char *romaji;
|
||||
sj3_rkconv_mb(romaji, kana) unsigned char* romaji;
|
||||
unsigned char* kana;
|
||||
{
|
||||
if(current_locale == LC_CTYPE_EUC)
|
||||
|
|
@ -1242,10 +1176,9 @@ wchar16_t *kstr;
|
|||
return (rlen);
|
||||
}
|
||||
|
||||
|
||||
|
||||
rkmatch(s1, s2, len)
|
||||
wchar16_t *s1, *s2;
|
||||
wchar16_t* s1,
|
||||
*s2;
|
||||
int len;
|
||||
{
|
||||
int i;
|
||||
|
|
|
|||
41
romaji.c
41
romaji.c
|
|
@ -27,22 +27,12 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: romaji.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1997/01/23 11:09:37 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "common.h"
|
||||
#include "rk.h"
|
||||
#include "key.h"
|
||||
|
||||
extern int rkerrbell;
|
||||
|
||||
|
||||
|
||||
exec_romaji(c)
|
||||
wchar16_t c;
|
||||
{
|
||||
|
|
@ -146,8 +136,7 @@ wchar16_t c;
|
|||
vbackchar(2);
|
||||
op--;
|
||||
cv->out_point = op;
|
||||
len = cv->out_mode[op]
|
||||
+ GetMojilen(c2);
|
||||
len = cv->out_mode[op] + GetMojilen(c2);
|
||||
c2 = SetMojilen(len);
|
||||
}
|
||||
}
|
||||
|
|
@ -188,8 +177,7 @@ wchar16_t c;
|
|||
SetCflag();
|
||||
buffers_clear();
|
||||
}
|
||||
}
|
||||
else if ((len = op - cv->out_point) > 0) {
|
||||
} else if((len = op - cv->out_point) > 0) {
|
||||
p = &cv->out_buf[cv->out_point];
|
||||
if(BuffYes() && IsCflag()) {
|
||||
Csave();
|
||||
|
|
@ -209,8 +197,7 @@ wchar16_t c;
|
|||
return (i);
|
||||
}
|
||||
|
||||
move_cur(kval)
|
||||
int kval;
|
||||
move_cur(kval) int kval;
|
||||
{
|
||||
Conversion* cv;
|
||||
int i;
|
||||
|
|
@ -252,8 +239,7 @@ int kval;
|
|||
}
|
||||
}
|
||||
|
||||
addten(pos, c)
|
||||
unsigned short pos, c;
|
||||
addten(pos, c) unsigned short pos, c;
|
||||
{
|
||||
unsigned short prefix;
|
||||
Conversion* cv;
|
||||
|
|
@ -263,8 +249,7 @@ unsigned short pos, c;
|
|||
return (sj_addten(prefix, c));
|
||||
}
|
||||
|
||||
getipos(pos)
|
||||
unsigned short pos;
|
||||
getipos(pos) unsigned short pos;
|
||||
{
|
||||
Conversion* cv;
|
||||
|
||||
|
|
@ -272,8 +257,7 @@ unsigned short pos;
|
|||
return (getipos2(cv->out_mode, pos));
|
||||
}
|
||||
|
||||
getipos2(omode, pos)
|
||||
unsigned short *omode;
|
||||
getipos2(omode, pos) unsigned short* omode;
|
||||
unsigned short pos;
|
||||
{
|
||||
unsigned short ipos;
|
||||
|
|
@ -287,7 +271,8 @@ unsigned short pos;
|
|||
}
|
||||
|
||||
sj_rkconv(s1, s2, len)
|
||||
wchar16_t *s1, *s2;
|
||||
wchar16_t* s1,
|
||||
*s2;
|
||||
int len;
|
||||
{
|
||||
int i, rlen;
|
||||
|
|
@ -343,7 +328,8 @@ int len;
|
|||
}
|
||||
|
||||
sj_rkconv2(s1, s2, omode, len)
|
||||
wchar16_t *s1, *s2;
|
||||
wchar16_t* s1,
|
||||
*s2;
|
||||
unsigned short* omode;
|
||||
int len;
|
||||
{
|
||||
|
|
@ -457,10 +443,9 @@ int len;
|
|||
return (klen);
|
||||
}
|
||||
|
||||
|
||||
|
||||
exec_romaji2(c, hbuf, kbuf, omode, cur, hcur)
|
||||
wchar16_t c, *hbuf, *kbuf;
|
||||
wchar16_t c,
|
||||
*hbuf, *kbuf;
|
||||
unsigned short* omode;
|
||||
int cur, hcur;
|
||||
{
|
||||
|
|
@ -546,5 +531,3 @@ int cur, hcur;
|
|||
vprintU(&kbuf[ocur], 1);
|
||||
return (retv);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
11
s2ctbl.c
11
s2ctbl.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: s2ctbl.c,v $
|
||||
* $SonyRevision: 1.2 $
|
||||
* $SonyDate: 1995/07/21 05:22:51 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "sj_rename.h"
|
||||
#include "sj_typedef.h"
|
||||
#include "sj_yomi.h"
|
||||
|
|
@ -147,5 +139,4 @@ unsigned char kigou[] = {
|
|||
Y_KIGOU,
|
||||
Y_KIGOU,
|
||||
Y_KIGOU,
|
||||
Y_KIGOU
|
||||
};
|
||||
Y_KIGOU};
|
||||
|
|
|
|||
113
screen.c
113
screen.c
|
|
@ -27,14 +27,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* $SonyRCSfile: screen.c,v $
|
||||
* $SonyRevision: 1.1 $
|
||||
* $SonyDate: 1994/06/03 08:03:22 $
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#include "common.h"
|
||||
#include "key.h"
|
||||
|
||||
|
|
@ -45,9 +37,7 @@ static wchar16_t Nguide[LINE_LENGTH + 1];
|
|||
static wchar16_t Cguide[LINE_LENGTH + 1];
|
||||
wchar16_t Mguide[LINE_LENGTH + 1];
|
||||
|
||||
|
||||
vbackchar (n)
|
||||
int n;
|
||||
vbackchar(n) int n;
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -60,10 +50,7 @@ int n;
|
|||
Flush();
|
||||
}
|
||||
|
||||
|
||||
|
||||
wrap_off ()
|
||||
{
|
||||
wrap_off() {
|
||||
Conversion* cv;
|
||||
|
||||
cv = GetConversion();
|
||||
|
|
@ -71,8 +58,7 @@ wrap_off ()
|
|||
cv->PushCurrentVcol = cv->CurrentVcol;
|
||||
}
|
||||
|
||||
wrap_on ()
|
||||
{
|
||||
wrap_on() {
|
||||
Conversion* cv;
|
||||
|
||||
cv = GetConversion();
|
||||
|
|
@ -80,10 +66,7 @@ wrap_on ()
|
|||
cv->CurrentVcol = cv->PushCurrentVcol;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Vput_space ()
|
||||
{
|
||||
Vput_space() {
|
||||
Conversion* cv;
|
||||
|
||||
cv = GetConversion();
|
||||
|
|
@ -95,10 +78,7 @@ Vput_space ()
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
VBackspace ()
|
||||
{
|
||||
VBackspace() {
|
||||
Conversion* cv;
|
||||
int i;
|
||||
|
||||
|
|
@ -109,16 +89,12 @@ VBackspace ()
|
|||
if(cv->Vlen > 0 && i > 1) {
|
||||
CursorSet(
|
||||
cv->SavedRow + (cv->CurrentVcol / cv->column) - 1,
|
||||
cv->Vindex[cv->Vlen - 1] % cv->column
|
||||
);
|
||||
}
|
||||
else
|
||||
cv->Vindex[cv->Vlen - 1] % cv->column);
|
||||
} else
|
||||
CursorSet(
|
||||
cv->SavedRow + (cv->CurrentVcol / cv->column) - 1,
|
||||
cv->column
|
||||
);
|
||||
}
|
||||
else
|
||||
cv->column);
|
||||
} else
|
||||
Backspace();
|
||||
if(cv->Vlen > 0)
|
||||
cv->CurrentVcol = cv->Vindex[--(cv->Vlen)];
|
||||
|
|
@ -128,8 +104,6 @@ VBackspace ()
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
master_out(s, n)
|
||||
wchar16_t* s;
|
||||
int n;
|
||||
|
|
@ -145,8 +119,6 @@ int n;
|
|||
SJ_write(s, n);
|
||||
}
|
||||
|
||||
|
||||
|
||||
vprintU(s, mod)
|
||||
wchar16_t* s;
|
||||
char mod;
|
||||
|
|
@ -171,8 +143,7 @@ char mod;
|
|||
put_space(1);
|
||||
Backspace();
|
||||
}
|
||||
if ((mod == 1) && (oldcol + len > (unsigned int)cv->column)
|
||||
&& ((col & 1) == 0)) {
|
||||
if((mod == 1) && (oldcol + len > (unsigned int)cv->column) && ((col & 1) == 0)) {
|
||||
cv->CurrentVcol++;
|
||||
}
|
||||
}
|
||||
|
|
@ -182,8 +153,6 @@ char mod;
|
|||
Flush();
|
||||
}
|
||||
|
||||
|
||||
|
||||
vprintR(s, mod)
|
||||
wchar16_t* s;
|
||||
char mod;
|
||||
|
|
@ -208,8 +177,7 @@ char mod;
|
|||
put_space(1);
|
||||
Backspace();
|
||||
}
|
||||
if ((mod == 1) && (oldcol + len > (unsigned int)cv->column)
|
||||
&& ((col & 1) == 0)) {
|
||||
if((mod == 1) && (oldcol + len > (unsigned int)cv->column) && ((col & 1) == 0)) {
|
||||
cv->CurrentVcol++;
|
||||
}
|
||||
}
|
||||
|
|
@ -219,8 +187,6 @@ char mod;
|
|||
Flush();
|
||||
}
|
||||
|
||||
|
||||
|
||||
IprintU(s, index)
|
||||
wchar16_t* s;
|
||||
int index;
|
||||
|
|
@ -230,8 +196,6 @@ int index;
|
|||
Flush();
|
||||
}
|
||||
|
||||
|
||||
|
||||
IprintR(s, index)
|
||||
wchar16_t* s;
|
||||
int index;
|
||||
|
|
@ -241,8 +205,6 @@ int index;
|
|||
Flush();
|
||||
}
|
||||
|
||||
|
||||
|
||||
printU(s)
|
||||
wchar16_t* s;
|
||||
{
|
||||
|
|
@ -251,8 +213,6 @@ wchar16_t *s;
|
|||
under_out();
|
||||
}
|
||||
|
||||
|
||||
|
||||
printR(s)
|
||||
wchar16_t* s;
|
||||
{
|
||||
|
|
@ -261,10 +221,7 @@ wchar16_t *s;
|
|||
reverse_out();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Csave ()
|
||||
{
|
||||
Csave() {
|
||||
Conversion* cv;
|
||||
|
||||
cv = GetConversion();
|
||||
|
|
@ -274,8 +231,7 @@ Csave ()
|
|||
cv->Vindex[cv->Vlen] = cv->MaxVcol = cv->CurrentVcol;
|
||||
}
|
||||
|
||||
SetVcol (index)
|
||||
int index;
|
||||
SetVcol(index) int index;
|
||||
{
|
||||
Conversion* cv;
|
||||
|
||||
|
|
@ -284,16 +240,14 @@ int index;
|
|||
cv->CurrentVcol = cv->Vindex[cv->Vlen];
|
||||
}
|
||||
|
||||
Cload ()
|
||||
{
|
||||
Cload() {
|
||||
Conversion* cv;
|
||||
|
||||
cv = GetConversion();
|
||||
CursorSet(cv->SavedRow, cv->SavedCol);
|
||||
}
|
||||
|
||||
Cclear (redraw)
|
||||
int redraw;
|
||||
Cclear(redraw) int redraw;
|
||||
{
|
||||
Conversion* cv;
|
||||
int spaces;
|
||||
|
|
@ -302,8 +256,7 @@ int redraw;
|
|||
if(redraw) {
|
||||
cv = GetConversion();
|
||||
CursorRead(&row, &col);
|
||||
spaces = (row - cv->SavedRow) * cv->column
|
||||
+ (col - cv->SavedCol) + 1;
|
||||
spaces = (row - cv->SavedRow) * cv->column + (col - cv->SavedCol) + 1;
|
||||
Cload();
|
||||
put_space(spaces);
|
||||
}
|
||||
|
|
@ -311,8 +264,7 @@ int redraw;
|
|||
Flush();
|
||||
}
|
||||
|
||||
Cgoto (index)
|
||||
int index;
|
||||
Cgoto(index) int index;
|
||||
{
|
||||
Conversion* cv;
|
||||
int row, col;
|
||||
|
|
@ -324,8 +276,7 @@ int index;
|
|||
CursorSet(row, col);
|
||||
}
|
||||
|
||||
ClearToMax ()
|
||||
{
|
||||
ClearToMax() {
|
||||
Conversion* cv;
|
||||
int space;
|
||||
|
||||
|
|
@ -334,8 +285,7 @@ ClearToMax ()
|
|||
put_space(space);
|
||||
}
|
||||
|
||||
Ccheck ()
|
||||
{
|
||||
Ccheck() {
|
||||
Conversion* cv;
|
||||
int row, tmp, diff;
|
||||
|
||||
|
|
@ -363,8 +313,7 @@ wchar16_t *s;
|
|||
printR(tmp);
|
||||
t = tmp;
|
||||
put_space(1);
|
||||
}
|
||||
else
|
||||
} else
|
||||
*(t++) = *s;
|
||||
s++;
|
||||
}
|
||||
|
|
@ -373,10 +322,7 @@ wchar16_t *s;
|
|||
Flush();
|
||||
}
|
||||
|
||||
|
||||
|
||||
clear_guide_line ()
|
||||
{
|
||||
clear_guide_line() {
|
||||
unsigned short row, col;
|
||||
|
||||
StartGuide(&row, &col);
|
||||
|
|
@ -385,8 +331,7 @@ clear_guide_line ()
|
|||
Flush();
|
||||
}
|
||||
|
||||
print_guide_line ()
|
||||
{
|
||||
print_guide_line() {
|
||||
unsigned short row, col;
|
||||
|
||||
StartGuide(&row, &col);
|
||||
|
|
@ -396,12 +341,9 @@ print_guide_line ()
|
|||
Flush();
|
||||
}
|
||||
|
||||
set_guide_line (mode)
|
||||
int mode;
|
||||
set_guide_line(mode) int mode;
|
||||
{
|
||||
|
||||
|
||||
|
||||
switch(mode) {
|
||||
case KEY_NORMAL:
|
||||
wscpy(Nguide, WCSJrun);
|
||||
|
|
@ -415,8 +357,7 @@ int mode;
|
|||
}
|
||||
}
|
||||
|
||||
disp_mode ()
|
||||
{
|
||||
disp_mode() {
|
||||
Conversion* cv;
|
||||
int c_code;
|
||||
wchar16_t * Pmode, *Bmode;
|
||||
|
|
@ -484,15 +425,15 @@ disp_mode ()
|
|||
print_guide_line();
|
||||
}
|
||||
|
||||
TopGuide ()
|
||||
{
|
||||
TopGuide() {
|
||||
unsigned short row, col;
|
||||
|
||||
StartGuide(&row, &col);
|
||||
}
|
||||
|
||||
guide_print(s1, s2)
|
||||
wchar16_t *s1, *s2;
|
||||
wchar16_t* s1,
|
||||
*s2;
|
||||
{
|
||||
unsigned short row, col;
|
||||
|
||||
|
|
|
|||
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