2012/01/24

かんなの巻

●CannaIM の変換候補が出なくなっている様なのでちょっとチェック。

●候補の表示が出てこないのは、canna から送られた変換候補文字列の前に付いているインデックス (全角数字) がいつのまにか 2 バイトから 3 バイトに増えているのが原因のようです (該当箇所は、CannaInterface::GenerateKouhoString()です)。増えたのはコード変換が ICU になったからかしらん?
●候補が出るようになったら、候補ウインドウの選択部が 2 行になる問題が出てきましたが、これは、KouhoView::HighlightLine() の余分な Invalidate()を削除することで解決しました。
●ついでに、フォントが Haru のままになっていたのを、VL PGothic に変更。
---ここから
diff --git a/src/add-ons/input_server/methods/canna/CannaInterface.cpp b/src/add-ons/input_server/methods/canna/CannaInterface.cpp
index 3cdbbee..b84a5a1 100644
--- a/src/add-ons/input_server/methods/canna/CannaInterface.cpp
+++ b/src/add-ons/input_server/methods/canna/CannaInterface.cpp
@@ -593,14 +593,14 @@ SERIAL_PRINT(( "CannaInterface: GenerateKouhoStr() revPos = %d, revLen = %d, mod
&& kouhoRevLine != -1)
|| current_mode == CANNA_MODE_TourokuDicMode
|| current_mode == CANNA_MODE_BushuMode) {
- // remove first index
- memmove(kouhoUTF, kouhoUTF + 2, kouhoUTFLen - 1);
+ // remove first index (3 bytes)
+ memmove(kouhoUTF, kouhoUTF + 3, kouhoUTFLen - 2);

- // convert full-space to LF
+ // convert full-space (and trailing index) to LF
while ((index = strstr(kouhoUTF, "\xe3\x80\x80")) != NULL) {
*index = '\x0a';
len = strlen(index);
- memmove(index + 1, index + 5, len - 4);
+ memmove(index + 1, index + 6, len - 5);
}
kouhoUTFLen = strlen(kouhoUTF);
}
diff --git a/src/add-ons/input_server/methods/canna/CannaLooper.cpp b/src/add-ons/input_server/methods/canna/CannaLooper.cpp
index 1d5641d..db7fc80 100644
--- a/src/add-ons/input_server/methods/canna/CannaLooper.cpp
+++ b/src/add-ons/input_server/methods/canna/CannaLooper.cpp
@@ -109,8 +109,8 @@ CannaLooper::ReadSettings(char* basePath)

font_family family;
font_style style;
- strcpy(family, "Haru");
- strcpy(style, "Regular");
+ strcpy(family, "VL PGothic");
+ strcpy(style, "regular");

fKouhoFont.SetFamilyAndStyle(family, style);
fKouhoFont.SetSize(12);
diff --git a/src/add-ons/input_server/methods/canna/KouhoWindow.cpp b/src/add-ons/input_server/methods/canna/KouhoWindow.cpp
index 2bc2f46..8966c96 100644
--- a/src/add-ons/input_server/methods/canna/KouhoWindow.cpp
+++ b/src/add-ons/input_server/methods/canna/KouhoWindow.cpp
@@ -33,8 +33,8 @@ KouhoWindow::KouhoWindow( BFont *font, BLooper *looper )

font_family family;
font_style style;
- strcpy( family, "Haru" );
- strcpy( style, "Regular" );
+ strcpy( family, "VL PGothic" );
+ strcpy( style, "regular" );
indexfont.SetFamilyAndStyle( family, style );
indexfont.SetSize( 10 );

@@ -271,8 +271,6 @@ void KouhoView::HighlightLine( int32 line )
highlightRect = region.RectAt( 0 );
//extend highlihght region to right end
highlightRect.right = Bounds().right;
- Invalidate( highlightRect );
-
}

}
---ここまで
●とりあえず、候補は出るようになったけど、変換文字と候補ウインドウ選択文字がずれる現象が残ってるので、これが解決したらコミットしてみようかな… (チャレンジャーはいねーかー)

●しかし、git は面倒だなぁ。

0 件のコメント:

コメントを投稿