作者: 藤岡和夫
日時: 2008/6/29(22:59)
On Sun, 29 Jun 2008 18:47:14 +0900
藤岡和夫 <kazuf@...> wrote:

> ASPN : Lingua::JA::Sort::JIS 0.04
> http://aspn.activestate.com/ASPN/CodeDoc/Lingua-JA-Sort-JIS/JIS.html

 ActivePerl5.8.8にモジュールがあるので試しました。仕様は下記の通り。

-----^
About this implementation

                           [according to the article 6.2, JIS X 4061]

  (1) charset: UTF-8.

  (2) No limit of the number of characters in the string considered
      to collate.

  (3) No character class is added.

  (4) The following characters are added as collation elements.

      IDEOGRAPHIC SPACE in the space class.

      ACUTE ACCENT, GRAVE ACCENT, DIAERESIS, CIRCUMFLEX ACCENT,
      MACRON, HORIZONTAL BAR, EN DASH, TILDE, PARALLEL TO
      in the class of descriptive symbols.

      APOSTROPHE, QUOTATION MARK in the class of parentheses.

      HYPHEN-MINUS in the class of mathematical symbols.

  (5) Collation of Latin alphabets with macron and with circumflex
      is supported.

  (6) Selected kanji class: 
       the minimum kanji class (Five kanji-like chars).
       the basic kanji class (Levels 1 and 2 kanji, JIS).
       the extended kanji class (CJK Unified Ideographs).
-----$

 まあ、サンプルとしてはまだ仕様を確認するレベルではないけど^^;)動きますね。

 UTF-8で保存して試してください。UTF-8で出力します。

-----^
use Lingua::JA::Sort::JIS;

$jis = Lingua::JA::Sort::JIS->new(3,3);
@data = qw(いぬ とちのき にんじん はむたろう ろば へらぶな とり ほらがい 藤岡和夫 Bruce. Zazel ねこ丸 Yさ でび);
@sorted = $jis->jsort(@data); # utf-8 encoded
foreach (@sorted){
	print $_,"\n";
}
-----$

 結果は、

-----^
bash-3.2$ /c/perl5.8/bin/perl jsort.pl
Bruce.
Yさ
Zazel
いぬ
でび
とちのき
とり
にんじん
ねこ丸
はむたろう
へらぶな
ほらがい
ろば
藤岡和夫
-----$

 これぐらい(JISX4061)で、でびさんの望みが叶えられればいいんですけどね。

藤岡 和夫
kazuf@...
日曜プログラマのひとりごと http://homepage1.nifty.com/kazuf/renewal.html