summaryrefslogtreecommitdiff
path: root/fml/lib/Mail/Message
diff options
context:
space:
mode:
authorfukachan <fukachan>2003-10-18 04:43:51 +0000
committerfukachan <fukachan>2003-10-18 04:43:51 +0000
commitb998f0d32a3f4697d048b9bc3a82061c3102d433 (patch)
tree011a40466e9392e1d70bc7c8bce2ffa2b82f057b /fml/lib/Mail/Message
parentd255d6ed481544d3e737117237a040ef28ebdf8f (diff)
downloadfml8-b998f0d32a3f4697d048b9bc3a82061c3102d433.tar.gz
fml8-b998f0d32a3f4697d048b9bc3a82061c3102d433.tar.bz2
fml8-b998f0d32a3f4697d048b9bc3a82061c3102d433.zip
Mail::Message::Charset has tables on code, charset and languge.
FML::Process::CGI::Kernel is modified to use it.
Diffstat (limited to 'fml/lib/Mail/Message')
-rw-r--r--fml/lib/Mail/Message/Charset.pm264
1 files changed, 264 insertions, 0 deletions
diff --git a/fml/lib/Mail/Message/Charset.pm b/fml/lib/Mail/Message/Charset.pm
new file mode 100644
index 00000000..9c05a083
--- /dev/null
+++ b/fml/lib/Mail/Message/Charset.pm
@@ -0,0 +1,264 @@
+#-*- perl -*-
+#
+# Copyright (C) 2003 Ken'ichi Fukamachi
+#
+# $FML$
+#
+
+package Mail::Message::Charset;
+use strict;
+
+=head1 NAME
+
+Mail::Message::Charset - charset map
+
+=head1 SYNOPSIS
+
+ use Mail::Message::Charset;
+ my $mh = new Mail::Message::Charset;
+
+=head1 DESCRIPTION
+
+=head1 METHODS
+
+=cut
+
+
+1;
+
+my %language_code = (
+ "aa" => "Afar",
+ "ab" => "Abkhazian",
+ "af" => "Afrikaans",
+ "am" => "Amharic",
+ "ar" => "Arabic",
+ "as" => "Assamese",
+ "ay" => "Aymara",
+ "az" => "Azerbaijani",
+ "ba" => "Bashkir",
+ "be" => "Belarusian",
+ "bg" => "Bulgarian",
+ "bh" => "Bihari",
+ "bi" => "Bislama",
+ "bn" => "Bengali",
+ "bnt" => "Bantu",
+ "bo" => "Tibetan",
+ "br" => "Breton",
+ "ca" => "Catalan",
+ "co" => "Corsican",
+ "cs" => "Czech",
+ "cy" => "Welsh",
+ "da" => "Danish",
+ "de" => "German",
+ "div" => "Maldivian",
+ "dz" => "Bhutani",
+ "el" => "Greek",
+ "en" => "English",
+ "eo" => "Esperanto",
+ "es" => "Spanish",
+ "et" => "Estonian",
+ "eu" => "Basque",
+ "fa" => "Farsi/Persian",
+ "fi" => "Finnish",
+ "fj" => "Fijian",
+ "fo" => "Faroese",
+ "fr" => "French",
+ "fy" => "Frisian",
+ "ga" => "Irish",
+ "gd" => "Scottish",
+ "gl" => "Galician",
+ "gn" => "Guarani",
+ "gu" => "Gujarati",
+ "ha" => "Hausa",
+ "he" => "Hebrew",
+ "hi" => "Hindi",
+ "hr" => "Croatian",
+ "hu" => "Hungarian",
+ "hy" => "Armenian",
+ "id" => "Indonesian",
+ "ik" => "Inupiaq",
+ "is" => "Icelandic",
+ "it" => "Italian",
+ "ja" => "Japanese",
+ "jv" => "Javanese",
+ "ka" => "Georgian",
+ "kk" => "Kazakh",
+ "kl" => "Greenlandic",
+ "km" => "Cambodian/Khmer",
+ "kn" => "Kannada",
+ "ko" => "Korean",
+ "ks" => "Kashmiri",
+ "ku" => "Kurdish",
+ "ky" => "Kirghiz",
+ "ln" => "Lingala",
+ "lo" => "Laothian",
+ "lt" => "Lithuanian",
+ "lv" => "Latvian",
+ "mg" => "Malagasy",
+ "mi" => "Maori",
+ "mk" => "Macedonian",
+ "ml" => "Malayalam",
+ "mn" => "Mongolian",
+ "mo" => "Moldavian",
+ "mr" => "Marathi",
+ "ms" => "Malay",
+ "mt" => "Maltese",
+ "my" => "Burmese",
+ "na" => "Nauru",
+ "ne" => "Nepali",
+ "nl" => "Dutch",
+ "no" => "Norwegian",
+ "oc" => "Occitan",
+ "om" => "Oromo",
+ "or" => "Oriya",
+ "pa" => "Punjabi",
+ "pap" => "Papiamento",
+ "pl" => "Polish",
+ "ps" => "Pushto",
+ "pt" => "Portuguese",
+ "qu" => "Quechua",
+ "rm" => "Raeto-Romance",
+ "rn" => "Kurundi",
+ "ro" => "Romanian",
+ "ru" => "Russian",
+ "rw" => "Kinyarwanda",
+ "sa" => "Sanskrit",
+ "sd" => "Sindhi",
+ "sg" => "Sangho",
+ "sh" => "Serbo-Croatian",
+ "si" => "Singhalese",
+ "sk" => "Slovak",
+ "sl" => "Slovenian",
+ "sm" => "Samoan",
+ "sn" => "Shona",
+ "so" => "Somali",
+ "sq" => "Albanian",
+ "sr" => "Serbian",
+ "ss" => "Siswati",
+ "st" => "Sesotho",
+ "su" => "Sundanese",
+ "sv" => "Swedish",
+ "sw" => "Swahili",
+ "ta" => "Tamil",
+ "te" => "Telugu",
+ "tg" => "Tajik",
+ "th" => "Thai",
+ "ti" => "Tigrinya",
+ "tk" => "Turkmen",
+ "tl" => "Tagalog",
+ "tn" => "Setswana",
+ "to" => "Tonga",
+ "tr" => "Turkish",
+ "ts" => "Tsonga",
+ "tt" => "Tatar",
+ "tw" => "Twi",
+ "uk" => "Ukrainian",
+ "ur" => "Urdu",
+ "uz" => "Uzbek",
+ "vi" => "Vietnamese",
+ "vo" => "Volapuk",
+ "wo" => "Wolof",
+ "xh" => "Xhosa",
+ "yi" => "Yiddish",
+ "yo" => "Yoruba",
+ "zh" => "Chinese",
+ "zu" => "Zulu",
+ );
+
+
+my %internal_charset_map = (
+ 'ja' => 'euc-jp',
+ 'japanese' => 'euc-jp',
+
+ 'en' => 'us-ascii',
+ 'english' => 'us-ascii',
+ );
+
+
+my %message_charset_map = (
+ 'ja' => 'iso-2022-jp',
+ 'japanese' => 'iso-2022-jp',
+
+ 'en' => 'us-ascii',
+ 'english' => 'us-ascii',
+ );
+
+
+# Descriptions: constructor.
+# Arguments: OBJ($self)
+# Side Effects: none
+# Return Value: OBJ
+sub new
+{
+ my ($self) = @_;
+ my ($type) = ref($self) || $self;
+ my $me = {};
+ return bless $me, $type;
+}
+
+
+# Descriptions: return default charset.
+# Arguments: OBJ($self)
+# Side Effects: none
+# Return Value: OBJ
+sub internal_default_charset
+{
+ my ($self) = @_;
+ return 'us-ascii';
+}
+
+
+# Descriptions: return default charset.
+# Arguments: OBJ($self)
+# Side Effects: none
+# Return Value: OBJ
+sub message_default_charset
+{
+ my ($self) = @_;
+ return 'us-ascii';
+}
+
+
+# Descriptions: get charset info: e.g. japanese => euc-jp
+# Arguments: OBJ($self) STR($language)
+# Side Effects: none
+# Return Value: STR
+sub language_to_internal_charset
+{
+ my ($self, $language) = @_;
+
+ return $internal_charset_map{ lc($language) };
+}
+
+
+# Descriptions: get charset info: e.g. japanese => iso-2022-jp
+# Arguments: OBJ($self) STR($language)
+# Side Effects: none
+# Return Value: STR
+sub language_to_message_charset
+{
+ my ($self, $language) = @_;
+
+ return $message_charset_map{ lc($language) };
+}
+
+
+=head1 CODING STYLE
+
+See C<http://www.fml.org/software/FNF/> on fml coding style guide.
+
+=head1 AUTHOR
+
+Ken'ichi Fukamachi
+
+=head1 COPYRIGHT
+
+Copyright (C) 2003 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.
+
+=cut
+
+
+1;