| 日本-日本語 |
|
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
| 目次 | 索引 |
本章では,charmap ファイルと呼ばれる文字セット記述ファイルについて説明します。この charmap ファイルは,文字エンコードとして文字シンボルを定義するもので,コード化文字セット,つまりコードセットに対するソース・ファイルです。
![]()
3.1 Portable Character Set
![]()
サポートされているすべてのコードセットは,固有のサブセットとして Portable Character Set (PCS)を持ちます。 PCSは,(標準シンボル名で一覧されている)文字シンボル,およびその16進エンコードで構成されます。 表 3-1 を参照してください。
| シンボル名 | 16進エンコード |
|---|---|
| <NUL> | \x00 |
| <alert> | \x07 |
| <backspace> | \x08 |
| <tab> | \x09 |
| <newline> | \x0A |
| <vertical-tab> | \x0B |
| <form-feed> | \x0C |
| <carriage-return> | \x0D |
| <space> | \x20 |
| <exclamation-mark> | \x21 |
| <quotation-mark> | \x22 |
| <number-sign> | \x23 |
| <dollar-sign> | \x24 |
| <percent> | \x25 |
| <ampersand> | \x26 |
| <apostrophe> | \x27 |
| <left-parenthesis> | \x28 |
| <right-parenthesis> | \x29 |
| <asterisk> | \x2A |
| <plus-sign> | \x2B |
| <comma> | \x2C |
| <hyphen> | \x2D |
| <period> | \x2E |
| <slash> | \x2F |
| <zero> | \x30 |
| <one> | \x31 |
| <two> | \x32 |
| <three> | \x33 |
| <four> | \x34 |
| <five> | \x35 |
| <six> | \x36 |
| <seven> | \x37 |
| <eight> | \x38 |
| <nine> | \x39 |
| <colon> | \x3A |
| <semi-colon> | \x3B |
| <less-than> | \x3C |
| <equal-sign> | \x3D |
| <greater-than> | \x3E |
| <question-mark> | \x3F |
| <commercial-at> | \x40 |
| <A> | \x41 |
| <B> | \x42 |
| <C> | \x43 |
| <D> | \x44 |
| <E> | \x45 |
| <F> | \x46 |
| <G> | \x47 |
| <H> | \x48 |
| <I> | \x49 |
| <J> | \x4A |
| <K> | \x4B |
| <L> | \x4C |
| <M> | \x4D |
| <N> | \x4E |
| <O> | \x4F |
| <P> | \x50 |
| <Q> | \x51 |
| <R> | \x52 |
| <S> | \x53 |
| <T> | \x54 |
| <U> | \x55 |
| <V> | \x56 |
| <W> | \x57 |
| <X> | \x58 |
| <Y> | \x59 |
| <Z> | \x5A |
| <left-bracket> | \x5B |
| <backslash> | \x5C |
| <right-bracket> | \x5D |
| <circumflex> | \x5E |
| <underscore> | \x5F |
| <grave-accent> | \x60 |
| <a> | \x61 |
| <b> | \x62 |
| <c> | \x63 |
| <d> | \x64 |
| <e> | \x65 |
| <f> | \x66 |
| <g> | \x67 |
| <h> | \x68 |
| <i> | \x69 |
| <j> | \x6A |
| <k> | \x6B |
| <l> | \x6C |
| <m> | \x6D |
| <n> | \x6E |
| <o> | \x6F |
| <p> | \x70 |
| <q> | \x71 |
| <r> | \x72 |
| <s> | \x73 |
| <t> | \x74 |
| <u> | \x75 |
| <v> | \x76 |
| <w> | \x77 |
| <x> | \x78 |
| <y> | \x79 |
| <z> | \x7A |
| <left-brace> | \x7B |
| <vertical-line> | \x7C |
| <right-brace> | \x7D |
| <tilde> | \x7E |
charmapファイルは,次の要素で構成されています。
<code_set_name>
charmap ファイルの定義の対象となるコードセット名を指定します。この値は,nl_langinfo (CODESET) サブルーチンで返される値を決定します。 <code_set_name> が宣言されない場合, Portable Character Set の名前が使用されます。
<mb_cur_max>
コードセット内の文字の最大バイト数を指定します。値は 1〜4 の範囲で有効です。省略時の値は1です。
<mb_cur_min>
コードセット内の文字の最小バイト数を指定します。サポートされるコードセットはすべて,固有のサブセットとして Portable Character Set を持つため,この値は必ず 1 です。
<escape_char>
16 進または 8 進表記のエンコードを示すエスケープ文字を指定します。省略時の値はバックスラッシュ(\)です。
<comment_char>
charmap ファイル内でのコメントを示すために使用される文字を指定します。省略時の値は番号記号(#)です。
<char_symbol> encoding |
シンボル名は左山括弧 (<) 文字ではじまり,右山括弧 (>) 文字で終了します。 char_symbol (<および>で囲まれた名前)は,制御文字とスペース文字を除く, Portable Character Set のすべての文字を使用して指定できます。
char_symbol に > を使用することもできます。この場合,最後の > を除くすべての>文字の前に,
<escape_char> 特殊シンボル名で指定されるエスケープ文字を指定します。
エンコードは 1 文字以上の文字定数で指定しますが,その最大文字数は,
<mb_cur_max>特殊シンボル名で指定されます。エンコードは,次の形式の 10 進数,8 進数,または 16 進数の定数で指定します。
文字シンボル定義のサンプルを次に示します。
<A> \d65 #decimal constant <B> \x42 #hexadecimal constant <j10101> \x81\xA1 #multiple hexadecimal constants |
シンボル名の範囲とこれに対応するエンコード値を定義することもできます。なお,各シンボル名は,数値でない共通接頭辞を持ち, 2 番目のシンボル名の数値部分が,最初のシンボル名の数値部分以上であることが必要です。この形式では,シンボル名値が,ゼロ文字以上の非数値文字,および 1 けた以上の 10 進数の整数の順で構成されます。この指定形式は,一連のシンボル名を定義します。たとえば,文字列 <j0101>...<j0104> は,シンボル名 <j0101>,<j0102>,<j0103>,および <j0104> として,順に解釈されます。
シンボル名の範囲を定義する文の中で,指定されたエンコード値は,範囲内の先頭のシンボル名の値に相当します。以降のシンボル名は,昇順のエンコード値を持ちます。次にサンプル文を示します。
<j0101>...<j0104> \d129\d254 |
このサンプル文は,次のように解釈されます。
<j0101> \d129\d254 <j0102> \d129\d255 <j0103> \d130\d0 <j0104> \d130\d1 |
1 つのシンボル名に対して複数のエンコードを割り当てることはできませんが,文字によっては複数の共通名を持つため, 1 つのエンコード値に対して複数の名前を作成することはできます。たとえば,.文字は,ピリオドと呼ぶこともあれば,終止符 ( full stop ) と呼ぶこともあります。両方の名前を,charmapファイルに指定できます。この例を次に示します。
<period> \x2e <full-stop> \x2e |
コメントは, <comment_char> 特殊シンボル名で指定される文字で開始しなければなりません。行全体がコメントの場合は,行の 1 桁目に, <comment_char> を指定することが必要です。
サンプルcharmapファイルの一部を,次に示します。
CHARMAP <code_set_name> "ISO8859-1" <mb_cur_max> 1 <mb_cur_min> 1 <escape_char> \ <comment_char> # <NUL> \x00 <SOH> \x01 <STX> \x02 <ETX> \x03 <EOT> \x04 <ENQ> \x05 <ACK> \x06 <alert> \x07 <backspace> \x08 <tab> \x09 <newline> \x0a <vertical-tab> \x0b <form-feed> \x0c <carriage-return> \x0d END CHARMAP |
| 目次 | 索引 |
|
||||||||