CannaIM: can't display conversion candidate in KouhoWindow (#8300).
* To display conversion candidate in KouhoWindow, we need to change skipping index bytes. In CannaInterface::GenerateKouhoString(), we have skipped 2 bytes as index before conversion candidate, but index is UTF8 FULL WIDTH NUMBERS, so we need to skip 3 bytes. * To show highlightRect correctly, change Invalidate(highlightRect) to Invalidate() in KouhoView::HighlightLine(). * Change BeOS's Haru font to VL PGothic (CannaLooper::ReadSettings() and KouhoWindow::KouhoWindow()).
This commit is contained in:
parent
4ea3e0d3b8
commit
d8116125d1
@ -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 width space and following 3 bytes 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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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,7 @@ void KouhoView::HighlightLine( int32 line )
|
||||
highlightRect = region.RectAt( 0 );
|
||||
//extend highlihght region to right end
|
||||
highlightRect.right = Bounds().right;
|
||||
Invalidate( highlightRect );
|
||||
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user