2007-09-01から1ヶ月間の記事一覧

rb_enc_mbclen()

鬼車のmbc_enc_len()が文字列の終了位置を引数にもっていない理由は09/01の日記で説明しました。 そしてこの話は、ruby-dev:31651で、Ruby 1.9のrb_enc_mbclen()のインターフェースに、文字列の終了位置が引数にないという指摘が発端です。松本氏は、ruby-de…

mbc_enc_len() (5)

ソースコードは読んだつもりですが、 チェックする関数を作る方法は分かりませんでした。方法は、xxx_mbc_enc_len()に文字列の終了位置を引数に追加した形の関数を新しく作ります。その中で参照するバイトの位置が文字列の範囲に収まっているか、文字の終了…

mbc_enc_len() (4)

鬼車が扱うことのできるエンコーディングについて 知っているのは結局は鬼車だけなので、少なくとも 鬼車の提供する関数を使って「不完全なバイトを含まない」 ことをチェックできないと安心して使えません。ソースを見ればわかります。チェックする関数を作…

結合文字

将来にわたって鬼車がUnicode結合文字を1文字として 扱うことができない(するつもりがない)というのは、 いちユーザとして悲しい宣言です。そのような宣言をした記憶はまったくありませんが? 反対に、サポートすると宣言した覚えもありません。 Unicode結合…

mbc_enc_len() (3)

akr> そうすると、Unicode の結合文字をひとつの文字として 扱うのは難しそうですねぇ。必要なら、鬼車に手を入れてもらうしかありません。 終了位置もチェックする関数をOnigEncodingTypeに追加して、アプリケーションからはmbc_enc_len()の代わりに、そち…

mbc_enc_len() (2)

「別の話」と言われればそうですが、鬼車に渡される文字列は、一文字を完成していない不完全なバイト列は含まないことを条件にしているので、バイト列の終了位置をチェックしなくてよいという意味では共通の話です。 不完全なバイト列を渡した場合の動作は保…

mbc_enc_len()

mbc_enc_len(UChar* p)が、文字列の終了位置を引数で渡していないので、文字のバイト列が途中で切れているときに問題を起こすのではないか、という件について説明しておきます。 終了位置をチェックしていないのは意図的です。かなり前にruby-devで、utf-8の…

硫黄島

硫黄島 (角川文庫)作者: 菊村到,生頼範義出版社/メーカー: 角川書店発売日: 2005/09/22メディア: 文庫 クリック: 1回この商品を含むブログ (6件) を見る表題作の「硫黄島」は酷い。他の五作品はどれも悪くなかった。その「硫黄島」が1957年の芥川賞。五十年…