ホーム > WWWページ作成について > Windows 2000上でのUTF-8のページの作り方

Windows 2000上でのUTF-8のページの作り方


2004.3.27 高橋 誠

目次

なぜ、UTF-8なのか?

アクセント記号付き文字

 世界の文学者の原綴やトールキンの物語に出る名前を正しく表そうとすると、アクセント記号付きの英字を日本語に混ぜて表記したくなります。Internet Explorerでは、éと書くと、Saint-Exupéryのようにeの上にアクセント記号が載った記号が表示できます。
 Netscape Navigatorでご覧の方はすでにお分かりのように、これは3.04といった古いバージョンでは化け文字になったり、4.0x以降の新しいバージョンでは?になります。これを正しく表示しないのはHTML 4.01 Specification (W3C) 内田明訳に違反していますが、かなり多くのNetscape Navigatorのユーザを無視するわけにはいきません。と思ってがんばったのですが、高橋のページのアクセス統計によるとNetscape Navigatorでアクセスする方は10パーセントくらいで、しかもほとんどバージョン6以降になったようです。
 Netscape Navigator 4.7xでもこれを表すにはUTF-8しかないようです。Mozillaでは正しくサポートされているので、これと同じくサポートされているNetscape Navigator 6が正式リリースされました。その意味ではutf-8の必要は減ったようです。
 具体的にどの文字が見えないかは、Windows 2000上のHTML 4.01の文字実体参照のサポート状況にまとめました。

多言語表示

 さらに、ギリシア文字でイソップの名前を語尾のσを区別して正しく書いたり、カレル・チャペックの名前の原綴を厳密に書こうとすると、Latin2やJISに入っていないギリシア文字も混ぜたくなります。これも今のところUTF-8しかないようです。

補助漢字

 JIS X 0212-1990(JIS補助漢字)で追加された漢字もUTF-8で見ることができます。これはISO-2022-JP-2でもいいみたいですが、UTF-8よりさらにマイナーなようです。

JIS X 0213

 JIS X 0213-2000で追加された文字のうち、すでにUnicodeに登録されている字はUTF-8で見えます。逆に中国や韓国対応ですでに入れられているがJIS X 0213-2000にはない文字もあるようです。

テングワールとキアス

 Dan Smithさんのテングワールフォントは、アクセント記号付き文字も使っていますので、Netscape Navigatorでも日本語に混ぜて表示するためには、UTF-8にする必要があります。

IPA発音記号

 これはunicodeでIPA ExtensionsとSpacing Modifier LettersとCombining Diacritical Marksとして決められています。Windows 2000に付いてくるLucida Sans Unicodeというフォントにすべて実装されています。UnicodeのIPA発音記号の一覧にunicodeによる一覧表とWindows 2000上でのフォントごとの実装状況を示しました。

UTF-8NとUTF-8とBOM

 Unicode関連のエンコード方式ですが、UTF-16等とは容易に区別がつくのですが、UTF-8とUTF-8Nは少し厄介です。unicodeのストリームのビッグエンディアンかリトルエンディアンを表示するために、Byte Order Markというのが決まっています。
 UTF-8でもBOMを使うことについてはUTF & BOMに、「使ってもいいがUTF-8では意味がない」とあります。
 現在、エディタ等のツールで単にUTF-8というとこのBOM付きということになっています。逆にBOMのないのをUTF-8Nと区別するようです。しかし、Netscape Navigator 4.7xでは、BOM付きのUTF-8は先頭にゴミがあるとみなします。また、IANAのエンコード方式には、UTF-8しか定義されていません。ここでのUTF-8の目的はNetscape Navigator 4.7xでも多国語文字を混在させることですから、HTMLに使うときは、 とすることになりますのでご注意ください。

どうやってUTF-8を使うか? エディタとオーサリングツール

 というところまでは分かったのですが、さて、どうやったらUTF-8のページが作れるのでしょう?

SimpleMemo

 Shift-JISのページは秀丸エディタ(その秀丸エディタがunicodeサポートするようになりました。)で作っているので、同様なエディタを探したのですが、まずみつかったのがJava 1.1.4を前提にしている大げさなエディタでした。
 ところが、このエディタは「〜」も知らない大間抜けで、そのことをメールで指摘すると「〜はJISコードにないので、JREはサポートしていないようです。」なんてとぼけた返事がきました。JISコード表も持たずに仕事をされているようです。もちろん、JIS X 0208にはちゃんと「〜」が「符号表上の位置」1-33に載っています。Shift-JISからの変換をしても、「〜」が?になります。また、語尾のσも?になります。
 Java 1.2では「〜」は表示できるようになりましたが、UTF-8についてはLatin1のアクセント付き文字もアクセントなし文字にしてしまう「仕様」なんで使い物になりません。
 マイクロソフト社のCommand-line Loader for Javaを前提にして動かすと一応、アクセント記号付き文字は表示できました。ただ、非常に不安定で、私的 児童文学作家事典〔海外編〕訳者名索引 ナ行を編集しようとしたらひっくりかえりました。また、DOS窓が開く上にとても重いです。
 信じられないのでしょうが、この「仕様」の「HTMLエディタ」をフリーソフトで配布しているのではなく、売られているそうです。確かめたい方はMediaKobo Corp.からどうぞ。

xyzzy

 亀井 哲弥さんのエディタです。(ツール)−(共通設定)の(フォント)でASCIIにCourier New、日本語にMS 明朝を指定すると高橋の希望するUTF-8コードはIPA発音記号以外は表示出来ました。2000年4月17日の0.2.0.137以来IPA発音記号も表示できるようになりました。表示出来ないコードも?にしたりしません。
 インストールも簡単だし、UTF-8を自動認識するし、動作も早いし、現在一押しです。
 コード変換して保存するときは、Unicode(UTF-8N)を選びます。
 Unicode指定による文字入力ができます。

Meadow

 かの有名な「マルチリンガルエディタ」ですが、標準ではUTF-8に対応していません。.emacsというファイルにいろいろと設定が必要です。そこまでしても、

 これを確かめた手順をWindwos 2000上でのMeadowの動かし方として纏めましたのでご参考まで。

UniEdit

 Duke大学のThe Humanities Computing Facilityで開発したUniEditというのがあり、45日間は無償でテスト出来るというのでやってみました。Kenju KudoさんのUniEditに日本語で書かれたインストール手順とドイツ語を使うための手引があります。
 一応、ドイツ語のウムラウトの付いた文字やギリシア文字の語尾のsとかはちゃんとかはちゃんと表示できました。
 1999年以来バージョンアップがないようです。

Aprotool TM Editor

 前寺正彦さんのAprotool TM Editorだとこれまで書いたことはすべてできました。ただしシェアウェア。Windows 2000環境ですと「オプション」−「フォントの設定」で「MS 明朝」と設定すると補助漢字もアクセント付き記号も語尾のσもちゃんと表示してくれました。拡張文字のコード入力もできますし、文字介入力でコード表からのコピーもできます。3.10から文字コードの自動認識と「編集用補助行番号」として、改行を数える行番号が追加されました。
 ファイル変換後の保存時の文字コードはUTF-8 Normalを選びBOMボックスをチェックしないようにします。
 Unicodeによる文字指定が可能です。

JVim 3.0(Japanized Vim)

 土田 健一さんが、「viクローンのエディタ Vim 3.0 を、小笠原博之さんの簡易日本語化パッチを元に、中村敦司さんの Vim 2.0 のパッチをマージしてOnewメイリングリストの方々の協力の元、日本語化したもの」です。
 残念ながらフォントの設定がいじれなくて、JIS X 0208(JISコード)以外の字は?になって表示できません。?にしたのは一部は実体も変えてしまうのでご用心を。

Windows 2000メモ帳

 UTF-8を自動認識しますし、これまで書いてきたことも全部できました。また、100kBくらいまで編集できるのでたいていのページを編集できます。フォントはデフォルトのFixedSysでもたいていの文字が表示できますが、それで見えない字は、MS ゴシックにしてみましょう。ただし、BOMという識別子を先頭に追加してしまいます。これはメモ帳自体では取り外せないので、注意が必要です。秀丸でShift-JISとして開き、最初の2文字を削除すればいいのですが。

akira21 1.00.5

 UTF-8を自動認識します。ただしシェアウェア。akira32からakira21になり、Unicodeベースにしました。
 変換したときのファイル保存時はUTF-8を選び、「BOMを付ける」をチェックしないようにします。残念ながら現在サポート頁が見当たりません。

EmEditor 3.05

 これまで書いてきた文字はすべて変換できました。ただしシェアウェア。UTF-8も自動認識するようになりました。
 変換したときのファイル保存時はUTF-8を選び、「Unicodeサイン(BOM)を付ける」をチェックしないようにします。

秀丸エディタ 3.08 β1

 3.06から本格的にUnicodeをサポートしました。これまで書いてきた文字はすべて変換できました。ただしシェアウェア。UTF-8を自動認識するとありますが、(その他)−(動作環境)の「文字コードの自動認識をする」をチェックする必要があります。UTF-8で保存するとBOMは付けません。
 3.07ではロシア文字が未サポートで更新すると文字化けになります。
 3.08 β1で訂正されました。

Ziro 0.115β

 Windows 2000専用ですが、これまで書いてきた文字は全部変換できました。UTF-8のBOM付きしかサポートしていません。現在、UTF-8の自動認識はありませんが、(ファイル)−(開きなおす)でエンコード方式が簡単に切り替えられます。行番号も「エディタ的」です。また、HTMLエディタとしてもタグの色つけなどが出来ます。残念ながら現在サポート頁が見当たりません。

Netscape Composer 4.7

 Shift-JISで作ったページを読み込み、UTF-8への変更を指示すると一応コードは変更されます。ギリシア文字もロシア文字も変換するようですが、「〜」がちょっと変な字になり、なんと、Internet Explorerで見ると「豆腐」になる文字に変換してしまいます。他の文字の変換をあわせて、この関係を文字の変換についてにまとめました。
 htmlの文法エラーが出過ぎる上に、相対指示してあるファイル参照をfile://に変えてくれたりなかなかお茶目です。

Netscape Composer 4.72

 Shift-JISとUTF-8の変換がFrontPage Expressと同じになりました。

Windows 2000用 Mozilla Composer 1.6

 文法エラーを作るのがかなり減ったようです。まだ、ちょっと不安定ですが。

以外は直す気はあるようです。詳細はNetscape Navigator/Mozillaの問題点

MS Word97

 UTF-8については一応サポートしています。ただ、 と敬虔なHTML Lint教徒には耐えられないソースになってしまいます。

MS FrontPage Express 2.02.1108

 こちらも</li>を改行して追加してくれたり、class=xxを消してくれたりなかなかお茶目なんですが、今のところ日本語コードを間違えて変換することはないようです。ただ、ある程度以上長い日本語文字列があると、改行をUTF-8コードの都合を考えずに挿入してしまいます。これをFrontPage Express自身で訂正しようとするとどんどん文字化けが進み収拾が着かなくなります。「〜」もNetscape Navigatorでも表示できるコードにしてくれます。
 文字参照で書いた文字もUnicodeに変換してくれます。せいぜい3バイトですむのでスペース削減のためでしょうか。
 &nbsp;もU+3000(CJK Symbols and PunctuationのIdeographic Space)に変換します。6バイトが3バイトになりスペース削減になりますが、Netscape Navigatorでは、Unicodeのフォントを日本語フォントにして置かないと「豆腐」になります。おそらく、このコードが日本語の全角空白に対応するからでしょう。

MS FrontPage Express 2.02.1131

 Internet Explorer 5に添付されたFrontPage Expressです。UTF-8コードの都合を無視して改行を追加するのだけはなくなりました。

MS FrontPage 2000 4.0.2.3821(SR1)

 (ツール)−(ページオプション)−(HTMLソース)に「ファイルの保存時」「既存のHTMLを保持する」というオプションが出来て、HTMLタグを改変するのがかなり減りました。
 今のところ見つけたのは、 くらいです。

Tango Creater 3.1.1

 UTF-8をサポートしているとの触れ込みなんですが、上記頁の指定どおりにbcr31.exeで基本モジュールを組み込んだ後、mcr31ja.exeを組み込んでもうまく行きません。ftp://ftp.alis.com/alis/mc31jaja.exeを組み込みました。
 そうやっても、  http://www.alis.comでは、掲載を止めています。(2001.2.10)

エディタとオーサリングツールのまとめ

 UTF-8サポートについて次の表にしてみました。サポート状況については、実施例の字について調査しただけなので、×については間違いありませんが、○については抜けていることはありえます。
ツール名称 JIS X 0212 拡張ラテン IPA サポート外の文字 自動認識 行番号の表示 Unicodeによる入力
SimpleMemo × × × ?等に変換 × × ×
xyzzy 実体は変更せず
Meadow × ?に変換 × ×
UniEdit × × ×
Aprotool TM Editor
JVim × × × ?に変換 × × ×
Akira21 ×
Windows 2000メモ帳 × ×
EmEditor
秀丸エディタ ×
Ziro × ×
Netscape Composer ×
Mozilla
Netscape Navigator 6.0
×
MS Word97 ×
FrontPage Express ×
Tango Creater × × 不明 不明 不明 ×

便利なツール

charmapx

 益山健さんの作られているツールでフォントを指定するとUnicode順に表示してくれます。これでIMEや文字コード表で見つからない補助漢字も見つかりました。また、ここから、FrontPage Expressや秀丸にUTF-8で貼付ることも可能です。

UTF-8ページの作成手順例

 という訳で次のような手順で作っています。
  1. まず、Shift-JISで日本語の部分を作っておき、xyzzyでUnicode(UTF-8N)を指定して保存して、UTF-8に変換します。ロシア文字、普通のギリシア文字も変換してくれます。UTF-8をサポートしていないユーザーエージェントや全文検索エンジンのためにShift-JISのページも残します。
  2. ギリシア文字の語尾のσの様にShift-JISコードにない文字をCharamapx等で見つけて貼り付けます。ここで、(編集)−(クリップボードエンコーディング)をUTF-16にしておきます。毎回指定するのが面倒な場合、xyzzyの下のsite-lispディレクトリにsiteinit.lと言うファイルを作り、
    (setq-default *clipboard-char-encoding* *encoding-utf16*)
    と書いておくと便利です。また、Windows系のキーボードマッピングの方が使いやすい方は、「ビル・ゲイツの犬」といわれることを覚悟して、
    (load-library "Gates")
    も追加しておくと便利です。これらの操作の後は、xyzzyフォルダの下のxyzzy.w2kを削除してxyzzyの再起動してダンプをやり直します。
  3. C q(CTRLキーを押しながらqキーを押す)とするとUnicodeを直接指定することも出来ます。
  4. 補助漢字については、Windows 2000のフォントでも「MS 明朝」等でないと表示できないので、スタイルシートかfontタグで指定しておきます。ただし、日本語によるフォント指定は、Netscape Navigator(4.7x以前、以下同様)を混乱させるので、スタイルシートにして@importでInternet Explorerだけに見せるのがお勧めです。つまり本文は、
    <head>
       ・
    <style type="text/css"><!--
    @import url(./ie.css);
    --></STYLE>
    </head>
       ・
     <span class=min>補助漢字の文字</span>
    としておいて、ie.cssというファイルをUTF-8で、
    .min { font-family: "MS 明朝"}
    と書いておきます。
  5. Netscape Navigatorは、unicodeでも、cssにせよfontにせよ日本語の名前のフォント指定を無視しますので、(Edit)-(Preference)のフォントで「MS 明朝」を指定して、文書全体のフォントを変更するように「お願い」を書いておきます。実は、フォント指定だけをShift-JISで書けばうまく行くのですが、もちろんInternet Explorerでは読めません。
  6. 逆にJISコードにあるギリシア文字やキリル文字を「MS 明朝」で表示すると幅が広くて格好が悪いので、Times New Roman, Garamond, Bookman Old Style, Tahomaとフォントを並べて見ました。ただし、Netscape Navigatorは日本語に対する英字用のフォント指定を無視します。Mac版のNetscape Navigatorはさらに悪いことに日本語に対して英字用フォントを指定すると「豆腐」になります。これを逃げるために、Internet Explorerしかサポートしていない、@importで取りこみを指定したファイルにこのフォント指定を移します。(これはInternet Explorer 5になり、UTF-8のhtml文書の中で文字によってフォントを選んでくれるようになったので意味がなくなりました。)
  7. これはUTF-8に限りませんが、<head>と</head>の間に次のタグを入れてエンコーディング方式を指定しておかないと文字化けするようです。正式にはhttpヘッダで指定しますが、ダウンロードした後に参照すること等を考えると書いておいて悪いことはないでしよう。
     <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
  8. UTF-8に限らずHTML文法のチェックは、99/7/15以来UTF-8もサポートしたAnother HTML-lintで行うことをお勧めします。ローカルに使う方法はAnother HTML-lintをWindows 2000で動かす(l)を参照ください。
 もっとうまいやり方ご存じの方はぜひご教示ください。

ユーザーエージェント(ブラウザ)の仕様

Windows 2000用 Mozilla 1.6 Netscape Navigator 6.0

 英語版でデフォルトでもUTF-8のページの日本文字が表示されるようになりました。また、他の問題点も改善されています。

Windows95/98用 Internet Explorer 4.01SP1

 Internet Explorerもユニコードに対してフォント指定がありますが、Times New Romanにしてあっても日本語は「豆腐」になりません。ただ、「日本語」に対するフォントをゴシックに指定しても明朝になるのでどこを見ているのかは謎です。

Windows95/98用 Internet Explorer 5

 ユニコードに対するフォント指定はなくなりました。unicodeの場合、それぞれの言語に対するフォント指定を使うようです。
 IPA Extensionsと一部のSpacing Modifier Lettersの文字だけはMS明朝やMSゴシックに入っているのですが、これを使っても一部の文字(U+0251とU+0261と実装されているSpacing Modifier Letters)を除いて豆腐になります。そのかわり、ハングルの表示を組み込んでおくと、長音記号のU+02D0はGulimCheのフォントを探してきて表示します。
 どうも、Internet Explorerはunicodeの文字ごとにフォントを使い分けることにしていて、IPA ExtensionsはChinese-GB2312として扱っていてMS Heiを使っているようです。しかし、IPA Extensionsを実装しているのはMS明朝だけなので、U+0251とU+0261以外は「豆腐」になるのではないでしょうか。
 また、このフォントを探す機能の副作用で128以上のコードを使っているテングワールのフォントが効かなくなったようです。
 Office 2000に付いている、Arial Unicode MSを組み込んで指定すると、IPA Extesionの文字はちゃんと見えます。しかし、Latin Extended-Bの文字はフォントにあっても表示しません。

Windows 2000用 Internet Explorer 5

 128以上のコードを使っているテングワールのフォントが効かない問題点は発生しません。

Windows 2000用 Internet Explorer 5.5

 一部のテングワールのフォント指定が効かなくなりました。特定の文字で起こるのではなく、文字の並び等に依存するようです。

Tango 3.1.1

 UTF-8をサポートしているとの触れ込みなんですが、上記頁の指定どおりにbcr31.exeで基本モジュールを組み込んだ後、mcr31ja.exeを組み込んでもうまく行きません。ftp://ftp.alis.com/alis/mc31jaja.exeを組み込みます。そうやっても、

Opera 6.05

 「世界最速のプラウザ」が日本語表示もサポートしました。

実施例

 高橋のページの中では次の通り、UTF-8を使っています。UTF-8対応ユーザエージェントをお持ちの方はご覧ください。
UTF-8のページ一覧
理由
私的 児童文学作家事典〔海外編〕ア行 アスビョルンセンのoにslashの入った文字
イソップの語尾のσ、ラテン文字に翻字したときのoのマクロン(上の線)
私的 児童文学作家事典〔海外編〕カ行 ケストナーのウムラウト
私的 児童文学作家事典〔海外編〕サ行 サン=テグジュペリのアクセント記号
ジーハのアクセント記号(Latin2文字)
スラビーのアクセント記号
私的 児童文学作家事典〔海外編〕タ行 チャペックのアクセント記号(Latin2文字)
デュボアのアクセント記号
私的 児童文学作家事典〔海外編〕ナ行 ネストリンガーのウムラウト
私的 児童文学作家事典〔海外編〕ハ行 バラージュのアクセント記号
バルトス=ヘップナーのウムラウト
ヒメネスのアクセント記号
プリョイセンのoにslashの入った文字
ヘルトリングのウムラウト
私的 児童文学作家事典〔海外編〕マ行 モオ,ヨルゲンのoにslashの入った文字
モルナールのアクセント記号
私的 児童文学作家事典〔海外編〕ラ行 リュートゲンのウムラウト
私的 児童文学作家事典〔海外編〕作家名索引(アルファベット順) 上記の一覧
私的 児童文学作家事典〔海外編〕作家名索引(五十音順)
私的 児童文学作家事典〔海外編〕訳者名索引 タ行 辻 ひかるの名前、王偏に星(補助漢字)
私的 児童文学作家事典〔海外編〕訳者名索引 野村 野村 ひろしの名前、水偏に玄(補助漢字)
私的 児童文学作家事典〔海外編〕訳者名索引 ハ行 萩原富美枝の萩の正式(?)表記。JIS X 0213-2000にもないようですが、UnicodeにはThe IBM 32 Compatibility additionsにU+FA20としてあり、Windows 2000にもフォントがありました。
『指輪物語』単語対照表 登場人物名(動物、妖怪を含む) トールキン関連の固有名詞のアクセント記号
「ブナ」木偏に無(補助漢字)
『指輪物語』単語対照表 地名トールキン関連の固有名詞のアクセント記号
『指輪物語』単語対照表 事物
粥村で聞いた話
Tengwar Sindarinフォントキーボード対応表 トールキンのテングワールフォント。
フォントのダウンロードが必要です。
Tengwar Quenyaフォントキーボード対応表
Tengwar Noldorフォントキーボード対応表
『指輪物語』追補編E書記法 IPA発音記号による説明。
SILのフォントを使って、Tengwarと同様に英字の位置に別フォントで表記する方法とunicodeのIPA ExtensionsとSpacing Modifier Lettersで表記してMSのオプションフォントで表記する方法とを使っています。どちらかのフォントのダウンロードが必要です。
UnicodeのIPA発音記号の一覧 Combining Diacritical Marksの一覧で、Windows 2000上でUnicodeで実装されているフォントで表示しています。
UnicodeのIPA発音記号の相違一覧 Unicodeの仕様とIPAの相違一覧です。IEではLatin Extended-Bの文字はフォントを用意しても表示できません。
HTML 4.01の文字参照に対応するunicodeの一覧 これらの文字をNetscape Navigatorでも表示するためにUTF-8を使いはじめました。

規格

 とりあえず、「日本語に混ぜて、アクセント付き英字等を表したい」ということでやってきたのですが、ツールを探す過程でいろいろなことが分かりました。

RFC 2279 UTF-8, a transformation format of ISO 10646

 UTF-8の最新の規格です。原本はもちろん英語ですが、ありがたいことに陸野 優樹さんが日本語訳を公開されています。

Unicode Consortium

 UTF-8の前提となるUnicodeの一覧があります。CJKというのは中国(China)、日本(Japan)、韓国(Korea)の漢字を同じ意味でほぼ同じ形の字にまとめてコードを振るところから付いています。ここから辿っていくと、Proposal to encode Tengwar in Plane 1 of ISO/IEC 10646-2とか、Proposal to encode Cirth in Plane 1 of ISO/IEC 10646-2がありました。これが通ってくれるとテングワールやキアスが機種非依存に広がるのですが。

文字の変換について

 伊藤隆幸さんと川俣晶さんが指摘されているJIS X 0208とUnicodeの対応がはっきりしない文字について手元にあるツールの出力/入力について調べました。まず、問題となるコードをShift-JISで書いてそれぞれのツールに貼り付け、どのUTF-8コードに変換するかUnicodeで示しました。ツールのバージョンは次の通りです。
各ツールの出力するUnicode
句点 シフト
JIS
文字FrontPage Express/
xyzzy/
Aprotool TM Editor/
JVim/
EmEditor/
Netscape Composer 4.72/
Mozilla/
Netscape navigator 6.0/
秀丸エディタ/
akira21/
Ziro
Netscape Composer 4.7以前/
Meadow
J2SE RE Uniedit
05/125C\U+005CU+00A5U+005CU+005C
07/147E~U+007EU+203EU+007EU+007E
01-068145U+30FBU+30FBU+30FBU+30FB
01-178150U+FFE3U+FFE3U+FFE3U+FFE3
01-29815CU+2015U+2015U+2014U+2015
01-30815DU+2010U+2010U+2010U+2010
01-32815FU+FF3CU+005CU+FF3CU+005C
01-338160U+FF5EU+301CU+301CU+301C
01-348161U+2225U+2016U+2016U+2016
01-358162U+FF5CU+FF5CU+FF5CU+FF5C
01-368163U+2026U+2026U+2026U+2026
01-61817CU+FF0DU+2212U+2212U+2212
01-818191¢U+FFE0U+00A2U+00A2U+00A2
01-828192£U+FFE1U+00A3U+00A3U+00A3
02-4481CA¬U+FFE2U+00ACU+00ACU+00AC
02-9481FCU+25EFU+25EFU+25EFU+25EF

 また、それぞれの出力するコードと伊藤隆幸さんと川俣晶さんが指摘されているUnicodeが各ツールでどう見えるかを示しました。Windows 2000上でフォントをMS 明朝に指定して確認しました。「双柱、平行」に対してNetscape Composerの出力する「小さい黒四角」はNetscape Composerで見てもそうなります。(^_^;また、実際UTF-8でのコードがどうなるか分かるようにWindows 2000上の各ツールの出力するUnicodeも用意しました。
 U+2016については最初「豆腐」になったのですが、少し間隔の狭い「双柱、平行」になりました。中文フォントのMingLiuやMS SongやMS Heiで表示できているようです。簡体字中国語か繁体字中国語のサポートを組み込むと見えるようになるようです。

 ここで、Unicodeのそれぞれの文字の説明はUnicode ConsortiumUnicode 3.0 Code Chartsを参照しました。

各ツールでのUnicodeの見え方
句点文字UnicodeUnicodeの分類Unicodeの説明Internet Explorer 5Netscape NavigatorMozilla/
Netscape Navigator 6.0
xyzzyAprotool TM EditorMeadowTangoJvimWindows 2000メモ帳akira21UnieditEmEditor秀丸エディタZiroOpera
4.7以前4.72以降
05/12\U+005CC0 Controls and Basic LatinReverse Solidus逆斜線(半角)円記号(半角)円記号(半角)逆斜線(半角)円記号(半角)円記号(半角)逆斜線(半角)逆斜線(半角)逆斜線(半角)円記号(半角)円記号(半角)逆斜線(半角)円記号(半角)円記号(半角)逆斜線(半角)逆斜線(半角)
U+00A5C1 Controls and Latin-1 SupplementYen Sign円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)円記号(半角)
07/14~U+007EC0 Controls and Basic LatinTilde波ダッシュ(半角)ティルダ(半角)ティルダ(半角)波ダッシュ(半角)波ダッシュ(半角)波ダッシュ(半角)ティルダ(半角)波ダッシュ(半角)ティルダ(半角)ティルダ(半角)ティルダ(半角)波ダッシュ(半角)ティルダ(半角)ティルダ(半角)波ダッシュ(半角)波ダッシュ(半角)
U+203EGeneral PunctuationOverlineオーバーライン(半角)オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)「豆腐」?オーバーライン(半角)オーバーライン(半角)小さい黒四角オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)
01-06U+30FBKatakanaKatakana Middle Dot中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒中黒中黒中黒中黒中黒中黒中黒中黒中黒中黒中黒(半角)
U+00B7C1 Controls and Latin-1 SupplementMiddle Dot中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒中黒(半角)中黒(半角)
U+2022General PunctuationBullet中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒中黒(半角)中黒中黒(半角)?中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)
U+2219Mathematical OperatorsBullet Operator中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)「豆腐」中黒(半角)?中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)中黒(半角)
U+22C5Mathematical OperatorsDot Operator「豆腐」中黒中黒(半角)中黒(半角)中黒(半角)中黒(半角)「豆腐」「豆腐」?中黒(半角)中黒(半角)小さい黒四角中黒(半角)中黒(半角)中黒(半角)中黒(半角)
01-17U+FFE3Halfwidth and Fullwidth FormsFullwidth Macronオーバーラインオーバーラインオーバーラインオーバーラインオーバーラインオーバーラインオーバーラインオーバーラインオーバーラインオーバーラインオーバーライン上付き+オーバーラインオーバーラインオーバーラインオーバーライン
U+203EGeneral PunctuationOverlineオーバーライン(半角)オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)「豆腐」?オーバーライン(半角)オーバーライン(半角)小さい黒四角オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)オーバーライン(半角)
01-29U+2015General PunctuationHorizontal Barダッシュダッシュダッシュダッシュダッシュダッシュダッシュ(半角)「豆腐」ダッシュダッシュダッシュダッシュダッシュダッシュダッシュ(半角)ダッシュ
U+2014General PunctuationEm Dashダッシュダッシュ(半角)ダッシュ(半角)ダッシュダッシュ(半角)ダッシュ(半角)「豆腐」ダッシュ?ダッシュ(半角)ダッシュ(半角)ダッシュ(半角)ダッシュ(半角)ダッシュ(半角)ダッシュダッシュ
U+2012General PunctuationFigure Dash「豆腐」ダッシュ(半角)ダッシュ(半角)ダッシュ(半角)ダッシュ(半角)ダッシュ(半角)「豆腐」「豆腐」?ダッシュ(半角)ダッシュ(半角)ダッシュ(半角)ダッシュ(半角)ダッシュ(半角)ダッシュ(半角)「豆腐」
01-30U+2010General PunctuationHyphenハイフン(半角)ハイフン(半角)ハイフン(半角)ハイフン(半角)ハイフン(半角)ハイフンハイフン「豆腐」ハイフンハイフンハイフンハイフン(半角)ハイフンハイフンハイフン(半角)「豆腐」
U+2013General PunctuationEn Dashハイフン(半角)ハイフン(半角)ハイフン(半角)ハイフン(半角)ハイフン(半角)ハイフン(半角)「豆腐」ハイフン(半角)?ハイフン(半角)ハイフンハイフン(半角)ハイフン(半角)ダッシュ(半角)ハイフンハイフン(半角)
01-32U+FF3CHalfwidth and Fullwidth FormsFullwidth Reverse Solidus逆斜線逆斜線逆斜線逆斜線逆斜線逆斜線逆斜線「豆腐」逆斜線逆斜線逆斜線逆斜線逆斜線逆斜線逆斜線逆斜線
U+005CC0 Controls and Basic LatinReverse Solidus逆斜線(半角)円記号(半角)円記号(半角)逆斜線(半角)円記号(半角)円記号(半角)逆斜線(半角)逆斜線(半角)逆斜線(半角)円記号(半角)円記号(半角)逆斜線(半角)円記号(半角)円記号(半角)逆斜線(半角)逆斜線(半角)
01-33U+FF5EHalfwidth and Fullwidth FormsFullwidth Tilde波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ波ダッシュ
U+301CCJK Symbols and PunctuationWave Dash(*2)波ダッシュ(上下逆)波ダッシュ(上下逆)波ダッシュ(上下逆)波ダッシュ(上下逆)波ダッシュ(上下逆)波ダッシュ(上下逆)波ダッシュ「豆腐」?波ダッシュ(上下逆)波ダッシュ(上下逆)波ダッシュ波ダッシュ(上下逆)波ダッシュ(上下逆)波ダッシュ(上下逆)波ダッシュ(上下逆)
U+223CMathematical OperatorsTilde Operator波ダッシュ波ダッシュ(半角)波ダッシュ(半角)波ダッシュ(半角)波ダッシュ(半角)波ダッシュ(半角)波ダッシュ「豆腐」?波ダッシュ(半角)波ダッシュ(半角)波ダッシュ(半角)波ダッシュ(半角)波ダッシュ(半角)波ダッシュ(半角)波ダッシュ(半角)
01-34U+2225Mathematical OperatorsParallel To双柱、平行双柱、平行双柱、平行双柱、平行双柱、平行双柱、平行双柱(少し右に傾く)「豆腐」双柱、平行双柱、平行双柱、平行双柱、平行(半角)双柱、平行双柱、平行双柱、平行双柱、平行
U+2016General PunctuationDouble Vertical Line双柱、平行小さい黒四角(*1)双柱、平行(半角)双柱、平行「豆腐」小さい黒四角(*1)双柱、平行「豆腐」?小さい黒四角(*1)黒四角小さい黒四角小さい黒四角双柱、平行(半角)双柱、平行(半角)「豆腐」
01-35U+FF5CHalfwidth and Fullwidth FormsFullwidth Vertical Line縦線縦線縦線縦線縦線縦線縦線縦線縦線縦線縦線縦線縦線縦線縦線縦線
U+007CC0 Controls and Basic LatinVertical Line縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)
U+2223Mathematical OperatorsDivides縦線縦線(すこし左より)縦線縦線(すこし左より)縦線(半角)縦線(半角)縦線「豆腐」?縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)縦線(半角)
01-36U+2026General PunctuationHorizontal Ellipsis三点リーダ(下より)三点リーダ三点リーダ三点リーダ(下より)三点リーダ三点リーダ三点リーダ三点リーダ(下より)三点リーダ三点リーダ三点リーダ小さい黒四角三点リーダ三点リーダ三点リーダ(下より)三点リーダ
U+22EFMathematical OperatorsMidline Horizontal Ellipsis「豆腐」三点リーダ(半角)三点リーダ(半角)三点リーダ(半角)三点リーダ(半角)三点リーダ(半角)「豆腐」「豆腐」?三点リーダ(半角)三点リーダ(半角)小さい黒四角三点リーダ(半角)三点リーダ(半角)三点リーダ三点リーダ(半角)
01-61U+FF0DHalfwidth and Fullwidth FormsFullwidth Hyphen-Minus負記号負記号負記号負記号負記号負記号負記号負記号負記号負記号負記号負記号負記号負記号負記号負記号
U+2212Mathematical OperatorsMinus Sign負記号(すこし左より)負記号(すこし左より)負記号(すこし左より)負記号(すこし左より)負記号(半角)負記号(半角)負記号「豆腐」?負記号(半角)負記号(半角)小さい黒四角負記号(半角)負記号(半角)負記号(半角)負記号
01-81¢U+FFE0Halfwidth and Fullwidth FormsFullwidth Cent Signセント記号セント記号セント記号セント記号セント記号セント記号セント記号セント記号セント記号セント記号セント記号セント記号セント記号セント記号セント記号セント記号
U+00A2C1 Controls and Latin-1 SupplementCent Signセント記号(半角)セント記号(半角)セント記号(半角)セント記号(半角)セント記号(半角)セント記号(半角)セント記号(半角)セント記号(半角)セント記号セント記号(半角)セント記号(半角)セント記号(半角)セント記号(半角)セント記号セント記号(半角)セント記号(半角)
01-82£U+FFE1Halfwidth and Fullwidth FormsFullwidth Pound Signポンド記号ポンド記号ポンド記号ポンド記号ポンド記号ポンド記号ポンド記号ポンド記号ポンド記号ポンド記号ポンド記号ポンド記号ポンド記号ポンド記号ポンド記号ポンド記号
U+00A3C1 Controls and Latin-1 SupplementPound Signポンド記号(半角)ポンド記号(半角)ポンド記号(すこし左より)ポンド記号(半角)ポンド記号(半角)ポンド記号(半角)ポンド記号(半角)ポンド記号(半角)ポンド記号ポンド記号(半角)ポンド記号(半角)ポンド記号(半角)ポンド記号(半角)ポンド記号ポンド記号(半角)ポンド記号(半角)
02-44¬U+FFE2Halfwidth and Fullwidth FormsFullwidth Not Sign否定否定否定否定否定否定否定否定否定否定否定上付き+否定否定否定否定
U+00ACC1 Controls and Latin-1 SupplementNot Sign否定(半角)否定(半角)否定(半角)否定(半角)否定(半角)否定(半角)否定(半角)否定(半角)否定否定(半角)否定(半角)否定(半角)否定(半角)否定否定(半角)否定(半角)
02-94U+25EFGeometric ShapesLarge Circle合成用丸合成用丸合成用丸合成用丸合成用丸合成用丸合成用丸合成用丸合成用丸合成用丸合成用丸小さい黒四角合成用丸合成用丸合成用丸合成用丸
U+20DDCombining Diacritical Marks for SymbolsCombining Enclosing Circle「豆腐」小さい黒四角小さい黒四角合成用丸「豆腐」小さい黒四角「豆腐」「豆腐」?小さい黒四角黒四角小さい黒四角小さい黒四角小さい黒四角合成用丸合成用丸
註:特に書いてある以外は全角文字
註1:フォントをMingLiuやMS SongやMS Heiにすると双柱、平行を表示する。
註2:Unicode3.0によると、U+301Cは、「もともとJIS C 6226-1978の句点1-33に対応させるように意図されていたが、その後のJISや実装では、U+FF5E fullwidth tildeに対応されるようになった」とあります。

全文検索エンジンのサポート状況

 これまで述べたように、サポートするブラウザもまともになってきたしUTF-8の頁でも閲覧には問題がなくなってきました。goo等の全文検索エンジンのサポートもかなり進んできました。しかし、一部の検索エンジンでは高橋の頁のUTF-8の頁は入らずShift-JISの頁だけが検索されているようです。当分、従来のエンコードの頁も必要なようです。
 高橋のページの登録状況からUTF-8未サポートと見られる検索エンジンは改善されたようです。  次の検索エンジンは、UTF-8をサポートしているようです。

参考文献

文字コードの話

 伊藤隆幸さんが歴史的経過を含め分かりやすくまとめられています。

文字コード問題を考える

 加藤弘一さんが文字コード全般について詳しく解説されています。また、Unicodeの問題点についてもいろいろな問題点を指摘されています。

シフトJISからUnicodeへの変換テーブルの相違

 川俣 晶さんが各ベンダのテーブルの相違をまとめられています。

紹介いただいているページ

ホーム(x)