〜最強のBeBOXを作る貝外伝〜

BeBoxでHaikuライフ kits/libtextencodingの巻

last modified 2005/03/20
berliOSへの移転およびCVS→subversionへの変更に伴う修正。
リンクはご自由に行ってください。

はじめに

ソースの入手

svn co svn://svn.berlios.de/haiku/haiku/trunk/src/kits/textencoding

コンパイル

  1. デフォルト引数のダブり修正(character_sets.cpp)
  2. newの()削除(character_sets.cpp)
  3. libiconv/config.hの修正、(getcなど)
  4. jamfile中に-Dで定義されている部分をソースの頭に#defineで並べる(iconv.c、localcharset.c、relocatable.c)
    正式には、プリコンパルドヘッダー使うところ。

画面

(なし)

メモ

インストール

インストールはSharedLibなんで/home/config/libに入れればOkかと思えばそうはいかず、
beos/system/libに入れないと(つまり標準と入れ替えないと)うまく動かないようです。
/beos/system/lib、/home/config/libに同時に同じ名称のがあるとまずいようです。

試行結果

  1. 大きいファイルには少し早い気もするけど、速度はオリジナルと大して変らないかな?
  2. 残念ながら、Net+でいくつか化けるページ(iso-2022-jpかな?)や文字(全角のチルダ)があります。

文字化けの原因?

character_sets.cppから、JIS、Shift_JIS、EUC相当部分を抜いてみる。 JISはJIS_X0208-1983になっているけど、使用目的からしてiso-2022-jpの間違いのような?
ただこれはオリジナルのUTF8.hのコメントがそうなっているからしかたないんだけどね。。
あとShift_JISとEUCについても、ここで出ているパッチを当てて
それぞれcp932、eucJP-msに直しておいたほうがいいのかなとも思ったり。
JIS/SJIS/EUC/UTF8限定でいいから、libiconv以外にいいコンバーターがあればいいんだけどね。

文字化け対策

ここにあるlibiconv1.9.1用パッチを当てて、
(パッチを当てたiconvから必要なファイルをコピーした。)
変更前変更後
B_SJIS_CONVERSIONShift JISCP932
B_EUC_CONVERSIONEUC Packed Format JapaneseEUCJP-MS
B_JIS_CONVERSIONJIS 0208ISO-2022-JP
に変えてみた。

変更した結果、

まあ当分様子見ですかな。
文字コードに詳しい人がいないと、この件でバグ報告を出すにはしんどいし。
【BeBoxでHaikuライフ】 【最強のBeBoxを作る貝】 【Top Page】