Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ctype(3)

chkctype(3J)

jstring(3J)

setlocale(3)

JCTYPE(3J)  —  NEWS-OS Programmer’s Manual

名称

jiszen, jisl0, jisl1, jisl2, jisalpha, jisupper, jislower, jisdigit, jiskata, jishira, jiskigou, jisspace, jtolower, jtoupper, jtohira, jtokata, zen2han, han2zen, euc2jis, euc2kuten, euc2sjis, jis2euc, jis2kuten, jis2sjis, kuten2euc, kuten2jis, kuten2sjis, sjis2euc, sjis2jis, sjis2kuten − 文字の判定およびユーティリティ関数

形式

#include <jctype.h>

jiszen(c)
...

解説

これらの関数は、 日本語コード処理のサポートの点で、ctype(3)に つけ加えられたものです。

上記の関数の引数の型は、 すべて unsigned short です。

次の関数では、リターン値の型は int です。 これらは、真である場合にはゼロ以外の値を返し、 偽である場合にはゼロを返します。
setlocale(LC_CTYPE, "") の呼び出しにより、 漢字コードがシフト JIS でも EUC でも、 これらの関数は正しく動作します。
以下の説明で、全角文字は JIS X 0208−1983 情報交換用漢字符号系で 規定された文字を指します。

jiszen c は全角文字である(iskanji(c >> 8) && iskanji2(c & 0xff))。

jisl0 c は全角のスペースから漢字の最初の文字の直前までの文字である。 未定義の文字も含まれる。

jisl1 c は JIS 第1水準の漢字である。

jisl2 c は JIS 第2水準の漢字(JIS X 0208−1983)である。

jisalpha c は全角の英字である。

jisupper c は全角の英大文字である。

jislower c は全角の英小文字である。

jisdigit c は全角の数字である。

jiskata c は全角の片仮名である。

jishira c は全角の平仮名である。

jiskigou c は全角の記号である。 罫線素片は含まない。

jisspace c は全角のスペースである。

次の変換関数の場合、 リターン値の型は unsigned short です。 これらの関数は、変換が不可能である場合には、 引数 c を返します。
setlocale(LC_CTYPE, "") の呼び出しにより、 漢字コードがシフト JIS でも EUC でも、 これらの関数は正しく動作します。

jtolower 全角の英大文字を全角の英小文字に変換する。

jtoupper 全角の英小文字を全角の英大文字に変換する。

jtohira 全角の片仮名を全角の平仮名に変換する。

jtokata 全角の平仮名を全角の片仮名に変換する。

zen2han ASCII コードに対応する全角文字を通常(半角)の ASCII コードに変換する。

han2zen 通常(半角)の ASCII コードを対応する全角文字に変換する。

次の 12種類の関数は、4種類の漢字コード間でコードの変換を行います。 区点コードは、((区番号 << 8) | 点番号) の値です。 リターン値の型は unsigned short です。 これらの関数は、引数が不当である場合には、 ゼロを返します。

|JIS区点シフトJISEUC

EUC|euc2jiseuc2kuteneuc2sjis  ∗
シフトJIS|sjis2jissjis2kuten  ∗sjis2euc
区点|kuten2jis  ∗kuten2sjiskuten2euc
JIS|  ∗jis2kutenjis2sjisjis2euc

関連事項

ctype(3), chkctype(3J), jstring(3J), setlocale(3)

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026