2006年8月4日の日記を表示中

2006年 8月 4日 (金)

vs xdvi

64bit環境でxdvi(xdvik-22.40y1-j1.21)ビルドしたんですが,日本語がまったく出ず「・」になっちまいます.デバッグ出力とかさせると,きちんと設定ファイル読みにいってるのに何でだー.ググって出てくるケースはどれも無関係.ちゃんとvfontmapあるしフォントも置いてあるし.開けてるかどうかだってstraceで確認くらいしてるし・・・.何となくFreetype2が怪しそうだったので,バージョンを色々落としてやってみたんですが,状況はちっとも変わらず.うーん,超ハマリの予感.

あれこれ試している内に,実は32bit環境で新たにビルドし直した場合も,日本語が「・」になってしまうという衝撃の事実が発覚.過去にビルドしたときとまったく同じ手順でやっているのにこの差は何?同じFreetype2のライブラリにリンクしてるのに,出る場合と出ない場合があるってことは,Freetype2は関係ないのか.

ソースを見ながらデバッガを動かして追いかけてみた所,2byte文字をunsigned charな変数に突っこんで処理しようとして,上位byteが消えてコード変換に失敗している模様.何じゃこりゃ・・・(下記のNeedWidePrototypesは0).

#if     NeedWidePrototypes
typedef unsigned int    wide_ubyte;
typedef int             wide_bool;
#define WIDENINT        (int)
#else
typedef ubyte           wide_ubyte;
typedef Boolean         wide_bool;
#define WIDENINT
#endif

NeedWidePrototypesはどこで設定されてるのかと調べてみると,ありました.X11/Xfuncproto.hですか.なるほど.そして,これ関係で改めてググってみたら,ptetex3のChangeLogがでてきましたよ・・・.

3/27 追記: FC5 の <X11/Xfuncproto.> で NARROWPROTO が強制的に
define されるのが問題で、NeedWidePrototypes が 0 になってしまう。
他のディストロでは NeedWidePrototypes は 1 になっている。

うおー orz.ていうか,XOrg7.0なのが悪いのですか?64bit環境も7.0だしなぁ.そもそもNeedWidePrototypesが0だったら「typedef ubyte wide_ubyte;」なんてアリなのか?大体なんでXのヘッダ見て判定してんのかさっぱりわからん.というわけで,CPPFLAGSに「-DNeedWidePrototypes=1」を加えて作り直したら日本語出るようになりました.あーもう・・・.

最近のSPAM

何か,最近それっぽい単語を本文に羅列して,未承諾広告部分は画像としてくっつけて送ってくるようなSPAMが毎日何通も来ます.例えば↓みたいなので,Subjectが「TeX」とかなってたり.

How has various versions SVN forms RPM binaries required software. cant wait

WYSIWYM document Ehhh... please explain. processor approach writing

drivers. crashes eating evening before going press. stable fully

わけわかんないですが,キーワードでSPAM判定するやつをすり抜ける(SPAM度を落とす),みたいなのが狙いなんですかね・・・.

[コメントを書く]

mayoneko 2006/08/05(土) 06:09:08
http://www.itmedia.co.jp/news/articles/0608/03/news077.html
このへんとか?(結局は送信者に聞かないとわかんないですが…)

2006年8月4日の日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2006年8月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ