第3・第4水準漢字の扱い方 |
■ 「文字参照」とは? |
「HTML2.0(RFC1866)」で定義されているHTML文法の一つで、「文字参照(character references)」の「&○○○○;」記述にて、フォントのコードポイントをダイレクトに文字指定するというモノです
原理としては、携帯電話でのホームページに多用されている絵文字の指定の仕方と同じです
□ NTT DoCoMo の場合
□ au by KDDI ・TU-KA の場合
□ vodafone の場合
|
「文字参照(character references)」であれば、ホームページやリッチテキスト(HTML)形式メールにて、非漢字+第1・第2水準漢字文字集合(と、機種依存文字)には実装されていない文字種でも、ごくごく普通のJIS X 0208準拠の「Shift_JIS」「JIS(iso-2022-jp)」「EUC(euc-jp)」の文章内に組み込む事が出来ます
表示する側の環境に「第3・第4水準漢字などの文字集合対応フォント」が導入されていない場合、該当文字の部分は文字抜けしてしまいますが、Unicodeエンコード文章によって「第1・第2水準実装外漢字」を扱うよりも文字化けのリスクが軽減されます(※)
※ 「Internet Explorer 4.0〜」では、文字参照コードの参照元コードがUnicodeとして処理されますが、「Internet Explorer 〜3.x」「Netscape Navigator 〜3.x」では、文字参照コードの参照元コードをShift_JISコードとして処理されるため該当文字部分は「文字化け」「文字抜け」します
※ 「Netscape Navigator 〜4.x」では、「Internet Explorer 4.0〜」と同様に、文字参照コードの参照元コードがUnicodeとして処理されるという事にテクニカルノートではなっているのですが、実際には「Netscape Navigator 4.x」では「文字参照」として「第1・第2水準実装外漢字」を処理する事が出来ず、該当文字のフォントが「?」(半角のQestion Mark)となります
であるので、「文字参照非対応ブラウザソフト」を使用している方でも文章の意味が把握出来るように、
「第1・第2水準実装外漢字」をネット上で扱う場合には、
- 該当文字にルビを振る
- 該当文字の後ろにふりがなを振る
・・・などの配慮を必ずして下さい(※1)
※1 「 弓道辞書 」によって漢字変換された「第1・第2水準実装外漢字」については、強制的にふりがなが付与されるようにしてあります(※2)
※2 ふりがなが振られなかった弓道用語の漢字については、「第1水準漢字」もしくは「第2水準漢字」のいずれかであるという事です
さらに、
「Windows
95」「Mac OS 〜9.x」「一部の
Unix」のような古いPC環境では、素の状態(PCを購入したまま)であれば第3・第4水準漢字などを含むフォント(※)は入っていません
→ Mac OS 8.5〜9.xを使用されている方はこちらのページをご覧下さい 「文字参照対応ブラウザソフト」を使用している場合でも、第3・第4水準漢字などを含むフォントが入っていない古い環境では、第3・第4水準漢字などは文字抜け(半角の空白に置き換わる)してしまうので読解不能な文章となってしまいます 「第1・第2水準実装外漢字」をネット上で扱う場合には、
・・・などの配慮を必ずして下さい |
しかし、上記のような古いPC環境であっても、Microsoft や Apple などが Unicodeにおける第3・第4水準漢字などを含むフォント(※1)を無償配布していますので、それらをダウンロードしてくる(※2)事で、第1・第2水準実装外漢字が扱えるようになります
※1 第3・第4水準漢字だけではなく、世界中の主要言語の文字の包括した数万文字の文字集合を実装していますので、最新のPC環境を使用している方も、ぜひダウンロードしておきましょう
■ 対応アプリケーション |
○ ブラウザソフト:
「Internet Explorer 4.0〜」
「Opera 6.x/7.x」(5.0〜?)
・・・など
≫ Unicodeの実装領域など、扱える文字の制約については、第3・第4水準漢字の扱い方 「Unicode」編のページをご覧下さい
○ メールソフト:「Internet Explorer 4.0 〜」のリソースに依存するリッチテキスト(HTML)形式メール対応メールソフト(※)や、「Netscape Mail & Newsgroups 6.0〜」や「Opera 6.x/7.x」(5.0〜?)などのブラウザソフトのメール機能
<重要> リッチテキスト(HTML)形式対応メールソフト自体が持つセキュリティ面の問題については、「 インターネットにおけるセキュリティ問題について 」 をご覧下さい
<主な対応ソフト>
「Outlook Express 4.0 〜」「PostPet V3」「EudoraPro 3.0 〜」「Becky! Ver.1 / Ver.2」・・・「Internet Explorer」リソース使用
「Opera 6.x/7.x」(5.0〜?)
<主な非対応ソフト>
「Netscape Messenger 〜4.x」
「PostPet 2001(2.0.x)」
携帯電話のメール機能
< 注 意 事 項 >
メールの標準文章形式は「テキスト形式メール」です
受信側の方が「リッチテキスト(HTML)形式メール」非対応、もしくは「リッチテキスト(HTML)形式メール」には対応していても「文字参照」非対応のメールソフトを使用しているケースもありえます
先方の対応文章形式を事前に確認しておきましょう!
送信されてきたメールの差出人が使用している 送信されてきたメールの「ヘッダ」(メールソフトとメールサーバーとがやり取りする情報)には、メールの差出人が使用しているメールソフトの種類が基本的には記入されていますので、メールソフトで「ヘッダ」を表示して、先方のメールソフトが「リッチテキスト(HTML)形式メール」に対応しているかどうか事前に確認しておきましょう |
なお、受信側の方が「Netscape Messenger 〜4.x」を使用している場合でも、Unicodeにおける第3・第4水準漢字文字集合対応フォントが導入されている環境であれば、文字参照対応ブラウザソフトを利用して「第3・第4水準漢字」「第1〜第4水準実装外漢字」を含んだ「リッチテキスト(HTML)形式メール」を表示させる事が出来ます
リッチテキスト(HTML)形式メールに対応していないメールソフト(「Post Pet 〜2.0.x」など)で「文字参照」を使用したリッチテキスト(HTML)メールを受信した場合でも、該当文字のフォントが「?」(半角のQestion Mark)となり、文末にHTMLタグが表示されるだけなので、ふりがなさえ振っておけば本文はきちんと読解出来ます
また、受信側の方が「リッチテキスト(HTML)形式対応メールソフト」を使用していなくても、Unicodeにおける第3・第4水準漢字文字集合対応フォントが導入されている環境であれば、文字参照対応ブラウザソフトを利用して「第3・第4水準漢字」「第1〜第4水準実装外漢字」を含んだ「リッチテキスト(HTML)形式メール」を表示させる事が出来ます
|
■ 「文字参照」 の種類について |
現在、3種類が制定されています
● 文字コード10進法表記 数値「文字参照」 |
「Internet Explorer 4.0〜」「Netscape 6.0〜」、および左記のリソースを利用したリッチテキスト(HTML)対応メールソフトで使用出来ます
※ 「Netscape Navigator 〜4.x」では実装の大半にバグがあるため、大半の文字については参照出来ません
● 文字コード16進法表記 数値「文字参照」 |
完全な実装が行われているブラウザソフトは「Internet Explorer 6.0〜」「Netscape Navigator 6.0〜」のみであり、基本的には「16進法表記」として扱う事は避けるべきでしょう
※ 「Netscape Navigator 〜4.x」では実装の大半にバグがあるため、大半の文字については参照出来ません
※ 「Internet Explorer 〜5.x」では実装の一部にバグがあるため、一部文字については参照出来ません
※ 「Netscape Navigator 〜4.x」では実装の大半にバグがあるため、大半の文字については参照出来ません
● 実体「文字参照」 |
「Internet Explorer 4.0〜」「Netscape 6.0〜」、および左記のリソースを利用したリッチテキスト(HTML)対応メールソフトで使用出来ますが、一般的な記号類にのみ設定されています
(漢字などの言語表記文字には設定がありません)
※ 「Netscape Navigator 〜4.x」では実装の大半にバグがあるため、大半の文字については参照出来ません
■ 対応「日本語入力かな漢字変換辞書」 |
「弓道辞書」によって『「文字参照」Unicode10進法表記文字列』(「&#○○○○;」コード)へ変換される際には、「rubyタグ」が付与された状態にしています
また、「第1・第2水準実装外漢字」を「弓道辞書」の力によって 文章上へ参照文字そのものを変換候補内で確認しながら、『「文字参照」Unicode10進法表記文字列』(「&#○○○○;」コード)に変換出来るの「日本語入力かな漢字変換辞書」は下記の種類に限られます
Microsoft IME | ATOK | ことえり | ||||||||
97・98 | 2000 | 2002 | Windows | Macintosh | Linux | 1・2 | 3・4 | |||
「通常版」での インストール時 |
「エキスパート版」での インストール時 |
11 | 12〜15 | 16 | ||||||
× | × | ○(※1) | ◎(※2) | ○(※1) | × | ○(※1) | ◎(※2) | ○(※1) | × | ◎(※2) |
※1 Unicodeの実装領域「第00面」のみ対応
※2 Unicodeの実装領域「第00面」〜「第16面」に対応
なお、次期版の 「 弓道辞書 」version 1.30 では、Microsoft IME 98/2000 対応版での「第1・第2水準実装外漢字」漢字変換に完全対応します
(Unicodeの実装領域「第00面」のみ対応)
一般的に、表示フォント設定が「第1・第2水準実装外漢字対応フォント」になっていなければ「第1・第2水準実装外漢字」は表示出来ませんが、一部のアプリケーションではインストールされている「第1・第2水準実装外漢字」が当てはめられて表示されるように出来ているモノもあります
■ クリップボードを介在させての文字のコピーについて |
ブラウザソフトやリッチテキスト(HTML)形式メールソフトなどでの第3・第4水準漢字の文字参照文字を含む文字列から、クリップボードを介在させての文字のコピーについては、貼り付け先が「ホームページ制作支援ソフト」(タグを直書きするタイプでは無いヤツ)や「リッチテキスト(HTML)形式メール対応メールソフト」など、ソースがHTMLで構築されている文字入力画面へそのまま第3・第4水準漢字の文字参照文字を貼り付ける事が出来ますが、「Windows 95/98/Me」の場合には、コピーする文字列にHTMLとしてのフォント属性をここで組み込まれていないと、クリップボードを介してコピーしたときに「第3・第4水準漢字」や「第1〜第4水準実装外漢字」が「?」(半角のQestion Mark)に置き換わるに文字化けしてしまう可能性が高くなります(※)
※ 「Windows NT4.0/2000/xp」「Windows Server 2003」の場合にはこれらの心配はありません
また、「Unicode(UTF-8)」や「Unicode(UTF-16)」での第3・第4水準漢字を含む文章をクリップボードにコピーさせて、「Outlook Express」(※)の「リッチテキスト(HTML)形式」設定時の「メッセージの作成」画面へ貼り付けると、それがそのまま「文字参照」による第3・第4水準漢字の文字参照文字を含む文章形態になります
※ 「IBM拡張文字」や「Apple拡張文字」などの「機種依存文字」についてはこのページの一番下の項目をご覧下さい
「Netscape 6.0〜」においても、「Unicode(UTF-8)」や「Unicode(UTF-16)」での第3・第4水準漢字を含む文章をクリップボードにコピーする事が出来ますが、上記のように変換されるタイミングは送信時やHTMLファイルとしての保存時に初めて「&○○○○;」という文字列に変換されます
■ Windows に標準で装備されている文字参照対応アプリケーションソフトでの使用例 |
■ 「Outlook Express」 |
<重要> リッチテキスト(HTML)形式対応メールソフト自体が持つセキュリティ面の問題については、「 インターネットにおけるセキュリティ問題について 」 をご覧下さい
<参考>
「Netscape Messenger」においても、「Outlook Express」と同じように「文字参照」によって「第3・第4水準漢字」や「第1〜第4水準実装外漢字」を扱う事が出来ます
ただし、「Outlook Express」が本文入力領域への入力時にリアルタイムに「&#○○○○;」という文字列に変換されるのに対し、「Netscape 6.0〜」では送信時やHTMLファイルとしての保存時に初めて「&#○○○○;」という文字列に変換されます
■ 「Internet Explorer」 |
|
■ 「ホームページ」での 「文字参照」第3・第4水準漢字文章作成について |
Unicode対応のホームページ作成支援ソフトでの場合、HTMLソース編集機能(タグ編集モード)を用いてダイレクトに『「文字参照」Unicode10進法表記文字列』を直書きしても、ブラウズ編集(WYSIWYGモード)に戻ると第1・第2水準実装外漢字の部分を勝手にUnicodeへに置き換わってしまうシロモノが多いようで(※)、そういった仕様のソフトでは、後でブラウザソフトで確認してみると第3・第4水準漢字が「?」(半角のQestion Mark)に置き換わってしまうようです(※)
なので、「テキストエディタ」にてHTMLソースを直書きするのが手っ取り早いでしょう
・・・とはいうものの、一度ダイレクトに『「文字参照」Unicode10進法表記文字列』を直書きしても、その後にホームページ作成支援ソフトで手直ししたら第1・第2水準実装外漢字の部分が「?」に置き換わってしまうのでは、これではメンテナンスが非常に大変な事になってしまいます
※ Unicodeカーネルの比較的新しい「ホームページ作成支援ソフト」では、「?」(半角のQestion Mark)に置き換わらないシロモノが多いようです
このような「?」(半角のQestion Mark)に置き換わってしまうホームページ作成支援ソフトで編集する場合には、「yugake」「yagoro」「aduchi」などとローマ字表記(※)で記述しておいていったん保存(※)し、FTPソフトでサーバーへアップロード直前に「テキストエディタ」の「置換機能」にてHTMLファイルを一つ一つ以下のような感じで文字列置換するか、「文字列置換ソフト」(※)を用いてフォルダ内のHTMLファイルをまるごと一括文字列置換するのが現実的だと思われます
※1 半角アルファベットよりも全角アルファベット使用したほうが、文字列置換時の誤変換が発生しにくくなると思われます
※2 次回編集用のバックアップファイルと、アップロード用ファイルの2つを用意しておいたほうが賢明でしょう(「文字列置換ソフト」では自動バックアップされます)
※ ただ単に「ふりがな」を付けるのでは無く「ルビ」を振りたい場合にはこちらのページをご覧下さい
※ 「文字列置換ソフト」の入手方法についてはこちらのページをご覧下さい
もしくは、このページ下部で記述している ■ 「Unicode」から「文字参照」への変換方法 でのように、いったんUnicode(UTF-8)でHTML文章を記述してから、「Internet Explorer」や「Netscape 6.0〜」などを使用して『Unicode(UTF-8)エンコード文章』を『「文字参照」を使用した第1・第2水準実装外漢字を含む文章』へと変換するのが効率的かも・・・
※ Shift_JISなどの既存のHTML文章を「Unicode(UTF-8)」に変換するには、第3・第4水準漢字の扱い方 「Unicode」編 のページ最下部で紹介しているフリーソフトを使用しようすると非常に効率的です
■ 「Microsoft Word 98/2000」での 「HTML形式保存ファイル」について |
この保存ファイルを「Microsoft Word」にて再編集しても、上記でのホームページ作成支援ソフトでのように第1・第2水準実装外漢字が「?」(半角のQestion Mark)に置き換わってしまう事はありませんので簡単に取り扱う事が出来ます
しかし、「Microsoft Word」でのHTML形式保存というものは、ネット上にホームページとして公開するためのHTML文章作成を目的としたモノでは無く、HTML形式を使用しながらWord形式(.doc)での文章と出来る限り同一のように再現する事を目的としているため、文字の一つ一つにまで文字属性やレイアウトの詳細なデータが付与されています
よって、ホームページ作成支援ソフトによって作成されるHTML文章ファイルの数倍〜数十倍ものデータサイズに肥大するため、「Microsoft Word 」でのHTML形式保存によって作成したHTML文章をネット上にホームページとして公開するのは好ましくありません、・・・というか迷惑です!
であるので、Microsoft が無償配布している「HTML Filter 2.1 for Office 2000」や「HTML TIDY」- (日本語版・GUIフロントエンド)などを利用しましょう
「HTML Filter 2.1 for Office 2000」ページからの引用 Office HTML Filter は、HTML (Hypertext Markup Language) 形式で保存した Office 2000 文書に埋め込まれている Office 固有のマークアップ タグを削除するためのツールです。Office 2000 で HTML 文書を作成すると、Office 固有のマークアップ タグが埋め込まれます。これらのタグがあると、編集の「ラウンドトリップ」をすることができます。たとえば、Word 2000 で作成した文書を HTML 形式で保存した場合に、これらのタグが埋め込まれていると、その文書を Word 2000 で再度開いたときに文書を作成したときと同じ書式設定、編集状態などが再現されます。 Office HTML Filter を使用すると、Word 2000 または Excel 2000 で HTML 文書の編集を完了した後で、最終的な HTML 文書から Office 固有のマークアップ タグを削除できます。タグを削除すると文書のサイズが小さくなるので、Web サーバー上の格納領域が少なくなり、ページのダウンロードにかかる時間も短くなります。 Office 固有のマークアップ タグを削除した場合のメリットとデメリットに関する詳細については、「Office HTML Filter を使用して短時間でダウンロードできる Web ページを作成する」を参照してください。
|
なお、「Microsoft Word version 2002/Microsoft Office Word 2003」では、を選択→「ファイルの種類」窓で「Web ページ」を選択すると文字の一つ一つにまで文字属性やレイアウトの詳細なデータが付与されたHTMLファイルとして保存され、を選択→「ファイルの種類」窓で「Web ページ (フィルタ後)」 を選択すると、ホームページ用途に最適なHTMLファイルが保存出来るようになっています
もしくは、「Microsoft Word 〜2000」は使用しないで、「Netscape 6.0〜」の「Netscape Composer」(Netscapeに標準装備のホームページ作成支援機能)や、「市販のホームページ作成支援ソフト」を利用してホームページを作っておいたほうが、後になってラクなのでは無いかと思われます・・・
■ 「文字参照」Unicode10進法表記文字列の求め方 |
「OutLook Expless 4.0〜」や「Netscape 6.0〜」を使用すると、簡単に『「文字参照」におけるUnicode10進法表記文字列』が求められます
また、ネット上において「IBM拡張文字」や「Apple拡張文字」をUnicode以外のエンコード方式で扱いたい場合には、この方法にて「文字参照」として扱うべきでしょう(※)
※ 「Unicode」や「文字参照」であれば、機種依存文字と呼ばれている文字であってもOSの違いによる「文字化け」は発生しません
(該当する文字を包括するフォントが導入されていない環境では「文字抜け」しますが・・・)
■ 「Outlook Express」 |
<重要> リッチテキスト(HTML)形式対応メールソフト自体が持つセキュリティ面の問題については、「 インターネットにおけるセキュリティ問題について 」 をご覧下さい
■ 「Netscape 6.0〜」 |
なお、「Outlook Expless」や「Netscape Composer」での文字入力方式に付いては、第3・第4水準漢字の扱い方 「Unicode」編 に準じます
また、ちゃどさんによる「Character Code Checker」では、ネット上で簡単に『「文字参照」におけるUnicode10進法表記文字列』と16進法Unicodeコードポイントを求める事が出来ます(※)
※ <例>「弽」を漢字で入力した場合、『「文字参照」におけるUnicode10進法表記文字列』はの数字部分のみ()、16進法Unicodeコードポイントについてはがと表示されます
■ 「Unicode」から「文字参照」への変換方法 |
「Internet Explorer 4.0〜」や「Netscape 6.0〜」などのブラウザソフト(「Opera」では不可能)を使用すると、簡単に『Unicodeエンコード文章』を『「文字参照」を使用した第1・第2水準実装外漢字を含む文章』へと変換する事が出来ます
※ 「第1・第2水準実装外漢字」であっても、使用しているOSで再現出来得る「機種依存文字」文字種については、『「文字参照」におけるUnicode10進法表記文字列』へ変換されません
≫ 弓道関連の文章で使用頻度が高いと思われるである、小山弓具製造販売の「直心Ⅰ」「直心Ⅱ」「直心Ⅲ」
この「Ⅰ」「Ⅱ」「Ⅲ」といった「ローマ数字」はWindowsで再現出来得る「機種依存文字」文字種であるので、Windowsにて下記方法で変換しても、『「文字参照」におけるUnicode10進法表記文字列』へ変換されません
このような「機種依存文字」文字種が含まれている場合には、この上の部分で記述している ■ 「文字参照」Unicode10進法表記文字列の求め方 を参考にして、「機種依存文字」の『「文字参照」におけるUnicode10進法表記文字列』を手動で割り出し、「文字列置換ソフト」を用いてフォルダ内のHTMLファイルの「機種依存文字」をまるごと『「文字参照」におけるUnicode10進法表記文字列』へと一括置換するべきでしょう
なお、「Ⅰ」の『「文字参照」におけるUnicode10進法表記文字列』は、「Ⅱ」は、「Ⅲ」は、となります
|
|
■ 「文字参照」から「Unicode」への変換方法 |
「Internet Explorer 4.0〜」や「Netscape 6.0〜」などのブラウザソフト(「Opera」では不可能)を使用すると、簡単に『「文字参照」を使用した第1・第2水準実装外漢字を含む文章』を『Unicodeエンコード文章』へと変換する事が出来ます
|
|