Ruby NKF $B%b%8%e!<%k$N(B CP932 $B7O%(%s%3!<%G%#%s%0%Q%C%

e$B%_%i%/%k%j%J%C%/%9$N?9;3$G$9!#e(B

IPA
2005e$BG/EY2<4|%!<%W%s%=!<%9%=%U%H%&%‘%"3hMQ4pHW@0Hw;v6H$N%W%m%8%’%/e(B
e$B%H$H$7$F:NBr$5$l$?!"!V%
!<%W%s%=!<%9%=%U%H%&%'%“$K$*$1$kE}0l$7$?%l%,e(B
e$B%7!<%(%s%3!<%G%#%s%0$NJQ495!G=$N3+H/!W$G!”:n@.$7$?!"e(Bruby 1.8.4
e$B$Ne(B NKF
e$B%b%8%e!<%k$Ne(B CP932, eucJP-ms, ISO-2022-JP-MS
e$B$KBP$7$F%f!<%6!<Dj5AJ8;ze(B
e$B$rDI2C$9$k%Q%C%A$r8x3+$7$^$7$?!#e(B

e$B%Q%C%A%U%!%$%ke(B:
ruby-1.8.4-nkf207-20061025.patch

e$B%F%9%H%U%l!<%`%o!<%/e(B:
legacy-encoding-0.1.tar.gz

e$B%@%&%s%m!<%Ie(B:
e$B0J2<$N>l=j$+$i%@%&%s%m!<%I$,2DG=$G$9!#e(B
http://sourceforge.jp/projects/legacy-encoding

e$B$3$N%Q%C%A$rE,MQ8e$Ne(B NKF
e$B%b%8%e!<%k$NJQ49$G!“<!$N$h$&$JLdBj$,$”$k;v$,e(B
e$BJ,$+$C$F$$$^$9!#e(B

o eucJP-ms e$B$+$ie(B cp932
e$B$X$NJQ49$G!"%f!<%6!<Dj5AJ8;z$,@5$7$/JQ49$5$l$Je(B
e$B$$!#e(B(e$B%Q%C%A$KLdBje(B)
o e$BF~NO$Ke(B cp51932e$B!"e(BeucJP-ms e$B$r;XDj$7$?>l9g$K!“e(B0x1B
e$B$rJQ49$G$-$J$$!#e(B
o e$B<!$NJQ49$G!“H>3Q%+%J$,A43Q$N%+%?%+%J$KJQ49$5$l$F$7$^$&!#e(B
–ic=cp932 --oc=cp50220 / --ic=cp51932 --oc=cp50220 /
–ic=eucJP-ms --oc= cp50220 / --ic=cp50220 --oc=utf-8 /
–ic=cp50221 --oc=utf-8 / --ic=iso-2022-jp-ms --oc=utf-8 /
–ic=utf-8 --oc=utf-8
o e$B<!$NJQ49$G!”!=!A!B!]!q!r"Le(B e$B$r@5$7$/JQ49$G$-$J$$!#e(B
–ic=cp50220 --oc=utf-8 / --ic=cp50221 --oc=utf-8
o UTF-8 e$B$+$ie(B UTF-8 e$B$NJQ49$Ge(B
IBMe$B3HD%J8;z$,@5$7$/JQ49$5$l$J$$!#e(B
o UTF-8 e$B$+$ie(B UTF-8
e$B$X$NJQ49$r9T$J$&$H!”<!$NJ8;z$N%3!<%I%]%$%s%H$,JQ99e(B
e$B$5$l$F$7$^$&!#$?$@$7!"e(B–no-best-fit-chars
e$B%*%W%7%g%s$rIU$1$l$P%3!<%Ie(B
e$B%]%$%s%H$NJQ99$O$5$l$J$$!#e(B

   UTF-8                UTF-8

e$B!=e(B 0xE28095 (U+2015) e$B"*e(B 0xE28094 (U+2014)
e$B!Ae(B 0xEFBD9E (U+FF5E) e$B"*e(B 0xE3809C (U+301C)
e$B!Be(B 0xE288A5 (U+2225) e$B"*e(B 0xE28096 (U+2016)
e$B!]e(B 0xEFBC8D (U+FF0D) e$B"*e(B 0xE28892 (U+2212)
e$B!qe(B 0xEFBFA0 (U+FFE0) e$B"*e(B 0xC2A2 (U+00A2)
e$B!re(B 0xEFBFA1 (U+FFE1) e$B"*e(B 0xC2A3 (U+00A3)
e$B"Le(B 0xEFBFA2 (U+FFE2) e$B"*e(B 0xC2AC (U+00AC)

o
e$B<!$NJQ49$G!"e(BNECe$BA*Bre(BIBMe$B3HD%J8;z$r%f!<%6!<Dj5AJ8;z$KJQ49$7$F$7$^$&!#e(B
–ic=cp932 --oc=eucJP-ms / --ic=cp51932 --oc=eucJP-ms

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29700] ruby NKF e$B%b%8%e!<%k$Ne(B CP932
e$B7O%(%s%3!<%G%#%s%0%Q%C%Ae(B”
on Fri, 27 Oct 2006 19:41:54 +0900, MORIYAMA Masayuki
[email protected] writes:

|IPA 2005e$BG/EY2<4|%!<%W%s%=!<%9%=%U%H%&%‘%"3hMQ4pHW@0Hw;v6H$N%W%m%8%’%/e(B
|e$B%H$H$7$F:NBr$5$l$?!"!V%
!<%W%s%=!<%9%=%U%H%&%'%“$K$*$1$kE}0l$7$?%l%,e(B
|e$B%7!<%(%s%3!<%G%#%s%0$NJQ495!G=$N3+H/!W$G!”:n@.$7$?!"e(Bruby 1.8.4 e$B$Ne(B NKF
|e$B%b%8%e!<%k$Ne(B CP932, eucJP-ms, ISO-2022-JP-MS e$B$KBP$7$F%f!<%6!<Dj5AJ8;ze(B
|e$B$rDI2C$9$k%Q%C%A$r8x3+$7$^$7$?!#e(B

e$B$3$N>pJs$@$1$+$i$@$H!"$3$N%Q%C%A$r$H$j$3$s$G$I$&4r$7$$$N$+EAe(B
e$B$o$i$J$$$s$G$9$1$I!#e(Bnkfe$B%a%s%F%J$N$J$k$;$5$s$,J,$+$C$F$l$P$$e(B
e$B$$$N$+$J!#e(B

e$B@.@%$G$9!#e(B

Yukihiro M. wrote:

e$B$3$N>pJs$@$1$+$i$@$H!"$3$N%Q%C%A$r$H$j$3$s$G$I$&4r$7$$$N$+EAe(B
e$B$o$i$J$$$s$G$9$1$I!#e(Bnkfe$B%a%s%F%J$N$J$k$;$5$s$,J,$+$C$F$l$P$$e(B
e$B$$$N$+$J!#e(B

ruby 1.8.4 e$B$KBP$7$F$N%Q%C%A$H$7$F$O0lDj$N%a%j%C%H$,$"$k$N$G$9$,!"e(B
1.8.5 e$B$de(B nkf e$BB&$Ne(B CVS Head
e$B$+$i$N:9J,$r$^$@GD0.$7$F$$$J$$$N$G!“e(B
e$B<h$j9~$`$N$O$b$&>/$7BT$C$F$/$@$5$$!#e(B
e$B$H$j$”$($:J,$+$C$F$O$$$^$9!#e(B

e$B?9;3$5$s$NB&$Ge(Bnkf CVS HEAD
e$B$+$i$N:9J,$rGD0.$7$F$$$k$N$G$7$?$i!"e(B
e$BJLESe(B nkf e$B$NJ}$G65$($F$/$@$5$k$H=u$+$j$^$9!#e(B

CP51932 e$B$N<BAu$,$b$H$b$He(B nkf

e$B$N9T$C$F$$$k<BAu$HJL$K$7$F$$$k$h$&$J$N$Ge(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:29702] Re: ruby NKF e$B%b%8%e!<%k$Ne(B CP932
e$B7O%(%s%3!<%G%#%s%0%Q%C%Ae(B”
on Sat, 28 Oct 2006 21:36:40 +0900, “NARUSE, Yui”
[email protected] writes:

|> e$B$3$N>pJs$@$1$+$i$@$H!“$3$N%Q%C%A$r$H$j$3$s$G$I$&4r$7$$$N$+EAe(B
|> e$B$o$i$J$$$s$G$9$1$I!#e(Bnkfe$B%a%s%F%J$N$J$k$;$5$s$,J,$+$C$F$l$P$$e(B
|> e$B$$$N$+$J!#e(B
|
|ruby 1.8.4 e$B$KBP$7$F$N%Q%C%A$H$7$F$O0lDj$N%a%j%C%H$,$”$k$N$G$9$,!"e(B
|1.8.5 e$B$de(B nkf e$BB&$Ne(B CVS Head e$B$+$i$N:9J,$r$^$@GD0.$7$F$$$J$$$N$G!“e(B
|e$B<h$j9~$`$N$O$b$&>/$7BT$C$F$/$@$5$$!#e(B
|e$B$H$j$”$($:J,$+$C$F$O$$$^$9!#e(B

e$B;d$,>!<j$K<h$j9~$`$3$H$O$7$^$;$s!#$h$m$7$/!#e(B

e$B9b66@,5A$G$9!#e(B

Yukihiro M. wrote:

|IPA 2005e$BG/EY2<4|%!<%W%s%=!<%9%=%U%H%&%’%“3hMQ4pHW@0Hw;v6H$N%W%m%8%’%/e(B
|e$B%H$H$7$F:NBr$5$l$?!”!V%
!<%W%s%=!<%9%=%U%H%&%’%"$K$*$1$kE}0l$7$?%l%,e(B
|e$B%7!<%(%s%3!<%G%#%s%0$NJQ495!G=$N3+H/!W$G!":n@.$7$?!"e(Bruby 1.8.4 e$B$Ne(B NKF
|e$B%b%8%e!<%k$Ne(B CP932, eucJP-ms, ISO-2022-JP-MS e$B$KBP$7$F%f!<%6!<Dj5AJ8;ze(B
|e$B$rDI2C$9$k%Q%C%A$r8x3+$7$^$7$?!#e(B

e$B$3$N>pJs$@$1$+$i$@$H!"$3$N%Q%C%A$r$H$j$3$s$G$I$&4r$7$$$N$+EAe(B
e$B$o$i$J$$$s$G$9$1$I!#e(Bnkfe$B%a%s%F%J$N$J$k$;$5$s$,J,$+$C$F$l$P$$e(B
e$B$$$N$+$J!#e(B

e$B@h=5Kv!“e(BOSC2006
Tokyo/Falle$B$G%l%,%7!<%(%s%3!<%G%#%s%0%W%m%8%’%/%H$Ne(B
e$B5H2,$5$s$K$*2q$$$7$?$N$G!”$3$N7o$K$D$$$F!Ve(BPHPe$B$de(BPythone$B$de(BRubye$B$Ne(BMLe$B$Ke(B
e$B$$$C$;$$$K%a!<%k$,Mh$F$^$7$?$1$I!"$"$s$^$j>$7$$@bL@$b$J$$$G$9$7!"e(B
e$B7k6I$N$H$3$m$I$&$5$l$?$$$N$G$9$+!)!W$H$$$C$?$h$&$J$3$H$rJ9$$$F$_$^$7$?!#e(B

e$B!t$H$$$&$+!"e(BPHPe$B$de(BPythone$B$Ne(BMLe$B$KMh$F$?%a!<%k$O$b$&$A$g$C$HJXMx$=$&$Je(B
e$B!tJ8LL$@$C$?$s$G$9$,!"e(B[ruby-dev:29700]e$B$NJ}$O$J$K$d$iLdBj;3@Q$_$Je(B
e$B!tJ8LL$K8+$($F$7$^$C$?$N$,$J$s$H$b!#e(B

e$B$G!"5H2,$5$s$H$7$F$O!“Aa5^$K<h$j9~$`!&<h$j9~$^$J$$$NH=CG$rGw$je(B
e$B$?$$$H$$$&$h$j!“0lEY4X78<T$r=8$a$Fe(BBoFe$BE*$J$3$H$r$9$k$+!“e(B
e$B$=$&$$$&>l$G$O$J$/$F$b$=$l$>$l$N3+H/<T$NJ}$N0U8+$rJ9$$$F$_$?$$!“e(B
e$B$H$$$&$3$H$r9M$($F$$$k$h$&$G$7$?!#$b$C$H$b!”%W%m%8%’%/%H$H$7$F$Oe(B
(e$B$”$k$$$O?9;3$5$s$NJ}$G$Oe(B)e$B$^$?JL$N9M$($d%”%/%7%g%s$,$”$k$N$+$be(B
e$B$7$l$^$;$s$,!#e(B

e$B!D!D$H$$$&OC$O$$$$F$$$$F!“8D?ME*$K$Oe(BISO-2022-JP-MSe$B$NI,MW@-$,e(B
e$B$$$^$R$H$DG<F@$G$-$J$+$C$?$j$7$^$9!#%l%,%7!<%(%s%3!<%G%#%s%0e(B
e$B%W%m%8%’%/%HE*$K$O!”$?$H$(e(BISO-2022e$BE*$G$O$J$$JQ49I=$G$"$C$F$b!“e(B
e$B$9$G$K<BAu$,$”$ke(B(MSe$B$,;H$C$F$$$ke(B)e$BJQ49I=$G$"$ke(BCP5022Xe$B$r;H$C$?e(B
e$BJ}$,$h$$$N$G$O$J$$$+$H;W$&$N$G$9$,e(B(e$B$$$d!“e(BMLe$B$N%”!<%+%$%V$re(B
e$B<P$aFI$_$7$?$@$1$J$N$G!"$b$7$+$7$?$iM}2r$,4V0c$C$F$$$k$+$be(B)e$B!#e(B
ISO-2022-JP-MSe$B$r=|$$$?7A$G<h$j9~$`!"$C$F$$$&$N$O$"$j$J$s$G$7$g$&$+!)e(B

e$B9b66@,5Ae(B ([email protected])

e$B?9;3$G$9!#e(B

NARUSE, Yui wrote:

|e$B%7!<%(%s%3!<%G%#%s%0$NJQ495!G=$N3+H/!W$G!":n@.$7$?!"e(Bruby 1.8.4 e$B$Ne(B NKF
|e$B%b%8%e!<%k$Ne(B CP932, eucJP-ms, ISO-2022-JP-MS e$B$KBP$7$F%f!<%6!<Dj5AJ8;ze(B
|e$B$rDI2C$9$k%Q%C%A$r8x3+$7$^$7$?!#e(B

e$B$3$N>pJs$@$1$+$i$@$H!"$3$N%Q%C%A$r$H$j$3$s$G$I$&4r$7$$$N$+EAe(B
e$B$o$i$J$$$s$G$9$1$I!#e(Bnkfe$B%a%s%F%J$N$J$k$;$5$s$,J,$+$C$F$l$P$$e(B
e$B$$$N$+$J!#e(B

e$B@bL@ITB-$G?=$7Lu$"$j$^$;$s$G$7$?!#e(B

e$B:#2s!“8x3+$7$?%Q%C%A$NFbMF$G$OLdBj$,$”$k$3$H$,J,$+$C$F$$$F!"=$@5$,I,MWe(B
e$B$@$H9M$($F$$$^$9$,!“BND4$r$/$:$7$F$7$^$$=$@5$,=PMh$F$$$J$$>uBV$K$”$j$^$9!#e(B

ruby 1.8.4 e$B$KBP$7$F$N%Q%C%A$H$7$F$O0lDj$N%a%j%C%H$,$"$k$N$G$9$,!"e(B
1.8.5 e$B$de(B nkf e$BB&$Ne(B CVS Head e$B$+$i$N:9J,$r$^$@GD0.$7$F$$$J$$$N$G!“e(B
e$B<h$j9~$`$N$O$b$&>/$7BT$C$F$/$@$5$$!#e(B
e$B$H$j$”$($:J,$+$C$F$O$$$^$9!#e(B

e$B?9;3$5$s$NB&$Ge(Bnkf CVS HEAD e$B$+$i$N:9J,$rGD0.$7$F$$$k$N$G$7$?$i!"e(B
e$BJLESe(B nkf e$B$NJ}$G65$($F$/$@$5$k$H=u$+$j$^$9!#e(B

CP51932 e$B$N<BAu$,$b$H$b$He(B nkf e$B$N9T$C$F$$$k<BAu$HJL$K$7$F$$$k$h$&$J$N$Ge(B

e$B:#2s:n@.$N%Q%C%A$,IT40A4$G$"$k;v$b$"$k$N$G$9$,!“e(Bnkf
e$B$NEY=E$J$k5!G=DI2Ce(B
e$B$K$h$j!”$$$m$$$m$HITET9g$JE@$,=P$F$-$F$$$k$h$&$K;W$$$^$9$N$G!"%3!<%I$re(B
e$B@0M}$7$?J}$,NI$$$N$G$O$J$$$+$H46$8$F$$$^$9!#e(B

e$B<!$N$h$&$J=$@5$,I,MW$J$N$G$O$J$$$+$H9M$($F$$$^$9!#e(B

e$B!&e(BUnicode e$B4V$NJQ49$G$O!"e(BEUC e$B$XJQ49$7$J$$$h$&$K$9$k!#e(B
e$B!&e(BUnicode e$B$XJQ49$G$-$J$$J8;z$re(B UTF-8
e$B=PNO$N>l9g$O%9%-%C%W$7!"e(BUTF-16 e$B=Pe(B
e$BNO$N>l9g$Oe(B U+0000 e$B$G=PNO$9$k$J$I!"e(BUTF-8e$B!“e(BUTF-16
e$B$G0[$J$k=hM}$r$7$F$$e(B
e$B$k2U=j$,$”$k$N$G!"e(BUnicode e$B=hM}$N8+D>$7!#e(B
e$B!&e(B–ic, --oc e$B%*%W%7%g%s$HH>3Q%+%J=hM}$N8+D>$7!#e(B

e$B@.@%$G$9!#e(B

Masayoshi T. wrote:

e$B@h=5Kv!“e(BOSC2006 Tokyo/Falle$B$G%l%,%7!<%(%s%3!<%G%#%s%0%W%m%8%’%/%H$Ne(B
e$B5H2,$5$s$K$*2q$$$7$?$N$G!”$3$N7o$K$D$$$F!Ve(BPHPe$B$de(BPythone$B$de(BRubye$B$Ne(BMLe$B$Ke(B
e$B$$$C$;$$$K%a!<%k$,Mh$F$^$7$?$1$I!"$"$s$^$j>$7$$@bL@$b$J$$$G$9$7!"e(B
e$B7k6I$N$H$3$m$I$&$5$l$?$$$N$G$9$+!)!W$H$$$C$?$h$&$J$3$H$rJ9$$$F$_$^$7$?!#e(B

e$B$3$Ne(BOSCe$B$Ne(BBOFe$B!"B8:_$K5$$E$$$?$N$,EvF|$@$C$?$s$G$9$h$M!#!#e(B

e$B!t$H$$$&$+!"e(BPHPe$B$de(BPythone$B$Ne(BMLe$B$KMh$F$?%a!<%k$O$b$&$A$g$C$HJXMx$=$&$Je(B
e$B!tJ8LL$@$C$?$s$G$9$,!"e(B[ruby-dev:29700]e$B$NJ}$O$J$K$d$iLdBj;3@Q$_$Je(B
e$B!tJ8LL$K8+$($F$7$^$C$?$N$,$J$s$H$b!#e(B

PHPe$B$de(BPythone$B$G$O!":#2sLdBj$Ne(BCP932e$B8_49@-BP1~$,$"$^$j9T$o$l$F$*$i$:!“e(B
e$BJQ99$NM>CO$,B?$+$C$?$N$+$J$!!”$H!#e(B
e$B0lJ}e(Bnkfe$B$Oe(BRubye$B$Ke(Bnkf2e$B$,<h$j9~$^$l$?:]$K$=$NJU$N%D%C%3%_$,B?$/F~$j!"e(B
e$B@h9T$7$Fe(BCP932e$B8_49@-$X$NBP1~$r9T$C$F$$$^$7$?$+$i!#e(B

e$B$"$H!“e(Bnkfe$B$N%3!<%I$,J#;($J$;$$$GLdBj$r<h$j=|$/$N$,Fq$7$$$H$$$&$N$be(B
e$B$+$J$j$”$k$+$H!&!&!&!#e(B

e$B$G!"5H2,$5$s$H$7$F$O!“Aa5^$K<h$j9~$`!&<h$j9~$^$J$$$NH=CG$rGw$je(B
e$B$?$$$H$$$&$h$j!“0lEY4X78<T$r=8$a$Fe(BBoFe$BE*$J$3$H$r$9$k$+!“e(B
e$B$=$&$$$&>l$G$O$J$/$F$b$=$l$>$l$N3+H/<T$NJ}$N0U8+$rJ9$$$F$_$?$$!“e(B
e$B$H$$$&$3$H$r9M$($F$$$k$h$&$G$7$?!#$b$C$H$b!”%W%m%8%’%/%H$H$7$F$Oe(B
(e$B$”$k$$$O?9;3$5$s$NJ}$G$Oe(B)e$B$^$?JL$N9M$($d%”%/%7%g%s$,$”$k$N$+$be(B
e$B$7$l$^$;$s$,!#e(B

e$B=U:"$K$b!"%Q%C%A$,$G$-$?$i$b$&0lEYe(BBoFe$BE*$J$b$N$r$d$j$?$$$He(B
e$B5H2,$5$s$O$*$C$7$c$C$F$$$^$7$?$M!#e(B

e$B!D!D$H$$$&OC$O$$$$F$$$$F!“8D?ME*$K$Oe(BISO-2022-JP-MSe$B$NI,MW@-$,e(B
e$B$$$^$R$H$DG<F@$G$-$J$+$C$?$j$7$^$9!#%l%,%7!<%(%s%3!<%G%#%s%0e(B
e$B%W%m%8%’%/%HE*$K$O!”$?$H$(e(BISO-2022e$BE*$G$O$J$$JQ49I=$G$"$C$F$b!“e(B
e$B$9$G$K<BAu$,$”$ke(B(MSe$B$,;H$C$F$$$ke(B)e$BJQ49I=$G$"$ke(BCP5022Xe$B$r;H$C$?e(B
e$BJ}$,$h$$$N$G$O$J$$$+$H;W$&$N$G$9$,e(B(e$B$$$d!“e(BMLe$B$N%”!<%+%$%V$re(B
e$B<P$aFI$_$7$?$@$1$J$N$G!"$b$7$+$7$?$iM}2r$,4V0c$C$F$$$k$+$be(B)e$B!#e(B
ISO-2022-JP-MSe$B$r=|$$$?7A$G<h$j9~$`!"$C$F$$$&$N$O$"$j$J$s$G$7$g$&$+!)e(B

e$BJ8=q2=$O$"$($F$7$F$$$^$;$s$,!"e(B
e$B<B$Oe(BRuby1.8.5e$B$G$b4{$Ke(BISO-2022-JP-MSe$B$OBP1~$7$F$$$?$j$7$^$9!#e(B
e$B$b$C$H$b!"L@<(E*$JBP1~$O:#8e:o=|$9$k$3$H$r8!F$$7$F$$$^$9!#e(B

e$B=PNO$O$9$Y$-$G$J$$$7!"F~NO$O:o=|$7$F$b<+F0H=Dj$G$=$l$J$j$K07$($k$N$Ge(B

e$B$^$?!"e(BCP5022xe$B$be(BRuby1.8.5e$B$GBP1~:Q$_$G$9!#e(B

e$B$J$*!"=q$-=P$7$O$H$b$+$/!"e(B
nkfe$B$OFI$9~$$K4X$7$F$Oe(Biconve$B$h$j$b$@$$$V%k!<%:$J;WA[$G$9!#e(B

e$B9b66@,5A$G$9!#e(B

NARUSE, Yui wrote:

e$B$3$Ne(BOSCe$B$Ne(BBOFe$B!"B8:_$K5$$E$$$?$N$,EvF|$@$C$?$s$G$9$h$M!#!#e(B

e$B$“!<!”;d$be(BBOFe$B$K$O9T$1$J$/$C$F!"8e$N:)?F2q$G5H2,$5$s$r$D$+$^$($Fe(B
e$BOC$7$?$N$G$7$?!#e(B

e$B$+$J$j$“$k$+$H!&!&!&!#e(B
e$B$I$&$b8e<T$NJ}$G$O$J$$$+$H;W$$$^$9!#”-$3$s$J46$8$J$N$G!#e(B
http://www.python.jp/pipermail/python-ml-jp/2006-October/003755.html
[PHP-dev 1345] PHP への CP932 系エンコーディングの追加パッチ

e$B$b$C$H$b!"L@<(E*$JBP1~$O:#8e:o=|$9$k$3$H$r8!F$$7$F$$$^$9!#e(B

e$B=PNO$O$9$Y$-$G$J$$$7!"F~NO$O:o=|$7$F$b<+F0H=Dj$G$=$l$J$j$K07$($k$N$Ge(B

e$B$^$?!"e(BCP5022xe$B$be(BRuby1.8.5e$B$GBP1~:Q$_$G$9!#e(B

e$B$J$s$H!#$=$&$@$C$?$s$G$9$+!#e(B
NKFe$B$N%I%-%e%a%s%H$K=q$+$l$F$J$+$C$?$N$GBP1~$7$F$J$$$b$N$H;W$C$Fe(B
e$B$^$7$?!#e(B

e$B$J$*!"=q$-=P$7$O$H$b$+$/!"e(B
nkfe$B$OFI$9~$$K4X$7$F$Oe(Biconve$B$h$j$b$@$$$V%k!<%:$J;WA[$G$9!#e(B

e$B$3$l$OEAE}E*$K$=$&$$$&;WA[$G$-$?$N$G$9$+$i;EJ}$J$$$G$9$h$M!#e(B

e$B9b66@,5Ae(B ([email protected])

e$B@.@%$G$9!#e(B

MORIYAMA Masayuki wrote:

e$B:#2s!“8x3+$7$?%Q%C%A$NFbMF$G$OLdBj$,$”$k$3$H$,J,$+$C$F$$$F!"=$@5$,I,MWe(B
e$B$@$H9M$($F$$$^$9$,!“BND4$r$/$:$7$F$7$^$$=$@5$,=PMh$F$$$J$$>uBV$K$”$j$^$9!#e(B

e$B$"$i!"$*Bg;v$K!#e(B

e$B:#2s:n@.$N%Q%C%A$,IT40A4$G$"$k;v$b$"$k$N$G$9$,!“e(Bnkf
e$B$NEY=E$J$k5!G=DI2Ce(B
e$B$K$h$j!”$$$m$$$m$HITET9g$JE@$,=P$F$-$F$$$k$h$&$K;W$$$^$9$N$G!"%3!<%I$re(B
e$B@0M}$7$?J}$,NI$$$N$G$O$J$$$+$H46$8$F$$$^$9!#e(B

e$BF10U$O$7$^$9!#e(B
e$B$b$C$H$b!"Bg5,LO$J@0M}$H$J$k$H!“e(B
e$BB>$Ne(Biconve$B$de(Bskfe$B$N:FH/L@$K$J$k$N$G>h$j5$$G$O$”$j$^$;$s$,!#e(B

e$B<!$N$h$&$J=$@5$,I,MW$J$N$G$O$J$$$+$H9M$($F$$$^$9!#e(B

e$B!&e(BUnicode e$B4V$NJQ49$G$O!"e(BEUC e$B$XJQ49$7$J$$$h$&$K$9$k!#e(B

e$B4{B8$NA43QH>3QJQ49$d$R$i$,$J%+%?%+%JJQ49Ey$N%(%s%8%s$,e(BEUCe$B%Y!<%9$J$N$G!"e(B
Unicodee$B$GN.$9$h$&$K$9$k$H$3$l$i$Ne(BUnicodee$BHG$r=q$+$J$$$H$$$1$J$$!"e(B
e$B$H$$$&$N$r7y$C$F$=$N$^$^$K$7$F$$$^$9!#e(B

e$B!&e(BUnicode e$B$XJQ49$G$-$J$$J8;z$re(B UTF-8 e$B=PNO$N>l9g$O%9%-%C%W$7!"e(BUTF-16 e$B=Pe(B
e$BNO$N>l9g$Oe(B U+0000 e$B$G=PNO$9$k$J$I!"e(BUTF-8e$B!“e(BUTF-16 e$B$G0[$J$k=hM}$r$7$F$$e(B
e$B$k2U=j$,$”$k$N$G!"e(BUnicode e$B=hM}$N8+D>$7!#e(B

e$B$"$l!"$=$s$J$H$3$m$"$j$^$9!)e(B
to Unicode e$B$G$-$J$$J8;ze(B = e$B%(%i!<J8;ze(B
e$B$N$O$:$J$N$G<N$F$F$$$k$O$:$G$9$,!#e(B

e$B!&e(B–ic, --oc e$B%*%W%7%g%s$HH>3Q%+%J=hM}$N8+D>$7!#e(B
e$BF1$8$3$H$r9M$($Fe(Bnkf CVS HEADe$B$G$O8+D>$7$?$O$:$G$9!#e(B

e$B$D$$$G$KLdBj$NDI2C$G$9$,!“e(BSIe$B$He(BSOe$B$N=hM}$K%P%0$,$”$j$^$9!#e(B
% ruby -e’print"\x0e!\x0f"’|nkf -jJ|od -t x1
0000000 1b 24 42 21 23 1b 28 42
e$B$H$J$i$J$$$H$$$1$^$;$s$,!“e(B
% ruby -e’print”\x0e!\x0f"’|./nkf -jJ|od -t x1
0000000 0e 1b 24 42 21 23 1b 28 42 0f
e$B$H$J$C$F$7$^$$$^$9!#e(B

e$B?9;3$G$9!#e(B

NARUSE, Yui wrote:

e$B:#2s:n@.$N%Q%C%A$,IT40A4$G$“$k;v$b$”$k$N$G$9$,!“e(Bnkf e$B$NEY=E$J$k5!G=DI2Ce(B
e$B$K$h$j!”$$$m$$$m$HITET9g$JE@$,=P$F$-$F$$$k$h$&$K;W$$$^$9$N$G!"%3!<%I$re(B
e$B@0M}$7$?J}$,NI$$$N$G$O$J$$$+$H46$8$F$$$^$9!#e(B

e$BF10U$O$7$^$9!#e(B
e$B$b$C$H$b!"Bg5,LO$J@0M}$H$J$k$H!“e(B
e$BB>$Ne(Biconve$B$de(Bskfe$B$N:FH/L@$K$J$k$N$G>h$j5$$G$O$”$j$^$;$s$,!#e(B

e$B8=>u0];}$N$^$^IT6q9g$@$1$r=$@5$9$k$H$$$&;v$b7k9=BgJQ$+$b$7$l$^$;$s!#e(B

e$B<!$N$h$&$J=$@5$,I,MW$J$N$G$O$J$$$+$H9M$($F$$$^$9!#e(B

e$B!&e(BUnicode e$B4V$NJQ49$G$O!"e(BEUC e$B$XJQ49$7$J$$$h$&$K$9$k!#e(B

e$B4{B8$NA43QH>3QJQ49$d$R$i$,$J%+%?%+%JJQ49Ey$N%(%s%8%s$,e(BEUCe$B%Y!<%9$J$N$G!"e(B
Unicodee$B$GN.$9$h$&$K$9$k$H$3$l$i$Ne(BUnicodee$BHG$r=q$+$J$$$H$$$1$J$$!"e(B
e$B$H$$$&$N$r7y$C$F$=$N$^$^$K$7$F$$$^$9!#e(B

e$B$I$N$h$&$JJ}K!$r$H$k$K$7$F$b!“<!$N$h$&$JJQ49$,$5$l$F$7$^$&$H$$$&LdBj$,e(B
e$B$”$k$N$G!"=$@5$OI,MW$H;W$$$^$9!#e(B

$ ruby -e ‘print “\xef\xbd\x9e”’ |
./nkf --ic=utf-8 --oc=utf-8 | od -tx1
0000000 e3 80 9c
0000003

e$B$o$+$j$d$9$$$h$&$K!“e(Butf-8 e$B”*e(B utf-8

e$B$NJQ49$H$7$^$7$?$,!“e(Butf-16le e$B”*e(B

utf-8 e$B$J$I$N$h$&$JJQ49$r$7$?$$>l9g$K!"LdBj$K$J$k$H;W$o$l$^$9!#e(B

e$B!&e(BUnicode e$B$XJQ49$G$-$J$$J8;z$re(B UTF-8 e$B=PNO$N>l9g$O%9%-%C%W$7!"e(BUTF-16 e$B=Pe(B
e$BNO$N>l9g$Oe(B U+0000 e$B$G=PNO$9$k$J$I!"e(BUTF-8e$B!“e(BUTF-16 e$B$G0[$J$k=hM}$r$7$F$$e(B
e$B$k2U=j$,$”$k$N$G!"e(BUnicode e$B=hM}$N8+D>$7!#e(B

e$B$“$l!”$=$s$J$H$3$m$"$j$^$9!)e(B
to Unicode e$B$G$-$J$$J8;ze(B = e$B%(%i!<J8;ze(B e$B$N$O$:$J$N$G<N$F$F$$$k$O$:$G$9$,!#e(B

e$B<!$N$h$&$J%1!<%9$G$9!#e(B(nkf CVSe$BHG$G3NG’e(B)

$ ruby -e ‘print “\xa3\xaf”’ |
./nkf --ic=euc-jp --oc=utf-8 | od -tx1
0000000

$ ruby -e ‘print “\xa3\xaf”’ |
./nkf --ic=euc-jp --oc=utf-16le | od -tx2
0000000 0000
0000002

e$B!&e(B–ic, --oc e$B%*%W%7%g%s$HH>3Q%+%J=hM}$N8+D>$7!#e(B
e$BF1$8$3$H$r9M$($Fe(Bnkf CVS HEADe$B$G$O8+D>$7$?$O$:$G$9!#e(B

e$B<!$N$h$&$JLdBj$,$"$j$^$9!#e(B(nkf CVSe$BHG$G3NG’e(B)

$ ruby -e ‘print “\xa1”’ |
./nkf --ic=cp932 --oc=cp50220 | od -tx1
0000000 1b 28 49 21 1b 28 42
0000007

–oc=cp50220
e$B$r;XDj$7$?;~$O!"H>3Q%+%J$OA43Q$KJQ49$7$FM_$7$$$G$9$M!#e(B

$ ruby -e ‘print “\x1b\x28\x49” + “!” + “\x1b\x28\x42”’ |
./nkf --ic=cp50220 --oc=utf-16le | od -tx2
0000000 3002
0000002
$ ruby -e ‘print “\x1b\x28\x49” + “!” + “\x1b\x28\x42”’ |
./nkf --ic=cp50221 --oc=utf-16le | od -tx2
0000000 3002
0000002

–ic
e$B$,;XDj$5$l$?>l9g$O!"F~NOB&$G$OH>3Q%+%Je(B-e$BA43QJ8;z$NJQ49$O9T$J$o$:!“e(B
e$B=PNOB&$Ne(B --oc
e$B$N;XDj$K$h$C$FH>3Q%+%Je(B-e$BA43QJ8;z$NJQ49$r$9$kJ}$,NI$$$N$G$Oe(B?
Windows e$B$G$Ne(B cp50220 e$B$de(B cp50221
e$B$O!”$=$N$h$&$K$J$C$F$$$k!#e(B

nkf

e$B$O%G%U%)%k%H$GH>3Q%+%J$rA43QJ8;z$KJQ49$9$k$h$&$K:n$i$l$F$$$k$Ne(B

e$B$G!"e(B–ic, --oc e$B%*%W%7%g%s$H$NAj@-$,0-$$$G$9$M!#e(B

e$B!{e(B ISO-2022-JP-MS e$B$He(B CP5022X e$B$K$D$$$Fe(B

ISO-20222-JP-MS e$B$r:o=|$7$F!"e(BCP50220e$B!“e(BCP50221
e$B$r;H$&;v$K0[O@$O$”$j$^$;$s!#e(B

e$B$A$J$$K!"e(Bnkf CVS e$BHG$Ge(B cp5022x
e$B$N%f!<%6!<Dj5AJ8;z$NBP1~$rD4$Y$F$
$?e(B
e$B=j!"<!$N$h$&$K$J$C$F$$$^$7$?!#e(B

$ ruby -e ‘print “\xf0\x40”’ | ./nkf --ic=cp932 --oc=cp50220 | od -tx1
0000000 1b 24 42 75 21 1b 28 42
0000010
$ ruby -e ‘print “\xf5\x40”’ | ./nkf --ic=cp932 --oc=cp50220 | od -tx1
0000000 1b 24 28 44 75 21 1b 28 42
0000011

Windows
e$B8_49$K$9$k$N$G$“$l$P!”<!$N$h$&$JJQ49$,K>$^$7$$$H$$$($k$G$7$g$&!#e(B

$ ruby -e ‘print “\xf0\x40”’ | ./nkf --ic=cp932 --oc=cp50220 | od -tx1
0000000 1b 24 42 7f 21 1b 28 42
0000010
$ ruby -e ‘print “\xf5\x40”’ | ./nkf --ic=cp932 --oc=cp50220 | od -tx1
0000000 1b 24 42 89 21 1b 28 42
0000010

e$B;29Me(B)
http://legacy-encoding.sourceforge.jp/wiki/index.php?cp50220

94x94 e$B=89g$+$i$O$_=P$9%3!<%INN0h$b;H$C$F$$$k$?$a!“e(BISO/IEC 2022
e$BE*$K$Oe(B
e$B4V0c$$$G$9$,!“e(BWindows
e$B$H$N8_49@-$r=E;k$9$k$N$G$”$l$P!”$3$&$;$6$k$rF@$Je(B
e$B$$$G$7$g$&!#e(B

e$B8=<BLdBj$H$7$Fe(B

JISe$B%3!<%I$G%f!<%6!<Dj5AJ8;z$r07$&I,MW@-$ODc$$$H;W$$$^e(B

e$B$9$1$l$I$b!De(B

e$B$5$i$KFM$C9~$s$@5DO@$7$?$$$H$$$&;v$G$"$l$P!"e(Bcp5022x
e$B$J$I$N5DO@$O!"e(B
Legacy-Encoding-talk-ja e$B%a!<%j%s%0%j%9%H!"e(Bnkf
e$B$NIT6q9gEy$O!"e(Bnkf-dev e$B$Ge(B
e$B5DO@$7$?J}$,$$$$$G$7$g$&$M!#e(B

Legacy-Encoding-talk-ja e$B%a!<%j%s%0%j%9%He(B
http://lists.sourceforge.jp/mailman/listinfo/legacy-encoding-talk-ja

Nkf-dev e$B%a!<%j%s%0%j%9%He(B
http://lists.sourceforge.jp/mailman/listinfo/nkf-dev

e$B@.@%$G$9!#e(B

MORIYAMA Masayuki wrote:

e$B$I$N$h$&$JJ}K!$r$H$k$K$7$F$b!"<!$N$h$&$JJQ49$,$5$l$F$7$^$&$H$$$&LdBj$,e(B
e$B$"$k$N$G!"=$@5$OI,MW$H;W$$$^$9!#e(B

$ ruby -e ‘print “\xef\xbd\x9e”’ |
./nkf --ic=utf-8 --oc=utf-8 | od -tx1
0000000 e3 80 9c
0000003

e$B$3$l$Oe(B–no-cp932e$B$r$D$1$l$PKI;_$G$-$^$9$,!<!"e(B
e$B$3$NJU$OJL$K%%W%7%g%s$r$D$1$k$+!"e(B
e$B%G%U%)%k%H$Ge(BUnicodee$B4V$NJQ49$G$O%
%U$K$7$?J}$,$$$$$N$G$9$+$M$’!#e(B

./nkf --ic=euc-jp --oc=utf-16le | od -tx2
0000000 0000
0000002

e$B3NG’$7$^$7$?!"%P%0$J$N$G%9%-%C%W$GE}0l$7$^$9!#e(B

e$B!&e(B–ic, --oc e$B%*%W%7%g%s$HH>3Q%+%J=hM}$N8+D>$7!#e(B
e$BF1$8$3$H$r9M$($Fe(Bnkf CVS HEADe$B$G$O8+D>$7$?$O$:$G$9!#e(B

e$B<!$N$h$&$JLdBj$,$"$j$^$9!#e(B(nkf CVSe$BHG$G3NG’e(B)
(e$BN,e(B)
–ic e$B$,;XDj$5$l$?>l9g$O!"F~NOB&$G$OH>3Q%+%Je(B-e$BA43QJ8;z$NJQ49$O9T$J$o$:!“e(B
e$B=PNOB&$Ne(B --oc e$B$N;XDj$K$h$C$FH>3Q%+%Je(B-e$BA43QJ8;z$NJQ49$r$9$kJ}$,NI$$$N$G$Oe(B?
Windows e$B$G$Ne(B cp50220 e$B$de(B cp50221 e$B$O!”$=$N$h$&$K$J$C$F$$$k!#e(B

e$B3N$+$K$=$&$G$9$M!"$=$&$7$^$9!#e(B

e$B$A$J$$K!"e(Bnkf CVS e$BHG$Ge(B cp5022x e$B$N%f!<%6!<Dj5AJ8;z$NBP1~$rD4$Y$F$$?e(B
e$B=j!"<!$N$h$&$K$J$C$F$$$^$7$?!#e(B

e$B$3$l$bD>$9$h$&$K$7$^$9!#e(B

e$B@.@%$G$9!#e(B

e$B0J2<$Ne(B3e$B$D$NLdBj$OK\2He(B nkf e$B$Ne(B nkf.c revision: 1.115
e$B$^$G$K=$@5$7$^$7$?!#e(B

Unicode e$B$XJQ49$G$-$J$$J8;z$re(B UTF-8 e$B=PNO$N>l9g$O%9%-%C%W$7!"e(BUTF-16 e$B=Pe(B
e$BNO$N>l9g$Oe(B U+0000 e$B$G=PNO$9$k$J$I!"e(BUTF-8e$B!“e(BUTF-16 e$B$G0[$J$k=hM}$r$7$F$$e(B
e$B$k2U=j$,$”$ke(B

–ic e$B$,;XDj$5$l$?>l9g$O!"F~NOB&$G$OH>3Q%+%Je(B-e$BA43QJ8;z$NJQ49$O9T$J$o$:!“e(B
e$B=PNOB&$Ne(B --oc e$B$N;XDj$K$h$C$FH>3Q%+%Je(B-e$BA43QJ8;z$NJQ49$r$9$kJ}$,NI$$$N$G$Oe(B?
Windows e$B$G$Ne(B cp50220 e$B$de(B cp50221 e$B$O!”$=$N$h$&$K$J$C$F$$$k!#e(B

e$B$A$J$$K!"e(Bnkf CVS e$BHG$Ge(B cp5022x e$B$N%f!<%6!<Dj5AJ8;z$NBP1~$rD4$Y$F$$?e(B
e$B=j!"<!$N$h$&$K$J$C$F$$$^$7$?!#e(B

Unicode to Unicode e$B$G0lIt@55,2=$,$5$l$k7o$O!“e(B
e$BM^;_%*%W%7%g%sL>$,;W$$$D$+$J$+$C$?$N$GJ|CV$7$^$9!#e(B
e$B0U8+$,$”$kJ}$Oe(B nkf-dev ML e$B$K$F!#e(B

e$B<!$N$h$&$JJQ49$,$5$l$F$7$^$&$H$$$&LdBje(B

$ ruby -e ‘print “\xef\xbd\x9e”’ |
./nkf --ic=utf-8 --oc=utf-8 | od -tx1
0000000 e3 80 9c
0000003

e$B$3$l$Oe(B–no-cp932e$B$r$D$1$l$PKI;_$G$-$^$9$,!<!"e(B
e$B$3$NJU$OJL$K%%W%7%g%s$r$D$1$k$+!"e(B
e$B%G%U%)%k%H$Ge(B Unicode e$B4V$NJQ49$G$O%
%U$K$7$?J}$,$$$$$N$G$9$+$M$'!#e(B

e$B$D$$$G$K!"e(B1.116 e$B$G$Oe(B NTT DoCoMo e$B$He(B SoftBank Mobile
e$B$N3(J8;z$N!"e(B
Shift_JIS to Unicode e$BJQ49$KBP1~$7$F$_$^$7$?!#e(B

http://www.nttdocomo.co.jp/service/imode/make/content/pictograph/
http://developers.softbankmobile.co.jp/dp/tool_dl/web/picword_top.php

e$B6=L#$N$"$kJ}$O$I$&$>!#e(B