[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/tp Texinfo/Convert/Line.pm Texinfo/Conv...
From: |
Patrice Dumas |
Subject: |
texinfo/tp Texinfo/Convert/Line.pm Texinfo/Conv... |
Date: |
Sat, 13 Nov 2010 21:13:17 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: Patrice Dumas <pertusus> 10/11/13 21:13:16
Modified files:
tp/Texinfo/Convert: Line.pm Text.pm Unicode.pm
tp/t : accents.t test_utils.pl
Log message:
Put string_width in Convert::Unicode
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Line.pm?cvsroot=texinfo&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Text.pm?cvsroot=texinfo&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Unicode.pm?cvsroot=texinfo&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/accents.t?cvsroot=texinfo&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/test_utils.pl?cvsroot=texinfo&r1=1.50&r2=1.51
Patches:
Index: Texinfo/Convert/Line.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Line.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- Texinfo/Convert/Line.pm 12 Nov 2010 01:10:43 -0000 1.2
+++ Texinfo/Convert/Line.pm 13 Nov 2010 21:13:16 -0000 1.3
@@ -27,7 +27,6 @@
use strict;
use Unicode::EastAsianWidth;
-use Carp qw(cluck);
# initialize a paragraph object.
sub new($;$)
@@ -39,7 +38,7 @@
if (defined($conf)) {
foreach my $key (keys(%$conf)) {
if ($key eq 'text') {
- $self->{'counter'} = _string_width($conf->{$key});
+ $self->{'counter'} =
Texinfo::Convert::Unicode::string_width($conf->{$key});
$self->{'line_beginning'} = 0 if ($self->{'counter'});
} else {
$self->{$key} = $conf->{$key};
@@ -49,26 +48,6 @@
bless $self, $class;
}
-# string fixed length size takeing into account that east asian characters
-# may take 2 spaces.
-sub _string_width($)
-{
- my $string = shift;
-
- if (! defined($string)) {
- Carp::cluck();
- }
- my $width = 0;
- foreach my $character(split '', $string) {
- if ($character =~ /\p{Unicode::EastAsianWidth::InFullwidth}/) {
- $width += 2;
- } else {
- $width += 1;
- }
- }
- return $width;
-}
-
# for debug
sub dump($)
{
Index: Texinfo/Convert/Text.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Text.pm,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- Texinfo/Convert/Text.pm 13 Nov 2010 19:58:28 -0000 1.19
+++ Texinfo/Convert/Text.pm 13 Nov 2010 21:13:16 -0000 1.20
@@ -24,6 +24,7 @@
# accent commands list.
use Texinfo::Common;
+use Texinfo::Convert::Unicode;
use Data::Dumper;
require Exporter;
Index: Texinfo/Convert/Unicode.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Unicode.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- Texinfo/Convert/Unicode.pm 8 Nov 2010 00:04:37 -0000 1.5
+++ Texinfo/Convert/Unicode.pm 13 Nov 2010 21:13:16 -0000 1.6
@@ -24,7 +24,8 @@
use Encode;
use Unicode::Normalize;
-use Texinfo::Convert::Text;
+use Carp qw(cluck);
+use Unicode::EastAsianWidth;
require Exporter;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
@@ -34,7 +35,7 @@
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
-# This allows declaration use Texinfo::Covert::Text ':all';
+# This allows declaration use Texinfo::Convert::Unicode ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
%EXPORT_TAGS = ( 'all' => [ qw(
@@ -572,4 +573,24 @@
return Unicode::Normalize::NFC($text);
}
+# string length size taking into account that east asian characters
+# may take 2 spaces.
+sub string_width($)
+{
+ my $string = shift;
+
+ if (! defined($string)) {
+ Carp::cluck();
+ }
+ my $width = 0;
+ foreach my $character(split '', $string) {
+ if ($character =~ /\p{Unicode::EastAsianWidth::InFullwidth}/) {
+ $width += 2;
+ } else {
+ $width += 1;
+ }
+ }
+ return $width;
+}
+
1;
Index: t/accents.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/accents.t,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- t/accents.t 8 Nov 2010 00:04:37 -0000 1.3
+++ t/accents.t 13 Nov 2010 21:13:16 -0000 1.4
@@ -3,6 +3,7 @@
use Test::More;
BEGIN { plan tests => 18 };
+use lib '../texi2html/lib/Unicode-EastAsianWidth/lib/';
use Texinfo::Convert::Text;
use Texinfo::Parser;
Index: t/test_utils.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/test_utils.pl,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -b -r1.50 -r1.51
--- t/test_utils.pl 13 Nov 2010 19:58:28 -0000 1.50
+++ t/test_utils.pl 13 Nov 2010 21:13:16 -0000 1.51
@@ -1,11 +1,11 @@
use strict;
use Test::More;
+use lib '../texi2html/lib/Unicode-EastAsianWidth/lib/';
use Texinfo::Parser;
use Texinfo::Convert::Text;
use Texinfo::Convert::Texinfo;
use Texinfo::Structuring;
-use lib '../texi2html/lib/Unicode-EastAsianWidth/lib/';
use Texinfo::Convert::Plaintext;
use File::Basename;
use Data::Dumper;
@@ -35,7 +35,7 @@
our $arg_test_case = shift @ARGV;
my %formats = (
- 'plaintext' => \&convert_to_plaintext,
+# 'plaintext' => \&convert_to_plaintext,
);
#my $remove_parent = sub {my $h = shift; delete $h->{'parent'}};
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- texinfo/tp Texinfo/Convert/Line.pm Texinfo/Conv...,
Patrice Dumas <=