Webでのアラビア文字と使用と転写に関わる諸点について

Ver.0.1.24.5

本稿は作成中です。内容は全く保証できません(というか、みればわかりますがWindows 2000時代最末期くらいの記述が中心です。Office 2007以降状況は完全に変わりました)。本稿ではWeb上でのアラビア文字を使ったリソースや、それに付随する音標文字に関する議論とtipsを解説する。具体的にはまずWeb上でアラビア文字を使う方法そのものと問題点を述べ、ついでアラビア語のラテン文字転写とそのWebでの使用法について述べる。

目次

  1. はじめに
  2. 二つの原則
  3. 基礎―Windows 2000/XPでアラビア文字を使用する(簡略)
    • アラビア語を入力できるようにする
    • アラビア語のキーボード配列を知る
  4. 多言語テキストエディタを使用してHTMLを書く
  5. 文字コードはUTF-8nで
  6. unicodeと数値文字参照
  7. アラビア文字のラテン文字転写の使用法

    • はじめに
    • 対応文字コードとフォント
    • Wordでアラビア文字のラテン文字転写を使う
    • HTMLでアラビア文字のラテン文字転写を使う
  8. Appendix.1 アラビア文字のラテン転写文字と転写文字のコード一覧表

    • 日本業界慣用-合衆国議会図書館アラビア語/ペルシア語ラテン文字化方式準拠
    • 国際連合地名ラテン文字化方式-アラビア文字/ペルシア語
    • ISO 233:1981, ISO 233-2:1988, ISO 233-3:1992x
  9. Appendix.2 "MidEast Times for Windows"フォントについて
  10. Appendix.3 MidEast Timesで書かれた文字列を正当なUnicode文字列かHTMLでの数値文字参照文字列に変換するCGI
  11. Appendix.4 基本ラテン文字セットでの簡易転写文字列をHTMLでの数値文字参照に変換するCGI
  12. Appendix.5 Bomとrtl属性について
  13. 用語集
  14. 参考文献とリンク
  15. 変更履歴

はじめに

近年、インターネット接続環境の整備と研究における電子化の進展で、イスラーム学や中東地域研究に関わるWebサイトは著しく増加している。またMicrosoft Windows 2000およびMicrosoft Word 2000などから主要なOSおよびOffice製品は国際化が進み、現在では手持ちのコンピュータでのアラビア文字の使用は非常に容易で、現実的な選択肢となっている。

すでにWORDなどで文書を作成し、印刷する段階ではアラビア文字を使っている方も多いだろう。しかし、アラビア語/ペルシア語文献の表記に用いられる業界慣用のアラビア文字のラテン転写文字を、コンピュータ上で使用することは非常に困難でわかりずらい。また、アラビア文字まじりの文書をwebで公開するための方法は、まだ一般的に知られていないように思う。

したがって本稿では、まず第一に、スタンドアロン環境でのアラビア文字の使用から一歩進んで、アラビア語まじりの文書のWeb上での公開の方法を示し、第二にアラビア語・ペルシア語のラテン転写文字の自分のコンピュータ上、およびWeb上での使用の方法を示すことを目的とする。それらの基礎となるスタンドアロン環境のWinsows 2000およびMicrosoft Office上でのアラビア文字の使用については本稿でも紹介するが、中東経済研究所の保坂修司さんが詳細なレポートを公開しているので、詳しくはそちらを参照されたい。

注意書き

  • HTMLについては解説の必要がないものとして論を進める。HTMLの解説が必要なら次のリンクのサイトを訪れるとよい。

  • 文書形式については一部XMLにも触れるが基本的にはHTMLおよびXHTMLについて述べる。
  • 本文書は、技術文書である。従って、日本工業規格JIS X 1334「技術文書に関する記述の指針」に従い、アラビア語の転写に関してはISO 233:1983、ペルシア語の転写に関してはISO 233-3:1999に従った。
  • OSはWindows 2000およびWindows XP限定である。
  • 本稿で紹介するソフトウェアおよびフォントはすべてフリーウェアである。

二つの原則

本稿を始める前に読者各位には「二つの原則」を示しておきたい。二つの原則とは次の通りである。

  1. アラビア語やペルシア語はなるべく原語の文字を使って書く
  2. やむをえず転写文字を使うときは、転写方式は何らかの基準に従い、転写文字を含んだ文書は、Unicodeでエンコーディングする

ひとつ目はあまりに当然のことである。しかし以前はアラビア文字などの活字は滅多になかったので、わざわざアラビア語などはラテン文字(いわゆるアルファベット)に転写せねば、使用することが出来なかった。現在はそのようなことはない。むしろ転写文字は、そもそも現実の用途で使用している人がいないので、フォントなどが整備されておらず、Web上などで使うには困難をきわめる。利便性のために導入した転写文字のほうが使いにくいのだから、より使いやすい原語、原語の文字を使うのは当然のことである。

ふたつ目は、やむをえず転写文字を使う際の方法についてである。簡単に言ってしまえば、たとえばフランス語の文章の中で「é」を使うときは、「é」を使うべきで、[e’]などと自己流に二文字を一文字扱いして示すべきではないということ。いまでも学界などでは、わざわざ転写せねばいけないような伝統が確立してしまっている。そのような場合には、まず、必ず自己流の転写法ではなく何らかの基準に従うべきことである(これは基準の乱立を防ぎ、標準を確立するために必要である)。そして転写文字は、おおむねUnicodeの中で字形が定義されているので、もともと多言語、多字系での仕様を考慮したUnicodeでエンコーディングし、ただしい転写文字の字形を使用すべきであるということである。

基礎―Windows 2000/XPでアラビア文字を使用する(簡略)

本章では、Mixrosoft Windows 2000/XPでアラビア文字を使用する方法について簡潔に述べる。なぜならその方法は実に容易であるからである。

アラビア語を入力できるようにする

  1. [スタート]-[設定]-[コントロールパネル]-[テキストサービス](Microsoft Officeを導入していない場合は[キーボード])を開く(付図1)
  2. 「インストールされているサービス」の中から、[追加]を選ぶ(付図2)。
  3. 「入力言語の追加」で、アラビア語を探し(上の方にある。別にサウジアラビアのアラビア語でもエジプトのアラビア語でも構わない)、それを選択してOK。(付図3)
  4. タスクバー(画面の一番右下)上に青地に白抜きで[JP]というアイコンが表示される(付図4・もしかしたら言語バーが表示されているかもしれない。その場合は、タスクバーをではなく言語バー上)。
  5. これの上で左クリック。アラビア語を選択する(付図5)。
  6. [JP]のかわりに[AR]と表示される(付図6)。

以上でアラビア語を打つことが出来るようになる。メモ帳なりを起動して、適当にキーを叩いてみれば、アラビア語が入力できるようになっていることがわかるだろう。5.と6.の手順を逆にすることで日本語入力に戻すことが出来る。また同じ手順でペルシア語などさまざまな言語を入力することが出来るようになる。

アラビア語のキーボード配列を知る

はじめはキーボードの文字の配置がわからないと思う。その際は、[スタート]-[プログラム]-[アクセサリ]-[ユーザー補助]-[スクリ-ンキーボード]でキーの配置を確認するとよい。

スクリーンキーボードの表示状態

多言語テキストエディタを使用してHTMLを書く

執筆待ち

文字コードはUTF-8Nで

執筆待ち

Unicodeと数値文字参照

執筆待ち

アラビア文字のラテン文字転写の使用法

はじめに

つい数年前まで、印刷物にアラビア文字を使うのは非常な困難が伴った。日本の印刷屋にアラビア文字の活字がなかったためである。この事情は、当該地域の研究にはるかに古い伝統をもつヨーロッパでも同じで、高価な辞書などでなければアラビア文字の活字は使用できなかった(たいていの場合はアラビア文字の部分は手書き。私の持つPersian-Englishもそう)。しかし、論文を書くうえで、アラビア語やペルシア語で書かれた資料は参照されたし、参照したら、その資料の書誌を論文にも記載せねばならなかった。

だからといって、書誌の部分で、アラビア文字だけ手書きで書くわけにもいかなかった。そこで編み出されたのがアラビア文字のラテン転写である。アラビア文字の発音をラテン文字に転写し、ラテン文字でアラビア語やペルシア語を表記する方法のことである。たとえばアラビア語には軽いzと重いzがあるが、後者についてはzの下に点を付けて区別をした(Appendix1を参照)。これが日本でも行われ、アラビア文字で書かれた資料を使った場合、文献目録にはアラビア文字そのものではなくラテン転写で記載することになっている。

ところが現在は、アラビア文字そのものを容易に使用することができるようになり、むしろラテン転写の方を表示するのが難しい。難しいのだが、伝統そのものは尊重せねばならない。また、アラビア文字は短母音を示さないので、短母音を示してくれるラテン転写は、アラビア語やペルシア語に通じていない者にはありがたい。

以上のような理由から、アラビア文字のラテン転写は現在でも必要である。しかしながら、ラテン転写文字を使用するにはいくらかの準備と情報が必要となる。本章ではそれを解説する。以下、かなり細かい話(特に文字コードの話)を展開するが、ラテン転写文字を使う準備として理解が必要なのでお読みいただきたい。

文字コードとは何か

文字をコンピュータで扱うためには符号化が必要である。符号化とはある文字とある番号を結びつける方式を言う。たとえば我々がメールなどで送信しているデータは文字そのものではなく、文字を符号化した数字の羅列なのである。そしてその数字はさらに解釈され、最終的には物理層で電気的な0と1の信号の羅列として送られているのである。そして受け取ったコンピュータは、それを数字の羅列に戻し、さらにその番号を結びつけられた文字の形に直して画面上に表示しているのである。

文字の符号化には複数の方式がある。まずもっともメジャーなものが西欧言語用のISO-2022である。一方、日本で普通使われるのはメールで用いられるISO-2022-JP(いわゆるJISコード)、UNIX標準のEUC-JP、Windows標準のShift_JISなどである。「表」という文字は、それぞれISO-2022-JPではx1という符号に、EUC-JPではx2という符号に、Shift_JISではx3という符号にそれぞれ変換される。したがってもしISO-2022-JPで符号化された文書を、EUC-JPで符号化された文書であると誤解して表示しようとすると、文字化けが発生することになる。たとえば「表」という文字を示すISO-2022-JPの符号はx1であるが、EUC-JPでのx1は「限」という文字なので、「表」と書いたところは「限」と表示されることになってしまうのである。

このようにある字形に対して、ある符号を結びつけるのが符号化方式である。そして符号化方式の表で、字形とそれに対応する符号が定義されている。従って、符号化方式の表に定義されていない字形は、その符号化方式において扱うことはできない。たとえばEUC-JPでは、ハングルは定義されていないので、当然扱うことは出来ない。このことからわかるように、文字符号化方式はアルファベット+当該言語の形で各言語ごとに整備されている。

転写文字を定義している文字コードはあるのか?

ではzの下に点などという文字を一般的に使っている言語があるだろうか? もしかしたらあるかもしれない。では、さらにその言語でzの下に点二つの文字を使っているだろうか? 転写文字を使用する以上、一つの文字コードで、全ての転写文字が定義されていなければお話にならない。&つまりある言語に対応して作られた文字コードでは転写文字の字形全てについて文字コードが定義されていることを期待できないのである。

たとえばzの下に点二つ、この字形について考えてみよう。まず標準のラテン文字のセット。フランス語のアクセント記号付きの文字やドイツ語のウムラウトなどはある。しかしzの下に点二つは、収められていない。一般的な西ヨーロッパ語の文字コードセットISO-2022には記載されていないのである。では、西欧言語用のISO-2022などより圧倒的に多くの文字を収める日本語用のShift_JISやISO-2022-JPではどうか? やはり記載されていない。そして、アラビア語で一般的なISO-0801-ARにあるかというとこちらにも無いのである。zの下に点などという文字は一般で使われる文字ではなく、きわめて学術的な用途の文字だからである。

このような特異な文字をきちんと定義しているのはUnicodeのみである。

Unicodeとは何か

Unicodeはおよそ世界中の実用的な文字全てをそのセットにいれることを理念としている。先に言及したISO-2022では西欧で使われるアルファベットしか入っていないし、ISO-2022-JPではアルファベットと概ねの漢字がおさめられているだけ(当然ハングルなどは入っていない)だが、Unicodeでは漢字もアルファベットもハングルもアラビア文字も一つの符号化方式で全て収められている。

実際にほぼ全ての転写文字がUnicodeでは定義されている。転写文字を使う際の文字符号化方式はUnicodeを使うのが妥当であろう。

文字コードとフォント

現状でメジャーなフォントでUnicodeに対応していないフォントはほとんどない。しかし、だからといってUnicodeで定義されている文字全てをフォントが持っているかというと、それは別の問題である。

対応フォント

Unicodeのラテン文字はいくつかのセットに分けられる。まず基本アルファベットを収めた「ラテン文字基本」とアクセント記号付の母音文字を収めた「ラテン文字追加」、セディーユなどの付いた文字を収める「ラテン文字拡張A」、北欧語などで用いられる特殊な文字を収めた「ラテン文字拡張B」である。この4つはUnicode表でも、先頭に所在しており、Unicode対応フォントのほとんどがこの4つについてはサポートしている。ところがラテン文字については、もう一つ領域がある。すなわちzの下に点などの特殊なラテン文字を収めたセットで、ずっと下のほうに「ラテン文字拡張追加」として収められている。表の中から字を探すだけでも見つけにくい上に、そもそもこの区域をサポートしているフォントはほとんどない。標準的なフォントではTimes New Romanなどは対応しておらず唯一Arial Unicode MSのみが対応している。

したがってArial Unicode MSが存在しなければ表示さえされない非常にレアな文字であって、キーボードからの入力の方法はないと考えた方がよい。では、どうすればよいのか? 以下、Microsoft WORDでの入力方法と、HTMLに使うためにテキストエディタ上からの入力方法について述べる。

東洋文庫のWebサイトコンピュータ利用に転写文字用のフォントとしてMidEast Timesが公開されているが、このフォントセットを用いた文書をWeb上で使用することは不可能である。これについてはAppendix 2を参照のこと。

WORDでアラビア文字のラテン文字転写を使う

ではWORDでアラビア文字のラテン転写文字を使ってみよう。面倒ではあるが、作業は至極単純である。Office標準のMS-IMEが表示されているなら、その中の文字パレットをクリックする。

Web上でアラビア文字のラテン文字転写を使う

Appendix.1 アラビア文字のラテン転写文字と転写文字のコード一覧表

Appendix.1では、アラビア文字とそのラテン転写文字、コードの一覧表を提供いたします。ただしここまで述べてきたようにフォントによって表示できるか出来ないかが大きく代わります。そこで下のパターンに従って参照してください。

Microsoft Office 2000、あるいはMicrosoft Office XPを導入している方:
アラビア文字のラテン転写文字と転写文字のコード一覧表Arial Unicode MS版
Windows 2000あるいはWindows XPを使用しているが上記Officeは導入していない方:
アラビア文字のラテン転写文字と転写文字のコード一覧表Lucida Sans Serif Unicode版
Windows 95, Windows 98, Windows MEを使用していて上記Officeも導入していない方:
ロンドン大学からLucida Sans Unicodeフォントをダウンロードして、インストールしてください。その上で上記アラビア文字のラテン転写文字と転写文字のコード一覧表Lucida Sans Serif Unicode版をご覧ください。
その他のOSの方:
なるべくUnicodeをきちんとサポートしていそうなフォントをインストールした上で、上記のどちらでも適当にご覧ください。

Appendix.2 Mid East Times for Windowsフォントについて

現在日本で流布している転写文字用フォントに東洋文庫のサイトで配布されているMidEastフォントがある。Timesフォントを基礎としたTrueTypeフォントで、非常に美しく便利な代物なものなのだが、いくつか問題点もある。本章ではそれについて論ずる。

Appendix.2 Mid East Times for Windowsフォントについて

Appendix.3 MidEast Timesで書かれた文字列を正当なUnicode文字列かHTMLでの数値文字参照文字列に変換するCGI

執筆待ち

Appendix.4 基本ラテン文字セットでの簡易転写文字列をHTMLでの数値文字参照に変換するCGI

執筆待ち

Appendix.5 Bomとrtl属性

用語集

ALA-LC:1997
合衆国議会図書館非ラテン語文書転写ラテン文字化方式表

合衆国議会図書館において非ラテン文字図書を整理するために編纂された転写法。1997年にALA-LC Romanization Tables: Transliteration Schemes for Non-Roman Scripts. Randal K. Berry (ed.). Library of Congress, 1997.として規格化された。アラビア語はそのうちのp.10-19に、ペルシア語はp.171-177に記載されている。

ほぼ業界標準の地位を得ており、日本の図書館での資料カードでの転写もおおむねこの方式に従っている。

現代ペルシア語用のテーブルがないのが難点である。また手書きを想定しているため、Unicodeにも含まれない転写文字がある。

ASCII
American Standard Code for Information Interchange
情報交換用米国標準符号

1963(昭和38)年に、ANSIの前身ASA(American Standards Association)により策定された文字コードの規格。現在のANSI X3.4に相当しており、その国際仕様としてISO 646、日本仕様としてJIS X0201などの各国仕様が存在する。

特徴は数字や英字が順番に並んでいるため、コンピュータで処理が行ないやすい点である。しかし7ビットのコード体系であるため、ドイツ語やフランス語のようなラテン系アルファベット文字が無いなどの問題もある。

HTML
Hyper Text Markup Language
  • 文書構造記述用言語
  • 文章に定義付けを行なうことでハイパーテクストを実現するSGMLに準拠したマークアップ言語. 定義付けは文章中にタグを挿入することにより行なわれ, その文法はDTD(Document Type Definition)によって規定されている. WWW(World Wide Web)のページの作成において最も普及している標準的な言語である.
  • 一部の解説書で “HTMLはプログラミング言語である” という記述がある. 言語であること自体は間違いではないが, HTMLでコンピュータを制御することは絶対に出来ないので “プログラミング言語” という説明は不適切である.
ISO 233:1984

ISO(国際標準化機構)によるアラビア文字ラテン文字化転写法に関する仕様。1964年に初版が出ており、1984年に改版されVersion.2となった。この仕様の特徴は、転写に重点を置いているため、他方式で2文字で表される転写も全て一文字となることである。技術文書においてアラビア文字を転写する際には、この方式に従うことになっている。しかしながら長母音や、アリフ・マクスーラ、ター・マルブータなどの処理に若干の問題があり、広く使用されるには至っていない。ISO 233-2, ISO 233-3というサブセットがある。

国際連合方式、合衆国議会図書館方式と異なり、五十ドル払って標準文書を購入しなければ閲覧することが難しいのは弱点である。

ISO 233-2:1993
ISO 233-3:1999

ISO(国際標準化機構)によるペルシア語におけるアラビア文字ラテン文字化転写法に関する仕様。ISO 233:1984のサブセットである。

ISO 646
  • US-ASCII 規格を元にした1バイト文字コードの国際規格. 基本はASCIIと同じだが, 指定の12文字に任意の文字を割り当ててよい事にした. 日本のJIS X0201では, 5/12の位置にバックスラッシュの代わりに円 “¥”, 7/14の位置にチルダの代わりにオーバースコア “ ̄” 文字を割り当てている.英国BSI4730規格では2/3の位置にポンド “£” を割り当てている. またドイツDIN 6083では5/11~5/13, 7/11~7/13にAOUaouのウムラウト文字(¨付き文字のこと)と, 4/0, 7/14 に “§”, “β”(正確にはベータではなくエスツェットという特殊な文字)の計8文字を割り当てている.
  • ドイツ語のようなラテン系アルファベット文字を使う言語に関しては, 近年ではISO 8859規格を利用して, 8/0~15/15(右側)の範囲にこれらの文字を割り当て, 0/0~7/15の範囲はASCIIと同等にする方法が一般的になってきた.
ISO-2022-JP

複数の言語文字(文字集合)を切り替えて利用するISO-2022のサブセット規格で、日本語文字コードの符号化を規定した仕様。RFC 1468で規定されている。

JIS X0201前半の英数記号と、JIS X0208第1・2水準漢字、そして旧JIS漢字集合のJIS C6226互換(JIS X0208:1973)をサポートしている。つまり、JIS X0201後半のカナ(通称半角カナ)はサポートされていない。

この後継仕様に、ISO-2022-JP-1(RFC 2237)やISO-2022-JP-2(RFC 1554)などがある。

RFC 1468(http://www.rfc-editor.org/rfc/rfc1468.txt)

ISO 8859
  • ISOによって規定された文字集合の規格で, 8ビットで文字が表現されるうちの右半分(GR領域)用に用意されたシングルバイト文字コード.
  • ISO-2022規格と併用して使われる場合, GR領域に呼び出して利用するが実際には複数の種類が存在しており, 次のような言語に対応している.
MidEastTimes font

日本でアラビア文字転写のためにTimesフォントを基礎に作成されたTrueTypeフォント。

実際にはUnicodeテーブル上に配置されている文字を、Latin-1 Suppelement領域を強引に外字に割り当てて表現しているため、フォントを埋め込める文書形式でなければ、意図したとおりに表示されることはまずなく、データ交換など通信で用いるには不適当である。

東洋文庫から配布され、イスラーム地域研究を通じて広く用いられたため業界標準と化している感がある。

Shift_JIS

JIS漢字コード(JIS X0208)を再配置(シフト)し、多バイト文字と1バイト文字(JIS X0201)をエスケープなどで切り替えることなく同時に扱えるようにした文字コードの符号化の方法(CES)のことで、略して “SJIS” とも呼ぶ。シフトJISはあくまで符号化の方法であり文字集合(CCS)の規定ではないので、これを “文字コード” と表現することは正確ではない。これはMicrosoftにより提唱され、MS-DOSやWindows、Macintosh、そして一部のUNIXなどで広く使われている。発案者がMicrosoft(より正確にはASCIIマイクロソフトであるらしい)のため、これを “MS漢字コード”(MS_KANJI)と呼ぶ事もある。

シフトJISは単なる符号化の方法(CES)なので、元となる文字集合(CCS)に各社が勝手に独自の外字文字を定義したりしており、多様な種類がある。当然それらは互いに互換性が無いのでJIS規格外文字を使用した場合は情報交換出来ないが、この一定の法則に従って符号化された物はシフトJIS 総称されるため、”Shift_JISとはいったい何を指すのか” という問題を孕むこととなった。この問題は、例えばシフトJIS→Unicode変換のような作業を行なう場合に特に重大な問題としてのしかかってくることになる。一応IANAには文字集合(CCS)が純粋なJIS X0208と思しきものが登録されている。

UNGEGN:2000-Arabic, UNGEGN:2000-Persian
国際連合地名ラテン文字化方式-アラビア文字/ペルシア語
..
Unicode
  • 元々は, ISO/IEC 10646-1によって定められる31ビット固定長文字コード規格のUCS-4で, 00群00面(上位16ビットがすべて0となる領域)のことを意味していた. これはBMPと呼ばれ, これを16ビットで表現したものをUCS-2と呼ぶ. 最大で65,536文字が表現可能だった.
  • UnicodeはASCIIなどの英数文字や日本語を始め, 中国語・韓国語・台湾語などの漢字文字, 梵字やキリル文字, ハングル等も含め, 全ての国語文字のコード化が目標とされた. HTMLなどの文書や, Windows NTなどのOSで採用されたが, 16ビット固定長では文字数の制限もあり世界中の文字を収録することは到底不可能である. そこでUnicode 2.0から “サロゲートペア”と呼ばれる方式で, 必要に応じて2バイト(1バイトは16ビット)で1文字を表現することで文字を大幅に増やす方式(UTF-16)を採用した. これにより扱える文字数が2^20 + 2^16 – 2048(サロゲート)で, 最大1,112,064字となった. また “連結用文字” というものも作られ, 例えば “が” を “か” と連結用 “゛” で表現するようなことも可能となった. これにより16ビット固定長という概念は完全に崩壊したといえる.
  • 更に後のUnicode 3.1からは, U+0E0nnnnというコードに現在の言語を表わすための “言語タグ” と呼ばれる言語指定コードなどが追加されている. 言語タグについては問題も多いが, U+0E007Fというコードを入れると, それ以降の言語タグは無視されるという仕様がある. さらに “異字体タグ” と呼ばれる包摂文字コードの切り替え機能を用意しようという動きもあるが, Unicode 3.1のβテスト時点では規格化はされていない.
  • シフトJIS(Shift_JIS)等の元が8ビットの符号系と大きな違いは, 最初から16ビット単位として設計されている点にある. UCS-2ではある16ビットを取れば, それがBMP文字なのかサロゲートペアの上位なのか下位なのかが確実に判別できる. シフトJISなどで発生していたマルチバイト文字での問題が, UCS-2では大幅に改良されている.
  • なお, ISO規格とUnicodeは直接は無関係で, ISO/IEC 10646が公的規格なのに対し, Unicodeは米国の “Unicodeコンソーシアム” という団体により策定されている規格. 両者が連携を取り合って規格が作られている.
Unicode対応フォント
Unicode対応フォント
UTF-8
Unicode Transformation Format-8
  • UCS-2(Unicode)やUCS-4(ISO/IEC 10646)を8ビット文字で表現できるように変換したもの. 本来16ビットのUCS-2(Unicode)を1~3オクテットに, また本来31ビットのUCS-4を1~6オクテットの不定長に変換する. RFC 2279にて仕様が規定されている.
  • Javaでは実行ファイル(バイトコードと呼ばれる)内部で実際に用いられている文字コード符号化の方法であり, Java以外でもInternet ExplorerやMicrosoft Wordなどでサポートされている.
  • この方法を用いるとASCII文字が8ビット長で表現可能となり, 従来の英語圏環境の文字コードと互換性が保たれるため, 従来英語専用だったソフトウェアを新規に多国語対応化する場合などには非常に有用な表現方法である. これまではシフトJIS(Shift_JIS)やEUC-JPのような拡張方法を使ってきたものに取って代わる拡張法といえる. なお, MIMEで文字コード符号名を指定する場合は “UTF-8” とする.
  • 符号化された文書がUTF-8であるかどうかを識別するために, 文書の先頭にはUnicode Signatureと呼ばれる3オクテット0xEF, 0xBB, 0xBFが付加される. 黎明期のUTF-8にはそのような規定が無かったため古いUTF-8文書にはUnicode Signatureが無いものもあるが, 現在それは “UTF-8N” と呼ばれている.
UTF-8N
UTF-8 Normal
Unicode Signatureと呼ばれる3オクテット0xEF, 0xBB, 0xBFが付加されていないUTF-8符号列のこと.
合衆国議会図書館非ラテン語文書転写ラテン文字化方式表
ALA-LC:1997を参照せよ
国際連合地名ラテン文字化方式-アラビア文字/ペルシア語
UNGEGN:2000-Arabic, UNGEGN:2000-Persianを参照せよ。
シフトJIS
Shift_JISを参照せよ
数値文字参照
numeric character references
  • SGML系言語で, 文字番号を利用した文字参照のこと. ‘&’と’;’の間(初期状態の場合)に文字番号を記述する. ‘#’ に続けて数値を書いた場合には10進数値として, ‘#x’に続けて書いた場合は16進数値として処理される.
  • 文字番号はSGMLアプリケーションの実装に依存するが, 現在のSGMLでは文字番号にUCS-4(いわゆるUnicode)を利用するのが一般的である. しかし, 中にはNTT DoCoMoのiモードのようにシフトJISでの文字番号を要求するような非常識な実装も存在する.
転写
transliteration

本稿では文字転写のこと。翻字。ある文字体系の文字列を、別の文字体系に移植することをいう。ラテン文字へと転写されることが多い。たとえば日本語のローマ字がそれにあたる。

日本でもローマ字の使用法がヘボン式、訓令式などに分かれるように、標準が乱立する傾向がある。さらに転写の際に古典ラテン語標準セット以外のアルファベットを用いる(たとえば長音を表すために母音の上に線を付加する)ことが多いため、あわせて四百字近くのヴァリエーションを生むことになった。

現在では、他言語のフォントもきわめて容易に手にはいるため、その必要性は疑わしい。また発音を表すためにはより厳密なIPA発音記号を利用するべきである。

日本業界慣用転写法

日本イスラム協会の「イスラム世界」や中東調査会の「中東研究」などで行われている転写法。実際は「合衆国議会図書館アラビア語/ペルシア語ラテン文字化方式」に準拠したサブセットと言える。

一般に平凡社の「イスラム事典」の転写法が参照されているが、「イスラム事典」にはアラビア語の転写が一覧表として掲載されているだけなので、実際の使用には若干の異同があると思われる。特にペルシア語は「合衆国議会図書館非ラテン語文書転写ラテン文字化方式表」においては、短母音e,oをそれぞれi,uとする十九世紀以前の発音に照らしたものしか提示されていないため、現代ペルシア語は独自に現代音に直したものが使用されている。2002年に出版された「岩波イスラーム辞典」ではペルシア語も含めて詳細化されている。

特に標準化されているわけではなく、標準文書もない。本稿では、おおむね「それと思われる」ものに従った。as isということである。

文字エンコード
例えば日本語文字コードで規格として規定されている句点コードをコンピュータで扱えるようにISO-2022-JPやシフトJIS, EUC-JP等のASCIIの上に被さるような形式に変換することもエンコードする, と呼び, 変換する形式を文字エンコードと呼ぶ.
文字コード
Character Code
  • 文字に割り当てられた番号のこと.
  • ISOによる規格化が行なわれ, 各国語の文字コードは, この基準に基づいて規定される. 多バイト文字コードとしては, 日本のJIS X0208(6,353字)のほか, 中国のGB2312(6,763字), 韓国のKS X1001(4,888字), 台湾や香港のBig5(13,053字)など, 国の都合により幾つかの規格が存在する.
  • 1バイト文字は ISO 646 と ISO 8859 規格が標準的に利用されている.
  • ※1バイト文字配列例

    1. ISO: ISO 646
    2. ASCII: ANSI X3.4
    3. JIS: JIS X0201
    4. EBCDIC
    • 基本的に(2)と(3)は, (1) の ISO 仕様に合致する.
    • また日米のほかにも各国が独自に (1) の ISO 仕様に準拠した文字配列を使用しているが, 近年では ISO 8859 規格を利用し, 0/0~7/15 は変更しないで, 8/0~8/15の範囲に言語特有の文字を割り当てる方法が多く利用されている.
  • ※多バイト文字符号化(エンコード)方法(日本語)

    s

    注意したいのは, “文字コード” と “文字エンコード方法” の違いである. 日本語は句点コードなどの表形式で “文字コード” が規定されているが, そのままの文字番号では US-ASCII と共存できないため現実的な問題として “使えない”. そこで, これと共存できるように, 元の形を残しつつ番号を加工する必要がある. それがISO-2022-JPやシフトJIS,EUC-JP だったりしていて, これらは文字エンコード方法, 略して文字エンコードと呼ぶのである. 一般にシフトJIS等を文字コードと呼ぶことがあるが, これは不正確な表現である.

    従って『シフトJIS や ISO-2022-JP は “文字コード” ではない』. 文字コードのエンコード(符号化)方法を定めた規定に過ぎないのである.

参考文献とリンク

変更履歴

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*