ラベル 文字列 の投稿を表示しています。 すべての投稿を表示
ラベル 文字列 の投稿を表示しています。 すべての投稿を表示

2013年3月28日木曜日

UTF16化は正しい判断か?

私の作ってるC++の組版系S/Wは、UTF16で動作している。
しかし、今まではWindows系だったので、wchar_tでやっていた。

さて、こつこつとLINUX対応をしているのだが、どうにも美しくできない。
自分で、codingしてみて、はじめて、やっと、【PHP6の内部UTF16化計画頓挫】の意味がわかった気がした。

そもそも、組版というカテゴリの場合、サロゲートペアがあるかぎり、内部は最後にはUTF32でするべきだという結論はかわらない。
問題は、その上の部分だ。
そもそも、今時のUbuntuで、defaultで、strlen("あ")とやると、3が返ってくる。
だからというわけではないが、UTF8で実装するのが素直なとこなのかもしれない。

といったところで、UTF16で書いた部分を、UTF8で書き直してみて、美しいかどうか判定することにする。
やっぱり書いてみないとダメ。

まず書く。
まずcodingする。
まずやってみる。

全てを見通した設計ができほど、私は、頭がイイわけではないのだから。。。(-_-;)


2012年9月17日月曜日

LINUXに移植するけど文字列をどうするかっていう件。


うぅーん。考えどころです。
LINUXに組版を移植するわけですが(たぶん)、
文字列、どうしますかねー。
問題は、、、
・せっかくだから、ちゃんとサロゲートペアしなくちゃいけない
・Windows版とソースは共通(プロセス管理とかでifdef多発は仕方ないにしても)

ってことなんですが、なにしろ、Windows版を作るときに、基本をwchar_tにしちゃったもんだから、、
そのころは、wchar_tって、、かならず2バイトだと思ってたもんだから。。。

だからといって、wchar_tを4バイト固定にして、UTF-32にするって方法もあるけど、
Windowsでの扱いがめんどいし。。。。
ってことで、
・基本はUTF-16でやる
・でも、ポイントポイントではUTF-32でやるj場合もある
ってことで、とりあえずは設計開始。

よって、文字列関係の関数は、基本、手作りにします。