Hidemaru Q and A

$BBh(BIII$BIt!A=(4]%^%/%m$N$$$m$O$K$[$X$H(B
$B!!=(4]%^%/%m$GJ8;zNs$rJT=8$9$k(B


$B!|=(4]%^%/%m$GJ8;zNs$rJT=8$9$k(B

$B$3$3$G$O!"=(4]%^%/%m$GJ8;zNs$rJT=8$9$k$H$-$K$h$/;H$&%3%^%s%I$N4pK\E*$J2r@b$H!"e$G$$$/$D$+Cm0U$9$Y$-E@$r$^$H$a$^$7$?!#(B
$B=(4]%^%/%m$GJ8;zNs$rJT=8$9$k$K$O!"Bg$-$/J,$1$F!"=(4]%&%#%s%I%&>e$G%+!<%=%k0\F0$7$?$jHO0OA*Br$7$?$j!"D>@\J8;zNs$rA^F~$7$?$j$7$F=hM}$9$kJ}K!$H!"J8;zNsJQ?t$K$B!Z#1![(B$B2~9T$rA^F~$9$k$K$O!J(Binsertreturn; $B$H(Binsert "\n";$B!K(B
$B!Z#2![(B$B%+!<%=%k0LCV$NJ8;z$,2?$+$rCN$k$K$O!J(Bcode $B%-!<%o!<%I!K(B
$B!Z#3![(B$BG$0U$N:BI8$K$"$kJ8;z$,2?$+$rH=CG$9$k$K$O!J(Bmoveto,$B%+!<%=%k0\F07O%3%^%s%I!K(B
$B!Z#4![(B$BHO0OA*Br$9$k$K$O(B
$B!Z#5![(B$BHO0OA*Br$r2r=|$9$k$K$O(B
$B!Z#6![(B$BJ8;zNs7?JQ?t$K
$B!Z#7![(B
$BHO0OA*Br$5$l$F$$$k$+$I$&$+H=CG$9$k$K$O!J(Bselecting$B%-!<%o!<%I!K(B
$B!Z#8![(B$BJ8;zNs7?JQ?t$K
$B!Z#9![(B
$BJQ?tFb$NJ8;z$,2?$+$rCN$k$K$O!J(Bascii$B4X?t!K(B
$B!Z#1#0![(B$BJ8;zNsCf$N@hF,0J30$NJ8;z$,#1%P%$%HJ8;z$+#2%P%$%HJ8;z$+$r6hJL$9$k$K$O!J(Bmidstr$BJ8Ey$X$NCm0U;v9`!K(B

$B!Z#1![2~9T$rA^F~$9$k$K$O!J(Binsertreturn; $B$H(Binsert "\n";$B!K(B

$B=(4]%^%/%m$G2~9T$rA^F~$9$k$K$O!"$I$&$9$l$P$h$$$G$7$g$&$+!)!#(B

$B$=$NL>$b$:$P$j!"(Binsertreturn$B$H$$$&L?Na$,$"$j$^$9!#(B
insertreturn$BJ8$O!"!V2~9T%-!<$r2!$7$?$N$HA4$/F1$8F/$-!W$r$7$^$9!#(B
$B=(4]%X%k%W$N!VA^F~7OJ8!W$K$b@bL@$5$l$F$$$k$h$&$K!"(Binsertreturn$BJ8$O8=:_$N%b!<%I$,>e=q$-%b!<%I$+A^F~%b!<%I$+$K$h$C$FF0:n$,0[$J$j$^$9!#(B
$B>e=q$-%b!<%I$N>l9g!"!VF0:n4D6-!W!]!V%+!<%=%k!W!]!V9bEY$J%+!<%=%k!W$N!V>e=q$-%b!<%I;~$N%j%?!<%s!W$N@_Dj$K$h$C$FF0:n$,JQ$o$j$^$9!#!V%+!<%=%k0\F0$9$k!W$,A*Br$5$l$F$$$k$H!"2~9T$OA^F~$5$l$:!"%+!<%=%k$,$B$^$?!V%U%!%$%k%?%$%WJL$N@_Dj!W!]!VA4HL!W$N!"<+F0%$%s%G%s%H$K4X$9$k@_Dj$K=>$C$?F0:n$r9T$$$^$9!#(B

$B!V2~9T%-!<$r2!$7$?$N$HA4$/F1$8F/$-!W$r$5$;$?$$>l9g$O!"(Binsertreturn$BJ8$,JXMx$G$9$,!">e=q$-%b!<%I$G$bA^F~%b!<%I$G$bI,$:2~9T$rA^F~$7$?$$>l9g$O$I$&$9$k$N$,NI$$$G$7$g$&$+!)!#(B
insert$BJ8$G2~9TJ8;z$rA^F~$9$k$N$,4JC1$G$9!#(B

$B!JNc!K(B $B2~9T$rA^F~$9$k$K$O(B

insert "\n";

$B!!$^$?$O(B

insert "\x0a";

$B$^$?$O!">e=q$-%b!<%I$N;~!"0lC6!"A^F~%b!<%I$KJQ$($F!"(Binsertreturn$B$7$F$^$?>e=q$-%b!<%I$KLa$7$F$"$2$kJ}K!$b$"$j$^$9!#(B
$B$3$N>l9g!"%$%s%G%s%H$N@_Dj$K=>$C$?F0:n$r9T$$$^$9!#(B

if(overwrite){
overwriteswitch;
insertreturn;
overwriteswitch;
} else {
insertreturn;
}

$B!Z#2![%+!<%=%k0LCV$NJ8;z$,2?$+$rCN$k$K$O!J(Bcode $B%-!<%o!<%I!K(B

$B8=:_$N%+!<%=%k0LCV$K$"$kJ8;z$,!"(B1$B%P%$%HJ8;z$+!"(B2$B%P%$%HJ8;z$+$rD4$Y$k$K$O$I$&$9$l$PNI$$$G$7$g$&$+!)!#(B

code$B$H$$$&%-!<%o!<%I$,$"$j$^$9!#(B
code$B%-!<%o!<%I$O!"%+!<%=%k0LCV$NJ8;z%3!<%I$rI=$7$^$9!#(B
$B$3$N%-!<%o!<%I$O(B2$B%P%$%HJ8;z$KBP1~$7$F$*$j!"(B2$B%P%$%HJ8;z$N>l9g$O(B2$B%P%$%H$N%3!<%I$rJV$7$^$9!#Nc$($PA43Q6uGr$N>l9g$O(B0x8140$B$K$J$j$^$9!#(B
$B"($B!JNc!K(B $B8=:_$N%+!<%=%k0LCV$K$"$kJ8;z$,!"(B1$B%P%$%HJ8;z$+!"(B2$B%P%$%HJ8;z$+$r%a%C%;!<%8%\%C%/%9$GI=<($9$k(B

if (code > 0xff) {
message "2$B%P%$%HJ8;z$G$9(B";
} else {
message "1$B%P%$%HJ8;z$G$9(B";
}

$B=(4]%^%/%m$N?tCM7?$O#4%P%$%H$G$"$j!"(B0x8000$B0J9_$b@5$NCM$H$J$k$N$G!">e5-$N=q$-J}$G#O#K$G$9!#$^$?(B16bit$BHG=(4]$G$bF1$8$G$9!#(B

$B!JNc!K(B $B$^$?$O!"0J2<$G$b#O#K(B

if (code && 0xff00 != 0) {
message "2$B%P%$%HJ8;z$G$9(B";
} else {
message "1$B%P%$%HJ8;z$G$9(B";
}

$B$3$3$GB>$NFC$B!JNc!K(B $B2~9TJ8;z$rH=Dj$9$k(B

if (code == 0x0d) {
message "$B2~9TJ8;z$G$9(B";
}

$B0J2<$N=q$-J}$G$O2~9TJ8;z$HH=Dj$G$-$^$;$s!#(Binsert$BJ8$G2~9T$rA^F~$9$k>l9g$H$N0c$$$KCm0U$7$^$7$g$&!#(B

if (code == 0x0a) {
if (code == '\n') {
if (code == ascii("\n")) {
if (code == ascii("\r")) { // $B$3$l$b$J$<$+(B ascii("\r") == 10 $B$H$J$jBLL\(B

$B"(=(4]%^%/%m$G$O!"(B\r$B$b(B 0x0a $B$H$7$F=hM}$5$l$^$9!#(B

$B!JNc!K(B $BJ8Kv$rH=Dj$9$k(B
eof$B%-!<%o!<%I$,J8Kv$r<($7$^$9!#(B

if (code == eof) {
message "$BJ8Kv$G$9(B";
}

$B!JNc!K(B $B%?%VJ8;z$NH=Dj(B

if (code == 0x09) {
message "$B%?%VJ8;z$G$9(B";
}

$B!Z#3![G$0U$N:BI8$K$"$kJ8;z$,2?$+$rH=CG$9$k$K$O!J(Bmoveto,$B%+!<%=%k0\F07O%3%^%s%I!K(B

$BG$0U$N:BI8$K$"$kJ8;z$,2?$+$rH=CG$9$k$K$O$I$&$9$l$PNI$$$G$7$g$&$+!#(B
$B4JC1$JJ}K!$H$7$F$O!"%+!<%=%k0\F07O%3%^%s%I$N(Bmoveto$B$G%+!<%=%k$r0\F0$7$F$+$i!"(Bcode$B%-!<%o!<%I$r;H$$$^$9!#(B

$B$3$3$G5?Ld$,=P$F$-$^$9!#(Bmoveto$B$G#2%P%$%HJ8;z$N??$sCf$N:BI8$K0\F0$9$k$H$I$&$J$k$G$7$g$&$+!)!#(B
$BEz$(!'#2%P%$%HJ8;z$N@hF,$K%+!<%=%k$,0\F0$7$^$9!#(B

$B5U$K!">e5-$N@-$B"((Bmovetolineno$BJ8$N>l9g!"0\F0;XDj@h$,!"(B2 $B%P%$%H%3!<%I$N(B 2 $B%P%$%HL\$KMh$k>l9g!"(B2 $B%P%$%HL\$N:G8e!"$9$J$o$A$B"(%?%VJ8;z$N>e$K0\F0$9$k>l9g$b!"#2%P%$%HJ8;z$HF1MM$NF0:n$K$J$j$^$9!#(B
$B!VF0:n4D6-!W!]!V9bEY$J%+!<%=%k!W$N!V%?%VJ8;z$N>e$N%+!<%=%k0\F0$7$?;~!W$N@_Dj$O!"(Bmoveto, movetolineno $BJ8$NF0:n$K$O1F6A$7$^$;$s!#(B

$B!Z#4![HO0OA*Br$9$k$K$O(B

$B8e$GJ8;zNsJQ?t$Ktohankaku$B$J$I(B)$B$r;H$C$?$j$9$k>l9g$K$O!"HO0OA*Br$5$l$F$$$kI,MW$,$"$j$^$9!#(B
$B=(4]%^%/%m$GHO0OA*Br$9$k$K$O$$$/$D$+$NJ}K!$,$"$j$^$9!#(B

$B!Z#5![HO0OA*Br$r2r=|$9$k$K$O(B

$BHO0OA*Br$r2r=|$9$k$K$O(Bescape$BJ8$r;HMQ$7$^$9!#(B
$BNc$($P%^%/%mJ8$GA*Br$r9T$&>l9g!"4{$KHO0OA*Br$5$l$F$$$k$HITET9g$,$"$k>l9g$,$"$j$^$9!#$=$N$h$&$J$H$-$KMxMQ$G$-$^$9!#(B
$B$A$J$_$K(Bbeginsel$BEy$GHO0OA*Br%b!<%I$K$J$C$F$$$k$H$-$KHO0OA*Br%b!<%I$r2r=|$9$k!JA*BrHO0O$O;D$9!K>l9g$K;H$&$N$O(Bendsel$BJ8$G$9!#(B

$B!Z#6![J8;zNs7?JQ?t$K

$B%f!<%6!<$NA`:n$^$?$O>e5-$N%^%/%mJ8$GHO0OA*Br$7$?8e!"$=$NA*Br$5$l$?J8;zNs$rJ8;zNs7?JQ?t$K$BE57?E*$K$O!"0J2<$N$h$&$J%3!<%G%#%s%0$r8+$k$3$H$,B?$/$J$k$G$7$g$&!#(B

$s = gettext(seltopx,seltopy,selendx,selendy);

$B=(4]%^%/%m$G$O!"HO0OA*Br$5$l$?J8;zNs$rD>@\J8;zJQ?t$Ke$NG$0U$NHO0O$NJ8;zNs$rJ8;zJQ?t$Kgettext$BJ8$H!"8=:_$NA*BrHO0O$N:BI8CM$r<($9(Bseltopx$B!A(Bselendy$B%-!<%o!<%I!JHO0OA*Br4XO"%-!<%o!<%I!K$rJ;MQ$7$^$9!#(B

$BC"$7Cm0U$,I,MW$J$N$O!"(Bseltopx$B!A(Bselendy$B%-!<%o!<%I$KCM$,F~$C$F$$$k$H$$$C$F!"$=$NCM$I$*$jHO0OA*Br$5$l$F$$$k$H$O8B$i$J$$$3$H$G$9!#(B
$B%^%/%m%X%k%W$N!VHO0OA*Br4XO"%-!<%o!<%I!W$N@bL@$K$b$"$k$h$&$K!"HO0OA*Br$,2r=|$5$l$?8e$b!"0JA0$NCM$rJ];}$7$F$$$k$?$a$G$9!#(B
$B$H$$$&$3$H$O!">e5-$N%3!<%G%#%s%0$GJ8;zNs7?JQ?t$Kl9g$O!"$=$NA0$K!"8=:_K\Ev$KHO0OA*Br$5$l$F$$$k$+$r3NG'$9$kI,MW$,$"$j$^$9!#(B

$B$A$J$_$K!"(Bgettext$BJ8$re$GHO0OA*Br$5$l$F$$$kHO0O$H=E$J$C$F$$$k$+H]$+$K4X$o$i$:!KHO0OA*Br$O2r=|$5$l$^$9!#(B

$B!Z#7![HO0OA*Br$5$l$F$$$k$+$I$&$+H=CG$9$k$K$O!J(Bselecting$B%-!<%o!<%I!K(B

$B=(4]%^%/%m$+$i!"8=:_HO0OA*Br$5$l$F$$$k$+$I$&$+H=CG$9$k$K$O!"(Bselecting$B%-!<%o!<%I$r;H$$$^$9!#(B

$B!JNc!K(B $BHO0OA*Br$5$l$?>l=j$rJ8;zNsJQ?t$K
if(selecting) {
$s = gettext(seltopx,seltopy,selendx,selendy);
message "$BA*BrHO0O$O!"(B" + $s + "$B$G$9(B";
} else {
message "$BHO0OA*Br$5$l$F$$$^$;$s(B";
}

$B!Z#8![J8;zNs7?JQ?t$K

$BJXMx$J(Bgettext$BJ8$b!"J8;zNs$ND9$5$,D9$9$.$k$H%(%i!<$K$J$C$F$7$^$$$^$9!#(B
$BD9$$J8;zNs$rl9g$O!"%/%j%C%W%\!<%I$r7PM3$7$F9T$&$3$H$,$G$-$^$9!#Bg$^$+$K$O!"0J2<$NN.$l$K$J$j$^$9!#(B
  1. $B$"$i$+$8$aHO0OA*Br$9$k(B
  2. cut$B$G@Z$jcopy$B$G%3%T!<$9$k(B
  3. beginclipboardread$BJ8$G!"%/%j%C%W%\!<%I$+$i$NFI$_9~$_3+;O$r@k8@$9$k(B
  4. getclipboard$BJ8$G!"%/%j%C%W%\!<%I$+$i#19T!J2~9TJ8;z$G6h@Z$i$l$?HO0O!K$rFI$_9~$`!#(B
$B;H$$J}$N>\:Y$O!"=(4]%^%/%m%X%k%W$N!V%/%j%C%W%\!<%I$HJQ?t$N$d$j$H$j!W$r;2>H$7$F$/$@$5$$!#(B

gettext$BJ8$H%/%j%C%W%\!<%I7OJ8$H$NMxE@$H

  • $B%/%j%C%W%\!<%I$r;H$&$H$$$&$3$H$O!"%^%/%m$G=hM}$7$?J8;zNs$,%/%j%C%W%\!<%I$K;D$C$F$7$^$&$3$H$r0UL#$7$^$9!#!J%/%j%C%W%\!<%IMzNr$r;HMQ$7$F$$$k;~$O!"MzNr$KJ]B8$5$l$F$7$^$$$^$9!#!K(B
    gettext$BJ8$O%/%j%C%W%\!<%I$r>CHq$7$^$;$s!#(B
  • BOX$BHO0OA*Br$5$l$?HO0O$rJ8;zNsJQ?t$Kl9g$O!"%/%j%C%W%\!<%I$r;H$&$N$,4JC1$G$9!#(B
  • $B!Z#9![JQ?tFb$NJ8;z$,2?$+$rCN$k$K$O!J(Bascii$B4X?t!K(B

    $BJQ?tFb$NJ8;z$N%3!<%I$rD4$Y$k$?$a$K!"(Bascii$B4X?t$,MQ0U$5$l$F$$$^$9!#$3$l$O0z?t$H$7$FM?$($?J8;zNs$N:G=i$NJ8;z$N%3!<%I$rJV$7$^$9!#(B
    $B$^$?#2%P%$%HJ8;z$r0z?t$KM?$($i$l$F$$$k$H!"#2%P%$%H$N%3!<%I$,JV$kJXMx$J4X?t$G$9$,!"5U$K$=$l$f$($NMn$H$77j$b$"$j$^$9!#(B
    ascii$B4X?t$r#2%P%$%HJ8;z$KBP$7$FE,MQ$7$?>l9g!"#2%P%$%HJ,$r$^$H$a$F(B 16bit$B@0?t$H$7$FJV$9!"$H$$$&;EMM$G$9$,!"0J2<$N$h$&$K$o$6$H#2%P%$%HJ8;z$N#1%P%$%HL\(B($B%3!<%I(B=0x??)$B$r@Z$j=P$7$?!J#1J8;z$+$i$J$k!KJ8;zNs$KE,MQ$9$k$H!"$J$s$H(B0x??00 $B$H$$$&CM$,JV$C$F$-$^$9!*(B

    $a = midstr("$B$"(B", 0, 1); // $B#2%P%$%HJ8;z$N#1%P%$%HL\$r@Z$j=P$9(B
    message str(ascii($a)); // == 33280 == 0x8200 $B$,JV$k(B

    $B$H$$$&$o$1$G!"#2%P%$%HJ8;z$N#1%P%$%HL\$+$I$&$+$rH=CG$9$k$N$K(B

    if (ascii(midstr($s, #i, 1)) & 0x80) {
    // $B#2%P%$%HJ8;z$N#1%P%$%HL\$+!"H>3Q%+%?%+%J$@$C$?(B
    }

    $B$H$$$&$h$&$J$+$C$3$$$$(B($B>P(B)$B%3!<%I$O#N#G$G$9!#(B
    ascii$BJ8$N;EMM$+$i$9$k$H!"(Bmidstr$BJ8$J$I$G@Z$j=P$9>l9g$O!"#2J8;z@Z$j=P$9$N$,NI$$$G$9!#!J#1J8;zL\$,#1%P%$%HJ8;z$G$b$B$H$$$&$o$1$G!"0J2<$NNc$N$h$&$K$7$^$7$g$&!#(B

    if (ascii(midstr($s, #i, 2)) > 0xff) {
    // $B#2%P%$%HJ8;z(B
    }

    $B$^$?$O(B

    if (ascii(midstr($s, #i, 2)) && 0xff00 != 0) {
    // $B#2%P%$%HJ8;z(B
    }

    $B!Z#1#0![J8;zNsCf$N@hF,0J30$NJ8;z$,#1%P%$%HJ8;z$+#2%P%$%HJ8;z$+$r6hJL$9$k$K$O!J(Bmidstr$BJ8Ey$X$NCm0U;v9`!K(B

    $BA09`$G!"(Bmidstr$BJ8$r;H$C$F!"$J$K$2$J$/J8;zNsJQ?t$NCf$+$i0lIt$r@Z$j=P$7$^$7$?$,!"$B2?$b9M$($:$K(Bmidstr$BEy$r;H$&$H!"@Z$j=P$7$?7k2L$NJ8;zNs$N@hF,$,#2%P%$%HJ8;z$N#2%P%$%HL\$@$C$?>l9g!"JL$N#1%P%$%HJ8;z$K2=$1$?$j!"%4%_$K$J$C$?$j!JI=<($5$;$k$HH>3Q$NCfE@$K$J$k!K$7$F$$$^$$$^$9!#(B

    $B$^$?!"@Z$j=P$9HO0O$N@hF,$N#1%P%$%HJ,$NJ8;z%3!<%I$@$1$r8+$F!"$=$3$,#2%P%$%HJ8;z$N#2%P%$%HL\$+$I$&$+$O!"0l0U$K7h$a$i$l$^$;$s!#(B
    $B=(4]$K8B$i$:0lHL$K(BShift-JIS$B$N%3!<%IBN7O$G$O!"!V#2%P%$%HJ8;z$N#2%P%$%HL\!W$K$J$jF@$k%3!<%I$NCf$K$O!"!V#2%P%$%HJ8;z$N#1%P%$%HL\!W$K$J$jF@$k$b$N$,M-$k$?$a$G$9!#(B

    $B!JNc!K(B $B0J2<$NNc$G$O!"#2%P%$%HJ8;z$N#2%P%$%HL\$+$i;O$^$k#2%P%$%H$r!"JL$N#2%P%$%HJ8;z$H8mH=CG$7$F$7$^$$$^$9!#(B
    $B"(Nc<($N$?$a!"5!
    $s = "$B$3$l$O-!(B";
    message char(ascii(midstr($s, 6, 2))); // $B-!$,I=<($5$l$k(B
    $s = "1$B2s0l3g-"(B";
    message char(ascii(midstr($s, 6, 2))); // $B-g$,I=<($5$l$k!*!*(B
    //$B!J(B"$B3g(B"==0x8a87$B!"(B"$B-"(B"==0x8741$B!"(B"$B-g(B"==0x8787$B!K(B

    "$B-g(B"$B$O(B0x8787$B$H!"#1%P%$%HL\$H#2%P%$%HL\$,F1$8CM$G!"$$$+$K$b0UCO0-$JNc$G$O$"$j$^$9$,!"3F%P%$%HCM$@$1$G$OH=CG$G$-$J$$$3$H$,$o$+$k$H;W$$$^$9!#(B

    $B$G$O!"J8;zNsCf$NG$0U$N0LCV$NJ8;z$,#1%P%$%HJ8;z$+#2%P%$%HJ8;z$+$r6hJL$9$k$K$O!"$I$&$9$l$P$h$$$N$G$7$g$&$+!#(B
    $B$B0lNc$H$7$F$O!"(B[HMM0074A] $B!|J8;zNs$N8eJ}$+$iJ8;zNs$r8!:w(B $B$r;2>H$7$F$/$@$5$$!#(B


    $B"($3$NFbMF$O=(4]%(%G%#%?(B ver.3.15$B$NFbMF$r85$K=q$+$l$F$$$^$9!#(B
    $B:#8e$N%P!<%8%g%s%"%C%W$K$h$C$F$O!">e5-$NFbMF$,I,$:$7$bEv$F$O$^$i$J$$>l9g$b$"$k$+$b$7$l$^$;$s!#(B


    $BL\