[left] [up] [right]

idncheckコマンドの使用方法

idnkitに付属する、idncheckコマンドの使用方法について解説します。

idncheckの起動

idncheckコマンドは、国際化ドメイン名の検査を行うツールです。 引数に指定されたドメイン名を、エンコード処理と同様の手順で変換し、 正しく変換できるかどうかチェックします。 idncheckを起動する際の、コマンド行の形式は次の通りです。

% idncheck [オプション...] ドメイン名1

idncheckはドメイン名をPunycodeへ変換してみます。 正しく変換できれば、標準エラー出力に

passed.

と出力して、終了コード0を返して実行を終えます。 伝統的なASCIIドメイン名も、「正しく変換できた」と見なされます。

ドメイン名が国際化ドメイン名として不適当である場合、 その理由 (例: "invalid encoding") を標準エラー出力に出力して、 終了コード2を返して実行を終えます。 メモリ不足のような内部エラーが起きた場合は、その理由を標準エラー出力 に出力して、終了コード3を返して実行を終えます。

idncheckの実行例

idncheckの実行例を示します。 まずは正しいドメイン名を与えた場合:

% idncheck "привет.мир"
passed.

Punycodeでドメイン名を指定した場合も、エンコード過程でいったんUnicode に戻されますので、各種のチェックはすべて行われます。

% idncheck "xn--tba"
prohibited code point check failed

引数として渡されるドメイン名が何というエンコーディングで表現されて いるかはidncheckが自動判定しますが、うまくいかない場合は-in オプションを使用することで強制的に指定することができます。 以下の例では、KOI8-rを指定しています。

% idncheck -in KOI8-r "привет.мир"
passed.

idncheckのオプション

idncheckが認識するオプションは、次の通りです。 よく使われると思われるオプションに関しては、短縮形として1文字のオプション を用意してあります。

オプション 説明
-in エンコーディング 引数として与えられたドメイン名のエンコーディング名を 指定します。 以下のエンコーディング名称を認識します。
  • iconv_open()関数が認識するエンコード名
  • Punycode
  • UTF-8
  • エンコーディング別名定義ファイル (idnalias.conf) で 定義された別名
デフォルトは、環境変数IDN_LOCAL_CODESETがセットされている 場合はその値となり、セットされていなければロケール情報 から取得したエンコーディングとなります (「ローカルエンコーディング」 参照)。
-i エンコーディング
-conf パス idnkitの設定ファイルのパス名を指定します (デフォルトで読み込まれる設定ファイルのパスは、 「設定ファイルについて」 を参照のこと)。 -noconfないし-Cオプションと一緒に指定 した場合はそちらが優先され、設定ファイルは読み込まれません。
-c パス
-noconf idnkitの設定ファイルを読み込まないようにします。
-C
-registration (デフォルト) IDNA2008の「ドメイン名登録プロトコル (registration protocol)」 を使用します。 デフォルトでは、こちらのプロトコルを使用します。
-g (デフォルト)
-lookup IDNA2008の「ドメイン名参照プロトコル (lookup protocol)」 を使用します。 ドメイン名登録プロトコルでは行われる「ハイフンチェック」が省略され、 「その他文脈依存文字 (CONTEXTO)」のチェックも簡素化されます。 詳しくは、「idnkitの変換処理の詳細」を 参照して下さい。
-l
-nomap マッピング処理を行いません。 「-skip map」と等価です。
-M
-skip アクション名,... アクション名で指定されたエンコード/デコード処理工程 の実行を省略します。 "," で区切って複数のアクションを指定することが可能です。 また、複数回-skipオプションを指定しても構いません。 アクション名として以下の名称を認識します。
map
マッピング
asclower
ASCIIの英大文字を小文字に変換
rtconv
PunycodeからUnicodeへの変換
prohcheck
禁止コードポイントチェック
unascheck
未割り当てコードポイントチェック
nfccheck
NFC適用済みチェック
prefcheck
ACE接頭辞チェック
hyphcheck
ハイフンチェック
combcheck
合成文字チェック
ctxjcheck
「連結制御文脈依存文字 (CONTEXTJ)」チェック
ctxocheck
ドメイン名登録プロトコル (registration protocol) 用の 「その他制御文脈依存文字 (CONTEXTO)」チェック
ctxolitecheck
ドメイン名参照プロトコル (lookup protocol) 用の 「その他制御文脈依存文字 (CONTEXTO)」チェック
bidicheck
BIDI (bidirectional display; 双方向表示) チェック
idnconv
UnicodeからPunycodeへの変換
lencheck
ラベル長チェック
rtcheck
ラウンドトリップチェック
-localcheck ファイル 追加で、各コードポイントに対する「ローカルチェック」 を行います。 詳しくは、 「セットファイル」 を参照して下さい。
-e ファイル
-quiet 実行結果を出力しません。 結果は、終了コードから判断して下さい。
-q
-test 現在のオプション指定と環境変数等の設定状況で実行すると、 「現在の言語」とローカルエンコーディングが何になるのかを表示し、 終了します。
-t
-version バージョン情報を表示して実行を終了します。
-v
-help ヘルプメッセージを表示して終了します。
-h

[left] [up] [right]