2009年10月20日火曜日

Abiword文字化け対策 つづき

Localeの変更では結構ハマった。Localeの名称が色々あり頭がパニックになりそうだった。端末からlocaleで確認するとはja_JP.UTF-8だがこれをlocale -aでリストを見るとja_JP.utf8と表記されている。大小文字とハイフンの有無について今だに理解出来ていない。Localeのaliasがどこかに存在するのかさえ今だに解らない。UbuntuやFedoraでも同じ傾向なので気にしない事にする。

なぜAbiwordをja_JP.utf8やja_JP.UTF-8で起動すると文字化けし、ja-JP.utf8で起動すると文字化けしないのか今だによく理解出来ていない。en_USやCで起動させるとメニューが英文表示なので使いにくいが、ja-JP.utf8だとメニューが日本語になるので最終的にこれに落ち着いた。もしかしたらハイフンの部分が別の記号でも良かったりして・・・・

AbiwordのLocaleについてはまだまだ解らない。「ライブCDの部屋」版DSL4.4ではja_JP.eucJPの使用でうまく出来ている事実があるが、Puppyをja_JP.eucJPにして試す気力は今のところ無い。

DSLのLocale


「ja-JP」でPuppy内を検索をするとSeamonkeyにこの名称を使ったファイルがある。もしかしたら何らかの影響を受けるかもしれない。

Abiword文字化け対策

AbiwordのCopy&Paste文字化け問題だが、Locale追加で決着させる事にした。

Localeをen_USで起動させると文字化けしない。「整形しないで貼り付け」で文字化けしない。他のソフト間でのCopy&Pasteは文字化けしない。他のソフトは文字化け問題が起きて無い。などの現象からこれはフォントの問題では無くAbiword単独のLocale問題だと勝手に解釈した。そこで色々Localeを試してみたところ、新しく「ja-JP.utf8」を作成する事でうまく行く事がわかった。現状との違いはjaとJPの間をハイフン(-)にしている点です。本当は新しくLocaleを作りたく無かったが自分の実力では解決法が見つからなかった。

これはAbiwordの「How To」ページに書いてある事をそのまま採用したものです。最初は記載されている「LANG=zz-ZZ.utf8」はハイフンの部分が記載ミスだろうと勝手に解釈していましたが、Abiwordでは他にもハイフンを使っている部分がある為、まさかとは思いつつ実際にやってみた所、うまくいった。

Abiword WebページのHow Toより


手順
1.新しいLocaleを作成する。AbiwordのHow Toぺーじに記載されているままの方法で、端末から

#localedef -i ja_JP -c -f UTF-8 ja-JP.utf8

2.新しく作成されたLocaleを確認しておく。

#locale -a

locale参考


3.Abiwordの起動方法は端末より

#env LANG=ja-JP.utf8 abiword

これで日本語のCopy&Pasteが文字化けしないAbiwordが起動されます。毎回端末から起動させるのは面倒くさいでしょうから、起動方法を記述したスクリプトファイルを作成しディスクトップのアイコンから起動させる様にすれば楽でしょう。
-----------------------------------------------------------
備考
不具合はあるかもしれませんが、使い込んでいないのでまだ分かりません。

Abiwordで作成したdoc形式のファイルを再度Abiwordで開いても文字化けしない様になります。

MS WordやOpenOfficeとのやりとりは確認していません。

日本語フォントはM+1P+IPAGしか試していません。Fontconfigのフォント置換はまだ行っていません。従って他のソフトでM+1P+IPAG以外のフォントを使用して作成された文書は開いた時点で文字化けすると思いますが文書全体を選択しフォントをM+1P+IPAGに変更する事で文字化けを解消する事が出来ると思います。

Abiword「フォーマット」>「スタイルの作成と修正」で落ちるのが解消される訳ではありません。

AbiwordのHow Toページが最新情報なのか、どのバージョンに対応しているのか、よく解らないので根本的に間違っているかもしれません。

PuppyLinux4.3JP使用