/[suikacvs]/markup/html/html5/spec-ja/make.pl
Suika

Diff of /markup/html/html5/spec-ja/make.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.14 by wakaba, Sun Aug 10 06:15:00 2008 UTC revision 1.18 by wakaba, Wed Aug 13 15:12:03 2008 UTC
# Line 6  BEGIN { require 'common.pl' } Line 6  BEGIN { require 'common.pl' }
6  my $source_file_name = shift;  my $source_file_name = shift;
7  my $result_file_name = shift;  my $result_file_name = shift;
8  my $status_file_name = shift;  my $status_file_name = shift;
9  my $tbt_file_name = shift;  my $tbt_file_name_stem = shift;
10    
11  my %data;  my %data;
12  my %pattern;  my %pattern;
# Line 26  my $source_text; Line 26  my $source_text;
26    $source_text = <$source_file>;    $source_text = <$source_file>;
27  }  }
28    
29  open my $tbt_file, '>:utf8', $tbt_file_name or die "$0: $tbt_file_name: $!";  my $part = 'cover';
   
30  my $status = {};  my $status = {};
31    my $all_status = {};
32  my $tbt_added = {};  my $tbt_added = {};
33    
34    open my $tbt_file, '>:utf8', $tbt_file_name_stem . '.dat' or
35        die "$0: $tbt_file_name_stem.dat: $!";
36    open my $part_tbt_file, '>:utf8', $tbt_file_name_stem . '-' . $part . '.dat' or
37        die "$0: $tbt_file_name_stem-$part.dat: $!";
38    
39  warn "Generating...\n";  warn "Generating...\n";
40  $source_text =~ s{(<(?>p(?>re)?|li|d[td]|t[dh]|h[1-6])(?>\s[^>]*)?>)((?>(?!</?(?>p(?>re)?|li|d(?>[tdl]|iv)|t(?>[dr]|h(?>ead)?|able|body|foot)|h[1-6r]|ul|ol)(?>\s[^>]*)?>).)+)}  $source_text =~ s{(<(?>p(?>re)?|li|d[td]|t[dh]|h[1-6])(?>\s[^>]*)?>)((?>(?!</?(?>p(?>re)?|li|d(?>[tdl]|iv)|t(?>[dr]|h(?>ead)?|able|body|foot)|h[1-6r]|ul|ol)(?>\s[^>]*)?>).)+)}
41  {  {
42    my ($tag, $text) = ($1, $2);    my ($tag, $text) = ($1, $2);
43    my $n_text = normalize ($text);    my $n_text = normalize ($text);
44    
45      if ($tag =~ /^<h2 id=(\w+)/) {
46        $part = $1;
47        open $part_tbt_file, '>:utf8', $tbt_file_name_stem . '-' . $part . '.dat' or
48            die "$0: $tbt_file_name_stem-$part.dat: $!";
49      }
50        
51    if (length $n_text) {    if (length $n_text) {
52      my $ja_text = $data{$n_text};      my $ja_text = $data{$n_text};
53            
54      $status->{all}++;      $status->{all}++;
55        $all_status->{$part}->{all}++;
56            
57      if (defined $ja_text) {      if (defined $ja_text) {
58        $status->{ja}++;        $status->{ja}++;
59          $all_status->{$part}->{ja}++;
60        $tag . q[<span class=ja-translation lang=ja>] . $ja_text . q[</span>];        $tag . q[<span class=ja-translation lang=ja>] . $ja_text . q[</span>];
61      } else {      } else {
62        my $v = $tag . $text;        my $v = $tag . $text;
# Line 51  $source_text =~ s{(<(?>p(?>re)?|li|d[td] Line 64  $source_text =~ s{(<(?>p(?>re)?|li|d[td]
64        for my $pattern (@pattern) {        for my $pattern (@pattern) {
65          if ($n_text =~ /^$pattern$/) {          if ($n_text =~ /^$pattern$/) {
66            $status->{ja}++;            $status->{ja}++;
67              $all_status->{$part}->{ja}++;
68            $v = $tag . q[<span class=ja-translation lang=ja>] .            $v = $tag . q[<span class=ja-translation lang=ja>] .
69                replace_pattern2 ($pattern{$pattern}, $1, $2, $3, $4, $5) .                replace_pattern2 ($pattern{$pattern}, $1, $2, $3, $4, $5) .
70                q[</span>];                q[</span>];
# Line 64  $source_text =~ s{(<(?>p(?>re)?|li|d[td] Line 78  $source_text =~ s{(<(?>p(?>re)?|li|d[td]
78          $text =~ s/\s+\z//;          $text =~ s/\s+\z//;
79          $text =~ s/\x0D?\x0A(?:\x0D?\x0A)+/\n/g;          $text =~ s/\x0D?\x0A(?:\x0D?\x0A)+/\n/g;
80          unless ($tbt_added->{$text}) {          unless ($tbt_added->{$text}) {
81            print $tbt_file $text;            print $tbt_file ($text);
82            print $tbt_file "\n\n";            print $tbt_file ("\n\n");
83              print $part_tbt_file ($text);
84              print $part_tbt_file ("\n\n");
85            $tbt_added->{$text} = 1;            $tbt_added->{$text} = 1;
86          }          }
87        }        }
# Line 101  $source_text =~ s{\[\[([A-Z ]+):([^]]+)\ Line 117  $source_text =~ s{\[\[([A-Z ]+):([^]]+)\
117    
118  {  {
119    my $time = time;    my $time = time;
120      my @item = ($time, $status->{ja}, $status->{all});
121      for my $part (qw(cover introduction infrastructure dom semantics browsers
122                       editing comms syntax rendering no)) {
123        push @item, $all_status->{$part}->{ja};
124        push @item, $all_status->{$part}->{all};
125      }
126    
127    open my $status_file, '>>', $status_file_name    open my $status_file, '>>', $status_file_name
128        or die "$0: $status_file_name: $!";        or die "$0: $status_file_name: $!";
129    print $status_file "$time\t$status->{ja}\t$status->{all}\n";    print $status_file join "\t", @item;
130      print $status_file "\n";
131      close $status_file;
132  }  }

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.18

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24