aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man3/unvis.3
diff options
context:
space:
mode:
Diffstat (limited to 'ja_JP.eucJP/man/man3/unvis.3')
-rw-r--r--ja_JP.eucJP/man/man3/unvis.3162
1 files changed, 0 insertions, 162 deletions
diff --git a/ja_JP.eucJP/man/man3/unvis.3 b/ja_JP.eucJP/man/man3/unvis.3
deleted file mode 100644
index 04b0a940ce..0000000000
--- a/ja_JP.eucJP/man/man3/unvis.3
+++ /dev/null
@@ -1,162 +0,0 @@
-.\" Copyright (c) 1989, 1991, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)unvis.3 8.2 (Berkeley) 12/11/93
-.\" %FreeBSD: src/lib/libc/gen/unvis.3,v 1.6.2.5 2001/12/14 18:33:51 ru Exp %
-.\" $FreeBSD$
-.\"
-.Dd December 11, 1993
-.Dt UNVIS 3
-.Os
-.Sh 名称
-.Nm unvis ,
-.Nm strunvis
-.Nd キャラクタの画像表現のデコード
-.Sh ライブラリ
-.Lb libc
-.Sh 書式
-.In vis.h
-.Ft int
-.Fn unvis "char *cp" "int c" "int *astate" "int flag"
-.Ft int
-.Fn strunvis "char *dst" "const char *src"
-.Sh 解説
-.Fn unvis
-および
-.Fn strunvis
-関数は、例えば
-.Xr vis 3
-関数によって作り
-出されたようなキャラクタの画像表現をデコードして元の形に戻します。
-unvisは
-.Ar c
-にある連続するキャラクタとともに有効なシーケンスが認識されるまで呼び
-出され、それが認識されるとデコードされたキャラクタが
-.Ar cp
-によって指されるキャラクタのところに置かれます。
-strunvisは、
-.Ar src
-により指されるキャラクタを
-.Ar dst
-により指されるバッファへデコードします。
-.Pp
-.Fn strunvis
-関数は、エスケープシーケンスをデコードしながら単に
-.Ar src
-を
-.Ar dst
-へコピーし、
-.Ar dst
-に置かれたキャラクタの数を返すか、または無効な
-エスケープシーケンスが検出された場合には \-1 を返します。
-.Ar dst
-のサイズは、
-.Ar src
-のサイズに等しくなければなりません (すなわち、デコード中には拡張は
-起こりません)。
-.Pp
-.Fn unvis
-関数は、任意のバイトストリームをデコードできるステートマシンを
-インプリメントしています。デコードされるそのバイトに付随するすべての
-ステートは、
-.Fn unvis
-関数の外に保存されますから (すなわち、ステートへの
-ポインタは渡されますから)、異なるストリームをデコードする呼び出しを自由に
-混在することができます。バイトストリームのデコードを開始するには、まず
-整数をゼロに初期化します。この整数へのポインタおよびデコード先キャラクタ
-へのポインタとともに連続するバイトのそれぞれに
-.Fn unvis
-を呼び出します。
-.Fn unvis
-関数は、適切に取扱わねばならないいくつかのリターンコードを
-持っています。それらは次の通りです:
-.Bl -tag -width UNVIS_VALIDPUSH
-.It Li \&0 (ゼロ)
-キャラクタがもう一つ必要であり、まだ何も認識されていません。
-.It Dv UNVIS_VALID
-有効なキャラクタが認識され、cp によって指される場所に置かれています。
-.It Dv UNVIS_VALIDPUSH
-有効なキャラクタが認識され、cp によって指される場所に
-置かれています。しかし、現在渡されているそのキャラクタをもう一度渡す
-必要があります。
-.It Dv UNVIS_NOCHAR
-有効なシーケンスが検出されたが、キャラクタは
-作成されていません。このリターンコードは、キャラクタの間の論理的区切りを
-示すために必要です。
-.It Dv UNVIS_SYNBAD
-無効なエスケープシーケンスが検出されたか、または
-デコーダが不明のステートにあります。デコーダはスタート時のステートに
-置かれます。
-.El
-.Pp
-ストリームのすべてのバイトが処理されたとき、
-.Ar flag
-を
-.Dv UNVIS_END
-に設定してもう一度
-.Fn unvis
-を呼び出して残っているキャラクタを
-抽出します (渡されたキャラクタは無視されます)。
-.Pp
-次のような部分的コードは、
-.Fn unvis
-の適切な使用法を示しています。
-.Bd -literal -offset indent
-int state = 0;
-char out;
-
-while ((ch = getchar()) != EOF) {
-again:
- switch(unvis(&out, ch, &state, 0)) {
- case 0:
- case UNVIS_NOCHAR:
- break;
- case UNVIS_VALID:
- (void) putchar(out);
- break;
- case UNVIS_VALIDPUSH:
- (void) putchar(out);
- goto again;
- case UNVIS_SYNBAD:
- (void)fprintf(stderr, "bad sequence!\en");
- exit(1);
- }
-}
-if (unvis(&out, (char)0, &state, UNVIS_END) == UNVIS_VALID)
- (void) putchar(out);
-.Ed
-.Sh 関連項目
-.Xr vis 1
-.Sh 歴史
-.Fn unvis
-関数は、
-.Bx 4.4
-ではじめて登場しました。