PyukiWiki CVS Commit
pyuki****@lists*****
2012年 1月 30日 (月) 09:24:51 JST
Index: PyukiWiki-Devel-UTF8/lib/.htaccess diff -u PyukiWiki-Devel-UTF8/lib/.htaccess:1.248 PyukiWiki-Devel-UTF8/lib/.htaccess:1.249 --- PyukiWiki-Devel-UTF8/lib/.htaccess:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/.htaccess Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # Apache lib/.htaccess for PyukiWiki -# $Id: .htaccess,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: .htaccess,v 1.249 2012/01/30 00:24:50 papu Exp $ # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ ###################################################################### Index: PyukiWiki-Devel-UTF8/lib/Jcode.pm diff -u /dev/null PyukiWiki-Devel-UTF8/lib/Jcode.pm:1.1 --- /dev/null Mon Jan 30 09:24:50 2012 +++ PyukiWiki-Devel-UTF8/lib/Jcode.pm Mon Jan 30 09:24:50 2012 @@ -0,0 +1,912 @@ +# +# $Id: Jcode.pm,v 1.1 2012/01/30 00:24:50 papu Exp $ +# Id: Jcode.pm,v 2.7 2008/05/10 18:15:19 dankogai Exp dankogai +# "Jcode.pm" version 2.7 $$ +# + +package Jcode; +use 5.005; # fair ? +use Carp; +use strict; +use vars qw($RCSID $VERSION $DEBUG); + +$RCSID = q$Id: Jcode.pm,v 1.1 2012/01/30 00:24:50 papu Exp $; +$VERSION = do { my @r = (q$Revision: 1.1 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; +$DEBUG = 0; + +# we no longer use Exporter +use vars qw($USE_ENCODE); +$USE_ENCODE = ($] >= 5.008001); + +use Exporter; +use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); + @ ISA = qw(Exporter); + @ EXPORT = qw(jcode getcode); + @ EXPORT_OK = qw($RCSID $VERSION $DEBUG); +%EXPORT_TAGS = ( all => [ @EXPORT, @EXPORT_OK ] ); + +use overload + q("") => sub { $_[0]->euc }, + q(==) => sub { overload::StrVal($_[0]) eq overload::StrVal($_[1]) }, + q(.=) => sub { $_[0]->append( $_[1] ) }, + fallback => 1, + ; + +if ($USE_ENCODE){ + $DEBUG and warn "Using Encode"; + my $data = join("", <DATA>); + eval $data; + $@ and die $@; +}else{ + $DEBUG and warn "Not Using Encode"; + require Jcode::_Classic; + use vars qw/@ISA/; + unshift @ISA, qw/Jcode::_Classic/; + for my $sub (qw/jcode getcode convert load_module/){ + no strict 'refs'; + *{$sub} = \&{'Jcode::_Classic::' . $sub }; + } + for my $enc (qw/sjis jis ucs2 utf8/){ + no strict 'refs'; + *{"euc_" . $enc} = \&{"Jcode::_Classic::" . "euc_" . $enc}; + *{$enc . "_euc"} = \&{"Jcode::_Classic::" . $enc . "_euc"}; + } +} + +1; +__DATA__ +# +# This idea was inspired by JEncode +# http://www.donzoko.net/cgi/jencode/ +# +package Jcode; +use Encode; +use Encode::Alias; +use Encode::Guess; +use Encode::JP::H2Z; +use Scalar::Util; # to resolve from_to() vs. 'constant' issue. + +my %jname2e = ( + sjis => 'shiftjis', + euc => 'euc-jp', + jis => '7bit-jis', + iso_2022_jp => 'iso-2022-jp', + ucs2 => 'UTF-16BE', + ); + +my %ename2j = reverse %jname2e; + +our $FALLBACK = Encode::LEAVE_SRC; +sub FB_PERLQQ() { Encode::FB_PERLQQ() }; +sub FB_XMLCREF() { Encode::FB_XMLCREF() }; +sub FB_HTMLCREF() { Encode::FB_HTMLCREF() }; +#for my $fb (qw/FB_PERLQQ FB_XMLCREF FB_HTMLCREF/){ +# no strict 'refs'; +# *{$fb} = \&{"Encode::$fb"}; +#} + + +####################################### +# Functions +####################################### + +sub jcode { return __PACKAGE__->new(@_); } + +# +# Used to be in Jcode::Constants +# + +my %_0208 = ( + 1978 => '\e\$\@', + 1983 => '\e\$B', + 1990 => '\e&\@\e\$B', + ); +my %RE = ( + ASCII => '[\x00-\x7f]', + BIN => '[\x00-\x06\x7f\xff]', + EUC_0212 => '\x8f[\xa1-\xfe][\xa1-\xfe]', + EUC_C => '[\xa1-\xfe][\xa1-\xfe]', + EUC_KANA => '\x8e[\xa1-\xdf]', + JIS_0208 => "$_0208{1978}|$_0208{1983}|$_0208{1990}", + JIS_0212 => "\e" . '\$\(D', + JIS_ASC => "\e" . '\([BJ]', + JIS_KANA => "\e" . '\(I', + SJIS_C => '[\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc]', + SJIS_KANA => '[\xa1-\xdf]', + UTF8 => '[\xc0-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf][\x80-\xbf]' + ); + +sub _max { + my $result = shift; + for my $n (@_){ + $result = $n if $n > $result; + } + return $result; +} + +sub getcode { + my $arg = shift; + my $r_str = ref $arg ? $arg : \$arg; + Encode::is_utf8($$r_str) and return 'utf8'; + my ($code, $nmatch, $sjis, $euc, $utf8) = ("", 0, 0, 0, 0); + if ($$r_str =~ /$RE{BIN}/o) { # 'binary' + my $ucs2; + $ucs2 += length($1) + while $$r_str =~ /(\x00$RE{ASCII})+/go; + if ($ucs2){ # smells like raw unicode + ($code, $nmatch) = ('ucs2', $ucs2); + }else{ + ($code, $nmatch) = ('binary', 0); + } + } + elsif ($$r_str !~ /[\e\x80-\xff]/o) { # not Japanese + ($code, $nmatch) = ('ascii', 1); + } # 'jis' + elsif ($$r_str =~ + m[ + $RE{JIS_0208}|$RE{JIS_0212}|$RE{JIS_ASC}|$RE{JIS_KANA} + ]ox) + { + ($code, $nmatch) = ('jis', 1); + } + else { # should be euc|sjis|utf8 + # use of (?:) by Hiroki Ohzaki <ohzaki (at) iod (dot) ricoh (dot) co (dot) jp> + $sjis += length($1) + while $$r_str =~ /((?:$RE{SJIS_C})+)/go; + $euc += length($1) + while $$r_str =~ /((?:$RE{EUC_C}|$RE{EUC_KANA}|$RE{EUC_0212})+)/go; + $utf8 += length($1) + while $$r_str =~ /((?:$RE{UTF8})+)/go; + # $utf8 *= 1.5; # M. Takahashi's suggestion + $nmatch = _max($utf8, $sjis, $euc); + carp ">DEBUG:sjis = $sjis, euc = $euc, utf8 = $utf8" if $DEBUG >= 3; + $code = + ($euc > $sjis and $euc > $utf8) ? 'euc' : + ($sjis > $euc and $sjis > $utf8) ? 'sjis' : + ($utf8 > $euc and $utf8 > $sjis) ? 'utf8' : undef; + } + return wantarray ? ($code, $nmatch) : $code; +} + +sub convert{ + my $r_str = (ref $_[0]) ? $_[0] : \$_[0]; + my (undef,$ocode,$icode,$opt) = @_; + Encode::is_utf8($$r_str) and utf8::encode($$r_str); + defined $icode or $icode = getcode($r_str) or return; + $icode eq 'binary' and return $$r_str; + + $jname2e{$icode} and $icode = $jname2e{$icode}; + $jname2e{$ocode} and $ocode = $jname2e{$ocode}; + + if ($opt){ + return $opt eq 'z' + ? jcode($r_str, $icode)->h2z->$ocode + : jcode($r_str, $icode)->z2h->$ocode ; + + }else{ + if (Scalar::Util::readonly($$r_str)){ + my $tmp = $$r_str; + Encode::from_to($tmp, $icode, $ocode); + return $tmp; + }else{ + Encode::from_to($$r_str, $icode, $ocode); + return $$r_str; + } + } +} + +####################################### +# Constructors +####################################### + +sub new{ + my $class = shift; + my $self = {}; + bless $self => $class; + defined $_[0] or $_[0] = ''; + $self->set(@_); +} + +sub set{ + my $self = shift; + my $str = $_[0]; + my $r_str = (ref $str) ? $str : \$str; + my $code = $_[1] if(defined $_[1]); + my $icode = $code || getcode($r_str) || 'euc'; + $self->{icode} = $jname2e{$icode} || $icode; + # binary and flagged utf8 are stored as-is + unless (Encode::is_utf8($$r_str) || $icode eq 'binary'){ + $$r_str = decode($self->{icode}, $$r_str); + } + $self->{r_str} = $r_str; + $self->{nmatch} = 0; + $self->{method} = 'Encode'; + $self->{fallback} = $FALLBACK; + $self; +} + +sub append{ + my $self = shift; + my $str = $_[0]; + my $r_str = (ref $str) ? $str : \$str; + my $code = $_[1] if(defined $_[1]); + my $icode = $code || getcode($r_str) || 'euc'; + $self->{icode} = $jname2e{$icode} || $icode; + # binary and flagged utf8 are stored as-is + unless (Encode::is_utf8($$r_str) || $icode eq 'binary'){ + $$r_str = decode($self->{icode}, $$r_str); + } + ${ $self->{r_str} } .= $$r_str; + $self->{nmatch} = 0; + $self->{method} = 'internal'; + $self; +} + +####################################### +# Accessors +####################################### + +for my $method (qw/r_str icode nmatch error_m error_r error_tr/){ + no strict 'refs'; + *{$method} = sub { $_[0]->{$method} }; +} + +sub fallback{ + my $self = shift; + @_ or return $self->{fallback}; + $self->{fallback} = $_[0]|Encode::LEAVE_SRC; + return $self; +} + +####################################### +# Converters +####################################### + +sub utf8 { encode_utf8( ${$_[0]->{r_str}} ) } + +# +# Those supported in Jcode 0.x are defined as default +# + +for my $enc (keys %jname2e){ + no strict 'refs'; + my $name = $jname2e{$enc} || $enc; + my $e = find_encoding($name) or croak "$enc not supported"; + *{$enc} = sub { + my $r_str = $_[0]->{r_str}; + Encode::is_utf8($$r_str) ? + $e->encode($$r_str, $_[0]->{fallback}) : $$r_str; + }; +} + +# +# The rest is defined on the fly +# + +sub DESTROY {}; + +sub AUTOLOAD { + our $AUTOLOAD; + my $self = shift; + my $type = ref $self + or confess "$self is not an object"; + my $myname = $AUTOLOAD; + $myname =~ s/.*:://; # strip fully-qualified portion + $myname eq 'DESTROY' and return; + my $e = find_encoding($myname) + or confess __PACKAGE__, ": unknown encoding: $myname"; + $DEBUG and warn ref($self), "->$myname defined"; + no strict 'refs'; + *{$myname} = + sub { + my $str = ${ $_[0]->{r_str} }; + Encode::is_utf8($str) ? + $e->encode($str, $_[0]->{fallback}) : $str; + }; + $myname->($self); +} + +####################################### +# Length, Translation and Fold +####################################### + +sub jlength{ + length( ${$_[0]->{r_str}} ); +} + +sub tr{ + my $self = shift; + my $str = ${$self->{r_str}}; + my $from = Encode::is_utf8($_[0]) ? $_[0] : decode('euc-jp', $_[0]); + my $to = Encode::is_utf8($_[1]) ? $_[1] : decode('euc-jp', $_[1]); + my $opt = $_[2] || ''; + $from =~ s,\\,\\\\,og; $from =~ s,/,\\/,og; + $to =~ s,\\,\\\\,og; $to =~ s,/,\\/,og; + $opt =~ s,[^a-z],,og; + my $match = eval qq{ \$str =~ tr/$from/$to/$opt }; + if ($@){ + $self->{error_tr} = $@; + return $self; + } + $self->{r_str} = \$str; + $self->{nmatch} = $match || 0; + return $self; +} + +sub jfold{ + my $self = shift; + my $r_str = $self->{r_str}; + my $bpl = shift || 72; + my $nl = shift || "\n"; + my $kin = shift; + + my @lines = (); + my %kinsoku = (); + my ($len, $i) = (0,0); + + if( defined $kin and (ref $kin) eq 'ARRAY' ){ + %kinsoku = map { my $k = Encode::is_utf8($_) ? + $_ : decode('euc-jp' => $_); + ($k, 1) } @$kin; + } + + while($$r_str =~ m/(.)/sg){ + my $char = $1; + # <UFF61> \xA1 |0 # HALFWIDTH IDEOGRAPHIC FULL STOP + # <UFF9F> \xDF |0 # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK + my $ord = ord($char); + my $clen = $ord < 128 ? 1 + : $ord < 0xff61 ? 2 + : $ord <= 0xff9f ? 1 : 2; + if ($len + $clen > $bpl){ + unless($kinsoku{$char}){ + $i++; + $len = 0; + } + } + $lines[$i] .= $char; + $len += $clen; + } + defined($lines[$i]) or pop @lines; + $$r_str = join($nl, @lines); + + $self->{r_str} = $r_str; + my $e = find_encoding($self->{icode}); + @lines = map { + Encode::is_utf8($_) ? $e->encode($_, $self->{fallback}) : $_ + } @lines; + + return wantarray ? @lines : $self; +} + +####################################### +# Full and Half +####################################### + +sub h2z{ + my $self = shift; + my $euc = $self->euc; + Encode::JP::H2Z::h2z(\$euc, @_); + $self->set($euc => 'euc'); + $self; +} + +sub z2h{ + my $self = shift; + my $euc = $self->euc; + Encode::JP::H2Z::z2h(\$euc, @_); + $self->set($euc => 'euc'); + $self; +} + +####################################### +# MIME-Encoding +####################################### + +sub mime_decode{ + my $self = shift; + my $utf8 = Encode::decode('MIME-Header', $self->utf8); + $self->set($utf8 =>'utf8'); +} + +sub mime_encode{ + my $self = shift; + my $str = $self->euc; + my $r_str = \$str; + my $lf = shift || "\n"; + my $bpl = shift || 76; + my ($trailing_crlf) = ($$r_str =~ /(\n|\r|\x0d\x0a)$/o); + $str = _mime_unstructured_header($$r_str, $lf, $bpl); + not $trailing_crlf and $str =~ s/(\n|\r|\x0d\x0a)$//o; + $str; +} + +# +# shamelessly stolen from +# http://www.din.or.jp/~ohzaki/perl.htm#JP_Base64 +# + +sub _add_encoded_word { + require MIME::Base64; + my($str, $line, $lf, $bpl) = @_; + my $result = ''; + while (length($str)) { + my $target = $str; + $str = ''; + if (length($line) + 22 + + ($target =~ /^(?:$RE{EUC_0212}|$RE{EUC_C})/o) * 8 > $bpl) { + $line =~ s/[ \t\n\r]*$/$lf/eo; + $result .= $line; + $line = ' '; + } + while (1) { + my $iso_2022_jp = jcode($target, 'euc')->iso_2022_jp; + if (my $count = ($iso_2022_jp =~ tr/\x80-\xff//d)){ + $DEBUG and warn $count; + $target = jcode($iso_2022_jp, 'iso_2022_jp')->euc; + } + my $encoded = '=?ISO-2022-JP?B?' . + MIME::Base64::encode_base64($iso_2022_jp, '') + . '?='; + if (length($encoded) + length($line) > $bpl) { + $target =~ + s/($RE{EUC_0212}|$RE{EUC_KANA}|$RE{EUC_C}|$RE{ASCII})$//o; + $str = $1 . $str; + } else { + $line .= $encoded; + last; + } + } + } + return $result . $line; +} + +sub _mime_unstructured_header { + my ($oldheader, $lf, $bpl) = @_; + my(@words, @wordstmp, $i); + my $header = ''; + $oldheader =~ s/\s+$//; + @wordstmp = split /\s+/, $oldheader; + for ($i = 0; $i < $#wordstmp; $i++) { + if ($wordstmp[$i] !~ /^[\x21-\x7E]+$/ and + $wordstmp[$i + 1] !~ /^[\x21-\x7E]+$/) { + $wordstmp[$i + 1] = "$wordstmp[$i] $wordstmp[$i + 1]"; + } else { + push(@words, $wordstmp[$i]); + } + } + push(@words, $wordstmp[-1]); + for my $word (@words) { + if ($word =~ /^[\x21-\x7E]+$/) { + $header =~ /(?:.*\n)*(.*)/; + if (length($1) + length($word) > $bpl) { + $header .= "$lf $word"; + } else { + $header .= $word; + } + } else { + $header = _add_encoded_word($word, $header, $lf, $bpl); + } + $header =~ /(?:.*\n)*(.*)/; + if (length($1) == $bpl) { + $header .= "$lf "; + } else { + $header .= ' '; + } + } + $header =~ s/\n? $/\n/; + $header; +} + +####################################### +# Matching and Replacing +####################################### + +no warnings 'uninitialized'; + +sub m{ + use utf8; + my $self = shift; + my $r_str = $self->{r_str}; + my $pattern = Encode::is_utf8($_[0]) ? shift : decode("euc-jp" => shift); + my $opt = shift || '' ; + my @match; + + $pattern =~ s,\\,\\\\,og; $pattern =~ s,/,\\/,og; + $opt =~ s,[^a-z],,og; + + eval qq{ \@match = (\$\$r_str =~ m/$pattern/$opt) }; + if ($@){ + $self->{error_m} = $@; + return; + } + # print @match, "\n"; + wantarray ? map {encode('euc-jp' => $_)} @match : scalar @match; +} + +sub s{ + use utf8; + my $self = shift; + my $r_str = $self->{r_str}; + my $pattern = Encode::is_utf8($_[0]) ? shift : decode("euc-jp" => shift); + my $replace = Encode::is_utf8($_[0]) ? shift : decode("euc-jp" => shift); + my $opt = shift; + + $pattern =~ s,\\,\\\\,og; $pattern =~ s,/,\\/,og; + $replace =~ s,\\,\\\\,og; $replace =~ s,/,\\/,og; + $opt =~ s,[^a-z],,og; + + eval qq{ (\$\$r_str =~ s/$pattern/$replace/$opt) }; + if ($@){ + $self->{error_s} = $@; + } + $self; +} + +1; +__END__ + +=head1 NAME + +Jcode - Japanese Charset Handler + +=head1 SYNOPSIS + + use Jcode; + # + # traditional + Jcode::convert(\$str, $ocode, $icode, "z"); + # or OOP! + print Jcode->new($str)->h2z->tr($from, $to)->utf8; + +=cut + +=head1 DESCRIPTION + +B<<Japanese document is now available as L<Jcode::Nihongo>. >> + +Jcode.pm supports both object and traditional approach. +With object approach, you can go like; + + $iso_2022_jp = Jcode->new($str)->h2z->jis; + +Which is more elegant than: + + $iso_2022_jp = $str; + &jcode::convert(\$iso_2022_jp, 'jis', &jcode::getcode(\$str), "z"); + +For those unfamiliar with objects, Jcode.pm still supports C<getcode()> +and C<convert().> + +If the perl version is 5.8.1, Jcode acts as a wrapper to L<Encode>, +the standard charset handler module for Perl 5.8 or later. + +=head1 Methods + +Methods mentioned here all return Jcode object unless otherwise mentioned. + +=head2 Constructors + +=over 2 + +=item $j = Jcode-E<gt>new($str [, $icode]) + +Creates Jcode object $j from $str. Input code is automatically checked +unless you explicitly set $icode. For available charset, see L<getcode> +below. + +For perl 5.8.1 or better, C<$icode> can be I<any encoding name> +that L<Encode> understands. + + $j = Jcode->new($european, 'iso-latin1'); + +When the object is stringified, it returns the EUC-converted string so +you can <print $j> instead of <print $j->euc>. + +=over 2 + +=item Passing Reference + +Instead of scalar value, You can use reference as + +Jcode->new(\$str); + +This saves time a little bit. In exchange of the value of $str being +converted. (In a way, $str is now "tied" to jcode object). + +=back + +=item $j-E<gt>set($str [, $icode]) + +Sets $j's internal string to $str. Handy when you use Jcode object repeatedly +(saves time and memory to create object). + + # converts mailbox to SJIS format + my $jconv = new Jcode; + $/ = 00; + while(<>){ + print $jconv->set(\$_)->mime_decode->sjis; + } + +=item $j-E<gt>append($str [, $icode]); + +Appends $str to $j's internal string. + +=item $j = jcode($str [, $icode]); + +shortcut for Jcode->new() so you can go like; + +=back + +=head2 Encoded Strings + +In general, you can retrieve I<encoded> string as $j-E<gt>I<encoded>. + +=over 2 + +=item $sjis = jcode($str)->sjis + +=item $euc = $j-E<gt>euc + +=item $jis = $j-E<gt>jis + +=item $sjis = $j-E<gt>sjis + +=item $ucs2 = $j-E<gt>ucs2 + +=item $utf8 = $j-E<gt>utf8 + +What you code is what you get :) + +=item $iso_2022_jp = $j-E<gt>iso_2022_jp + +Same as C<< $j->h2z->jis >>. +Hankaku Kanas are forcibly converted to Zenkaku. + +For perl 5.8.1 and better, you can also use any encoding names and +aliases that Encode supports. For example: + + $european = $j->iso_latin1; # replace '-' with '_' for names. + +B<FYI>: L<Encode::Encoder> uses similar trick. + +=over 2 + +=item $j-E<gt>fallback($fallback) + +For perl is 5.8.1 or better, Jcode stores the internal string in +UTF-8. Any character that does not map to I<< -E<gt>encoding >> are +replaced with a '?', which is L<Encode> standard. + + my $unistr = "\x{262f}"; # YIN YANG + my $j = jcode($unistr); # $j->euc is '?' + +You can change this behavior by specifying fallback like L<Encode>. +Values are the same as L<Encode>. C<Jcode::FB_PERLQQ>, +C<Jcode::FB_XMLCREF>, C<Jcode::FB_HTMLCREF> are aliased to those +of L<Encode> for convenice. + + print $j->fallback(Jcode::FB_PERLQQ)->euc; # '\x{262f}' + print $j->fallback(Jcode::FB_XMLCREF)->euc; # '☯' + print $j->fallback(Jcode::FB_HTMLCREF)->euc; # '☯' + +The global variable C<$Jcode::FALLBACK> stores the default fallback so you can override that by assigning the value. + + $Jcode::FALLBACK = Jcode::FB_PERLQQ; # set default fallback scheme + +=back + +=item [@lines =] $jcode-E<gt>jfold([$width, $newline_str, $kref]) + +folds lines in jcode string every $width (default: 72) where $width is +the number of "halfwidth" character. Fullwidth Characters are counted +as two. + +with a newline string spefied by $newline_str (default: "\n"). + +Rudimentary kinsoku suppport is now available for Perl 5.8.1 and better. + +=item $length = $jcode-E<gt>jlength(); + +returns character length properly, rather than byte length. + +=back + +=head2 Methods that use MIME::Base64 + +To use methods below, you need L<MIME::Base64>. To install, simply + + perl -MCPAN -e 'CPAN::Shell->install("MIME::Base64")' + +If your perl is 5.6 or better, there is no need since L<MIME::Base64> +is bundled. + +=over 2 + +=item $mime_header = $j-E<gt>mime_encode([$lf, $bpl]) + +Converts $str to MIME-Header documented in RFC1522. +When $lf is specified, it uses $lf to fold line (default: \n). +When $bpl is specified, it uses $bpl for the number of bytes (default: 76; +this number must be smaller than 76). + +For Perl 5.8.1 or better, you can also encode MIME Header as: + + $mime_header = $j->MIME_Header; + +In which case the resulting C<$mime_header> is MIME-B-encoded UTF-8 +whereas C<< $j->mime_encode() >> returnes MIME-B-encoded ISO-2022-JP. +Most modern MUAs support both. + +=item $j-E<gt>mime_decode; + +Decodes MIME-Header in Jcode object. For perl 5.8.1 or better, you +can also do the same as: + + Jcode->new($str, 'MIME-Header') + +=back + +=head2 Hankaku vs. Zenkaku + +=over 2 + +=item $j-E<gt>h2z([$keep_dakuten]) + +Converts X201 kana (Hankaku) to X208 kana (Zenkaku). +When $keep_dakuten is set, it leaves dakuten as is +(That is, "ka + dakuten" is left as is instead of +being converted to "ga") + +You can retrieve the number of matches via $j->nmatch; + +=item $j-E<gt>z2h + +Converts X208 kana (Zenkaku) to X201 kana (Hankaku). + +You can retrieve the number of matches via $j->nmatch; + +=back + +=head2 Regexp emulators + +To use C<< -E<gt>m() >> and C<< -E<gt>s() >>, you need perl 5.8.1 or +better. + +=over 2 + +=item $j-E<gt>tr($from, $to, $opt); + +Applies C<tr/$from/$to/> on Jcode object where $from and $to are +EUC-JP strings. On perl 5.8.1 or better, $from and $to can +also be flagged UTF-8 strings. + +If C<$opt> is set, C<tr/$from/$to/$opt> is applied. C<$opt> must +be 'c', 'd' or the combination thereof. + +You can retrieve the number of matches via $j->nmatch; + +The following methods are available only for perl 5.8.1 or better. + +=item $j-E<gt>s($patter, $replace, $opt); + +Applies C<s/$pattern/$replace/$opt>. C<$pattern> and C<replace> must +be in EUC-JP or flagged UTF-8. C<$opt> are the same as regexp options. +See L<perlre> for regexp options. + +Like C<< $j->tr() >>, C<< $j->s() >> returns the object itself so +you can nest the operation as follows; + + $j->tr("a-z", "A-Z")->s("foo", "bar"); + +=item [@match = ] $j-E<gt>m($pattern, $opt); + +Applies C<m/$patter/$opt>. Note that this method DOES NOT RETURN +AN OBJECT so you can't chain the method like C<< $j->s() >>. + +=back + +=head2 Instance Variables + +If you need to access instance variables of Jcode object, use access +methods below instead of directly accessing them (That's what OOP +is all about) + +FYI, Jcode uses a ref to array instead of ref to hash (common way) to +optimize speed (Actually you don't have to know as long as you use +access methods instead; Once again, that's OOP) + +=over 2 + +=item $j-E<gt>r_str + +Reference to the EUC-coded String. + +=item $j-E<gt>icode + +Input charcode in recent operation. + +=item $j-E<gt>nmatch + +Number of matches (Used in $j->tr, etc.) + +=back + +=cut + +=head1 Subroutines + +=over 2 + +=item ($code, [$nmatch]) = getcode($str) + +Returns char code of $str. Return codes are as follows + + ascii Ascii (Contains no Japanese Code) + binary Binary (Not Text File) + euc EUC-JP + sjis SHIFT_JIS + jis JIS (ISO-2022-JP) + ucs2 UCS2 (Raw Unicode) + utf8 UTF8 + +When array context is used instead of scaler, it also returns how many +character codes are found. As mentioned above, $str can be \$str +instead. + +B<jcode.pl Users:> This function is 100% upper-conpatible with +jcode::getcode() -- well, almost; + + * When its return value is an array, the order is the opposite; + jcode::getcode() returns $nmatch first. + + * jcode::getcode() returns 'undef' when the number of EUC characters + is equal to that of SJIS. Jcode::getcode() returns EUC. for + Jcode.pm there is no in-betweens. + +=item Jcode::convert($str, [$ocode, $icode, $opt]) + +Converts $str to char code specified by $ocode. When $icode is specified +also, it assumes $icode for input string instead of the one checked by +getcode(). As mentioned above, $str can be \$str instead. + +B<jcode.pl Users:> This function is 100% upper-conpatible with +jcode::convert() ! + +=back + +=head1 BUGS + +For perl is 5.8.1 or later, Jcode acts as a wrapper to L<Encode>. +Meaning Jcode is subject to bugs therein. + +=head1 ACKNOWLEDGEMENTS + +This package owes a lot in motivation, design, and code, to the jcode.pl +for Perl4 by Kazumasa Utashiro <utashiro (at) iij (dot) ad (dot) jp>. + +Hiroki Ohzaki <ohzaki (at) iod (dot) ricoh (dot) co (dot) jp> has helped me polish regexp from the +very first stage of development. + +JEncode by <makamaka (at) donzoko (dot) net> has inspired me to integrate Encode to +Jcode. He has also contributed Japanese POD. + +And folks at Jcode Mailing list <jcode5 (at) ring (dot) gr (dot) jp>. Without them, I +couldn't have coded this far. + +=head1 SEE ALSO + +L<Encode> + +L<Jcode::Nihongo> + +L<http://www.iana.org/assignments/character-sets> + +=head1 COPYRIGHT + +Copyright 1999-2005 Dan Kogai <dankogai (at) dan (dot) co (dot) jp> + +This library is free software; you can redistribute it +and/or modify it under the same terms as Perl itself. + +=cut Index: PyukiWiki-Devel-UTF8/lib/aguse.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/aguse.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/aguse.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/aguse.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/aguse.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # aguse.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: aguse.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: aguse.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/aguse.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/aguse.inc.pl.ja.pod:1.247 PyukiWiki-Devel-UTF8/lib/aguse.inc.pl.ja.pod:1.248 --- PyukiWiki-Devel-UTF8/lib/aguse.inc.pl.ja.pod:1.247 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/aguse.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: aguse.inc.pl.ja.pod,v 1.247 2012/01/29 21:18:37 papu Exp $ +#$Id: aguse.inc.pl.ja.pod,v 1.248 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/antispam.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/antispam.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/antispam.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/antispam.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/antispam.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # antispam.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: antispam.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: antispam.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/antispam.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/antispam.inc.pl.ja.pod:1.247 PyukiWiki-Devel-UTF8/lib/antispam.inc.pl.ja.pod:1.248 --- PyukiWiki-Devel-UTF8/lib/antispam.inc.pl.ja.pod:1.247 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/antispam.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: antispam.inc.pl.ja.pod,v 1.247 2012/01/29 21:18:37 papu Exp $ +#$Id: antispam.inc.pl.ja.pod,v 1.248 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/antispamwiki.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/antispamwiki.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/antispamwiki.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/antispamwiki.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/antispamwiki.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # antispamwiki.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: antispamwiki.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: antispamwiki.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/antispamwiki.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/antispamwiki.inc.pl.ja.pod:1.246 PyukiWiki-Devel-UTF8/lib/antispamwiki.inc.pl.ja.pod:1.247 --- PyukiWiki-Devel-UTF8/lib/antispamwiki.inc.pl.ja.pod:1.246 Sun Jan 29 05:07:49 2012 +++ PyukiWiki-Devel-UTF8/lib/antispamwiki.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: antispamwiki.inc.pl.ja.pod,v 1.246 2012/01/28 20:07:49 papu Exp $ +#$Id: antispamwiki.inc.pl.ja.pod,v 1.247 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/authadmin_cookie.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/authadmin_cookie.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/authadmin_cookie.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/authadmin_cookie.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/authadmin_cookie.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # authadmin_cookie.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: authadmin_cookie.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: authadmin_cookie.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/authadmin_cookie.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/authadmin_cookie.inc.pl.ja.pod:1.247 PyukiWiki-Devel-UTF8/lib/authadmin_cookie.inc.pl.ja.pod:1.248 --- PyukiWiki-Devel-UTF8/lib/authadmin_cookie.inc.pl.ja.pod:1.247 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/authadmin_cookie.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: authadmin_cookie.inc.pl.ja.pod,v 1.247 2012/01/29 21:18:37 papu Exp $ +#$Id: authadmin_cookie.inc.pl.ja.pod,v 1.248 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/autometarobot.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/autometarobot.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/autometarobot.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/autometarobot.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/autometarobot.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # autometarobot.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: autometarobot.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: autometarobot.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/autometarobot.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/autometarobot.inc.pl.ja.pod:1.247 PyukiWiki-Devel-UTF8/lib/autometarobot.inc.pl.ja.pod:1.248 --- PyukiWiki-Devel-UTF8/lib/autometarobot.inc.pl.ja.pod:1.247 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/autometarobot.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: autometarobot.inc.pl.ja.pod,v 1.247 2012/01/29 21:18:37 papu Exp $ +#$Id: autometarobot.inc.pl.ja.pod,v 1.248 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/debug.inc.js diff -u PyukiWiki-Devel-UTF8/lib/debug.inc.js:1.248 PyukiWiki-Devel-UTF8/lib/debug.inc.js:1.249 --- PyukiWiki-Devel-UTF8/lib/debug.inc.js:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/debug.inc.js Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ /*///////////////////////////////////////////////////////////////////// # debug.inc.js - This is PyukiWiki, yet another Wiki clone. -# $Id: debug.inc.js,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: debug.inc.js,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/debug.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/debug.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/debug.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/debug.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/debug.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # debug.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: debug.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: debug.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/exdate-qreki.pl diff -u PyukiWiki-Devel-UTF8/lib/exdate-qreki.pl:1.207 PyukiWiki-Devel-UTF8/lib/exdate-qreki.pl:1.208 --- PyukiWiki-Devel-UTF8/lib/exdate-qreki.pl:1.207 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/exdate-qreki.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # exdate-qreki.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: exdate-qreki.pl,v 1.207 2012/01/29 21:18:37 papu Exp $ +# $Id: exdate-qreki.pl,v 1.208 2012/01/30 00:24:50 papu Exp $ # # "exdate" version 1.05 $$ # Author: Nanami http://nanakochi.daiba.cx/ @@ -84,7 +84,7 @@ #========================================================================= -# æ§æ¦è¨ç®ãµã³ãã«ããã°ã©ã $Revision: 1.207 $ +# æ§æ¦è¨ç®ãµã³ãã«ããã°ã©ã $Revision: 1.208 $ # Coded by H.Takano 1993,1994 # # Arranged for Perl Script by N.Ueno Index: PyukiWiki-Devel-UTF8/lib/exdate.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/exdate.inc.pl:1.207 PyukiWiki-Devel-UTF8/lib/exdate.inc.pl:1.208 --- PyukiWiki-Devel-UTF8/lib/exdate.inc.pl:1.207 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/exdate.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # exdate.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: exdate.inc.pl,v 1.207 2012/01/29 21:18:37 papu Exp $ +# $Id: exdate.inc.pl,v 1.208 2012/01/30 00:24:50 papu Exp $ # # "exdate" version 1.05 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/exdate.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/exdate.inc.pl.ja.pod:1.207 PyukiWiki-Devel-UTF8/lib/exdate.inc.pl.ja.pod:1.208 --- PyukiWiki-Devel-UTF8/lib/exdate.inc.pl.ja.pod:1.207 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/exdate.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: exdate.inc.pl.ja.pod,v 1.207 2012/01/29 21:18:37 papu Exp $ +#$Id: exdate.inc.pl.ja.pod,v 1.208 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/google_analytics.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/google_analytics.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/google_analytics.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/google_analytics.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/google_analytics.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # google_analytics.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: google_analytics.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: google_analytics.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/google_analytics.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/google_analytics.inc.pl.ja.pod:1.247 PyukiWiki-Devel-UTF8/lib/google_analytics.inc.pl.ja.pod:1.248 --- PyukiWiki-Devel-UTF8/lib/google_analytics.inc.pl.ja.pod:1.247 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/google_analytics.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: google_analytics.inc.pl.ja.pod,v 1.247 2012/01/29 21:18:37 papu Exp $ +#$Id: google_analytics.inc.pl.ja.pod,v 1.248 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/google_translate.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/google_translate.inc.pl:1.35 PyukiWiki-Devel-UTF8/lib/google_translate.inc.pl:1.36 --- PyukiWiki-Devel-UTF8/lib/google_translate.inc.pl:1.35 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/google_translate.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # google_translate.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: google_translate.inc.pl,v 1.35 2012/01/29 21:18:37 papu Exp $ +# $Id: google_translate.inc.pl,v 1.36 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/google_translate.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/google_translate.inc.pl.ja.pod:1.34 PyukiWiki-Devel-UTF8/lib/google_translate.inc.pl.ja.pod:1.35 --- PyukiWiki-Devel-UTF8/lib/google_translate.inc.pl.ja.pod:1.34 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/google_translate.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: google_translate.inc.pl.ja.pod,v 1.34 2012/01/29 21:18:37 papu Exp $ +#$Id: google_translate.inc.pl.ja.pod,v 1.35 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/iecompatiblehack.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/iecompatiblehack.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/iecompatiblehack.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/iecompatiblehack.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/iecompatiblehack.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # iecompatiblehack.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: iecompatiblehack.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: iecompatiblehack.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/iecompatiblehack.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/iecompatiblehack.inc.pl.ja.pod:1.247 PyukiWiki-Devel-UTF8/lib/iecompatiblehack.inc.pl.ja.pod:1.248 --- PyukiWiki-Devel-UTF8/lib/iecompatiblehack.inc.pl.ja.pod:1.247 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/iecompatiblehack.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: iecompatiblehack.inc.pl.ja.pod,v 1.247 2012/01/29 21:18:37 papu Exp $ +#$Id: iecompatiblehack.inc.pl.ja.pod,v 1.248 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/index.html diff -u PyukiWiki-Devel-UTF8/lib/index.html:1.6 PyukiWiki-Devel-UTF8/lib/index.html:1.7 --- PyukiWiki-Devel-UTF8/lib/index.html:1.6 Sun Jan 29 05:07:49 2012 +++ PyukiWiki-Devel-UTF8/lib/index.html Mon Jan 30 09:24:50 2012 @@ -1,2 +1,2 @@ -<!-- $Id: index.html,v 1.6 2012/01/28 20:07:49 papu Exp $ --> +<!-- $Id: index.html,v 1.7 2012/01/30 00:24:50 papu Exp $ --> library files are placed here. Index: PyukiWiki-Devel-UTF8/lib/lang.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/lang.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/lang.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/lang.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/lang.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # lang.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: lang.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: lang.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/lang.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/lang.inc.pl.ja.pod:1.247 PyukiWiki-Devel-UTF8/lib/lang.inc.pl.ja.pod:1.248 --- PyukiWiki-Devel-UTF8/lib/lang.inc.pl.ja.pod:1.247 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/lang.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: lang.inc.pl.ja.pod,v 1.247 2012/01/29 21:18:37 papu Exp $ +#$Id: lang.inc.pl.ja.pod,v 1.248 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/linktrack.inc.js diff -u PyukiWiki-Devel-UTF8/lib/linktrack.inc.js:1.248 PyukiWiki-Devel-UTF8/lib/linktrack.inc.js:1.249 --- PyukiWiki-Devel-UTF8/lib/linktrack.inc.js:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/linktrack.inc.js Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ /*///////////////////////////////////////////////////////////////////// # linktrack.inc.js - This is PyukiWiki, yet another Wiki clone. -# $Id: linktrack.inc.js,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: linktrack.inc.js,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/linktrack.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/linktrack.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/linktrack.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/linktrack.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/linktrack.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # linktrack.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: linktrack.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: linktrack.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/linktrack.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/linktrack.inc.pl.ja.pod:1.247 PyukiWiki-Devel-UTF8/lib/linktrack.inc.pl.ja.pod:1.248 --- PyukiWiki-Devel-UTF8/lib/linktrack.inc.pl.ja.pod:1.247 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/linktrack.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: linktrack.inc.pl.ja.pod,v 1.247 2012/01/29 21:18:37 papu Exp $ +#$Id: linktrack.inc.pl.ja.pod,v 1.248 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/logs.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/logs.inc.pl:1.128 PyukiWiki-Devel-UTF8/lib/logs.inc.pl:1.129 --- PyukiWiki-Devel-UTF8/lib/logs.inc.pl:1.128 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/logs.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # logs.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: logs.inc.pl,v 1.128 2012/01/29 21:18:37 papu Exp $ +# $Id: logs.inc.pl,v 1.129 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/logs.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/logs.inc.pl.ja.pod:1.127 PyukiWiki-Devel-UTF8/lib/logs.inc.pl.ja.pod:1.128 --- PyukiWiki-Devel-UTF8/lib/logs.inc.pl.ja.pod:1.127 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/logs.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: logs.inc.pl.ja.pod,v 1.127 2012/01/29 21:18:37 papu Exp $ +#$Id: logs.inc.pl.ja.pod,v 1.128 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/punyurl.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/punyurl.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/punyurl.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/punyurl.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/punyurl.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # punyurl.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: punyurl.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: punyurl.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/punyurl.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/punyurl.inc.pl.ja.pod:1.247 PyukiWiki-Devel-UTF8/lib/punyurl.inc.pl.ja.pod:1.248 --- PyukiWiki-Devel-UTF8/lib/punyurl.inc.pl.ja.pod:1.247 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/punyurl.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: punyurl.inc.pl.ja.pod,v 1.247 2012/01/29 21:18:37 papu Exp $ +#$Id: punyurl.inc.pl.ja.pod,v 1.248 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/setting.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/setting.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/setting.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/setting.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/setting.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # setting.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: setting.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: setting.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/slashpage.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/slashpage.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/slashpage.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/slashpage.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/slashpage.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # slashpage.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: slashpage.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: slashpage.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/slashpage.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/slashpage.inc.pl.ja.pod:1.247 PyukiWiki-Devel-UTF8/lib/slashpage.inc.pl.ja.pod:1.248 --- PyukiWiki-Devel-UTF8/lib/slashpage.inc.pl.ja.pod:1.247 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/slashpage.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: slashpage.inc.pl.ja.pod,v 1.247 2012/01/29 21:18:37 papu Exp $ +#$Id: slashpage.inc.pl.ja.pod,v 1.248 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/urlhack.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/urlhack.inc.pl:1.248 PyukiWiki-Devel-UTF8/lib/urlhack.inc.pl:1.249 --- PyukiWiki-Devel-UTF8/lib/urlhack.inc.pl:1.248 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/urlhack.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # urlhack.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: urlhack.inc.pl,v 1.248 2012/01/29 21:18:37 papu Exp $ +# $Id: urlhack.inc.pl,v 1.249 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/urlhack.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/urlhack.inc.pl.ja.pod:1.247 PyukiWiki-Devel-UTF8/lib/urlhack.inc.pl.ja.pod:1.248 --- PyukiWiki-Devel-UTF8/lib/urlhack.inc.pl.ja.pod:1.247 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/urlhack.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: urlhack.inc.pl.ja.pod,v 1.247 2012/01/29 21:18:37 papu Exp $ +#$Id: urlhack.inc.pl.ja.pod,v 1.248 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8 Index: PyukiWiki-Devel-UTF8/lib/wiki.cgi diff -u PyukiWiki-Devel-UTF8/lib/wiki.cgi:1.249 PyukiWiki-Devel-UTF8/lib/wiki.cgi:1.250 --- PyukiWiki-Devel-UTF8/lib/wiki.cgi:1.249 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/wiki.cgi Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # wiki.cgi - This is PyukiWiki, yet another Wiki clone. -# $Id: wiki.cgi,v 1.249 2012/01/29 21:18:37 papu Exp $ +# $Id: wiki.cgi,v 1.250 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Copyright (C) 2004-2012 Nekyo Index: PyukiWiki-Devel-UTF8/lib/xframe.inc.pl diff -u PyukiWiki-Devel-UTF8/lib/xframe.inc.pl:1.17 PyukiWiki-Devel-UTF8/lib/xframe.inc.pl:1.18 --- PyukiWiki-Devel-UTF8/lib/xframe.inc.pl:1.17 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/xframe.inc.pl Mon Jan 30 09:24:50 2012 @@ -1,6 +1,6 @@ ###################################################################### # xframe.inc.pl - This is PyukiWiki, yet another Wiki clone. -# $Id: xframe.inc.pl,v 1.17 2012/01/29 21:18:37 papu Exp $ +# $Id: xframe.inc.pl,v 1.18 2012/01/30 00:24:50 papu Exp $ # # "PyukiWiki" version 0.2.0-p1-preview3-p1 $$ # Author: Nanami http://nanakochi.daiba.cx/ Index: PyukiWiki-Devel-UTF8/lib/xframe.inc.pl.ja.pod diff -u PyukiWiki-Devel-UTF8/lib/xframe.inc.pl.ja.pod:1.16 PyukiWiki-Devel-UTF8/lib/xframe.inc.pl.ja.pod:1.17 --- PyukiWiki-Devel-UTF8/lib/xframe.inc.pl.ja.pod:1.16 Mon Jan 30 06:18:37 2012 +++ PyukiWiki-Devel-UTF8/lib/xframe.inc.pl.ja.pod Mon Jan 30 09:24:50 2012 @@ -1,4 +1,4 @@ -#$Id: xframe.inc.pl.ja.pod,v 1.16 2012/01/29 21:18:37 papu Exp $ +#$Id: xframe.inc.pl.ja.pod,v 1.17 2012/01/30 00:24:50 papu Exp $ __END__ =encoding utf-8