You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libchewing/libchewing-0.3.2.hsu.2.patch

30 lines
1.1 KiB

diff -up ./src/zuin.c.hsu ./src/zuin.c
--- ./src/zuin.c.hsu 2008-12-02 00:29:20.000000000 +1000
+++ ./src/zuin.c 2010-03-04 16:43:23.000000000 +1000
@@ -183,11 +178,8 @@ static int HsuPhoInput( ZuinData *pZuin,
{
int type = 0, searchTimes = 0, inx = 0;
- if (
- ( IsHsuPhoEndKey( pZuin->pho_inx, key ) &&
- ( pZuin->kbtype == KB_HSU ) ) ||
- ( IsDvorakHsuPhoEndKey( pZuin->pho_inx, key ) &&
- ( pZuin->kbtype == KB_DVORAK_HSU ) ) ) {
+ /* Dvorak Hsu key has already converted to Hsu */
+ if ( IsHsuPhoEndKey( pZuin->pho_inx, key )){
if ( pZuin->pho_inx[ 1 ] == 0 && pZuin->pho_inx[ 2 ] == 0 ) {
/* convert "ㄐㄑㄒ" to "ㄓㄔㄕ" */
if ( 12 <= pZuin->pho_inx[ 0 ] && pZuin->pho_inx[ 0 ] <= 14 ) {
@@ -232,10 +224,7 @@ static int HsuPhoInput( ZuinData *pZuin,
pZuin->pho_inx[ 0 ] = 12;
}
- if ( pZuin->kbtype == KB_HSU )
- searchTimes = ( key == 'j' ) ? 3 : 2;
- else if ( pZuin->kbtype == KB_DVORAK_HSU )
- searchTimes = ( key == 'h' || key == 'n' ) ? 3 : 2 ;
+ searchTimes = ( key == 'j' ) ? 3 : 2;
return EndKeyProcess( pZuin, key, searchTimes );
}