… | |
… | |
20 | B => "b", |
20 | B => "b", |
21 | C => "tt", |
21 | C => "tt", |
22 | L => "i", # broken |
22 | L => "i", # broken |
23 | F => "tt", |
23 | F => "tt", |
24 | S => "nobr", # non-std |
24 | S => "nobr", # non-std |
25 | X => "span", # brokwn |
25 | X => "span", # broken |
26 | Z => "span", # brokwn |
26 | Z => "span", # broken |
27 | ); |
27 | ); |
28 | # strip formatting codes, dumb version |
28 | # strip formatting codes, dumb version |
29 | map { |
29 | map { |
30 | s/([IBCLFSXZ])<< (.*?) >>/<$tag{$1}>$2<\/$tag{$1}>/gs; |
30 | s/([IBCLFSXZ])<< (.*?) >>/<$tag{$1}>$2<\/$tag{$1}>/gs; |
31 | s/([IBCLFSXZ])<(.*?)>/<$tag{$1}>$2<\/$tag{$1}>/gs; |
31 | s/([IBCLFSXZ])<(.*?)>/<$tag{$1}>$2<\/$tag{$1}>/gs; |
… | |
… | |
42 | $table--; |
42 | $table--; |
43 | } else { |
43 | } else { |
44 | shift; |
44 | shift; |
45 | return $self->SUPER::command (@_); |
45 | return $self->SUPER::command (@_); |
46 | } |
46 | } |
47 | } |
47 | } |
48 | |
48 | |
49 | sub verbatim { |
49 | sub verbatim { |
50 | my ($self, $para) = @_; |
50 | my ($self, $para) = @_; |
51 | shift; |
51 | shift; |
52 | |
52 | |
… | |
… | |
65 | print $fh " ", (map +(sprintf "%-15s ", $_), stripfcodes @$_), "\n"; |
65 | print $fh " ", (map +(sprintf "%-15s ", $_), stripfcodes @$_), "\n"; |
66 | } |
66 | } |
67 | |
67 | |
68 | print $fh "\n=end text\n\n"; |
68 | print $fh "\n=end text\n\n"; |
69 | |
69 | |
70 | |
70 | |
71 | # tbl |
71 | # tbl |
72 | print $fh "=begin roff\n\n"; |
72 | print $fh "=begin roff\n\n"; |
73 | |
73 | |
74 | print $fh ".TS\n" . ("l " x $cols) . ".\n"; |
74 | print $fh ".TS\n" . ("l " x $cols) . ".\n"; |
75 | print $fh map +(join "\t", stripfcodes @$_) . "\n", @$table; |
75 | print $fh map +(join "\t", stripfcodes @$_) . "\n", @$table; |