aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabor Kovesdan <gabor@FreeBSD.org>2013-04-01 08:16:09 +0000
committerGabor Kovesdan <gabor@FreeBSD.org>2013-04-01 08:16:09 +0000
commitd5c6e245d4c32cbf9e02a4fe4db6874c800606f9 (patch)
treef845b2b64ed865917835b82cde5f7c15b25e2bda
parent68eb6e1a6cfed937462c0beb7683bbf4ced1ba5a (diff)
downloaddoc-d5c6e245d4c32cbf9e02a4fe4db6874c800606f9.tar.gz
doc-d5c6e245d4c32cbf9e02a4fe4db6874c800606f9.zip
- 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
Notes
Notes: svn path=/projects/xml-tools/; revision=41332
-rw-r--r--share/mk/doc.images.mk5
-rw-r--r--share/xml/freebsd-print.dsl328
-rw-r--r--share/xml/freebsd.dtd1
-rw-r--r--share/xml/freebsd45.dtd1
-rw-r--r--share/xsl/freebsd-common.xsl2
-rw-r--r--share/xsl/freebsd-fo.xsl9
6 files changed, 10 insertions, 336 deletions
diff --git a/share/mk/doc.images.mk b/share/mk/doc.images.mk
index 6adacf8d4f..0066d6d3d3 100644
--- a/share/mk/doc.images.mk
+++ b/share/mk/doc.images.mk
@@ -125,6 +125,9 @@ EPS2PNM_RES?= 100
-g`${EPSGEOM} -geom ${EPSGEOMOPTS} ${.TARGET:S/.png$/.eps/}` - \
| ${PNMTOPNG} > ${.TARGET}
+.pic.ps:
+ ${PIC2PS} ${.ALLSRC} > ${.TARGET}
+
# 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)
# 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}
.endfor
-.for _curimage in ${_IMAGES_EPS:S/.png$/.eps/}
+.for _curimage in ${_IMAGES_PNG:S/.png$/.eps/}
${_curimage}: ${_curimage:S/.eps$/.png/}
${PNGTOPNM} ${PNGTOPNMOPTS} ${.ALLSRC} | \
${PNMTOPS} ${PNMTOPSOPTS} > ${.TARGET}
diff --git a/share/xml/freebsd-print.dsl b/share/xml/freebsd-print.dsl
index 1641de9c4c..495c02ac06 100644
--- a/share/xml/freebsd-print.dsl
+++ b/share/xml/freebsd-print.dsl
@@ -3,10 +3,6 @@
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY % output.rtf.images "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>
@@ -28,310 +24,6 @@
#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 ................................................... -->
<![ %output.print; [
(define withpgpkeys
@@ -470,18 +162,10 @@
(notation (attribute-string (normalize "format") objdata)))
(node-list-first nl)))))
- ;; When selecting a filename to use, don't append the default
- ;; extension, instead, just use the bare filename, and let TeX
- ;; work it out. jadetex will use the .eps file, while pdfjadetex
- ;; 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%))))
+ ;; Printed formats always use .eps images.
+ (define %graphic-default-extension%
+ "eps")
+
;; Including bitmaps in the PS and PDF output tends to scale them
;; horribly. The solution is to scale them down by 50%.
@@ -700,10 +384,6 @@
(process-node-list c)))))))))))
]]>
- <![ %output.print.pdf; [
-
- ]]>
-
</style-specification-body>
</style-specification>
</style-sheet>
diff --git a/share/xml/freebsd.dtd b/share/xml/freebsd.dtd
index ee4b6f8b7c..1d51d54f7f 100644
--- a/share/xml/freebsd.dtd
+++ b/share/xml/freebsd.dtd
@@ -20,7 +20,6 @@
<!ENTITY % output.html "IGNORE"> <!-- HTML output is being generated -->
<!ENTITY % output.html.images "IGNORE"> <!-- HTML with images -->
<!ENTITY % output.print "IGNORE"> <!-- Print output is being generated -->
-<!ENTITY % output.print.pdf "IGNORE"> <!-- PDF output -->
<!-- ..................................................................... -->
<!-- Entities for element classes and mixtures ........................... -->
diff --git a/share/xml/freebsd45.dtd b/share/xml/freebsd45.dtd
index 3475484ae7..61f8e571ba 100644
--- a/share/xml/freebsd45.dtd
+++ b/share/xml/freebsd45.dtd
@@ -1,7 +1,6 @@
<!ENTITY % output.html "IGNORE"> <!-- HTML output is being generated -->
<!ENTITY % output.html.images "IGNORE"> <!-- HTML with images -->
<!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
so it does not need to pull in entity sets and catalogs
diff --git a/share/xsl/freebsd-common.xsl b/share/xsl/freebsd-common.xsl
index 541e3e2881..e98abb2e70 100644
--- a/share/xsl/freebsd-common.xsl
+++ b/share/xsl/freebsd-common.xsl
@@ -19,4 +19,6 @@
<xsl:param name="section.label.includes.component.label" select="1"/>
<xsl:param name="generate.index" select="0"/>
+
+ <xsl:param name="graphic.default.extension">png</xsl:param>
</xsl:stylesheet>
diff --git a/share/xsl/freebsd-fo.xsl b/share/xsl/freebsd-fo.xsl
index be0987069b..a21ff9080b 100644
--- a/share/xsl/freebsd-fo.xsl
+++ b/share/xsl/freebsd-fo.xsl
@@ -16,15 +16,6 @@
<!-- 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 -->
<xsl:param name="use.extensions" select="1"/>