素のw3m (以下w3mと表記し、 実行ファイルの名前も同じものと仮定します) では
多符号化方式対応の亜種 (以下w3mmeeと表記し、 実行ファイルの名前も同じものと仮定します) の場合は、 符号化方式の自動判別の範囲、 使用端末で使える符号化方式、 符号化方式の変換方法、 各言語に対応したメッセージ、 etc. を指定するために少し(?)複雑な手順を踏むことになります。
まず環境変数「W3MLANG」 (設定されていなければ「LANG」) の値を読み、 アルファベットをすべて小文字に変換後、 それが
言語コード+"_"(アンダースコア)+国コード+"."(ピリオド)+符号化方式コードという形をしているものとみなして、 それぞれのコードに分解します。 例えば値が「ja_JP.UTF-8」だとすると
上で得られた文字列から
さらに
オプション名+"="(等号)+説明文という形をしたもののみで、 他の行は無視されます。 また等号の前後・行頭・行末の空白文字は取り除かれます。
さらに
各ユーザ用のオプション設定ファイル、 形式は$LIB_DIR/w3mconfig*達と同じ、
各ユーザ用のオプション設定パネルの説明文設定ファイル、 形式は$LIB_DIR/w3mmessages*達と同じ、
この節の内容はw3mmeeがgettextを使うようにビルドされている場合のみ有効です。
gettext()の戻り値が非US-ASCII文字を含む場合、 そのような文字の符号化方式は内部用のものに変換する必要があります。 gettext()は現localeのcodeset名に基いて出力の符号化方式を決めますが、 w3mmeeはMIMEのcharset名を使っています。 不幸にしてある符号化方式のlocaleシステムにおけるcodeset名とMIMEのcharset名は同じとは限らないので、 w3mmeeはそれらの対応表を必要とします。
w3mmeeには既にそのような対応表が組み込まれていますが、 組み込みのものでは不十分なこともあり得ます。 そのような場合以下の2つのファイル
MIMEのcharset名+"="(等号)+言語指定[+","(コンマ)+…]という形をしていなければなりません。 "="や","の前後には空白があっても構いません。 言語指定は
言語コード+"_"+国コード+"."+codeset名という形の文字列で、 言語コード、 "_"+国コード、 または"."+codeset名、 のうち1個または2個が省略されていても構いません。
以下は多符号化方式対応拡張により増えたオプションのうち、 文字の符号化に関するものの一覧です。
言語を指定します。 今のところは、 符号化方式の自動判別の範囲を限定するためだけに使われています。
例えば
mylang cjkと指定すると、 charset指定のない文書の符号化方式を
符号化方式のコンマ区切の列を指定することもできます。 この場合、 それらの符号化方式が自動判別の候補として使われます。
自動判別に失敗した場合に想定する符号化方式を指定します。
端末の符号化方式を指定します。 端末への出力時以外に、 formへの入力の符号化方式もこのオプションの値で指定されるものと一致するものとして扱われます。
このオプションは使用しないことを推奨します。 かわりに tty_initial_input_charset と tty_initial_output_charset を使って下さい。
tty_charsetで指定する符号化方式がISO 2022の部分集合の場合、 端末からの入力ストリームの中間バッファの初期状態をこのオプションで指定する符号化方式のものに変更できます。
tty_charsetで指定する符号化方式がISO 2022の部分集合の場合、 端末への出力ストリームの中間バッファの初期状態をこのオプションで指定する符号化方式のものに変更できます。
html文書のフォームへの入力の符号化方式・文字セットを入力時にどのように変換するかを指定します。
多符号化方式対応拡張 に使われる サポートライブラリ についての詳しい知識があり、 かつ特殊な使い方をするのでない限り、 指定しないほうが無難です。
端末への出力時の符号化方式・文字セットの変換のしかたを指定します。
多符号化方式対応拡張 に使われる サポートライブラリ についての詳しい知識があり、 かつ特殊な使い方をするのでない限り、 指定しないほうが無難です。
端末がそのままでは表示できず、 代替文字列も指定されていない文字に適用される変換を指定します。
多符号化方式対応拡張 に使われる サポートライブラリ についての詳しい知識があり、 かつ特殊な使い方をするのでない限り、 指定しないほうが無難です。
charset指定の無い文書の符号化方式を指定します。 このオプションが指定されると、 自動判別は行われません。
ネットワークやローカルファイルからの入力時の符号化方式の変換の仕方を指定します。
多符号化方式対応拡張 に使われる サポートライブラリ についての詳しい知識があり、 かつ特殊な使い方をするのでない限り、 指定しないほうが無難です。
charset指定も無く、 自動判別にも失敗した場合に想定する符号化方式を指定します。
html文書に入力フォームがある場合に、 アクションに対する引数はその文書の符号化方式に変換後に渡されるので、 その場合はこのオプションの設定の影響を受けます。 今のところ、 これ以外の用途はありません。
ネットワークやローカルファイルへの出力時の符号化方式の変換の仕方を指定します。
多符号化方式対応拡張 に使われる サポートライブラリ についての詳しい知識があり、 かつ特殊な使い方をするのでない限り、 指定しないほうが無難です。
正規表現サーチ時の符号化方式の変換の仕方を指定します。
多符号化方式対応拡張 に使われる サポートライブラリ に含まれているユーティリティのマニュアルページ中の 「Conversion specifiers」 という節を見てみて下さい。
ブックマーク登録スクリプトへの引数等、 他のプロセスに渡す文字列の符号化方式を指定します。
「文字列」は以下のような2通りの形式の指定のどちらかを空白で区切って並べたものです:
<sep1>+正規表現+<sep2>+<charset>または
<charset>空白で区切られたトークンの最初の文字が非alphanumericならば最初の形式として扱われ、 それ以外の場合は2番目の形式としてみなされます。 最初の形式において、 もし<sep1>が「(」、「{」、「[」、「<」、または「^」ならば、 <sep2>はそれぞれれ「)」、「}」、「]」、「>」、または「$」でなければなりません。 <sep1>と<sep2>は、 「^」と「$」の対の場合のみ正規表現の一部として扱われます。 第2の形式は
「^.*$」+<charset>の省略形です。
プロセス名が与えられると、 正規表現との照合が順に試され、 最初に照合に成功した表現に対応する<charset>が採用されます。
端末が受け付けない文字を指定します。 代替文字列が指定されていないか、 「NLLL」(カギカッコは除く、すべて大文字)という文字列の場合、 その文字そのものが出力されます。 代替文字列が「REJECT」(カギカッコは除く、すべて大文字)以外の文字列の場合、 その文字列が出力されます。 これ以外の場合、 tty_character_replacement で代替文字列のデフォルトが指定されていればその文字列が出力されます。 これも指定されていない場合は「?」(クエスチョンマーク)が出力されます。
このオプションは複数設定可です。 文字範囲に包含関係がある場合、 範囲の狭いほうが採用されます。 包含関係が無くかつ重複する場合、 重複部分だけ後で指定したもので上書きされます。
端末が受け付けない文字の代替文字列のデフォルトを指定します。
マウスを使わないバッファ (configureでマウスサポートを外したバイナリの場合も含む) での表示中のドキュメントを表わすメッセージ用のフォーマット文字列を指定します。
マウスを使うバッファでの表示中のドキュメントを表わすメッセージ用のフォーマット文字列を指定します。
長いURIの途中を省略して表示する場合の、 省略した部分の代替文字列を指定します。
<ul>の各項目の先頭に現われる文字列群を、 ","(コンマ)で区切って指定します。
<ul>のtype属性をdiscにした場合の、 各項目の先頭に現われる文字列を指定します。
<ul>のtype属性をcircleにした場合の、 各項目の先頭に現われる文字列を指定します。
<ul>のtype属性をsquareにした場合の、 各項目の先頭に現われる文字列を指定します。
小さい画像用の代替テキストを指定します。
<hr>に使われる文字を指定します。
メニューの枠に使う文字を、 左上隅から出発して、 左から右、 上から下の順に、 ","(コンマ)で区切って指定します。
テーブルの枠や境界に使う文字を指定します。 中心、 左端、 上端、 左上隅、 右端、 縦棒、 右上隅、 下端、 左下隅、 水平線、 右下隅の順に、 ","(コンマ)で区切って指定します。
テーブルの枠や境界を太くする時に使う文字を指定します。 中心、 左端、 上端、 左上隅、 右端、 縦棒、 右上隅、 下端、 左下隅、 水平線、 右下隅の順に、 ","(コンマ)で区切って指定します。
オプション設定パネルに、 「OK」ボタンを押して終了した場合に結果を$HOME/.w3mmee/configに保存するかどうか、 を指定する項目が増えています。 その項目の説明文を指定します。
非標準なcharset名の標準名を指定します。 指定の仕方は
標準名+"="(等号)+charset名のリストで、 「charset名のリスト」はcharset名を","(コンマ)で区切って並べたものです。 等号やコンマの前後に空白を入れてはいけません。 またcharset文字中のアルファベットの大文字・小文字は区別されません。
例えば「charset=SHIFT-JIS」などという指定のあるページが存在しますが、 これを「charset=Shift_JIS」と指定してあるのと同等に表示するためには、
charset_cname shift_jis=shift-jisという指定を設定ファイルのどこかに追加します。
このオプションは複数指定が可能で、 等号の左辺の重複したものがある場合は、 後の指定が前の指定を上書きします。
Unicode中の文字を端末に表示した時の幅の表の名前を指定します。 指定可能なものは以下のとおりです (アルファベットの大文字・小文字の違いは無視されます)。
metaタグで指定された符号化方式が自動認識されたものと違っている時に、 再レンダリングを行うかどうかを指定します。
文字の符号化とはまったく関係無いけれども、 パッチがオリジナルに採用されなかったり、 須藤が移植をサボっていたり、 等の理由でw3mmeeのみが認識するオプションの一覧です。
HTTPヘッダフィール"content-encoding"の値<encoding name>,
MIMEタイプ <media type>,
および<encoding name>で示される符号化方式で符号化された内容を復号するフィルタプログラムを結びつけます。
このオプションが正しく機能するようにするためには、
さらに$HOME/.mime.types
に
<media type> 拡張子のような行を付け加えて、 <media type>と適当なファイル拡張子を結びつける必要があります。
このオプションは複数指定可で、 おなじ<encoding name>を持つオプションが2つ以上指定された場合、 最後の指定が採用されます。
ファイルの言語を表わす拡張子のコンマ区切りのリストを指定します。
複数の拡張子を持つファイルのcontent typeを推測するとき、 このオプションにリストされた拡張子は判断の材料から除外されます。
正規表現の検索時に行を跨ぐ検索を行うかどうかを指定します。
文書をロードするためのプロセス数の最大値を指定します。
文書をロードするためのプロセス数のサーバ毎の最大値を指定します。
何回までリダイレクトに従うかを指定します。
HTTPリクエストヘッダに加えるヘッダを指定します。 以下のヘッダ
Host
,Pragma
,Cache-Control
,Content-Length
は常にw3mmeeが値を決め、 オプションによる指定は無視されます。 以下のヘッダ
UserArgent
,Accept
,Accept-Encoding
,Accept-Language
のオプションによる指定が無い場合、 w3mmeeが他の情報から適切な値を与えます。 以下のヘッダ
Content-Type
,Referer
は、 他に与えるべき適当な値が無いときにのみ、 オプションにより指定した値が与えられます。 以下のヘッダ
Cookie
,Cookie2
はコンパイル時の設定やコマンドライン、 あるいはオプション設定パネルで、 w3mmeeがcookieを扱わないようになっている時のみこのオプションによる値が採用され、 それ以外はオプションの指定を無視し、 w3mmeeが値を決めます。
このオプションは複数指定可で、 おなじヘッダ名に対する指定が2つ以上指定された場合、 最後の指定が採用されます。
HTTPリクエストのバージョンを指定します。 指定可能な値は"1.1"または"1.0"(ただし2重引用符を除く)です. 他の値が指定された場合警告無しに無視され、 バージョンとしては"1.1"が使われます。
文書のレンダリング結果をダンプする際のアンカーの表示の仕方を指定します。 この文字列と文書中のリンク一覧中の番号がsprintfに渡されます。 従ってこの文字列中にはsprintf用の変換指定子「%d」が丁度1個含まれていなければなりません。
文書のレンダリング結果をダンプする際のイメージの表示の仕方を指定します。 この文字列と文書中のリンク一覧中の番号がsprintfに渡されます。 従ってこの文字列中にはsprintf用の変換指定子「%d」が丁度1個含まれていなければなりません。
文書のレンダリング結果をダンプする際の、 同一文書内のラベルへのリンクに付加する行番号と桁の表示の仕方を指定します。 この文字列と行番号と桁がsprintfに渡されます。 従ってこの文字列中にはsprintf用の変換指定子「%d」が丁度2個含まれていなければなりません。
文書のレンダリング結果をダンプする際に、 その文書のURIがこの文字列であるものとして扱われます。
カーソル移動コマンドの結果カーソルが画面外に移動してしまう場合、 「数値」行または桁だけ画面がスクロールします。
優先度最大のmailcapエントリを指定します。 外部ビューワを一時的に変更するために使われることを想定したオプションです。
このタイプのオプションは複数回現れても構いません。
browsecapファイルのコンマ区切りのリストを指定します。
優先度最大のbrowsecapエントリを指定します。 外部ブラウザを一時的に変更するために使われることを想定したオプションです。
このタイプのオプションは複数回現れても構いません。
Plain text中の画面の幅に納まらない行を、 折り返して表示するかどうかを指定します。
Plain text中の画面の幅に納まらない行を、 ダンプ時も折り返して表示するかどうかを指定します。 このオプションが真値に設定されると、 オプションwrap_lineも真値に設定されます。
画面の幅に納まらない行が、 切り詰めて表示されていることを示す文字を指定します。
画面の幅に納まらない行が、 折り返して表示されていることを示す文字を指定します。
実際に表示する前に画像をロードしておくかどうかを指定します。
インライン画像の縦方向のアラインメントのデフォルトを指定します。
「位置」は
D
("default"を表わします)、
T
("top"を表わします)、
M
("middle"を表わします)、
または
B
("bottom"を表わします)、
のいずれかでなければなりません。
D
は
B
とほとんど同じですが、
小さな画像に対して少々違いが出ます。
テーブル中の縦方向のアラインメントのデフォルトを指定します。
「位置」は
T
("top"を表わします)、
M
("middle"を表わします)、
または
B
("bottom"を表わします)、
のいずれかでなければなりません。
GETでもHEADでもないメソッドのHTTPリクエストが、 HTTPレスポンスコード301または302によってリダイレクトされたときの振舞いを指定します。 「振舞い」は
0
1
2
3
フレームの境界の色を指定します。
文字幅を自動設定してよいかどうかを指定します。
一行の高さを自動設定してよいかどうかを指定します。
ファイル拡張子のコンマ区切りのリストを指定します。 w3mmeeはローカルファイルのオープンに失敗した時、 ここにリストした拡張子をファイル名に追加して再度オープンを試みます。
拡張子として「*」(アステリスク)が指定されると、 その場所にファイルの符号化方式に対応する拡張子のコンマ区切のリストが展開されます (デフォルトでは「.Z,.bz2,.gz」、 accept_encodingオプションの項を見て下さい).
リモートページのキャッシュされたソースを編集可能にするかどうかを指定します。
レンダリング結果の各行の行末の空白を削除するかどうかを指定します。
フレームの名前のコンマ区切のリストを指定します。 リスト中の各項目を順番にレンダリング中のフレームセット中のフレームの名前の中から検索し、 最初に見つかったフレームの左上隅のバッファをカレントバッファにします。
このオプションの値が真の場合、 永続的バッファ選択メニュー中で選択されているバッファが自動的にカレントバッファになります。
正規表現検索時に、 「form」要素のコントロールの内容も検索対象にするかどうかを指定します。
沢山の項目を含むポップアプメニューの縦方向の位置の決め方を指定します。 位置は以下のもの中の1つでなければなりません。
C
A
$RC_DIR/template中で定義されたフレーム境界の色を指定します。
画面の(ほとんど)一番下に表示されるタイトル行のフォーマットを指定します。 「%」+「1文字」は以下のとおり置換されます:
%A
%B
%I
(「[」と「]」で囲まれた)バッファに関する色々な情報を示す文字達:
F
S
HTTPS
で得られたもの、I
%L
%N
%P
%U
%
+上でリストされていない文字バッファ選択メニューの各項目のタイトル用のフォーマットを指定します。 形式はbuffernameオプションと同じです。
マウスボタンのクリック間隔が「数値」ミリ秒以内だと、 ダブルクリックとみなされます。
バッファが表示可能になったら自動的にカレントバッファにするかどうかを指定します。
フレームセットの表示時に、 カーソルを画面左上のバッファに移動するかどうかを指定します。
ダウンロードファイルの名前の雛型を定義します。 ファイル名を生成する際、 「%F」および「%s」は推定されたファイル名に、 「%X」は推定されたファイル名の拡張子に、 「%B」は推定されたファイル名の拡張子を除いた部分に置換されます。
ダウンロードファイル名がディレクトリ部を含む場合、 新たに生成されるディレクトリのモードを指定します。 strtoul(3)が受け付ける数値表現か、 「rwxrwxrwx」型の文字列でなければなりません。 新しいディレクトリの生成を抑制するためには、 「0」か「---------」を指定します。
属性「cellpadding」、「cellspacing」、「colspan」、「rowspan」、「size」、および「vspace」の値を、 この値未満に制限します。
キャッシュされた各*-Authenticate:ヘッダの再利用の最大回数の定義の、 コンマ区切の列を指定します。 各定義は
キャッシュされた各*-Authenticate:ヘッダが期限切れとなる秒数の定義の、 コンマ区切の列を指定します。 各定義は
外部ビューワ用のバッファを作成するかどうかを指定します。
w3mmeeは、 mailcapエントリの文字列展開において、 以下の追加の%-エスケープを認識します。
URIのホスト部。
URIのポート部。
URI全体。
まず「%<test>」の展開を試みます。 <test>の先頭に「%」が挿入されることに注意して下さい。 展開が実際に行われる場合 (展開結果が空文字列の場合も含みます)、 <yes>が処理されます。 展開に失敗する場合は<no>が処理されます。 <yes>が省略された場合、 省略された場所に<test>があるかのように扱います。 <no>が省略されかつ<test>の展開に失敗する場合は、 この%-エスケープ全体が空文字列で置き換えられます。
w3mmeeはURIのscheme部によって外部ブラウザを自動的に決定する仕掛を持っています。 外部ブラウザとschemeの対応は"browsecap"ファイルによって与えられます。 w3mmeeは
ファイルフォーマットも"mailcap"ファイルと同じです。 ただし各エントリの最初の要素は
<scheme>+「/」(スラッシュ)+<method>という形でなければなりません。 また<method>としてサポートされているのは今のところ「post」、「get」、または「download」です。 <method>部にワイルドカードとして「*」(アステリスク)を指定することも可能です。 <method>部が「post」になる場合、 CGIプログラムに渡されるべき引数がそのまま、 マッチした外部ブラウザの標準入力になります。
もしURIがquery stringを含んでいて、 そのquery stringが「<word>=<value>」という要素を含んでいる場合、 「%{<word>}」という形の%-エスケープは「<value>」に展開されます。 さらに「%?」という%-エスケープはquery string全体 (ただし最初の「?」は除く) に展開されます.
browsecap機能は、 バッファのソース、 バッファの表示イメージ、 form要素のtype=textなinputコントロール, またはform要素のtextareaコントロール, の編集用エディタを決めるためにも使われます。 browsecapエントリのうち、 最初の要素が、 それぞれ 「x-edit/buffer」、 「x-edit/screen」、 「x-edit/inputtext」、 または「x-edit/textarea」 のものが該当するものです。
w3mmeeのmailcapおよびbrowsecapエントリの解析ルーチンは、 「x-internal」、 「x-cgioutput」、 「x-type」、 「x-uri」、 「x-netpath」、 「x-match=正規表現」、 および「x-nc-match=正規表現」というフラグを認識します。
「x-internal」の指定されたエントリは、 上記の編集用エディタの決定のような、 内部用途だけに制限されます。 エディタ用のエントリにはこのフラグを付けることをおすすめします。
「x-cgioutput」が指定されている場合、 そのエントリから決まるプログラムはCGIプログラムとして扱われます。 すなわち、 プログラムを呼び出す前に各種の環境変数が設定され、 プログラムの出力の最初の空行の前の行達がHTTPの応答ヘッダとして解析されます。
「x-type」はmailcapの中でのみ認識されます。 このフラグの指定されたエントリのコマンド部から生成された文字列は、 MIMEの型名として扱われます。 そのエントリにマッチする文書は、 内容がその型であるかのように処理されます。
「x-uri」はbrowsecapの中でのみ認識されます。 このフラグの指定されたエントリのコマンド部から生成された文字列は、 URIとして扱われ、 w3mmeeは元のURIのかわりに、 この新しいURIを処理します。
「x-netpath」はbrowsecapの中でのみ認識されます。 このフラグの指定されたエントリによって定義されるスキームを持つURIは、 「net_path」型でなければなりません(RFC2396の3節参照)。
「x-match=『正規表現』」および「x-nc-match=『正規表現』」はbrowsecapの中でのみ認識されます。 これらのフラグはお互いに排他的で、 1つのエントリに両方が指定された場合、 後のもののみが有効になります。 どちらかのフラグが指定された場合、 URI全体と『正規表現』が照合され (「x-nc-match=『正規表現』」の場合はアルファベットの大文字小文字は区別されません)、 照合が成功した場合のみ、 そのエントリが採用されます。 もし「test=…」フラグも指定されていた場合、 結果の論理積がエントリを採用するかどうかに使われます。
個人設定用ディレクトリ($RC_DIR)中の「template」という名前のファイルでフレームセットを定義することにより、 画面のデザインを好みのものに変更することができます。
このフレームセットは「_main」という名前のフレームを1個含んでいる必要があります。 後にロードされるバッファはすべて、 「_main」フレームの位置に表示されます。
このフレームセットの「cols」属性と「rows」属性中では、 以下の形式の長さ指定も使うことができます:
c
数値×US-ASCII文字1個の幅、を表わします。 (US-ASCII文字1個の幅は、もし必要なら、「pixel_per_char」オプションで変更することも可能です)、
l
数値×US-ASCII文字1個の高さ、を表わします。 (US-ASCII文字1個の高さは、もし必要なら、「pixel_per_line」オプションで変更することも可能です)。
pixel_per_char
が8、
pixel_per_line
が16だとすれば、
80c
は640を表わし、
25l
は400を表わします。
$RC_DIR/template中では、 以下の「about://」URIをフレームのソースとして指定できます。
about://current-buffer
about://menu/名前
about://select-menu
about://menu/SelectBuffer
と同じ、about://process-list
ポップアップメニューのテキストは普通のバッファと(ほとんど)同じように保持されています。 従って普通のバッファに対する検索関数やカーソル移動関数の大部分は、 ポップアップメニューに対しても使うことができます。
さらに(実装がほとんど同じなので)、 ポップアップメニュー用のバッファから、 「about://menu」URIを用いて、 「永続的」なコピーを作ることができます。 多くのメニュー用関数は(「ポップアップ」していることに強く依存しているものを除いて)、 この永続的コピーに対しても使うことができます。
ポップアップ版のバッファ選択メニューの名前は「Select」ですが、 永続的バッファ選択メニューの名前は「SelectBuffer」という違う名前になっていることに注意して下さい。
(主に)バッファのタイトル行上でのマウス操作を定義するために、 「Lastline」という名前のメニューがあらかじめ用意されています。 このメニューの各項目のラベルは横に連結されて、 buffernameオプションの値をもとに生成された文字列の前(左)に表示されます。 ユーザ関数「GOTO_XY」が呼び出された時の指定位置がタイトル行の場合、 指定位置に対応する項目のメニュー関数が実行されます。
$RC_DIR/menuのメニュー定義中のキーバインドを指定する部分で、 幾つかの特別な目的の語を指定することができます。
メニュー用バッファでは、 メニュー用のキー束縛を探すのに失敗すると、 非メニューバッファ用のキー束縛を再検索します。 しかしこの語に束縛されたメニュー関数がある場合は、 再検索は行わずこのメニュー関数を呼び出します。
メニュー定義中でラベルフィールドは必須で、 通常はメニューが表示されるとラベルも表示されますが、 この語のある項目はまったく表示されなくなります。
W3mmeeは色々な場所のキー定義において以下の記号表記を認識します。
END
、PGDN
、HOME
、PGUP
、CR
、LF
、KP-END
、KP-PGDN
、KP-HOME
、KP-PGUP
、KP-INS
、F
<number>、MOUSE-CLICK-
<number>、MOUSE-DCLICK-
<number>、MOUSE-DOUBLE-CLICK-
<number> (synonym forMOUSE-DCLICK-
<number>)、MOUSE-DRAG-
<number>、MOUSE-MOVE-
<number>。
さらに以下の表記も認識します。 これらは、 実際のキーストロークを表わしているわけではなく、 メニュー関数「M:POSITIONAL」が呼び出された時、 指定位置がメニュー内部でないときに呼び出すべき下請け関数を決めるために使われます。
MENU-OUTSIDE
,MENU-FRAME-TOP
,MENU-FRAME-BOTTOM
,MENU-FRAME-LEFT
,MENU-FRAME-RIGHT
.
tty_accept_character や tty_reject_character の最初の引数としてUnicode中の文字を与える場合は、
"U+"+Unicodeの16進表記または
"U+"+範囲の始点のUnicodeの16進表記+"-"+終点のUnicodeの16進表記と表記します。 Unicode以外の文字を与える場合
"I+"+その文字の内部表現または
"I+"+範囲の始点文字の内部表現+"-"+終点文字の内部表現と表記します。
「Unicode以外の文字の内部表現」とは以下のようなものです。 まず (ISO 2022の分類に基いて) 文字セットの種類から
S
を決めます。
次に94セット・96セット・94x94セットの場合は、
ISO 2022方式の符号化でその文字セットを指示する時に使う終端バイトをF
とします。
ただし追加の中間バイト(2/1)を必要とする94セットの場合は終端バイトに0x40を加えたものをF
とします。
非ISO 2022文字セットの場合は、
サポートライブラリがその文字セットの識別用に使う
(今のところ文書化されていない)
たかだか8ビットの整数をF
とします。
最後にその文字セットに収容可能なコードポイントを順にならべて、
0から始まる番号をつけます。
その番号をC
とします。
以上のS
、F
、C
の16進表記を「+」(プラス符号)で区切って並べたものが「内部表現」です。
F
とC
は省略可能で、
始点文字として指定されたときは可能な範囲の最小値、
終点文字として指定されたときは可能な範囲の最大値、
が省略時の値として使われます。
Any questions or comments about this page are greatly appreciated.
Almost all contents in this site are written by Kiyokazu SUTO (i.e. me) unless especially noted. I want to put all of them into the PUBLIC DOMAIN, even though some lawyers mention that it is impossible in my country.