File Coverage

blib/lib/FrameMaker/FromHTML.pm
Criterion Covered Total %
statement 6 459 1.3
branch 0 180 0.0
condition 0 18 0.0
subroutine 2 11 18.1
pod 6 9 66.6
total 14 677 2.0


line stmt bran cond sub pod time code
1             ###########################################################################
2             # MODULE FrameMaker::FromHTML
3             # VERSION 0.03
4             # DATE 16 May 2003
5             # AUTHOR Peter G. Martin
6             # EMAIL peterm@zeta.org.au
7             # COMPANY The Scribe & Chutney Trust
8             # COPYRIGHT NOTICE (Copyright) The Scribe & Chutney Trust, 2003
9             # PURPOSE Converts HTML file to FrameMaker MIF format
10            
11             =head1 NAME
12            
13             FrameMaker::FromHTML - class to convert HTML file to FrameMaker MIF
14            
15             =head1 AUTHOR
16            
17             Peter G. Martin
18             The Scribe & Chutney Trust
19            
20             =head1 VERSION
21            
22             Version 0.03
23             16 May 2003 1715 AEST
24            
25             =head1 SYNOPSIS
26            
27             use base 'FrameMaker::FromHTML';
28            
29             use strict;
30            
31             my ($infile, $outfile);
32            
33             $infile = shift;
34            
35             ($outfile = $infile) =~ s/\.htm[l]*$/\.mif/;
36            
37             # Insert routine to validate HTML -- eg, use HTML-Tidy
38            
39             # VERY important -- this script is fragile at any time
40            
41             # but worse with bad HTML
42            
43             my $p = FrameMaker::FromHTML->new($outfile) ;
44            
45             $p->parse_file("$tempfile") or die "Parsing failed on $tempfile: $!\n";
46            
47             =head1 DESCRIPTION
48            
49             Use to convert properly formed HTML into FrameMaker MIF.
50             Likely to be found buggy, particularly with funny HTML.
51             Errors in MIF are usually flagged in FrameMaker console
52             when FrameMaker is used to open the file.
53            
54             See example file htmltofm.pl, which may be all you'll
55             need to get it working on some files. In which case,
56             you'll need to have HTML-Tidy installed to clean up
57             your HTML.
58            
59             =head1 BUGS
60            
61             Galore. Particularly if expected HTML elements are missing.
62            
63            
64            
65             =cut
66            
67             package FrameMaker::FromHTML;
68 1     1   25038 use Image::Size;
  1         5146  
  1         59  
69 1     1   6 use vars qw($imgw $imgh @ISA $VERSION);
  1         1  
  1         15710  
70             our $VERSION = 0.03;
71             @ISA=qw(HTML::Parser);
72             require HTML::Parser;
73             sub new
74             {
75 0     0 1   my ($this, $outfile) = @_;
76 0   0       my $class = ref($this) || $this;
77 0           my $self = $this->SUPER::new();
78 0           $self->{htmldata} = setup($outfile);
79 0           return bless($self,$class);
80             }
81            
82             sub start
83             {
84 0     0 1   my($self, $tag, $attr, $attrseq, $origtext) = @_;
85 0           my($ptag, $imgunit, $imgfile, $imgtype, $imgentry);
86 0           my ($maxwidth, $maxheight, $picwidth, $picheight, $curpar, $utag);
87 0           my($rowspan, $colspan, $emptycell);
88            
89             # REMINDER: $attr is reference to a HASH, $attrseq is reference to an ARRAY
90             # for the present, we'll just ignore the (lone-tag)
and variant
91 0 0         return if($tag =~ /^hr[\/]*$/);
92             # now set up to ignore these tags AND any text content they embrace
93             # ignore is signal to the text sub
94 0 0         if ($tag =~ /^((area)|(base)|(button)|(title)|(div)|(style)|(head)|(meta)|(body)|(span)|(link)|(dl))$/)
95             {
96 0           $self->{htmldata}->{"ignore"}=1;
97 0           return;
98             }
99             else
100             {
101 0           $self->{htmldata}->{"ignore"}=0;
102             }
103             # Coping with end of non-tagged text. Here, it has been started off
104             # but needs to be finished because we've arrived at the start of new, tagged text
105 0 0         if (!$self->{htmldata}->{"betweentags"})
106             {
107 0           $self->{htmldata}->{"textflow"} .= $self->{htmldata}->{"thisparstart"}.$self->{htmldata}->{"thispar"};
108 0           $self->{htmldata}->{"textflow"} .= $self->{htmldata}->{"thisparend"};
109 0           $self->{htmldata}->{"thisparstart"}=$self->{htmldata}->{"thispar"}= $self->{htmldata}->{"thisparend"}="";
110             }
111 0 0         if($tag =~ /^html$/o) # start
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
112             {
113             # initialisations may be needed at start of file ?
114             # here's one -- in case we change Text flow stuff later
115 0           $self->{htmldata}->{"textflow"} = $self->{htmldata}->{"textflowtop"};
116             }
117             elsif ($tag =~ /^((p)|(h\d+)|(address)|(pre)|(blockquote)|(li)|(dt)|(dd)|(abbr)|(acronym))$/o)
118             {
119             # miscellaneous known tags
120             # no special formatting for two tag types
121 0 0         $tag = "p" if($tag =~ /((abbr)|(acronym))/);
122             # get the paragraph start format -- it differs for lists
123 0 0         if ($tag =~ /^li$/)
124             {
125             # should have list type
126 0           $curtag = pop(@{$self->{htmldata}->{"inlist"}});
  0            
127 0 0         if ($curtag eq "ol")
128             {
129 0 0         if ($self->{htmldata}->{"numfirst"})
130             {
131 0           $ptag = "OL-LI1";
132 0           $self->{htmldata}->{"numfirst"}=0;
133             }
134             else
135             {
136 0           $ptag = "OL-LI";
137             }
138             }
139             else
140             {
141 0 0         $ptag = "UL-LI" if($curtag eq "ul");
142             }
143 0           push( @{$self->{htmldata}->{"inlist"}},$curtag);
  0            
144             }
145             else
146             {
147 0           $ptag = $tag;
148             }
149             # MIF tags are capitalised in template components
150 0           $ptag =~ tr/a-z/A-Z/;
151 0           $self->{htmldata}->{"thisparstart"} = $self->{htmldata}->{"parastart"} . $self->{htmldata}->{"paraline"}. $self->{htmldata}->{"flowrect"};
152             # insert the style tag
153 0           $self->{htmldata}->{"thisparstart"} =~ s/TAG/$ptag/;
154 0           $self->{htmldata}->{"thisparend"} = $self->{htmldata}->{"paralineend"}.$self->{htmldata}->{"paraend"};
155 0           $self->{htmldata}->{"betweentags"}= 1;
156             }
157             elsif ($tag =~ /^((ol)|(ul))$/)
158             {
159             # just save list type and flag start if numeric for numbering (re-)initialisation)
160 0           push(@{$self->{htmldata}->{"inlist"}},$tag);
  0            
161 0 0         $self->{htmldata}->{"numfirst"}=1 if($tag eq "ol");
162             }
163             elsif ($tag =~ /^img$/o) # start and end
164             {
165             # get the anchored frame format
166 0           $imgunit = $self->{htmldata}->{"imgunit"};
167             # counter for frame instances
168 0           $self->{htmldata}->{"imgcount"}++;
169             # no end tag, so complete par here
170 0 0         unless ($self->{htmldata}->{"intable"})
171             {
172 0           $self->{htmldata}->{"thisparstart"} = $self->{htmldata}->{"parastart"};
173 0           $self->{htmldata}->{"thisparstart"} =~ s/TAG/P/;
174             }
175             # insert instance reference in text format
176 0           $self->{htmldata}->{"thisparstart"} .= $self->{htmldata}->{"paraline"} . " \{htmldata}->{"imgcount"}."\>\n";
177             # put it in place in the text flow of the document or the table
178 0 0         $self->{htmldata}->{"textflow"} .= $self->{htmldata}->{"thisparstart"}.$self->{htmldata}->{"paralineend"}.$self->{htmldata}->{"paraend"} if($self->{htmldata}->{"inflow"});
179 0 0         $self->{htmldata}->{"thiscell"} .= $self->{htmldata}->{"thisparstart"}.$self->{htmldata}->{"paralineend"} if($self->{htmldata}->{"intable"});
180 0           $self->{htmldata}->{"thisparstart"}="";
181             # get details for image file, and proportion it to the
182             # standard 12.6 cm x 8.8 cm anchored frame
183 0 0         if ($$attr{src}) # insert file reference in AFrame
184             {
185             # set file name, type details in frame format
186 0           $imgfile = $$attr{src};
187 0           $imgtype = uc($imgfile);
188 0           $imgtype =~ s/([\w+\.]+)\.(\w+)$/$2/;
189 0           $imgentry = $self->{htmldata}->{"imgunit"};
190 0           $imgentry =~ s/martin\.gif/$imgfile/g;
191 0           $imgentry =~ s/(updater)\s+\`GIF\'/$1 \`$imgtype\'/i;
192 0           $imgentry =~ s/\/\{htmldata}->{"imgcount"}\>/;
193             # set picture dimensions within frame
194 0           $maxwidth = 12.6;
195 0           $maxheight = 8.8;
196             # if max width implies excessive height,
197             # set proportion according to maximum height
198             # get picture size details via Image::Size
199 0           ($imgw, $imgh) = imgsize($imgfile);
200 0 0 0       if (($imgw ) && ($imgh))
201             {
202 0 0         if ($imgw >= $imgh)
203             {
204 0           $picwidth = $maxwidth;
205 0           $picheight = $imgh/$imgw*$maxwidth;
206             }
207             else
208             {
209 0           $picheight = $maxheight;
210 0           $picwidth = $imgw/$imgh*$maxheight;
211             }
212             }
213             else
214             {
215 0           warn "No picture details for $imgfile ?\n";
216 0           $picwidth = $maxwidth;
217 0           $picheight = $maxheight;
218             }
219 0           $imgentry =~ s/XXX cm/$picwidth cm/g;
220 0           $imgentry =~ s/YYY cm/$picheight cm/g;
221 0           $self->{htmldata}->{"aframe_instances"} =~ s/(\> # end of AFrames)/$imgentry$1/;
222             }
223             }
224             elsif($tag =~ /^a$/o) # start
225             {
226             # just flag our state
227 0 0         if(exists $$attr{"name"}) # label name
    0          
228             {
229 0           $self->{htmldata}->{"inmark"}=1;
230             }
231             elsif(exists $$attr{"href"}) # HREF
232             {
233 0           $self->{htmldata}->{"inhref"}=1;
234             }
235             }
236             elsif ($tag =~ /^br[\/]*$/)
237             {
238 0 0         if ($self->{htmldata}->{"inflow"})
    0          
239             {
240 0 0         $self->{htmldata}->{"thispar"} .= $self->{htmldata}->{"paralineend"} if(!($self->balanced("\\
241 0 0         $self->{htmldata}->{"thispar"} .= $self->{htmldata}->{"paraend"} if(!($self->balanced("\\
242 0           $self->{htmldata}->{"textflow"} .= $self->{htmldata}->{"thisparstart"}.$self->{htmldata}->{"thispar"};
243             # br in a list signals new indented par with no numbering
244 0 0         if(@{$self->{htmldata}->{"inlist"}})
  0            
245             {
246 0           $ptag = "LI-BR" ;
247 0           $curtag = $self->{htmldata}->{"parastart"};
248 0           $curtag =~ s/PgfTag\s+\`TAG/PgfTag \`$ptag/;
249 0           $self->{htmldata}->{"thispar"} .= $curtag . $self->{htmldata}->{"paraline"}. $self->{htmldata}->{"flowrect"};
250             }
251             # otherwise, we continue previous para style, preserving thisparstart
252             else
253             {
254 0           $self->{htmldata}->{"thispar"} = "";
255             }
256             }
257             elsif ($self->{htmldata}->{"intable"})
258             {
259 0 0         $self->{htmldata}->{"thiscell"} .= " ". $self->{htmldata}->{"paraline"} if($self->balanced("\\
260 0 0         $self->{htmldata}->{"thiscell"} .= " ". $self->{htmldata}->{"paralineend"} if(!($self->balanced("\\
261 0 0         unless ($self->balanced("\\
262             {
263 0           $self->{htmldata}->{"thiscell"} .= " ". $self->{htmldata}->{"paraend"};
264 0           $self->{htmldata}->{"thiscell"} .= " ".$self->{htmldata}->{"parastart"} ;
265 0 0         $self->{htmldata}->{"thiscell"} =~ s/\{htmldata}->{"intblhd"});
266 0 0         $self->{htmldata}->{"thiscell"} =~ s/\{htmldata}->{"intblbody"});
267             }
268             else
269             {
270 0           $self->{htmldata}->{"thiscell"} .= " ".$self->{htmldata}->{"parastart"} ;
271 0 0         $self->{htmldata}->{"thiscell"} =~ s/\{htmldata}->{"intblhd"});
272 0 0         $self->{htmldata}->{"thiscell"} =~ s/\{htmldata}->{"intblbody"});
273 0           $self->{htmldata}->{"thiscell"} .= " ". $self->{htmldata}->{"paraline"};
274 0           $self->{htmldata}->{"thiscell"} .= " ".$self->{htmldata}->{"paralineend"};
275 0           $self->{htmldata}->{"thiscell"} .= " ".$self->{htmldata}->{"paraend"};
276 0           $self->{htmldata}->{"thiscell"} .= " ".$self->{htmldata}->{"parastart"} ;
277 0 0         $self->{htmldata}->{"thiscell"} =~ s/\{htmldata}->{"intblhd"});
278 0 0         $self->{htmldata}->{"thiscell"} =~ s/\{htmldata}->{"intblbody"});
279             }
280             }
281             }
282             elsif($tag =~ /^table$/o) # start
283             {
284 0           $self->{htmldata}->{"intable"}=1;
285 0           $self->{htmldata}->{"inflow"}=0;
286 0           $self->{htmldata}->{"thisformat"} = $self->{htmldata}->{"tblstart"}; # Tbl, TblID
287 0           $self->{htmldata}->{"thisformat"} =~ s/TblID\s+1/TblID $self->{htmldata}->{"tblcount"}/;
288 0           $self->{htmldata}->{"tblcount"}++;
289 0 0 0       $self->{htmldata}->{"thisformat"} .= (($$attr{border}) && ($$attr{border} ne "0")) ?
290             $self->{htmldata}->{"tblnormbords"}: $self->{htmldata}->{"tblnobords"};
291 0           $self->{htmldata}->{"maxtblcols"}= $self->{htmldata}->{"maxcols"}= $self->{htmldata}->{"rowcount"}= $self->{htmldata}->{"colcount"}=0;
292 0           $self->{htmldata}->{"intblhd"} = $self->{htmldata}->{"intblbody"}= 0;
293 0           $self->{htmldata}->{"betweentags"}= 1;
294             }
295             elsif($tag =~ /^th$/o) # start
296             {
297 0 0         if (!$self->{htmldata}->{"intblhd"})
298             {
299 0 0         if ($self->{htmldata}->{"thistable"} =~ /\
300             {
301 0           $self->{htmldata}->{"thistable"} =~ s/\s*\{htmldata}->{"theadstart"}/;
302             }
303             else
304             {
305 0           $self->{htmldata}->{"thistable"} .= $self->{htmldata}->{"theadstart"};
306             }
307 0           $self->{htmldata}->{"intblhd"}=1;
308             }
309 0           $self->{htmldata}->{"colcount"}++;
310 0 0         if (defined $self->{htmldata}->{"tblmatrix"}[$self->{htmldata}->{"rowcount"}]->[$self->{htmldata}->{"colcount"}])
311             {
312 0           $emptycell = $self->{htmldata}->{"tdstart"}." ".$self->{htmldata}->{"parastart"};
313 0           $emptycell =~ s/\
314 0           $emptycell .= " ".$self->{htmldata}->{"paraline"}.$self->{htmldata}->{"paralineend"};
315 0           $emptycell .= " ".$self->{htmldata}->{"paraend"}.$self->{htmldata}->{"tdend"};
316             do
317 0           {
318 0           $self->{htmldata}->{"thiscell"} = $emptycell;
319 0           $self->{htmldata}->{"thisrow"} .= $self->{htmldata}->{"thiscell"};
320 0           $self->{htmldata}->{"thiscell"} = "";
321 0           $self->{htmldata}->{"maxcols"}++;
322 0           $self->{htmldata}->{"colcount"}++;
323             } while (defined $self->{htmldata}->{"tblmatrix"}[$self->{htmldata}->{"rowcount"}]->[$self->{htmldata}->{"colcount"}]);
324             }
325 0           $self->{htmldata}->{"thiscell"} = $self->{htmldata}->{"tdstart"} . " ".$self->{htmldata}->{"parastart"};
326 0           $self->{htmldata}->{"thiscell"} =~ s/\
327 0           $self->{htmldata}->{"betweentags"}= 1;
328 0 0         if ($$attr{"rowspan"})
329             {
330             # save rowspan count
331 0           $rowspan = $$attr{"rowspan"} ;
332 0           $self->{htmldata}->{"thiscell"} =~ s/(\/;
333 0           foreach (($self->{htmldata}->{"rowcount"}+1) .. ($self->{htmldata}->{"rowcount"}+$rowspan-1))
334             {
335 0           $self->{htmldata}->{"tblmatrix"}[$_]->[$self->{htmldata}->{"colcount"}]++;
336             }
337             }
338 0 0         if ($$attr{"colspan"})
339             {
340             # save colspan count
341 0           $colspan = $$attr{"colspan"};
342 0           $self->{htmldata}->{"thiscell"} =~ s/(\/;
343 0           foreach ( ($self->{htmldata}->{"colcount"}+1) .. ($self->{htmldata}->{"colcount"}+$colspan-1))
344             {
345 0           $self->{htmldata}->{"tblmatrix"}[$self->{htmldata}->{"rowcount"}]->[$_]++;
346             }
347             }
348             }
349             elsif ($tag =~ /^thead$/o) # start
350             {
351 0 0         $self->{htmldata}->{"thistable"} .= $self->{htmldata}->{"theadstart"} unless $self->{htmldata}->{"intblhd"};
352 0           $self->{htmldata}->{"intblhd"}=1;
353 0           $self->{htmldata}->{"intblbody"}=0;
354 0           $self->{htmldata}->{"betweentags"}= 1;
355             }
356             elsif($tag =~ /^tr$/o) # start
357             {
358 0           $self->{htmldata}->{"thisrow"} = $self->{htmldata}->{"trstart"};
359 0           $self->{htmldata}->{"maxcols"} = $self->{htmldata}->{"colcount"} = 0;
360 0           $self->{htmldata}->{"rowcount"}++;
361 0           $self->{htmldata}->{"betweentags"}= 1;
362             }
363             elsif ($tag =~ /^tbody$/o )
364             {
365 0           $self->{htmldata}->{"intblhd"}=0;
366 0           $self->{htmldata}->{"intblbody"}=1;
367 0           $self->{htmldata}->{"thistable"} .= $self->{htmldata}->{"tbodystart"};
368 0           $self->{htmldata}->{"betweentags"}= 1;
369             }
370             elsif($tag =~ /^td$/o) # start
371             {
372 0           $self->{htmldata}->{"intblbody"}=1;
373 0 0         if ($self->{htmldata}->{"intblhd"})
374             {
375 0           $self->{htmldata}->{"thistable"} .= $self->{htmldata}->{"theadend"}. $self->{htmldata}->{"tbodystart"};
376 0           $self->{htmldata}->{"intblhd"}=0;
377             }
378             else
379             {
380 0 0         $self->{htmldata}->{"thistable"} .= $self->{htmldata}->{"tbodystart"} unless ($self->{htmldata}->{"thistable"}=~ /\
381             }
382 0           $self->{htmldata}->{"colcount"}++;
383 0 0         if (defined $self->{htmldata}->{"tblmatrix"}[$self->{htmldata}->{"rowcount"}]->[$self->{htmldata}->{"colcount"}])
384             {
385 0           $emptycell = $self->{htmldata}->{"tdstart"}." ".$self->{htmldata}->{"parastart"};
386 0           $emptycell =~ s/\
387 0           $emptycell .= " ".$self->{htmldata}->{"paraline"}.$self->{htmldata}->{"paralineend"};
388 0           $emptycell .= " ".$self->{htmldata}->{"paraend"}.$self->{htmldata}->{"tdend"};
389             do
390 0           {
391 0           $self->{htmldata}->{"thiscell"} = $emptycell;
392 0           $self->{htmldata}->{"thisrow"} .= $self->{htmldata}->{"thiscell"};
393 0           $self->{htmldata}->{"thiscell"} = "";
394 0           $self->{htmldata}->{"maxcols"}++;
395 0           $self->{htmldata}->{"colcount"}++;
396             } while (defined $self->{htmldata}->{"tblmatrix"}[$self->{htmldata}->{"rowcount"}]->[$self->{htmldata}->{"colcount"}]);
397             }
398 0           $self->{htmldata}->{"thiscell"} = $self->{htmldata}->{"tdstart"}." ".$self->{htmldata}->{"parastart"};
399 0           $self->{htmldata}->{"thiscell"} =~ s/\
400 0           $self->{htmldata}->{"betweentags"}= 1;
401 0 0         if ($$attr{"rowspan"})
    0          
402             {
403 0           $rowspan = $$attr{"rowspan"} ;
404 0           $self->{htmldata}->{"thiscell"} =~ s/(\/;
405 0           foreach (($self->{htmldata}->{"rowcount"}+1) .. ($self->{htmldata}->{"rowcount"}+$rowspan-1))
406             {
407 0           $self->{htmldata}->{"tblmatrix"}[$_]->[$self->{htmldata}->{"colcount"}]++;
408             }
409             }
410             elsif ($$attr{"colspan"})
411             {
412 0           $colspan = $$attr{"colspan"};
413 0           $self->{htmldata}->{"thiscell"} =~ s/(\/;
414 0           foreach ( ($self->{htmldata}->{"colcount"}+1) .. ($self->{htmldata}->{"colcount"}+$colspan-1))
415             {
416 0           $self->{htmldata}->{"tblmatrix"}[$self->{htmldata}->{"rowcount"}]->[$_]++;
417             }
418             }
419             }
420             elsif ($tag =~ /^((b)|(i)|(sub)|(sup)|(strong)|(em)|(samp)|(kbd)|(var)|(cite)|(dfn)|(code)|(tt))$/)
421             {
422 0           $curpar = $self->{htmldata}->{"fontstart"}; # start various char fonts
423 0           $utag = uc $tag;
424 0           $curpar =~ s/FTAG/$utag/;
425 0 0         $self->{htmldata}->{"thispar"} .= $curpar if($self->{htmldata}->{"inflow"});
426 0 0         $self->{htmldata}->{"thiscell"} .= $curpar if($self->{htmldata}->{"intable"});
427             }
428             else
429             {
430             # for the present, all unknowns become "P"s
431             # get the paragraph start format
432 0           $self->{htmldata}->{"thisparstart"} = $self->{htmldata}->{"parastart"} . $self->{htmldata}->{"paraline"} . $self->{htmldata}->{"flowrect"};
433             # insert the P style tag (styles have caps)
434 0           $self->{htmldata}->{"thisparstart"} =~ s/TAG/P/;
435 0           $tag = "P";
436 0           $self->{htmldata}->{"thisparend"} = $self->{htmldata}->{paralineend}.$self->{htmldata}->{paraend};
437 0           $self->{htmldata}->{"betweentags"}= 1;
438             }
439 0           $self->{htmldata}->{"lasttag"}=$tag;
440             }
441            
442             sub end
443             {
444 0     0 1   my($self, $tag, $origtext) = @_;
445 0           my($tblpar, $newcol, $tblcolwidth, $tcount);
446 0 0         if ($tag =~ /^((area)|(base)|(button)|(title)|(div)|(style)|(head)|(meta)|(body)|(span)|(link)|(dl))$/)
447             {
448 0           $self->{htmldata}->{"ignore"}=0;
449 0           return;
450             }
451 0 0         if($tag =~ /html/i) # end
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
452             {
453 0           $self->{htmldata}->{"table_instances"} .= " \> # end of Tbls\n";
454 0           $self->{htmldata}->{"parastart"} =~ s/TAG/P/;
455 0           $self->{htmldata}->{"textflow"} .= $self->{htmldata}->{"parastart"}.$self->{htmldata}->{"paraline"}.$self->{htmldata}->{"flowrect"};
456 0           $self->{htmldata}->{"textflow"} .= $self->{htmldata}->{"paralineend"}. $self->{htmldata}->{"paraend"};
457             #end of file processing
458 0 0         open(OFILE, ">$self->{htmldata}->{outfile}") or die "Outfile: $self->{htmldata}->{outfile} not opened:$!\n";
459 0           print OFILE $self->{htmldata}->{"filetop"};
460 0           print OFILE $self->{htmldata}->{"aframe_instances"};
461 0           print OFILE $self->{htmldata}->{"table_instances"};
462 0           print OFILE $self->{htmldata}->{"masterpages"};
463 0           print OFILE $self->{htmldata}->{"textflow"};
464 0           print OFILE $self->{htmldata}->{"endofall"};
465 0           close OFILE;
466             }
467             elsif ($tag =~ /^((p)|(h\d+)|(address)|(pre)|(blockquote)|(li)|(dd)|(dt)|(abbr)|(acronym))$/o) # ends
468             {
469 0 0         $self->{htmldata}->{"textflow"} .= $self->{htmldata}->{"thisparstart"}.$self->{htmldata}->{"thispar"}.$self->{htmldata}->{"thisparend"} if($self->{htmldata}->{"inflow"});
470 0           $self->{htmldata}->{"thisparstart"} = $self->{htmldata}->{"thispar"} = $self->{htmldata}->{"thisparend"} = "";
471 0           $self->{htmldata}->{"betweentags"} = 0;
472             }
473             elsif ($tag =~ /^((ol)|(ul))$/)
474             {
475 0           pop(@{$self->{htmldata}->{"inlist"}});
  0            
476 0           $self->{htmldata}->{"betweentags"} = 0;
477             }
478             elsif ($tag =~ /^a$/)
479             {
480 0 0         $self->{htmldata}->{"inmark"}=0 if($self->{htmldata}->{"inmark"}); # problems if these nested ?
481 0 0         $self->{htmldata}->{"inhref"}=0 if($self->{htmldata}->{"inhref"});
482             }
483             elsif($tag =~ /^table$/o) # end
484             {
485 0           $self->{htmldata}->{"thistable"} .= $self->{htmldata}->{"tblend"}; # EO TblBody, Tbl
486 0           foreach (0 .. ($self->{htmldata}->{"maxtblcols"}-1) )
487             {
488 0           $newcol = $self->{htmldata}->{"tblcolblank"};
489 0           $newcol =~ s/TblColumnNum 0\>/TblColumnNum $_\>/;
490 0           $self->{htmldata}->{"thisformat"} .= $newcol;
491             }
492 0 0         $tblcolwidth = $self->{htmldata}->{'maxtblcols'} ? $self->{htmldata}->{"txtarea"}/$self->{htmldata}->{"maxtblcols"} : 0;
493 0           $self->{htmldata}->{"thisformat"} .= $self->{htmldata}->{"tblformend"};
494 0           $self->{htmldata}->{"thisformat"} .= " \{htmldata}->{"maxtblcols"}."\>\n";
495 0           foreach (1 .. $self->{htmldata}->{"maxtblcols"})
496             {
497 0           $newcol = $self->{htmldata}->{"colwidth"};
498 0           $newcol =~ s/XXwidthXX cm/$tblcolwidth cm/;
499 0           $self->{htmldata}->{"thisformat"} .= $newcol;
500             }
501 0           $self->{htmldata}->{"thisformat"} .= $self->{htmldata}->{"thistable"};
502 0           $self->{htmldata}->{"table_instances"} .= $self->{htmldata}->{"thisformat"};
503 0           $self->{htmldata}->{"thistable"}= "";
504 0           $self->{htmldata}->{"thisformat"}= "";
505 0           $tblpar = $self->{htmldata}->{"parastart"};
506 0           $tblpar =~ s/TAG/P/;
507             # insert instance reference in text format
508 0           $tblpar .= $self->{htmldata}->{"paraline"}.$self->{htmldata}->{"flowrect"};
509 0           $tcount = $self->{htmldata}->{"tblcount"} - 1;
510 0           $tblpar .= " \\n";
511 0           $tblpar .= $self->{htmldata}->{"paralineend"}.$self->{htmldata}->{"paraend"};
512 0           $self->{htmldata}->{"textflow"} .= $tblpar;
513 0           $self->{htmldata}->{"maxcols"} = $self->{htmldata}->{"maxtblcols"} = 0;
514 0           $self->{htmldata}->{"inflow"}=1;
515 0           $self->{htmldata}->{"intable"}=0;
516 0           $self->{htmldata}->{"betweentags"} = 0;
517             }
518             elsif($tag =~ /^th$/o) # end
519             {
520 0           $self->{htmldata}->{"thiscell"} .= " ".$self->{htmldata}->{"paraend"}.$self->{htmldata}->{"tdend"};
521 0           $self->{htmldata}->{"thisrow"} .= $self->{htmldata}->{"thiscell"};
522 0           $self->{htmldata}->{"thiscell"} = "";
523 0           $self->{htmldata}->{"maxcols"}++;
524 0           $self->{htmldata}->{"betweentags"} = 0;
525             }
526             elsif($tag =~ /^tr$/o) # end
527             {
528 0           $self->{htmldata}->{"thisrow"} .= $self->{htmldata}->{"trend"};
529 0           $self->{htmldata}->{"thistable"} .= $self->{htmldata}->{"thisrow"};
530 0           $self->{htmldata}->{"thisrow"}= "";
531 0 0         if ( $self->{htmldata}->{"maxcols"} > $self->{htmldata}->{"maxtblcols"} )
532             {
533 0           $self->{htmldata}->{"maxtblcols"} = $self->{htmldata}->{"maxcols"};
534             }
535 0           $self->{htmldata}->{"betweentags"} = 0;
536             }
537             elsif($tag =~ /^td$/o) # end
538             {
539 0           $self->{htmldata}->{"thiscell"} .= " ".$self->{htmldata}->{"paraend"}.$self->{htmldata}->{"tdend"};
540 0           $self->{htmldata}->{"thisrow"} .= $self->{htmldata}->{"thiscell"};
541 0           $self->{htmldata}->{"thiscell"} = "";
542 0           $self->{htmldata}->{"maxcols"}++;
543 0           $self->{htmldata}->{"betweentags"} = 0;
544             }
545             elsif ($tag =~ /^thead$/)
546             {
547 0           $self->{htmldata}->{"thistable"} .= $self->{htmldata}->{"theadend"};
548             }
549             elsif ($tag =~ /^((b)|(i)|(sub)|(sup)|(strong)|(em)|(samp)|(kbd)|(var)|(cite)|(dfn)|(code)|(tt))$/)
550             {
551 0 0         $self->{htmldata}->{"thispar"} .= $self->{htmldata}->{"fontend"} if($self->{htmldata}->{"inflow"});
552 0 0         $self->{htmldata}->{"thiscell"} .= " ".$self->{htmldata}->{"fontend"} if($self->{htmldata}->{"intable"});
553             }
554             else
555             {
556 0           $self->{htmldata}->{"textflow"} .= $self->{htmldata}->{"thisparstart"}.$self->{htmldata}->{"thispar"}.$self->{htmldata}->{"thisparend"};
557 0           $self->{htmldata}->{"thisparstart"} = $self->{htmldata}->{"thispar"} = $self->{htmldata}->{"thisparend"} = "";
558 0           $self->{htmldata}->{"betweentags"} = 0;
559             }
560             }
561            
562            
563             sub text
564             {
565 0     0 1   my($self, $text) = @_;
566 0 0         return if($self->{htmldata}->{"ignore"});
567 0           my $curpar;
568             #
569             # $text = HTML::Entities::decode($text); # -- don't use, cos going to MIF equivalents
570             # trim spaces and newlines first
571 0           $text =~ s/\n/ /g;
572 0           $text =~ s/^\s+//g;
573 0           $text =~ s/\s+$//g;
574 0           $text =~ s/\s+/ /g;
575 0 0         $text = $self->strfilt($text) if($text);
576 0 0         if ($self->{htmldata}->{"inflow"}) # main text flow
    0          
577             {
578             # paralines and strings to insert using
579             # a paragraph format constructor
580 0 0 0       if ( ($text) && ($text =~ /\S/))
581             {
582             # try to fix untagged pars. Assume they're all P
583 0 0 0       if ((!$self->{htmldata}->{"betweentags"}) && (!$self->{htmldata}->{"thisparstart"}))
584             {
585 0           $self->{htmldata}->{"thisparstart"} = $self->{htmldata}->{"parastart"} . $self->{htmldata}->{"paraline"};
586 0           $self->{htmldata}->{"thisparstart"} .= $self->{htmldata}->{"flowrect"};
587 0           $self->{htmldata}->{"thisparstart"} =~ s/PgfTag\s+\`TAG/PgfTag \`P/;
588 0           $self->{htmldata}->{"thisparend"} = $self->{htmldata}->{paralineend}.$self->{htmldata}->{paraend};
589             }
590 0           $curpar = $self->{htmldata}->{"textform"};
591 0           $curpar =~ s/STRINGCONTENTS/$text/;
592             # try out as place to do special char insertion lines
593 0           $curpar =~ s/\&ndash\;/\'\>\n \\n \
594 0 0         if ($self->{htmldata}->{"inmark"})
    0          
595             {
596 0           $curpar = $self->{htmldata}->{"mark"} . $curpar;
597 0           $curpar =~ s/XXMarkTextXX/$text/;
598             }
599             elsif ($self->{htmldata}->{"inhref"})
600             {
601 0           $curpar = $self->{htmldata}->{"xrefstart"}.$curpar." \\n";
602 0           $curpar =~ s/XXXRefTextXXX/$text/;
603             }
604 0           $self->{htmldata}->{"thispar"} .= $curpar;
605             }
606             }
607             elsif ($self->{htmldata}->{"intable"}) # table text flow
608             {
609             # paralines and strings to insert using $origtext and
610             # a paragraph format constructor
611            
612 0 0 0       if (($text) && ($text =~ /\S/))
613             {
614             # trim leading on table text but allow end space (in format)
615 0           $self->{htmldata}->{"thiscell"} .= " ".$self->{htmldata}->{"paraline"};
616 0           $curpar = " ".$self->{htmldata}->{"textform"};
617 0           $text =~ s/^\s+//go;
618 0           $text =~ s/\s+$//go;
619 0           $curpar =~ s/STRINGCONTENTS/$text/;
620 0           $curpar =~ s/\&ndash\;/\'\>\n \\n \
621 0 0         if ($self->{htmldata}->{"inmark"})
    0          
622             {
623 0           $curpar = $self->{htmldata}->{"mark"} . $curpar;
624 0           $curpar =~ s/XXMarkTextXX/$text/;
625             }
626             elsif ($self->{htmldata}->{"inhref"})
627             {
628 0           $curpar = $self->{htmldata}->{"xrefstart"}.$curpar." \\n";
629 0           $curpar =~ s/XXXRefTextXXX/$text/;
630             }
631 0           $self->{htmldata}->{"thiscell"} .= $curpar;
632 0           $self->{htmldata}->{"thiscell"} .= " ".$self->{htmldata}->{"paralineend"};
633             }
634             }
635             }
636            
637             sub declaration
638             {
639 0     0 1   my($self, $decl) = @_;
640             # might help to record origins ?; # document type
641             }
642            
643             sub comment
644             {
645 0     0 1   my($self, $comment) = @_;
646             # maybe oneday conditional text ?;
647             }
648            
649             sub strfilt
650             {
651 0     0 0   my ($self, $astr)=@_;
652 0           $astr =~ s/\'/\\xd5 /g;
653 0           $astr =~ s/\b\"/\\xd3 /g;
654 0           $astr =~ s/\"\b/\\xd2 /g; #"
655 0           $astr =~ s/\.\.\./\\xc9 /g; # ellipsis
656 0           $astr =~ s/--/\\xd1 /g; # emdash
657 0           $astr =~ s/\`/\\xd4 /g;
658 0           $astr =~ s/\'/\\xd5 /g; # '
659 0           $astr =~ s/·/\\xd7 /g; # maths dot
660 0           $astr =~ s/'/\\xd5 /g; # r single quote
661 0           $astr =~ s/<=/\\xa3 /g; # <= in Symbols
662 0           $astr =~ s/>=/\\xb3 /g; # >= in Symbols
663 0 0         if($astr =~ /&\w+\;/)
664             {
665 0           $astr =~ s/ \;/\\x10 /og;
666 0           $astr =~ s/Ä\;/\\x80 /g;
667 0           $astr =~ s/Å\;/\\x81 /g;
668 0           $astr =~ s/Ç/\\x82 /g;
669 0           $astr =~ s/É/\\x83 /g;
670 0           $astr =~ s/Ñ/\\x84 /g;
671 0           $astr =~ s/Ö/\\x85 /g;
672 0           $astr =~ s/Ü/\\x86 /g;
673 0           $astr =~ s/á/\\x87 /g;
674 0           $astr =~ s/à/\\x88 /g;
675 0           $astr =~ s/â/\\x89 /g;
676 0           $astr =~ s/ä/\\x8a /g;
677 0           $astr =~ s/ã/\\x8b /g;
678 0           $astr =~ s/å/\\x8c /g;
679 0           $astr =~ s/ç/\\x8d /g;
680 0           $astr =~ s/é/\\x8e /g;
681 0           $astr =~ s/è/\\x8f /g;
682 0           $astr =~ s/ê/\\x90 /g;
683 0           $astr =~ s/ë/\\x91 /g;
684 0           $astr =~ s/í/\\x92 /g;
685 0           $astr =~ s/ì/\\x93 /g;
686 0           $astr =~ s/î/\\x94 /g;
687 0           $astr =~ s/ï/\\x95 /g;
688 0           $astr =~ s/ñ/\\x96 /g;
689 0           $astr =~ s/ó/\\x97 /g;
690 0           $astr =~ s/ò/\\x98 /g;
691 0           $astr =~ s/ô/\\x99 /g;
692 0           $astr =~ s/ö/\\x9a /g;
693 0           $astr =~ s/õ/\\x9b /g;
694 0           $astr =~ s/ú/\\x9c /g;
695 0           $astr =~ s/ù/\\x9d /g;
696 0           $astr =~ s/û/\\x9e /g;
697 0           $astr =~ s/ü/\\x9f /g;
698 0           $astr =~ s/¤/\\xa0 /g; # replace general currency sign with dagger
699 0           $astr =~ s/¢/\\xa2 /g;
700 0           $astr =~ s/§/\\xa4 /g;
701 0           $astr =~ s/·/\\xa5 /g;
702 0           $astr =~ s/¶/\\xa6 /g;
703 0           $astr =~ s/ß/\\xa7 /g;
704 0           $astr =~ s/®/\\xa8 /g;
705 0           $astr =~ s/©/\\xa9 /g;
706 0           $astr =~ s/®/\\xaa /g; # registered symb - TM
707 0           $astr =~ s/´/\\xab /g;
708             # $astr =~ s/\b"/ \\xd2/g;
709 0           $astr =~ s/"/\\xd3 /g;
710 0           $astr =~ s/Æ/\\xae /g;
711 0           $astr =~ s/Ø/\\xaf /g;
712 0           $astr =~ s/¥/\\xb4 /g;
713 0           $astr =~ s/ª/\\xbb /g;
714 0           $astr =~ s/º/\\xbc /g;
715 0           $astr =~ s/æ/\\xbe /g;
716 0           $astr =~ s/ø/\\xbf /g;
717 0           $astr =~ s/¿/\\xc0 /g;
718 0           $astr =~ s/¡/\\xc1 /g;
719 0           $astr =~ s/¬/\\xc2 /g;
720             # $astr =~ s/f/\\xc4 /g;
721 0           $astr =~ s/«/\\xc7 /g;
722 0           $astr =~ s/»/\\xc8 /g;
723 0           $astr =~ s/‘/\\xd4 /g;
724 0           $astr =~ s/’/\\xd5 /g;
725 0           $astr =~ s/À/\\xcb /g;
726 0           $astr =~ s/Ã/\\xcc /g;
727 0           $astr =~ s/Õ/\\xcd /g;
728 0           $astr =~ s/OE/\\xce /g; # oe dipthong/ligature
729 0           $astr =~ s/oe/\\xcf /g;
730 0           $astr =~ s/­/\\xd0 /g; # soft hyphen for endash
731 0           $astr =~ s/ÿ/\\xd8 /g;
732 0           $astr =~ s/¤/\\xdb /g;
733             # $astr =~ s/</\\xdc /g;
734             # $astr =~ s/>/\\xdd /g;
735             # $astr =~ s/®/\\xe2 /g; # symbol fonts ??
736 0           $astr =~ s/©/\\xe3 /g;
737 0           $astr =~ s/®/\\xe4 /g; # TM - registered sign
738 0           $astr =~ s/</\\\
739 0           $astr =~ s/>/\\\>/g;
740 0           $astr =~ s/&\;/\&/g;
741             }
742 0           $astr;
743             }
744            
745             sub balanced
746             {
747 0     0 0   my($self, $string1, $string2, $target) = @_;
748 0           my (@arr1, @arr2);
749 0           my $countof1 = (@arr1 = ($self->{htmldata}->{"$target"} =~ m/$string1/g));
750 0           my $countof2 = (@arr2 = ($self->{htmldata}->{"$target"} =~ m/$string2/g));
751 0           my $diffcount = ($countof1 - $countof2);
752 0 0         $diffcount *= -1 if($diffcount < 0);
753 0           return( ($diffcount % 2) == 0);
754             }
755            
756             sub setup
757            
758             # initialisation
759             {
760 0     0 0   my ($outfile) = shift;
761            
762 0           my @initkeys = qw (outfile tblmatrix filetop aframe_instances table_instances
763             masterpages textflowtop textflow endofall inflow intable intblhd
764             intblbody inmark inhref lasttag mark xrefstart inlist
765             numfirst textform imgunit imgcount thisparstart thispar
766             thisparend thistable thisformat thisrow thiscell tblcount
767             maxcols rowcount colcount maxtblcols tblstart tblnormbords
768             tblnobords theadstart tbodystart theaddone trstart
769             tdstart tblformend tblcolblank theadend trend tdend
770             tblend parastart paraline flowrect paraend paralineend fontstart
771             fontend colwidth txtarea betweentags ignore);
772            
773 0           my ($filetop, $aframe_instances, $table_instances, $inflow, $intable, $intblhd, $intblbody);
774 0           my ($inmark, $inhref, $numfirst, $imgcount, $tblcount, $maxcols, $maxtblcols, $theaddone);
775 0           my ($betweentags, $ignore, $lasttag, $inlist, $thisparstart, $thispar, $thisparend, $thistable);
776 0           my ($thisformat, $thisrow, $thiscell, $mark, $xrefstart, $masterpages, $textflowtop);
777 0           my ($endofall, $textform, $imgunit, $tblstart, $tblnormbords, $tblnobords);
778 0           my ($theadstart, $tbodystart, $trstart, $tdstart,$tblformend, $rowcount, $colcount );
779 0           my ($tblcolblank, $theadend, $trend, $tdend, $tblend, $parastart, $flowrect );
780 0           my ($paraend, $paralineend, $colwidth, $paraline, $fontstart, $fontend, $txtarea );
781            
782            
783 0           $table_instances = "\
784 0           $inflow = 1;
785 0           $intable = $intblhd = $intblbody = $inmark = $inhref = $numfirst = $imgcount = $tblcount= 0;
786 0           $maxcols = $maxtblcols = $theaddone= $betweentags =$ignore = $rowcount = $colcount=0;
787 0           $lasttag = $inlist = $thisparstart = $thispar = $thisparend = $thistable = $thisformat = "";
788 0           $thisrow = $thiscell = $textflow = "";
789 0           $txtarea = "12";
790 0           $tblmatrix = ();
791            
792            
793            
794 0           $filetop=<
795             # Generated by FrameMaker::FromHTML
796             # Options:
797             # Paragraph Text
798             # Paragraph Tags
799             # Paragraph Formats
800             # Font Information
801             # Markers
802             # Anchored Frames
803             # Tables
804             # Graphics and TextRect Layout
805             # Master Page Items
806             # Condition Catalog
807             # Table Catalogs
808             # Font Catalog
809             # Paragraph Catalog
810             # Document Template
811             # Document Dictionary
812             # Variables
813             #
814            
815            
816            
817            
818            
819            
820            
821            
822            
823            
824             > # end of Color
825            
826            
827            
828            
829            
830            
831            
832            
833             > # end of Color
834            
835            
836            
837            
838            
839            
840            
841            
842             > # end of Color
843            
844            
845            
846            
847            
848            
849            
850            
851             > # end of Color
852            
853            
854            
855            
856            
857            
858            
859            
860             > # end of Color
861            
862            
863            
864            
865            
866            
867            
868            
869             > # end of Color
870            
871            
872            
873            
874            
875            
876            
877            
878             > # end of Color
879            
880            
881            
882            
883            
884            
885            
886            
887             > # end of Color
888             > # end of ColorCatalog
889            
890             > # end of ConditionCatalog
891            
892            
893            
894            
895            
896            
897            
898            
899            
900            
901            
902            
903            
904            
905            
906            
907            
908            
909            
910            
911            
912            
913            
914            
915            
916            
917            
918            
919            
920            
921            
922            
923            
924            
925            
926            
927            
928            
929            
930            
931            
932            
933            
934            
935            
936            
937            
938            
939             > # end of PgfFont
940            
941            
942            
943            
944            
945            
946            
947            
948            
949            
950            
951            
952            
953            
954            
955            
956            
957            
958            
959            
960            
961             > # end of Pgf
962            
963            
964            
965            
966            
967            
968            
969            
970            
971            
972            
973            
974            
975            
976            
977            
978            
979            
980            
981            
982            
983            
984            
985            
986            
987            
988            
989            
990            
991            
992            
993            
994            
995            
996            
997            
998            
999            
1000            
1001            
1002            
1003            
1004            
1005            
1006            
1007            
1008            
1009             > # end of PgfFont
1010            
1011            
1012            
1013            
1014            
1015            
1016            
1017            
1018            
1019            
1020            
1021            
1022            
1023            
1024            
1025            
1026            
1027            
1028            
1029            
1030            
1031             > # end of Pgf
1032            
1033            
1034            
1035            
1036            
1037            
1038            
1039            
1040            
1041            
1042            
1043            
1044            
1045            
1046            
1047            
1048            
1049            
1050            
1051            
1052            
1053            
1054            
1055            
1056            
1057            
1058            
1059            
1060            
1061            
1062            
1063            
1064            
1065            
1066            
1067            
1068            
1069            
1070            
1071            
1072            
1073            
1074            
1075            
1076            
1077            
1078            
1079             > # end of PgfFont
1080            
1081            
1082            
1083            
1084            
1085            
1086            
1087            
1088             > # end of TabStop
1089            
1090            
1091            
1092            
1093             > # end of TabStop
1094            
1095            
1096            
1097            
1098             > # end of TabStop
1099            
1100            
1101            
1102            
1103             > # end of TabStop
1104            
1105            
1106            
1107            
1108             > # end of TabStop
1109            
1110            
1111            
1112            
1113             > # end of TabStop
1114            
1115            
1116            
1117            
1118             > # end of TabStop
1119            
1120            
1121            
1122            
1123             > # end of TabStop
1124            
1125            
1126            
1127            
1128             > # end of TabStop
1129            
1130            
1131            
1132            
1133             > # end of TabStop
1134            
1135            
1136            
1137            
1138            
1139            
1140            
1141            
1142            
1143            
1144            
1145            
1146            
1147            
1148            
1149            
1150            
1151             > # end of Pgf
1152            
1153            
1154            
1155            
1156            
1157            
1158            
1159            
1160            
1161            
1162            
1163            
1164            
1165            
1166            
1167            
1168            
1169            
1170            
1171            
1172            
1173            
1174            
1175            
1176            
1177            
1178            
1179            
1180            
1181            
1182            
1183            
1184            
1185            
1186            
1187            
1188            
1189            
1190            
1191            
1192            
1193            
1194            
1195            
1196            
1197            
1198            
1199             > # end of PgfFont
1200            
1201            
1202            
1203            
1204            
1205            
1206            
1207            
1208             > # end of TabStop
1209            
1210            
1211            
1212            
1213             > # end of TabStop
1214            
1215            
1216            
1217            
1218             > # end of TabStop
1219            
1220            
1221            
1222            
1223             > # end of TabStop
1224            
1225            
1226            
1227            
1228             > # end of TabStop
1229            
1230            
1231            
1232            
1233             > # end of TabStop
1234            
1235            
1236            
1237            
1238             > # end of TabStop
1239            
1240            
1241            
1242            
1243             > # end of TabStop
1244            
1245            
1246            
1247            
1248             > # end of TabStop
1249            
1250            
1251            
1252            
1253             > # end of TabStop
1254            
1255            
1256            
1257            
1258            
1259            
1260            
1261            
1262            
1263            
1264            
1265            
1266            
1267            
1268            
1269            
1270            
1271             > # end of Pgf
1272            
1273            
1274            
1275            
1276            
1277            
1278            
1279            
1280            
1281            
1282            
1283            
1284            
1285            
1286            
1287            
1288            
1289            
1290            
1291            
1292            
1293            
1294            
1295            
1296            
1297            
1298            
1299            
1300            
1301            
1302            
1303            
1304            
1305            
1306            
1307            
1308            
1309            
1310            
1311            
1312            
1313            
1314            
1315            
1316            
1317            
1318            
1319             > # end of PgfFont
1320            
1321            
1322            
1323            
1324            
1325            
1326            
1327            
1328             > # end of TabStop
1329            
1330            
1331            
1332            
1333             > # end of TabStop
1334            
1335            
1336            
1337            
1338             > # end of TabStop
1339            
1340            
1341            
1342            
1343             > # end of TabStop
1344            
1345            
1346            
1347            
1348             > # end of TabStop
1349            
1350            
1351            
1352            
1353             > # end of TabStop
1354            
1355            
1356            
1357            
1358             > # end of TabStop
1359            
1360            
1361            
1362            
1363             > # end of TabStop
1364            
1365            
1366            
1367            
1368             > # end of TabStop
1369            
1370            
1371            
1372            
1373             > # end of TabStop
1374            
1375            
1376            
1377            
1378             > # end of TabStop
1379            
1380            
1381            
1382            
1383             > # end of TabStop
1384            
1385            
1386            
1387            
1388            
1389            
1390            
1391            
1392            
1393            
1394            
1395            
1396            
1397            
1398            
1399            
1400            
1401             > # end of Pgf
1402            
1403            
1404            
1405            
1406            
1407            
1408            
1409            
1410            
1411            
1412            
1413            
1414            
1415            
1416            
1417            
1418            
1419            
1420            
1421            
1422            
1423            
1424            
1425            
1426            
1427            
1428            
1429            
1430            
1431            
1432            
1433            
1434            
1435            
1436            
1437            
1438            
1439            
1440            
1441            
1442            
1443            
1444            
1445            
1446            
1447            
1448            
1449             > # end of PgfFont
1450            
1451            
1452            
1453            
1454            
1455            
1456            
1457            
1458             > # end of TabStop
1459            
1460            
1461            
1462            
1463             > # end of TabStop
1464            
1465            
1466            
1467            
1468             > # end of TabStop
1469            
1470            
1471            
1472            
1473             > # end of TabStop
1474            
1475            
1476            
1477            
1478             > # end of TabStop
1479            
1480            
1481            
1482            
1483             > # end of TabStop
1484            
1485            
1486            
1487            
1488             > # end of TabStop
1489            
1490            
1491            
1492            
1493             > # end of TabStop
1494            
1495            
1496            
1497            
1498             > # end of TabStop
1499            
1500            
1501            
1502            
1503             > # end of TabStop
1504            
1505            
1506            
1507            
1508             > # end of TabStop
1509            
1510            
1511            
1512            
1513             > # end of TabStop
1514            
1515            
1516            
1517            
1518            
1519            
1520            
1521            
1522            
1523            
1524            
1525            
1526            
1527            
1528            
1529            
1530            
1531             > # end of Pgf
1532            
1533            
1534            
1535            
1536            
1537            
1538            
1539            
1540            
1541            
1542            
1543            
1544            
1545            
1546            
1547            
1548            
1549            
1550            
1551            
1552            
1553            
1554            
1555            
1556            
1557            
1558            
1559            
1560            
1561            
1562            
1563            
1564            
1565            
1566            
1567            
1568            
1569            
1570            
1571            
1572            
1573            
1574            
1575            
1576            
1577            
1578            
1579             > # end of PgfFont
1580            
1581            
1582            
1583            
1584            
1585            
1586            
1587            
1588            
1589            
1590            
1591            
1592            
1593            
1594            
1595            
1596            
1597            
1598            
1599            
1600            
1601             > # end of Pgf
1602            
1603            
1604            
1605            
1606            
1607            
1608            
1609            
1610            
1611            
1612            
1613            
1614            
1615            
1616            
1617            
1618            
1619            
1620            
1621            
1622            
1623            
1624            
1625            
1626            
1627            
1628            
1629            
1630            
1631            
1632            
1633            
1634            
1635            
1636            
1637            
1638            
1639            
1640            
1641            
1642            
1643            
1644            
1645            
1646            
1647            
1648            
1649             > # end of PgfFont
1650            
1651            
1652            
1653            
1654            
1655            
1656            
1657            
1658             > # end of TabStop
1659            
1660            
1661            
1662            
1663             > # end of TabStop
1664            
1665            
1666            
1667            
1668             > # end of TabStop
1669            
1670            
1671            
1672            
1673             > # end of TabStop
1674            
1675            
1676            
1677            
1678            
1679            
1680            
1681            
1682            
1683            
1684            
1685            
1686            
1687            
1688            
1689            
1690            
1691             > # end of Pgf
1692            
1693            
1694            
1695            
1696            
1697            
1698            
1699            
1700            
1701            
1702            
1703            
1704            
1705            
1706            
1707            
1708            
1709            
1710            
1711            
1712            
1713            
1714            
1715            
1716            
1717            
1718            
1719            
1720            
1721            
1722            
1723            
1724            
1725            
1726            
1727            
1728            
1729            
1730            
1731            
1732            
1733            
1734            
1735            
1736            
1737            
1738            
1739             > # end of PgfFont
1740            
1741            
1742            
1743            
1744            
1745            
1746            
1747            
1748             > # end of TabStop
1749            
1750            
1751            
1752            
1753             > # end of TabStop
1754            
1755            
1756            
1757            
1758            
1759            
1760            
1761            
1762            
1763            
1764            
1765            
1766            
1767            
1768            
1769            
1770            
1771             > # end of Pgf
1772            
1773            
1774            
1775            
1776            
1777            
1778            
1779            
1780            
1781            
1782            
1783            
1784            
1785            
1786            
1787            
1788            
1789            
1790            
1791            
1792            
1793            
1794            
1795            
1796            
1797            
1798            
1799            
1800            
1801            
1802            
1803            
1804            
1805            
1806            
1807            
1808            
1809            
1810            
1811            
1812            
1813            
1814            
1815            
1816            
1817            
1818            
1819             > # end of PgfFont
1820            
1821            
1822            
1823            
1824            
1825            
1826            
1827            
1828             > # end of TabStop
1829            
1830            
1831            
1832            
1833            
1834            
1835            
1836            
1837            
1838            
1839            
1840            
1841            
1842            
1843            
1844            
1845            
1846             > # end of Pgf
1847            
1848            
1849            
1850            
1851            
1852            
1853            
1854            
1855            
1856            
1857            
1858            
1859            
1860            
1861            
1862            
1863            
1864            
1865            
1866            
1867            
1868            
1869            
1870            
1871            
1872            
1873            
1874            
1875            
1876            
1877            
1878            
1879            
1880            
1881            
1882            
1883            
1884            
1885            
1886            
1887            
1888            
1889            
1890            
1891            
1892            
1893            
1894             > # end of PgfFont
1895            
1896            
1897            
1898            
1899            
1900            
1901            
1902            
1903            
1904            
1905            
1906             > # end of TabStop
1907            
1908            
1909            
1910            
1911             > # end of TabStop
1912            
1913            
1914            
1915            
1916            
1917            
1918            
1919            
1920            
1921            
1922            
1923            
1924            
1925            
1926            
1927            
1928            
1929             > # end of Pgf
1930            
1931            
1932            
1933            
1934            
1935            
1936            
1937            
1938            
1939            
1940            
1941            
1942            
1943            
1944            
1945            
1946            
1947            
1948            
1949            
1950            
1951            
1952            
1953            
1954            
1955            
1956            
1957            
1958            
1959            
1960            
1961            
1962            
1963            
1964            
1965            
1966            
1967            
1968            
1969            
1970            
1971            
1972            
1973            
1974            
1975            
1976            
1977             > # end of PgfFont
1978            
1979            
1980            
1981            
1982            
1983            
1984            
1985            
1986             > # end of TabStop
1987            
1988            
1989            
1990            
1991            
1992            
1993            
1994            
1995            
1996            
1997            
1998            
1999            
2000            
2001            
2002            
2003            
2004             > # end of Pgf
2005            
2006            
2007            
2008            
2009            
2010            
2011            
2012            
2013            
2014            
2015            
2016            
2017            
2018            
2019            
2020            
2021            
2022            
2023            
2024            
2025            
2026            
2027            
2028            
2029            
2030            
2031            
2032            
2033            
2034            
2035            
2036            
2037            
2038            
2039            
2040            
2041            
2042            
2043            
2044            
2045            
2046            
2047            
2048            
2049            
2050            
2051            
2052             > # end of PgfFont
2053            
2054            
2055            
2056            
2057            
2058            
2059            
2060            
2061            
2062            
2063            
2064             > # end of TabStop
2065            
2066            
2067            
2068            
2069             > # end of TabStop
2070            
2071            
2072            
2073            
2074            
2075            
2076            
2077            
2078            
2079            
2080            
2081            
2082            
2083            
2084            
2085            
2086            
2087             > # end of Pgf
2088            
2089            
2090            
2091            
2092            
2093            
2094            
2095            
2096            
2097            
2098            
2099            
2100            
2101            
2102            
2103            
2104            
2105            
2106            
2107            
2108            
2109            
2110            
2111            
2112            
2113            
2114            
2115            
2116            
2117            
2118            
2119            
2120            
2121            
2122            
2123            
2124            
2125            
2126            
2127            
2128            
2129            
2130            
2131            
2132            
2133            
2134            
2135             > # end of PgfFont
2136            
2137            
2138            
2139            
2140            
2141            
2142            
2143            
2144            
2145            
2146            
2147            
2148            
2149            
2150            
2151            
2152            
2153            
2154            
2155            
2156            
2157             > # end of Pgf
2158            
2159            
2160            
2161            
2162            
2163            
2164            
2165            
2166            
2167            
2168            
2169            
2170            
2171            
2172            
2173            
2174            
2175            
2176            
2177            
2178            
2179            
2180            
2181            
2182            
2183            
2184            
2185            
2186            
2187            
2188            
2189            
2190            
2191            
2192            
2193            
2194            
2195            
2196            
2197            
2198            
2199            
2200            
2201            
2202            
2203            
2204            
2205             > # end of PgfFont
2206            
2207            
2208            
2209            
2210            
2211            
2212            
2213            
2214            
2215            
2216            
2217             > # end of TabStop
2218            
2219            
2220            
2221            
2222            
2223            
2224            
2225            
2226            
2227            
2228            
2229            
2230            
2231            
2232            
2233            
2234            
2235             > # end of Pgf
2236            
2237            
2238            
2239            
2240            
2241            
2242            
2243            
2244            
2245            
2246            
2247            
2248            
2249            
2250            
2251            
2252            
2253            
2254            
2255            
2256            
2257            
2258            
2259            
2260            
2261            
2262            
2263            
2264            
2265            
2266            
2267            
2268            
2269            
2270            
2271            
2272            
2273            
2274            
2275            
2276            
2277            
2278            
2279            
2280            
2281            
2282            
2283             > # end of PgfFont
2284            
2285            
2286            
2287            
2288            
2289            
2290            
2291            
2292            
2293            
2294            
2295            
2296            
2297            
2298            
2299            
2300            
2301            
2302            
2303            
2304            
2305             > # end of Pgf
2306            
2307            
2308            
2309            
2310            
2311            
2312            
2313            
2314            
2315            
2316            
2317            
2318            
2319            
2320            
2321            
2322            
2323            
2324            
2325            
2326            
2327            
2328            
2329            
2330            
2331            
2332            
2333            
2334            
2335            
2336            
2337            
2338            
2339            
2340            
2341            
2342            
2343            
2344            
2345            
2346            
2347            
2348            
2349            
2350            
2351            
2352            
2353             > # end of PgfFont
2354            
2355            
2356            
2357            
2358            
2359            
2360            
2361            
2362            
2363            
2364            
2365            
2366            
2367            
2368            
2369            
2370            
2371            
2372            
2373            
2374            
2375             > # end of Pgf
2376            
2377            
2378            
2379            
2380            
2381            
2382            
2383            
2384            
2385            
2386            
2387            
2388            
2389            
2390            
2391            
2392            
2393            
2394            
2395            
2396            
2397            
2398            
2399            
2400            
2401            
2402            
2403            
2404            
2405            
2406            
2407            
2408            
2409            
2410            
2411            
2412            
2413            
2414            
2415            
2416            
2417            
2418            
2419            
2420            
2421            
2422            
2423             > # end of PgfFont
2424            
2425            
2426            
2427            
2428            
2429            
2430            
2431            
2432            
2433            
2434            
2435            
2436            
2437            
2438            
2439            
2440            
2441            
2442            
2443            
2444            
2445             > # end of Pgf
2446            
2447            
2448            
2449            
2450            
2451            
2452            
2453            
2454            
2455            
2456            
2457            
2458            
2459            
2460            
2461            
2462            
2463            
2464            
2465            
2466            
2467            
2468            
2469            
2470            
2471            
2472            
2473            
2474            
2475            
2476            
2477            
2478            
2479            
2480            
2481            
2482            
2483            
2484            
2485            
2486            
2487            
2488            
2489            
2490            
2491            
2492            
2493             > # end of PgfFont
2494            
2495            
2496            
2497            
2498            
2499            
2500            
2501            
2502             > # end of TabStop
2503            
2504            
2505            
2506            
2507            
2508            
2509            
2510            
2511            
2512            
2513            
2514            
2515            
2516            
2517            
2518            
2519            
2520             > # end of Pgf
2521            
2522            
2523            
2524            
2525            
2526            
2527            
2528            
2529            
2530            
2531            
2532            
2533            
2534            
2535            
2536            
2537            
2538            
2539            
2540            
2541            
2542            
2543            
2544            
2545            
2546            
2547            
2548            
2549            
2550            
2551            
2552            
2553            
2554            
2555            
2556            
2557            
2558            
2559            
2560            
2561            
2562            
2563            
2564            
2565            
2566            
2567            
2568             > # end of PgfFont
2569            
2570            
2571            
2572            
2573            
2574            
2575            
2576            
2577            
2578            
2579            
2580            
2581            
2582            
2583            
2584            
2585            
2586            
2587            
2588            
2589            
2590             > # end of Pgf
2591            
2592            
2593            
2594            
2595            
2596            
2597            
2598            
2599            
2600            
2601            
2602            
2603            
2604            
2605            
2606            
2607            
2608            
2609            
2610            
2611            
2612            
2613            
2614            
2615            
2616            
2617            
2618            
2619            
2620            
2621            
2622            
2623            
2624            
2625            
2626            
2627            
2628            
2629            
2630            
2631            
2632            
2633            
2634            
2635            
2636            
2637            
2638             > # end of PgfFont
2639            
2640            
2641            
2642            
2643            
2644            
2645            
2646            
2647             > # end of TabStop
2648            
2649            
2650            
2651            
2652             > # end of TabStop
2653            
2654            
2655            
2656            
2657             > # end of TabStop
2658            
2659            
2660            
2661            
2662             > # end of TabStop
2663            
2664            
2665            
2666            
2667             > # end of TabStop
2668            
2669            
2670            
2671            
2672             > # end of TabStop
2673            
2674            
2675            
2676            
2677             > # end of TabStop
2678            
2679            
2680            
2681            
2682             > # end of TabStop
2683            
2684            
2685            
2686            
2687             > # end of TabStop
2688            
2689            
2690            
2691            
2692             > # end of TabStop
2693            
2694            
2695            
2696            
2697            
2698            
2699            
2700            
2701            
2702            
2703            
2704            
2705            
2706            
2707            
2708            
2709            
2710             > # end of Pgf
2711            
2712            
2713            
2714            
2715            
2716            
2717            
2718            
2719            
2720            
2721            
2722            
2723            
2724            
2725            
2726            
2727            
2728            
2729            
2730            
2731            
2732            
2733            
2734            
2735            
2736            
2737            
2738            
2739            
2740            
2741            
2742            
2743            
2744            
2745            
2746            
2747            
2748            
2749            
2750            
2751            
2752            
2753            
2754            
2755            
2756            
2757            
2758             > # end of PgfFont
2759            
2760            
2761            
2762             )\\\\t'>
2763            
2764            
2765            
2766            
2767            
2768            
2769            
2770             > # end of TabStop
2771            
2772            
2773            
2774            
2775             > # end of TabStop
2776            
2777            
2778            
2779            
2780             > # end of TabStop
2781            
2782            
2783            
2784            
2785             > # end of TabStop
2786            
2787            
2788            
2789            
2790             > # end of TabStop
2791            
2792            
2793            
2794            
2795             > # end of TabStop
2796            
2797            
2798            
2799            
2800            
2801            
2802            
2803            
2804            
2805            
2806            
2807            
2808            
2809            
2810            
2811            
2812            
2813             > # end of Pgf
2814            
2815            
2816            
2817            
2818            
2819            
2820            
2821            
2822            
2823            
2824            
2825            
2826            
2827            
2828            
2829            
2830            
2831            
2832            
2833            
2834            
2835            
2836            
2837            
2838            
2839            
2840            
2841            
2842            
2843            
2844            
2845            
2846            
2847            
2848            
2849            
2850            
2851            
2852            
2853            
2854            
2855            
2856            
2857            
2858            
2859            
2860            
2861             > # end of PgfFont
2862            
2863            
2864            
2865             )\\\\t'>
2866            
2867            
2868            
2869            
2870            
2871            
2872            
2873             > # end of TabStop
2874            
2875            
2876            
2877            
2878             > # end of TabStop
2879            
2880            
2881            
2882            
2883             > # end of TabStop
2884            
2885            
2886            
2887            
2888             > # end of TabStop
2889            
2890            
2891            
2892            
2893             > # end of TabStop
2894            
2895            
2896            
2897            
2898             > # end of TabStop
2899            
2900            
2901            
2902            
2903            
2904            
2905            
2906            
2907            
2908            
2909            
2910            
2911            
2912            
2913            
2914            
2915            
2916             > # end of Pgf
2917            
2918            
2919            
2920            
2921            
2922            
2923            
2924            
2925            
2926            
2927            
2928            
2929            
2930            
2931            
2932            
2933            
2934            
2935            
2936            
2937            
2938            
2939            
2940            
2941            
2942            
2943            
2944            
2945            
2946            
2947            
2948            
2949            
2950            
2951            
2952            
2953            
2954            
2955            
2956            
2957            
2958            
2959            
2960            
2961            
2962            
2963            
2964             > # end of PgfFont
2965            
2966            
2967            
2968            
2969            
2970            
2971            
2972            
2973             > # end of TabStop
2974            
2975            
2976            
2977            
2978             > # end of TabStop
2979            
2980            
2981            
2982            
2983             > # end of TabStop
2984            
2985            
2986            
2987            
2988             > # end of TabStop
2989            
2990            
2991            
2992            
2993             > # end of TabStop
2994            
2995            
2996            
2997            
2998             > # end of TabStop
2999            
3000            
3001            
3002            
3003             > # end of TabStop
3004            
3005            
3006            
3007            
3008             > # end of TabStop
3009            
3010            
3011            
3012            
3013             > # end of TabStop
3014            
3015            
3016            
3017            
3018             > # end of TabStop
3019            
3020            
3021            
3022            
3023             > # end of TabStop
3024            
3025            
3026            
3027            
3028             > # end of TabStop
3029            
3030            
3031            
3032            
3033            
3034            
3035            
3036            
3037            
3038            
3039            
3040            
3041            
3042            
3043            
3044            
3045            
3046             > # end of Pgf
3047            
3048            
3049            
3050            
3051            
3052            
3053            
3054            
3055            
3056            
3057            
3058            
3059            
3060            
3061            
3062            
3063            
3064            
3065            
3066            
3067            
3068            
3069            
3070            
3071            
3072            
3073            
3074            
3075            
3076            
3077            
3078            
3079            
3080            
3081            
3082            
3083            
3084            
3085            
3086            
3087            
3088            
3089            
3090            
3091            
3092            
3093            
3094             > # end of PgfFont
3095            
3096            
3097            
3098            
3099            
3100            
3101            
3102            
3103             > # end of TabStop
3104            
3105            
3106            
3107            
3108             > # end of TabStop
3109            
3110            
3111            
3112            
3113             > # end of TabStop
3114            
3115            
3116            
3117            
3118             > # end of TabStop
3119            
3120            
3121            
3122            
3123             > # end of TabStop
3124            
3125            
3126            
3127            
3128             > # end of TabStop
3129            
3130            
3131            
3132            
3133             > # end of TabStop
3134            
3135            
3136            
3137            
3138             > # end of TabStop
3139            
3140            
3141            
3142            
3143             > # end of TabStop
3144            
3145            
3146            
3147            
3148             > # end of TabStop
3149            
3150            
3151            
3152            
3153             > # end of TabStop
3154            
3155            
3156            
3157            
3158             > # end of TabStop
3159            
3160            
3161            
3162            
3163            
3164            
3165            
3166            
3167            
3168            
3169            
3170            
3171            
3172            
3173            
3174            
3175            
3176             > # end of Pgf
3177            
3178            
3179            
3180            
3181            
3182            
3183            
3184            
3185            
3186            
3187            
3188            
3189            
3190            
3191            
3192            
3193            
3194            
3195            
3196            
3197            
3198            
3199            
3200            
3201            
3202            
3203            
3204            
3205            
3206            
3207            
3208            
3209            
3210            
3211            
3212            
3213            
3214            
3215            
3216            
3217            
3218            
3219            
3220            
3221            
3222            
3223            
3224             > # end of PgfFont
3225            
3226            
3227            
3228            
3229            
3230            
3231            
3232            
3233            
3234            
3235            
3236            
3237            
3238            
3239            
3240            
3241            
3242            
3243            
3244            
3245            
3246             > # end of Pgf
3247            
3248            
3249            
3250            
3251            
3252            
3253            
3254            
3255            
3256            
3257            
3258            
3259            
3260            
3261            
3262            
3263            
3264            
3265            
3266            
3267            
3268            
3269            
3270            
3271            
3272            
3273            
3274            
3275            
3276            
3277            
3278            
3279            
3280            
3281            
3282            
3283            
3284            
3285            
3286            
3287            
3288            
3289            
3290            
3291            
3292            
3293            
3294             > # end of PgfFont
3295            
3296            
3297            
3298            
3299            
3300            
3301            
3302            
3303            
3304            
3305            
3306            
3307            
3308            
3309            
3310            
3311            
3312            
3313            
3314            
3315            
3316             > # end of Pgf
3317            
3318            
3319            
3320            
3321            
3322            
3323            
3324            
3325            
3326            
3327            
3328            
3329            
3330            
3331            
3332            
3333            
3334            
3335            
3336            
3337            
3338            
3339            
3340            
3341            
3342            
3343            
3344            
3345            
3346            
3347            
3348            
3349            
3350            
3351            
3352            
3353            
3354            
3355            
3356            
3357            
3358            
3359            
3360            
3361            
3362            
3363            
3364             > # end of PgfFont
3365            
3366            
3367            
3368            
3369            
3370            
3371            
3372            
3373             > # end of TabStop
3374            
3375            
3376            
3377            
3378            
3379            
3380            
3381            
3382            
3383            
3384            
3385            
3386            
3387            
3388            
3389            
3390            
3391             > # end of Pgf
3392            
3393            
3394            
3395            
3396            
3397            
3398            
3399            
3400            
3401            
3402            
3403            
3404            
3405            
3406            
3407            
3408            
3409            
3410            
3411            
3412            
3413            
3414            
3415            
3416            
3417            
3418            
3419            
3420            
3421            
3422            
3423            
3424            
3425            
3426            
3427            
3428            
3429            
3430            
3431            
3432            
3433            
3434            
3435            
3436            
3437            
3438            
3439             > # end of PgfFont
3440            
3441            
3442            
3443            
3444            
3445            
3446            
3447            
3448            
3449            
3450            
3451            
3452            
3453            
3454            
3455            
3456            
3457            
3458            
3459            
3460            
3461             > # end of Pgf
3462            
3463            
3464            
3465            
3466            
3467            
3468            
3469            
3470            
3471            
3472            
3473            
3474            
3475            
3476            
3477            
3478            
3479            
3480            
3481            
3482            
3483            
3484            
3485            
3486            
3487            
3488            
3489            
3490            
3491            
3492            
3493            
3494            
3495            
3496            
3497            
3498            
3499            
3500            
3501            
3502            
3503            
3504            
3505            
3506            
3507            
3508            
3509             > # end of PgfFont
3510            
3511            
3512            
3513            
3514            
3515            
3516            
3517            
3518            
3519            
3520            
3521             > # end of TabStop
3522            
3523            
3524            
3525            
3526             > # end of TabStop
3527            
3528            
3529            
3530            
3531             > # end of TabStop
3532            
3533            
3534            
3535            
3536             > # end of TabStop
3537            
3538            
3539            
3540            
3541             > # end of TabStop
3542            
3543            
3544            
3545            
3546             > # end of TabStop
3547            
3548            
3549            
3550            
3551            
3552            
3553            
3554            
3555            
3556            
3557            
3558            
3559            
3560            
3561            
3562            
3563            
3564             > # end of Pgf
3565             > # end of PgfCatalog
3566            
3567            
3568            
3569            
3570            
3571            
3572            
3573            
3574            
3575            
3576            
3577            
3578            
3579            
3580            
3581            
3582             > # end of Font
3583            
3584            
3585            
3586            
3587            
3588            
3589            
3590            
3591            
3592            
3593            
3594            
3595            
3596            
3597            
3598            
3599            
3600            
3601             > # end of Font
3602            
3603            
3604            
3605            
3606            
3607            
3608            
3609            
3610            
3611            
3612            
3613            
3614            
3615            
3616            
3617            
3618            
3619            
3620            
3621             > # end of Font
3622            
3623            
3624            
3625            
3626            
3627            
3628            
3629            
3630            
3631            
3632            
3633            
3634            
3635            
3636            
3637            
3638            
3639            
3640            
3641             > # end of Font
3642            
3643            
3644            
3645            
3646            
3647            
3648            
3649            
3650            
3651            
3652            
3653            
3654            
3655            
3656            
3657            
3658            
3659            
3660            
3661             > # end of Font
3662            
3663            
3664            
3665            
3666            
3667            
3668            
3669            
3670            
3671            
3672            
3673            
3674            
3675            
3676            
3677            
3678            
3679            
3680            
3681             > # end of Font
3682            
3683            
3684            
3685            
3686            
3687            
3688            
3689            
3690            
3691            
3692            
3693            
3694            
3695            
3696            
3697            
3698            
3699            
3700            
3701             > # end of Font
3702            
3703            
3704            
3705            
3706            
3707            
3708            
3709            
3710            
3711            
3712            
3713            
3714            
3715            
3716            
3717            
3718            
3719            
3720             > # end of Font
3721            
3722            
3723            
3724            
3725            
3726            
3727            
3728            
3729            
3730            
3731            
3732            
3733            
3734            
3735            
3736             > # end of Font
3737            
3738            
3739            
3740            
3741            
3742            
3743            
3744            
3745            
3746            
3747            
3748            
3749            
3750            
3751            
3752            
3753            
3754            
3755            
3756             > # end of Font
3757            
3758            
3759            
3760            
3761            
3762            
3763            
3764            
3765            
3766            
3767            
3768            
3769            
3770            
3771            
3772            
3773            
3774            
3775            
3776             > # end of Font
3777            
3778            
3779            
3780            
3781            
3782            
3783            
3784            
3785            
3786            
3787            
3788            
3789            
3790            
3791            
3792            
3793            
3794            
3795            
3796             > # end of Font
3797            
3798            
3799            
3800            
3801            
3802            
3803            
3804            
3805            
3806            
3807            
3808            
3809            
3810            
3811            
3812            
3813             > # end of Font
3814            
3815            
3816            
3817            
3818            
3819            
3820            
3821            
3822            
3823            
3824            
3825            
3826            
3827            
3828            
3829            
3830            
3831            
3832             > # end of Font
3833            
3834            
3835            
3836            
3837            
3838            
3839            
3840            
3841            
3842            
3843            
3844            
3845            
3846            
3847            
3848            
3849            
3850            
3851            
3852             > # end of Font
3853            
3854            
3855            
3856            
3857            
3858            
3859            
3860            
3861            
3862            
3863            
3864            
3865            
3866            
3867            
3868            
3869            
3870            
3871            
3872             > # end of Font
3873            
3874            
3875            
3876            
3877            
3878            
3879            
3880            
3881            
3882            
3883            
3884            
3885            
3886            
3887            
3888            
3889            
3890            
3891            
3892             > # end of Font
3893             > # end of FontCatalog
3894            
3895            
3896            
3897            
3898            
3899            
3900            
3901            
3902            
3903             > # end of Ruling
3904            
3905            
3906            
3907            
3908            
3909            
3910            
3911            
3912             > # end of Ruling
3913            
3914            
3915            
3916            
3917            
3918            
3919            
3920            
3921             > # end of Ruling
3922            
3923            
3924            
3925            
3926            
3927            
3928            
3929            
3930             > # end of Ruling
3931            
3932            
3933            
3934            
3935            
3936            
3937            
3938            
3939             > # end of Ruling
3940             > # end of RulingCatalog
3941            
3942            
3943            
3944            
3945            
3946            
3947            
3948            
3949             > # end of TblColumnH
3950            
3951            
3952             > # end of TblColumnBody
3953            
3954            
3955             > # end of TblColumnF
3956             > # end of TblColumn
3957            
3958            
3959            
3960            
3961            
3962             > # end of TblColumnH
3963            
3964            
3965             > # end of TblColumnBody
3966            
3967            
3968             > # end of TblColumnF
3969             > # end of TblColumn
3970            
3971            
3972            
3973            
3974            
3975            
3976            
3977            
3978            
3979            
3980            
3981            
3982            
3983            
3984            
3985            
3986            
3987            
3988            
3989            
3990            
3991            
3992            
3993            
3994            
3995            
3996            
3997            
3998            
3999            
4000            
4001            
4002            
4003            
4004            
4005            
4006            
4007            
4008            
4009            
4010            
4011            
4012            
4013            
4014            
4015            
4016            
4017            
4018            
4019            
4020            
4021            
4022            
4023            
4024            
4025            
4026            
4027            
4028            
4029            
4030            
4031            
4032            
4033            
4034            
4035            
4036            
4037             > # end of PgfFont
4038            
4039             \\\\t'>
4040            
4041            
4042            
4043            
4044            
4045            
4046            
4047             > # end of TabStop
4048             > # end of Pgf
4049             > # end of TblTitlePgf1
4050            
4051            
4052            
4053            
4054            
4055            
4056             > # end of TblFormat
4057            
4058            
4059            
4060            
4061            
4062            
4063            
4064            
4065            
4066            
4067            
4068            
4069            
4070            
4071            
4072            
4073            
4074            
4075            
4076            
4077            
4078            
4079            
4080            
4081            
4082            
4083            
4084            
4085            
4086            
4087            
4088            
4089            
4090            
4091            
4092            
4093            
4094            
4095            
4096            
4097            
4098            
4099            
4100            
4101            
4102            
4103            
4104            
4105            
4106            
4107            
4108            
4109            
4110             > # end of PgfFont
4111            
4112            
4113            
4114            
4115            
4116            
4117            
4118            
4119            
4120            
4121            
4122            
4123            
4124            
4125            
4126            
4127            
4128            
4129            
4130            
4131            
4132             > # end of Pgf
4133             > # end of TblColumnH
4134            
4135            
4136            
4137            
4138            
4139            
4140            
4141            
4142            
4143            
4144            
4145            
4146            
4147            
4148            
4149            
4150            
4151            
4152            
4153            
4154            
4155            
4156            
4157            
4158            
4159            
4160            
4161            
4162            
4163            
4164            
4165            
4166            
4167            
4168            
4169            
4170            
4171            
4172            
4173            
4174            
4175            
4176            
4177            
4178            
4179            
4180            
4181            
4182             > # end of PgfFont
4183             > # end of Pgf
4184             > # end of TblColumnBody
4185            
4186            
4187             > # end of TblColumnF
4188             > # end of TblColumn
4189            
4190            
4191            
4192            
4193            
4194             > # end of TblColumnH
4195            
4196            
4197             > # end of TblColumnBody
4198            
4199            
4200             > # end of TblColumnF
4201             > # end of TblColumn
4202            
4203            
4204            
4205            
4206            
4207             > # end of TblColumnH
4208            
4209            
4210             > # end of TblColumnBody
4211            
4212            
4213             > # end of TblColumnF
4214             > # end of TblColumn
4215            
4216            
4217            
4218            
4219            
4220             > # end of TblColumnH
4221            
4222            
4223             > # end of TblColumnBody
4224            
4225            
4226             > # end of TblColumnF
4227             > # end of TblColumn
4228            
4229            
4230            
4231            
4232            
4233            
4234            
4235            
4236            
4237            
4238            
4239            
4240            
4241            
4242            
4243            
4244            
4245            
4246            
4247            
4248            
4249            
4250            
4251            
4252            
4253            
4254            
4255            
4256            
4257            
4258            
4259            
4260            
4261            
4262            
4263            
4264            
4265            
4266            
4267            
4268            
4269            
4270            
4271            
4272            
4273            
4274            
4275            
4276            
4277            
4278            
4279            
4280            
4281            
4282            
4283            
4284            
4285            
4286            
4287            
4288            
4289            
4290            
4291            
4292            
4293            
4294            
4295            
4296             > # end of PgfFont
4297            
4298             \\\\t'>
4299            
4300            
4301            
4302            
4303            
4304            
4305            
4306             > # end of TabStop
4307             > # end of Pgf
4308             > # end of TblTitlePgf1
4309            
4310            
4311            
4312            
4313            
4314            
4315             > # end of TblFormat
4316             > # end of TblCatalog
4317            
4318            
4319            
4320            
4321             > # end of View
4322            
4323            
4324            
4325            
4326            
4327            
4328            
4329            
4330             > # end of View
4331            
4332            
4333            
4334            
4335             > # end of View
4336            
4337            
4338            
4339             > # end of View
4340            
4341            
4342            
4343             > # end of View
4344            
4345            
4346            
4347             > # end of View
4348             > # end of Views
4349            
4350            
4351            
4352             '>
4353             > # end of VariableFormat
4354            
4355            
4356             '>
4357             > # end of VariableFormat
4358            
4359            
4360             '>
4361             > # end of VariableFormat
4362            
4363            
4364             \<\$daynum\\>, \<\$year\\>'>
4365             > # end of VariableFormat
4366            
4367            
4368             /\<\$monthnum\\>/\<\$shortyear\\>'>
4369             > # end of VariableFormat
4370            
4371            
4372             '>
4373             > # end of VariableFormat
4374            
4375            
4376             '>
4377             > # end of VariableFormat
4378            
4379            
4380             '>
4381             > # end of VariableFormat
4382            
4383            
4384             '>
4385             > # end of VariableFormat
4386            
4387            
4388             \<\$daynum\\>, \<\$year\\>'>
4389             > # end of VariableFormat
4390            
4391            
4392             '>
4393             > # end of VariableFormat
4394            
4395            
4396             \<\$monthname\\>, \<\$year\\>'>
4397             > # end of VariableFormat
4398            
4399            
4400             /\<\$daynum\\>/\<\$shortyear\\>'>
4401             > # end of VariableFormat
4402            
4403            
4404             '>
4405             > # end of VariableFormat
4406            
4407            
4408            
4409             > # end of VariableFormat
4410            
4411            
4412             of \<\$tblsheetcount\\>)'>
4413             > # end of VariableFormat
4414            
4415            
4416             Draft Only\'>
4417             > # end of VariableFormat
4418             > # end of VariableFormats
4419            
4420            
4421            
4422             '>
4423             > # end of XRefFormat
4424            
4425            
4426             '>
4427             > # end of XRefFormat
4428            
4429            
4430             \<\$paratext\\>\'>
4431             > # end of XRefFormat
4432            
4433            
4434             '>
4435             > # end of XRefFormat
4436            
4437            
4438             on page \<\$pagenum\\>'>
4439             > # end of XRefFormat
4440            
4441            
4442             on page \<\$pagenum\\>'>
4443             > # end of XRefFormat
4444            
4445            
4446             '>
4447             > # end of XRefFormat
4448            
4449            
4450             '>
4451             > # end of XRefFormat
4452             > # end of XRefFormats
4453            
4454            
4455            
4456            
4457            
4458            
4459            
4460            
4461            
4462            
4463            
4464            
4465            
4466            
4467            
4468            
4469            
4470            
4471            
4472            
4473            
4474            
4475            
4476            
4477            
4478            
4479            
4480            
4481            
4482            
4483            
4484            
4485            
4486            
4487            
4488            
4489            
4490            
4491            
4492            
4493            
4494            
4495            
4496            
4497            
4498            
4499            
4500            
4501            
4502            
4503            
4504            
4505            
4506            
4507            
4508            
4509            
4510            
4511            
4512            
4513            
4514            
4515            
4516            
4517            
4518            
4519            
4520            
4521            
4522            
4523            
4524            
4525            
4526            
4527            
4528            
4529            
4530            
4531            
4532            
4533            
4534            
4535            
4536            
4537            
4538            
4539            
4540            
4541            
4542            
4543            
4544            
4545            
4546            
4547            
4548            
4549            
4550            
4551            
4552            
4553            
4554            
4555            
4556            
4557            
4558            
4559            
4560            
4561            
4562            
4563            
4564             > # end of Document
4565            
4566             HTMLIX.doc'>
4567            
4568            
4569            
4570            
4571             > # end of BookComponent
4572            
4573             HTMLLOT.doc'>
4574            
4575            
4576            
4577            
4578             > # end of BookComponent
4579            
4580             HTMLLOF.doc'>
4581            
4582            
4583            
4584            
4585             > # end of BookComponent
4586            
4587             HTMLTOC.doc'>
4588            
4589            
4590            
4591            
4592            
4593            
4594            
4595            
4596            
4597            
4598            
4599             > # end of BookComponent
4600            
4601            
4602            
4603            
4604             > # end of AutoNumSeries
4605            
4606            
4607            
4608             > # end of AutoNumSeries
4609            
4610            
4611            
4612            
4613             > # end of AutoNumSeries
4614             > # end of InitialAutoNums
4615            
4616             > # end of Dictionary
4617             EOFT
4618 0           $imgunit =<
4619            
4620            
4621            
4622            
4623            
4624            
4625            
4626            
4627            
4628             > # end of DashedPattern
4629            
4630            
4631            
4632            
4633            
4634            
4635            
4636            
4637            
4638            
4639            
4640            
4641            
4642            
4643            
4644            
4645             martin.gif'>
4646            
4647            
4648            
4649            
4650            
4651            
4652            
4653            
4654             > # end of ImportObject
4655             > # end of Frame
4656             EOFF
4657            
4658 0           $aframe_instances=<
4659            
4660             > # end of AFrames
4661             EOAF
4662            
4663 0           $masterpages=<
4664            
4665            
4666            
4667            
4668            
4669            
4670            
4671            
4672            
4673            
4674            
4675            
4676            
4677            
4678             > # end of DashedPattern
4679            
4680            
4681            
4682            
4683            
4684            
4685            
4686            
4687            
4688            
4689            
4690            
4691            
4692            
4693             > # end of PolyLine
4694             > # end of Frame
4695            
4696            
4697            
4698            
4699            
4700            
4701            
4702            
4703            
4704            
4705            
4706            
4707            
4708            
4709            
4710            
4711            
4712            
4713            
4714            
4715            
4716            
4717            
4718            
4719            
4720            
4721            
4722             > # end of Font
4723            
4724             > # end of TextLine
4725            
4726            
4727            
4728            
4729            
4730            
4731            
4732            
4733             > # end of Font
4734             > # end of TextLine
4735             > # end of Page
4736            
4737            
4738            
4739            
4740            
4741            
4742            
4743            
4744            
4745            
4746            
4747            
4748            
4749            
4750            
4751             > # end of DashedPattern
4752            
4753            
4754            
4755            
4756            
4757            
4758            
4759            
4760            
4761            
4762            
4763             > # end of TextRect
4764            
4765            
4766            
4767            
4768            
4769            
4770            
4771            
4772            
4773            
4774             > # end of Font
4775            
4776             > # end of TextLine
4777             > # end of Page
4778            
4779            
4780            
4781            
4782            
4783            
4784            
4785            
4786            
4787            
4788            
4789            
4790            
4791            
4792            
4793             > # end of DashedPattern
4794            
4795            
4796            
4797            
4798            
4799            
4800            
4801            
4802            
4803            
4804            
4805             > # end of TextRect
4806            
4807            
4808            
4809            
4810            
4811            
4812            
4813            
4814            
4815            
4816             > # end of Font
4817            
4818             > # end of TextLine
4819             > # end of Page
4820            
4821            
4822            
4823            
4824            
4825            
4826            
4827            
4828            
4829            
4830            
4831            
4832            
4833            
4834            
4835            
4836            
4837            
4838            
4839            
4840             > # end of TextRect
4841             > # end of Page
4842            
4843            
4844            
4845            
4846            
4847            
4848            
4849            
4850            
4851            
4852            
4853            
4854            
4855            
4856            
4857            
4858            
4859            
4860            
4861            
4862             > # end of TextRect
4863             > # end of Page
4864            
4865            
4866            
4867            
4868            
4869            
4870            
4871            
4872            
4873            
4874            
4875            
4876            
4877            
4878            
4879            
4880            
4881            
4882            
4883            
4884            
4885            
4886             > # end of TextRect
4887             > # end of Page
4888            
4889            
4890            
4891            
4892            
4893            
4894            
4895            
4896             > # end of Notes
4897            
4898            
4899            
4900            
4901             > # end of ParaLine
4902             > # end of Para
4903             > # end of TextFlow
4904            
4905            
4906            
4907            
4908            
4909            
4910            
4911            
4912             > # end of Notes
4913            
4914            
4915            
4916            
4917             > # end of ParaLine
4918             > # end of Para
4919             > # end of TextFlow
4920            
4921            
4922            
4923            
4924            
4925            
4926            
4927            
4928             > # end of Notes
4929            
4930            
4931            
4932            
4933             > # end of ParaLine
4934             > # end of Para
4935             > # end of TextFlow
4936            
4937            
4938            
4939            
4940            
4941            
4942            
4943            
4944             > # end of Notes
4945            
4946            
4947            
4948            
4949             > # end of ParaLine
4950             > # end of Para
4951             > # end of TextFlow
4952             EOMP
4953 0           $textflowtop=<
4954            
4955            
4956            
4957            
4958            
4959            
4960            
4961            
4962             > # end of Notes
4963             EOTFT
4964 0           $endofall=<
4965             > # end of TextFlow
4966             # End of MIFFile
4967             EOALL
4968 0           $textform=<
4969            
4970             EOTXTF
4971 0           $parastart=<
4972            
4973            
4974             EOBS
4975 0           $paraline=<
4976            
4977             EOPL
4978 0           $flowrect=<
4979            
4980             EOFLRECT
4981 0           $paraend=<
4982             > # end of Para
4983             EOPE
4984 0           $paralineend=<
4985             > # end of ParaLine
4986             EOPLE
4987 0           $tblstart=<
4988            
4989            
4990             EOTBLS
4991 0           $theadstart =<
4992            
4993             EOTH
4994 0           $trstart=<
4995            
4996             EOTR
4997 0           $tdstart=<
4998            
4999            
5000             EOTD
5001 0           $theadend=<
5002             > # end of TblH
5003             EOTHE
5004 0           $tbodystart=<
5005            
5006             EOTBODY
5007 0           $trend=<
5008             > # end of Row
5009             EOTRE
5010 0           $tdend=<
5011             > # end of CellContent
5012             > # end of Cell
5013             EOTDE
5014 0           $tblend=<
5015             > # end of TblBody
5016             > # end of Tbl
5017             EOTBLE
5018 0           $tblnobords=<
5019            
5020            
5021             EONBS
5022 0           $tblformend=<
5023             > # end of TblFormat
5024             EOTBLENDF
5025 0           $tblnormbords=<
5026            
5027            
5028             EONORMBS
5029 0           $fontstart=<
5030            
5031            
5032            
5033             > # end of Font
5034             EOFFSTART
5035 0           $mark=<
5036            
5037            
5038            
5039            
5040             > # end of Marker
5041             EOFMARK
5042 0           $xrefstart=<
5043            
5044            
5045            
5046            
5047            
5048             > # end of XRef
5049             EOXREFS
5050 0           $fontend=<
5051            
5052            
5053            
5054             > # end of Font
5055             EOFFEND
5056 0           $colwidth=<
5057            
5058             EOCOLWID
5059 0           $tblcolblank=<
5060            
5061            
5062             > # end of TblColumn
5063             ENDOFDATA
5064            
5065            
5066 0           my @initvalues = ($outfile, $tblmatrix, $filetop, $aframe_instances, $table_instances,
5067             $masterpages, $textflowtop, $textflow, $endofall, $inflow,
5068             $intable, $intblhd, $intblbody, $inmark, $inhref, $lasttag, $mark,
5069             $xrefstart, $inlist, $numfirst, $textform, $imgunit,
5070             $imgcount, $thisparstart, $thispar, $thisparend, $thistable,
5071             $thisformat, $thisrow, $thiscell, $tblcount, $maxcols,
5072             $rowcount, $colcount, $maxtblcols, $tblstart, $tblnormbords,
5073             $tblnobords, $theadstart, $tbodystart, $theaddone, $trstart,
5074             $tdstart, $tblformend, $tblcolblank, $theadend, $trend, $tdend,
5075             $tblend, $parastart, $paraline, $flowrect, $paraend, $paralineend,
5076             $fontstart, $fontend, $colwidth, $txtarea, $betweentags, $ignore);
5077            
5078 0           my %inits;
5079 0           @inits{@initkeys} = @initvalues;
5080 0           \%inits;
5081             }
5082             1;