# HG changeset patch # User kono # Date 1143111056 -32400 # Node ID d8035079fa42d5579fa5fb3597707c0b16177997 # Parent 1a68139a269fde403892ba0e3d0d18773fbf63ce *** empty log message *** diff -r 1a68139a269f -r d8035079fa42 Calcon.pm --- a/Calcon.pm Wed Mar 22 22:12:25 2006 +0900 +++ b/Calcon.pm Thu Mar 23 19:50:56 2006 +0900 @@ -4126,6 +4126,13 @@ @ISA = ( 'Calcon::File_read' ) ; +sub quoted_printable +{ + my ($d) = @_; + $d =~ s/=([0-9a-fA-F][0-9a-fA-F])/sprintf("%c",hex($1))/eg; + return ": ".$d; +} + sub decode { my ($self,$file) = @_; my ($debug) = $self->{'-debug'}; @@ -4139,6 +4146,10 @@ $out->start_file(''); while() { +s/\r//g; +s/\;CHARSET\=SHIFT_JIS//g; +s/\;CHARSET\=EUC//g; +s/\;ENCODING\=QUOTED\-PRINTABLE:(.*)/"ed_printable($1)/eg; if (/^begin:\s*vcalendar/i) { } elsif (/^begin:\s*vcad/i) { } elsif (/^adr(.*):\s*(.*)/i) { $self->items($record,'address',$1,$2); @@ -4147,7 +4158,9 @@ } elsif (/^begin:\s*vevent/i) { $record = $self->make_record; } elsif (/^calscale:\s*(.*)/i) { } elsif (/^uid:\s*(.*)/i) { +} elsif (/^x-gn:\s*(.*)/i) { $record->{'group'} .= $1; } elsif (/^description:\s*/i) { $record->{'memo'} .= $1; +} elsif (/^note:\s*/i) { $record->{'memo'} .= $1; } elsif (/^dtend(.*):\s*(.*)/i) { $record->{'end-date'} = $self->date($2,$1?$1:$record->{'timezone'}); } elsif (/^dtstamp(.*):\s*(.*)/i) { $record->{'modify-date'} = $self->date($2,$1?$1:$record->{'timezone'}); } elsif (/^dtstart(.*):\s*(.*)/i) { $record->{'date'} = $self->date($2,$1?$1:$record->{'timezone'}); @@ -4168,6 +4181,7 @@ } elsif (/^version:\s*(.*)/i) { $record->{'version'} = $1; } elsif (/^X-PHONETIC-LAST-NAME:\s*(.*)/i) { $record->{'name-yomi'} .= "$1 "; } elsif (/^X-PHONETIC-FIRST-NAME:\s*(.*)/i) { $record->{'name-yomi'} .= "$1 "; +} elsif (/^SOUND.*:\s*(.*)/i) { $record->{'name-yomi'} .= "$1 "; } elsif (/^x-custom1:\s*(.*)/i) { $record->{'name-yomi'} = $1; } elsif (/^x-custom2:\s*(.*)/i) { $record->{'office-yomi'} = $1; } elsif (/^x-wr-calname.*:\s*(.*)/i) { $record->{'calendar'} = $1;