summaryrefslogtreecommitdiff
path: root/cpan/lib/Jcode/Constants.pm
diff options
context:
space:
mode:
Diffstat (limited to 'cpan/lib/Jcode/Constants.pm')
-rw-r--r--cpan/lib/Jcode/Constants.pm88
1 files changed, 88 insertions, 0 deletions
diff --git a/cpan/lib/Jcode/Constants.pm b/cpan/lib/Jcode/Constants.pm
new file mode 100644
index 00000000..7bce2ea0
--- /dev/null
+++ b/cpan/lib/Jcode/Constants.pm
@@ -0,0 +1,88 @@
+#
+# $Id: Constants.pm,v 1.1 2000/11/15 05:44:53 dankogai Exp $
+#
+
+package Jcode::Constants;
+
+use strict;
+use vars qw($RCSID $VERSION);
+
+$RCSID = q$Id: Constants.pm,v 1.1 2000/11/15 05:44:53 dankogai Exp $;
+$VERSION = do { my @r = (q$Revision: 1.1 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+
+use Carp;
+
+BEGIN {
+ use Exporter;
+ use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
+ @ISA = qw(Exporter);
+ @EXPORT = qw();
+ @EXPORT_OK = qw(&_max &_mkbuf %CHARCODE %ESC %RE);
+ %EXPORT_TAGS = ( 'all' => [ @EXPORT_OK, @EXPORT ] );
+}
+
+use vars @EXPORT_OK;
+
+my %_0208 = (
+ 1978 => '\e\$\@',
+ 1983 => '\e\$B',
+ 1990 => '\e&\@\e\$B',
+ );
+
+%CHARCODE = (
+ UNDEF_EUC => "\xa2\xae", # ¢® in EUC
+ UNDEF_SJIS => "\x81\xac", # ¢® in SJIS
+ UNDEF_JIS => "\xa2\xf7", # ¢÷ -- used in unicode
+ UNDEF_UNICODE => "\x20\x20", # ¢÷ -- used in unicode
+ );
+
+%ESC = (
+ JIS_0208 => "\e\$B",
+ JIS_0212 => "\e\$(D",
+ ASC => "\e\(B",
+ KANA => "\e\(I",
+ );
+
+%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]'
+ );
+
+#
+# Util. Functions
+#
+
+# Make buffer when and only when necessary
+
+sub _mkbuf {
+ my $thingy = shift;
+ if (ref $thingy){
+ return $thingy;
+ }
+ else{
+ my $buf = $thingy;
+ return \$buf;
+ }
+}
+
+sub _max {
+ my $result = shift;
+ for my $n (@_){
+ $result = $n if $n > $result;
+ }
+ return $result;
+}
+
+1;
+