/[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.13 by wakaba, Sun Aug 10 04:16:33 2008 UTC revision 1.15 by wakaba, Sun Aug 10 09:16:36 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 = {};
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 62  $source_text =~ s{(<(?>p(?>re)?|li|d[td] Line 76  $source_text =~ s{(<(?>p(?>re)?|li|d[td]
76          $text =~ s/^\s+//;          $text =~ s/^\s+//;
77          $text =~ s/\s+\z//;          $text =~ s/\s+\z//;
78          $text =~ s/\x0D?\x0A(?:\x0D?\x0A)+/\n/g;          $text =~ s/\x0D?\x0A(?:\x0D?\x0A)+/\n/g;
79          print $tbt_file $text;          unless ($tbt_added->{$text}) {
80          print $tbt_file "\n\n";            print $tbt_file ($text);
81              print $tbt_file ("\n\n");
82              print $part_tbt_file ($text);
83              print $part_tbt_file ("\n\n");
84              $tbt_added->{$text} = 1;
85            }
86        }        }
87    
88        $v;        $v;
# Line 97  $source_text =~ s{\[\[([A-Z ]+):([^]]+)\ Line 116  $source_text =~ s{\[\[([A-Z ]+):([^]]+)\
116    
117  {  {
118    my $time = time;    my $time = time;
119      my @item = ($time, $status->{ja}, $status->{all});
120      for my $part (qw(cover introduction infrastructure dom semantics browsers
121                       editing comms syntax rendering no)) {
122        push @item, $all_status->{$part}->{ja};
123        push @item, $all_status->{$part}->{all};
124      }
125    
126    open my $status_file, '>>', $status_file_name    open my $status_file, '>>', $status_file_name
127        or die "$0: $status_file_name: $!";        or die "$0: $status_file_name: $!";
128    print $status_file "$time\t$status->{ja}\t$status->{all}\n";    print $status_file join "\t", @item;
129      print $status_file "\n";
130      close $status_file;
131  }  }

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.15

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24