[Seasar-user:13157] Re: [Teeda] IE6 + UTF-8 + MSゴシックの場合の文字崩れ対策
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 3月 5日 (水) 17:30:23 JST
小林 (koichik) です.
Date: Wed, 05 Mar 2008 11:42:29 +0900
From: 松山 大樹 <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:13153] [Teeda] IE6 + UTF-8 + MSゴシックの場合の文字崩れ対策
> html テンプレートを、
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
> と、UTF-8 で作成し、input や、textarea のfont-family がMSゴシックの場合、
> 文字が崩れて表示される場合があります。
> この現象はIE6 のみで発生します。
迷惑な仕様ですね.(^^;
> MSゴシックで正しく表示するためには、
>
> <textarea id="hoge" lang="ja"></textarea>
>
> のように、対象のコンポーネントにlang="ja" を指定してやればいいのですが、
> これを全てに付けるのはかなり面倒です。
>
> そこで、ご相談なのですが、<input>と<textarea> だけでもいいので、
> lang="ja" を自動的に付加するような方法はないでしょうか?
もし文書型宣言を含めることができるなら,
DTD のデフォルト属性を利用することができます.
XHTML の DTD は Teeda 配布ファイルの
teeda-extension/src/main/resources/ 以下の
org/seasar/teeda/extension/resource/xhtml1
にあるので,例えば STRICT なら xhtml1-strict.dtd を
WEB-INF/classes に配置される場所 (src/main/resources) の
同じパスにコピーして,722 行目や 774 行目の
%attrs;
を
%coreattrs; %events;
lang %LanguageCode; "ja"
xml:lang %LanguageCode; "ja"
dir (ltr|rtl) #IMPLIED
のようにすれば,Teeda がテンプレート XHTML を
読み込む際の <input> や <textare> の lang 属性が
デフォルトで ja になり,それがそのままレンダリング
されると思います.試してないけど.
# 文書型宣言があると <td> とかに colspan="1" とか
# 付くのと同じなのでたぶん大丈夫.
文書型宣言を付けられない場合はまた別途対策を
考えますが,おそらく XML 宣言なし&文書型宣言あり
ですよね?
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内