知識ベース

日本語とコンピューター

日本語とコンピューターに関しては、多くの適応の問題が生じます。いくつかは日本語に特有のものであり、他の問題は非常に多くの文字を持つ言語に共通しています。英語を書くために必要な文字数は非常に少ないため、1バイト(28 = 256の可能な値)を使用して1つの英語文字をエンコードすることができます。ただし、日本語の文字数は256文字をはるかに超えているため、シングルバイトを使用してエンコードすることはできません。したがって、日本語は2バイト以上を使用して、いわゆる「ダブルバイト」または「マルチバイト」エンコーディングでエンコードされます。発生する問題は、音訳とローマ字表記、文字エンコード、および日本語テキストの入力に関連しています。

文字エンコード

JIS、Shift-JIS、EUC、Unicodeなど、コンピューターで使用する日本語の文字をエンコードする標準的な方法がいくつかあります。かなのセットをマッピングするのは簡単ですが、漢字はもっと難しいことがわかっています。努力にもかかわらず、コード化スキームはどれも事実上の標準になっておらず、2000年代までに複数のコード化標準が使用されました。 2017年現在、インターネットでのUTF-8の使用率は世界で90%以上に拡大しており、1.2%の残りはShift-JISとEUCを使用しています。それでも、2channelやkakaku.comを含むいくつかの人気のあるWebサイトは、まだShift-JISを使用しています。

2000年代まで、ほとんどの日本の電子メールはISO-2022-JP(「JISエンコーディング」)であり、Shift-JISのWebページと日本の携帯電話は通常、何らかの形式の拡張Unixコードを使用していました。プログラムが使用するエンコーディングスキームの決定に失敗すると、文字化け(文字化け、「 誤って変換された文字化け/文字化け」、文字通り「変換された文字」)が発生し、コンピューターでテキストが読めなくなる可能性があります。

広く使用されるようになった最初のエンコーディングはJIS X 0201でした。これは、半角カタカナ拡張の標準7ビットASCII文字のみをカバーするシングルバイトエンコーディングです。かな漢字変換には複雑なプロセスが必要であり、漢字の出力には多くのメモリと高解像度が必要なため、これは十分に強力ではなく、漢字(キャッシュレジスタなどの古い組み込み機器を含む)を処理するストレージを持たないシステムで広く使用されていました。これは、この手法を使用して、漢字ではなくカタカナのみがサポートされたことを意味します。一部の組み込みディスプレイには、まだこの制限があります。

漢字エンコーディングの開発は、分裂の始まりでした。シフトJISは漢字をサポートし、JIS X 0201と完全に下位互換性があるように開発されたため、多くの組み込み電子機器に組み込まれています。ただし、Shift JISには、それを処理するように特別に設計されていないパーサー(コード化テキストを読み取るソフトウェア)が破損することが多いという不幸な性質があります。

たとえば、一部のShift-JIS文字では、2番目のバイトにエスケープ文字として使用されるバックスラッシュ(005C "\")が含まれます。

8d 5c 82 82 c8 82 a2

Shift JISをサポートしていないパーサーは、005Cを無効なエスケープシーケンスとして認識し、削除します。したがって、このフレーズは文字化けを引き起こします。

8d 82 82 c8 82 a2

これは、たとえば、テキスト文字列にShift-JISが含まれているCプログラミング言語で発生する可能性があります。 ASCII 0x00–0x3F( "、%、&およびその他の使用されるエスケープ文字と文字列区切り文字を含む)はShift-JISの2番目のバイトとして表示されないため、HTMLでは発生しません。

一方、EUCは、7ビットASCII向けに記述されたパーサーによってはるかに適切に処理されます(したがって、EUCエンコーディングはUNIXで使用され、ファイル処理コードの多くは歴史的に英語エンコーディングのみで記述されていました)。ただし、EUCは、最初の主要な日本語エンコーディングであるJIS X 0201との後方互換性はありません。元のインターネット電子メール標準は7ビット転送プロトコルのみをサポートしているため、さらに複雑になります。したがって、RFC 1468(「ISO-2022-JP」、単にJISエンコーディングと呼ばれることも多い)は、電子メールの送受信用に開発されました。

JISなどの文字セット標準では、すべての必須文字が含まれているわけではないため、外字(外字「外字」)を使用して文字セットを補足することがあります。外字は、通常の文字が新しい文字に置き換えられた、または新しい文字が未使用の文字位置に追加された外部フォントパックの形で提供されます。ただし、外字を使用するにはフォントセットをテキストとともに転送する必要があるため、外字はインターネット環境では実用的ではありません。その結果、そのような文字は同様のまたはより単純な文字で適切に記述されるか、必要な文字をサポートするより大きな文字セット(Unicodeなど)を使用してテキストをエンコードする必要があります。

Unicodeは、すべての言語のすべてのエンコードの問題を解決することを目的としていました。 WebページでUnicodeをエンコードするために使用されるUTF-8エンコードには、Shift-JISのような欠点はありません。 Unicodeは国際的なソフトウェアによってサポートされており、外字の必要がなくなります。ただし、まだ論争があります。日本語の場合、漢字は中国語に統一されています。つまり、日本語と中国語の両方で同じであると見なされる文字には、実際には外観が多少異なっていても、ロケールに適したフォントを使用することで正確な外観が残された単一の番号が与えられます。漢統一と呼ばれるこのプロセスは、論争を引き起こしています。日本、台湾、中国本土、韓国の以前のエンコーディングは1つの言語のみを処理しており、Unicodeはすべてを処理する必要があります。ただし、漢字/中国語の処理は、4つの国/地域の代表者で構成される委員会によって設計されています。

テキスト入力

書かれた日本語はいくつかの異なるスクリプトを使用します:漢字(漢字)、2組の仮名 (音節文字)およびローマ字。かなとローマ字はコンピューターに直接入力できますが、ほとんどのキーボードのキーよりもはるかに多くの漢字があるため、漢字の入力はより複雑なプロセスです。現代のコンピューターで漢字を入力するには、通常、漢字の読みが最初に入力され、次にフロントエンドプロセッサとも呼ばれるインプットメソッドエディター(IME)が音声一致の候補漢字のリストを表示し、ユーザーが正しい漢字を選択します。より高度なIMEは、単語ではなくフレーズで機能するため、最初のオプションとして目的の文字が取得される可能性が高くなります。漢字読みの入力は、ローマ字表記( rōmajinyūryoku、ローマ字入力)または直接かな入力( kananyūryoku、かな入力)のいずれかを使用できます。ローマ字入力はPCやその他のフルサイズキーボードでより一般的です(直接入力も広くサポートされていますが)が、通常、携帯電話や同様のデバイスでは直接かな入力が使用されます。10桁(1〜9,0)のそれぞれが対応します五十音のかなの表の10列の1つに移動し、複数回押して行を選択します。

日本語のローマ字表記には2つの主要なシステムがあります。これらは、 un礼式ヘプバーンとして知られています。実際には、「キーボードローマ字 」(「ワープロローマ字 」または「ワードプロセッサローマ字 」とも呼ばれます)では、通常、両方の組み合わせを緩やかに使用できます。 IME実装は、 Lなどのローマ字化スキームで使用されていない文字のキーを処理し、それらを最も適切な同等物に変換する場合もあります。かな入力では、キーボードの各キーが1つのかなに直接対応します。 JISキーボードシステムは国家標準ですが、プロのタイピストの間で一般的に使用される親指シフトキーボードのような代替手段があります。

テキストの方向

日本語は2方向に書くことができます。 横垣スタイルは、英語と同様に、左から右、上から下に書き込みます。 Tategakiスタイルは、最初に上から下に書き込み、次に右から左に移動します。

一太郎と対抗するために、Microsoftは、Word 5.0 Power Up KitやWord 98などの下位テキストのサポートを含む、Microsoft Wordの初期の日本語バージョン向けにいくつかの更新を提供しました。

QuarkXPressは、1990年代に日本で最も人気のあるDTPソフトウェアでしたが、開発サイクルが長いものでした。ただし、下向きのテキストのサポートが不足しているため、いくつかの更新を通じて下向きのテキストを強力にサポートしていたAdobe InDesignを上回りました。

現在、下向きのテキストの処理は不完全です。たとえば、HTML はたてがきをサポートしていないため、日本のユーザーはHTMLテーブルを使用してシミュレートする必要があります。ただし、CSSレベル3には、プロパティ「writing-mode」が含まれており、値「vertical-rl」(上から下、右から左)を指定すると、 ateをレンダリングできます。ワープロとDTPソフトウェアは、より完全にサポートしています。