[PHP-dev 834]ze2-multibyteパッチ
Masaki Fujimoto
fujimoto @ tunebiz.net
2003年 8月 3日 (日) 21:10:08 JST
ふじもとです。
いい加減、デッドラインが近くなってきた気もするので、ようやく手を付けま
した。とはいえ、時間もあまりとれていないうえに#ifdef ZEND_MULTIBYTEで
(弱気)、という制限の中でのものなのでze1のもの+α程度の機能です。
# まぁないよりはまし、という
php-srcのHEADブランチ(2003/08/03 19:30:00 JSTくらい)へのパッチです。
ze1のmultibyteに無い(今回追加された)主な機能は以下の通りです:
* BOM aware(UTF-32BE/LE, UTF-16BE/LE, UTF-8)
* mbstringがサポートするほぼ全ての(UTF-7以外)エンコーディングのスクリ
プトサポート(ワイドキャラクタなエンコーディングもOKです、とはいって
も、UTF-8に変換して逃げているだけですが)
* これだけ(笑)
はっきり言ってまだ全然テストしてませんので、テストしていただける方募集
です。とりあえず、書きなぐった感じで結構汚い上に、ハイライトとかevalと
かテストどころか確認もして無い機能があるので、α版扱いです。
気が向いたらリファクタリングやテストをしてから、今週末くらいにengine2
のリストに投げようと思います。
# evalとか結構怪しかったり:)
で、いくつか微妙な点があります。覚書程度に...:
* php-srcのHEADでzend_shutdownが無限ループしてテストする気にもならない
のですが、これって僕だけでしょうか...
* script->internalエンコーディングの変換は、まだencoding_translationオ
プションに依存しています(ただ単に面倒だっただけです)。
* mbstring、というかPHP側とのインターフェースは「とりあえず」というこ
とで。
* Engine側でもエンコーディング情報を持っちゃっているので、実は
converterがサポートするエンコーディングとの同期をなんとかしなければ
なりません(構造の汚さとあわせて要改善)。
* ワイドキャラクタを思われるスクリプト(NULLを含んでいる)で、且つBOMが
無い場合、UTF-16BE/LE, UTF-32BE/LEのいずれかと見做してとりあえず自動
判別をしていますが、この部分は要改善かもです(仕様とパフォーマンス)。
* インタラクティブモードを何とかしなければ...
# 小泉さんもZE-karmaを取得されたことですし、もうどうとでも、という気分
# もあったり:)
--
Masaki Fujimoto
fujimoto @ tunebiz.net
-------------- next part --------------
平文でない添付ファイルを取り除きました...
ファイル名: ze2-multibyte.patch.gz
型: application/x-gzip
サイズ: 11215 バイト
説明: 無し
URL: http://ns1.php.gr.jp/pipermail/php-dev/attachments/20030803/9da77fd9/ze2-multibyte.patch.bin
PHP-dev メーリングリストの案内