WideStudio Programming (2-5)~辞書順ソートと検索について

辞書順というのは言語によって違うのですが、タンゴレンで実装されているのは実際にはエスペラント(字上符を除くと英語)風の辞書順です。多くの場合はこれで充分だろうということで、現状では固定的に扱っています。 続きを読む WideStudio Programming (2-5)~辞書順ソートと検索について

WideStudio Programming (2-4)~文字コード変換について

WideStudioのWSCstringにも文字コード変換の機能はあるのですが、タンゴレンではそちらではなく、ICU(International Components for Unicode)のコード変換ライブラリを使っています。ICUを使っているのは辞書順ソートを実現するためです。 続きを読む WideStudio Programming (2-4)~文字コード変換について

WideStudio Programming (2-2)~文字コード変換が必要な場合

画面への文字列の出力に関してはWideStudio/MWTが自動的にやってくれるのであまり考える必要はありませんが、外部環境とのやりとりでコード変換が必要な場面は他にもあります。主に下記の2箇所です。 続きを読む WideStudio Programming (2-2)~文字コード変換が必要な場合

WideStudio Programming (2-1)~文字列型について

WideStudio/MWTにはWSCstring型という独自の文字型クラスが定義されています。WideStudioのAPIを使う際には必須なのですが、あまりこれに依存するようにはしたくなかったので、プログラム中の殆どの文字列はstd::string型でutf-8のmbcs文字列を格納しておき、WideStudio/MWTのライブラリに渡すところでWSCstring型と相互に変換するようにしています。 続きを読む WideStudio Programming (2-1)~文字列型について

WideStudio Programming (1-3)~windows.hで困った話

windows.hをインクルードすると、大量のマクロ定義がオマケに付いてきます。記号定数が衝突することは希だし衝突すれば大抵(再defineされたところかenum宣言したところで)コンパイルエラーになるので分かりますが、APIの名前に関してはどんな名前があってどんな風にdefineされているのか分からないし、やっかいなのは、衝突していてもぱっと見わからないことです。 続きを読む WideStudio Programming (1-3)~windows.hで困った話