Changeset 18392

Show
Ignore:
Timestamp:
08/28/08 17:25:02 (4 months ago)
Author:
yappo
Message:

utef-16, whitespace8 に対応

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/misc/WassrPod/wassrpod.pl

    r18306 r18392  
    158158        my $detect7 = decode('utf7', $text); 
    159159        $text .= " ($detect7)" unless $text eq $detect7; 
     160 
     161        do { 
     162            require Acme::Encode::WhiteSpace8; 
     163            $text = encode('utf8', $text); 
     164            $text =~ s{([ \001\002\003\004\005\006\007\010\011\013\014\016\017\020\021]{2,})}{ 
     165                decode('whitespace-8', $1); 
     166            }ge; 
     167            $text = decode('utf8', $text); 
     168        }; 
     169 
    160170        if ($status->{reply_user_login_id}) { 
    161             $text .= sprintf '[Re:%s/%s]', $status->{reply_user_login_id}, $status->{reply_message}; 
     171            $text .= sprintf '[Re:%s/%s]', $status->{reply_user_login_id}, ($status->{reply_message} || ''); 
    162172        } 
    163173        my $tmp = { 
     
    250260            $status = encode('utf7', decode('utf8', $args)); 
    251261            $self->_update($ua, "$status encoding:utf7", $source); 
     262        } elsif ($cmd eq '16') { 
     263            $status = encode('utf16', decode('utf8', $args)); 
     264            $self->_update($ua, "$status encoding:utf16", $source); 
     265        } elsif ($cmd eq '32') { 
     266            $status = encode('utf32', decode('utf8', $args)); 
     267            $self->_update($ua, "$status encoding:utf32", $source); 
    252268        } elsif ($cmd eq '932') { 
    253269            $status = encode('cp932', decode('utf8', $args)); 
    254270            $self->_update($ua, "$status encoding:cp932", $source); 
     271        } elsif ($cmd eq 'WS') { 
     272            require Acme::Encode::WhiteSpace8; 
     273            $status = encode('whitespace-8', decode('utf8', $args)); 
     274            $self->_update($ua, $status . 'encoding:whitespace8', $source); 
    255275        } 
    256276    } else { 
     
    261281sub _update { 
    262282    my($self, $ua, $status, $source) = @_; 
     283 
    263284    my $data = { 
    264285        status => $status,