長音記号とReplace string
5 posters
Page 2 of 2 • 1, 2
Re: 長音記号とReplace string
osaru wrote:
4D v16.3 Hotfix 4でバグフィックスリストに載っていました。すこしテストしてみましたけど修正されているみたいですね。ACI0098157 Since ICU50, prolonged sound mark ("-") is no longer considered as a letter when the DB language is set to Japanese.
当方macOS Sierra(10.12.6) 4D v16.3 Hotfix 4 64bit環境ですが、Windowsだと状況がまた異なるのでしょうか?
不思議なのは、バージョンが4D v16.3 build 16.224100 64-bitと上記より番号が若くなっていました・・・
貴重な情報ありがとうございます。
macではということでmacOS El Capitan(10.11.6)とv16.3 224148にて確認してみました。

やはりこちらでは修正を確認できませんでした。windowsのみなら、'おまえの環境だけ'と言われそうだったので気になっていたのですが、macの環境でもとなると何か条件が違う様なきがします。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: 長音記号とReplace string
Hotfix3では、仰られる通りの挙動です。hosaka wrote:'ア'の変換をしたときに'ー'も'ア'に変換されていました。
Hotfix4では1文字ずつ順次変換され、意図した結果になります。16.224148と16.224100ってどういう位置関係なんでしょうね。
osaru- 投稿数 : 67
登録日 : 2017/08/14
Re: 長音記号とReplace string
osaru wrote:Hotfix3では、仰られる通りの挙動です。hosaka wrote:'ア'の変換をしたときに'ー'も'ア'に変換されていました。
Hotfix4では1文字ずつ順次変換され、意図した結果になります。16.224148と16.224100ってどういう位置関係なんでしょうね。
追試ありがとうございます。
224310が出ているので、ダウンロードして再度確認してみます。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: 長音記号とReplace string
原因がわかりました。
データベース設定のデータベース/データストレージのテキスト比較にある「旧バージョン互換の文字列比較を使用する」にチェックを入れることで
確認できました。このチェックが入っていないとハイフンは以前として半角の'ア'に変換される様です。
あとデータベース設定のウィンドウタイトルが「ストラクチャ設定」になっている。
ドキュメントでは「旧バージョン互換の文字列比較を使用する」ですが、ウィンドウでは「テキスト検索用の文字列比較を使用する」になっている。
ダメやん。
データベース設定のデータベース/データストレージのテキスト比較にある「旧バージョン互換の文字列比較を使用する」にチェックを入れることで
確認できました。このチェックが入っていないとハイフンは以前として半角の'ア'に変換される様です。
あとデータベース設定のウィンドウタイトルが「ストラクチャ設定」になっている。
ドキュメントでは「旧バージョン互換の文字列比較を使用する」ですが、ウィンドウでは「テキスト検索用の文字列比較を使用する」になっている。
ダメやん。

hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: 長音記号とReplace string
ACI0098157の件につきまして、ご迷惑をおかけしていて申し訳ありません。
>長音記号の変換について
ご指摘の通り、データベース設定の「テキスト検索用の文字列比較を使用する」(※後述)にチェックを入れないと
長音記号はカタカナに変換されてしまいます。
(チェックを入れれば長音記号は長音記号として扱われます。)
4D v16ですと、v16.3のビルド番号224057以降で修正されているはずです。
>「テキスト検索用の文字列比較を使用する」について
最新のNightly Buildですと、データベース設定の「データベース」タブ内、「テキスト比較」ボックス内に
「テキスト検索用の文字列比較を使用する」というチェックボックスがあります。
これは以前「旧バージョン互換の文字列比較を使用する」だったチェックボックスですが、
英語版の表記が
"Traditional Sorting Order"
だったのが
"Sorting order appropriate for searching"
に変更されたことに伴い、v17(ビルド番号224249以降)とv16(ビルド番号224272以降)で切り替わっています。
ドキュメントの方はまだ編集が間に合っていないため、新旧の表示が混在していまい申し訳ありません。
よろしくお願いします。
手島
>長音記号の変換について
ご指摘の通り、データベース設定の「テキスト検索用の文字列比較を使用する」(※後述)にチェックを入れないと
長音記号はカタカナに変換されてしまいます。
(チェックを入れれば長音記号は長音記号として扱われます。)
4D v16ですと、v16.3のビルド番号224057以降で修正されているはずです。
>「テキスト検索用の文字列比較を使用する」について
最新のNightly Buildですと、データベース設定の「データベース」タブ内、「テキスト比較」ボックス内に
「テキスト検索用の文字列比較を使用する」というチェックボックスがあります。
これは以前「旧バージョン互換の文字列比較を使用する」だったチェックボックスですが、
英語版の表記が
"Traditional Sorting Order"
だったのが
"Sorting order appropriate for searching"
に変更されたことに伴い、v17(ビルド番号224249以降)とv16(ビルド番号224272以降)で切り替わっています。
ドキュメントの方はまだ編集が間に合っていないため、新旧の表示が混在していまい申し訳ありません。
よろしくお願いします。
手島
teshima- 投稿数 : 3
登録日 : 2016/08/03
所在地 : Tokyo
Re: 長音記号とReplace string
チェックを入れる入れないにかかわらず、長音記号がカタカナに変換されるのはまずいと思いますが?
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: 長音記号とReplace string
"テキスト検索用の文字列比較を使用する"チェックボックスがチェックされていない場合に、
長音記号がカタカナとして変換されてしまうというのは、結論から言うと仕様になります。
長音記号の扱いは、4Dで採用しているICUライブラリのバージョンによって扱いが異なります。
ICU52以降、長音記号による単語の区切りの扱い方が変化しました。
(#10299 参考: http://bugs.icu-project.org/trac/ticket/10299)
ICU51までは、例えば「コンピュータ」は本来単一の単語であるべきなのに、長音記号で区切られて
「コンピュ/ー/タ」という三つの単語と認識されてしまっていました。
この扱いがICU52で修正され、一つの単語としてきちんと認識されるようになりました。
(4Dのバージョンでいうと、v15 R5以降からこちらの振る舞いになっています)
この変化の副作用として、これまでの4Dでの長音記号の扱いに差異が生じることになりました。
そのため、件のチェックボックスがチェックされていない場合、
Replace Stringを使用すると長音記号はカタカナとして処理されます。
("アンガールズ"のアを変換すると"アンガアルズ"となります)
上記のICUライブラリの件につきましては、去年の9月15日付の4D Newsメール内に同様の説明がありますので、
そちらも参照していただけましたら幸いです。
ご理解いただきますよう、お願い申しあげます。
手島
長音記号がカタカナとして変換されてしまうというのは、結論から言うと仕様になります。
長音記号の扱いは、4Dで採用しているICUライブラリのバージョンによって扱いが異なります。
ICU52以降、長音記号による単語の区切りの扱い方が変化しました。
(#10299 参考: http://bugs.icu-project.org/trac/ticket/10299)
ICU51までは、例えば「コンピュータ」は本来単一の単語であるべきなのに、長音記号で区切られて
「コンピュ/ー/タ」という三つの単語と認識されてしまっていました。
この扱いがICU52で修正され、一つの単語としてきちんと認識されるようになりました。
(4Dのバージョンでいうと、v15 R5以降からこちらの振る舞いになっています)
この変化の副作用として、これまでの4Dでの長音記号の扱いに差異が生じることになりました。
そのため、件のチェックボックスがチェックされていない場合、
Replace Stringを使用すると長音記号はカタカナとして処理されます。
("アンガールズ"のアを変換すると"アンガアルズ"となります)
上記のICUライブラリの件につきましては、去年の9月15日付の4D Newsメール内に同様の説明がありますので、
そちらも参照していただけましたら幸いです。
ご理解いただきますよう、お願い申しあげます。
手島
teshima- 投稿数 : 3
登録日 : 2016/08/03
所在地 : Tokyo
Re: 長音記号とReplace string
最新のドキュメントにはちゃんと更新して詳しく説明を記載しないとダメですよ。teshima wrote:"
上記のICUライブラリの件につきましては、去年の9月15日付の4D Newsメール内に同様の説明がありますので、
そちらも参照していただけましたら幸いです。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: 長音記号とReplace string
hosaka wrote:
'ア'の変換をしたときに'ー'も'ア'に変換されていました。
長音記号'ー'に気が取られて基本的なことに気がつきませんでしたが、'ア'の文字がご説明どおりだと長音記号として処理されている様に思うのですが。
'ア'は先頭の文字で'アー'でも'アア'でもないです。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: 長音記号とReplace string
宮古さんの作ったプラグイン
4d-plugin-text-convert
で同様の変換ができる事を思い出したのでテストしてみました。

Replace stringは意図しない変換をしてくれるのでこちらに切り替えたほうが幸せになれそうです。
できれば、このプラグインに実装されたものを4D側に新しいコマンドとして取り込んでもらえるとありがたいです。
4d-plugin-text-convert
で同様の変換ができる事を思い出したのでテストしてみました。

Replace stringは意図しない変換をしてくれるのでこちらに切り替えたほうが幸せになれそうです。
できれば、このプラグインに実装されたものを4D側に新しいコマンドとして取り込んでもらえるとありがたいです。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Page 2 of 2 • 1, 2
Permissions in this forum:
返信投稿: 不可
|
|