モノクロ書類の印刷にサーバー経由でCanon LBP-1110を使っているのですが、数日前に久しぶりに印刷を実行すると、AVG Free 9でトロイの木馬が検出されるようになりました。(XPのマシンのAVG2012は今のところ何ともないです。不思議なものですね。)
「トロイの木馬Agent3.BOQS オープン時に検出されました」と表示されています。
CAPTが関係していることはすぐにわかりました。CAPTそのものは、
CAPTプリンターの印刷の仕組みは、パソコンのCPUを利用して印刷データを生成する(ホストベース)ものです。パソコン側で印刷データの処理を行うため、プリンター側にはメモリ増設の必要がありません。印刷の際には、パソコンからプリンターのステータスをチェック(用紙なしや紙詰まり等)しながら印刷データを送るので、パソコンとプリンターとの間で双方向の通信が必須となっています。
という、プリンタ側ではなくローカルのPC上で印刷用のデータを作る仕組みなのですが、この特殊な動作が災いしてWindows XP sp2以降のファイアウォールに阻まれたり、今回のようにウィルス誤検出を起こしたりするようです。
そこで、AVGに例外処理を入力して誤検出しないようにしてやります。
常駐シールドの例外管理にパスを追加してやりましょう。
「常駐シールドディレクトリ除外」のところに
\\server\print$\w32x86\3\
\\192.168.1.2\print$\w32x86\3\
c:\winnt\system32\spool\drivers\w32x86\3\
「除外されたファイルの」ところに
\\server\print$\w32x86\3\CAPPSWK.EXE
\\192.168.1.2\print$\w32x86\3\CAPPSWK.EXE
c:\winnt\system32\spool\drivers\w32x86\3\CAPPSWK.EXE
を入力しました。サーバーのパス2種類(コンピュータ名とIPアドレス)とローカルのパスです。ディレクトリとファイルの両方を指定する必要はないと思いますが、手間としてはほとんど変わらないのでとりあえず入れておきました。
必ず発生するかどうかもよくわからない現象なのですが、もし同じような症状が発生すればこの方法でなんとかなると思います。
現在使っているWordPressのテーマファイルは、5~6年前に別のテーマファイルを改造して作ったものなので、CSSの記述にユニバーサルセレクタは使っていないのですが、それ以降のウェブサイト構築やWordPressのテーマを作るときにはだいたいユニバーサルセレクタを使っています。
しかしながら、ウェブサイトの作り方っていうのは流行があって、旬を過ぎた作り方だとなんとなくダサいイメージがあるのが現実です。ユニバーサルセレクタもそんな流行遅れの烙印を押された手法ではあるのですが、果たしてそんなに悪いものなのか。とりあえず考察してみましょう。
まずはいろいろなサイトを読み漁ってみます。
時系列的には、
という感じですかね。いろいろな考え方があるのは承知の上で、体質的に3番の方法は受け入れられません。絶対ムリ。思い描いているデザインを再現できないし。
2番のリセットCSSには一定の理解を示せるものの、何をどのようにリセットするかが中途半端。そもそもたかがリセットするだけなのにCSSの記述量が多すぎて。さくっとリセットして必要な要素やクラスをガシガシと書くほうが絶対効率よさそう。
ということで、やっぱりユニバーサルセレクタ。ウェブ制作の流行というよりも、コンセプトの相違でしょうね。どれがいいとか悪いとかではなくて。
さらに、まことしやかに語られるユニバーサルセレクタの弊害「レンダリング速度の低下」ですが、どうも全然影響がないようです。むしろ速くなったという検証結果もあって実に興味深い。ユニバーサルセレクタ愛好家としてはとても心強い結果になりました。
どうせ当分HTML5に移行せずにXHTML1.0 strictのままだし、CSSも従来どおりでいいんですー。
Add Meta Tagsについて語る前に。
プラグインSociableとWP-OGPを停止しました。Sociableは吐くコードが汚らしい(設定ミスや理解不足だったらごめんなさい)と言う理由で、WP-OGPは「いいね」ボタンがいらないんだったらコレもたぶんいらないよね、という理由です。プラグイン作るんだったらvalidなソースを書いてほしいというのは欲張りなんでしょうか…。(同様の理由でWP-PageNaviも停止しています。)
さて、Add Meta Tags。久々にW3C Markup Validation Serviceでチェックしてみると、サイトを読み込めないエラーが発生しました。どうも変な文字コードが入っているらしい。さっそく原因を突き止めると、【WordPress】「Add-Meta-Tags」と「WP-OGP」で文字化けが起こる不具合に行き着きました。
meta[description]は文字数をN文字で丸めているみたいだけど、文字丸めの関数がマルチバイトに対応してなくて、N文字目が日本語の記事はUTF-8 invalidな文字に変換されるけど、N文字目がシングルバイトの文字はUTF-8 validになるから、記事ごとに文字化けしたりしなかったりというメカニズムじゃないかと推測。
ということで参考どおりにプラグインを数ヵ所編集したら、どうやら上手く動いてくれたようです。
strip_tags(substr($posts[0]->post_content, 0, $excerpt_max_len));
↓
strip_tags(mb_substr($posts[0]->post_content, 0, $excerpt_max_len, 'UTF-8'));
unicodeは、いい意味での多くの可能性を持っている代わりに、サロゲートペアなどトラブルの可能性もたくさん秘めている恐るべき文字コードだなぁと再認識。WordPressとプラグインに何もかもお任せ状態のウェブサイト構築ばかりしていますが、今回のようなことがあるとたまにはチェックも必要だなと痛感するのでした。
前回の記事において紹介した京津文化フォーラム82のサイトは当初から多言語化を企てていたのですが、いくつか多言語化のプラグインはあるものの、使いやすそうだなと思ったのが「qTranslate」です。
一般的な投稿・固定ページ画面はこのような感じ。
プラグインを有効化すると、このようにタイトルと入力タブが多言語化。
これで、入力していきます。
言語の切り替えはウィジェットに配置するか、テーマファイルの任意の場所に、<?php echo qtrans_generateLanguageSelectCode('●●●●'); ?>を書きます。●●●●のところは「text」「image」「both」「dropdown」と選択できますが、bothにしてみました。(ウィジェットの場合は「Text only」「Image only」「Text and Image」「Dropdown Box」のうちのText and Imageです。最初は直接記述していましたが、その後ウィジェットに改めました。)
また、設定画面の中のAdvanced Settingsの項目にURL Modification Modeという項目があり、
という感じで3タイプのURLの書き方を選ぶことができます。今回はいちばん使いやすい(だろうと思う)Query Modeにしてみました。
あと、ブログのタイトルやリンクなど、多言語化されていない入力欄については、[:ja]ブログタイトル[:en]weblog titleのように書くことでちゃんと処理してくれます。テーマファイルに直書きで言語選択させたい場合は<?php _e("<!–:ja–>フィード<!–:–><!–:en–>feed<!–:–>"); ?>のように埋め込むことで実現できます。
それからAnother HTML-lint gatewayでチェックしてみると、言語切り替えスイッチの中に空のdiv要素が生成されていて減点されるので、直接プラグインのファイルを編集してこのdiv要素を出力する箇所(2ヵ所)を削りました。それがどのような影響を及ぼすのかよくわかりませんが、少なくとも言語切り替えにbothを選択している限りでは大丈夫なような気がします。(dropdownはもしかしたら影響あるかも…)
参考にしたサイトはここらへん。
こんな感じで、初の多言語対応は無事に終わりましたー。
次々とアップデートされるFirefox。いつの間にか勝手にFirefox12になって、ついにWindows2000に対して最後通告してきました。我が家のパソコンも半数がWindows XPになったものの、まだまだWindows2000は捨てられません。
しかもこの警告が実にうざい…
起動時などにちょくちょく出てきて、イヤになります。「OSを更新する」なんて簡単に言われても困るよホントにモー。
というわけで、なんとかして消したいと考え、まずはabout:configを掘り返しました。すると、
extensions.firefox-hotfix.unsupportedOSLastPrompt
が怪しい。やったー! どうやら解決…けど、この数字はいったい…。ちょっと値を変えるのに躊躇します。もうちょっと情報を集めてみましょう。結局たどり着いたのはWindows2000の守護神・黒翼猫氏のサイトでした。さすがです。「2000でFirefox 12を使っていると定期的に 警告が出る仕様について」に解決方法が書いてあります。せっかく自力でいいところまでいけたのに。はぁ。
勝手にアドオンを突っ込まれていたみたいです。こういう手口キライです。さっそくアドオン「Firefox Notification Hotfix」を無効化して、快適になりましたー。
もしかしたらFirefox12よりも、Firefox11のほうが都合がいいかも知れないので、Firefox11をダウンロードしておきます。旧バージョンのダウンロードから入っていっても旧バージョンはダウンロードできないのですが、URLをごにょごにょしてhttp://download.mozilla.org/?product=firefox-11.0&os=win&lang=jaからダウンロードできました。一応お守り代わりということで。
お金のある人や、Windows2000をここまで愛していない人は、そろそろOSを乗り換えたほうがいいかも知れませんネ。