diff options
| -rw-r--r-- | data/doc/sisu/CHANGELOG_v2 | 8 | ||||
| -rw-r--r-- | data/doc/sisu/CHANGELOG_v3 | 21 | ||||
| -rw-r--r-- | data/sisu/v2/odf/odt.zip | bin | 5577 -> 0 bytes | |||
| -rw-r--r-- | data/sisu/v2/v/version.yml | 4 | ||||
| -rw-r--r-- | data/sisu/v3/odf/odt.zip | bin | 5577 -> 0 bytes | |||
| -rw-r--r-- | data/sisu/v3/v/version.yml | 6 | ||||
| -rw-r--r-- | lib/sisu/v2/odf.rb | 159 | ||||
| -rw-r--r-- | lib/sisu/v2/odf_format.rb | 251 | ||||
| -rw-r--r-- | lib/sisu/v2/sysenv.rb | 33 | ||||
| -rw-r--r-- | lib/sisu/v3/manifest.rb | 2 | ||||
| -rw-r--r-- | lib/sisu/v3/odf.rb | 209 | ||||
| -rw-r--r-- | lib/sisu/v3/odf_format.rb | 266 | ||||
| -rw-r--r-- | lib/sisu/v3/sysenv.rb | 25 | 
13 files changed, 792 insertions, 192 deletions
| diff --git a/data/doc/sisu/CHANGELOG_v2 b/data/doc/sisu/CHANGELOG_v2 index eab6996e..8291cad0 100644 --- a/data/doc/sisu/CHANGELOG_v2 +++ b/data/doc/sisu/CHANGELOG_v2 @@ -12,6 +12,14 @@ Reverse Chronological:  %% STABLE Branch +%% 2.9.10 (2011-10-15:41/6) [see 3.1.1.orig.tar.xz] +http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/sisu_3.1.1 +http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_3.1.1-1 + +  * odf:odt v1.0 +    * make odt header changes easier to track +    * get rid of (binary changeset) blob +  %% 2.9.9 (2011-10-03:40/1) [see 3.1.0.orig.tar.xz]  http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/sisu_3.1.0  http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_3.1.0-1 diff --git a/data/doc/sisu/CHANGELOG_v3 b/data/doc/sisu/CHANGELOG_v3 index 8c9faace..e8d609e9 100644 --- a/data/doc/sisu/CHANGELOG_v3 +++ b/data/doc/sisu/CHANGELOG_v3 @@ -13,13 +13,28 @@ Reverse Chronological:  %% Development branch UNSTABLE  v3 branch once stable will supersede & replace current stable v2 branch +%% 3.1.1.orig.tar.xz (2011-10-15:41/6) +http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/sisu_3.1.1 +http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_3.1.1-1 +http://www.jus.uio.no/sisu/pkg/src/sisu_3.1.1.orig.tar.xz +  sisu_3.1.1.orig.tar.xz +  sisu_3.1.1-1.dsc +  sisu_3.1.1-1.debian.tar.gz + +  * odf:odt v1.0 +    * make odt header changes easier to track +    * get rid of (binary changeset) blob +    * make odt style names more easily recognizable + +  * manifest, odt url lnk, fix +  %% 3.1.0.orig.tar.xz (2011-10-03:40/1)  http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/sisu_3.1.0  http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_3.1.0-1  http://www.jus.uio.no/sisu/pkg/src/sisu_3.1.0.orig.tar.xz -  sisu_3.1.0.orig.tar.xz -  sisu_3.1.0-1.dsc -  sisu_3.1.0-1.debian.tar.gz +  eed0a01904037a0b6b4e8776a94ce4332e68510b28fe6f06139c960cef5d0020 1182984 sisu_3.1.0.orig.tar.xz +  5d23dc3bd703f62e5a7ae21f7020a7d3d5a4a32affddbdecc7142f75d56d1a5b 1382 sisu_3.1.0-1.dsc +  5a71292ab5cc1617d60591e02e99987f3b2953a9b73d06530142e304b26ccef6 289011 sisu_3.1.0-1.debian.tar.gz    * bin/sisu, default sisu version 3 diff --git a/data/sisu/v2/odf/odt.zip b/data/sisu/v2/odf/odt.zipBinary files differ deleted file mode 100644 index 47c6008e..00000000 --- a/data/sisu/v2/odf/odt.zip +++ /dev/null diff --git a/data/sisu/v2/v/version.yml b/data/sisu/v2/v/version.yml index 62e59e16..f44e16bd 100644 --- a/data/sisu/v2/v/version.yml +++ b/data/sisu/v2/v/version.yml @@ -1,5 +1,5 @@  ---  :version: 2.9.9 -:date_stamp: 2011w40/1 -:date: "2011-10-03" +:date_stamp: 2011w41/6 +:date: "2011-10-15"  :project: SiSU diff --git a/data/sisu/v3/odf/odt.zip b/data/sisu/v3/odf/odt.zipBinary files differ deleted file mode 100644 index 81df6e6c..00000000 --- a/data/sisu/v3/odf/odt.zip +++ /dev/null diff --git a/data/sisu/v3/v/version.yml b/data/sisu/v3/v/version.yml index 8510a9e5..65cf8c21 100644 --- a/data/sisu/v3/v/version.yml +++ b/data/sisu/v3/v/version.yml @@ -1,5 +1,5 @@  --- -:version: 3.1.0 -:date_stamp: 2011w40/1 -:date: "2011-10-03" +:version: 3.1.1 +:date_stamp: 2011w41/6 +:date: "2011-10-15"  :project: SiSU diff --git a/lib/sisu/v2/odf.rb b/lib/sisu/v2/odf.rb index b6ec4c1b..2880cdfe 100644 --- a/lib/sisu/v2/odf.rb +++ b/lib/sisu/v2/odf.rb @@ -81,7 +81,6 @@ module SiSU_ODF      def read        begin          @env,@md,@dal_array=@particulars.env,@particulars.md,@particulars.dal_array -        @env.odf_structure          opendoc=@md.fn[:odf]          path=@env.path.output_tell          unless @opt.cmd =~/q/ @@ -456,6 +455,7 @@ module SiSU_ODF        def markup(data)                                                                 # Used for major markup instructions          safe_characters=/[^a-zA-Z0-9}{\/?,."';:)(><\-_&!@%~#\]\[*=$| \n+`#{Mx[:tc_p]}]/u          dir=SiSU_Env::Info_env.new(@md.fns) +        dir.path.odf_bld          @data_mod,@endnotes,@level,@cont,@copen,@odf_contents_close=Array.new(6){[]}          @rcdc=false          (0..6).each { |x| @cont[x]=@level[x]=false } @@ -550,30 +550,35 @@ module SiSU_ODF        end        def pre          table=if @md.flag_tables -          %{<style:style style:name="Table1" style:family="table"><style:table-properties style:width="16.999cm" table:align="margins"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.A" style:family="table-column"><style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.B" style:family="table-column"><style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.C" style:family="table-column"><style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.D" style:family="table-column"><style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.E" style:family="table-column"><style:table-column-properties style:column-width="3.399cm" style:rel-column-width="13107*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.F" style:family="table-column"><style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.G" style:family="table-column"><style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.H" style:family="table-column"><style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2" style:family="table"><style:table-properties style:width="16.999cm" table:align="margins"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.A" style:family="table-column"><style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.B" style:family="table-column"><style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.C" style:family="table-column"><style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.D" style:family="table-column"><style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.E" style:family="table-column"><style:table-column-properties style:column-width="3.999cm" style:rel-column-width="13107*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.F" style:family="table-column"><style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.G" style:family="table-column"><style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.H" style:family="table-column"><style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.I" style:family="table-column"><style:table-column-properties style:column-width="1.8887cm" style:rel-column-width="7281*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.J" style:family="table-column"><style:table-column-properties style:column-width="1.6999cm" style:rel-column-width="6553*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.K" style:family="table-column"><style:table-column-properties style:column-width="1.5453cm" style:rel-column-width="5957*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.L" style:family="table-column"><style:table-column-properties style:column-width="1.416cm" style:rel-column-width="5461*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.M" style:family="table-column"><style:table-column-properties style:column-width="1.307" style:rel-column-width="5041*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.N" style:family="table-column"><style:table-column-properties style:column-width="1.214cm" style:rel-column-width="4681*"/></style:style>#{@br}} +          x=<<WOK +  <style:style style:name="Table1" style:family="table"><style:table-properties style:width="16.999cm" table:align="margins"/></style:style> +  <style:style style:name="Table1.A" style:family="table-column"><style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/></style:style> +  <style:style style:name="Table1.B" style:family="table-column"><style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/></style:style> +  <style:style style:name="Table1.C" style:family="table-column"><style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/></style:style> +  <style:style style:name="Table1.D" style:family="table-column"><style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/></style:style> +  <style:style style:name="Table1.E" style:family="table-column"><style:table-column-properties style:column-width="3.399cm" style:rel-column-width="13107*"/></style:style> +  <style:style style:name="Table1.F" style:family="table-column"><style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/></style:style> +  <style:style style:name="Table1.G" style:family="table-column"><style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/></style:style> +  <style:style style:name="Table1.H" style:family="table-column"><style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/></style:style> +  <style:style style:name="Table2" style:family="table"><style:table-properties style:width="16.999cm" table:align="margins"/></style:style> +  <style:style style:name="Table2.A" style:family="table-column"><style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/></style:style> +  <style:style style:name="Table2.B" style:family="table-column"><style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/></style:style> +  <style:style style:name="Table2.C" style:family="table-column"><style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/></style:style> +  <style:style style:name="Table2.D" style:family="table-column"><style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/></style:style> +  <style:style style:name="Table2.E" style:family="table-column"><style:table-column-properties style:column-width="3.999cm" style:rel-column-width="13107*"/></style:style> +  <style:style style:name="Table2.F" style:family="table-column"><style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/></style:style> +  <style:style style:name="Table2.G" style:family="table-column"><style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/></style:style> +  <style:style style:name="Table2.H" style:family="table-column"><style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/></style:style> +  <style:style style:name="Table2.I" style:family="table-column"><style:table-column-properties style:column-width="1.8887cm" style:rel-column-width="7281*"/></style:style> +  <style:style style:name="Table2.J" style:family="table-column"><style:table-column-properties style:column-width="1.6999cm" style:rel-column-width="6553*"/></style:style> +  <style:style style:name="Table2.K" style:family="table-column"><style:table-column-properties style:column-width="1.5453cm" style:rel-column-width="5957*"/></style:style> +  <style:style style:name="Table2.L" style:family="table-column"><style:table-column-properties style:column-width="1.416cm" style:rel-column-width="5461*"/></style:style> +  <style:style style:name="Table2.M" style:family="table-column"><style:table-column-properties style:column-width="1.307" style:rel-column-width="5041*"/></style:style> +  <style:style style:name="Table2.N" style:family="table-column"><style:table-column-properties style:column-width="1.214cm" style:rel-column-width="4681*"/></style:style> +WOK +          x.strip! +          x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +          x          else ''          end          breakpage=if @md.pagenew \ @@ -581,45 +586,50 @@ module SiSU_ODF            ' fo:break-before="page"'          else ''          end -        @@odf[:head]<<%{<?xml version="1.0" encoding="UTF-8"?>#{@br}} + -          %{<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" office:version="1.0"><office:scripts/>#{@br}} + -          %{<office:font-face-decls><style:font-face style:name="DejaVu Sans Mono" svg:font-family="'DejaVu Sans Mono'" style:font-adornments="Book" style:font-family-generic="modern" style:font-pitch="fixed"/><style:font-face style:name="Inconsolata" svg:font-family="Inconsolata" style:font-adornments="Regular" style:font-pitch="fixed"/><style:font-face style:name="Liberation Mono" svg:font-family="'Liberation Mono'" style:font-adornments="Regular" style:font-family-generic="modern" style:font-pitch="fixed"/><style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-adornments="ExtraLight" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="Nimbus Sans L" svg:font-family="'Nimbus Sans L'" style:font-pitch="variable"/><style:font-face style:name="Tahoma" svg:font-family="Tahoma, Lucidasans, 'Lucida Sans', 'Arial Unicode MS'" style:font-pitch="variable"/><style:font-face style:name="DejaVu Serif" svg:font-family="'DejaVu Sans'" style:font-adornments="ExtraLight" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="Nimbus Roman No9 L" svg:font-family="'Nimbus Roman No9 L'" style:font-family-generic="roman" style:font-pitch="variable"/><style:font-face style:name="Bitstream Vera Sans" svg:font-family="'Bitstream Vera Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/></office:font-face-decls>#{@br}} + -          %{<office:automatic-styles>#{@br}} + -          %{#{table}#{@br}} + -          %{<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + -          %{<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + # P1 -          %{<style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + # P1 -          %{<style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + -          %{<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="start" style:justify-single-word="false"/></style:style>#{@br}} + -          %{<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-before="page"/></style:style>#{@br}} + -          %{<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Table_20_Contents"><style:paragraph-properties fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + -          %{<style:style style:name="P8" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-before="page"/></style:style>#{@br}} + -          %{<style:style style:name="P9" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-after="page"/></style:style>#{@br}} + -          %{<style:style style:name="P10" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + # P1 -          %{<style:style style:name="P11" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="1cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P12" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="2cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P13" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="3cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P14" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="4cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P15" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="5cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P16" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="6cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P17" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="7cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P18" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="8cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P19" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="8cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P20" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="start" style:justify-single-word="false"/><style:text-properties style:font-name="DejaVu Sans Mono" fo:font-size="9pt" fo:font-weight="normal" fo:background-color="#e6e6e6"/></style:style>#{@br}} + -          %{<style:style style:name="T1" style:family="text"><style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/></style:style>#{@br}} + -          %{<style:style style:name="T2" style:family="text"><style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/></style:style>#{@br}} + -          %{<style:style style:name="T3" style:family="text"><style:text-properties style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color"/></style:style>#{@br}} + -          %{<style:style style:name="T4" style:family="text"><style:text-properties style:text-position="super 58%"/></style:style>#{@br}} + -          %{<style:style style:name="T5" style:family="text"><style:text-properties style:text-position="sub 58%"/></style:style>#{@br}} + -          %{<style:style style:name="T6" style:family="text"><style:text-properties style:font-name="Courier 10 Pitch" fo:font-size="12pt"/></style:style>#{@br}} + -          %{<style:style style:name="T7" style:family="text"><style:text-properties style:font-name="DejaVu Sans Mono" fo:font-size="10pt" fo:font-weight="normal" fo:background-color="#e6e6e6"/></style:style>#{@br}} + -          %{<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Graphics"><style:graphic-properties style:wrap="none" style:horizontal-pos="left" style:horizontal-rel="paragraph" style:mirror="none" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/></style:style>#{@br}} + -          %{<style:style style:name="gr1" style:family="graphic"><style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:color-mode="standard" draw:luminance="0%" draw:contrast="0%" draw:gamma="100%" draw:red="0%" draw:green="0%" draw:blue="0%" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:image-opacity="100%" style:mirror="none" style:run-through="background" style:wrap="none" style:vertical-pos="top" style:vertical-rel="baseline" style:horizontal-pos="left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" style:flow-with-text="false"/></style:style>#{@br}} + -          %{<style:style style:name="gr2" style:family="graphic"><style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:color-mode="standard" draw:luminance="0%" draw:contrast="0%" draw:gamma="100%" draw:red="0%" draw:green="0%" draw:blue="0%" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:image-opacity="100%" style:mirror="none" style:run-through="background" style:wrap="none" style:vertical-pos="middle" style:vertical-rel="baseline" style:horizontal-pos="left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" style:flow-with-text="false"/></style:style>#{@br}} + -          %{</office:automatic-styles>#{@br}} + -          %{<office:body>#{@br}} + -          %{<office:text><office:forms form:automatic-focus="false" form:apply-design-mode="false"/>#{@br}} + -          %{<text:sequence-decls><text:sequence-decl text:display-outline-level="0" text:name="Illustration"/><text:sequence-decl text:display-outline-level="0" text:name="Table"/><text:sequence-decl text:display-outline-level="0" text:name="Text"/><text:sequence-decl text:display-outline-level="0" text:name="Drawing"/></text:sequence-decls>} +        x=<<WOK +<?xml version="1.0" encoding="UTF-8"?> +<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" office:version="1.0"><office:scripts/> +<office:font-face-decls><style:font-face style:name="DejaVu Sans Mono" svg:font-family="'DejaVu Sans Mono'" style:font-adornments="Book" style:font-family-generic="modern" style:font-pitch="fixed"/><style:font-face style:name="Inconsolata" svg:font-family="Inconsolata" style:font-adornments="Regular" style:font-pitch="fixed"/><style:font-face style:name="Liberation Mono" svg:font-family="'Liberation Mono'" style:font-adornments="Regular" style:font-family-generic="modern" style:font-pitch="fixed"/><style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-adornments="ExtraLight" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="Nimbus Sans L" svg:font-family="'Nimbus Sans L'" style:font-pitch="variable"/><style:font-face style:name="Tahoma" svg:font-family="Tahoma, Lucidasans, 'Lucida Sans', 'Arial Unicode MS'" style:font-pitch="variable"/><style:font-face style:name="DejaVu Serif" svg:font-family="'DejaVu Sans'" style:font-adornments="ExtraLight" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="Nimbus Roman No9 L" svg:font-family="'Nimbus Roman No9 L'" style:font-family-generic="roman" style:font-pitch="variable"/><style:font-face style:name="Bitstream Vera Sans" svg:font-family="'Bitstream Vera Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/></office:font-face-decls> +<office:automatic-styles> +#{table} +  <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P5" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="start" style:justify-single-word="false"/></style:style> +  <style:style style:name="P6" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-before="page"/></style:style> +  <style:style style:name="P7" style:family="paragraph" style:parent-style-name="Table_20_Contents"><style:paragraph-properties fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P8" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-before="page"/></style:style> +  <style:style style:name="P9" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-after="page"/></style:style> +  <style:style style:name="P10" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P11" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="1cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P12" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="2cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P13" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="3cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P14" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="4cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P15" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="5cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P16" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="6cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P17" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="7cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P18" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="8cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P19" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="8cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P20" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="start" style:justify-single-word="false"/><style:text-properties style:font-name="DejaVu Sans Mono" fo:font-size="9pt" fo:font-weight="normal" fo:background-color="#e6e6e6"/></style:style> +  <style:style style:name="T1" style:family="text"><style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/></style:style> +  <style:style style:name="T2" style:family="text"><style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/></style:style> +  <style:style style:name="T3" style:family="text"><style:text-properties style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color"/></style:style> +  <style:style style:name="T4" style:family="text"><style:text-properties style:text-position="super 58%"/></style:style> +  <style:style style:name="T5" style:family="text"><style:text-properties style:text-position="sub 58%"/></style:style> +  <style:style style:name="T6" style:family="text"><style:text-properties style:font-name="Courier 10 Pitch" fo:font-size="12pt"/></style:style> +  <style:style style:name="T7" style:family="text"><style:text-properties style:font-name="DejaVu Sans Mono" fo:font-size="10pt" fo:font-weight="normal" fo:background-color="#e6e6e6"/></style:style> +  <style:style style:name="fr1" style:family="graphic" style:parent-style-name="Graphics"><style:graphic-properties style:wrap="none" style:horizontal-pos="left" style:horizontal-rel="paragraph" style:mirror="none" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/></style:style> +  <style:style style:name="gr1" style:family="graphic"><style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:color-mode="standard" draw:luminance="0%" draw:contrast="0%" draw:gamma="100%" draw:red="0%" draw:green="0%" draw:blue="0%" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:image-opacity="100%" style:mirror="none" style:run-through="background" style:wrap="none" style:vertical-pos="top" style:vertical-rel="baseline" style:horizontal-pos="left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" style:flow-with-text="false"/></style:style> +  <style:style style:name="gr2" style:family="graphic"><style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:color-mode="standard" draw:luminance="0%" draw:contrast="0%" draw:gamma="100%" draw:red="0%" draw:green="0%" draw:blue="0%" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:image-opacity="100%" style:mirror="none" style:run-through="background" style:wrap="none" style:vertical-pos="middle" style:vertical-rel="baseline" style:horizontal-pos="left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" style:flow-with-text="false"/></style:style> +</office:automatic-styles> +<office:body> +  <office:text><office:forms form:automatic-focus="false" form:apply-design-mode="false"/> +    <text:sequence-decls><text:sequence-decl text:display-outline-level="0" text:name="Illustration"/><text:sequence-decl text:display-outline-level="0" text:name="Table"/><text:sequence-decl text:display-outline-level="0" text:name="Text"/><text:sequence-decl text:display-outline-level="0" text:name="Drawing"/></text:sequence-decls> +WOK +        x.strip! +        x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +        @@odf[:head] << x        end        def post        end @@ -642,6 +652,27 @@ module SiSU_ODF        end        def odf                                                           #%odf output          SiSU_Env::SiSU_file.new(@md).mkdir +        header=SiSU_ODF_format::ODT_head.new(@md) +        filename="#{@env.path.odf}/META-INF/manifest.xml" +        od=File.new(filename,'w+') +        od << header.meta_inf_manifest_xml +        od.close +        filename="#{@env.path.odf}/meta.xml" +        od=File.new(filename,'w+') +        od << header.meta_xml +        od.close +        filename="#{@env.path.odf}/settings.xml" +        od=File.new(filename,'w+') +        od << header.settings_xml +        od.close +        filename="#{@env.path.odf}/styles.xml" +        od=File.new(filename,'w+') +        od << header.styles_xml +        od.close +        filename="#{@env.path.odf}/mimetype" +        od=File.new(filename,'w+') +        od << header.mimetype +        od.close          filename="#{@env.path.odf}/content.xml"          od=File.new(filename,'w+')          @content.each do |para|                                                # this is a hack diff --git a/lib/sisu/v2/odf_format.rb b/lib/sisu/v2/odf_format.rb index 77b5bbbc..1b5f2e9b 100644 --- a/lib/sisu/v2/odf_format.rb +++ b/lib/sisu/v2/odf_format.rb @@ -197,6 +197,257 @@ module SiSU_ODF_format        @dob      end    end +  class ODT_head +    def initialize(md) +      @md=md +      @generator="#{@md.sisu_version[:project]} #{@md.sisu_version[:version]} #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})" +    end +    def meta_inf_manifest_xml +      x=<<WOK +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd"> +<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"> +  <manifest:file-entry manifest:media-type="application/vnd.oasis.opendocument.text" manifest:full-path="/"/> +  <manifest:file-entry manifest:media-type="application/vnd.sun.xml.ui.configuration" manifest:full-path="Configurations2/"/> +  <manifest:file-entry manifest:media-type="" manifest:full-path="Pictures/"/> +  <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="content.xml"/> +  <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="styles.xml"/> +  <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="meta.xml"/> +  <manifest:file-entry manifest:media-type="" manifest:full-path="Thumbnails/thumbnail.png"/> +  <manifest:file-entry manifest:media-type="" manifest:full-path="Thumbnails/"/> +  <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="settings.xml"/> +</manifest:manifest> +WOK +      x.strip! +      x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +      x +    end +    def meta_xml +      x=<<WOK +<?xml version="1.0" encoding="UTF-8"?> +<office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:ooo="http://openoffice.org/2004/office" office:version="1.0"> +  <office:meta> +    <meta:generator>#{@generator}</meta:generator> +    <meta:creation-date>#{@md.generated}</meta:creation-date> +    <dc:date>#{@md.generated}</dc:date> +    <dc:language>en-US</dc:language> +    <meta:editing-cycles>4</meta:editing-cycles> +  </office:meta> +</office:document-meta> +WOK +      x.strip! +      x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +      x +    end +    def settings_xml +      x=<<WOK +<?xml version="1.0" encoding="UTF-8"?> +<office:document-settings xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" office:version="1.0"> +  <office:settings> +    <config:config-item-set config:name="ooo:view-settings"> +      <config:config-item config:name="ViewAreaTop" config:type="int">0</config:config-item> +      <config:config-item config:name="ViewAreaLeft" config:type="int">0</config:config-item> +      <config:config-item config:name="ViewAreaWidth" config:type="int">21459</config:config-item> +      <config:config-item config:name="ViewAreaHeight" config:type="int">22068</config:config-item> +      <config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item> +      <config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item> +      <config:config-item-map-indexed config:name="Views"> +        <config:config-item-map-entry> +          <config:config-item config:name="ViewId" config:type="string">view2</config:config-item> +          <config:config-item config:name="ViewLeft" config:type="int">3002</config:config-item> +          <config:config-item config:name="ViewTop" config:type="int">11008</config:config-item> +          <config:config-item config:name="VisibleLeft" config:type="int">0</config:config-item> +          <config:config-item config:name="VisibleTop" config:type="int">0</config:config-item> +          <config:config-item config:name="VisibleRight" config:type="int">21458</config:config-item> +          <config:config-item config:name="VisibleBottom" config:type="int">22066</config:config-item> +          <config:config-item config:name="ZoomType" config:type="short">0</config:config-item> +          <config:config-item config:name="ZoomFactor" config:type="short">100</config:config-item> +          <config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item> +        </config:config-item-map-entry> +      </config:config-item-map-indexed> +    </config:config-item-set> +    <config:config-item-set config:name="ooo:configuration-settings"> +      <config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item> +      <config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item> +      <config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item> +      <config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item> +      <config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item> +      <config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item> +      <config:config-item config:name="UpdateFromTemplate" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item> +      <config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item> +      <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/> +      <config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item> +      <config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item> +      <config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item> +      <config:config-item config:name="PrinterSetup" config:type="base64Binary"/> +      <config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item> +      <config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item> +      <config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">true</config:config-item> +      <config:config-item config:name="AddExternalLeading" config:type="boolean">true</config:config-item> +      <config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item> +      <config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item> +      <config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item> +      <config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item> +      <config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item> +      <config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item> +      <config:config-item config:name="CurrentDatabaseDataSource" config:type="string"/> +      <config:config-item config:name="PrinterName" config:type="string"/> +      <config:config-item config:name="PrintFaxName" config:type="string"/> +      <config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item> +      <config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item> +      <config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item> +      <config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item> +      <config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item> +      <config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item> +      <config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item> +      <config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item> +      <config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrinterIndependentLayout" config:type="string">high-resolution</config:config-item> +      <config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item> +      <config:config-item config:name="CurrentDatabaseCommand" config:type="string"/> +      <config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item> +      <config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item> +    </config:config-item-set> +  </office:settings> +</office:document-settings> +WOK +      x.strip! +      x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +      x +    end +    def styles_xml +      x=<<WOK +<?xml version="1.0" encoding="UTF-8"?> +<office:document-styles xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" office:version="1.0"> +  <office:font-face-decls> +    <style:font-face style:name="HG Mincho Light J" svg:font-family="'HG Mincho Light J', 'MS Mincho', 'HG Mincho J', 'HG Mincho L', 'HG Mincho', Mincho, 'MS PMincho', 'HG Mincho Light J', 'MS Gothic', 'HG Gothic J', 'HG Gothic B', 'HG Gothic', Gothic, 'MS PGothic', 'Andale Sans UI', 'Arial Unicode MS', 'Lucida Sans Unicode', Tahoma" style:font-pitch="variable"/> +    <style:font-face style:name="Nimbus Sans L" svg:font-family="'Nimbus Sans L'" style:font-pitch="variable"/> +    <style:font-face style:name="Tahoma" svg:font-family="Tahoma, Lucidasans, 'Lucida Sans', 'Arial Unicode MS'" style:font-pitch="variable"/> +    <style:font-face style:name="Nimbus Roman No9 L" svg:font-family="'Nimbus Roman No9 L'" style:font-family-generic="roman" style:font-pitch="variable"/> +    <style:font-face style:name="Bitstream Vera Sans" svg:font-family="'Bitstream Vera Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/> +  </office:font-face-decls> +  <office:styles> +    <style:default-style style:family="graphic"> +      <style:graphic-properties draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/> +      <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false"> +        <style:tab-stops/> +      </style:paragraph-properties> +      <style:text-properties style:use-window-font-color="true" fo:font-size="12pt" fo:language="en" fo:country="US" style:font-size-asian="12pt" style:language-asian="none" style:country-asian="none" style:font-size-complex="12pt" style:language-complex="none" style:country-complex="none"/> +    </style:default-style> +    <style:default-style style:family="paragraph"> +      <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page"/> +      <style:text-properties style:use-window-font-color="true" style:font-name="Nimbus Roman No9 L" fo:font-size="12pt" fo:language="en" fo:country="US" style:font-name-asian="Nimbus Sans L" style:font-size-asian="12pt" style:language-asian="none" style:country-asian="none" style:font-name-complex="Nimbus Sans L" style:font-size-complex="12pt" style:language-complex="none" style:country-complex="none" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"/> +    </style:default-style> +    <style:default-style style:family="table"> +      <style:table-properties table:border-model="collapsing"/> +    </style:default-style> +    <style:default-style style:family="table-row"> +      <style:table-row-properties fo:keep-together="auto"/> +    </style:default-style> +    <style:style style:name="Standard" style:family="paragraph" style:class="text"/> +    <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text"> +      <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.212cm"/> +    </style:style> +    <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text"> +      <style:paragraph-properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" fo:keep-with-next="always"/> +      <style:text-properties style:font-name="Bitstream Vera Sans" fo:font-size="14pt" style:font-name-asian="HG Mincho Light J" style:font-size-asian="14pt" style:font-name-complex="Tahoma" style:font-size-complex="14pt"/> +    </style:style> +    <style:style style:name="Heading_20_1" style:display-name="Heading 1" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="text" style:default-outline-level="1"> +      <style:text-properties fo:font-size="120%" fo:font-weight="bold" style:font-size-asian="120%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Heading_20_2" style:display-name="Heading 2" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="text" style:default-outline-level="2"> +      <style:text-properties fo:font-size="115%" fo:font-weight="bold" style:font-size-asian="115%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Heading_20_3" style:display-name="Heading 3" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="text" style:default-outline-level="3"> +      <style:text-properties fo:font-size="110%" fo:font-weight="bold" style:font-size-asian="110%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Heading_20_4" style:display-name="Heading 4" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="text" style:default-outline-level="4"> +      <style:text-properties fo:font-size="100%" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="100%" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="100%" style:font-style-complex="italic" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Heading_20_5" style:display-name="Heading 5" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="text" style:default-outline-level="5"> +      <style:text-properties fo:font-size="90%" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="90%" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="90%" style:font-style-complex="italic" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Heading_20_6" style:display-name="Heading 6" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_20_body" style:class="text" style:default-outline-level="6"> +      <style:text-properties fo:font-size="80%" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="80%" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="80%" style:font-style-complex="italic" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Footnote" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> +      <style:paragraph-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:text-indent="-0.499cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/> +      <style:text-properties fo:font-size="10pt" style:font-size-asian="10pt" style:font-size-complex="10pt"/> +    </style:style> +    <style:style style:name="Footnote_20_Symbol" style:display-name="Footnote Symbol" style:family="text"/> +    <style:style style:name="Footnote_20_anchor" style:display-name="Footnote anchor" style:family="text"> +      <style:text-properties style:text-position="super 58%"/> +    </style:style> +    <style:style style:name="Graphics" style:family="graphic"> +      <style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" style:wrap="dynamic" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/> +    </style:style> +    <text:outline-style> +      <text:outline-level-style text:level="1" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="2" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="3" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="4" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="5" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="6" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="7" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="8" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="9" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="10" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +    </text:outline-style> +    <text:notes-configuration text:note-class="footnote" text:citation-style-name="Footnote_20_Symbol" text:citation-body-style-name="Footnote_20_anchor" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/> +    <text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/> +    <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/> +  </office:styles> +  <office:automatic-styles> +    <style:page-layout style:name="pm1"> +      <style:page-layout-properties fo:page-width="20.999cm" fo:page-height="29.699cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> +        <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> +      </style:page-layout-properties> +      <style:header-style/> +      <style:footer-style/> +    </style:page-layout> +  </office:automatic-styles> +  <office:master-styles> +    <style:master-page style:name="Standard" style:page-layout-name="pm1"/> +  </office:master-styles> +</office:document-styles> +WOK +      x.strip! +      x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +      x +    end +    def mimetype +      x=<<WOK +application/vnd.oasis.opendocument.text +WOK +      x.strip! +    end +  end    class Format_obj_break      def initialize(md,t_o)        @md,@t_o=md,t_o diff --git a/lib/sisu/v2/sysenv.rb b/lib/sisu/v2/sysenv.rb index d3152947..38ea24a2 100644 --- a/lib/sisu/v2/sysenv.rb +++ b/lib/sisu/v2/sysenv.rb @@ -7,7 +7,7 @@   * Author: Ralph Amissah - * Copyright: (C) 1997 - 2010, Ralph Amissah, All Rights Reserved. + * Copyright: (C) 1997 - 2011, Ralph Amissah, All Rights Reserved.   * License: GPL 3 or later: @@ -1527,7 +1527,16 @@ WOK          mkdir_p(pth) unless FileTest.directory?(pth)          pth        end -      def epub_bld #(md) +      def odf_bld +        rm_rf(path.odf) +        mkdir_p(path.odf) unless FileTest.directory?(path.odf) +        mkdir_p("#{path.odf}/Configurations2") unless FileTest.directory?("#{path.odf}/Configurations2") +        mkdir_p("#{path.odf}/META-INF") unless FileTest.directory?("#{path.odf}/META-INF") +        mkdir_p("#{path.odf}/Pictures") unless FileTest.directory?("#{path.odf}/Pictures") +        mkdir_p("#{path.odf}/Thumbnails") unless FileTest.directory?("#{path.odf}/Thumbnails") +        path.odf +      end +      def epub_bld          mkdir_p(path.epub) unless FileTest.directory?(path.epub)          mkdir_p("#{path.epub}/META-INF") unless FileTest.directory?("#{path.epub}/META-INF")          mkdir_p("#{path.epub}/OPS/image") unless FileTest.directory?("#{path.epub}/OPS/image") @@ -1547,8 +1556,8 @@ WOK        end        def tex          pth=if defined? @rc['processing']['latex'] \ -          and not @rc['processing']['latex'].nil? \ -          and not @rc['processing']['latex'].empty? +        and not @rc['processing']['latex'].nil? \ +        and not @rc['processing']['latex'].empty?            "#{processing}/#{@rc['processing']['latex']}"          else "#{processing}/#{defaults[:processing_latex]}"          end @@ -1557,8 +1566,8 @@ WOK        end        def texi          pth=if defined? @rc['processing']['texinfo'] \ -          and not @rc['processing']['texinfo'].nil? \ -          and not @rc['processing']['texinfo'].empty? +        and not @rc['processing']['texinfo'].nil? \ +        and not @rc['processing']['texinfo'].empty?            "#{processing}/#{@rc['processing']['texinfo']}"          else "#{processing}/#{defaults[:processing_texinfo]}"          end @@ -1570,8 +1579,8 @@ WOK        end        def lout          pth=if defined? @rc['processing']['lout'] \ -          and not @rc['processing']['lout'].nil? \ -          and not @rc['processing']['lout'].empty? +        and not @rc['processing']['lout'].nil? \ +        and not @rc['processing']['lout'].empty?            "#{processing}/#{@rc['processing']['lout']}"          else "#{processing}/#{defaults[:processing_lout]}"          end @@ -1580,8 +1589,8 @@ WOK        end        def sqlite          pth=if defined? @rc['processing']['sqlite'] \ -          and not @rc['processing']['sqlite'].nil? \ -          and not @rc['processing']['sqlite'].empty? +        and not @rc['processing']['sqlite'].nil? \ +        and not @rc['processing']['sqlite'].empty?            "#{processing}/#{@rc['processing']['sqlite']}"          else "#{processing}/#{defaults[:processing_sqlite]}"          end @@ -1590,8 +1599,8 @@ WOK        end        def postgresql          pth=if defined? @rc['processing']['postgresql'] \ -          and not @rc['processing']['postgresql'].nil? \ -          and not @rc['processing']['postgresql'].empty? +        and not @rc['processing']['postgresql'].nil? \ +        and not @rc['processing']['postgresql'].empty?            "#{processing}/#{@rc['processing']['postgresql']}"          else "#{processing}/#{defaults[:processing_postgresql]}"          end diff --git a/lib/sisu/v3/manifest.rb b/lib/sisu/v3/manifest.rb index d1e01f58..c49dd0a0 100644 --- a/lib/sisu/v3/manifest.rb +++ b/lib/sisu/v3/manifest.rb @@ -334,7 +334,7 @@ module SiSU_Manifest            img=%{<img border="0" height="18" width="18" src="#{@f.path_rel_links.html_scroll_2}_sisu/image_sys/b_odf.png" alt="ODF/ODT" /> }            pth=@f.output_path.odt.dir            rel=@f.output_path.odt.rel_sm -          url=@f.output_path.odf.url +          url=@f.output_path.odt.url            id,file='ODF:ODT (Open Document Format)',@f.base_filename.odt            summarize(id,file,pth,rel,url,img)          end diff --git a/lib/sisu/v3/odf.rb b/lib/sisu/v3/odf.rb index 1919fa08..3bd59e81 100644 --- a/lib/sisu/v3/odf.rb +++ b/lib/sisu/v3/odf.rb @@ -81,7 +81,6 @@ module SiSU_ODF      def read        begin          @md,@env,@dal_array=@particulars.md,@particulars.env,@particulars.dal_array -        @env.odf_structure          unless @opt.cmd =~/q/            tool=(@opt.cmd =~/[MVv]/) \            ? "#{@env.program.odf_viewer} file://#{@md.file.output_path.odt.dir}/#{@md.file.base_filename.odt}" @@ -159,8 +158,8 @@ module SiSU_ODF          url=@md.fnb          fn=@md.fn[:manifest]          manifest="#{@env.url.root}/#{@md.fnb}/#{@md.fn[:manifest]}" -        @@odf[:tail] << %{<text:p text:style-name="P1">Available document outputs: <br /> <<text:a xlink:type="simple" xlink:href="#{manifest}">#{manifest}</text:a>></text:p>} -        @@odf[:tail] << %{\n<text:p text:style-name="P1">SiSU: <<text:a xlink:type="simple" xlink:href="http://www.jus.uio.no/lm">www.jus.uio.no/sisu</text:a>> and <<text:a xlink:type="simple" xlink:href="http://www.sisudoc.org">www.sisudoc.org</text:a>></text:p>} +        @@odf[:tail] << %{<text:p text:style-name="P_normal">Available document outputs: <br /> <<text:a xlink:type="simple" xlink:href="#{manifest}">#{manifest}</text:a>></text:p>} +        @@odf[:tail] << %{\n<text:p text:style-name="P_normal">SiSU: <<text:a xlink:type="simple" xlink:href="http://www.jus.uio.no/lm">www.jus.uio.no/sisu</text:a>> and <<text:a xlink:type="simple" xlink:href="http://www.sisudoc.org">www.sisudoc.org</text:a>></text:p>}          @@odf[:tail] << "\n</office:text></office:body></office:document-content>"        end        def heading(dob,p_num='') @@ -176,12 +175,12 @@ module SiSU_ODF          unless @@docstart            breakpage=if (@md.pagenew or @md.pagebreak) \            and (@md.pagenew =~ m or @md.pagebreak =~m) -            '<text:p text:style-name="P9"> </text:p>' +            '<text:p text:style-name="P_normal_page_new"> </text:p>'            else ''            end          end          @@docstart=false -        dob.obj=%{#{breakpage}<text:h text:style-name="Heading_20_#{dob.ln}" text:outline-level="#{dob.ln}">#{dob.obj}#{p_num}</text:h>} +        dob.obj=%{#{breakpage}<text:h text:style-name="Heading_#{dob.ln}" text:outline-level="#{dob.ln}">#{dob.obj}#{p_num}</text:h>}          dob        end        def image_src(i) @@ -223,7 +222,7 @@ module SiSU_ODF          and w.to_s =~/\d/            @@img_count +=1            %{<draw:frame draw:style-name="fr1" draw:name="graphics#{@@img_count}" text:anchor-type="as-char" svg:width="#{w}cm" svg:height="#{h}cm" draw:z-index="2"><draw:image xlink:href="Pictures/#{i}" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/></draw:frame>#{c}} #anchor-type: as-char or paragraph or char or ... -        else %{<text:p text:style-name="P1">[image omitted]</text:p>} +        else %{<text:p text:style-name="P_normal">[image omitted]</text:p>}          end        end        def image(dob) @@ -311,12 +310,12 @@ module SiSU_ODF          dob.obj= if dob.is=='para' \          and dob.indent.to_s =~/[0-9]/ \          and dob.indent == dob.hang -          %{<text:p text:style-name="P1#{dob.indent}">#{dob.obj}#{p_num}</text:p>} +          %{<text:p text:style-name="P_indent_#{dob.indent}">#{dob.obj}#{p_num}</text:p>}          elsif dob.is=='para' \          and dob.hang.to_s =~/[0-9]/ \          and dob.indent != dob.hang                         # NOT yet implemented -          %{<text:p text:style-name="P1#{dob.indent}">#{dob.obj}#{p_num}</text:p>} -        else %{<text:p text:style-name="P1">#{dob.obj}#{p_num}</text:p>} +          %{<text:p text:style-name="P_indent_#{dob.indent}">#{dob.obj}#{p_num}</text:p>} +        else %{<text:p text:style-name="P_normal">#{dob.obj}#{p_num}</text:p>}          end          dob        end @@ -373,7 +372,7 @@ module SiSU_ODF        def group_clean(str)          str.gsub!(/&nbsp;| |#{Mx[:nbsp]}/,' ')          str.gsub!(/</,'<'); str.gsub!(/>/,'>') -        str.gsub!(/<(text:span text:style-name="T[1-5]"|\/text:span)>/,'<\1>') #works, not ideal +        str.gsub!(/<(text:span text:style-name="Table_\S+?"|\/text:span)>/,'<\1>') #works, not ideal          str.gsub!(/#{Mx[:br_line]}/,'<br />')          str.gsub!(/<br(?:\s+\/)?>/,'<br />')          str @@ -382,10 +381,10 @@ module SiSU_ODF          parray=[]          dob.obj.split(/#{Mx[:br_line]}|#{Mx[:br_nl]}/).each do |parablock|            parablock=group_clean(parablock) -          parray << %{<text:p text:style-name="P4">#{parablock}</text:p>} if parablock =~/\S+/ +          parray << %{<text:p text:style-name="P_group">#{parablock}</text:p>} if parablock =~/\S+/          end          dob.obj=parray.join \ -        + %{<text:p text:style-name="P4">#{p_num}</text:p>} \ +        + %{<text:p text:style-name="P_group">#{p_num}</text:p>} \          + '<text:p text:style-name="Standard"/>'          dob        end @@ -405,10 +404,10 @@ module SiSU_ODF            parablock.gsub!(/<(text:p text:style-name="Footnote")>/,'<\1>')            parablock.gsub!(/<(\/?text:(?:note-citation|note-body|note|p))>/,'<\1>')            parablock=footnote(parablock) -          parray << %{<text:p text:style-name="P4">#{parablock}</text:p>} if parablock =~/\S+/ +          parray << %{<text:p text:style-name="P_group">#{parablock}</text:p>} if parablock =~/\S+/          end          dob.obj=parray.join \ -        + %{<text:p text:style-name="P4">#{p_num}</text:p>} \ +        + %{<text:p text:style-name="P_group">#{p_num}</text:p>} \          + '<text:p text:style-name="Standard"/>'          dob        end @@ -428,10 +427,10 @@ module SiSU_ODF            parablock.gsub!(/<(text:p text:style-name="Footnote")>/,'<\1>')            parablock.gsub!(/<(\/?text:(?:note-citation|note-body|note|p))>/,'<\1>')            parablock=footnote(parablock) -          parray << %{<text:p text:style-name="P4">#{parablock}</text:p>} if parablock =~/\S+/ +          parray << %{<text:p text:style-name="P_group">#{parablock}</text:p>} if parablock =~/\S+/          end          dob.obj=parray.join \ -        + %{<text:p text:style-name="P4">#{p_num}</text:p>} \ +        + %{<text:p text:style-name="P_group">#{p_num}</text:p>} \          + '<text:p text:style-name="Standard"/>'          dob        end @@ -444,10 +443,10 @@ module SiSU_ODF              parablock.gsub!(/^\s*$/,'<br />')              parablock.gsub!(/#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,                '<text:a xlink:type="simple" xlink:href="\1">\1</text:a>') #http ftp matches escaped, no decoration -            parray << %{<text:p text:style-name="P20">#{parablock}</text:p>} if parablock =~/\S+/ +            parray << %{<text:p text:style-name="P_code">#{parablock}</text:p>} if parablock =~/\S+/            end            dob.obj=parray.join \ -          + %{<text:p text:style-name="P4">#{p_num}</text:p>} \ +          + %{<text:p text:style-name="P_group">#{p_num}</text:p>} \            + '<text:p text:style-name="Standard"/>'          end          dob @@ -515,6 +514,7 @@ module SiSU_ODF        def markup(data)                                                                 # Used for major markup instructions          safe_characters=/[^a-zA-Z0-9}{\/?,."';:)(><\-_&!@%~#\]\[*=$| \n+`#{Mx[:tc_p]}]/u          dir=SiSU_Env::Info_env.new(@md.fns) +        dir.path.odt_bld          @data_mod,@endnotes,@level,@cont,@copen,@odf_contents_close=Array.new(6){[]}          @rcdc=false          (0..6).each { |x| @cont[x]=@level[x]=false } @@ -570,17 +570,17 @@ module SiSU_ODF            dob.obj.gsub!(/©/,'©') #too arbitrary            dob.obj.gsub!(/.+?<-#>/,'')                                           # remove dummy headings (used by html) #check            dob.obj.gsub!(/#{Mx[:fa_bold_o]}(.+?)#{Mx[:fa_bold_c]}/, -            '<text:span text:style-name="T1">\1</text:span>') +            '<text:span text:style-name="Table_bold">\1</text:span>')            dob.obj.gsub!(/#{Mx[:fa_italics_o]}(.+?)#{Mx[:fa_italics_c]}/, -            '<text:span text:style-name="T2">\1</text:span>') +            '<text:span text:style-name="Table_italic">\1</text:span>')            dob.obj.gsub!(/#{Mx[:fa_underscore_o]}(.+?)#{Mx[:fa_underscore_c]}/, -            '<text:span text:style-name="T3">\1</text:span>') +            '<text:span text:style-name="Table_underscore">\1</text:span>')            dob.obj.gsub!(/#{Mx[:fa_superscript_o]}(.+?)#{Mx[:fa_superscript_c]}/, -            '<text:span text:style-name="T4">\1</text:span>') +            '<text:span text:style-name="Table_superscript">\1</text:span>')            dob.obj.gsub!(/#{Mx[:fa_subscript_o]}(.+?)#{Mx[:fa_subscript_c]}/, -            '<text:span text:style-name="T5">\1</text:span>') +            '<text:span text:style-name="Table_subscript">\1</text:span>')            dob.obj.gsub!(/#{Mx[:fa_monospace_o]}(.+?)#{Mx[:fa_monospace_c]}/, -            '<text:span text:style-name="T7">\1</text:span>') +            '<text:span text:style-name="Table_monospace">\1</text:span>')            dob.obj.gsub!(/Â/u,'-')            dob.obj.gsub!(/ /u, ' ')       # space identify            dob.obj.gsub!(/ /u, ' ')       # space identify @@ -611,30 +611,35 @@ module SiSU_ODF        end        def pre          table=if @md.flag_tables -          %{<style:style style:name="Table1" style:family="table"><style:table-properties style:width="16.999cm" table:align="margins"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.A" style:family="table-column"><style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.B" style:family="table-column"><style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.C" style:family="table-column"><style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.D" style:family="table-column"><style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.E" style:family="table-column"><style:table-column-properties style:column-width="3.399cm" style:rel-column-width="13107*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.F" style:family="table-column"><style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.G" style:family="table-column"><style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/></style:style>#{@br}} + -          %{<style:style style:name="Table1.H" style:family="table-column"><style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2" style:family="table"><style:table-properties style:width="16.999cm" table:align="margins"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.A" style:family="table-column"><style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.B" style:family="table-column"><style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.C" style:family="table-column"><style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.D" style:family="table-column"><style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.E" style:family="table-column"><style:table-column-properties style:column-width="3.999cm" style:rel-column-width="13107*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.F" style:family="table-column"><style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.G" style:family="table-column"><style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.H" style:family="table-column"><style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.I" style:family="table-column"><style:table-column-properties style:column-width="1.8887cm" style:rel-column-width="7281*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.J" style:family="table-column"><style:table-column-properties style:column-width="1.6999cm" style:rel-column-width="6553*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.K" style:family="table-column"><style:table-column-properties style:column-width="1.5453cm" style:rel-column-width="5957*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.L" style:family="table-column"><style:table-column-properties style:column-width="1.416cm" style:rel-column-width="5461*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.M" style:family="table-column"><style:table-column-properties style:column-width="1.307" style:rel-column-width="5041*"/></style:style>#{@br}} + -          %{<style:style style:name="Table2.N" style:family="table-column"><style:table-column-properties style:column-width="1.214cm" style:rel-column-width="4681*"/></style:style>#{@br}} +          x=<<WOK +  <style:style style:name="Table1" style:family="table"><style:table-properties style:width="16.999cm" table:align="margins"/></style:style> +  <style:style style:name="Table1.A" style:family="table-column"><style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/></style:style> +  <style:style style:name="Table1.B" style:family="table-column"><style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/></style:style> +  <style:style style:name="Table1.C" style:family="table-column"><style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/></style:style> +  <style:style style:name="Table1.D" style:family="table-column"><style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/></style:style> +  <style:style style:name="Table1.E" style:family="table-column"><style:table-column-properties style:column-width="3.399cm" style:rel-column-width="13107*"/></style:style> +  <style:style style:name="Table1.F" style:family="table-column"><style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/></style:style> +  <style:style style:name="Table1.G" style:family="table-column"><style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/></style:style> +  <style:style style:name="Table1.H" style:family="table-column"><style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/></style:style> +  <style:style style:name="Table2" style:family="table"><style:table-properties style:width="16.999cm" table:align="margins"/></style:style> +  <style:style style:name="Table2.A" style:family="table-column"><style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/></style:style> +  <style:style style:name="Table2.B" style:family="table-column"><style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/></style:style> +  <style:style style:name="Table2.C" style:family="table-column"><style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/></style:style> +  <style:style style:name="Table2.D" style:family="table-column"><style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/></style:style> +  <style:style style:name="Table2.E" style:family="table-column"><style:table-column-properties style:column-width="3.999cm" style:rel-column-width="13107*"/></style:style> +  <style:style style:name="Table2.F" style:family="table-column"><style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/></style:style> +  <style:style style:name="Table2.G" style:family="table-column"><style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/></style:style> +  <style:style style:name="Table2.H" style:family="table-column"><style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/></style:style> +  <style:style style:name="Table2.I" style:family="table-column"><style:table-column-properties style:column-width="1.8887cm" style:rel-column-width="7281*"/></style:style> +  <style:style style:name="Table2.J" style:family="table-column"><style:table-column-properties style:column-width="1.6999cm" style:rel-column-width="6553*"/></style:style> +  <style:style style:name="Table2.K" style:family="table-column"><style:table-column-properties style:column-width="1.5453cm" style:rel-column-width="5957*"/></style:style> +  <style:style style:name="Table2.L" style:family="table-column"><style:table-column-properties style:column-width="1.416cm" style:rel-column-width="5461*"/></style:style> +  <style:style style:name="Table2.M" style:family="table-column"><style:table-column-properties style:column-width="1.307" style:rel-column-width="5041*"/></style:style> +  <style:style style:name="Table2.N" style:family="table-column"><style:table-column-properties style:column-width="1.214cm" style:rel-column-width="4681*"/></style:style> +WOK +          x.strip! +          x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +          x          else ''          end          breakpage=if @md.pagenew \ @@ -642,45 +647,50 @@ module SiSU_ODF            ' fo:break-before="page"'          else ''          end -        @@odf[:head]<<%{<?xml version="1.0" encoding="UTF-8"?>#{@br}} + -          %{<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" office:version="1.0"><office:scripts/>#{@br}} + -          %{<office:font-face-decls><style:font-face style:name="DejaVu Sans Mono" svg:font-family="'DejaVu Sans Mono'" style:font-adornments="Book" style:font-family-generic="modern" style:font-pitch="fixed"/><style:font-face style:name="Inconsolata" svg:font-family="Inconsolata" style:font-adornments="Regular" style:font-pitch="fixed"/><style:font-face style:name="Liberation Mono" svg:font-family="'Liberation Mono'" style:font-adornments="Regular" style:font-family-generic="modern" style:font-pitch="fixed"/><style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-adornments="ExtraLight" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="Nimbus Sans L" svg:font-family="'Nimbus Sans L'" style:font-pitch="variable"/><style:font-face style:name="Tahoma" svg:font-family="Tahoma, Lucidasans, 'Lucida Sans', 'Arial Unicode MS'" style:font-pitch="variable"/><style:font-face style:name="DejaVu Serif" svg:font-family="'DejaVu Sans'" style:font-adornments="ExtraLight" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="Nimbus Roman No9 L" svg:font-family="'Nimbus Roman No9 L'" style:font-family-generic="roman" style:font-pitch="variable"/><style:font-face style:name="Bitstream Vera Sans" svg:font-family="'Bitstream Vera Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/></office:font-face-decls>#{@br}} + -          %{<office:automatic-styles>#{@br}} + -          %{#{table}#{@br}} + -          %{<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + -          %{<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + # P1 -          %{<style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + # P1 -          %{<style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + -          %{<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="start" style:justify-single-word="false"/></style:style>#{@br}} + -          %{<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-before="page"/></style:style>#{@br}} + -          %{<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Table_20_Contents"><style:paragraph-properties fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + -          %{<style:style style:name="P8" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-before="page"/></style:style>#{@br}} + -          %{<style:style style:name="P9" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-after="page"/></style:style>#{@br}} + -          %{<style:style style:name="P10" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style>#{@br}} + # P1 -          %{<style:style style:name="P11" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="1cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P12" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="2cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P13" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="3cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P14" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="4cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P15" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="5cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P16" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="6cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P17" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="7cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P18" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="8cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P19" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="8cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style>#{@br}} + -          %{<style:style style:name="P20" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="start" style:justify-single-word="false"/><style:text-properties style:font-name="DejaVu Sans Mono" fo:font-size="9pt" fo:font-weight="normal" fo:background-color="#e6e6e6"/></style:style>#{@br}} + -          %{<style:style style:name="T1" style:family="text"><style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/></style:style>#{@br}} + -          %{<style:style style:name="T2" style:family="text"><style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/></style:style>#{@br}} + -          %{<style:style style:name="T3" style:family="text"><style:text-properties style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color"/></style:style>#{@br}} + -          %{<style:style style:name="T4" style:family="text"><style:text-properties style:text-position="super 58%"/></style:style>#{@br}} + -          %{<style:style style:name="T5" style:family="text"><style:text-properties style:text-position="sub 58%"/></style:style>#{@br}} + -          %{<style:style style:name="T6" style:family="text"><style:text-properties style:font-name="Courier 10 Pitch" fo:font-size="12pt"/></style:style>#{@br}} + -          %{<style:style style:name="T7" style:family="text"><style:text-properties style:font-name="DejaVu Sans Mono" fo:font-size="10pt" fo:font-weight="normal" fo:background-color="#e6e6e6"/></style:style>#{@br}} + -          %{<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Graphics"><style:graphic-properties style:wrap="none" style:horizontal-pos="left" style:horizontal-rel="paragraph" style:mirror="none" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/></style:style>#{@br}} + -          %{<style:style style:name="gr1" style:family="graphic"><style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:color-mode="standard" draw:luminance="0%" draw:contrast="0%" draw:gamma="100%" draw:red="0%" draw:green="0%" draw:blue="0%" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:image-opacity="100%" style:mirror="none" style:run-through="background" style:wrap="none" style:vertical-pos="top" style:vertical-rel="baseline" style:horizontal-pos="left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" style:flow-with-text="false"/></style:style>#{@br}} + -          %{<style:style style:name="gr2" style:family="graphic"><style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:color-mode="standard" draw:luminance="0%" draw:contrast="0%" draw:gamma="100%" draw:red="0%" draw:green="0%" draw:blue="0%" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:image-opacity="100%" style:mirror="none" style:run-through="background" style:wrap="none" style:vertical-pos="middle" style:vertical-rel="baseline" style:horizontal-pos="left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" style:flow-with-text="false"/></style:style>#{@br}} + -          %{</office:automatic-styles>#{@br}} + -          %{<office:body>#{@br}} + -          %{<office:text><office:forms form:automatic-focus="false" form:apply-design-mode="false"/>#{@br}} + -          %{<text:sequence-decls><text:sequence-decl text:display-outline-level="0" text:name="Illustration"/><text:sequence-decl text:display-outline-level="0" text:name="Table"/><text:sequence-decl text:display-outline-level="0" text:name="Text"/><text:sequence-decl text:display-outline-level="0" text:name="Drawing"/></text:sequence-decls>} +        x=<<WOK +<?xml version="1.0" encoding="UTF-8"?> +<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" office:version="1.0"><office:scripts/> +<office:font-face-decls><style:font-face style:name="DejaVu Sans Mono" svg:font-family="'DejaVu Sans Mono'" style:font-adornments="Book" style:font-family-generic="modern" style:font-pitch="fixed"/><style:font-face style:name="Inconsolata" svg:font-family="Inconsolata" style:font-adornments="Regular" style:font-pitch="fixed"/><style:font-face style:name="Liberation Mono" svg:font-family="'Liberation Mono'" style:font-adornments="Regular" style:font-family-generic="modern" style:font-pitch="fixed"/><style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-adornments="ExtraLight" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="Nimbus Sans L" svg:font-family="'Nimbus Sans L'" style:font-pitch="variable"/><style:font-face style:name="Tahoma" svg:font-family="Tahoma, Lucidasans, 'Lucida Sans', 'Arial Unicode MS'" style:font-pitch="variable"/><style:font-face style:name="DejaVu Serif" svg:font-family="'DejaVu Sans'" style:font-adornments="ExtraLight" style:font-family-generic="swiss" style:font-pitch="variable"/><style:font-face style:name="Nimbus Roman No9 L" svg:font-family="'Nimbus Roman No9 L'" style:font-family-generic="roman" style:font-pitch="variable"/><style:font-face style:name="Bitstream Vera Sans" svg:font-family="'Bitstream Vera Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/></office:font-face-decls> +<office:automatic-styles> +#{table} +  <style:style style:name="P_normal" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P_group" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P5" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="start" style:justify-single-word="false"/></style:style> +  <style:style style:name="P6" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-before="page"/></style:style> +  <style:style style:name="P_table_cell" style:family="paragraph" style:parent-style-name="Table_Contents"><style:paragraph-properties fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P_page_break" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-before="page"/></style:style> +  <style:style style:name="P_normal_page_new" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:break-after="page"/></style:style> +  <style:style style:name="P_indent_0" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:text-align="justify" style:justify-single-word="false"/></style:style> +  <style:style style:name="P_indent_1" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="1cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P_indent_2" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="2cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P_indent_3" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="3cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P_indent_4" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="4cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P_indent_5" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="5cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P_indent_6" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="6cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P_indent_7" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="7cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P_indent_8" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="8cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P_indent_9" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties  fo:margin-top="0.199cm" fo:margin-bottom="0.199cm" fo:line-height="150%" fo:margin-left="8cm" fo:margin-right="0cm" fo:text-align="justify" style:justify-single-word="false" fo:text-indent="0cm" style:auto-text-indent="false"/></style:style> +  <style:style style:name="P_code" style:family="paragraph" style:parent-style-name="Standard"><style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" fo:line-height="100%" fo:text-align="start" style:justify-single-word="false"/><style:text-properties style:font-name="DejaVu Sans Mono" fo:font-size="9pt" fo:font-weight="normal" fo:background-color="#e6e6e6"/></style:style> +  <style:style style:name="Table_bold" style:family="text"><style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/></style:style> +  <style:style style:name="Table_italic" style:family="text"><style:text-properties fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/></style:style> +  <style:style style:name="Table_underscore" style:family="text"><style:text-properties style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color"/></style:style> +  <style:style style:name="Table_superscript" style:family="text"><style:text-properties style:text-position="super 58%"/></style:style> +  <style:style style:name="Table_subscript" style:family="text"><style:text-properties style:text-position="sub 58%"/></style:style> +  <style:style style:name="T6" style:family="text"><style:text-properties style:font-name="Courier 10 Pitch" fo:font-size="12pt"/></style:style> +  <style:style style:name="Table_monospace" style:family="text"><style:text-properties style:font-name="DejaVu Sans Mono" fo:font-size="10pt" fo:font-weight="normal" fo:background-color="#e6e6e6"/></style:style> +  <style:style style:name="fr1" style:family="graphic" style:parent-style-name="Graphics"><style:graphic-properties style:wrap="none" style:horizontal-pos="left" style:horizontal-rel="paragraph" style:mirror="none" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/></style:style> +  <style:style style:name="gr1" style:family="graphic"><style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:color-mode="standard" draw:luminance="0%" draw:contrast="0%" draw:gamma="100%" draw:red="0%" draw:green="0%" draw:blue="0%" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:image-opacity="100%" style:mirror="none" style:run-through="background" style:wrap="none" style:vertical-pos="top" style:vertical-rel="baseline" style:horizontal-pos="left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" style:flow-with-text="false"/></style:style> +  <style:style style:name="gr2" style:family="graphic"><style:graphic-properties draw:stroke="none" draw:fill="none" draw:textarea-horizontal-align="center" draw:textarea-vertical-align="middle" draw:color-mode="standard" draw:luminance="0%" draw:contrast="0%" draw:gamma="100%" draw:red="0%" draw:green="0%" draw:blue="0%" fo:clip="rect(0cm 0cm 0cm 0cm)" draw:image-opacity="100%" style:mirror="none" style:run-through="background" style:wrap="none" style:vertical-pos="middle" style:vertical-rel="baseline" style:horizontal-pos="left" style:horizontal-rel="paragraph" draw:wrap-influence-on-position="once-concurrent" style:flow-with-text="false"/></style:style> +</office:automatic-styles> +<office:body> +  <office:text><office:forms form:automatic-focus="false" form:apply-design-mode="false"/> +    <text:sequence-decls><text:sequence-decl text:display-outline-level="0" text:name="Illustration"/><text:sequence-decl text:display-outline-level="0" text:name="Table"/><text:sequence-decl text:display-outline-level="0" text:name="Text"/><text:sequence-decl text:display-outline-level="0" text:name="Drawing"/></text:sequence-decls> +WOK +        x.strip! +        x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +        @@odf[:head] << x        end        def post        end @@ -704,6 +714,27 @@ module SiSU_ODF        def odf                                                           #%odf output          env=SiSU_Env::SiSU_file.new(@md)          env.mkdir +        header=SiSU_ODF_format::ODT_head_1_0.new(@md) +        filename="#{@env.processing_path.odt}/META-INF/manifest.xml" +        od=File.new(filename,'w+') +        od << header.meta_inf_manifest_xml +        od.close +        filename="#{@env.processing_path.odt}/meta.xml" +        od=File.new(filename,'w+') +        od << header.meta_xml +        od.close +        filename="#{@env.processing_path.odt}/settings.xml" +        od=File.new(filename,'w+') +        od << header.settings_xml +        od.close +        filename="#{@env.processing_path.odt}/styles.xml" +        od=File.new(filename,'w+') +        od << header.styles_xml +        od.close +        filename="#{@env.processing_path.odt}/mimetype" +        od=File.new(filename,'w+') +        od << header.mimetype +        od.close          env.make_path(@env.processing_path.odt)          env.make_path(@md.file.output_path.odt.dir)          filename="#{@env.processing_path.odt}/content.xml" @@ -714,9 +745,9 @@ module SiSU_ODF          od.close          opendoc=@md.fn[:odf]          mkdir_p(@md.file.output_path.odt.dir) unless FileTest.directory?(@md.file.output_path.odt.dir) -        if FileTest.directory?(@env.processing_path.odf) +        if FileTest.directory?(@env.processing_path.odt)            pwd=Dir.pwd -          Dir.chdir(@env.processing_path.odf) +          Dir.chdir(@env.processing_path.odt)            system("              zip -qr #{opendoc} *              mv #{opendoc} #{@md.file.place_file.odt.dir} diff --git a/lib/sisu/v3/odf_format.rb b/lib/sisu/v3/odf_format.rb index 8736d7d1..5abf5090 100644 --- a/lib/sisu/v3/odf_format.rb +++ b/lib/sisu/v3/odf_format.rb @@ -65,7 +65,7 @@ module SiSU_ODF_format        @paranum=/(\d+)/m.match(paranum.to_s)[1]      end      def display -      @paranum.gsub(/(\d+)/,' <text:span text:style-name="T5">[\1]</text:span>') +      @paranum.gsub(/(\d+)/,' <text:span text:style-name="Table_subscript">[\1]</text:span>')      end      def name        @paranum.gsub(/(\d+)/,'<a name="\1"></a>') @@ -142,13 +142,13 @@ module SiSU_ODF_format      end      def table_close(tablefoot='')        '</table:table>' \ -      + %{<text:p text:style-name="P4">#{@p_num}</text:p>} +      + %{<text:p text:style-name="P_group">#{@p_num}</text:p>}      end      def table_tag_cell(str,i)        txt_name_cell=if i==0 \        and @dob.head_ -        'Table_20_Heading' -      else 'P7' +        'Table_Heading' +      else 'P_table_cell'        end        str.gsub!(/^~$/,'') # tilde / empty cell        %{<table:table-cell office:value-type="string">#{@br}} + @@ -165,8 +165,8 @@ module SiSU_ODF_format      def table_tag_row_dump(str,i)        txt_name_row=if i==0 \        and @dob.head_ -        'Table_20_Heading' -      else 'P7' +        'Table_Heading' +      else 'P_table_cell'        end        %{<table:table-row>#{@br}} +        %{<table:table-cell office:value-type="string">#{@br}} + @@ -200,17 +200,267 @@ module SiSU_ODF_format        @dob      end    end +  class ODT_head_1_0 +    def initialize(md) +      @md=md +      @generator="#{@md.sisu_version[:project]} #{@md.sisu_version[:version]} #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})" +    end +    def meta_inf_manifest_xml +      x=<<WOK +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd"> +<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"> +  <manifest:file-entry manifest:media-type="application/vnd.oasis.opendocument.text" manifest:full-path="/"/> +  <manifest:file-entry manifest:media-type="application/vnd.sun.xml.ui.configuration" manifest:full-path="Configurations2/"/> +  <manifest:file-entry manifest:media-type="" manifest:full-path="Pictures/"/> +  <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="content.xml"/> +  <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="styles.xml"/> +  <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="meta.xml"/> +  <manifest:file-entry manifest:media-type="" manifest:full-path="Thumbnails/thumbnail.png"/> +  <manifest:file-entry manifest:media-type="" manifest:full-path="Thumbnails/"/> +  <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="settings.xml"/> +</manifest:manifest> +WOK +      x.strip! +      x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +      x +    end +    def meta_xml +      x=<<WOK +<?xml version="1.0" encoding="UTF-8"?> +<office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:ooo="http://openoffice.org/2004/office" office:version="1.0"> +  <office:meta> +    <meta:generator>#{@generator}</meta:generator> +    <meta:creation-date>#{@md.generated}</meta:creation-date> +    <dc:date>#{@md.generated}</dc:date> +    <dc:language>en-US</dc:language> +  </office:meta> +</office:document-meta> +WOK +      x.strip! +      x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +      x +    end +    def settings_xml +      x=<<WOK +<?xml version="1.0" encoding="UTF-8"?> +<office:document-settings xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" office:version="1.0"> +  <office:settings> +    <config:config-item-set config:name="ooo:view-settings"> +      <config:config-item config:name="ViewAreaTop" config:type="int">0</config:config-item> +      <config:config-item config:name="ViewAreaLeft" config:type="int">0</config:config-item> +      <config:config-item config:name="ViewAreaWidth" config:type="int">21459</config:config-item> +      <config:config-item config:name="ViewAreaHeight" config:type="int">22068</config:config-item> +      <config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item> +      <config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item> +      <config:config-item-map-indexed config:name="Views"> +        <config:config-item-map-entry> +          <config:config-item config:name="ViewId" config:type="string">view2</config:config-item> +          <config:config-item config:name="ViewLeft" config:type="int">3002</config:config-item> +          <config:config-item config:name="ViewTop" config:type="int">11008</config:config-item> +          <config:config-item config:name="VisibleLeft" config:type="int">0</config:config-item> +          <config:config-item config:name="VisibleTop" config:type="int">0</config:config-item> +          <config:config-item config:name="VisibleRight" config:type="int">21458</config:config-item> +          <config:config-item config:name="VisibleBottom" config:type="int">22066</config:config-item> +          <config:config-item config:name="ZoomType" config:type="short">0</config:config-item> +          <config:config-item config:name="ZoomFactor" config:type="short">100</config:config-item> +          <config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item> +        </config:config-item-map-entry> +      </config:config-item-map-indexed> +    </config:config-item-set> +    <config:config-item-set config:name="ooo:configuration-settings"> +      <config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item> +      <config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item> +      <config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item> +      <config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item> +      <config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item> +      <config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item> +      <config:config-item config:name="UpdateFromTemplate" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item> +      <config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item> +      <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/> +      <config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item> +      <config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item> +      <config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item> +      <config:config-item config:name="PrinterSetup" config:type="base64Binary"/> +      <config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item> +      <config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item> +      <config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">true</config:config-item> +      <config:config-item config:name="AddExternalLeading" config:type="boolean">true</config:config-item> +      <config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item> +      <config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item> +      <config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item> +      <config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item> +      <config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item> +      <config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item> +      <config:config-item config:name="CurrentDatabaseDataSource" config:type="string"/> +      <config:config-item config:name="PrinterName" config:type="string"/> +      <config:config-item config:name="PrintFaxName" config:type="string"/> +      <config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item> +      <config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item> +      <config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item> +      <config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item> +      <config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item> +      <config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item> +      <config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item> +      <config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item> +      <config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrinterIndependentLayout" config:type="string">high-resolution</config:config-item> +      <config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item> +      <config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item> +      <config:config-item config:name="CurrentDatabaseCommand" config:type="string"/> +      <config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item> +      <config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item> +    </config:config-item-set> +  </office:settings> +</office:document-settings> +WOK +      x.strip! +      x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +      x +    end +    def styles_xml +      x=<<WOK +<?xml version="1.0" encoding="UTF-8"?> +<office:document-styles xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" office:version="1.0"> +  <office:font-face-decls> +    <style:font-face style:name="HG Mincho Light J" svg:font-family="'HG Mincho Light J', 'MS Mincho', 'HG Mincho J', 'HG Mincho L', 'HG Mincho', Mincho, 'MS PMincho', 'HG Mincho Light J', 'MS Gothic', 'HG Gothic J', 'HG Gothic B', 'HG Gothic', Gothic, 'MS PGothic', 'Andale Sans UI', 'Arial Unicode MS', 'Lucida Sans Unicode', Tahoma" style:font-pitch="variable"/> +    <style:font-face style:name="Nimbus Sans L" svg:font-family="'Nimbus Sans L'" style:font-pitch="variable"/> +    <style:font-face style:name="Tahoma" svg:font-family="Tahoma, Lucidasans, 'Lucida Sans', 'Arial Unicode MS'" style:font-pitch="variable"/> +    <style:font-face style:name="Nimbus Roman No9 L" svg:font-family="'Nimbus Roman No9 L'" style:font-family-generic="roman" style:font-pitch="variable"/> +    <style:font-face style:name="Bitstream Vera Sans" svg:font-family="'Bitstream Vera Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/> +  </office:font-face-decls> +  <office:styles> +    <style:default-style style:family="graphic"> +      <style:graphic-properties draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/> +      <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false"> +        <style:tab-stops/> +      </style:paragraph-properties> +      <style:text-properties style:use-window-font-color="true" fo:font-size="12pt" fo:language="en" fo:country="US" style:font-size-asian="12pt" style:language-asian="none" style:country-asian="none" style:font-size-complex="12pt" style:language-complex="none" style:country-complex="none"/> +    </style:default-style> +    <style:default-style style:family="paragraph"> +      <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page"/> +      <style:text-properties style:use-window-font-color="true" style:font-name="Nimbus Roman No9 L" fo:font-size="12pt" fo:language="en" fo:country="US" style:font-name-asian="Nimbus Sans L" style:font-size-asian="12pt" style:language-asian="none" style:country-asian="none" style:font-name-complex="Nimbus Sans L" style:font-size-complex="12pt" style:language-complex="none" style:country-complex="none" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"/> +    </style:default-style> +    <style:default-style style:family="table"> +      <style:table-properties table:border-model="collapsing"/> +    </style:default-style> +    <style:default-style style:family="table-row"> +      <style:table-row-properties fo:keep-together="auto"/> +    </style:default-style> +    <style:style style:name="Standard" style:family="paragraph" style:class="text"/> +    <style:style style:name="Text_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text"> +      <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.212cm"/> +    </style:style> +    <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_body" style:class="text"> +      <style:paragraph-properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" fo:keep-with-next="always"/> +      <style:text-properties style:font-name="Bitstream Vera Sans" fo:font-size="14pt" style:font-name-asian="HG Mincho Light J" style:font-size-asian="14pt" style:font-name-complex="Tahoma" style:font-size-complex="14pt"/> +    </style:style> +    <style:style style:name="Heading_1" style:display-name="Heading 1" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_body" style:class="text" style:default-outline-level="1"> +      <style:text-properties fo:font-size="120%" fo:font-weight="bold" style:font-size-asian="120%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Heading_2" style:display-name="Heading 2" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_body" style:class="text" style:default-outline-level="2"> +      <style:text-properties fo:font-size="115%" fo:font-weight="bold" style:font-size-asian="115%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Heading_3" style:display-name="Heading 3" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_body" style:class="text" style:default-outline-level="3"> +      <style:text-properties fo:font-size="110%" fo:font-weight="bold" style:font-size-asian="110%" style:font-weight-asian="bold" style:font-size-complex="115%" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Heading_4" style:display-name="Heading 4" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_body" style:class="text" style:default-outline-level="4"> +      <style:text-properties fo:font-size="100%" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="100%" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="100%" style:font-style-complex="italic" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Heading_5" style:display-name="Heading 5" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_body" style:class="text" style:default-outline-level="5"> +      <style:text-properties fo:font-size="90%" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="90%" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="90%" style:font-style-complex="italic" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Heading_6" style:display-name="Heading 6" style:family="paragraph" style:parent-style-name="Heading" style:next-style-name="Text_body" style:class="text" style:default-outline-level="6"> +      <style:text-properties fo:font-size="80%" fo:font-style="italic" fo:font-weight="bold" style:font-size-asian="80%" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-size-complex="80%" style:font-style-complex="italic" style:font-weight-complex="bold"/> +    </style:style> +    <style:style style:name="Footnote" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> +      <style:paragraph-properties fo:margin-left="0.499cm" fo:margin-right="0cm" fo:text-indent="-0.499cm" style:auto-text-indent="false" text:number-lines="false" text:line-number="0"/> +      <style:text-properties fo:font-size="10pt" style:font-size-asian="10pt" style:font-size-complex="10pt"/> +    </style:style> +    <style:style style:name="Footnote_20_Symbol" style:display-name="Footnote Symbol" style:family="text"/> +    <style:style style:name="Footnote_20_anchor" style:display-name="Footnote anchor" style:family="text"> +      <style:text-properties style:text-position="super 58%"/> +    </style:style> +    <style:style style:name="Graphics" style:family="graphic"> +      <style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" style:wrap="dynamic" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/> +    </style:style> +    <text:outline-style> +      <text:outline-level-style text:level="1" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="2" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="3" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="4" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="5" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="6" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="7" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="8" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="9" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +      <text:outline-level-style text:level="10" style:num-format=""> +        <style:list-level-properties text:min-label-distance="0.381cm"/> +      </text:outline-level-style> +    </text:outline-style> +    <text:notes-configuration text:note-class="footnote" text:citation-style-name="Footnote_20_Symbol" text:citation-body-style-name="Footnote_20_anchor" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/> +    <text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/> +    <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/> +  </office:styles> +  <office:automatic-styles> +    <style:page-layout style:name="pm1"> +      <style:page-layout-properties fo:page-width="20.999cm" fo:page-height="29.699cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> +        <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> +      </style:page-layout-properties> +      <style:header-style/> +      <style:footer-style/> +    </style:page-layout> +  </office:automatic-styles> +  <office:master-styles> +    <style:master-page style:name="Standard" style:page-layout-name="pm1"/> +  </office:master-styles> +</office:document-styles> +WOK +      x.strip! +      x.gsub!(/\n+/m,'') unless @md.opt.cmd=~/M/ +      x +    end +    def mimetype +      x=<<WOK +application/vnd.oasis.opendocument.text +WOK +      x.strip! +    end +  end    class Format_obj_break      def initialize(md,t_o)        @md,@t_o=md,t_o      end      def br_page -      @t_o.obj='<text:p text:style-name="P8"> </text:p>' +      @t_o.obj='<text:p text:style-name="P_page_break"> </text:p>'        @t_o      end      def obj_sep #center later        sep='--- ' -      @t_o.obj=%{<text:p text:style-name="P1">#{sep*20}</text:p>} +      @t_o.obj=%{<text:p text:style-name="P_normal">#{sep*20}</text:p>}        @t_o      end    end diff --git a/lib/sisu/v3/sysenv.rb b/lib/sisu/v3/sysenv.rb index 3ef176ec..b1560c66 100644 --- a/lib/sisu/v3/sysenv.rb +++ b/lib/sisu/v3/sysenv.rb @@ -1076,15 +1076,6 @@ module SiSU_Env        ? @rc['default']['text_wrap'].to_i        : 78      end -    #def by_language? -    #  @env.by_language? -    #end -    #def by_filetype? -    #  @env.by_filetype? -    #end -    #def multilingual? -    #  by_language? -    #end      def current_document        @@current_document||=Dir.pwd        @@current_document @@ -1715,7 +1706,7 @@ WOK            man_path=if defined? @rc['webserv']['path'] \            and @rc['webserv']['path'] =~/\S\S+/              man_path=@@man_path=File.expand_path(@rc['webserv']['path']) -          else defaults[:webserv_path] #NEW BUG FIX 2010-10-26 +          else defaults[:webserv_path]            end          else @@man_path          end @@ -1947,6 +1938,20 @@ WOK          mkdir_p(pth) unless FileTest.directory?(pth)          pth        end +      def odf +        pth="#{processing}/odf" +        mkdir_p(pth) unless FileTest.directory?(pth) +        pth +      end +      def odt_bld +        rm_rf(processing_path.odt) +        mkdir_p(processing_path.odt) unless FileTest.directory?(processing_path.odt) +        mkdir_p("#{processing_path.odt}/Configurations2") unless FileTest.directory?("#{processing_path.odt}/Configurations2") +        mkdir_p("#{processing_path.odt}/META-INF") unless FileTest.directory?("#{processing_path.odt}/META-INF") +        mkdir_p("#{processing_path.odt}/Pictures") unless FileTest.directory?("#{processing_path.odt}/Pictures") +        mkdir_p("#{processing_path.odt}/Thumbnails") unless FileTest.directory?("#{processing_path.odt}/Thumbnails") +        processing_path.odt +      end        def epub          "#{processing}/epub/#{@fnb}"        end | 
