よく「HTML特殊文字」だとか呼ばれてるから変な名前だなと思い ながらも、それが正しい名称だと思っていたけれど、いやまあ、そういう 名前は実際存在するとしても「HTMLにおける、或いはXMLにおける文字参照」 と言ったほうが正確みたい。もちろん「HTMLエスケープ」もまた意味が違 う。文字参照によって表示できる文字は自分の観察によるとUnicodeらしい。 文字参照は「&keyword;」と書くか、或いは番号を用いて「@」(十進法) とか、「@」(十六進法)と書く。ただ自分は、ソースコードを読んだ時に 分かりやすいことと、一旦覚えれば忘れ難いことからkeywordで入力したい。 しかし必ずしもkeywordは存在しないし調べるのも割りと面倒なのだ。 文字がわかっている場合。 「♥」という文字はIMEにもよるが「はーと」を変換すれば入力できるし、 或いはこの文字が使われている文章を見つけてクリップボードから取得するかも しれない。 文字参照のための番号は簡単に知ることができて、Unicodeとしての文字コード がそのまま使われているみたい。何でも良いがjsなら> "♥".charCodeAt()
とすると「9829」と分かった。試しに「♥」とすると上手く表示された。 十六進法にすると2665で「♥」でも出力される。 或いはwebで調べても良い。こうすればkeywordも番号も分かるのだけど Googleでそういった記号は無視されて単に「♥ 」とGoogle検索 を掛けても何も表示されない。その文字を形容する語を知っていれば 「文字参照 ハート」と検索することで分かるけど。 自分が今までしてきた方法としては http://e-words.jp/p/r-htmlentity.html http://www.htmq.com/text/ http://www.pst.co.jp/powersoft/html/htmlChar.htm 大体この3つくらいのページを開いて「♥」でページ内検索に掛けて調べて た。3つ上げたのはどれも上手に纏められて無くて大体どのページにも他のページ に載っていないものが載っている。統合すべきなのに。 ・キーワードがわかっている場合 キーワードから番号に変換するのは一旦HTMLとして出力させる必要がある。 つまり「キーワード→文字→文字コード=番号」 もっとも、そんなコトをする機会は無いだろうけれど。 だってキーワード分かってれば十分だから。 例えば「♥」が何番の文字参照をするのかを調べるのにjsならvar X=document.createElement("a"); X.innerHTML="♥" X.innerHTML.charCodeAt()
とすることで文字コードを得る。 文字が具体的に手元にない時 困る。プランク定数の、あの、小文字のhの頭に短い横棒が引かれてるあの記号 が書きたいのに。keywordは推測しやすいものから一体どういう略称のつもりな のか、と憤慨するようなものまである。∞が∞ってどういうことだよ。 infinityをinfinなんて略し方をするのか英語圏の人は。 Unicode表から探す。 http://www.tamasoft.co.jp/ja/general-info/unicode-decimal.html その欲しい記号をこの表から自力で探そうか。その表を開いても具体的に文字 が無いからCtrl+Fで検索できないのでゆっくりスクロールしながら自分の肉眼 で見つけるしかない。恐ろしい。その文字についての説明があれば少しは希望 が見えるのに。 結局Wikipedia最強。 「プランク定数」でWikipediaのページを見るとhttp://ja.wikipedia.org/wiki/%E3%83%97%E3%83%A9%E3%83%B3%E3%82%AF%E5%AE%9A%E6%95%B0 (ℏ Unicode U+210F、JIS X 0213 1-3-61)Unicodeの210Fだと分かったので「ℏ」と入力すると「ℏ」と出力された。 イライラしてきた。 そっからキーワードはどうやって得ればいいんだろう。 x210F、文字参照、十進法に直して8463でググってもその記号までは出てくるけど、 どのページにもキーワードは載っていなかった。因みにだけれど自分は単なる類推 から「ℏ」でこれを表示させることができると気附いた。 ちなみにもう一つだけ「&?bar;」で表示できる「?」が存在します。 そもそも皆知らないというだけで実はすべての文字参照にキーワードが存在する んじゃないの?実は、だよ。でもブラウザの中にキーワードを適当なUnicode文字 に変換する為のルーチンを入れてるはずなのだから(だって外部dtdもネット接続 も現実的に必要ないから)、ソースコード読めばどこかには書いてあるんだよ、 その一覧がさ。
コメ(0) | トラ(0)