Re: CAboutDialogにおけるUTF-8からANSIへのハック

了解した。再び壊れないように以下のように変更する:

     if (str.Find('\xC2') != wxNOT_FOUND)
         str.Remove(str.Find('\xC2'), 1);

mmalmi@cc.hut.fi の書き込み:

意図的に変更したわけではありません。エンコーディングの問題だったのでしょう。

この変更の理由は何でしたか?

#if !wxUSE_UNICODE … if (str.Find(‘Â’) != wxNOT_FOUND) str.Remove(str.Find(‘Â’), 1); を以下に変更: if (str.Find(‘�’) != wxNOT_FOUND) str.Remove(str.Find(‘�’), 1);

wxFormBuilderは(c)記号を自動的にUTF-8に変換します。wxWidgets-2.8.9の ANSI版では、著作権記号に余分なゴミ文字が付いて表示されます。このハック は非Unicode(ANSI)の場合にそれを修正するものです。

出典:COPA対ライト裁判の証言の一環として、2024年2月にマルッティ・マルミによりGitHubで公開。完全な書簡アーカイブはmmalmi.github.io/satoshi/で閲覧可能。