From taiichi2 @ mac.com Mon Mar 13 11:50:09 2006 From: taiichi2 @ mac.com (=?ISO-2022-JP?B?GyRCNjZLXBsoQiAbJEJCWTBsGyhC?=) Date: Mon, 13 Mar 2006 11:50:09 +0900 Subject: [aquaskk-dev 36] =?iso-2022-jp?b?GyRCSlE0OUo4O3pOcyROJVclbSVRGyhC?= =?iso-2022-jp?b?GyRCJUYlIyRLJEQkJCRGGyhC?= Message-ID: <3884E798-BD78-4915-9751-63872CABB334@mac.com> はしもとです. こんにちは. 少し気になった点をご報告させていただきます. かな入力時,確定した文字列に対して kEventParamTextInputSendFixLenが0でないときに, kEventParamTextInputSendHiliteRngで与えられるプロパティの中に kConvertedTextがセットされているようです. 例 入力:a 出力:あ プロパティ:kEventParamTextInputSendFixLen = 2       kConvertedText fStart fEnd = 0, 2 ことえりの動作では,変換確定前の文字列かつ選択されていない文字列 部分に このプロパティは使用されるようなので,ことえりに合わせると 入力:a 出力:あ プロパティ:kEventParamTextInputSendFixLen = 2 と,文字列が確定している場合は,kConvertedTextをセットしな いのが 正しいように思います. もう一点は,コメントです. 変換しないかな入力のとき,下線がチラチラして見にくいです. 漢字変換時(▽が先頭に付与されるとき)以外は,下線を付与しないよ うに 設定できるとうれしいのですが,どうでしょうか? - taiichi From t-suwa @ users.sourceforge.jp Thu Mar 16 01:22:26 2006 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Thu, 16 Mar 2006 01:22:26 +0900 Subject: [aquaskk-dev 37] =?iso-2022-jp?b?UmU6IBskQkpRNDlKODt6TnMkTiVXGyhC?= =?iso-2022-jp?b?GyRCJW0lUSVGJSMkSyREJCQkRhsoQg==?= In-Reply-To: <3884E798-BD78-4915-9751-63872CABB334@mac.com> References: <3884E798-BD78-4915-9751-63872CABB334@mac.com> Message-ID: 諏訪です。 遅くなってすみません。メール環境を用意するのに手間取りました。 At Mon, 13 Mar 2006 11:50:09 +0900, 橋本 泰一 wrote: > かな入力時,確定した文字列に対して > kEventParamTextInputSendFixLenが0でないときに, > kEventParamTextInputSendHiliteRngで与えられるプロパティの中に > kConvertedTextがセットされているようです. (snip) > と,文字列が確定している場合は,kConvertedTextをセットしな > いのが > 正しいように思います. もしよろしければ、パッチを頂けないでしょうか? > もう一点は,コメントです. > 変換しないかな入力のとき,下線がチラチラして見にくいです. > 漢字変換時(▽が先頭に付与されるとき)以外は,下線を付与しないよ > うに > 設定できるとうれしいのですが,どうでしょうか? こちらも可能なら、パッチを頂けますか? 個人的には無変換ではなく、「かな確定変換」をしているという認識だったの で、下線が見えるのはそれほど気にしていませんでした。 よろしくお願いします。 -- Tomotaka SUWA From taiichi2 @ mac.com Thu Mar 16 09:31:07 2006 From: taiichi2 @ mac.com (=?ISO-2022-JP?B?GyRCNjZLXBsoQiAbJEJCWTBsGyhC?=) Date: Thu, 16 Mar 2006 09:31:07 +0900 Subject: [aquaskk-dev 38] =?iso-2022-jp?b?UmU6IBskQkpRNDlKODt6TnMkTiVXGyhC?= =?iso-2022-jp?b?GyRCJW0lUSVGJSMkSyREJCQkRhsoQg==?= In-Reply-To: References: <3884E798-BD78-4915-9751-63872CABB334@mac.com> Message-ID: 諏訪さん 時間を見て,パッチを作成してみます. - taiichi On 2006/03/16, at 1:22, Tomotaka SUWA wrote: > 諏訪です。 > > 遅くなってすみません。メール環境を用意するのに手間取りました。 > > At Mon, 13 Mar 2006 11:50:09 +0900, > 橋本 泰一 wrote: > >> かな入力時,確定した文字列に対して >> kEventParamTextInputSendFixLenが0でないときに, >> kEventParamTextInputSendHiliteRngで与えられるプロパティの中に >> kConvertedTextがセットされているようです. > (snip) >> と,文字列が確定している場合は,kConvertedTextをセット >> しな >> いのが >> 正しいように思います. > > もしよろしければ、パッチを頂けないでしょうか? > >> もう一点は,コメントです. >> 変換しないかな入力のとき,下線がチラチラして見にくいです. >> 漢字変換時(▽が先頭に付与されるとき)以外は,下線を付与しな >> いよ >> うに >> 設定できるとうれしいのですが,どうでしょうか? > > こちらも可能なら、パッチを頂けますか? > > 個人的には無変換ではなく、「かな確定変換」をしているという認識 > だったの > で、下線が見えるのはそれほど気にしていませんでした。 > > よろしくお願いします。 > > -- Tomotaka SUWA > _______________________________________________ > aquaskk-dev mailing list > aquaskk-dev @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/aquaskk-dev From t-suwa @ users.sourceforge.jp Sat Mar 18 10:05:55 2006 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Sat, 18 Mar 2006 10:05:55 +0900 Subject: [aquaskk-dev 39] =?iso-2022-jp?b?ZGljdGlvbmFyeS1yZW5vdmF0aW9uIDIu?= =?iso-2022-jp?b?MSAbJEIlaiVqITwlORsoQg==?= Message-ID: 諏訪です。 AquaSKK BETA dictionary-renovation 2.1 をリリースしました。 ▽追加・改善された機能 ・Intel Mac をサポート ・「SKK 自動更新辞書」を追加 ・「外部 skkserv 辞書」を追加 ・候補ウィンドウの [残り nnn] を current / total 形式に変更 ・候補ウィンドウに表示する候補数を減らすオプションを追加 ▽不具合修正 ・変換候補の重複を正しくチェックするように修正(註釈部分を無視) ■ SKK 自動更新辞書について 6 時間毎に OpenLab の辞書をチェックします。ダウンロードした辞書は ~/Library/AquaSKK 以下に保存されます。環境設定ではこのパスではなく、 『SKK-JISYO.L』のように、辞書の名前だけを指定して下さい。 自分で使っていても結構便利なので、初回インストール時に作る DictionarySet.plist には自動更新辞書を設定するようにしました。 ■ 外部 skkserv 辞書について skksev プロトコルで通信する辞書です。場所は『ホスト名:ポート番号』形式 で指定します。ポート番号を省略すると 1178 が使われます。 この辞書を使って mecab skkserv を試したかったのですが、その環境をうまく 構築できないでいます。ううむ。 なお、AquaSKK の skkserv エミュレーションを指定した場合でも、無限ループ はしないようにしてあります。 - * - 以上、よろしくお願いします。 -- Tomotaka SUWA From t-suwa @ users.sourceforge.jp Sat Mar 25 01:13:48 2006 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Sat, 25 Mar 2006 01:13:48 +0900 Subject: [aquaskk-dev 40] =?iso-2022-jp?b?ZGljdGlvbmFyeS1yZW5vdmF0aW9uIDIu?= =?iso-2022-jp?b?MiAbJEIlaiVqITwlORsoQg==?= Message-ID: 諏訪です。 AquaSKK BETA dictionary-renovation 2.2 をリリースしました。 ▽不具合修正 ・Rosetta を必要とするアプリケーションで正しく動作するように修正 ■ 修正内容について 問題の原因は、ppc(Rosetta) なクライアントと i386 な辞書サーバーが通信す る時の Endian が異なることでした。そこで、通信経路上では基本的に Big Endian に統一することにしました。 よって、クライアントでは Host Endian → Big Endian 変換をしてメッセージ を送信し、サーバーでは受信したメッセージに対してその逆の変換を行なう必 要があります。 ただし、見出し語や変換候補などの Unicode 文字列については Big Endian に 統一していません。 そのかわりに、CppCFString の中で、CFStringCreateExternalRepresentation と CFStringCreateFromExternalRepresentation を使うようにしました。 リファレンスを見てもらえばわかると思うのですが、簡単に言うと、バイトオー ダーを判別するための余分なデータを付加した形式でデータをやり取りします。 この結果、同一 Endian 上ではデータの変換が発生しないため、若干効率が良 くなります。 - * - Rosetta がらみのバグがまだ埋まっているかもしれませんが、intel 移行につ いては、ひとまずこれで落ち着くと思います。 よろしくお願いします。 -- Tomotaka SUWA From taiichi2 @ mac.com Tue Mar 28 10:27:18 2006 From: taiichi2 @ mac.com (=?ISO-2022-JP?B?GyRCNjZLXBsoQiAbJEJCWTBsGyhC?=) Date: Tue, 28 Mar 2006 10:27:18 +0900 Subject: [aquaskk-dev 41] =?iso-2022-jp?b?UmU6IBskQkpRNDlKODt6TnMkTiVXGyhC?= =?iso-2022-jp?b?GyRCJW0lUSVGJSMkSyREJCQkRhsoQg==?= In-Reply-To: References: <3884E798-BD78-4915-9751-63872CABB334@mac.com> Message-ID: <96BE4867-71E5-48F9-8C93-7E196B47CE2E@mac.com> 橋本です. 遅くなりましたが, >> かな入力時,確定した文字列に対して >> kEventParamTextInputSendFixLenが0でないときに, >> kEventParamTextInputSendHiliteRngで与えられるプロパティの中に >> kConvertedTextがセットされているようです. > (snip) >> と,文字列が確定している場合は,kConvertedTextをセット >> しな >> いのが >> 正しいように思います. > > もしよろしければ、パッチを頂けないでしょうか? こちらは,パッチを作成しました. >> もう一点は,コメントです. >> 変換しないかな入力のとき,下線がチラチラして見にくいです. >> 漢字変換時(▽が先頭に付与されるとき)以外は,下線を付与しな >> いよ >> うに >> 設定できるとうれしいのですが,どうでしょうか? > > こちらも可能なら、パッチを頂けますか? > > 個人的には無変換ではなく、「かな確定変換」をしているという認識 > だったの > で、下線が見えるのはそれほど気にしていませんでした。 こちらは,まだです. よろしくお願いします. - taiichi -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: hilite.patch 型: application/octet-stream サイズ: 5539 バイト 説明: 無し URL: http://lists.sourceforge.jp/mailman/archives/aquaskk-dev/attachments/20060328/efc66494/attachment.obj From t-suwa @ users.sourceforge.jp Wed Mar 29 23:36:59 2006 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Wed, 29 Mar 2006 23:36:59 +0900 Subject: [aquaskk-dev 42] =?iso-2022-jp?b?UmU6IBskQkpRNDlKODt6TnMkTiVXGyhC?= =?iso-2022-jp?b?GyRCJW0lUSVGJSMkSyREJCQkRhsoQg==?= In-Reply-To: <96BE4867-71E5-48F9-8C93-7E196B47CE2E@mac.com> References: <3884E798-BD78-4915-9751-63872CABB334@mac.com> <96BE4867-71E5-48F9-8C93-7E196B47CE2E@mac.com> Message-ID: 諏訪です。 頂いた diff がうまく当たらなかったので、目で patch しながら当ててみまし た。末尾に diff を添付しますので、これで正しいかどうか確認してもらえる でしょうか。 ただ、この patch を当てた状態では、Rosetta 経由の IE で正しく入力できな い状態になります。Cocoa アプリと Carbon アプリで何か違いがあるのかもし れませんが、ちょっと今は追う時間がありません。 よろしくお願いします。 -- Tomotaka SUWA Index: BIMInputEvents.cpp =================================================================== RCS file: /cvsroot/aquaskk/AquaSKK/BIMInputEvents.cpp,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -u -r1.2.2.1 -r1.2.2.2 --- BIMInputEvents.cpp 7 Jan 2006 07:22:28 -0000 1.2.2.1 +++ BIMInputEvents.cpp 28 Mar 2006 16:26:03 -0000 1.2.2.2 @@ -1,5 +1,5 @@ /* - $Id: BIMInputEvents.cpp,v 1.2.2.1 2006/01/07 07:22:28 t-suwa Exp $ + $Id: BIMInputEvents.cpp,v 1.2.2.2 2006/03/28 16:26:03 t-suwa Exp $ MacOS X implementation of the SKK input method. @@ -154,46 +154,64 @@ } } - if(error == noErr) { - error = SetEventParameter(event, kEventParamTextInputSendUpdateRng, - typeTextRangeArray, sizeof(short) + sizeof(TextRange) * 2, - //typeTextRangeArray, sizeof( short ) + sizeof( TextRange ) * 1, - updateRangePtr); - } + if(fixLength == 0) { + if(error == noErr) { + error = SetEventParameter(event, kEventParamTextInputSendUpdateRng, + typeTextRangeArray, sizeof(short) + sizeof(TextRange) * 2, updateRangePtr); + } - // ハイライトの範囲とキャレットの位置を指定。 - if(error == noErr) { - hiliteRangePtr = (TextRangeArrayPtr)NewPtrClear(sizeof(short) + sizeof(TextRange) * 2); - if(hiliteRangePtr) { - hiliteRangePtr->fNumOfRanges = 2; - hiliteRangePtr->fRange[0].fStart = 0; - hiliteRangePtr->fRange[0].fEnd = (*inSessionHandle)->fInputBufferCount * sizeof( UniChar ); + // ハイライトの範囲とキャレットの位置を指定。 + if(error == noErr) { + hiliteRangePtr = (TextRangeArrayPtr)NewPtrClear(sizeof(short) + sizeof(TextRange) * 2); + if(hiliteRangePtr) { + hiliteRangePtr->fNumOfRanges = 2; + hiliteRangePtr->fRange[0].fStart = 0; + hiliteRangePtr->fRange[0].fEnd = (*inSessionHandle)->fInputBufferCount * sizeof(UniChar); #if MAC_OS_X_VERSION_MAX_ALLOWED>=1040 - if (fixLength > 0) - hiliteRangePtr->fRange[0].fHiliteStyle = kTSMHiliteConvertedText; - else hiliteRangePtr->fRange[0].fHiliteStyle = kTSMHiliteRawText; - - hiliteRangePtr->fRange[1].fStart = caret_position; - hiliteRangePtr->fRange[1].fEnd = caret_position; - hiliteRangePtr->fRange[1].fHiliteStyle = kTSMHiliteCaretPosition; + hiliteRangePtr->fRange[1].fStart = caret_position; + hiliteRangePtr->fRange[1].fEnd = caret_position; + hiliteRangePtr->fRange[1].fHiliteStyle = kTSMHiliteCaretPosition; #else - if (fixLength > 0) - hiliteRangePtr->fRange[0].fHiliteStyle = kConvertedText; - else hiliteRangePtr->fRange[0].fHiliteStyle = kRawText; - - hiliteRangePtr->fRange[1].fStart = caret_position; - hiliteRangePtr->fRange[1].fEnd = caret_position; - hiliteRangePtr->fRange[1].fHiliteStyle = kCaretPosition; + hiliteRangePtr->fRange[1].fStart = caret_position; + hiliteRangePtr->fRange[1].fEnd = caret_position; + hiliteRangePtr->fRange[1].fHiliteStyle = kCaretPosition; #endif - } else { - error = memFullErr; + } else { + error = memFullErr; + } + } + if(error == noErr) { + error = SetEventParameter(event, kEventParamTextInputSendHiliteRng, typeTextRangeArray, + sizeof(short) + sizeof(TextRange) * 2, hiliteRangePtr); + } + } else { + if(error == noErr) { + error = SetEventParameter(event, kEventParamTextInputSendUpdateRng, + typeTextRangeArray, sizeof(short) + sizeof(TextRange) * 1, updateRangePtr); + } + + // ハイライトの範囲とキャレットの位置を指定。 + if(error == noErr) { + hiliteRangePtr = (TextRangeArrayPtr)NewPtrClear(sizeof(short) + sizeof(TextRange) * 1); + if(hiliteRangePtr) { + hiliteRangePtr->fNumOfRanges = 1; + hiliteRangePtr->fRange[0].fStart = caret_position; + hiliteRangePtr->fRange[0].fEnd = caret_position; +#if MAC_OS_X_VERSION_MAX_ALLOWED>=1040 + hiliteRangePtr->fRange[0].fHiliteStyle = kTSMHiliteCaretPosition; +#else + hiliteRangePtr->fRange[0].fHiliteStyle = kCaretPosition; +#endif + } else { + error = memFullErr; + } + } + if(error == noErr) { + error = SetEventParameter(event, kEventParamTextInputSendHiliteRng, typeTextRangeArray, + sizeof(short) + sizeof(TextRange) * 1, hiliteRangePtr); } - } - if(error == noErr) { - error = SetEventParameter(event, kEventParamTextInputSendHiliteRng, typeTextRangeArray, - sizeof(short) + sizeof(TextRange) * 2, hiliteRangePtr); } pinRange.fStart = 0; From taiichi2 @ mac.com Thu Mar 30 10:11:56 2006 From: taiichi2 @ mac.com (=?ISO-2022-JP?B?GyRCNjZLXBsoQiAbJEJCWTBsGyhC?=) Date: Thu, 30 Mar 2006 10:11:56 +0900 Subject: [aquaskk-dev 43] =?iso-2022-jp?b?UmU6IBskQkpRNDlKODt6TnMkTiVXGyhC?= =?iso-2022-jp?b?GyRCJW0lUSVGJSMkSyREJCQkRhsoQg==?= In-Reply-To: References: <3884E798-BD78-4915-9751-63872CABB334@mac.com> <96BE4867-71E5-48F9-8C93-7E196B47CE2E@mac.com> Message-ID: はしもとです. このパッチで問題なさそうです. fixLength の判定結果から,TextRange の長さを変えているだけ なのですが, どうしてなのでしょう? - taiichi From t-suwa @ users.sourceforge.jp Thu Mar 30 23:40:56 2006 From: t-suwa @ users.sourceforge.jp (Tomotaka SUWA) Date: Thu, 30 Mar 2006 23:40:56 +0900 Subject: [aquaskk-dev 44] =?iso-2022-jp?b?UmU6IBskQkpRNDlKODt6TnMkTiVXGyhC?= =?iso-2022-jp?b?GyRCJW0lUSVGJSMkSyREJCQkRhsoQg==?= In-Reply-To: References: <3884E798-BD78-4915-9751-63872CABB334@mac.com> <96BE4867-71E5-48F9-8C93-7E196B47CE2E@mac.com> Message-ID: 諏訪です。 > このパッチで問題なさそうです. > > fixLength の判定結果から,TextRange の長さを変えているだけ > なのですが, > どうしてなのでしょう? 私も BIM* については理解できていない部分が多いので、あまり自信はないの ですが、ぱっと見た感じでは、updateRangePtr とうまく整合性が取れていない ように思います。 そこらへんについてはどうでしょうか? -- Tomotaka SUWA