|
}
end
def table_end(tablefoot='')
%{ #{@vz.margin_num}#{@vz.margin_num} #{@vz.table_close}
#{tablefoot}}
end
def table_row(inf,h=false)
bold=if h; ''
else ''
end
%{
#{@vz.paragraph_table}#{bold}}
end
def table_cell(inf,h=false)
if h; %{ | #{@vz.paragraph_table}}
else %{ | #{@vz.paragraph_table}}
end
end
def table_row_close(h=false)
bold_close=if h; ''
else ''
end
"#{bold_close} | "
end
def table
m=@parablock[//,1]
@@tablefoot << m if m
@parablock.gsub!(//,'')
@@tablehead=1 if @parablock =~/#{Mx[:gr_o]}Th#{Mx[:tc_p]}/u
if @parablock =~/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}.+?#{Mx[:tc_p]}~(\d+);\w\d+;\w\d+#{Mx[:gr_c]}/u; @parablock=table_head($1)
end
if @parablock =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/
tablefoot=[]
@@tablefoot.each {|x| tablefoot << ''}
@@tablefoot=[]
if @parablock =~/#{Mx[:gr_o]}TZ#{Mx[:gr_c]}/; @parablock=table_end
end
end
if @@tablehead == 1
if @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}/u
if @parablock =~/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u
@parablock.gsub!(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_row($1,true))
end
if @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u
@parablock.gsub!(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_cell($1,true))
end
if @parablock =~/#{Mx[:tc_c]}/
@parablock.gsub!(/#{Mx[:tc_c]}/,table_row_close(true))
end
@@tablehead=0
end
@parablock
else
if @parablock =~/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u
@parablock.gsub!(/#{Mx[:tc_o]}#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_row($1))
end
if @parablock =~/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u
@parablock.gsub!(/#{Mx[:tc_p]}#{Mx[:tc_p]}(\d+?)#{Mx[:tc_p]}/u,table_cell($1))
end
if @parablock =~/#{Mx[:tc_c]}/
@parablock.gsub!(/#{Mx[:tc_c]}/,table_row_close)
end
@parablock
end
@parablock
end
def table_split
@new_content=[]
@one.split(/\n/).each do |parablock|
table=Table.new("#{parablock}\n")
@new_content << table.table
end
@new_content.join
end
end
end
__END__
|