mhonarc-commits
[Top] [All Lists]

CVS: mhonarc/MHonArc/lib/MHonArc Char.pm,1.2,1.3 CharEnt.pm,1.12,1.13

2002-12-26 14:57:19
Update of /cvsroot/mhonarc/mhonarc/MHonArc/lib/MHonArc
In directory subversions:/tmp/cvs-serv9861/lib/MHonArc

Modified Files:
	Char.pm CharEnt.pm 
Log Message:
* Added ShiftJIS support.


Index: Char.pm
===================================================================
RCS file: /cvsroot/mhonarc/mhonarc/MHonArc/lib/MHonArc/Char.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** Char.pm	20 Dec 2002 08:01:11 -0000	1.2
--- Char.pm	26 Dec 2002 21:57:04 -0000	1.3
***************
*** 64,67 ****
--- 64,72 ----
  	return $$data_r;
      }
+     if ($charset eq 'cp932') {
+ 	# Japanese ShiftJIS
+ 	_shiftjis_conv($data_r, \(_at_)maps);
+ 	return $$data_r;
+     }
      if ($charset eq 'cp949') {
  	# Korean
***************
*** 106,109 ****
--- 111,133 ----
  	 [\xA1-\xFE][\xA1-\xFE]|
  	 \x8F[\xA2-\xFE][\xA1-\xFE])
+     }{
+ 	foreach $map (@$maps) {
+ 	    $char = $map->{$1};
+ 	    last  if defined($char);
+ 	}
+ 	$char = (length($1) > 1 ? '?' : $1)  unless defined($char);
+ 	$char;
+     }gxe;
+ }
+ 
+ sub _shiftjis_conv {
+     my $data_r  = shift;
+     my $maps	= shift;
+     my($map, $char);
+ 
+     $$data_r =~ s{
+ 	([\x00-\x7E]|
+ 	 [\xA1-\xDF]|
+ 	 [\x81-\x9F\xE0-\xEF][\x40-\x7E\x80-\xFC])
      }{
  	foreach $map (@$maps) {

Index: CharEnt.pm
===================================================================
RCS file: /cvsroot/mhonarc/mhonarc/MHonArc/lib/MHonArc/CharEnt.pm,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** CharEnt.pm	18 Dec 2002 05:38:43 -0000	1.12
--- CharEnt.pm	26 Dec 2002 21:57:04 -0000	1.13
***************
*** 60,64 ****
      'cp866'	     =>	'MHonArc/CharEnt/CP866.pm',
      'cp949'	     =>	'MHonArc/CharEnt/CP949.pm', # euc-kr
!     'cp936'	     =>	'MHonArc/CharEnt/CP950.pm', # GBK
      'cp950'	     =>	'MHonArc/CharEnt/CP950.pm',
      'cp1250'	     =>	'MHonArc/CharEnt/CP1250.pm',
--- 60,65 ----
      'cp866'	     =>	'MHonArc/CharEnt/CP866.pm',
      'cp949'	     =>	'MHonArc/CharEnt/CP949.pm', # euc-kr
!     'cp932'	     =>	'MHonArc/CharEnt/CP932.pm', # shiftjis
!     'cp936'	     =>	'MHonArc/CharEnt/CP936.pm', # GBK
      'cp950'	     =>	'MHonArc/CharEnt/CP950.pm',
      'cp1250'	     =>	'MHonArc/CharEnt/CP1250.pm',

---------------------------------------------------------------------
To sign-off this list, send email to majordomo(_at_)mhonarc(_dot_)org with the
message text UNSUBSCRIBE MHONARC-DEV