Ticket #32974

perl moduleで--ic=UTF8-MACが効かない

Open Date: 2014-01-22 17:31 Last Update: 2014-12-09 10:22

Reporter:
(Anonymous)
Owner:
(None)
Type:
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

NFD -> NFC 変換が行われないようです。

use NKF;

my $string = "\343\201\213\343\202\231\343\201\215\343\202\231\343\201\217\343\202\231\343\201\221\343\202\231\343\201\223\343\202\231";

print $], "\n";
print $NKF::VERSION, "\n";
print $string, "\n";
print nkf('--ic=UTF8-MAC -w', $string), "\n";

実行結果

5.014002
2.13
か゛き゛く゛け゛こ゛
縺九y縺阪y縺上y縺代y縺薙y

Ticket History (3/4 Histories)

2014-01-22 17:31 Updated by: None
  • New Ticket "perl moduleで--ic=UTF8-MACが効かない" created
2014-11-18 15:37 Updated by: naruse
Comment

Perl モジュールよくわからないんですよね。 どなたかパッチを作って下されば取り込みます。

2014-11-19 18:37 Updated by: None
Comment

NKF.xs を追ってもらえればわかるんですが、

/* Process flags except the last once */ for (i=0;i<argc;i++) {
sv = ST(i); cp = SvPV(sv,cplen); if(*cp != '-') continue; options(cp);
}

という仕様です。なので、

use NKF;

    my $string = "\343\201\213\343\202\231\343\201\215\343\202\231\343\201\217\343\202\231\343\201\221\343\202\231\343\201\223\343\202\231";

    print $], "\n";
    print $NKF::VERSION, "\n";
    print $string, "\n";
    print nkf('--ic=UTF8-MAC', '-w', $string), "\n";

と書いてください。

なので、NKF.pm のドキュメントに、なんか書くとよいですね。

multiple options are specifed as seprate strings, such as
print nkf('--ic=UTF8-MAC', '-w', $string), "\n";
except the last arguments.

かな?

2014-12-09 10:22 Updated by: naruse
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2014-12-09 10:22
Comment

なるほど、1d70377でドキュメントを追加しました。 ありがとうございました。

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login