[リストへもどる]
一括表示
タイトルHTML本文に記されたCSSの取り込みについて
記事No58
投稿日: 2007/04/21(Sat) 02:58
投稿者営々
こんにちは。

folomy巡回cpsを使っている方から「スタイルシートを受信 & 適用する設定にしていると、\が/に変換されて表示されてしまう」という話が出ていました。

また、スタイルシートを適用する設定にしていても、ブラウザではfont-family指定(MS Pゴシック)がなされているのに、CMNではfont-familyが反映されない点も不思議に思っていました。

調べてみると、こういう事らしいです。

1) folomyは、HTML本文にフォント指定用スタイルシートを埋め込んであり、その他のスタイルシート指定は外部cssファイルに記している。文字コード指定はいずれもUTF-8。なので "MS Pゴシック"というフォント指定文字列も当然UTF-8で書いてある。

2) CMNはデータを全てShift-JISで管理しているので、巡回時にまずHTML本文を全てUTF-8からShift-JISに変換する。

3) CMNが本文からスタイルシート部分(コードはShift-JIS)を切り出して、別途ダウンロードした外部cssファイル(コードはUTF-8)の後ろにくっつけ、CMNデータフォルダ中の掲示板別cssファイルに格納する。
この際、cssファイル先頭の文字コード指定はUTF-8のまま

4) 「スタイルシートを適用」オプションを有効にして表示させた場合、font-familyの優先順位は "MS Pゴシック" , sans-serifの順だが、"MS Pゴシック"というフォント指定文字列はShift-JISで書かれているので、UTF-8のcssファイル内では文字化けして無視される。CMNの表示部分を司るIEコンポーネントは、sans-serifで表示させようとする。

5) WindowsXPのIEでは、font-family : sans-serifを指定したときには日本語部分は"MS UI Gothic"、英文字は "Lucida Sans Unicode"で表示される。

6) Windows上のUnicodeフォントは、日本語のフォントに限って、/の半角記号のコードに¥の半角記号を見かけ上割り当ててあるが、"Lucida Sans Unicode"は「正常に」/で表示してしまう (詳しくは「円記号問題」でググってください)

CMNの現在の動作は「UTF-8のページはShift-JIS変換した後に本文埋め込み式スタイルシートを切り出す」という事になっているんでしょうか?

タイトルRe: HTML本文に記されたCSSの取り込みについて
記事No60
投稿日: 2007/04/21(Sat) 03:22
投稿者Pooh兄
営々さん、こんにちは。
Pooh兄です。

>\が/に変換されて表示されてしまう

直接CMNと関係ないですが、これ、スラッシュでなくバックスラッシュではないですか?
元々1バイト系のASCII文字のスラッシュにJISで円を割り当てたんで、欧米系のコードを使うと
こうなります。(ググってないですが…(^^;))
(※私、昔UNIX系OSのプリンタ関係やってましたんで…)

ちなみに、キーボード右下("ろ"のところに"\"があるキーボードで英数でこれを入力すると
"\"になります。ワードぱっとなどフォントを切り替えできるソフトでTimes New Romanなどの
欧米系フォントならバックスラッシュになるかと思います。
逆に右上のほうのキーの"\"キーもフォントを変えると同様の動作になります。

タイトルRe: HTML本文に記されたCSSの取り込みについて
記事No61
投稿日: 2007/04/21(Sat) 10:40
投稿者DECO
営々さん、こんにちは。

>CMNの現在の動作は「UTF-8のページはShift-JIS変換した後に本文埋め込み式スタイルシートを切り出す」という事になっているんでしょうか?

その通りです。
本文の文字コードとの整合性を取るためです。

folomyの場合にはcss内に「@charset "UTF-8";」が定義されている為、実際の文字コードに関係なく指定された文字コードとして読みにいってしまい、その為に2バイト文字が化けることになります。

外部cssと埋め込みスタイルシートを無理やり合体させて表示させていますので、一部正しく表示できないケースもでてくるのですが、folomyがケースとなります。(css 内から @charset の定義を外してもらうのが一番簡単な対応かも。)

DECO

タイトルRe2: HTML本文に記されたCSSの取り込みについて
記事No64
投稿日: 2007/04/22(Sun) 19:19
投稿者営々
DECOさん、こんにちは。

>外部cssと埋め込みスタイルシートを無理やり合体させて表示させていますので、一部正しく表示できないケースもでてくるのですが、folomyがケースとなります。

了解しました。CSS対応はたいへんですから、仕方ないですね。