- Remove some further unused leftovers

- Make sure printed docs generated with DSSSL always use .eps images
- And XSLT-based output always uses .png
- Fix image conversion
This commit is contained in:
Gabor Kovesdan 2013-04-01 08:16:09 +00:00
parent 68eb6e1a6c
commit d5c6e245d4
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/projects/xml-tools/; revision=41332
6 changed files with 10 additions and 336 deletions

View file

@ -125,6 +125,9 @@ EPS2PNM_RES?= 100
-g`${EPSGEOM} -geom ${EPSGEOMOPTS} ${.TARGET:S/.png$/.eps/}` - \ -g`${EPSGEOM} -geom ${EPSGEOMOPTS} ${.TARGET:S/.png$/.eps/}` - \
| ${PNMTOPNG} > ${.TARGET} | ${PNMTOPNG} > ${.TARGET}
.pic.ps:
${PIC2PS} ${.ALLSRC} > ${.TARGET}
# When ghostscript built with A4=yes is used, ps2epsi's paper size also # When ghostscript built with A4=yes is used, ps2epsi's paper size also
# becomes the A4 size. However, the ps2epsi fails to convert grops(1) # becomes the A4 size. However, the ps2epsi fails to convert grops(1)
# outputs, which is the letter size, and we cannot change ps2epsi's paper size # outputs, which is the letter size, and we cannot change ps2epsi's paper size
@ -166,7 +169,7 @@ ${_curimage}: ${_curimage:S/.png/.eps/}
| ${PNMTOPNG} > ${.TARGET} | ${PNMTOPNG} > ${.TARGET}
.endfor .endfor
.for _curimage in ${_IMAGES_EPS:S/.png$/.eps/} .for _curimage in ${_IMAGES_PNG:S/.png$/.eps/}
${_curimage}: ${_curimage:S/.eps$/.png/} ${_curimage}: ${_curimage:S/.eps$/.png/}
${PNGTOPNM} ${PNGTOPNMOPTS} ${.ALLSRC} | \ ${PNGTOPNM} ${PNGTOPNMOPTS} ${.ALLSRC} | \
${PNMTOPS} ${PNMTOPSOPTS} > ${.TARGET} ${PNMTOPS} ${PNMTOPSOPTS} > ${.TARGET}

View file

@ -3,10 +3,6 @@
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [ <!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY % output.rtf.images "IGNORE"> <!ENTITY % output.rtf.images "IGNORE">
<!ENTITY % output.print "IGNORE"> <!ENTITY % output.print "IGNORE">
<!ENTITY % output.print.pdf "IGNORE">
<!ENTITY % output.print.justify "IGNORE">
<!ENTITY % output.print.twoside "IGNORE">
<!ENTITY % output.print.niceheaders "IGNORE">
]> ]>
<style-sheet> <style-sheet>
@ -28,310 +24,6 @@
#f) #f)
]]> ]]>
<!-- Two-sided Print output ....................................... -->
<![ %output.print.twoside; [
;; From an email by Ian Castle to the DocBook-apps list
(define ($component$)
(make simple-page-sequence
page-n-columns: %page-n-columns%
page-number-restart?: (or %page-number-restart%
; (book-start?)
(first-chapter?))
page-number-format: ($page-number-format$)
use: default-text-style
left-header: ($left-header$)
center-header: ($center-header$)
right-header: ($right-header$)
left-footer: ($left-footer$)
center-footer: ($center-footer$)
right-footer: ($right-footer$)
start-indent: %body-start-indent%
input-whitespace-treatment: 'collapse
quadding: %default-quadding%
(make sequence
($component-title$)
(process-children))
(make-endnotes)))
;; From an email by Ian Castle to the DocBook-apps list
(define (first-part?)
(let* ((book (ancestor (normalize "book")))
(nd (ancestor-member (current-node)
(append
(component-element-list)
(division-element-list))))
(bookch (children book)))
(let loop ((nl bookch))
(if (node-list-empty? nl)
#f
(if (equal? (gi (node-list-first nl)) (normalize "part"))
(if (node-list=? (node-list-first nl) nd)
#t
#f)
(loop (node-list-rest nl)))))))
;; From an email by Ian Castle to the DocBook-apps list
(define (first-chapter?)
;; Returns #t if the current-node is in the first chapter of a book
(if (has-ancestor-member? (current-node) (division-element-list))
#f
(let* ((book (ancestor (normalize "book")))
(nd (ancestor-member (current-node)
(append (component-element-list)
(division-element-list))))
(bookch (children book))
(bookcomp (expand-children bookch (list (normalize "part")))))
(let loop ((nl bookcomp))
(if (node-list-empty? nl)
#f
(if (equal? (gi (node-list-first nl)) (normalize "chapter"))
(if (node-list=? (node-list-first nl) nd)
#t
#f)
(loop (node-list-rest nl))))))))
; By default, the Part I title page will be given a roman numeral,
; which is wrong so we have to fix it
(define (part-titlepage elements #!optional (side 'recto))
(let ((nodelist (titlepage-nodelist
(if (equal? side 'recto)
(part-titlepage-recto-elements)
(part-titlepage-verso-elements))
elements))
;; partintro is a special case...
(partintro (node-list-first
(node-list-filter-by-gi elements (list (normalize "partintro"))))))
(if (part-titlepage-content? elements side)
(make simple-page-sequence
page-n-columns: %titlepage-n-columns%
;; Make sure that page number format is correct.
page-number-format: ($page-number-format$)
;; Make sure that the page number is set to 1 if this is the first part
;; in the book
page-number-restart?: (first-part?)
input-whitespace-treatment: 'collapse
use: default-text-style
;; This hack is required for the RTF backend. If an
;; external-graphic is the first thing on the page,
;; RTF doesn't seem to do the right thing (the graphic
;; winds up on the baseline of the first line of the
;; page, left justified). This "one point rule" fixes
;; that problem.
(make paragraph
line-spacing: 1pt
(literal ""))
(let loop ((nl nodelist) (lastnode (empty-node-list)))
(if (node-list-empty? nl)
(empty-sosofo)
(make sequence
(if (or (node-list-empty? lastnode)
(not (equal? (gi (node-list-first nl))
(gi lastnode))))
(part-titlepage-before (node-list-first nl) side)
(empty-sosofo))
(cond
((equal? (gi (node-list-first nl)) (normalize "subtitle"))
(part-titlepage-subtitle (node-list-first nl) side))
((equal? (gi (node-list-first nl)) (normalize "title"))
(part-titlepage-title (node-list-first nl) side))
(else
(part-titlepage-default (node-list-first nl) side)))
(loop (node-list-rest nl) (node-list-first nl)))))
(if (and %generate-part-toc%
%generate-part-toc-on-titlepage%
(equal? side 'recto))
(make display-group
(build-toc (current-node)
(toc-depth (current-node))))
(empty-sosofo))
;; PartIntro is a special case
(if (and (equal? side 'recto)
(not (node-list-empty? partintro))
%generate-partintro-on-titlepage%)
($process-partintro$ partintro #f)
(empty-sosofo)))
(empty-sosofo))))
]]>
<!-- Print with justification ..................................... -->
<![ %output.print.justify; [
(define %default-quadding%
'justify)
(define %hyphenation%
#t)
;; The url.sty package is making all of the links purple/pink.
;; Someone please fix this!
(define (urlwrap)
(let ((%factor% (if %verbatim-size-factor%
%verbatim-size-factor%
1.0)))
(make sequence
font-family-name: %mono-font-family%
font-size: (* (inherited-font-size) %factor%)
(make formatting-instruction data:
(string-append
"\\url|"
(data (current-node))
"|")))))
(define (pathwrap)
(let ((%factor% (if %verbatim-size-factor%
%verbatim-size-factor%
1.0)))
(make sequence
font-family-name: %mono-font-family%
font-size: (* (inherited-font-size) %factor%)
(make formatting-instruction data:
(string-append
"\\path|"
(data (current-node))
"|")))))
;; Some others may check the value of %hyphenation% and be
;; specified below
; (element email
; (make sequence
; (literal "<")
; (urlwrap)
; (literal ">")))
(element filename
(pathwrap))
(element varname
(pathwrap))
]]>
<![ %output.print.niceheaders; [
(define niceheader-rule-spacebefore (* (HSIZE 5) %head-before-factor%))
(define niceheader-rule-spaceafter 0pt)
(define ($component-title$)
(let* ((info (cond
((equal? (gi) (normalize "appendix"))
(select-elements (children (current-node)) (normalize "docinfo")))
((equal? (gi) (normalize "article"))
(node-list-filter-by-gi (children (current-node))
(list (normalize "artheader")
(normalize "articleinfo"))))
((equal? (gi) (normalize "bibliography"))
(select-elements (children (current-node)) (normalize "docinfo")))
((equal? (gi) (normalize "chapter"))
(select-elements (children (current-node)) (normalize "docinfo")))
((equal? (gi) (normalize "dedication"))
(empty-node-list))
((equal? (gi) (normalize "glossary"))
(select-elements (children (current-node)) (normalize "docinfo")))
((equal? (gi) (normalize "index"))
(select-elements (children (current-node)) (normalize "docinfo")))
((equal? (gi) (normalize "preface"))
(select-elements (children (current-node)) (normalize "docinfo")))
((equal? (gi) (normalize "reference"))
(select-elements (children (current-node)) (normalize "docinfo")))
((equal? (gi) (normalize "setindex"))
(select-elements (children (current-node)) (normalize "docinfo")))
(else
(empty-node-list))))
(exp-children (if (node-list-empty? info)
(empty-node-list)
(expand-children (children info)
(list (normalize "bookbiblio")
(normalize "bibliomisc")
(normalize "biblioset")))))
(parent-titles (select-elements (children (current-node)) (normalize "title")))
(info-titles (select-elements exp-children (normalize "title")))
(titles (if (node-list-empty? parent-titles)
info-titles
parent-titles))
(subtitles (select-elements exp-children (normalize "subtitle"))))
(make sequence
(make paragraph
font-family-name: %title-font-family%
font-weight: 'bold
font-size: (HSIZE 4)
line-spacing: (* (HSIZE 4) %line-spacing-factor%)
space-before: (* (HSIZE 4) %head-before-factor%)
start-indent: 0pt
first-line-start-indent: 0pt
quadding: %component-title-quadding%
heading-level: (if %generate-heading-level% 1 0)
keep-with-next?: #t
(if (string=? (element-label) "")
(empty-sosofo)
(literal (gentext-element-name-space (current-node))
(element-label)
(gentext-label-title-sep (gi)))))
(make paragraph
font-family-name: %title-font-family%
font-weight: 'bold
font-posture: 'italic
font-size: (HSIZE 6)
line-spacing: (* (HSIZE 6) %line-spacing-factor%)
; space-before: (* (HSIZE 5) %head-before-factor%)
start-indent: 0pt
first-line-start-indent: 0pt
quadding: %component-title-quadding%
heading-level: (if %generate-heading-level% 1 0)
keep-with-next?: #t
(if (node-list-empty? titles)
(element-title-sosofo) ;; get a default!
(with-mode component-title-mode
(make sequence
(process-node-list titles)))))
(make paragraph
font-family-name: %title-font-family%
font-weight: 'bold
font-posture: 'italic
font-size: (HSIZE 3)
line-spacing: (* (HSIZE 3) %line-spacing-factor%)
space-before: (* 0.5 (* (HSIZE 3) %head-before-factor%))
space-after: (* (HSIZE 4) %head-after-factor%)
start-indent: 0pt
first-line-start-indent: 0pt
quadding: %component-subtitle-quadding%
keep-with-next?: #t
(with-mode component-title-mode
(make sequence
(process-node-list subtitles))))
(if (equal? (gi) (normalize "index"))
(empty-sosofo)
(make rule
length: %body-width%
display-alignment: 'start
space-before: niceheader-rule-spacebefore
space-after: niceheader-rule-spaceafter
line-thickness: 0.5pt)))))
(element authorgroup
(empty-sosofo))
]]>
<!-- Print only ................................................... --> <!-- Print only ................................................... -->
<![ %output.print; [ <![ %output.print; [
(define withpgpkeys (define withpgpkeys
@ -470,18 +162,10 @@
(notation (attribute-string (normalize "format") objdata))) (notation (attribute-string (normalize "format") objdata)))
(node-list-first nl))))) (node-list-first nl)))))
;; When selecting a filename to use, don't append the default ;; Printed formats always use .eps images.
;; extension, instead, just use the bare filename, and let TeX (define %graphic-default-extension%
;; work it out. jadetex will use the .eps file, while pdfjadetex "eps")
;; will use the .png file automatically.
(define (graphic-file filename)
(let ((ext (file-extension filename)))
(if (or tex-backend ;; TeX can work this out itself
(not filename)
(not %graphic-default-extension%)
(member ext %graphic-extensions%))
filename
(string-append filename "." %graphic-default-extension%))))
;; Including bitmaps in the PS and PDF output tends to scale them ;; Including bitmaps in the PS and PDF output tends to scale them
;; horribly. The solution is to scale them down by 50%. ;; horribly. The solution is to scale them down by 50%.
@ -700,10 +384,6 @@
(process-node-list c))))))))))) (process-node-list c)))))))))))
]]> ]]>
<![ %output.print.pdf; [
]]>
</style-specification-body> </style-specification-body>
</style-specification> </style-specification>
</style-sheet> </style-sheet>

View file

@ -20,7 +20,6 @@
<!ENTITY % output.html "IGNORE"> <!-- HTML output is being generated --> <!ENTITY % output.html "IGNORE"> <!-- HTML output is being generated -->
<!ENTITY % output.html.images "IGNORE"> <!-- HTML with images --> <!ENTITY % output.html.images "IGNORE"> <!-- HTML with images -->
<!ENTITY % output.print "IGNORE"> <!-- Print output is being generated --> <!ENTITY % output.print "IGNORE"> <!-- Print output is being generated -->
<!ENTITY % output.print.pdf "IGNORE"> <!-- PDF output -->
<!-- ..................................................................... --> <!-- ..................................................................... -->
<!-- Entities for element classes and mixtures ........................... --> <!-- Entities for element classes and mixtures ........................... -->

View file

@ -1,7 +1,6 @@
<!ENTITY % output.html "IGNORE"> <!-- HTML output is being generated --> <!ENTITY % output.html "IGNORE"> <!-- HTML output is being generated -->
<!ENTITY % output.html.images "IGNORE"> <!-- HTML with images --> <!ENTITY % output.html.images "IGNORE"> <!-- HTML with images -->
<!ENTITY % output.print "IGNORE"> <!-- Print output is being generated --> <!ENTITY % output.print "IGNORE"> <!-- Print output is being generated -->
<!ENTITY % output.print.pdf "IGNORE"> <!-- PDF output -->
<!-- XXX: Jade is given a totally parsed document with XML tools <!-- XXX: Jade is given a totally parsed document with XML tools
so it does not need to pull in entity sets and catalogs so it does not need to pull in entity sets and catalogs

View file

@ -19,4 +19,6 @@
<xsl:param name="section.label.includes.component.label" select="1"/> <xsl:param name="section.label.includes.component.label" select="1"/>
<xsl:param name="generate.index" select="0"/> <xsl:param name="generate.index" select="0"/>
<xsl:param name="graphic.default.extension">png</xsl:param>
</xsl:stylesheet> </xsl:stylesheet>

View file

@ -16,15 +16,6 @@
<!-- Redefine variables, and replace templates as necessary here --> <!-- Redefine variables, and replace templates as necessary here -->
<xsl:param name="freebsd.output.print"
select="'0'"/>
<xsl:param name="freebsd.output.print.pdf"
select="'0'"/>
<xsl:param name="freebsd.output.print.justify"
select="'0'"/>
<xsl:param name="freebsd.output.print.twoside"
select="'0'"/>
<!-- FO specific customisation goes here --> <!-- FO specific customisation goes here -->
<xsl:param name="use.extensions" select="1"/> <xsl:param name="use.extensions" select="1"/>