私の作ってるC++の組版系S/Wは、UTF16で動作している。
しかし、今まではWindows系だったので、wchar_tでやっていた。
さて、こつこつとLINUX対応をしているのだが、どうにも美しくできない。
自分で、codingしてみて、はじめて、やっと、【PHP6の内部UTF16化計画頓挫】の意味がわかった気がした。
そもそも、組版というカテゴリの場合、サロゲートペアがあるかぎり、内部は最後にはUTF32でするべきだという結論はかわらない。
問題は、その上の部分だ。
そもそも、今時のUbuntuで、defaultで、strlen("あ")とやると、3が返ってくる。
だからというわけではないが、UTF8で実装するのが素直なとこなのかもしれない。
といったところで、UTF16で書いた部分を、UTF8で書き直してみて、美しいかどうか判定することにする。
やっぱり書いてみないとダメ。
まず書く。
まずcodingする。
まずやってみる。
全てを見通した設計ができほど、私は、頭がイイわけではないのだから。。。(-_-;)
★
pdfと組版と画像処理とc++とphpとjavascriptとhtml5とcss3とjQueryとjQueriUIとjQueryMobileとRadStudioとAndroidSDK/NDKとWordPressとWelcartを統合するエンジニア的視点。。廃止→as3とflashとflex 追加→柔道
2013年3月28日木曜日
2012年9月17日月曜日
LINUXに移植するけど文字列をどうするかっていう件。
うぅーん。考えどころです。
LINUXに組版を移植するわけですが(たぶん)、
文字列、どうしますかねー。
問題は、、、
・せっかくだから、ちゃんとサロゲートペアしなくちゃいけない
・Windows版とソースは共通(プロセス管理とかでifdef多発は仕方ないにしても)
ってことなんですが、なにしろ、Windows版を作るときに、基本をwchar_tにしちゃったもんだから、、
そのころは、wchar_tって、、かならず2バイトだと思ってたもんだから。。。
だからといって、wchar_tを4バイト固定にして、UTF-32にするって方法もあるけど、
Windowsでの扱いがめんどいし。。。。
ってことで、
・基本はUTF-16でやる
・でも、ポイントポイントではUTF-32でやるj場合もある
ってことで、とりあえずは設計開始。
よって、文字列関係の関数は、基本、手作りにします。
登録:
投稿 (Atom)