From 5fb49b575a548313b827fd66fd7ecce514fe0e45 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Mon, 6 Jan 2014 23:02:50 -0500 Subject: v5: heading recalibration, code (downstream) changes * here no doubt remains breakage (test, fix & test again) --- lib/sisu/v5/xhtml_epub2_segments.rb | 64 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 33 deletions(-) (limited to 'lib/sisu/v5/xhtml_epub2_segments.rb') diff --git a/lib/sisu/v5/xhtml_epub2_segments.rb b/lib/sisu/v5/xhtml_epub2_segments.rb index 07447020..764fcc17 100644 --- a/lib/sisu/v5/xhtml_epub2_segments.rb +++ b/lib/sisu/v5/xhtml_epub2_segments.rb @@ -124,8 +124,8 @@ WOK @@seg_name,@@seg_name_xhtml=[],[] @@seg_url=@@fn=@@get_hash_to=@@get_hash_fn='' @@loop_count=@@seg_total=@@tracker=0 - @@is4=@@is3=@@is2=@@is1=0 - @@heading1=@@heading2=@@heading3=@@heading4=0 + @@is4=@@is3=@@is2=@@is1=@@is0=0 + @@heading0=@@heading1=@@heading2=@@heading3=@@heading4=0 @@seg[:headings],@@seg[:main],@@seg[:idx],@@seg[:tail],@@seg_subtoc_array,@@seg_endnotes_array,@@seg[:endnote_all]=Array.new(7){[]} @@seg[:heading_endnotes]='' @@tablehead,@@number_of_cols=0,0 @@ -155,7 +155,7 @@ WOK protected def articles(data) tracking,newfile=0,0 - @@is4=@@is3=@@is2=@@is1=0 + @@is4=@@is3=@@is2=@@is1=@@is0=0 printed_endnote_seg='n' idx_xhtml=nil if @md.book_idx @@ -196,35 +196,38 @@ WOK #end if (dob.is==:heading \ || dob.is==:heading_insert) \ - and dob.ln==4 - if dob.ocn==0 - @@heading4=dob.obj - else @@heading4=dob.obj - end + && dob.ln==4 + @@heading4=dob.obj @@is4=newfile=1 end if (dob.is==:heading \ || dob.is==:heading_insert) \ - and dob.ln==3 + && dob.ln==3 @@heading3=dob.obj @@is4,@@is3=0,1 end if (dob.is==:heading \ || dob.is==:heading_insert) \ - and dob.ln==2 + && dob.ln==2 @@heading2=dob.obj @@is4,@@is3,@@is2=0,0,1 end if (dob.is==:heading \ || dob.is==:heading_insert) \ - and dob.ln==1 + && dob.ln==1 @@heading1=dob.obj @@is4,@@is3,@@is2,@@is1=0,0,0,1 end - if (@@is1 && !@@is2 && !@@is3 && !@@is4) + if (dob.is==:heading \ + || dob.is==:heading_insert) \ + && dob.ln==0 + @@heading0=dob.obj + @@is4,@@is3,@@is2,@@is1,@@is0=0,0,0,0,1 + end + if (@@is0 && !@@is1 && !@@is2 && !@@is3 && !@@is4) if not (dob.is==:heading \ || dob.is==:heading_insert) \ - and dob.ln==1 + && dob.ln==0 $_ #; check end end @@ -235,7 +238,7 @@ WOK newfile=0 if (dob.is==:heading \ || dob.is==:heading_insert) \ - and dob.ln==4 + && dob.ln==4 if tracking != 0 SiSU_XHTML_EPUB2_Seg::Seg.new(@md).tail segfilename="#{dir_epub_cont}/#{@@seg_name_xhtml[tracking-1]}#{Sfx[:epub_xhtml]}" @@ -275,8 +278,8 @@ WOK end if (dob.is==:heading \ || dob.is==:heading_insert) \ - and dob.ln==4 \ - and dob.name + && dob.ln==4 \ + && dob.name @@get_hash_to=dob.name @@get_hash_fn=dob.name end @@ -302,15 +305,19 @@ WOK def head(dob) clean=/|<:.*?>$/ @p_num ||= '' - if @@is1==1 + if @@is0==1 if defined? @md.creator.author \ and @md.creator.author @author=%{#{@md.creator.author}\n} end - ocn=(@@heading1[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \ - ? $1 - : '' - @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) + @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,dob.ocn) + txt_obj={ txt: @@heading0, ocn_display: @p_num.ocn_display } + format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) + @@seg[:headings] << format_seg.title_heading0.gsub(clean,'') + @@heading0=@@heading0.gsub(/#{$ep[:hsp]}#{$ep[:hsp]}[\d*+]+<\/sup>#{$ep[:hsp]}<\/a>/,'') + end + if @@is1==1 + @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,dob.ocn) txt_obj={ txt: @@heading1, ocn_display: @p_num.ocn_display } format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) @@seg[:headings] << format_seg.title_heading1.gsub(clean,'') @@ -318,10 +325,7 @@ WOK end if @@is2==1 heading2=@@heading2 - ocn=(heading2[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \ - ? $1 - : '' - @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) + @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,dob.ocn) txt_obj={ txt: heading2, ocn_display: @p_num.ocn_display } format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) @@seg[:headings] << format_seg.title_heading2.gsub(clean,'') @@ -329,10 +333,7 @@ WOK end if @@is3==1 heading3=@@heading3 - ocn=(heading3[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \ - ? $1 - : '' - @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) + @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,dob.ocn) txt_obj={ txt: heading3, ocn_display: @p_num.ocn_display } format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) @@seg[:headings] << format_seg.title_heading3.gsub(clean,'') @@ -340,10 +341,7 @@ WOK end if @@is4==1 heading4=@@heading4 - ocn=(heading4[/.+?#{Mx[:id_o]}~(\d+);(?:[oh]|[0-6]:)\d+;\w\d+#{Mx[:id_c]}#{Mx[:id_o]}#{@dp}:#{@dp}#{Mx[:id_c]}$/]) \ - ? $1 - : '' - @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,ocn) + @p_num=SiSU_XHTML_EPUB2_Format::ParagraphNumber.new(@md,dob.ocn) txt_obj={ txt: heading4, ocn_display: @p_num.ocn_display } format_seg=SiSU_XHTML_EPUB2_Format::FormatSeg.new(@md,txt_obj) @@seg[:headings] << format_seg.title_heading4.gsub(clean,'') -- cgit v1.2.3