2005-01-01から1年間の記事一覧

ここには書いてませんでしたが、

ソフトの名前はdigdicです。

その2。画像が表示されないものがある。

原因がさっぱりわからなかったのでとりあえず棚上げして、 EBライブラリの最新バージョンが4.2.1にあがっていたので 入れ替えて試してみると、何と解決してしまった。ものは試しだ。

その1。ドキュメントに書いてあったフックの引数の説明が実際と違う。

最初のやつはドキュメントでは開始のフックで幅・高さが渡される と書いているのが実際はページ・オフセットが渡されていて、 終了のフックではページ・オフセットが渡されると書いてあったが、 使える情報は何も渡されていなかった。 ソースを見て見当がつ…

で、

カラー画像にも手を付けて、今は一応一通り解決した所だが、 やはりすんなりとはいかせてくれなかった。はまったのは二点。

前に書いたモノクロビットマップの不具合は、

幅と高さを逆に設定していたことが原因でした。

今日は、

とりあえず定義されているフックの関数を全部書いて、 (ほとんどの関数の中身は return 0; だけ) モノクロビットマップでも出してみるか、とフックの処理を書いてみた。 外字とほとんど同じだろうと思っていたら、さにあらず。 モノクロビットマップで取得で…

で、単語にするかしないかは、

ASCIIの英字 カタカナ 漢字 全角英字 が続いた場合とそうでない場合で区別するようにした。 ひらがなは接続詞で使われるのが多いので、やめた。 以上。

昨日の続きで、

wxHtmlWindowでの文字の折り返しの調整で、 アルファベットのつづりの途中では折り返さないように、 ある程度単語として認識させるようにしていたところ、 「馬鹿」で検索して、 「馬鹿も休み休み言え」を選択したところで落ちたりした。 馬鹿なコードも休み…

wxHtmlWindowとwxHtmlWinParserをオーバーライド

したクラスを作って、テキストを単語に細切れにしている処理(AddText) をカスタマイズすることで、ウィンドウの右端で必ず折り返されるように することに成功した。 空白文字で単語に区切っていたのを、文字単位でも強制的に区切り、 前の単語とのつながりの…

wxMozilla

configure --prefix=/MinGW --enable-shared で、 .... configure: error: Library requirements (mozilla-nspr >= 1.3 mozilla-xpcom) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard pref…

wxIE

サンプルのmakeが通らない→ eclipseの管理c++プロジェクトでビルド→失敗 ちょっといじれば通るかもとも思ったが、 どうもUNICODE版が考慮されてなくてwxStringがらみのところで 沢山エラーが出ているのでやめた。 UNICODE版をつかわなければ通るかも?

wxIEとwxMozillaが使えないかと

試してみたけど挫折した。

wxHtmlWindowがウィンドウの右端で折り返してくれない

事に気がついた。 英語だと単語間にスペースがあるからそこで折り返されるけど、 日本語のように普通はずっと繋がっているようなものについても 同じ処理をしているのか、スペースが無いから折り返されない。 回避方法は無いものか?

外字を表示してみる。

ebライブラリから取れるデータのビットが白黒反転していたり、 ビット順も逆だったりと予想外の事が色々あったが、 一応外字の出力はできた。 しかし、ここで思わぬ障害を発見・・・。

wxHtmlWindowでは、

何と独自のタグ(要素と言う方がいいのか)を定義できる。 ソースからコンパイルするから可能ということでは無く、 追加するためのマクロがいろいろ定義されていたりする。 複雑なデザインをするためにはHTMLをカスタマイズして使えということなんでしょうか?…

wxHtmlWindowでは

CSSは使えないようなのだが、普通のHTMLもどこまでサポートされているのかとか、 実際どう表示されるのかわからんしな・・・。 IEとかGeckoとかが使える、wx何たらクラスとかはあるんだろうか?

今日は

インデントがうまくいかずに悩んでいる。 どうやら、このインデントのコードは辞書毎に使い方が違っていたりして、 うまく表示するためには色々な辞書のデータを調べる必要があるかもしれない。 また、EBライブラリのフックの種類が沢山あるようで、 実はHTM…

昨日は

文字で罫線を表示しているときにうまく表示されるように スペースを に変換する処理を作るのにはまり、 (フック関数のなかでは半角スペースは' 'ではなく、0xa1a1だった)

wxHtmlWindowに検索結果を表示するようにしたのだが、

HTMLで書けばいいので表現方法を簡単に変えられるだろうと 漠然とおもっていたら、これがまたなかなか厄介で、

通信用語の基礎知識の「A.M.チューリング賞」

がヒットするように検索すると、検索結果のテキストの表示が変になる。 受賞者リストが途中で切れる。(DDWinでも途中で切れた。) eb_read_text()で返される文字列長が最大長と同じ場合に読み出し処理 のループを抜けるようにしていたのを、返した文字列長…

まあ、

Application Dataフォルダにするでしょう。 フォルダがない場合は、 wxFileName::Mkdirを、flagsにwxPATH_MKDIR_FULLを指定して呼び出せば、 再帰的に作ってくれるのでは?と思っているけどまだ試してない。

設定ファイルの生成は、

↓としてみる。参考 wxFileConfig* config = new wxFileConfig( wxEmptyString, wxEmptyString, path, wxEmptyString, wxCONFIG_USE_LOCAL_FILE); wxConfigBase::Set(config);

Application Dataフォルダは、

↓等とすれば取得できる。wxStandardPaths::Get().GetUserDataDir()

実行ファイルのパスは、

wxAppのargv[0]から取れる(当たり前?)から、 そこからディレクトリまで抽出できる。

設定ファイルの保存場所をどうするか?

実行ファイルと同じディレクトリ、Application Dataフォルダの どっちにするかとか考えつつ、wxのメソッドで取ってこれるのか試す。

wxWidgetsをUNICODE版にした事で、

wxStringとconst char*の変換でエラーになっていたところは、 wxString::c_str()のかわりに、wxString::mb_str()を使ったりしてたら なんとなく通るようになったけど、 それ以外でiconvを直に使ってEUCからSJISに変換していたところを wxCSConvをwxStringの…

コンパイルオプションで、文字セットを渡すのはやめることにする。

コレ→--input-charset=cp932 --exec-charset=cp932 コメント以外で日本語は使わなければいいのだ。たぶん。 で、ためしに日本語のリテラルを使ってみたら、案の定、 全部エラーになった。

エンコーディング関係のエラーをなんとかしようと、

今度はUNICODE版を作ってみることにする。 --enable-unicodeをつけてConfigureし、make、make install。 configure --disable-shared --disable-threads --enable-unicode --prefix=/MinGW --with-libiconv-prefix=/MinGWwx-configの出力が変わったので、コ…

せっかくなので、

wxEncodingConverterでもつかってみるかな。

wxConfig --libs の出力が変わった(-liconvが追加)ので、

リンクオプションを変える。 -L/MinGW/lib -Wl,--subsystem,windows -mwindows /MinGW/lib/libwx_msw_xrc-2.6.a /MinGW/lib/libwx_msw_qa-2.6.a /MinGW/lib/libwx_msw_html-2.6.a /MinGW/lib/libwx_msw_adv-2.6.a /MinGW/lib/libwx_msw_core-2.6.a /MinGW/li…