Provided by: manpages-ja_0.5.0.0.20060115-1_all bug

ASCII

       ASCII   (American   Standard   Code  For  Information  Interchange)  は
       7 ビット文字集合の元となったものであり、       もともとは米語(American
       English)             のためにデザインされた。            現在は、ECMA-6
       標準の中で説明されている。

       ドイツ語、フランス語、スペイン語などに 7  ビットで対応するため、  ASCII
       のドル宜罎鯊召猟眠澣号に置ご垢─        句読点を非英語文字のものに置-
       換えた様々な変種が存在する。 これらは全て使うべい任呂覆ぁ GNU libc  は
       ASCII                の完全なスーパーセットでない文字セットのロケールに
       対応していない。 (これらの文字セットは ISO-646 として知られる。  これは
       ASCII と近い関係にあり、これらの文字を置ご垢┐襪海箸鯒Г瓩討い)

       Linux  は米国で設計されたハードウェアのために書かれたので、  はじめから
       ASCII をサポートしている。

ISO 8859

       ISO 8859 は 15 組の一連の 8 ビット文字集合である。それらは全て 下位  (7
       ビット)  に US ASCII を含み、 128 から 159 には制御文字が配置され、 160
       から 255 には 96 個の固定幅図形文字が配置されている。

       これらのうちで、もっとも重要なのは ISO 8859-1 (Latin-1) である。これ は
       Linux  コンソールドライバにおいてネイティブにサポートされており、 X11R6
       においても同様にサポートされている。さらに、                       HTML
       の基本文字集合である。

       コンソールにおける、その他の   8859  文字集合のサポートは  (setfont(8))
       のようなユーザモード・ユーティリティを利用する事で可能になる。
       このようなユーティリティを利用することにより、コンソールドライバにおけ
       るァ璽棔璽匹   EGA   グラフィックテーブルの割り当てを変更し、"ユーザ割
       り当て(user mapping)"フォントテーブルを使用することがでい襦

       以下は、それぞれの集合の簡単な説明である。

       8859-1 (Latin-1)
              Latin-1                                                       は
              アルバニア語(Albanian)、カタロニア語(Catalan)、デンマーク語
              (Danish)、オランダ語(Dutch)、英語(English)、フェロー語(Faroese)、
              フィンランド語(Finnish)、フランス語(French)、ドイツ語(German)、
              ガリシア語(Galician)、アイルランド語(Irish)、アイスランド語(Icelandic)、
              イタリア語(Italian)、ノルウェー語(Norwegian)、ポルトガル語(Portuguese)、
              スペイン語(Spanish)、スウェーデン語(Swedish)といったほとんどの
              西ヨーロッパ言語をカバーする。 ドイツ語の ij  やフランス語の  oe
              の合字、および古いスタイルの                        ,,ドイツ語``
              引用符はないが、許容範囲と考えられている。

       8859-2 (Latin-2)
              Latin-2       はスラヴ語(Slavic)、クロアチア語(Croatian)、チェコ
              語(Czech)、ドイツ語(German)、ハンガリー語(Hungarian)、ポーランド語
              (Polish)、ルーマニア語(Rumanian)、スロヴァゥ語(Slovak)、
              スロベニア語(Slovene)といった、書な源としてラテン文字を
              使用する、スラブ系言語と中央ヨーロッパの言語のほとんどをサポートする。

       8859-3 (Latin-3)
              Latin-3
              はエスペラント(Esperanto)、ガリシア語(Galician)、マルタ語
              (Maltese)などの書ぜ蠅隆屬芭匹用いられる。
              (トルコ語(Turkish)はこれの代わりに                        8859-9
              で書かれるようになっている)

       8859-4 (Latin-4)
              Latin-4
              はエストニア語(Estonian)、ラトビア語(Latvian)、リトアニア語
              (Lithuanian)の文字を提供する。Latain-4                      は、
              本質的には廃止されている(obsolate である)。 8859-10 (Latin-6) と
              8859-13 (Latin-7) を参照のこと。

       8859-5
              ブルガリア語(Bulgarian)、ベラルーシ語(Byelorussian)、マケドニア語
              (Macedonian)、ロシア語(Russian)、セルビア語(Serbian)、ウクライナ語
              (Ukrainian) をサポートするゥ螢詈源集合である。 ウクライナ語では
              downstroke  をつけた  `ghe'  という文字を  `heh'  と読み、   ghe
              を正しく書くには   ghe   に   upstroke  をつけなければならない。
              この点については、 下の KOI8-R に関する議論を参照のこと。

       8859-6
              アラビア語(Arabic)をサポートする。8859-6  のグリフテーブル(glyph
              table)              は文字の形態を分割した固定幅フォントである。
              そのため、適切なディスプレイエンジンが正しい  initial,   medial,
              final フォームに結合しなければならない。

       8859-7 現代ギリシャ語(Modern Greek)をサポートする。

       8859-8 niqud(句読点宜)    のない近代ヘブライ語(Hebrew)をサポートする。
              niqud                          と完全な聖書風ヘブライ語(Biblical
              Hebrew)はこの文字セットの          対象外である。          Linux
              では、これらのためには UTF-8 が好ましいエンコーディングである。

       8859-9 (Latin-5)
              これは、Latin-1
              の変種で、アイスランド語の文字をトルコ語(Turkish)文字に     置-
              換えたものである。

       8859-10 (Latin-6)
              Latin-6       は北欧(Nordic)地域をカバーするために       Latin-4
              には含まれていない
              イヌイット語(Inuit)(グリーンランド語(Greenlandic))            と
              サーメ語(Sami)(ラップ語(Lappish))    を加えてある。   RFC   1345
              には、この前段階の、異なった     `latin6'     が載せられている。
              スコルト・サーメ語(Skolt                             Sami)では、
              さらにいくつかのアクセント宜罎必要とする。

       8859-11
              これは拒絶された草案標準のためだけに存在する。    この草案標準は
              Linux でタイ語のために用いられる TIS-620 と同じものである。

       8859-12
              この文字セットは存在しない。
              ベトナム語がこの場所を使うように提案したが、      ISO       8859
              が提案する(合成でない)     96    文字に収まらなかった。    Linux
              ではベトナム語を扱う場合は UTF-8 が好ましい文字セットである。

       8859-13 (Latin-7)
              バルト海諸国の言語をサポートする。                 特に、Latin-4
              に存在しないラトビア語の文字を含む。

       8859-14 (Latin-8)
              これはケルト語の文字セットであり、ゲール語(Gaelic)とウェールズ語(Welsh)に
              対応する。
              この文字セットは古代アイルランド語で用いられる付点付-
              文字も含む。

       8859-15 (Latin-9)
              これはユーロ宜罎                                        Latin-1
              に入っていないフランス語とフィンランド語の文字が
              追加されている。

       8859-16 (Latin-10)
              この文字セットは      8859-2      で対応する多くの言語に対応し、
              さらにルーマニア語にはより完全に対応する。

KOI8-R

       KOI8-R    はロシアにおいて良く用いられる、ISO    でない文字集合である。
       下位半分は  US  ASCII  である。上位半分は   ISO   8859-5   より幾分良く
       デザインされたゥ螢詈源集合である。        KOI8-U       は       KOI8-R
       を元にした共通文字セットであり、                ウクライナ語(Ukrainian)
       によりよく対応する。    これらのどちらも    ISO-8859   シリーズのように
       ISO-2022 互換ではない。

       Linux          での           KOI8-R           のコンソールサポートは、
       ユーザモードのユーティリティで実現されている。                 これは-
       ーボードの割り当てと         EGA         グラフィックテーブルを変更し、
       コンソールドライバのフォントテーブルに "ユーザ割り当て" を行う。

JIS X 0208

       JIS         X         0208         は日本語の国定標準文字セットである。
       他にもいくつか日本語の国定標準文字セットはある (JIS X 0201, JIS X 0212,
       JIS   X   0213   など)が、これが最も重要である。   文字は  94x94  の  2
       バイトマトリックスに配置される。 各バイトは 0x21-0x7e の値を持つ。  JIS
       X 0208 は文字セットであり、エンコーディングではないことに注意すること。
       これは、           JIS           X           0208            自身はテ-
       ストデータの表現には使われない、ということである。 JIS X 0208 は、 EUC-
       JP,       Shift_JIS,       ISO-2022-JP       といったエンコーディングを
       構成する部品として用いられる。          EUC-JP         が         Linux
       において最も重要なエンコーディングであり、  US  ASCII  と  JIS  X  0208
       を含んでいる。  EUC-JP  では、JIS  X  0208  文字は 2 バイトで表現され、
       各バイトは JIS X 0208 コードに 0x80 を加えたものである。

KS X 1001

       KS   X   1001    は韓国の国定標準文字セットである。    JIS    X    0208
       と同様に、文字は  94x94 の 2 バイトマトリックスに配置される。 KS X 1001
       は   JIS    X    0208    と同様に、    EUC-KR,    Johab,    ISO-2022-KR
       といったエンコーディングの部品として用いられる。    EUC-KR   は   Linux
       において最も重要なエンコーディングであり、  US  ASCII  と  KS  X   1001
       を含んでいる。 KS C 5601 は KS X 1001 の古い名前である。

GB 2312

       GB   2312  は、簡体文字を表現するための中国の国定標準文字セットである。
       JIS X 0208 と同様に、文字は 94x94 の  2  バイトマトリックスに配置され、
       EUC-CN          に用いられる。          EUC-CN         は         Linux
       において最も重要なエンコーディングであり、  US   ASCII   と   GB   2312
       を含んでいる。 EUC-CN はしばしば GB, GB 2312, CN-GN などと呼ばれる。

Big5

       Big5    は台湾で繁体文字を欺劼垢襪里飽貳姪に使われる文字セットである。
       (Big5  は文字セットとエンコーディングの両方である。)  これは  US  ASCII
       の上位集合である。  非  ASCII  文字は  2  バイトで表現する。  0xa1-0xfe
       のバイトは    2    バイト文字の     1     文字目として用いる。     Big5
       とその拡張は台湾と香港で垢用いられている。     これは     ISO     2022
       準拠ではない。

TIS 620

       TIS 620 はタイの国定標準文字セットで、US ASCII  の上位集合である。  ISO
       8859  シリーズと同様に、タイ文字は  0xa1-0xfe に配置される。 TIS 620 は
       Linux    でのみ一般的に用いられている文字セットであり、     また、UTF-8
       は合成文字も持っている。

UNICODE

       Unicode      (ISO10646)      は、人間が用いる全ての言語の全ての文字を、
       明確にあらわすことを目的とした規格である。                      Unicode
       の構造は各文字のエンコードに          20.1         ビットを与えている。
       ほとんどのコンピューターは  20.1  ビットの整数を扱えないので、  Unicode
       は普通内部データとして      32      ビット整数にエンコードされ、     16
       ビット整数の列 (UTF-16)(ある種の珍しい文字をエンコードする場合にだけ  2
       つの      16     ビット整数が必要となる)か、     8     ビットバイトの列
       (UTF-8)として扱われる。                                         Unicode
       についての情報は、<http://www.unicode.org> から得られる。

       Linux  は  8-bit Unicode Transformation Form(UTF-8) を用いて Unicode を
       あらわす。 UTF-8 は Unicode  の可変長表現である。UTF-8  は  7  ビットを
       符号化するのに  1 バイトを、 11 ビットでは 2 バイトを、 16 ビットでは 3
       バイトを、 21 ビットでは 4 バイトを、 26  ビットでは  5  バイトを、  31
       ビットでは 6 バイトを用いる。

       0,1,x  をゼロ、1、任意のビットとすると、あるバイト 0xxxxxxx は Unicode
       では 00000000 0xxxxxxx とあらわされる。これは、ASCII の 0xxxxxxx と同じ
       シンボルのコードである。このように、ASCII は変更なしに UTF-8 に変換で-
       、  ASCII  のみを使う場合は、コードにおいてもファイルサイズにおいても、
       変更に関して何も気にしなくてよい。

       110xxxxx  というバイトは 2 バイトコードの始まりである、そして、110xxxxx
       10yyyyyy  は   00000xxx   xxyyyyyy   というように組み立てられる。また、
       1110xxxx は 3 バイトコードの始まりであり、1110xxxx 10yyyyyy 10zzzzzz は
       xxxxyyyy yyzzzzzz というように組み立てられる(UTF-8  が  31  ビット  ISO
       10646                コードを利用するとい蓮△海旅程は                6
       バイトコードまで発展させられる)。

       ISO-8859-1 文字セットを使うほとんどのユーザにとって、 この事実は、ASCII
       の範囲外を使った文字は
       二つのバイトに符号化されるということを意味する。このことから     (UTF-8
       を使うと、ISO-8859-1を使用している)元々のテゥ好肇侫.ぅ襪離汽ぅ困ら  1
       〜              2               パーセント大いなってしまうことになる。
       ロシア語やギリシャ語を利用するユーザーにとっては、 これによって元のテ-
       ストは 2  倍の大い気砲覆襪海箸砲覆襦  なぜならこれらの言語はほとんどが
       ASCII      の範囲外だからである。      現在      16-bit      コードを-
       く利用している日本語を利用するユーザには 3  バイト必要となる。  Unicode
       への変換にアルゴリズム的変換をすればよい文字セットがある          (特に
       ISO-8859-1)一方、一般的には変換テーブルが必要であり、                16
       ビットコードの場合はこのテーブルはかなり大い覆發里箸覆襦

       UTF-8 は自己同期的である。10xxxxxx は終端であり、ほかのバイトはコードの
       先頭である。UTF-8 の文字列における ASCII のバイトは、常にその文字自身を
       表現することに注目してほしい。特に、幾つかの大い淵魁璽匹離僉璽箸魴狙
       するために、NUL や '/' を埋め込む必要はない。

       ASCII   と   NUL   と    '/'    は変更されないため、カーネルは    UTF-8
       を使用していることを
       特に意識しなくても良い。カーネルはバイトが何をあらわしているかに
       注意する必要がない。

       Unicode   データ列のレンダリングは典型的には  Unicode  のサブセットから
       グリフへのマップである`サブフォント(subfont)'テーブルを利用して
       行われる。カーネル内部では、Unicode  を  ビデオ  RAM 内部にロードされた
       サブフォントとして欺劼垢襦これは、UTF-8         モードでは         512
       の異なったシンボルを     持った文字集合を利用可能であることを意味する。
       これは、日本語、中国語、韓国語では十分ではない、しかし、その他の利用では
       十分である。

       現在のところ、コンソールドライバは合成文字を扱えない。
       従って、タイ語、スー語やその他の合成文字が必要な文章は
       コンソールでは扱えない。

ISO 2022 ISO 4873
       ISO       2022       と       ISO       4873      標準では、      VT100
       の動作に基づいたフォントコントロールモデルを述べられている。
       このモデルは            Linux            カーネルや            xterm(1)
       において(部分的に)サポートされている。この標準は日本や韓国においてよく
       用いられる。

       G0,     G1,    G2,    G3    と呼ばれる    4    つの図形文字集合がある。
       これらのうちのひとつは、最上位ビットが                                0
       であるコードのための現在の文字集合                            (初期値は
       G0)、またひとつは最上位ビットが      1       であるコードのための現在の
       文字集合(初期値は  G1)である。それぞれの図形文字集合は  94  か  96 の文
       字を持ち、基本的に   7-bitの文字集合であり、040-0177   (041-0176)    か
       0240-0377  (0241-0376)のコードを使う。  G0  は常に  94  文字で 041-0176
       のコードを使用する。

       文字集合の切り替えはシフトファンクション  ^N (SO または  LS1),  ^O  (SI
       または  LS0), ESC n (LS2), ESC o (LS3), ESC N (SS2), ESC O (SS3), ESC ~
       (LS1R), ESC } (LS2R), ESC |  (LS3R)  を使って行われる。  ファンクション
       LSn  は最上位ビットが  0 であるコードのための文字集合を Gn に設定する。
       ファンクション LSnR は最上位ビットが 1 であるコードのための文字セットを
       Gn              に設定する。             ファンクション             SSn
       は(最上位ビットの値にかかわらず)次の文字のみ 文字集合を Gn (n=2  または
       3)に設定する。

       94  文字集合では、エスケープシーケンス  ESC  ( xx (G0 用), ESC ) xx (G1
       用),  ESC * xx  (G2  用),  ESC  +  xx  (G3  用)  によって、Gn  文字集合
       を用いるように指示される。  xx  は  "ISO 2375 International Register of
       Coded  Character  Sets"  で  決められている一文字、または二文字である。
       たとえば  ESC  (  @  は  ISO  646  文字集合を  G0  として選び、ESC  ( A
       は(ナンバーサイン(#)の代わりに、ポンド(£)を持つ)                   UK
       スタンダード文字集合を       選択する。ESC      (      B      は(通貨-
       号のかわりにダラー($)を持つ)   ASCIIを選択する。   ESC    (    M    は
       アフリカ言語(African   languages)   を選択し、ESC   (   !   A   は   -
       ューバ語(Cuban)文字集合を選択する。などなど…

       96-文字集合では、エスケープシーケンス ESC - xx (G1 用), ESC  .  xx  (G2
       用),       ECS      /      xx      (G3      用)を用いることで、      Gn
       文字集合を使用するように指示される。       例えば、ESC       -        G
       はヘブライアルファベット(Hebrew alphabet) を G1 として選択する。

       マルチバイト文字集合ではエスケープシーケンス  E  $ xx または ESC $ ( xx
       (G0 用), ESC $ ) xx (G1 用), ESC $ * xx (G2 用), ESC$ + xx (G3  用)  を
       用いることで、  Gn 文字集合を使用するように指示される。 例えば、ESC $ (
       C   は   韓国語(Korean)文字集合を   G0   として選択する。   ESC   $   B
       によって選択される日本語文字セットは、より最近のバージョンでは  ESC & @
       ESC $ B によって選択されるようになった。

       ISO  4873  はより制限された文字集合の利用を規定する、その規定で  は、G0
       は(常に   ASCIIに)固定される。従って、G1,   G2,   G3   は最上位ビットが
       セットされたコードとしてのみ呼び出すことがでい襦   特に、^N   と    ^O
       は用いられず、ESC  (  xx  は xx=B としてのみ用いることがでぁ ESC ) xx,
       ESC * xx, ESC + xx はそれぞれ  ESC  -  xx,  ESC  .  xx,  ESC  /  xx  と
       等価になる。

目
       console(4),      console_codes(4),      console_ioctl(4),     ascii(7),
       iso_8859-1(7), unicode(7), utf-8(7)