diff options
| author | fukachan <fukachan> | 2001-06-10 10:22:44 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2001-06-10 10:22:44 +0000 |
| commit | b1ec61df1404fbf7a7b2fb983e1295637f0d0a8e (patch) | |
| tree | b57629c4fca433080689cc6043e6cf4d956d9313 /fml/lib/Language | |
| parent | 7d100264621de7703c4de1a98cd8270f2f291281 (diff) | |
| download | fml8-b1ec61df1404fbf7a7b2fb983e1295637f0d0a8e.tar.gz fml8-b1ec61df1404fbf7a7b2fb983e1295637f0d0a8e.tar.bz2 fml8-b1ec61df1404fbf7a7b2fb983e1295637f0d0a8e.zip | |
move Language:: to FML::NL:: name space due to the function usage
Diffstat (limited to 'fml/lib/Language')
| -rw-r--r-- | fml/lib/Language/.cvsignore | 1 | ||||
| -rw-r--r-- | fml/lib/Language/ISO2022JP.pm | 74 | ||||
| -rw-r--r-- | fml/lib/Language/Japanese/.cvsignore | 1 | ||||
| -rw-r--r-- | fml/lib/Language/Japanese/Makefile | 6 | ||||
| -rw-r--r-- | fml/lib/Language/Japanese/String.pm | 91 | ||||
| -rw-r--r-- | fml/lib/Language/Japanese/Subject.pm | 162 | ||||
| -rw-r--r-- | fml/lib/Language/Japanese/Utils.pm | 102 | ||||
| -rw-r--r-- | fml/lib/Language/Makefile | 16 |
8 files changed, 0 insertions, 453 deletions
diff --git a/fml/lib/Language/.cvsignore b/fml/lib/Language/.cvsignore deleted file mode 100644 index b643ba41..00000000 --- a/fml/lib/Language/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -@@doc diff --git a/fml/lib/Language/ISO2022JP.pm b/fml/lib/Language/ISO2022JP.pm deleted file mode 100644 index 6d8372fd..00000000 --- a/fml/lib/Language/ISO2022JP.pm +++ /dev/null @@ -1,74 +0,0 @@ -#-*- perl -*- -# -# Copyright (C) 2001 Ken'ichi Fukamachi -# All rights reserved. This program is free software; you can -# redistribute it and/or modify it under the same terms as Perl itself. -# -# $FML: ISO2022JP.pm,v 1.3 2001/04/03 09:45:47 fukachan Exp $ -# - -package Language::ISO2022JP; - -use strict; -use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD); -use Carp; - - -=head1 NAME - -Language::ISO2022JP - adapter for Language::Japanese - -=head1 SYNOPSIS - - use Language::ISO2022JP qw(is_iso2022jp_string); - if ( is_iso2022jp_string($string) ) { do_something_if_Japanese;} - - use Language::ISO2022JP qw(STR2EUC); - $euc_string = STR2EUC( $string ); - -=cut - - -use Language::Japanese::Utils qw(is_iso2022jp_string); -use Language::Japanese::String qw(STR2JIS STR2EUC STR2SJIS); - -require Exporter; -@ISA = qw(Language::Japanese::Utils Language::Japanese::String Exporter); -push(@EXPORT_OK, @Language::Japanese::Utils::EXPORT_OK); -push(@EXPORT_OK, @Language::Japanese::String::EXPORT_OK); - - -=head1 METHODS - -=head2 C<is_iso2022jp_string> - -See L<Language::Japanese::Utils> - -=head2 C<STR2JIS> C<STR2EUC> C<STR2SJIS> - -See L<Language::Japanese::String> - -=head1 SEE ALSO - -L<Language::Japanese::Utils>, -L<Language::Japanese::String> - -=head1 AUTHOR - -Ken'ichi Fukamachi - -=head1 COPYRIGHT - -Copyright (C) 2001 Ken'ichi Fukamachi - -All rights reserved. This program is free software; you can -redistribute it and/or modify it under the same terms as Perl itself. - -=head1 HISTORY - -Language::ISO2022JP appeared in fml5 mailing list driver package. -See C<http://www.fml.org/> for more details. - -=cut - -1; diff --git a/fml/lib/Language/Japanese/.cvsignore b/fml/lib/Language/Japanese/.cvsignore deleted file mode 100644 index b643ba41..00000000 --- a/fml/lib/Language/Japanese/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -@@doc diff --git a/fml/lib/Language/Japanese/Makefile b/fml/lib/Language/Japanese/Makefile deleted file mode 100644 index 4ed76816..00000000 --- a/fml/lib/Language/Japanese/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -all: html - -html: index.ja.html - -index.ja.html: *.pm - ../../../../doc/bin/dir2url.pl > index.ja.html diff --git a/fml/lib/Language/Japanese/String.pm b/fml/lib/Language/Japanese/String.pm deleted file mode 100644 index 65b41b17..00000000 --- a/fml/lib/Language/Japanese/String.pm +++ /dev/null @@ -1,91 +0,0 @@ -#-*- perl -*- -# -# Copyright (C) 2000 Ken'ichi Fukamachi -# All rights reserved. This program is free software; you can -# redistribute it and/or modify it under the same terms as Perl itself. -# -# $Id$ -# $FML$ -# - -package Language::Japanese::String; -use strict; -use Carp; -use vars qw(@ISA @EXPORT @EXPORT_OK); - -=head1 NAME - -Language::Japanese::String -- utilities to manipulate strings - -=head1 SYNOPSIS - - use Language::Japanese::String qw(STR2JIS); - $euc_str = STR2JIS($str); - -=head1 METHOD - -=head2 C<STR2JIS(string)> - -convert CHARSET of the given string to JIS. - -=head2 C<STR2EUC(string)> - -convert CHARSET of the given string to EUC. - -=head2 C<STR2SJIS(string)> - -convert CHARSET of the given string to SJIS. - -=cut - - -require Exporter; -@ISA = qw(Exporter); -@EXPORT_OK = qw(STR2JIS STR2EUC STR2SJIS); - -use Jcode; - - -sub STR2EUC -{ - my ($str) = @_; - &Jcode::convert(\$str, 'euc'); - $str; -} - - -sub STR2JIS -{ - my ($str) = @_; - &Jcode::convert(\$str, 'jis'); - $str; -} - - -sub STR2SJIS -{ - my ($str) = @_; - &Jcode::convert(\$str, 'sjis'); - $str; -} - - -=head1 AUTHOR - -Ken'ichi Fukamachi - -=head1 COPYRIGHT - -Copyright (C) 2001 Ken'ichi Fukamachi - -All rights reserved. This program is free software; you can -redistribute it and/or modify it under the same terms as Perl itself. - -=head1 HISTORY - -Language::Japanese::String appeared in fml5 mailing list driver package. -See C<http://www.fml.org/> for more details. - -=cut - -1; diff --git a/fml/lib/Language/Japanese/Subject.pm b/fml/lib/Language/Japanese/Subject.pm deleted file mode 100644 index 8b8edd17..00000000 --- a/fml/lib/Language/Japanese/Subject.pm +++ /dev/null @@ -1,162 +0,0 @@ -#-*- perl -*- -# -# Copyright (C) 2001 Ken'ichi Fukamachi -# All rights reserved. This program is free software; you can -# redistribute it and/or modify it under the same terms as Perl itself. -# -# $Id$ -# $FML: Subject.pm,v 1.3 2001/04/03 09:45:48 fukachan Exp $ -# - - -### ### -### CAUTION: THE CHARSET OF THIS FILE IS "EUC-JAPAN". ### -### ### - - -package Language::Japanese::Subject; -use strict; -use vars qw(@ISA @EXPORT @EXPORT_OK); -use Carp; -use Jcode; - -=head1 NAME - -Language::Japanese::Subject - Japanese specific handling of a subject - -=head1 SYNOPSIS - - use Language::Japanese::Subject; - $is_reply = Language::Japanese::Subject::is_reply($subject); - -=head1 DESCRIPTION - -a collection to handle Japanese specific representations which appears -in the subject. - -=cut - - -require Exporter; -@ISA = qw(Exporter); - -# XXX we should it in proper way in the future. -# XXX but we import it anyway for further rewriting. -my $CUT_OFF_RERERE_PATTERN = ''; -my $CUT_OFF_RERERE_HOOK = ''; - - -# subjec reply pattern -# apply patch from OGAWA Kunihiko <kuni@edit.ne.jp> -# fml-support:7626 7653 07666 -# Re: Re2: Re[2]: Re(2): Re^2: Re*2: -# i-mode ? (PR fml-help: 00157 by OGAWA Kunihiko) -my $pattern = 'Re:|Re\d+:|Re\[\d+\]:|Re\(\d+\):|Re\^\d+:|Re\*\d+:|Re>'; - $pattern .= '|(返信|返|RE|Re)(\s*:|:)'; - - -=head1 METHODS - -=head2 C<new()> - -usual constructor. - -=head2 C<is_reply($string)> - -check whether C<$string> looks like a reply message. -C<$string> is a C<Subject:> of the mail header. -For example, it is like this: - - Re: reply to your messages - -=cut - - -sub new -{ - my ($self) = @_; - my ($type) = ref($self) || $self; - my $me = {}; - return bless $me, $type; -} - - -sub is_reply -{ - my ($self, $x) = @_; - return 0 unless $x; - &Jcode::convert(\$x, 'euc'); - return ($x =~ /^((\s|( ))*($pattern)\s*)+/ ? 1 : 0); -} - - -=head2 C<cut_off_reply_tag($subject)> - -cut off C<Re:> in the string C<$subject> like C<Re: ... > -within C<Subject:>. - -=cut - - -# fml-support: 07507 -# sub CutOffRe -# { -# いままでどおりの Re: とかとっぱらう -# -# if ($LANGUAGE eq 'Japanese') { -# 日本語処理依存ライブラリへ飛ぶ -# この中で $CUT_OFF_PATTERN (config.ph)などにしたがって -# 切り落とすのも良し(きっと日本語を書くだろうとおもうわけで -# で、このライブラリの先で実行する) -# } -# -# run-hooks $CUT_OFF_HOOK(ユーザ定義HOOK) -#} -# レレレ対策 -sub cut_off_reply_tag -{ - my ($subject) = @_; - my ($y, $limit); - - Jcode::convert(\$subject, 'euc'); - - if ($CUT_OFF_RERERE_PATTERN) { - Jcode::convert(\$CUT_OFF_RERERE_PATTERN, 'euc'); - } - - $pattern .= '|' . $CUT_OFF_RERERE_PATTERN if ($CUT_OFF_RERERE_PATTERN); - - # fixed by OGAWA Kunihiko <kuni@edit.ne.jp> (fml-support: 07815) - # $subject =~ s/^((\s*|( )*)*($pattern)\s*)+/Re: /oi; - $subject =~ s/^((\s|( ))*($pattern)\s*)+/Re: /oi; - - if ($CUT_OFF_RERERE_HOOK) { - eval($CUT_OFF_RERERE_HOOK); - &Log($@) if $@; - } - - Jcode::convert(\$subject, 'jis'); - $subject; -} - - -=head1 AUTHOR - - Ken'ichi Fukamachi - -=head1 COPYRIGHT - -Copyright (C) 2001 Ken'ichi Fukamachi - -All rights reserved. This program is free software; you can -redistribute it and/or modify it under the same terms as Perl itself. - -=head1 HISTORY - -Language::Japanese::Subject appeared in fml5 mailing list driver package. -See C<http://www.fml.org/> for more details. - -=cut - - -1; diff --git a/fml/lib/Language/Japanese/Utils.pm b/fml/lib/Language/Japanese/Utils.pm deleted file mode 100644 index 13710d8d..00000000 --- a/fml/lib/Language/Japanese/Utils.pm +++ /dev/null @@ -1,102 +0,0 @@ -#-*- perl -*- -# -# Copyright (C) 2001 Ken'ichi Fukamachi -# All rights reserved. This program is free software; you can -# redistribute it and/or modify it under the same terms as Perl itself. -# -# $Id$ -# $FML$ -# - -package Language::Japanese::Utils; -use strict; -use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD); -use Carp; - -=head1 NAME - -Language::Japanese::Utils - what is this - -=head1 SYNOPSIS - - use Language::Japanese::Utils qw(is_iso2022jp_string); - if ( is_iso2022jp_string($string) ) { do_something_if_Japanese;} - -=head1 DESCRIPTION - -Utilities for Japanse string - -=head1 METHODS - -=head2 <is_iso2022jp_string($string)> - -check whether $string looks Japanese. -return 1 if it looks so. - -=cut - -require Exporter; - -@ISA = qw(Exporter); -@EXPORT_OK = qw(is_iso2022jp_string); - - -sub is_iso2022jp_string -{ - my ($buf) = @_; - return (not _look_not_iso2022jp_string($buf)); -} - - -# based on fml-support: 07020, 07029 -# Koji Sudo <koji@cherry.or.jp> -# Takahiro Kambe <taca@sky.yamashina.kyoto.jp> -# check the given buffer has unusual Japanese (not ISO-2022-JP) -sub _look_not_iso2022jp_string -{ - my ($buf) = @_; - - # check 8 bit on - if ($buf =~ /[\x80-\xFF]/){ - return 1; - } - - # check SI/SO - if ($buf =~ /[\016\017]/) { - return 1; - } - - # HANKAKU KANA - if ($buf =~ /\033\(I/) { - return 1; - } - - # MSB flag or other control sequences - if ($buf =~ /[\001-\007\013\015\020-\032\034-\037\177-\377]/) { - return 1; - } - - 0; # O.K. -} - - - -=head1 AUTHOR - -Ken'ichi Fukamachi - -=head1 COPYRIGHT - -Copyright (C) 2001 Ken'ichi Fukamachi - -All rights reserved. This program is free software; you can -redistribute it and/or modify it under the same terms as Perl itself. - -=head1 HISTORY - -Language::Japanese::Utils appeared in fml5 mailing list driver package. -See C<http://www.fml.org/> for more details. - -=cut - -1; diff --git a/fml/lib/Language/Makefile b/fml/lib/Language/Makefile deleted file mode 100644 index 2347ea49..00000000 --- a/fml/lib/Language/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -all: anal - -anal: - @ find . | sort | grep -v CVS | sed 's@./@@' - -html: index.ja.html - -index.ja.html: *.pm Japanese/*.pm - (cd Japanese; make html) - ../../../doc/bin/dir2url.pl > index.ja.html - -_clean: - rm -f index.ja.html */index.ja.html - -clean: - (cd ../../..;make clean) |
