Kazuhiro's blog
ようこそ! Kazuhiro's blog
水曜日, 2月 22 2017 @ 08:17 午前 JST
 記事を友人にメールする 印刷用画面 

よくわからない解説

Lookup

UbuntuのeblookでEBGの辞書がひけない話の続きです。 EBGに対して(だけかどうか不明ですが)、ウムラウトの入った文字を含む単語を検索しようとするとLookupが反応しなくなったそうです。 呼ばれもしないのにしゃしゃり出ていろいろ試していただいた結果、一応解決したようです。 途中、解決しなかったらどうしようかと思いましたが。

過程はコメント欄でのやり取りを見て頂くとして、結局Readlineとiconvのサポートを切る事でうまく動作するようになりました。今のところ一番あやしいのはReadlineサポートです。 (コメント欄ではiconvも切るように書きましたが、iconvでおかしくなっているのであればshell-modeでも症状が再現するはずなので、その可能性は低いと思っています。) 何故Readlineサポートが有効だとダメなのかは追求していません。

通常、Lookupから呼ばれたeblookはReadlineサポートを無効にしますが、Emacsがターミナル上で動作している場合などはReadlineサポートは有効のまま動作します。ちなみに、以下のようなコードで判定を行っています。

if (!isatty(fileno(stdin))) interactive_mode = 0;

今回はこの判定がおかしかったのかもしれませんがやっぱり追求していません。 とりあえず思いついた、eblookのReadlineサポートを無効にする手段は以下の通りです。

eblookのReadlineサポートを無効にしてビルドする

eblookを使うのがLookupからだけであればReadlineサポートは必要ありません。

eblook-1.6.1+media (とLookup 1.4+media)を使う。

eblook-1.6.1+mediaにはReadlineサポートを無効にするオプションがあります。

また、eblookにおける日本語の文字コードですが、Lookup 1.4.1のデフォルトでは常にeuc-jpになります。 ndeb-process-coding-systemのデフォルト値もUNIX環境ではeuc-jpになるはずです。 Lookup 1.3ではeblookの文字コードはeblookの自動判定に任せますから、環境変数の値等に依存しています。 その為、ndeb-process-coding-systemもそれに合わせる必要があります。

(追記) Lookup 1.4+mediaでも、Readlineを有効にした状態のeblookにiso-8859-1な文字列を送ると動作がおかしくなりました。 Readlineを無効にすると解消したので、やはりReadline機能が問題になっているようです。

タグ:eblook Lookup

 記事を友人にメールする 印刷用画面 

Meadow でユニコードテキストをクリップボードとやり取りする

general

NTEmacsでは、selection-coding-systemutf-16le-dosだったりすると、ユニコードテキストをコピー&ペーストで他のアプリとやり取りできるようになっています。

Meadowではクリップボードまわりは独自のルーチンを使っており、他のアプリとのユニコードテキストのやり取りは困難ですが、複数起動されたMeadow間でテキストのコピー&ペーストができるようになっているらしいです。 個人的にはNTEmacsの動作の方が(今となっては)便利そうなので、自分が使うMeadowはNTEmacsのルーチンを使うようにしました。

(2008/05/02 追記) Meadowのtrunkもそのようになりました。

タグ:Meadow

 記事を友人にメールする 印刷用画面 

eblookの文字コードについて

Lookup

UbuntuのLookupでEBGの辞書がひけないという話があったのでちょっと調べた結果のメモ。 ただし確認できる環境がないので未確認です。

とりあえずEUC-JP以外の文字コードを設定した場合はEBGはひけなさそうな気がします。 eblookは起動後に(日本語の)入出力に使う文字コードを決定し、出力時には内部コード(EUC-JP)を変換し、入力時にはEUC-JPへと変換します。 EUC-JPが指定されている場合は変換処理を行いません。

が、この文字コード変換処理はEBGの書籍を選択した時にも内部コードをEUC-JPとみなしたまま行われているような気がします。 これを回避するにはeblookをEUC-JPで使い、変換処理を行わせないようにする必要があります。

パッケージのことは分かりませんが、Lookup 1.4.1の場合はndeb-program-argumentsがデフォルト値のままであれば

(setq ndeb-process-coding-system 'euc-jp)

で、EUC-JPで動きます。

Lookup 1.3で動いていたものがLookup 1.4.1で動かないという部分と、:codingオプションが効かないという部分はよくわかりませんでした。 Lookup 1.3と1.4.1の間では、eblookの起動時にeuc-jpを使用するようになったくらいで、それ以外の文字コードの扱いは、:codingオプションも含めて変わっていないはずです (eblook側は追っかけてません)。 ですので、上記のようにEUC-JPでeblookを使うようにし、エージェントオプションとして:codingを指定すればよさそうな気がするのですが。

(更にバグっぽい動きも見つけてしまったので)本当はeblookを変更すべきですが、自分のところでは動作の確認が全くできないうえに、EBXA-Cについても視野に入れると大きな変更になりそうなのでちょっと手を出しにくいです。

タグ: eblook Lookup

 記事を友人にメールする 印刷用画面 

EB Library 4.3.2 is released

Lookup

気付くのに遅れましたが、EB Library 4.3.2が公開されました。 UNIX環境において、ファイル名に大文字を含む動画は、小文字に変換しないと読み込めないバグが修正されています。

eblook 1.6.1+mediaのバイナリも更新しました。

タグ:EB Library eblook

 記事を友人にメールする 印刷用画面 

ldoce4v2-fpw is released

general

先日紹介した、ロングマン 現代英英辞典[4訂増補版]に付属のCD-ROMをFreePWINGで変換されたZelgadissさんが、ツールをldoce4v2-fpwとして公開されました。

タグ:LDOCE4v2 FreePWING EPWING