Difference between revisions of "Bug Tracking/ja"
From Free Pascal wiki
Jump to navigationJump to search(30 intermediate revisions by 4 users not shown) | |||
Line 31: | Line 31: | ||
==解決作業中== | ==解決作業中== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
===IDEで日本語入力の位置が変、入力中に文字化けする=== | ===IDEで日本語入力の位置が変、入力中に文字化けする=== | ||
− | + | Windows/0.9.26以前は修正パッチを配布しています。詳しくは、日本語Lazarus-MLをご覧下さい。 | |
− | + | 最新の0.9.27系のSVNレビジョンでは多くのバグが修正されています。最新のSVNからソースを取得して | |
+ | コンパイルしてください。 | ||
+ | 0.9.27-SVNレビジョン用のIMEのパッチを準備しています。 | ||
バグトラックへ登録済み http://bugs.freepascal.org/view.php?id=13140 | バグトラックへ登録済み http://bugs.freepascal.org/view.php?id=13140 | ||
==未解決== | ==未解決== | ||
− | === | + | ===GTK2のときソースエディタで、インプットメッソドを用いて直接日本語を入力することができない=== |
− | + | 他のエディタなどから日本語をコピーして貼り付ければ、表示は正しくなされる。 | |
− | + | ソースエディタは SynEdit コンポーネントで作成されているので、 | |
+ | SynEdit コンポーネントの問題といえる。改善の手がかりとしては、資料 | ||
+ | http://gtklab.sourceforge.jp/gtkim/GTKIM01.TXT | ||
+ | の中ほどにある、gtk_im_context_filter_keypressとcommitシグナルを用いる | ||
+ | 必要があると思われる。なぜなら、Lazarus のソース中でそのような処理を | ||
+ | しているところが見当たらないからである。 | ||
+ | その他にも http://gtklab.sourceforge.jp/gtkim/ の資料は gtk2 上での | ||
+ | 日本語入力の資料としていろいろ役立ちそうです。 | ||
+ | 英語の資料としては、この辺でしょうか。 | ||
+ | http://library.gnome.org/devel/gtk/unstable/GtkIMContext.html | ||
+ | gtk_im_context_filter_keypressとcommitシグナルについての部分を読んで | ||
+ | きちんと処理していただけるようバグトラッカーなどで開発チームに伝えていただければ | ||
+ | ありがたいのですが・・・ | ||
===Linux上でGTK2を使用すると、IDEから文字が消える=== | ===Linux上でGTK2を使用すると、IDEから文字が消える=== | ||
− | [[user:Saeka-jp]] | + | [[user:Saeka-jp]] SynEditでなんかこのあたりのことをしないといけないような気がする。 |
GtkIMMulticontext | GtkIMMulticontext | ||
http://www.google.co.jp/codesearch/p?hl=ja#xADIePpEDw0/kazehakase-0.2.5/src/utils/gtk-utils.c&q=GtkIMMulticontext | http://www.google.co.jp/codesearch/p?hl=ja#xADIePpEDw0/kazehakase-0.2.5/src/utils/gtk-utils.c&q=GtkIMMulticontext | ||
− | + | IMEはWindowsの問題としてあげているが、別途バグトラックにあげたほうが良いだろう。 | |
− | + | こっちのほうが参考になると思われる。geanyのエディタはAnthyもつかえてUTF8なのでFPCの環境として十分使える? | |
− | = | + | http://www.google.co.jp/codesearch/p?hl=ja#lTzZWQ3nB4Q/geany-0.11/scintilla/ScintillaGTK.cxx&q=gtk_im_%20geany |
− | |||
===TPQConnectionコンポーネント(PostgreSQLへのアクセス)がクライアントエンコーディングに対応していない=== | ===TPQConnectionコンポーネント(PostgreSQLへのアクセス)がクライアントエンコーディングに対応していない=== | ||
Line 69: | Line 77: | ||
http://bugs.freepascal.org/view.php?id=13140 MacOSX上での | http://bugs.freepascal.org/view.php?id=13140 MacOSX上での | ||
IMEに相当する情報がないか、ということでした。 | IMEに相当する情報がないか、ということでした。 | ||
+ | |||
+ | ==解決済み== | ||
+ | |||
+ | ===SynEdit コンポーネントのフォントの初期値=== | ||
+ | Windows/0.9.27 ->0.9.28で改善されました。 | ||
+ | Heightが正の値でSizeが負の値なのはおかしい? | ||
+ | 少なくとも Delphi との互換性を考えるとおかしいが・・・ | ||
+ | ちなみに、修正方法は | ||
+ | interface 部の const 宣言中の SynDefaultFontHeight | ||
+ | に負の値を指定すればよい。 | ||
+ | |||
+ | ===Linux上でGTK2でIDEがコンパイルできない=== | ||
+ | Linux+GTK2 / 0.9.26 ->0.9.28で改善されました。 | ||
+ | |||
+ | ===IDEの日本語の表示が変=== | ||
+ | Windows/0.9.26 ->0.9.28で改善されました。 | ||
+ | [[User:Saeka-jp]]完璧ではありませんが修正パッチを配布しています。詳しくは、日本語Lazarus-MLをご覧下さい。 | ||
+ | http://bugs.freepascal.org/view.php?id=11819 へ報告済み[[User:Saeka-jp]] | ||
+ | |||
+ | なお、0.9.27 ではこの点についてだいぶ改良が進んでいますのでパッチ等が不要です。 | ||
+ | テストに協力してもよいという方は、是非 0.9.27 をご使用ください。 | ||
+ | |||
+ | ===IDE上で、フォントをフォントダイアログで設定するときにフォント文字中に日本語がはいっていると設定されない=== | ||
+ | Windows/0.9.26 ->0.9.28で改善されました。 | ||
+ | [[User:Saeka-jp]]バグトラックへ登録済み http://bugs.freepascal.org/view.php?id=13141 | ||
+ | |||
+ | ===IDEのObject Inspector 内の Font.Name のドロップダウンリストの一覧内に、フォント名中に日本語がはいっているフォントが表示されない=== | ||
+ | Windows/0.9.27 beta ->0.9.28で改善されました。 | ||
+ | lcl\include\screen.inc 内の | ||
+ | EnumFontsNoDups 関数内の | ||
+ | S := LogFont.elfLogFont.lfFaceName; | ||
+ | という行を | ||
+ | S := AnsiToUTF8(LogFont.elfLogFont.lfFaceName); | ||
+ | とすればうまく動作するようです。 | ||
+ | |||
+ | なお、同じ問題が LazReport のデザイナでもありますが | ||
+ | lr_desgn.pas 内の | ||
+ | EnumFontsProc 関数内の | ||
+ | s := StrPas(LogFont.elfLogFont.lfFaceName); | ||
+ | という行を | ||
+ | s := AnsiToUTF8(StrPas(LogFont.elfLogFont.lfFaceName)); | ||
+ | とすればうまく動作します。 | ||
+ | もし他にも EnumFontFamiliesEx 関数を用いているところがあるなら | ||
+ | 上と同じように修正すればうまくいくのではないかと思います。 | ||
+ | EnumFontFamiliesExA の代わりに EnumFontFamiliesExW を | ||
+ | 使用するようにするのがより完璧な修正方法でしょう。 | ||
+ | |||
+ | おそらく上の「IDE上で、フォントをフォントダイアログで設定するときにフォント | ||
+ | 文字中に日本語がはいっていると設定されない」という問題も同じようにどこかで | ||
+ | AnsiToUTF8 を使えば修正できると思います。 | ||
===IDEエディタフォントとしてMSゴシックなどの日本語フォントを指定すると1文字あたりの文字幅が広すぎる表示になってしまう=== | ===IDEエディタフォントとしてMSゴシックなどの日本語フォントを指定すると1文字あたりの文字幅が広すぎる表示になってしまう=== | ||
− | Windows/0.9.27 beta | + | Windows/0.9.27 beta ->0.9.28で改善されました。 |
synedit.pp 内の | synedit.pp 内の | ||
TCustomSynEdit.RecalcCharExtent メソッド内の | TCustomSynEdit.RecalcCharExtent メソッド内の | ||
Line 79: | Line 137: | ||
と変更することで問題が解決することを確認していますが、正当な解決方法なのかどうかは現在不明です。 | と変更することで問題が解決することを確認していますが、正当な解決方法なのかどうかは現在不明です。 | ||
− | + | (追記) | |
+ | 解決策ではありませんが、Terminalフォントを設定してみたら、とりあえず修正なしでもゴマカシ回避ができました。(XP) | ||
===プロパティエディタで日本語を入力すると文字が途中で切れていることがある=== | ===プロパティエディタで日本語を入力すると文字が途中で切れていることがある=== | ||
Line 89: | Line 148: | ||
[[User:Tooka]]がnkfを呼び出して、文字コードを自動変換できないかと研究しています。興味のある方は[[User:Tooka]]に話しかけるか、日本語メーリングリストに登録してください。 | [[User:Tooka]]がnkfを呼び出して、文字コードを自動変換できないかと研究しています。興味のある方は[[User:Tooka]]に話しかけるか、日本語メーリングリストに登録してください。 | ||
+ | |||
+ | |||
+ | {{AutoCategory}} | ||
+ | [[Category:Community/ja]] |
Latest revision as of 18:59, 25 July 2015
概要
このページの目的
Lazarusは主に海外で開発が進められており、現在のところ、日本語に対して完全には対応していません。 このページでは日本語で、あるいは、日本語の、障害情報を集積します。
Lazarusで日本語の取り扱いに関して、問題があったり、解決策を見出した場合、些細なことでもいいので、書き残してください。 すでに解決がすすめられている課題かもしれませんので、もし、英語がわかるのであれば、バグトラックを参考にしてください。
問題の解決方法
日本語のメーリングリストによるLazarusのコミュニティは少人数なので、問題がすぐに解決できるとは限りません。 しかし、オープンソースのコミュニティで開発がすすめられていますので、誰でもソースコードをみて、修正ができます。 これが、大きな利点であり、楽しみでもあります。
実際、ものすごい勢いで、ソースコードが世界中からコミットされ、すでにSVNによる通算の更新カウントは10万回を超えています。
日本語Lazarusコミュニティ内でも、ここに上げられた情報は、必要なものは英訳して本家のバグレポートなどへ報告するか、日本語の環境でソースを分析して修正していきたいと思っています。
バグを見つけましたが英語が不得意なので本家に報告できません
ここに書いておくか、日本語Lazarus-MLに入って日本語で報告してください。
ここに書く時に何か気をつける事はありますか?
バグの発生したLazarusのバージョン、OSを書いてください。
障害情報
解決作業中
IDEで日本語入力の位置が変、入力中に文字化けする
Windows/0.9.26以前は修正パッチを配布しています。詳しくは、日本語Lazarus-MLをご覧下さい。 最新の0.9.27系のSVNレビジョンでは多くのバグが修正されています。最新のSVNからソースを取得して コンパイルしてください。 0.9.27-SVNレビジョン用のIMEのパッチを準備しています。 バグトラックへ登録済み http://bugs.freepascal.org/view.php?id=13140
未解決
GTK2のときソースエディタで、インプットメッソドを用いて直接日本語を入力することができない
他のエディタなどから日本語をコピーして貼り付ければ、表示は正しくなされる。 ソースエディタは SynEdit コンポーネントで作成されているので、 SynEdit コンポーネントの問題といえる。改善の手がかりとしては、資料 http://gtklab.sourceforge.jp/gtkim/GTKIM01.TXT の中ほどにある、gtk_im_context_filter_keypressとcommitシグナルを用いる 必要があると思われる。なぜなら、Lazarus のソース中でそのような処理を しているところが見当たらないからである。 その他にも http://gtklab.sourceforge.jp/gtkim/ の資料は gtk2 上での 日本語入力の資料としていろいろ役立ちそうです。 英語の資料としては、この辺でしょうか。 http://library.gnome.org/devel/gtk/unstable/GtkIMContext.html gtk_im_context_filter_keypressとcommitシグナルについての部分を読んで きちんと処理していただけるようバグトラッカーなどで開発チームに伝えていただければ ありがたいのですが・・・
Linux上でGTK2を使用すると、IDEから文字が消える
user:Saeka-jp SynEditでなんかこのあたりのことをしないといけないような気がする。 GtkIMMulticontext http://www.google.co.jp/codesearch/p?hl=ja#xADIePpEDw0/kazehakase-0.2.5/src/utils/gtk-utils.c&q=GtkIMMulticontext IMEはWindowsの問題としてあげているが、別途バグトラックにあげたほうが良いだろう。 こっちのほうが参考になると思われる。geanyのエディタはAnthyもつかえてUTF8なのでFPCの環境として十分使える? http://www.google.co.jp/codesearch/p?hl=ja#lTzZWQ3nB4Q/geany-0.11/scintilla/ScintillaGTK.cxx&q=gtk_im_%20geany
TPQConnectionコンポーネント(PostgreSQLへのアクセス)がクライアントエンコーディングに対応していない
Carbon Interface IDEにおいて、エディタ上で日本語入力できない
Mac OSX 10.4.11/0.9.25 beta GTK版は確認していないため分かりません。 現象としては、日本語入力モードで入力した場合、ローマ字がそのまま表示され、 ディスプレイ下部に変換前に日本語が表示されている。 スペースキーで変換されるが、エディタ上に反映きない、エディタ上では改行されるのみ。 ---- add saeka-jp. http://bugs.freepascal.org/view.php?id=13140 MacOSX上での IMEに相当する情報がないか、ということでした。
解決済み
SynEdit コンポーネントのフォントの初期値
Windows/0.9.27 ->0.9.28で改善されました。 Heightが正の値でSizeが負の値なのはおかしい? 少なくとも Delphi との互換性を考えるとおかしいが・・・ ちなみに、修正方法は interface 部の const 宣言中の SynDefaultFontHeight に負の値を指定すればよい。
Linux上でGTK2でIDEがコンパイルできない
Linux+GTK2 / 0.9.26 ->0.9.28で改善されました。
IDEの日本語の表示が変
Windows/0.9.26 ->0.9.28で改善されました。 User:Saeka-jp完璧ではありませんが修正パッチを配布しています。詳しくは、日本語Lazarus-MLをご覧下さい。 http://bugs.freepascal.org/view.php?id=11819 へ報告済みUser:Saeka-jp なお、0.9.27 ではこの点についてだいぶ改良が進んでいますのでパッチ等が不要です。 テストに協力してもよいという方は、是非 0.9.27 をご使用ください。
IDE上で、フォントをフォントダイアログで設定するときにフォント文字中に日本語がはいっていると設定されない
Windows/0.9.26 ->0.9.28で改善されました。 User:Saeka-jpバグトラックへ登録済み http://bugs.freepascal.org/view.php?id=13141
IDEのObject Inspector 内の Font.Name のドロップダウンリストの一覧内に、フォント名中に日本語がはいっているフォントが表示されない
Windows/0.9.27 beta ->0.9.28で改善されました。 lcl\include\screen.inc 内の EnumFontsNoDups 関数内の S := LogFont.elfLogFont.lfFaceName; という行を S := AnsiToUTF8(LogFont.elfLogFont.lfFaceName); とすればうまく動作するようです。 なお、同じ問題が LazReport のデザイナでもありますが lr_desgn.pas 内の EnumFontsProc 関数内の s := StrPas(LogFont.elfLogFont.lfFaceName); という行を s := AnsiToUTF8(StrPas(LogFont.elfLogFont.lfFaceName)); とすればうまく動作します。 もし他にも EnumFontFamiliesEx 関数を用いているところがあるなら 上と同じように修正すればうまくいくのではないかと思います。 EnumFontFamiliesExA の代わりに EnumFontFamiliesExW を 使用するようにするのがより完璧な修正方法でしょう。 おそらく上の「IDE上で、フォントをフォントダイアログで設定するときにフォント 文字中に日本語がはいっていると設定されない」という問題も同じようにどこかで AnsiToUTF8 を使えば修正できると思います。
IDEエディタフォントとしてMSゴシックなどの日本語フォントを指定すると1文字あたりの文字幅が広すぎる表示になってしまう
Windows/0.9.27 beta ->0.9.28で改善されました。 synedit.pp 内の TCustomSynEdit.RecalcCharExtent メソッド内の Pitch := fpDefault; // maybe Fixed という部分を Pitch := fpFixed; // maybe Fixed と変更することで問題が解決することを確認していますが、正当な解決方法なのかどうかは現在不明です。
(追記) 解決策ではありませんが、Terminalフォントを設定してみたら、とりあえず修正なしでもゴマカシ回避ができました。(XP)
プロパティエディタで日本語を入力すると文字が途中で切れていることがある
Windows/0.9.24 User:Saeka-jpすぐできる対応方法としては、FormCreateなどでコードでプロパティに代入する。 Unicode(utf-8)になってからは、修正されました。(0.9.26で確認済み)
その他
User:Tookaがnkfを呼び出して、文字コードを自動変換できないかと研究しています。興味のある方はUser:Tookaに話しかけるか、日本語メーリングリストに登録してください。