ガレコレ
Garage Collection
 
2016年3月27日(日)
半角スペースの取り扱いについて #■子猫の手

 HTMLでは、半角スペースを連ねても、半角スペース1つ分しか表示されません。

 『子猫の手』でも、時代の流れから、文字コードをUTF-8にしております。たくさんの文字、記号、イラストが使えるのですが、等幅フォントという考えがなく、昔のように文字で地図や絵をつくっても、レイアウトが崩れるようになってしまいました。

 それでも、半角スペースで4つ空けたところは、きちんと4つで表示したいですよね。

 方法は簡単で、半角スペースを特殊文字コードに置き換えればいいのです。

  [No-Break Space, Non-Breaking Space]で置き換えると、英文における改行が問題になります。 の場合は、コピー&貼り付けすると、ソフトによっては?に文字化けします。

 さて、どちらを取るかということですが、『子猫の手』では日本語環境を優先して、&nbsp;で置き換えました。<body>にword-wrap:break-word;を指定してあるので、単語の途中で改行することになりますが、お許しを。

 "\t"タブは、入力フィールド内に直接入力はできませんが、コピー&貼り付けで持ち込めます。『子猫の手』では、&nbsp;8個分に変換しています。行頭のタブはこれでいいのですが、整列のため途中に使ったタブは、余計に&nbsp;を加えることになりますが、これもお許しを。

 まあ、HTML自身は、ワープロほど、万能な体裁を整える機能がないということです。


P.S. &ensp;はnの幅に相当、&emsp;はmの幅に相当と覚えていましたが、W3Cにおける定義は下記の通りです。

 The character entities &ensp; and &emsp; denote an en space and an em space respectively, where an en space is half the point size and an em space is equal to the point size of the current font. For fixed pitch fonts, the user agent can treat the en space as being equivalent to a single space character, and the em space as being equuivalent to two space characters.

※子猫の手では、日本語環境優先なので、英文はこんな感じに表示されます。あしからず。
 
お問い合わせ
by Network Communication Note