- 追加された行はこの色です。
- 削除された行はこの色です。
* ある程度日本語ページ一覧分類について [#rf650f29]
* ある程度の日本語ページ一覧分類について [#rf650f29]
- ページ: [[BugTrack2]]
- 投稿者: 名無しさん
- 優先順位: 低
- 状態: 提案
- カテゴリー: 本体バグ
- 投稿日: 2007-04-21 (土) 13:09:05
- バージョン:
** メッセージ [#b27c6e23]
関連:[[BugTrack/562]]
上のページに追記したほうが良かったかもしれませんが、バグということでとりあえず別ページに。
- (:config/PageReading/dict)の「JIS第一水準が読みの順になっていることを利用したルール」の中にある
- ([[:config/PageReading/dict>cvs:wiki/3A636F6E6669672F5061676552656164696E672F64696374.txt]])の「JIS第一水準が読みの順になっていることを利用したルール」の中にある
/[九-郡]/,ク
/[卦-乎]/,ケ
/[乎-魂]/,コ
の部分で、ケの終わりとコの始まりが「乎」となっていて、かぶっている。
本来なら「乎」は、「コ」と判定してほしいので
/[九-郡]/,ク
/[卦-限]/,ケ
/[乎-魂]/,コ
とあるべきだと思います。
上のついでに、[[サンプル辞書の JISの並びによる部分は、UTF-8では動作しません>BugTrack/562#v4428d05]]という注意を(:config/PageReading/dict)に追記してもらえるとうれしいです。~
理由は、試しにUTF-8でこの機能を使ったときに、「ひらがな」で始まるページまで記号扱いされたから((自分のテスト環境の結果なので、他のだと違う分類になるかも))。誤動作です。無効にすればきちんと動きます(あ→ア、みたいに)。~
上のついでに、[[サンプル辞書の JISの並びによる部分は、UTF-8では動作しません>BugTrack/562#v4428d05]]という注意を([[:config/PageReading/dict>cvs:wiki/3A636F6E6669672F5061676552656164696E672F64696374.txt]])に追記してもらえるとうれしいです。~
理由は、試しにUTF-8でこの機能を使ったときに、「ひらがな」で始まるページまで記号扱いされたから((自分のテスト環境の結果なので、他のだと違う分類になるかも))。%%誤動作です。%%~
:config/PageReading に正常登録されていなかったり、'^([ァ-ヶ])' に当てはまらない時は、記号か日本語に分類されます。上では読みの収得に失敗したのでこうなっただけであって、ページ一覧の動作はこれがデフォルトみたいです。~
無効にすればきちんと動きます(あ→ア、みたいに)。~
UTF-8版として出すからには、パッケージ(のどこか)に、このことについて注意書きがあればと。
以上2点(1つは蛇足かもですが)、よろしくお願いします。
--------
- 情報まとめありがとうございます :) UTF-8版では、この項目が無い方が良い様に見えますね。EUC-JP版のみのトリックであるという記述を追加して、かつUTF-8版ではこれを乗せないようになるのがいいのかな?-- [[henoheno]] &new{2007-04-24 (火) 00:01:39};
- 複数を管理する余裕がなければ、記述の追加のみでもかまわないと思います。記述があれば、各自で対処できるようになりますし。 -- &new{2007-04-26 (木) 18:23:33};
- メッセージの一部修正(小さなことなので、スタンプ変更なし) -- &new{2007-06-28 (木) 19:55:55};
- [[cvs:lib/func.php]] のpage_list() の次の部分。
if ($pagereading_enable) {
// WARNING: Japanese code hard-wired
if(mb_ereg('^([A-Za-z])', mb_convert_kana($page, 'a'), $matches)) {
$initial = & $matches[1];
} elseif (isset($readings[$page]) && mb_ereg('^([ァ-ヶ])', $readings[$page], $matches)) { // here
$initial = & $matches[1];
} elseif (mb_ereg('^[ -~]|[^ぁ-ん亜-熙]', $page)) { // and here
$initial = & $sentinel_symbol;
} else {
$initial = & $sentinel_another;
}
} else {
ココもEUC-JP のコードを基準にして書かれてますよね?「WARNING: Japanese code hard-wired」と注意書きしているぐらいですし。 -- &new{2009-05-13 (水) 17:43:34};
#comment