UTF\-8 を使う場合、Unicode は ASCII と互換性があるので、 通常の ASCII テキストは新しい UTF\-8
を使ったシステムでもそのまま正しく表示することができる。
.SS "ISO 8859"
-ISO 8859 is a series of 15 8\-bit character sets, all of which have ASCII in
-their low (7\-bit) half, invisible control characters in positions 128 to
-159, and 96 fixed\-width graphics in positions 160\(en255.
+ISO 8859 は 15 組の一連の 8 ビット文字集合である。どの文字集合も
+下位 (7 ビット) に ASCII を含み、 128 から 159 には制御文字が配置され、
+160 から 255 には 96 個の固定幅図形文字が配置されている。
.PP
これらのうち、最も重要なのは ISO 8859\-1 ("Latin Alphabet No .1" / Latin\-1) である。 ISO 8859\-1
は広く採用され、様々なシステムでサポートされていたが、 徐々に Unicode で置き換えれている。 ISO 8859\-1 文字集合は Unicode
8859\-16 (Latin\-10)
この文字セットは多くの東南ヨーロッパの言語に対応しており、もっとも重要なのはルーマニア語にはより完全に対応している点である。
.SS "KOI8\-R / KOI8\-U"
-KOI8\-R is a non\-ISO character set popular in Russia before Unicode. The
-lower half is ASCII; the upper is a Cyrillic character set somewhat better
-designed than ISO 8859\-5. KOI8\-U, based on KOI8\-R, has better support for
-Ukrainian. Neither of these sets are ISO\-2022 compatible, unlike the ISO
-8859 series.
+KOI8\-R は、 Unicode の前に、ロシアにおいてよく用いられた ISO でない文字集合である。 下位半分は ASCII である。上位半分は
+ISO 8859\-5 よりいくらかよく設計されたキリル文字集合である。 KOI8\-U は KOI8\-R を元にしており、 ウクライナ語
+(Ukrainian) への対応がより良いものになっている。 これらの文字集合はどちらも、 ISO 8859 系列とは違い、 ISO\-2022
+との互換性はない。
.PP
Linux での KOI8\-R のコンソールサポートは、
ユーザーモードのユーティリティで実現されている。
.SS Big5
.\" Thanks to Tomohiro KUBOTA for the following sections about
.\" national standards.
-Big5 was a popular character set in Taiwan to express traditional Chinese.
-(Big5 is both a character set and an encoding.) It is a superset of ASCII.
-Non\-ASCII characters are expressed in two bytes. Bytes 0xa1\(en0xfe are
-used as leading bytes for two\-byte characters. Big5 and its extension were
-widely used in Taiwan and Hong Kong. It is not ISO 2022 compliant.
+Big5 は台湾で繁体文字を記述するのに一般的に使われる文字セットであった。 (Big5 は文字セットとエンコーディングの両方である。) これは US
+ASCII の上位集合である。 非 ASCII 文字は 2 バイトで表現する。 0xa1\(en0xfe のバイトは 2 バイト文字の 1
+文字目として用いる。 Big5 とその拡張は台湾と香港で広く用いられていた。 これは ISO 2022 準拠ではない。
.SS "JIS X 0208"
-JIS X 0208 is a Japanese national standard character set. Though there are
-some more Japanese national standard character sets (like JIS X 0201, JIS X
-0212, and JIS X 0213), this is the most important one. Characters are
-mapped into a 94x94 two\-byte matrix, whose each byte is in the range
-0x21\(en0x7e. Note that JIS X 0208 is a character set, not an encoding.
-This means that JIS X 0208 itself is not used for expressing text data. JIS
-X 0208 is used as a component to construct encodings such as EUC\-JP,
-Shift_JIS, and ISO\-2022\-JP. EUC\-JP is the most important encoding for Linux
-and includes ASCII and JIS X 0208. In EUC\-JP, JIS X 0208 characters are
-expressed in two bytes, each of which is the JIS X 0208 code plus 0x80.
+JIS X 0208 は日本語の国定標準文字セットである。 他にもいくつか日本語の国定標準文字セットはある (JIS X 0201, JIS X
+0212, JIS X 0213 など) が、これが最も重要である。 文字は 94x94 の 2 バイトマトリックスに配置される。 各バイトは
+0x21\(en0x7e の値を持つ。 JIS X 0208 は文字セットであり、エンコーディングではないことに注意すること。 これは、 JIS X
+0208 自身はテキストデータの表現には使われない、ということである。 JIS X 0208 は、 EUC\-JP, Shift_JIS,
+ISO\-2022\-JP といったエンコーディングを構成する部品として用いられる。 EUC\-JP が Linux
+において最も重要なエンコーディングであり、 ASCII と JIS X 0208 を含んでいる。 EUC\-JP では、JIS X 0208 文字は 2
+バイトで表現され、 各バイトは JIS X 0208 コードに 0x80 を加えたものである。
.SS "KS X 1001"
KS X 1001 は韓国の国定標準文字セットである。 JIS X 0208 と同様に、文字は 94x94 の 2 バイトマトリックスに配置される。
KS X 1001 は JIS X 0208 と同様に、 EUC\-KR, Johab, ISO\-2022\-KR
カーネルや \fBxterm\fP(1) において (部分的に) サポートされている。 日本語向けなど、ISO\-2022
をベースにした文字符号化がいくつか定義されてきた。
.PP
-There are 4 graphic character sets, called G0, G1, G2, and G3, and one of
-them is the current character set for codes with high bit zero (initially
-G0), and one of them is the current character set for codes with high bit
-one (initially G1). Each graphic character set has 94 or 96 characters, and
-is essentially a 7\-bit character set. It uses codes either 040\(en0177
-(041\(en0176) or 0240\(en0377 (0241\(en0376). G0 always has size 94 and
-uses codes 041\(en0176.
+G0, G1, G2, G3 と呼ばれる 4 つの図形文字集合がある。
+これらのうちのひとつは、最上位ビットが 0 であるコードのための現在の文字集合
+(初期値は G0)、またひとつは最上位ビットが 1 であるコードのための現在の
+文字集合(初期値は G1)である。それぞれの図形文字集合は 94 か 96 の文
+字を持ち、基本的に 7\-bitの文字集合であり、040\(en0177 (041\(en0176) か
+0240\(en0377 (0241\(en0376)のコードを使う。
+G0 は常に 94 文字で 041\(en0176 のコードを使用する。
.PP
-Switching between character sets is done using the shift functions \fB\(haN\fP
-(SO or LS1), \fB\(haO\fP (SI or LS0), ESC n (LS2), ESC o (LS3), ESC N (SS2),
-ESC O (SS3), ESC \(ti (LS1R), ESC } (LS2R), ESC | (LS3R). The function
-LS\fIn\fP makes character set G\fIn\fP the current one for codes with high bit
-zero. The function LS\fIn\fPR makes character set G\fIn\fP the current one for
-codes with high bit one. The function SS\fIn\fP makes character set G\fIn\fP
-(\fIn\fP=2 or 3) the current one for the next character only (regardless of
-the value of its high order bit).
+文字集合の切り替えはシフトファンクション \fB\(haN\fP (SO または LS1),
+\fB\(haO\fP (SI または LS0), ESC n (LS2), ESC o (LS3), ESC N (SS2), ESC O (SS3),
+ESC \(ti (LS1R), ESC } (LS2R), ESC | (LS3R) を使って行われる。
+ファンクション LS\fIn\fP は最上位ビットが 0 であるコードのための文字集合を
+G\fIn\fP に設定する。
+ファンクション LS\fIn\fPR は最上位ビットが 1 であるコードのための文字セットを
+G\fIn\fP に設定する。
+ファンクション SS\fIn\fP は(最上位ビットの値にかかわらず)次の文字のみ
+文字集合を G\fIn\fP (\fIn\fP=2 または 3)に設定する。
.PP
94 文字集合では、エスケープシーケンス ESC ( xx (G0 用), ESC ) xx (G1
用), ESC * xx (G2 用), ESC + xx (G3 用) によって、G\fIn\fP 文字集合
ESC $ B によって選択される日本語文字セットは、より最近のバージョンでは
ESC & @ ESC $ B によって選択されるようになった。
.PP
-ISO 4873 stipulates a narrower use of character sets, where G0 is fixed
-(always ASCII), so that G1, G2 and G3 can be invoked only for codes with the
-high order bit set. In particular, \fB\(haN\fP and \fB\(haO\fP are not used
-anymore, ESC ( xx can be used only with xx=B, and ESC ) xx, ESC * xx, ESC +
-xx are equivalent to ESC \- xx, ESC . xx, ESC / xx, respectively.
+ISO 4873 はより制限された文字集合の利用を規定する、その規定では、G0 は(常に ASCIIに)固定される。従って、G1, G2, G3
+は最上位ビットがセットされたコードとしてのみ呼び出すことができる。特に、\fB\(haN\fP と \fB\(haO\fP は用いられず、ESC ( xx は
+xx=B としてのみ用いることができ、 ESC ) xx, ESC * xx, ESC + xx はそれぞれ ESC \- xx, ESC . xx,
+ESC / xx と等価になる。
.SS TIS\-620
-TIS\-620 is a Thai national standard character set and a superset of ASCII.
-In the same fashion as the ISO 8859 series, Thai characters are mapped into
-0xa1\(en0xfe.
+TIS 620 はタイの国定標準文字セットで、 ASCII の上位集合である。 ISO 8859 系列と同様に、タイ文字は 0xa1\(en0xfe
+に配置される。
.SS Unicode
Unicode (ISO10646) は、人間が用いる全ての言語の全ての文字を、 明確にあらわすことを目的とした規格である。 Unicode
の構造は各文字のエンコードに 20.1 ビットを与えている。 ほとんどのコンピューターは 20.1 ビットの整数を扱えないので、 Unicode
は xxxxyyyy yyzzzzzz というように組み立てられる(UTF\-8 が 31 ビット
ISO 10646 コードを利用するときは、この工程は 6 バイトコードまで発展させられる)。
.PP
-For most texts in ISO 8859 character sets, this means that the characters
-outside of ASCII are now coded with two bytes. This tends to expand
-ordinary text files by only one or two percent. For Russian or Greek texts,
-this expands ordinary text files by 100%, since text in those languages is
-mostly outside of ASCII. For Japanese users this means that the 16\-bit
-codes now in common use will take three bytes. While there are algorithmic
-conversions from some character sets (especially ISO 8859\-1) to Unicode,
-general conversion requires carrying around conversion tables, which can be
-quite large for 16\-bit codes.
+ISO 8859 文字集合を使ったほとんどのテキストでは、このことは、ASCII の範囲外を使った文字は二つのバイトに符号化されるということを意味する。
+(UTF\-8 を使うと、ISO\-8859 を使用している) 元々のテキストファイルのサイズから 1 〜 2
+パーセント大きくなってしまうことになる。ロシア語やギリシャ語のテキストでは、これによって元のテキストは 2 倍の大きさになることになる。なぜなら、
+これらの言語の文字のほとんどが ASCII の範囲外だからである。日本語のユーザーの場合には、現在広く利用されている 16 ビットコードに 3
+バイト必要ということだ。いくつかの文字集合 (特に ISO 8859\-1) から Unicode
+への変換はアルゴリズムで行うことができるが、汎用的な変換には変換テーブルが必要であり、 16 ビットコードの場合はこのテーブルはかなり大きなものとなる。
.PP
UTF\-8 は自己同期的である。10xxxxxx は終端であり、ほかのバイトはコードの
先頭である。UTF\-8 の文字列における ASCII のバイトは、常にその文字自身を
.\"
.TH UNICODE 7 2020\-08\-13 GNU "Linux Programmer's Manual"
.SH 名前
-unicode \- universal character set
+unicode \- 汎用文字集合
.SH 説明
国際規格 ISO 10646 は汎用文字集合 (Universal Character Set (UCS))
を定義している。
ISO 10646\-1 は以下の三段階の UCS の \fI実装レベル\fP を指定している。
.TP 0.9i
Level 1
-Combining characters and Hangul Jamo (a variant encoding of the Korean
-script, where a Hangul syllable glyph is coded as a triplet or pair of
-vowel/consonant codes) are not supported.
+合成文字とハングル・ジャモ文字 (いろいろな韓国・朝鮮文字の符号化。
+この符号化では、ハングル音節のグリフが
+3 つまたは 2 つの母音・子音コードの組み合わせで符号化される) はサポートしない。
.TP
Level 2
Level 1 と同様だが、合成文字を必須とする言語のための文字
.PP
.SS "Private Use Areas (PUA)"
.\" commit 9d85025b0418163fae079c9ba8f8445212de8568
-In the Basic Multilingual Plane, the range 0xe000 to 0xf8ff will never be
-assigned to any characters by the standard and is reserved for private
-usage. For the Linux community, this private area has been subdivided
-further into the range 0xe000 to 0xefff which can be used individually by
-any end\-user and the Linux zone in the range 0xf000 to 0xf8ff where
-extensions are coordinated among all Linux users. The registry of the
-characters assigned to the Linux zone is maintained by LANANA and the
-registry itself is \fIDocumentation/admin\-guide/unicode.rst\fP in the Linux
-kernel sources (or \fIDocumentation/unicode.txt\fP before Linux 4.10).
+基本多言語面 (Basic Multilingual Plane (BMP)) では、 0xe000 〜 0xf8ff
+の範囲は、規格ではいかなる文字も割り当てず、私的な使用のために予約されている。 Linux
+コミュニティでは、このプライベートエリアをさらに細かく分割して使用する。 0xe000 〜 0xefff
+の範囲はエンドユーザーが個々に使用することができる。 0xf000 〜 0xf8ff の範囲は Linux Zone で全ての Linux
+ユーザーで共通に使用する。 Linux Zone への文字割り当ての登録は LANANA (The Linux Assigned Names And
+Numbers Authority) により管理されており、登録自体は Linux カーネルソースの
+\fIDocumentation/admin\-guide/unicode.rst\fP (Linux 4.10 より前は
+\fIDocumentation/unicode.txt\fP) で行われている。
.PP
Two other planes are reserved for private usage, plane 15 (Supplementary
Private Use Area\-A, range 0xf0000 to 0xffffd) and plane 16 (Supplementary