2006-10-26

ja-xpdfフォント問題2

以前解決したつもりのja-xpdfフォント問題だが、まだぞろぞろ出てくる。

まず、DFGothic-EB-WIN-RKSJ-Hとかいうフォントが出てきた。DynaFontのDF特太ゴシックというものらしいが、埋め込みもせずに送りつけてこないでもらいたいものだ。ためらわずにxpdfrcに追加。が、DF系はまだまだ大量にありそう。ワイルドカードが使えれば楽になりそう。

次に、別のpdfで、
Error: Couldn't find '90ms-RKSJ-H' CMap file for 'Adobe-Japan1' collection
とか言われた。adobe-cmapsは入れてあるし、当然aj16/CMapの下にそのファイルはあるのに何言ってるのと思いながらソースを追いかけると、xpdfrcで指定されたcMapDir「しか」探さないようだ。ということは、ja-xpdfのデフォルトがタコなんじゃんと文句をいいつつ、cMapDirのうしろに/aj16/CMapを追加。

最後は科研費がらみ。学振のページで応募情報ファイルというのを作成し、それをダウンロードすると、xpdfでは、上の 90ms-RKSJ-H 問題の他に、
Error: Couldn't find a font for 'lrSvbN'
Error: Couldn't find a font for 'lrSVbN,Bold'
とか出る。なんじゃそのフォントはと、たまたまjlessに通して見たら、なんと
Error: Couldn't find a font for 'MSゴシック'
Error: Couldn't find a font for 'MSゴシック,Bold'
だった。エンコーディングはシフトJIS。とりあえずこのままの名前でxpdfrcにつっこんでシフトJISで保存してみたら、なんとか表示された。ただし、Boldかどうかの区別はできていない。どうすればいい?

誰がこんなフォント名でPDFを作るのかとプロパティを見ると、IOWebDOCというPDFベースの帳票システムらしい。科研応募システムの受注先が、これを入れて納品したって感じか。

で、acroreadはどうやって対処してるのかと、バイナリをシフトJISとみなして覗いてみると、50個ほどの日本語用フォント名が埋め込んであった。そのうち半分が日本語名。どれも「,Bold」は付いていないので、これは一般的なフォントの飾り指示であって、xpdfが対処すべき問題なんだろうと思う。

ところで、xpdfrcでは、フォント名を明示的に指定しなくても、
displayCIDFontTT
で registry-ordering (つまり、Adobe-Japan1 とか)を指定することはできる。こうすればマッチするフォント名がなくてもフォントマッピングができる。しかしこの場合、たぶんGothicやらMinchoやらの区別はできないので、あまり使いたくない。追加すべきフォントも検出できなくなってしまうし。

というわけで、xpdfの改良余地はまだまだありそう、というのが結論。

2006-10-23

linux-flashplugin7

以前の記事で書いたメモに従ってFreeBSDにlinux-flashplugin7を導入。libexec/rtld-elfのパッチも当て、ハンドブックの記述に対してX11BASEがLOCALBASEになったことも簡単に片付けて、firefox about:pluginsで認識することを確認。youtubeも動作。

で、あっさりこれで大丈夫かと思ったら、やっぱり問題があった。

音が出ない:

固まる:
www.sony.jpで固まる。video.google.comのどれかのビデオでも固まる。

日本語の文字が出ない:
Google Analyticsのレポート内の日本語文字がすべて空白に。ルパンのタイトル風フラッシュも文字がまったく出ない。

これらのうち、文字に関してだけ、半分解決した。

LinuxのFlash Playerは日本語フォントとしてKochi GothicとKochi Minchoを使うようにハードコーディングされている。これを、xfsのconfigファイルに記述されたパスの中から探すらしい。xorg.confとかに基づいて探すよりは、確かに楽か。

なので、FreeBSDの場合、まずjapanese/kochi-ttfontsをインストールし(TeXとか入れてたら普通は入っているはず)、/usr/X11R6/lib/X11/fs/config をいじって、catalogue の行に、TrueTypeのディレクトリを追加。

これだけで、Google Analyticsレポートは日本語が出るようになった。ところがルパンフラッシュは、何か文字らしきものは出るようになったが文字化けしている。文字エンコーディングが違っていて、一方にしか対応していないのだろうと推測される。

不意に踏んだリンクがたまたま固まるフラッシュを含んでいたりするのは当然予測できないので非常にやっかいだが、今も解決策なし。音に関しては調査もしていないが、デバイスがらみか。そのうち調べてみよう。

追記(2007/2/6)

xorg-fontserverを入れていないFreeBSDでは、/usr/X11R6/lib/X11/fs/configなど存在しないが、普通に日本語が出てしまった。ためしに、xorg-fontserverの入っている(がxfsを使っていない)マシンでconfigファイルを削除してもちゃんと出た。文字化けするフラッシュには効果なし。いらないものは入れるなということか。

厄介者sazanamiフォント

FreeBSD上のFirefoxで、以前からボールドの文字がきちんとボールドで出ないことがあったのを放置していたが、ちょっと調べてみたらあっさり片付いた。

何の依存で入ったのか今となっては思い出せないが、japanese/sazanami-ttfは既にどれからも依存されていなかった。Firefoxを起動した後でたまたまTrueTypeの下をls -ltruしたら、sazanamiだけがアクセスされていて、これはと思って削除した。

その結果、何も問題なくipaフォントが使われるようになり、ボールドもちゃんと出た。こんな簡単なことでストレスの元が一つ減るとは。

2006-10-19

FreeBSD GNOME祭

GNOMEの2.16への更新に伴って、X11BASEやめてLOCALBASEにするぞ祭を開催した。ようやく収束。

UPDATINGに書いてあるとおり、portmaster -r pkg-config\* したら、かれこれ半分はできたろうか、まだまだなんだろうか、というあたりで、sysutils/policykit の更新に失敗して停止。uid=559とかいうユーザが既にあって作れなかったとか。1000未満は全部空けとかなきゃならんのだろうか。

uid問題はクリアにしたものの、再開させることもできず、残りを手動でできるはずもなく、結局最初からやり直し。いちおう速いマシンだったからよかったものの、VMwareの方はどうしようか悩み中。

ついでに、portmasterに関して tips。

パッケージ間のファイル衝突などがあると、portmasterがbackupが作れないとか言って停止することがよくある。この場合は -B オプションでバックアップ作成を抑制すると吉。

追記(10/21)

VMware側はuid問題がないので行けるだろうと更新開始。ところが結局かなり進んだところで停止してしまった。database/grass-i18n+ipafontのところでlibblas.aがないとか。libblas.soはあるのに。何かと競合を起こして消されてしまったのだろうか。

とりあえずmath/blasを入れ直して、対処法を考えていて、ふと思いついた。+IGNOREMEを使えばいいと。pkg-config以降更新されたパッケージ全部に対して+IGNOREMEをtouchしてから、同じようにportmaster -rを動かせばいいわけだ。簡単なことだった。

2006-10-18

科研費マクロ改め科研費LaTeX

これまでお世話になってた科研費マクロから、日本学術振興会公認の科研費LaTeXになった。科研費マクロはゴリゴリとマクロを駆使して種目に応じた罫線を引きまくったが、科研費LaTeXは原始的というか、メンテナンスの手間を抑えた目からウロコの方法だった。

つまり、学振と文科省が出している各種目別のPDF版様式をページごとにバラし、EPS(あるいはPDF)として\includegraphicsで背景として取り込んだ上に、各領域に文章を流し込むという方法である。バラしたものも込みでパッケージとして配布しているので、利用者はいくつか\newcommandに記入していくだけ。図も貼りやすい。

この方法だと種目ごとに別々のパッケージが必要になるが、どうせ一人が書くのって年に一つか二つだし、無理して一つのパッケージにまとめる必要もない。毎年の様式変更(てか、これをどうにかしてほしい)にも対応しやすい。

よい方向に行ってる感じ。今後も世話になります。

Firefox 2.0 RC3導入

RC1ではまってしばらくほうっておいたが、そろそろPC内のほとぼりも冷めたろうと、思い切ってRC3を導入。問題なし。

よく使っていたQuteテーマがいつまでたっても更新されておらず、2.0で使うテーマをそろそろ考えなきゃと思っていたら、Quteのサイトで2.0用の分岐QuBranchがあることを発見。とりあえず満足。

と思ってちょっと違和感があったが、特に何も考えずに日本語版を入れてしまっていた。まぁいっか。

追記(10/29)

Qute 3.2.1が出て2.0に対応。

2006-10-12

eclipseでもnfsロック問題

Cプログラミングの教育用に、最近はやりの(何を今さら)eclipseが使えないかと、FreeBSDに3.1.2をCDT込みで入れてみたが、なんだかうまく動かず、またしてもnfsのロックに失敗している模様。~/.eclipse以下に残されたログを読むと、java.io.IOExceptionが何やら言っていて、-Dosgi.locking=none をVMの引数につけろと。

そんなこと言われてもどうすればいいのやらさっぱりわからなかったが、ググると、config.ini に osgi.locking=none と書けばよさそうということがわかり、やってみればすんなり動作。OOoの場合と違い、こちらはローカルな設定でなんとかなるので、更新時の手間がなくて楽。

langpack を入れるだけで日本語になっていることに驚く。LC_CTYPE しかいじってないはずだけど、どこ見てるんだろう。

2006-10-10

Google Webmaster Tools確認用タグは残すべし

以前、Google Webmaster Toolsの確認(verification)用のmetaタグは、確認後、消せばいいとか書いたが、どうも消すとまずいらしい?今日、summaryのページを見てみたら、

Verification status: NOT VERIFIED

となってた。

Bloggerではテンプレートに入れるしかないので、当然あらゆるページに無駄にmetaタグが付くが、ご容赦。

2006-10-05

硬軟日記プライバシーポリシー

1. 基本方針 個人ブログサイト硬軟日記(以下「当サイト」といいます)の管理者であるHRT(以下「管理者」といいます)は、当サイトを利用する方(以下「利用者」といいます)の個人情報がプライバシーにかかわる情報であることを認識し、法令を遵守し、その適切な管理に努めます。

2. 収集利用する情報 当サイトで収集利用する情報は、利用者個人が特定できない形態でのアクセス統計情報(アクセスURL、アクセス日時、アクセス元都市、リファラ情報、ユーザエージェント情報を含む)であり、当サイトのコンテンツの改善およびナビゲーションの改善の目的で利用されます。

3. 収集方法 当サイトでは、Google AnalyticsおよびYahoo!アクセス解析を利用しており、それぞれGoogleおよびYahoo! JAPANに解析用のログデータを送信して、匿名のトラフィックデータを収集します。

4. 目的外の利用 当サイトは、収集した情報を第三者に利用させません。また、この情報およびGoogle Analyticsのサービスを個人情報の追跡または収集に利用せず、さらに、この情報を個人情報と関連づけません。ただし、法令による定めがある場合はこの限りではありません。

5. 改訂 当サイトは、随時本プライバシーポリシーを改訂する権限を保有しており、改訂した場合は当サイト上でお知らせします。

更新: 2006年10月5日
更新: 2009年5月27日

2006-10-04

Google Webmaster Tools用feed

Webmaster Toolsにatom.xmlを食わせるとエラーになっていたが、 rss.xmlで成功することがわかった。

Blogger betaのフィードにはいろいろ種類があって、@aka氏の記事に詳しくまとめられている。で、alt=rss以外に、隠しオプションはないのかとフィードの中を見てたら、max-resultsというのがあった。つまり、rss.xmlだけでは最新25個に制限されるフィードだが、http://*.blogspot.com/feeds/posts/full?alt=rss&max-results=100などとすれば、sitemapとして使えるように全記事を含んだフィードも作れる。

が、なかなかうまくいかないもので、Webmaster Toolsでsitemapとして使えるのは、そのサイトのトップディレクトリ内のファイルをさすURLでなければならない。それでは、と、rss.xml?max-results=100としたら、Page Not Foundだった。

やっぱり、Blogger自身が、betaのはずれるころまでに、sitemap.xmlを自動生成するようにしてくれるのが一番じゃないだろうか。あと、atom.xmlのnamespaceも直してくれれば。

moodleカスタマイズその3

以前のカスタマイズに不具合。管理者による学生プロフィールの修正ができなかった。

firstname(に限らず、任意のフィールド)をdisabledにすると、それがフォームデータとして送られないらしい。$usernewでfirstnameがない場合に、それがdisabledによるものかチェックするため、usernameからfirstnameへの変換を関数に分離。該当すれば$userからコピー。

ついでに対応表を入手。1対多の場合があるので関連を聞いておかなければ。

2006-10-02

moodleにSQL Injection脆弱性

1.6以降のすべてのバージョンのmoodleにSQL Injectionの脆弱性が発見された。blog機能によるもの。パッチは1行だけ。urldecodeしていた部分を修正。

テクノラティでmoodleを検索してたら、たまたま奥村さんのブログにぶちあたって知った。

moodle.orgにサイト登録しとけば早めに通知されたっぽいが、どうするか。ゲストログインできるし、そろそろ登録するのがいいのかも。