From 7372f56054259457f77c64cbdb34e736531cfc0e Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sat, 4 Jul 2009 11:57:29 -0400 Subject: move lib to version 1 directory, (lib/sisu/v1) and make related changes --- lib/sisu/v0/dal_doc_str_tables.rb | 198 -------------------------------------- 1 file changed, 198 deletions(-) delete mode 100644 lib/sisu/v0/dal_doc_str_tables.rb (limited to 'lib/sisu/v0/dal_doc_str_tables.rb') diff --git a/lib/sisu/v0/dal_doc_str_tables.rb b/lib/sisu/v0/dal_doc_str_tables.rb deleted file mode 100644 index ff29706b..00000000 --- a/lib/sisu/v0/dal_doc_str_tables.rb +++ /dev/null @@ -1,198 +0,0 @@ -# coding: utf-8 -=begin - - * Name: SiSU - - * Description: a framework for document structuring, publishing and search - - * Author: Ralph Amissah - - * Copyright: (C) 1997 - 2009 Ralph Amissah All Rights Reserved. - - * License: GPL 3 or later: - - SiSU, a framework for document structuring, publishing and search - - Copyright (C) Ralph Amissah - - This program is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the Free - Software Foundation, either version 3 of the License, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - You should have received a copy of the GNU General Public License along with - this program. If not, see . - - If you have Internet connection, the latest version of the GPL should be - available at these locations: - - - - - - - - * SiSU uses: - * Standard SiSU markup syntax, - * Standard SiSU meta-markup syntax, and the - * Standard SiSU object citation numbering and system - - * Hompages: - - - - * Download: - - - * Ralph Amissah - - - - ** Description: document abstraction tables - -=end -module SiSU_document_structure_tables - class Instantiate < SiSU_Param::Parameters::Instructions - @@flag={} - def initialize - @@flag['table_to']=false - @@counter=@@column=@@columns=0 - @@line_mode='' - end - end - class Tables - @@flag={} - def initialize(md,data) - @md,@data=md,data - Instantiate.new - end - def table_visual(para) - count=0 - @row=[] - table=[] - @rows=para.split(/;;/) - @rows.compact! #(c\d+?;.+?) - @rows.each do |row| - count +=1 - @row[count]=row.split(/\|/) - end - @row.compact! - widths=if @row[0].join =~/^\{(?:t|table)(?:~h)?\s+\d+;/ - col_width=@row[0].join.scan(/\d+/) - rem=(100 - col_width[0].to_i) - col_w=rem/(@row[1].length - 1) - "#{col_width[0].to_s};" + ("#{col_w};" * (@row[1].length-1)) - else - col_w=100/@row[1].length - "#{col_w};" * @row[1].length - end - @row.delete_if {|r| r[0] =~/\{(?:table|t)(?:~h)?(?:\s+c\d+;)?[\d; ]*\}/} - w=widths.split(/;/) - tuned_file=[] - tuned_file << if para =~/\{(?:t|table)~h(?:\sc\d+;)?[\d; ]*\}/ - "#{Mx[:gr_o]}Th#{Mx[:tc_p]} c#{@row[2].length}; #{widths}#{Mx[:gr_c]}" - elsif para =~/\{(?:t|table)(?:\sc\d+;)?[\d; ]*\}/ - "#{Mx[:gr_o]}T#{Mx[:tc_p]} c#{@row[2].length}; #{widths}#{Mx[:gr_c]}" - end - @row.each do |l| - l << '' if l.length == (@row[1].length - 1) - table=[] - if l.length == @row[1].length - table << Mx[:tc_o] #'' - n= -1 - l.each do |c| - n +=1 #'' + c + '' - table << if c =~/\A(?:\n)?\s*\Z/ - "#{Mx[:tc_p]}#{Mx[:tc_p]}#{w[n]}#{Mx[:tc_p]}" + ' ' - else - "#{Mx[:tc_p]}#{Mx[:tc_p]}#{w[n]}#{Mx[:tc_p]}" + c.strip - end - end - table << Mx[:tc_c] - tuned_file << table.join - end - end - tuned_file << "#{Mx[:gr_o]}TZ#{Mx[:gr_c]}" #'' - tuned_file=tuned_file.compact.join("\n") - end - def tables - data=@data - count=0 - @row,@tuned_file,@tuned_table=[],[],[] - data.each do |para| - para.gsub!(/\n\s+\n/,"\n") - para.gsub!(/\s+\n/,"\n") - para.gsub!(/<:hi>/,'') # bright yellow rgb(255,255,0) pale yellow rgb(255,255,200) - para.gsub!(/<:\/hi>/,%{}) - table=[] - if para =~/^\{(?:t|table)(?:~h)?(?:\sc\d+;)?[\d; ]*\}/ - @tuned_file << table_visual(para) - @tuned_file=@tuned_file.flatten - elsif @@flag['table_to'] \ - or para[/^table\{(?:~h)?/] - if para[/table\{(?:~h)?\s+c(\d+;.+)/] - instructions=$1 - @@column=instructions.split(/;\s*/) - @@columns=@@column[0] - para.gsub!(/^table\{~h\s+(c\d+?;.+?)$/,"#{Mx[:gr_o]}Th#{Mx[:tc_p]} \\1#{Mx[:gr_c]}") - para.gsub!(/^table\{\s+(c\d+?;.+?)$/,"#{Mx[:gr_o]}T#{Mx[:tc_p]} \\1#{Mx[:gr_c]}") - @@flag['table_to']=true - end - if @@flag['table_to'] \ - and para =~/\}table/ - para.gsub!(/^\}table\s*$/,"#{Mx[:gr_o]}TZ#{Mx[:gr_c]}\n") - para.gsub!(/\n/,' ') #newlines taken out - para.strip! - @tuned_table << para - @tuned_table.delete('') - @tuned_file << @tuned_table.compact.join("\n") #@tuned_table.compact.join =~/\S+/ #would be preferable - para='' - @tuned_table=[] - @@flag['table_to']=false - end - if @@flag['table_to'] \ - and para =~/\S/ - @@counter=1 - sub_array=para.dup - @@line_mode=sub_array.scan(/.+/u) - Tables.new(@md,@@line_mode).tr_td - para=@@line_mode.join - para.gsub!(/(.*\S+.*)\Z/m,"#{Mx[:tc_o]}\\1#{Mx[:tc_c]}") unless para =~/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}/u - end - para.gsub!(/\n/,' ') - para.strip! - @tuned_table << para - else - para.gsub!(/\n/,' ') unless para =~/#{Mx[:gr_o]}(?:code|verse|alt|group)#{Mx[:gr_c]}/ - para.strip! - @tuned_file << para - end - @tuned_file - end - @tuned_file - end - def tr_td - data=@data - data.each do |line| - if @@counter <= @@columns.to_i \ - and line !~/(\}T\s*$|#{Mx[:gr_o]}:table[-_](close|end)#{Mx[:gr_c]}|#{Mx[:gr_o]}TZ#{Mx[:gr_c]})/ - #if line.encoding.inspect =~/Encoding:ASCII-8BIT/ - # line=line.force_encoding('utf-8') - #end - line.gsub!(/(.+)/,"#{Mx[:tc_p]}#{Mx[:tc_p]}#{@@column[@@counter]}#{Mx[:tc_p]}\\1") unless line =~/#{Mx[:gr_o]}Th?#{Mx[:tc_p]}/u - @@counter+=1 - end - end - data - end - end -end -__END__ -#p line.encoding -@data.each {|x| p x.encoding } -p para if para.encoding.inspect =~/Encoding:ASCII-8BIT/ -- cgit v1.2.3