ext/Encode/ucm/cp936.ucm Unicode Character Map
ext/Encode/ucm/cp949.ucm Unicode Character Map
ext/Encode/ucm/cp950.ucm Unicode Character Map
+ext/Encode/ucm/ctrl.ucm Unicode Character Map
ext/Encode/ucm/dingbats.ucm Unicode Character Map
ext/Encode/ucm/euc-cn.ucm Unicode Character Map
ext/Encode/ucm/euc-jp.ucm Unicode Character Map
ext/Encode/ucm/macTurkish.ucm Unicode Character Map
ext/Encode/ucm/macUkraine.ucm Unicode Character Map
ext/Encode/ucm/nextstep.ucm Unicode Character Map
+ext/Encode/ucm/null.ucm Unicode Character Map
ext/Encode/ucm/posix-bc.ucm Unicode Character Map
ext/Encode/ucm/shiftjis.ucm Unicode Character Map
ext/Encode/ucm/symbol.ucm Unicode Character Map
Anton Tagunov <tagunov@motor.ru>
Autrijus Tang <autrijus@autrijus.org>
Benjamin Goldberg <goldbb2@earthlink.net>
+Chris Nandor <pudge@pobox.com>
Craig A. Berry <craigberry@mac.com>
Dan Kogai <dankogai@dan.co.jp>
Elizabeth Mattijsen <liz@dijkmat.nl>
use 5.7.2;
use strict;
use ExtUtils::MakeMaker;
+use File::Spec::Functions;
my $name = 'Byte';
my %tables = (
qw(cp932.ucm cp936.ucm cp949.ucm cp950.ucm), # CJK
);
-opendir(ENC,'../ucm');
+opendir(ENC,catdir(updir(),'ucm')) or die $!;
while (defined(my $file = readdir(ENC)))
{
$file =~ /^(8859|cp).*\.ucm$/io or next;
$self->{'O_FILES'} = [sort keys %o];
my @files = ("$name.xs");
$self->{'C'} = ["$name.c"];
+ $self->{SOURCE} .= " $name.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$name\.c\b/;
$self->{'H'} = [$self->catfile($self->updir,'Encode', 'encode.h')];
my %xs;
foreach my $table (keys %tables) {
foreach my $ext (qw($(OBJ_EXT) .c .h .exh .fnm)) {
push (@files,$table.$ext);
}
+ $self->{SOURCE} .= " $table.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$table\.c\b/;
}
$self->{'XS'} = { "$name.xs" => "$name.c" };
$self->{'clean'}{'FILES'} .= join(' ',@files);
$self->{'O_FILES'} = [sort keys %o];
my @files = ("$name.xs");
$self->{'C'} = ["$name.c"];
+ $self->{SOURCE} .= " $name.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$name\.c\b/;
$self->{'H'} = [$self->catfile($self->updir,'Encode', 'encode.h')];
my %xs;
foreach my $table (keys %tables) {
foreach my $ext (qw($(OBJ_EXT) .c .h .exh .fnm)) {
push (@files,$table.$ext);
}
+ $self->{SOURCE} .= " $table.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$table\.c\b/;
}
$self->{'XS'} = { "$name.xs" => "$name.c" };
$self->{'clean'}{'FILES'} .= join(' ',@files);
# Revision history for Perl extension Encode.
#
-# $Id: Changes,v 1.72 2002/05/20 15:49:56 dankogai Exp dankogai $
+# $Id: Changes,v 1.74 2002/05/28 18:33:15 dankogai Exp dankogai $
#
-$Revision: 1.72 $ $Date: 2002/05/20 15:49:56 $
+$Revision: 1.74 $ $Date: 2002/05/28 18:33:15 $
++ ucm/null.ucm ucm/ctrl.ucm
+! Makefile.PL bin/enc2xs lib/Encode/Supported.pod
+ "null" and "ascii-ctrl" encodings added upon the request of Autrijus
+ Subject: Re: unicode -> &# notation
+ Message-ID: <20020518193704.GB40272@not.autrijus.org>
+
+1.73 2002/05/28 17:26:18
+! */Makefile.PL Makefile.PL bin/enc2xs Encode/Makefile_PL.e2x AUTHORS
+ Chris Nandor has fixed Encode so that it works w/ MacPerl --
+ at least w/ PPC (68k need static linking which does not work due to
+ 64k limit). pudge is added to AUTHORS (I'm surprised he was not
+ there in the list). Encode/Makefile_PL.e2x was additionally fixed
+ by dankogai to reflect changes in other Makefile.PL
+ Message-Id: <p0510030ab9195ed230ff@[10.0.1.107]>
+! t/mime-header.t
+ Subject: Change 16746: -Mutf8 cleanup.
+ Message-Id: <200205222345.g4MNj7e10597@smtp3.ActiveState.com>
+
+1.72 2002/05/20 15:49:56
! Makefile.PL
Subject: [PATCH] Encode should be in perl-core library path
Message-Id: <86r8k7h738.wl@mail.edge.co.jp>
Typo fixes and improvements by jhi
Message-Id: <200204010201.FAA03564@alpha.hut.fi>, et al.
-1.11 $Date: 2002/05/20 15:49:56 $
+1.11 $Date: 2002/05/28 18:33:15 $
+ t/encoding.t
+ t/jperl.t
! MANIFEST
$self->{'O_FILES'} = [sort keys %o];
my @files = ("$name.xs");
$self->{'C'} = ["$name.c"];
+ $self->{SOURCE} .= " $name.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$name\.c\b/;
$self->{'H'} = [$self->catfile($self->updir,'Encode', 'encode.h')];
my %xs;
foreach my $table (keys %tables) {
foreach my $ext (qw($(OBJ_EXT) .c .h .exh .fnm)) {
push (@files,$table.$ext);
}
+ $self->{SOURCE} .= " $table.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$table\.c\b/;
}
$self->{'XS'} = { "$name.xs" => "$name.c" };
$self->{'clean'}{'FILES'} .= join(' ',@files);
#
-# $Id: Encode.pm,v 1.72 2002/05/20 15:26:18 dankogai Exp $
+# $Id: Encode.pm,v 1.74 2002/05/28 18:33:54 dankogai Exp dankogai $
#
package Encode;
use strict;
-our $VERSION = do { my @r = (q$Revision: 1.72 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+our $VERSION = do { my @r = (q$Revision: 1.74 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
our $DEBUG = 0;
use XSLoader ();
XSLoader::load(__PACKAGE__, $VERSION);
/*
- $Id: Encode.xs,v 1.46 2002/05/20 15:25:44 dankogai Exp $
+ $Id: Encode.xs,v 1.46 2002/05/20 15:25:44 dankogai Exp dankogai $
*/
#define PERL_NO_GET_CONTEXT
$self->{'O_FILES'} = [sort keys %o];
my @files = ("$name.xs");
$self->{'C'} = ["$name.c"];
+ # The next two lines to make MacPerl Happy -- dankogai via pudge
+ $self->{SOURCE} .= " $name.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$name\.c\b/;
# $self->{'H'} = [$self->catfile($self->updir,'encode.h')];
my %xs;
foreach my $table (keys %tables) {
$self->{'O_FILES'} = [sort keys %o];
my @files = ("$name.xs");
$self->{'C'} = ["$name.c"];
+ $self->{SOURCE} .= " $name.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$name\.c\b/;
$self->{'H'} = [$self->catfile($self->updir,'Encode', 'encode.h')];
my %xs;
foreach my $table (keys %tables) {
foreach my $ext (qw($(OBJ_EXT) .c .h .exh .fnm)) {
push (@files,$table.$ext);
}
+ $self->{SOURCE} .= " $table.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$table\.c\b/;
}
$self->{'XS'} = { "$name.xs" => "$name.c" };
$self->{'clean'}{'FILES'} .= join(' ',@files);
$self->{'O_FILES'} = [sort keys %o];
my @files = ("$name.xs");
$self->{'C'} = ["$name.c"];
+ $self->{SOURCE} .= " $name.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$name\.c\b/;
$self->{'H'} = [$self->catfile($self->updir,'Encode', 'encode.h')];
my %xs;
foreach my $table (keys %tables) {
foreach my $ext (qw($(OBJ_EXT) .c .h .exh .fnm)) {
push (@files,$table.$ext);
}
+ $self->{SOURCE} .= " $table.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$table\.c\b/;
}
$self->{'XS'} = { "$name.xs" => "$name.c" };
$self->{'clean'}{'FILES'} .= join(' ',@files);
ucm/cp936.ucm Unicode Character Map
ucm/cp949.ucm Unicode Character Map
ucm/cp950.ucm Unicode Character Map
+ucm/ctrl.ucm Unicode Character Map
ucm/dingbats.ucm Unicode Character Map
ucm/euc-cn.ucm Unicode Character Map
ucm/euc-jp.ucm Unicode Character Map
ucm/macTurkish.ucm Unicode Character Map
ucm/macUkraine.ucm Unicode Character Map
ucm/nextstep.ucm Unicode Character Map
+ucm/null.ucm Unicode Character Map
ucm/posix-bc.ucm Unicode Character Map
ucm/shiftjis.ucm Unicode Character Map
ucm/symbol.ucm Unicode Character Map
(
def_t => ['ascii.ucm',
'8859-1.ucm',
+ 'null.ucm',
+ 'ctrl.ucm',
]
);
{
push (@files,$table.$ext);
}
+ $self->{SOURCE} .= " $table.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$table\.c\b/;
}
$self->{'clean'}{'FILES'} .= join(' ',@files);
return '';
my $self = shift;
my $dir = $self->catdir($self->curdir,'ucm');
my $str = "# Encode\$(OBJ_EXT) depends on .h and .exh files not .c files - but all written by enc2xs\n";
- $str .= 'Encode$(OBJ_EXT) :';
+ $str .= $^O eq 'MacOS' ? 'Encode.c.{$(MACPERL_BUILD_EXT_STATIC)}.o :' : 'Encode$(OBJ_EXT) :';
foreach my $table (keys %tables)
{
$str .= " $table.c";
$self->{'O_FILES'} = [sort keys %o];
my @files = ("$name.xs");
$self->{'C'} = ["$name.c"];
+ $self->{SOURCE} .= " $name.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$name\.c\b/;
$self->{'H'} = [$self->catfile($self->updir,'Encode', 'encode.h')];
my %xs;
foreach my $table (keys %tables) {
foreach my $ext (qw($(OBJ_EXT) .c .h .exh .fnm)) {
push (@files,$table.$ext);
}
+ $self->{SOURCE} .= " $table.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$table\.c\b/;
}
$self->{'XS'} = { "$name.xs" => "$name.c" };
$self->{'clean'}{'FILES'} .= join(' ',@files);
$self->{'O_FILES'} = [sort keys %o];
my @files = ("$name.xs");
$self->{'C'} = ["$name.c"];
+ $self->{SOURCE} .= " $name.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$name\.c\b/;
$self->{'H'} = [$self->catfile($self->updir,'Encode', 'encode.h')];
my %xs;
foreach my $table (keys %tables) {
foreach my $ext (qw($(OBJ_EXT) .c .h .exh .fnm)) {
push (@files,$table.$ext);
}
+ $self->{SOURCE} .= " $table.c"
+ if $^O eq 'MacOS' && $self->{SOURCE} !~ /\b$table\.c\b/;
}
$self->{'XS'} = { "$name.xs" => "$name.c" };
$self->{'clean'}{'FILES'} .= join(' ',@files);
use strict;
use Getopt::Std;
my @orig_ARGV = @ARGV;
-our $VERSION = do { my @r = (q$Revision: 1.27 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+our $VERSION = do { my @r = (q$Revision: 1.29 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
# These may get re-ordered.
# RAW is a do_now as inserted by &enter
my $sym = "${enc}_encoding";
$sym =~ s/\W+/_/g;
print C "encode_t $sym = \n";
+ # This is to make null encoding work -- dankogai
+ for (my $i = (scalar @info) - 1; $i >= 0; --$i){
+ $info[$i] ||= 1;
+ }
+ # end of null tweak -- dankogai
print C " {",join(',',@info,"{\"$enc\",(const char *)0}"),"};\n\n";
}
}
if ($a->{'Forward'})
{
- print $fh "\nstatic encpage_t $name\[",scalar(@{$a->{'Entries'}}),"];\n";
+ my $var = $^O eq 'MacOS' ? 'extern' : 'static';
+ print $fh "\n$var encpage_t $name\[",scalar(@{$a->{'Entries'}}),"];\n";
}
$a->{'Done'} = 1;
foreach my $b (@{$a->{'Entries'}})
Canonical Aliases Comments & References
----------------------------------------------------------------
ascii US-ascii [ECMA]
+ ascii-ctrl Special Encoding
iso-8859-1 latin1 [ISO]
+ null Special Encoding
utf8 UTF-8 [RFC2279]
----------------------------------------------------------------
+I<null> and I<ascii-ctrl> are special. "null" fails for all character
+so when you set fallback mode to PERLQQ, HTMLCREF or XMLCREF, ALL
+CHARACTERS will fall back to character references. Ditto for
+"ascii-ctrl" except for control characters. For fallback modes, see
+L<Encode>.
+
=head2 Encode::Unicode -- other Unicode encodings
Unicode coding schemes other than native utf8 are supported by
#
-# $Id: mime-header.t,v 1.4 2002/05/04 16:41:18 dankogai Exp $
+# $Id: mime-header.t,v 1.5 2002/05/23 19:10:10 dankogai Exp $
# This script is written in utf8
#
BEGIN {
--- /dev/null
+#
+# $Id: ctrl.ucm,v 1.1 2002/05/28 18:33:15 dankogai Exp dankogai $
+#
+<code_set_name> "ascii-ctrl"
+<mb_cur_min> 1
+<mb_cur_max> 1
+<subchar> \x3F
+#
+CHARMAP
+<U0000> \x00 |0 # <control>
+<U0001> \x01 |0 # <control>
+<U0002> \x02 |0 # <control>
+<U0003> \x03 |0 # <control>
+<U0004> \x04 |0 # <control>
+<U0005> \x05 |0 # <control>
+<U0006> \x06 |0 # <control>
+<U0007> \x07 |0 # <control>
+<U0008> \x08 |0 # <control>
+<U0009> \x09 |0 # <control>
+<U000A> \x0A |0 # <control>
+<U000B> \x0B |0 # <control>
+<U000C> \x0C |0 # <control>
+<U000D> \x0D |0 # <control>
+<U000E> \x0E |0 # <control>
+<U000F> \x0F |0 # <control>
+<U0010> \x10 |0 # <control>
+<U0011> \x11 |0 # <control>
+<U0012> \x12 |0 # <control>
+<U0013> \x13 |0 # <control>
+<U0014> \x14 |0 # <control>
+<U0015> \x15 |0 # <control>
+<U0016> \x16 |0 # <control>
+<U0017> \x17 |0 # <control>
+<U0018> \x18 |0 # <control>
+<U0019> \x19 |0 # <control>
+<U001A> \x1A |0 # <control>
+<U001B> \x1B |0 # <control>
+<U001C> \x1C |0 # <control>
+<U001D> \x1D |0 # <control>
+<U001E> \x1E |0 # <control>
+<U001F> \x1F |0 # <control>
+END CHARMAP
--- /dev/null
+#
+# $Id: null.ucm,v 1.1 2002/05/28 18:33:15 dankogai Exp dankogai $
+#
+<code_set_name> "null"
+<mb_cur_min> 1
+<mb_cur_max> 1
+<subchar> \x3F
+#
+CHARMAP
+END CHARMAP