[perldocjp-cvs 267] CVS update: docs/perl/5.10.0

Back to archive index

argra****@users***** argra****@users*****
2008年 6月 5日 (木) 16:33:43 JST


Index: docs/perl/5.10.0/perluniintro.pod
diff -u docs/perl/5.10.0/perluniintro.pod:1.1 docs/perl/5.10.0/perluniintro.pod:1.2
--- docs/perl/5.10.0/perluniintro.pod:1.1	Fri May 30 04:08:20 2008
+++ docs/perl/5.10.0/perluniintro.pod	Thu Jun  5 16:33:43 2008
@@ -49,14 +49,15 @@
 
 =end original
 
-Unicode と、ISO/IEC 10646 は、よく調整された、コードポイントを提供する標準です。
+Unicode と、ISO/IEC 10646 は、よく調整された、コードポイントを提供する
+標準です。
 Unicode は、ほとんど全ての現代の文字セット標準、30 以上の書記体系と、
 100 以上の言語を網羅します。
 全ての商業的に重要な現代の言語を含みます。
 もっとも大きい中国語、日本語、韓国語、それぞれの辞書の全ての文字もまた、
 符号化されています。
-この標準は、最終的には、250 の書記体系と、
-1000 以上の言語のほとんどすべての文字を網羅する予定です。
+この標準は、最終的には、250 の書記体系と、1000 以上の言語のほとんどすべての
+文字を網羅する予定です。
 Unicode 1.0 は、1991 年 10 月にリリースされ、Unicode 4.0 は、
 2003 年 4 月にリリースされました。
 
@@ -72,8 +73,8 @@
 =end original
 
 Unicode の I<文字> は、抽象的な存在です。
-Unicode の文字は、
-どんな特定の整数幅にも、特に、C 言語の C<char> にも束縛されません。
+Unicode の文字は、どんな特定の整数幅にも、特に、C 言語の C<char> にも
+束縛されません。
 Unicode は、言語中立で、表示中立です:
 Unicode は、テキストの言語をエンコードしませんし、
 フォントや他のグラフィカルなレイアウトの詳細を定義しません。
@@ -88,9 +89,8 @@
 
 =end original
 
-Unicode は、C<LATIN CAPITAL LETTER A> や
-C<GREEK SMALL LETTER ALPHA> のような文字と、
-その文字について固有の番号を定義します。
+Unicode は、C<LATIN CAPITAL LETTER A> や C<GREEK SMALL LETTER ALPHA> のような
+文字と、その文字について固有の番号を定義します。
 この場合は、それぞれ、0x0041 と、0x03B1 になります。
 このような固有の番号は、I<コードポイント> と呼ばれます。
 
@@ -105,8 +105,8 @@
 =end original
 
 Unicode 標準は、コードポイントに 16 進記法を使うのを好みます。
-C<0x0041> のような番号に馴染みがなければ、
-後のセクション、L</"Hexadecimal Notation"> を覗いて見て下さい。
+C<0x0041> のような番号に馴染みがなければ、後のセクション、
+L</"Hexadecimal Notation"> を覗いて見て下さい。
 Unicode 標準は、C<U+0041 LATIN CAPITAL LETTER A> という表記を使って、
 16 進法のコードポイントと標準的な文字の名前を書きます。
 
@@ -123,8 +123,8 @@
 Unicode はまた、様々な文字の I<性質> を定義します。
 "大文字"、"小文字"、"10進数字"、"句読点" など;
 これらの性質は、文字の名前と独立です。
-更に、様々な文字に対する操作、
-大文字化や小文字化や並び替えが定義されています。
+更に、様々な文字に対する操作、大文字化や小文字化や並び替えが
+定義されています。
 
 =begin original
 
@@ -140,8 +140,8 @@
 (C<LATIN CAPITAL LETTER A> のような)、I<基本文字> に続いて、
 1つ以上の(C<COMBINING ACUTE ACCENT> のような) I<修飾語句> の、
 どちらか一方から成っています。
-この基本文字と修飾語句の順番は、
-I<combining character sequence> と呼ばれます。
+この基本文字と修飾語句の順番は、I<combining character sequence> と
+呼ばれます。
 
 =begin original
 
@@ -154,13 +154,13 @@
 
 =end original
 
-これらの combining character sequence を "複数の文字"と呼ぶかどうかは、
+これらの combining character sequence を "複数の文字" と呼ぶかどうかは、
 考え方によります。
 プログラマならば、おそらく、この順番のそれぞれの要素を、
-1 つの単位か"文字"として、見ようとするでしょう。
+1 つの単位か "文字" として、見ようとするでしょう。
 全ての順番を一つの"文字"として見ることができます。
-ですが、
-ユーザの考え方からは、おそらくユーザの言語の文脈でみえるようなものでしょう。
+ですが、ユーザの考え方からは、おそらくユーザの言語の文脈でみえるような
+ものでしょう。
 
 =begin original
 
@@ -173,13 +173,12 @@
 
 =end original
 
-この、文字の"すべての順番"の見え方では、文字の総数には、
-制限がありません。
-ですが、プログラマーの"一つの単位は一つの文字"という考え方では、
-"文字"の概念は、より決定論的です。
+この、文字の"すべての順番"の見え方では、文字の総数には、制限がありません。
+ですが、プログラマーの"一つの単位は一つの文字"という考え方では、"文字" の
+概念は、より決定論的です。
 このドキュメントでは、2 番目の考え方を取ります:
-1 つの"文字"は、1 つの Unicode のコードポイントであり、
-それは、基本文字か、 combining character であるとします。
+1 つの"文字"は、1 つの Unicode のコードポイントであり、それは、基本文字か、
+combining character であるとします。
 
 =begin original
 
@@ -195,17 +194,16 @@
 
 =end original
 
-いくつかの組合せにとって、I<まだ構成されていない>文字があります。
-たとえば、C<LATIN CAPITAL LETTER A WITH ACUTE>は、
+いくつかの組合せにとって、I<まだ構成されていない> 文字があります。
+たとえば、C<LATIN CAPITAL LETTER A WITH ACUTE> は、
 単一のコードポイントとして定義されています。
-しかし、これらの、まだ構成されていない文字は、
-いくつかの組合せで可能でしかありません。
-そして、それらは、
-主に、Unicode と、レガシー標準(ISO 8859 のような)との間の相互変換を
-サポートすることを意味します。
+しかし、これらの、まだ構成されていない文字は、いくつかの組合せで
+可能でしかありません。
+そして、それらは、主に、Unicode と、レガシー標準(ISO 8859 のような)との
+間の相互変換をサポートすることを意味します。
 一般的なケースでは、構成する方法はより広がります。
-違った構成間の変換をサポートするために、
-表現を標準化する、様々な I<normalization forms> もまた定義されています。
+違った構成間の変換をサポートするために、表現を標準化する、様々な
+I<normalization forms> もまた定義されています。
 
 =begin original
 
@@ -221,8 +219,8 @@
 =end original
 
 レガシーエンコーディングとの後方互換性のために、
-"全ての文字に固有の番号"とうい考えは、少々壊れています:
-その代わりに、"少なくとも全ての文字に 1 つの番号"があります。
+"全ての文字に固有の番号" という考えは、少々壊れています:
+その代わりに、"少なくとも全ての文字に 1 つの番号" があります。
 同じ文字が、いくつかのレガシーエンコーディングの中で、違うように
 表現されていました。
 逆は真でもなく: コードポイントには、文字が割り当てられていないものも
@@ -248,15 +246,15 @@
 
 Unicode について、よく知られている神話は、Unicode が、"16-ビット" である、
 というものです。
-Unicode は、C<0x0000> から、C<0xFFFF> までで、
-C<0x10000> (か、65536)の文字を表現するだけ、というものです。
+Unicode は、C<0x0000> から、C<0xFFFF> までで、C<0x10000> (か、65536)の
+文字を表現するだけ、というものです。
 B<これは真実ではありません>。
 Unicode 2.0(1996 年 7 月)から、Unicode は、21ビット(C<0x10FFFF>)まで、
 様々に定義されています。
 Unicode 3.1(2001 年 3 月)から、文字は、C<0xFFFF> を超えて、定義されました。
 最初の C<0x10000> 文字は、
 I<Plane 0>、または、I<Basime Multilingual Plane>(BMP)と、と呼ばれました。
-Unicode 3.1 で、全部で 17(そう、17)のPlaneが定義されました -- ですが、
+Unicode 3.1 で、全部で 17(そう、17)の Plane が定義されました -- ですが、
 まだ、定義された全文字のどこにも、まだ近くにありません。
 
 =begin original
@@ -277,8 +275,8 @@
 それぞれのブロックは言語か言語のセットで使われている文字を
 定義するということです。
 B<これもまた真実ではありません>。
-ブロックに分割されたものはありますが、
-それは、ほとんど完全に、予想外のものです。
+ブロックに分割されたものはありますが、それは、ほとんど完全に、
+予想外のものです。
 代わりに、I<scripts> と呼ばれる、より有益なコンセプトがあります:
 C<Latin> script と、C<Greek> script と、その他のものがあります。
 scripts は、ふつう、いくつかのブロックの変えられた部分を測っています。
@@ -299,16 +297,15 @@
 =end original
 
 Unicode のコードポイントは、抽象的な数字です。
-この抽象的な数字を入出力するために、数字は、I<エンコードされる> 必要があるか、
-I<シリアライズされる> か、どうか、しなければなりません。
+この抽象的な数字を入出力するために、数字は、I<エンコードされる> 必要が
+あるか、I<シリアライズされる> か、どうか、しなければなりません。
 Unicode は、複数の I<character encoding forms> を定義していますが、
 その中で、I<UTF-8> は、たぶん、もっとも有名です。
 UTF-8 は、可変長のエンコーディングで、Unicode 文字を 1 から 6 バイト
-(only 4 with the currently defined characters)。
+(現在定義されている文字では 4 バイトまでです)。
 他のエンコーディングは、UTF-16 と UTF-32 と、それらの大小のエンディアンの
 変形(UTF-8 は、バイトオーダーと独立です)を含みます。
 ISO/IEC 10646 は、UCS-2 と UCS-4 の encoding forms を定義しています。
-(TBT)
 
 =begin original
 
@@ -366,7 +363,7 @@
 識別子の名前、文字の中と、正規表現のリテラルに、UTF-8 を使うことができます。
 これは、デフォルトではありません。
 なぜなら、レガシーの 8-bit データのスクリプトが壊れるからです。
-L<utf8>を見て下さい。
+L<utf8> を参照してください。
 
 =head2 Perl's Unicode Model
 
@@ -419,8 +416,8 @@
 =end original
 
 Perlのユーザは普通は、Perl がその内部文字列をたまたま、どのように
-エンコードするかを、知る必要も、気にする必要もありません。
-ですが、Unicode 文字列を PerlIO 層なしにストリームに出力しようとすると、
+エンコードするかを、知る必要も、気にする必要もありませんが、Unicode 文字列を
+PerlIO 層なしにストリームに出力しようとすると、
 関係するようになります -- one with the "default" encoding。
 このようなケースでは、内部的に使われている生のバイト列(それぞれの
 文字列の必要に応じて、ネイティブの文字セットか、UTF-8)が使われます。
@@ -482,7 +479,7 @@
 
 C<-C> コマンドラインスイッチか、C<PERL_UNICODE> 環境変数のどちらか一方を
 使うことで、標準ファイルハンドルと、デフォルトの C<open()> 層と、
-C<@ARGV> の UTF-8 化を自動的に有効に出来ます。
+C<@ARGV> の UTF-8 化を自動的に有効に出来ます;
 L<perlrun> の C<-C> スイッチのドキュメントを見て下さい。
 
 =begin original
@@ -513,7 +510,7 @@
 必要とします。
 ほとんど全ての Perl5.8 プラットフォームは、PerlIO を使います。
 ですが:
-"perl -V" を動かして、C<useperlio=define> を見れば、 PerlIO を
+"perl -V" を動かして、C<useperlio=define> を見れば、PerlIO を
 使っているかどうか、わかります。
 
 =head2 Unicode and EBCDIC
@@ -532,8 +529,8 @@
 Perl 5.8.0 は、EBCDIC プラットフォームでもまた、Unicode をサポートします。
 There,
 Unicode support is somewhat more complex to implement since
-additional conversions are needed at every step.  Some problems
-remain, see L<perlebcdic> for details.
+additional conversions are needed at every step.
+いくつかの問題が残っています; 詳しくは L<perlebcdic> を参照してください。
 (TBT)
 
 =begin original
@@ -622,11 +619,11 @@
 
 =end original
 
-C<0x100>(10 進の 256)未満の引数の、C<\x..> (C<{}> ではなく、
+C<0x100>(10 進の 256)未満の引数の、C<\x..> (C<{}> なしで、
 2 つの 16 進数の数字のみです)と、C<\x{...}> と、C<chr(...)> は、古い
 Perl との互換性のために、8 ビットの文字列を生成します。
-C<x100> かそれ以上の引数では、Unicode 文字が、常に生成されます。
-何が何でも、数字の値の Unicode 文字を、強制的にに生成したければ、
+C<x100> かそれ以上の引数では、常に Unicode 文字が生成されます。
+何が何でも、数字の値の Unicode 文字を、強制的に生成したければ、
 C<\x..>、C<\x{...}>、C<chr()> の代わりに、C<pack("U", ...)> を使って下さい。
 
 =begin original
@@ -637,7 +634,7 @@
 =end original
 
 ダブルクォートされた文字列内で、名前で文字を呼び出すために、
-C<charnames> プラグマを使うこともできます。
+C<charnames> プラグマを使うこともできます:
 
     use charnames ':full';
     my $arabic_alef = "\N{ARABIC LETTER ALEF}";
@@ -649,7 +646,7 @@
 
 =end original
 
-そして、上述のように、数字を Unicode 文字に、C<pack()> できます。
+そして、上述のように、数字を Unicode 文字に、C<pack()> できます:
 
    my $georgian_an  = pack("U", 0x10a0);
 
@@ -663,8 +660,8 @@
 
 C<\x{...}> と、C<\N{...}> の両方は、コンパイル時の文字列定数です:
 その中に変数を使うことはできません。
-類似のことを実行時にしたいなら、
-c<chr()> と、C<charnames::vianame()> を使ってください。
+類似のことを実行時にしたいなら、c<chr()> と、C<charnames::vianame()> を
+使ってください。
 
 =begin original
 
@@ -674,9 +671,8 @@
 
 =end original
 
-結果を、Unicode 文字に強制したいなら、特別な、C<"U0"> 接頭辞を
-使って下さい。
-これは、引数を消費しませんが、引き続くバイト列を Unicode 文字の
+結果を Unicode 文字に強制したいなら、特別な、C<"U0"> 接頭辞を使って下さい。
+これは引数を消費しませんが、引き続くバイト列を Unicode 文字の
 UTF-8 エンコーディングとして解釈させます:
 
    my $chars = pack("U0W*", 0x80, 0x42);
@@ -688,13 +684,12 @@
 
 =end original
 
-Likewise, you can stop such UTF-8 interpretation by using the special
-C<"C0"> prefix.
-(TBT)
+同様に、特殊な C<"C0"> 接頭辞を使うことによって、このような UTF-8 の解釈を
+停止させることができます。
 
 =head2 Handling Unicode
 
-(Unicode を使う)
+(Unicode を扱う)
 
 =begin original
 
@@ -707,8 +702,8 @@
 
 Unicode を扱うことは、多くの部分にとって、透過的です:
 文字列をいつものように使うだけです。
-C<index()>、C<length()>、C<substr()> のような関数は
-Unicode 文字列で動きます;
+C<index()>、C<length()>、C<substr()> のような関数は Unicode 文字列で
+動きます;
 正規表現も Unicode 文字列で動きます(L<perlunicode> と L<perlretut> を
 参照してください)。
 
@@ -719,7 +714,7 @@
 
 =end original
 
-Perlは、 combining character sequences を別々の文字と考えていることに
+Perl は combining character sequences を別々の文字と考えていることに
 注意して下さい。
 ですので、例えば
 
@@ -744,9 +739,8 @@
 
 =end original
 
-Life is not quite so transparent, however, when working with legacy
-encodings, I/O, and certain special cases:
-(TBT)
+しかし、レガシーエンコーディング、I/O、そしてある種の特殊な状況では、
+人生はそれほど透過的ではありません:
 
 =head2 Legacy Encodings
 
@@ -761,8 +755,8 @@
 =end original
 
 レガシーデータと Unicode とを組み合わせる時は、
-レガシーデータを、Unicode にアップグレードしなければなりません。
-通常、ISO 8859-1 (か、必要なら EBCDIC)が想定されます。
+レガシーデータを Unicode にアップグレードしなければなりません。
+通常、ISO 8859-1 (か、必要なら EBCDIC)が仮定されます。
 
 =begin original
 
@@ -771,7 +765,7 @@
 
 =end original
 
-C<Encode> モジュールは、多くのエンコーディングを知っており、
+C<Encode> モジュールは多くのエンコーディングを知っており、
 それらのエンコーディングの間の変換をするインターフェースを持っています。
 
     use Encode 'decode';
@@ -845,11 +839,9 @@
 エンコーディング名のマッチングはルーズです: 大文字小文字は重要ではなく、
 多くのエンコーディングでは、いくつかの別名があります。
 C<:utf8> 層は、常に、きっちりとそのように指定される必要があります。
-このことは、エンコーディング名のルーズなマッチングの主題では I<ありません>。
-Also note that C<:utf8> is unsafe for
-input, because it accepts the data without validating that it is indeed valid
-UTF8.
-(TBT)
+このことは、エンコーディング名のルーズなマッチングの対象では I<ありません>。
+データが妥当な UTF8 であるかどうかを検証せずに受け入れるので、入力に
+対しては C<:utf8> は安全ではないことにも注意してください。
 
 =begin original
 
@@ -860,10 +852,10 @@
 
 =end original
 
-C<:utf8> 層に関しては、L<PerlIO> を見て下さい。
-C<:encoding()> に関しては、L<Encode::PerlIO> を見て下さい。
+C<:utf8> 層に関しては、L<PerlIO> を参照してください;
+C<:encoding()> に関しては、L<Encode::PerlIO> を参照してください;
 C<Encode> モジュールでサポートされている、多くのエンコーディングに関しては、
-L<Encode::Supported> を見て下さい。
+L<Encode::Supported> を参照してください。
 
 =begin original
 
@@ -893,7 +885,7 @@
 =end original
 
 I/O 層は、もっと柔軟に、C<open> プラグマでもまた、指定することが出来ます。
-L<open> を見るか、次の例を見て下さい。
+L<open> を参照するか、次の例を見て下さい。
 
     use open ':encoding(utf8)'; # input/output default encoding will be UTF-8
     open X, ">file";
@@ -909,7 +901,7 @@
 
 =end original
 
-C<open> プラグマで、C<:local> 層も使えます。
+C<open> プラグマで、C<:local> 層も使えます:
 
     BEGIN { $ENV{LC_ALL} = $ENV{LANG} = 'ru_RU.KOI8-R' }
     # the :locale will probe the locale environment variables like LC_ALL
@@ -930,8 +922,8 @@
 =end original
 
 ストリームからファイルが読まれるときに、特定のエンコーディングから、
-データを変換するI/Oストリーム上の透過的な層です。
-その結果は、常に Unicode です。
+データを変換する I/O ストリーム上の透過的な層です。
+その結果は常に Unicode です。
 
 =begin original
 
@@ -941,9 +933,9 @@
 
 =end original
 
-L<open> プラグマは、デフォルトの層を設定することで、プラグマの後の、
+L<open> プラグマは、デフォルトの層を設定することで、プラグマの後の
 全ての C<open()> 呼び出しに影響します。
-あるストリームだけに、影響を限定したいなら、C<open()> 呼び出しで、明示的な
+あるストリームだけに影響を限定したいなら、C<open()> 呼び出しで明示的な
 層を使って下さい。
 
 =begin original
@@ -953,9 +945,8 @@
 
 =end original
 
-C<binmode()>; を使って、すでに開かれているストリームで、エンコーディングを
-変えることが出来ます。
-L<perlfunc/binmode> を見て下さい。
+C<binmode()> を使って、すでに開かれているストリームのエンコーディングを
+変えることが出来ます; L<perlfunc/binmode> を参照してください。
 
 =begin original
 
@@ -966,10 +957,10 @@
 
 =end original
 
-C<:;pcate> は、現在(Perl 5.8.0 の時点で)、C<open()>と、C<binmode()> では
+C<:locale> は、現在(Perl 5.8.0 の時点で)、C<open()> と C<binmode()> では
 動きません。
 C<open> プラグマでのみ動きます。
-C<:utf8> と、C<:encoding(...)> メソッドは、全ての C<open()>、C<binmode()>、
+C<:utf8> と C<:encoding(...)> メソッドは、全ての C<open()>、C<binmode()>、
 C<open> プラグマで動きます。
 
 =begin original
@@ -986,7 +977,7 @@
 特定のエンコーディングに変換する、出力ストリームの I/O 層を使うかも
 知れません。
 例えば、次のようなコードの断片は、(ISO-2022-JP, またの名を JIS として
-エンコードされている)"text.jis" ファイルの内容を、UTF-8 として
+エンコードされている)" text.jis" ファイルの内容を、UTF-8 として
 エンコードされる "text.utf8" ファイルにコピーします。
 
     open(my $nihongo, '<:encoding(iso-2022-jp)', 'text.jis');
@@ -1001,7 +992,7 @@
 
 =end original
 
-C<open()> と、C<open> プラグマの両方で使われている、エンコーディングの
+C<open()> と、C<open> プラグマの両方で使われているエンコーディングの
 名前は、フレキシブルな名前でも使えます: C<koi8-r>と、C<KOI8R> は、
 両方とも理解されます。
 
@@ -1014,8 +1005,8 @@
 =end original
 
 ISO、MIME、IANA、様々な他の標準化機関が認識している、一般的な
-エンコーディングが認識されます: 詳細なリストは、L<Encode::Supported> を
-見て下さい。
+エンコーディングが認識されます; より詳細なリストは、
+L<Encode::Supported> を参照してください。
 
 =begin original
 
@@ -1026,8 +1017,8 @@
 =end original
 
 C<read()> は、文字を読み、文字の数を返します。
-C<seek()> と、C<tell()> は、バイトカウントに関して操作します。
-C<sysread> と、C<sysseek()> も同様です。
+C<seek()> と C<tell()> は、バイトカウントに関して操作します。
+C<sysread> と C<sysseek()> も同様です。
 
 =begin original
 
@@ -1039,7 +1030,7 @@
 =end original
 
 デフォルト層がなければ、入力になんの変換もしないのがデフォルトの
-振るまいなので、繰り返しデータをエンコーディングすることで、
+振る舞いなので、繰り返しデータをエンコーディングすることで、
 ファイルを展開し続けるコードを誤って書きやすいです。
 
     # BAD CODE WARNING
@@ -1061,7 +1052,7 @@
 
 このコードを 2 回実行すると、F<file> の内容は、UTF-8 に、2 回
 エンコードされます。
-C<use open 'encoding(utf8)'> は、バグを避けるでしょう。
+C<use open 'encoding(utf8)'> は、バグを避けるでしょう;
 もしくは、UTF-8 として入力するために、F<File> を、明示的に開くことです。
 
 =begin original
@@ -1072,9 +1063,9 @@
 
 =end original
 
-B<注意>: C<:utf8> と、C<:encoding> の機能は、Perl が、新しい PerlIO の
-機能で、ビルドされている場合のみ、動きます
-(ほとんどのシステムで、それがデフォルトです)。
+B<注意>: C<:utf8> と C<:encoding> の機能は、Perl が新しい PerlIO の機能で
+ビルドされている場合(ほとんどのシステムで、それがデフォルトです)にのみ
+動作します。
 
 =head2 Displaying Unicode As Text
 
@@ -1093,7 +1084,7 @@
 Unicode を含んでいる Perl のスカラを、単純な ASCII(か、EBCDIC)の
 テキストとして、表示したいかもしれません。
 下のサブルーチンは、引数を変換して、255 より大きいコードポイントの
-Unicode 文字を、C<\x{...}> として表示し、(C<\n> のような)コントロール文字は、
+Unicode 文字を、C<\x{...}> として表示し、(C<\n> のような)制御文字は、
 C<\x..> として表示します。
 残りの文字は、そのまま表示します:
 
@@ -1123,7 +1114,7 @@
 
 =end original
 
-次のような文字列になり:
+は、次のような文字列になり:
 
    'foo\x{0100}bar\x0A'
 
@@ -1165,13 +1156,13 @@
 
 演算子 C<~> は、255 を超える序数の値の文字を含んでいる文字列で、
 使われると、驚くべき結果になるでしょう。
-そのようなケースでは、
-その結果は文字の内部的なエンコーディングで一貫性があります。
+そのようなケースでは、その結果は文字の内部的なエンコーディングで一貫性が
+あります。
 しかし、他の多くでは違います。
 ですので、そのようなことはしないでください。
 C<vec()> も同様です: コードポイントの値ではなく、内部的にエンコードされた、
-Unicode 文字列のビットパターンを操作しているでしょう。
-おそらく、それは、望んでいないでしょう。
+Unicode 文字列のビットパターンを操作することになります;
+おそらく、それは望んだことではないでしょう。
 
 =item *
 
@@ -1193,11 +1184,11 @@
 
 =end original
 
-(Unicode で文字列の内容に達する普通の方法 -- 入出力 -- は、つねに、
-明示的に定義された I/O 層を経由すべきです)
-Perl がどのように、どんな特別な Unicode 文字列をエンコードしているかを、
-Perl の普通のユーザは気にするべきではありません。
-ですが、必要なら、隠れている裏側を見る 2 つの方法があります。
+Perl がどのように、特定の Unicode 文字列をエンコードしているかを、
+Perl の普通のユーザは気にするべきではありません
+(Unicode で文字列の内容に達する普通の方法 -- 入出力によって -- は、常に
+明示的に定義された I/O 層を経由すべきだからです)。
+ですが、もし必要なら、隠れている裏側を見る 2 つの方法があります。
 
 =begin original
 
@@ -1208,7 +1199,7 @@
 
 =end original
 
-Unicode文字を内部的にエンコーディングする、内側を覗き見る 1 つの方法は、
+Unicode 文字を内部的にエンコーディングする、内側を覗き見る 1 つの方法は、
 C<unpack("C*", ...> を使い、to get the bytes of whatever the string
 encoding happens to be, or C<unpack("U0..", ...)> to get the bytes of the
 UTF-8 encoding:
@@ -1223,7 +1214,7 @@
 
 =end original
 
-別の方法は、Dvel::Peek モジュールを使うことです:
+もう一つの方法は、Dvel::Peek モジュールを使うことです:
 
     perl -MDevel::Peek -e 'Dump(chr(0x100))'
 
@@ -1237,12 +1228,15 @@
 
 これは、FLAGS の C<UTF8> フラグと、UTF-8 バイトと、C<PV> の中の
 Unicode 文字の両方を見せます。
-このドキュメントの後にある、C<utf8::is_utf8()> 機能についての議論も見て下さい。
+このドキュメントの後にある、C<utf8::is_utf8()> 機能についての議論も
+参照してください。
 
 =back
 
 =head2 Advanced Topics
 
+(発展した話題)
+
 =over 4
 
 =item *
@@ -1263,7 +1257,7 @@
 =end original
 
 文字列の等価性の疑問は、Unicode でいくぶん複雑になります。
-"等価"で、何を意味していますか?
+"等価" で、何を意味していますか?
 
 =begin original
 
@@ -1273,7 +1267,7 @@
 =end original
 
 (IS C<LATIN CAPITAL LETTER A WITH ACCUTE> と
-C<LATIN CAPITAL LETTER A>は、等しいでしょうか?)
+C<LATIN CAPITAL LETTER A>は、等しいでしょうか?)
 
 =begin original
 
@@ -1285,11 +1279,11 @@
 =end original
 
 短く答えれば次のようになります。
-デフォルトでは、Perl は(C<eq> と、C<ne> で)等しさを
+デフォルトでは、Perl は(C<eq> と、C<ne> で)等価性を
 比較しますが、これらは、文字のコードポイントでのみに基づいています。
 上のケースでは、答えはいいえです(0x00C1 != 0x0041 ですから)。
-ですが、どんな CAPITAL LETTER A もどんなケースの A も等しいと考えるべき
-時もあります。
+しかし、どんな CAPITAL LETTER A も等しいと考えるべき時や、大文字小文字に
+関わらずどんな A も等しいと考えるべき時もあります。
 
 =begin original
 
@@ -1301,7 +1295,7 @@
 
 =end original
 
-長く答えるなら、文字標準化と大文字小文字の問題を考える必要があります:
+長く答えるなら、文字の正規化と大文字小文字の問題を考える必要があります:
 L<Unicode::Normalize>、Unicode テクニカルレポート #15 と #21 である
 I<Unicodde Normalization Forms> と I<Case Mappings>
 ( http://www.unicode.org/unicode/reports/tr15/,
@@ -1325,8 +1319,7 @@
 
 =end original
 
-String Collation
-(TBT)
+文字列の照合(Collation)
 
 =begin original
 
@@ -1335,10 +1328,9 @@
 
 =end original
 
-文字列がうまくソートされているのを好みます-- or as Unicode
-parlance goes, collated。
- ですが、再び、collate で何を意味していますか?
-(TBT)
+文字列がうまくソートされている(あるいは Unicode の業界用語を使えば、
+照合されている(collated))のを好みます。
+ですが、再び、照合で何を意味していますか?
 
 =begin original
 
@@ -1349,7 +1341,7 @@
 
 (C<LATIN CAPITAL LETTER A WITH ACUTE> は、
 C<LATIN CAPITAL LETTER A WITH GRAVE> より、
-前でしょうか後でしょうか?)
+前でしょうか後でしょうか?)
 
 =begin original
 
@@ -1363,7 +1355,7 @@
 短く答えれば次のようになります。
 Perl は、文字列を、(C<lt>、C<le>、C<cmp>、C<ge>、C<gt>)で比較しますが、
 これらは、文字のコードポイントでのみに基づいています。
-上のケースでは、答えは、C<0x00C1> > C<0x00C0>ですので、"後"になります。
+上のケースでは、答えは、C<0x00C1> > C<0x00C0> ですので、"後"になります。
 
 =begin original
 
@@ -1375,9 +1367,10 @@
 =end original
 
 長く答えるなら、"依存して"います。
-良い答えは、(とても少なくとも)言語のコンテキストを知らずには、与えられません。
-L<Unicode::Collate>と、I<Unicode Collation Algorithm> を見て下さい。
-http://www.unicode.org/unicode/reports/tr10/
+良い答えは、(とても少なくとも)言語のコンテキストを知らずには、
+与えられません。
+L<Unicode::Collate>, I<Unicode Collation Algorithm>
+http://www.unicode.org/unicode/reports/tr10/ を参照してください。
 
 =back
 
@@ -1395,8 +1388,7 @@
 
 =end original
 
-Character Ranges and Classes
-(TBT)
+文字の範囲とクラス
 
 =begin original
 
@@ -1408,11 +1400,10 @@
 
 =end original
 
-正規表現の文字クラス(C</[a-z]/>)内と、C<tf///>(C<y///>としても知られる)
-演算子内では、魔法を使ったようには、Unicode に気付きません。
-これが意味することは、C<[A-Za-z]> は、"全てのアルファベット文字"を
-魔法を使ったようには意味しはじめません。
-8 ビットの文字で意味します。
+正規表現の文字クラス(C</[a-z]/>)内と、C<tf///>(C<y///> としても知られる)
+演算子内では、自動的には Unicode 対応にはなりません。
+これが意味することは、C<[A-Za-z]> は、自動的に "全てのアルファベット文字"を
+意味するようにはなりません; 8 ビットの文字で意味します;
 このケースでは、C</[[:alpha:]]/> を使うべきです。
 
 =begin original
@@ -1427,10 +1418,10 @@
 
 =end original
 
-正規表現内のこのような特定の文字クラスに、様々な Unicode プロパティ--
+正規表現内のこのような特定の文字クラスに、様々な Unicode プロパティ --
 C<\pL>、または、この特別なケースでは、たぶん、C<\p{Alphabetic}> を
 使うことができます。
-文字の範囲の終りのポイントとして、Unicode のコードポイントを
+文字の範囲の終わりのポイントとして、Unicode のコードポイントを
 使うことが出来ます。
 ですが、ある範囲を特定するのに結びつける何の魔法もありません。
 詳しいことは--数ダースの Unicode 文字クラスがあります--
@@ -1476,7 +1467,7 @@
 
 =end original
 
-古いスクリプトは壊れるでしょうか?
+古いスクリプトは壊れるでしょうか?
 
 =begin original
 
@@ -1491,11 +1482,12 @@
 =end original
 
 たぶん、壊れません。
-どうにかして、Unicode 文字を生成していなければ、古い挙動は、保護されます。
-変更される、Unicode を生成し始める唯一の挙動は古い C<chr()> の挙動です。
-ここでは、255 を法として、文字を生成する 255 より上の引数を供給します。
-C<chr(300)> は、例えば、C<chr(45)> か、(ASCII の)"-" と同じでした。
-現在は、それは、LATIN CAPITAL LETTER I WITH BREVE と同じです。
+どうにかして、Unicode 文字を生成していなければ、古い挙動は保護されます。
+振る舞いが変更され、Unicode を生成し始める唯一のものは、古い C<chr()> は
+引数として 255 を超える値が指定されると、255 を法とした文字が生成される
+というものです。
+例えば、C<chr(300)> は、C<chr(45)> あるいは (ASCII の)"-" と同じでした。
+現在ではそれは、LATIN CAPITAL LETTER I WITH BREVE です。
 
 =item *
 
@@ -1505,7 +1497,7 @@
 
 =end original
 
-Unicode スクリプトを動かすにはどうすればいいですか?
+私のスクリプトを Unicode で動かすには?
 
 =begin original
 
@@ -1527,7 +1519,7 @@
 
 =end original
 
-Unicode の文字列かどうかを知るにはどうしますか?
+Unicode の文字列かどうかを知るには?
 
 =begin original
 
@@ -1538,10 +1530,10 @@
 =end original
 
 気にすることはありません。
-本当に、気にするべきではありません。
-本当に。
+ええ、本当に、気にするべきではありません。
+ええ、本当に。
 気にする必要があるなら -- このケースは上で書いています --
-本当に正しく、Unicode の透過性を得ないことを意味します。
+本当に正しく、Unicode の透過性を得ていないことを意味します。
 
 =begin original
 
@@ -1571,19 +1563,20 @@
 
 =end original
 
-ですが、これは、文字列の文字のすべてが、UTF-8 でエンコードされているか、
-文字のすべてが、0xFF(255) か、0x80(128) より大きいコードポイントか、
-文字列はすべて文字をもつ必要があります。
+しかし、これは、文字列の文字のすべてが UTF-8 でエンコードされているとか、
+文字のすべてが 0xFF(255)(あるいは 0x80(128)) より大きいコードポイントを
+持つとか、文字列に文字が含まれているかとかいうことを
+意味するわけではないことに注意してください。
 C<is_utf8()> がすることの全ては、C<$string> につけられている内部の
 "utf8ness" フラグの値を返すことです。
 フラグが無効であれば、スカラ内のバイト列は、シングルバイト
 エンコーディングとして解釈されます。
-フラグが有効であれば、スカラ内のバイト列は、(マルチバイト、可変調の) 
+フラグが有効であれば、スカラ内のバイト列は、(マルチバイト、可変長の) 
 UTF-8 でエンコードされた文字のコードポイントとして解釈されます。
-非 UTF-8 と、UTF-8 のスカラがマージされた(ダブルクオートされた語句、
-明示的な連結、printf/sprintf パラメタの代用)場合、この結果は、
+(ダブルクオートされた語句、明示的な連結、printf/sprintf パラメタ
+置換によって)非 UTF-8 と、UTF-8 のスカラがマージされた場合、この結果は、
 バイト文字列のコピーが UTF-8 でアップグレードされるように、
-UTF-8 でエンコードされています。
+UTF-8 でエンコードされています: 例えば、
 
     $a = "ab\x80c";
     $b = "\x{100}";
@@ -1596,8 +1589,8 @@
 
 =end original
 
-出力する文字列は UTF-8 エンコードされた C<ab\x80c = \x{100}\n> になります。
-ですが、C<$a> は、バイトエンコードされます。
+出力する文字列は UTF-8 エンコードされた C<ab\x80c = \x{100}\n> になりますが、
+C<$a> は、バイトエンコードされたままです。
 
 =begin original
 
@@ -1628,7 +1621,7 @@
 
 =end original
 
-あるエンコーディングで、データが、妥当でないことを調べるにはどうしますか?
+あるエンコーディングで、データが妥当でないことを検出するには?
 
 =begin original
 
@@ -1654,8 +1647,7 @@
 
 =end original
 
-Or use C<unpack> to try decoding it:
-(TBT)
+または C<unpack> を使ってデコードしてみてください:
 
     use warnings;
     @chars = unpack("C0U*", $string_of_bytes_that_I_think_is_utf8);
@@ -1685,7 +1677,7 @@
 
 =end original
 
-バイナリデータを特定のエンコーディングに変換するには?また、その逆は?
+バイナリデータを特定のエンコーディングに変換するには? また、その逆は?
 
 =begin original
 
@@ -1795,9 +1787,8 @@
 
 =end original
 
-If you have a sequence of bytes you B<know> is valid UTF-8,
-but Perl doesn't know it yet, you can make Perl a believer, too:
-(TBT)
+あなたはバイト列が妥当な UTF-8 であると B<分かっている> けれども、Perl が
+知らない場合、Perl に信じさせることができます:
 
     use Encode 'decode_utf8';
     $Unicode = decode_utf8($bytes);
@@ -1808,8 +1799,7 @@
 
 =end original
 
-or:
-(TBT)
+または:
 
     $Unicode = pack("U0a*", $bytes);
 
@@ -1848,7 +1838,7 @@
 =end original
 
 http://www.alanwood.net/unicode/ と
-http://www.cl.cam.ac.uk/~mgk25/unicode.html を見てください。
+http://www.cl.cam.ac.uk/~mgk25/unicode.html を参照してください。
 
 =item *
 
@@ -1858,7 +1848,7 @@
 
 =end original
 
-これまでのロケールで、Unicode は、どのようにうごきますか?
+伝統的なロケールと Unicode は、どのように動きますか?
 
 =begin original
 
@@ -1871,10 +1861,10 @@
 =end original
 
 Perl では、あまりうまくありません。
-C<locale>プラグマでロケールを使うことを避けて下さい。
-1 つのみか、別のものを使ってください。
-C<-C> スイッチと、その環境で対応する C<$ENV{PERL_UNICODE}> の説明のために、
-L<perlrun> を見て下さい。
+C<locale> プラグマでロケールを使うことを避けて下さい。
+どちらか片方だけを使ってください。
+しかし、C<-C> スイッチと、それに対応する環境変数である
+C<$ENV{PERL_UNICODE}> の説明のために、L<perlrun> を参照してください;
 様々な Unicode の機能が、どのように可能になっているのか、たとえば、
 ロケールの設定によって、が、わかります。
 
@@ -1900,8 +1890,7 @@
 他の表記よりわかりやすいからです。
 10 進記法を使うことも出来ますが、16 進記法を使うことを学べば、
 Unicode 標準との暮らしが楽になります。
-C<U+HHHH> 表記は、16 進記法を使います。
-たとえば、
+例えば、C<U+HHHH> 表記は、16 進記法を使います。
 
 =begin original
 
@@ -1915,9 +1904,8 @@
 =end original
 
 C<0x> の接頭辞は、16 進の数字を意味しています。
-数字は、0-9 と、
-a-f(か、A-F、大文字小文字は問いません)です。
-それぞれの、16 進の数字は、4 ビット、1/2 バイトを表します。
+数字は、0-9 I<および> a-f(か、A-F、大文字小文字は問いません)です。
+それぞれの 16 進の数字は 4 ビット、1/2 バイトを表します。
 C<print 0x..., "\n"> は 16 進数を 10 進で見せます。
 C<printf "%x\n", $decimal> は 10 進数を 16 進で見せます。
 "hex digits" の 16 進の数字があるなら、C<hex()> 関数を使うことが出来ます。
@@ -1994,7 +1982,8 @@
 
 =end original
 
-Unicode サポートのファイルは、Perl をインストールしたディレクトリ内にあります
+Unicode サポートのファイルは、Perl をインストールしたディレクトリ内に
+あります;
 
     $Config{installprivlib}/unicore
 
@@ -2004,7 +1993,7 @@
 
 =end original
 
-Perl 5.8.0 以上では、
+Perl 5.8.0 以上ではここです;
 
     $Config{installprivlib}/unicode
 
@@ -2017,10 +2006,10 @@
 
 =end original
 
-Perl 5.6 シリーズでは。
+Perl 5.6 シリーズではここです。
 (大文字小文字を区別しないファイルシステムでは、lib/Unicode 名前の衝突を
-避けるために、F<lib/unicore> にリネームされています)
-メインの Unicode データファイルは、F<UnicodeData.txt>(か、Perl5.6.1 の
+避けるために、F<lib/unicore> にリネームされています。)
+メインの Unicode データファイルは、F<UnicodeData.txt>(か、Perl 5.6.1 の
 F<Unicode.301>)です。
 次のようにして、C<$Config{installprivlib}> を見つけることができます。
 
@@ -2033,7 +2022,7 @@
 
 =end original
 
-C<Unicode::UCD> モジュールを使って、Unicode データファイルから、
+C<Unicode::UCD> モジュールを使って、Unicode データファイルから
 様々な情報を調べることができます。
 
 =back
@@ -2054,10 +2043,9 @@
 
 Perl 5.8.0 以降にアップグレード出来なくても、まだ、CPAN から利用できる、
 C<Unicode::String>、C<Unicode::Mmap8>、C<bUnicode::Map> を使って、
-Unicode 処理をすることができます。
-If you have the GNU recode installed, you can also use the
-Perl front-end C<Convert::Recode> for character conversions.
-(TBT)
+いくつかの Unicode 処理ができます。
+GNU recode がインストールされているなら、それの Perl フロントエンドである
+C<Convert::Recode> を文字変換のために使えます。
 
 =begin original
 
@@ -2066,8 +2054,8 @@
 
 =end original
 
-下記のものは、ISO 8859-1 (Latin-1) バイト列から UTF-8 バイト列に、
-素早く変換するものです。
+下記のものは、ISO 8859-1 (Latin-1) バイト列から UTF-8 バイト列に
+(あるいはその逆に)素早く変換するものです。
 このコードは古い Perl 5 でも動きます。
 
     # ISO 8859-1 to UTF-8


perldocjp-cvs メーリングリストの案内
Back to archive index