summaryrefslogtreecommitdiff
path: root/dviware/dvisvgm/doc
diff options
context:
space:
mode:
Diffstat (limited to 'dviware/dvisvgm/doc')
-rw-r--r--dviware/dvisvgm/doc/Makefile.am31
-rw-r--r--dviware/dvisvgm/doc/Makefile.in131
-rw-r--r--dviware/dvisvgm/doc/conf-dblatex-man.xsl2
-rw-r--r--dviware/dvisvgm/doc/conf-dblatex-pdf.xsl2
-rw-r--r--dviware/dvisvgm/doc/dvisvgm.1102
-rw-r--r--dviware/dvisvgm/doc/dvisvgm.txt.in65
-rw-r--r--dviware/dvisvgm/doc/generate-dvisvgm-sty.xsl4
-rw-r--r--dviware/dvisvgm/doc/tweak-db-refentry.xsl2
-rw-r--r--dviware/dvisvgm/doc/tweak-dblatex-pdf.xsl2
9 files changed, 246 insertions, 95 deletions
diff --git a/dviware/dvisvgm/doc/Makefile.am b/dviware/dvisvgm/doc/Makefile.am
index a2bc63bd2e..fdbc24e1ce 100644
--- a/dviware/dvisvgm/doc/Makefile.am
+++ b/dviware/dvisvgm/doc/Makefile.am
@@ -1,14 +1,13 @@
## This file is part of dvisvgm
-## Copyright (C) 2005-2019 Martin Gieseking <martin.gieseking@uos.de>
+## Copyright (C) 2005-2020 Martin Gieseking <martin.gieseking@uos.de>
##
## Process this file with automake.
# Don't try to install the manpage file if it can't be built due to missing utilities.
# However, the distribution tarball should always contain a recent manpage. We ensure
# this by adding a dist-hook rule below.
-if BUILD_MANPAGE
+
man_MANS = dvisvgm.1
-endif
EXTRA_DIST = $(man_MANS) \
conf-dblatex-man.xsl \
@@ -18,6 +17,8 @@ EXTRA_DIST = $(man_MANS) \
tweak-dblatex-pdf.xsl \
tweak-db-refentry.xsl
+if BUILD_MANPAGE
+
CONF_DBLATEX_MAN = $(dvisvgm_srcdir)/doc/conf-dblatex-man.xsl
CONF_DBLATEX_PDF = $(dvisvgm_srcdir)/doc/conf-dblatex-pdf.xsl
TWEAK_DBLATEX_PDF = $(dvisvgm_srcdir)/doc/tweak-dblatex-pdf.xsl
@@ -47,6 +48,9 @@ dvisvgm.dvi: dvisvgm.1
dvisvgm.html: dvisvgm-man.xml db2html.xsl
xsltproc -o $@ db2html.xsl $<
+dvisvgm.md: dvisvgm-man.xml db2md.xsl
+ xsltproc -o $@ db2md.xsl $<
+
dvisvgm.epub: dvisvgm-article.xml
a2x -darticle -fepub -L --icons --icons-dir=. $<
mv $(basename $<).epub $@
@@ -77,21 +81,24 @@ dvisvgm.txt: dvisvgm.txt.in ../configure.ac
epub: dvisvgm.epub
html: dvisvgm.html
man: dvisvgm.1
+md: dvisvgm.md
pdf: dvisvgm.pdf
+endif
+
clean:
- rm -f dvisvgm.pdf dvisvgm.html dvisvgm-man.xml dvisvgm-article.xml dvisvgm.txt dvisvgm.sty dvisvgm.dvi dvisvgm.epub
+ rm -f dvisvgm.pdf dvisvgm.html dvisvgm.md dvisvgm-man.xml dvisvgm-article.xml dvisvgm.txt dvisvgm.sty dvisvgm.dvi dvisvgm.epub
distclean-local:
- rm -f dvisvgm.pdf dvisvgm.html dvisvgm-man.xml dvisvgm-article.xml dvisvgm.txt dvisvgm.sty dvisvgm.dvi dvisvgm.epub dvisvgm.1
+ rm -f dvisvgm.pdf dvisvgm.html dvisvgm.md dvisvgm-man.xml dvisvgm-article.xml dvisvgm.txt dvisvgm.sty dvisvgm.dvi dvisvgm.epub dvisvgm.1
+if !BUILD_MANPAGE
# Ensure that distribution tarballs always contain a recent manpage, i.e.
# let "make dist" and "make distcheck" fail if dvisvgm.1 can't be built.
dist-hook:
- @if test ! -f $(dvisvgm_srcdir)/doc/dvisvgm.1; then \
- echo "----------------------------------------------------------------"; \
- echo "manpage file dvisvgm.1 could not be built because one or more of"; \
- echo "the following utilities are missing: asciidoc, xmlto, xsltproc "; \
- echo "----------------------------------------------------------------"; \
- false; \
- fi
+ @echo "----------------------------------------------------------------"; \
+ echo "manpage file dvisvgm.1 could not be built because one or more of"; \
+ echo "the following utilities are missing: asciidoc, xmlto, xsltproc "; \
+ echo "----------------------------------------------------------------"; \
+ false;
+endif
diff --git a/dviware/dvisvgm/doc/Makefile.in b/dviware/dvisvgm/doc/Makefile.in
index b5bf93ce6b..35bceae1d1 100644
--- a/dviware/dvisvgm/doc/Makefile.in
+++ b/dviware/dvisvgm/doc/Makefile.in
@@ -13,6 +13,10 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
+
+# Don't try to install the manpage file if it can't be built due to missing utilities.
+# However, the distribution tarball should always contain a recent manpage. We ensure
+# this by adding a dist-hook rule below.
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
@@ -314,11 +318,7 @@ target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-
-# Don't try to install the manpage file if it can't be built due to missing utilities.
-# However, the distribution tarball should always contain a recent manpage. We ensure
-# this by adding a dist-hook rule below.
-@BUILD_MANPAGE_TRUE@man_MANS = dvisvgm.1
+man_MANS = dvisvgm.1
EXTRA_DIST = $(man_MANS) \
conf-dblatex-man.xsl \
conf-dblatex-pdf.xsl \
@@ -327,13 +327,13 @@ EXTRA_DIST = $(man_MANS) \
tweak-dblatex-pdf.xsl \
tweak-db-refentry.xsl
-CONF_DBLATEX_MAN = $(dvisvgm_srcdir)/doc/conf-dblatex-man.xsl
-CONF_DBLATEX_PDF = $(dvisvgm_srcdir)/doc/conf-dblatex-pdf.xsl
-TWEAK_DBLATEX_PDF = $(dvisvgm_srcdir)/doc/tweak-dblatex-pdf.xsl
-TWEAK_DB_ARTICLE = $(dvisvgm_srcdir)/doc/tweak-db-article.xsl
-TWEAK_DB_REFENTRY = $(dvisvgm_srcdir)/doc/tweak-db-refentry.xsl
-GEN_DBLATEX_STY = $(dvisvgm_srcdir)/doc/generate-dvisvgm-sty.xsl
-DB_VARS = man.endnotes.list.enabled=0 man.endnotes.are.numbered=0 man.authors.section.enabled=0
+@BUILD_MANPAGE_TRUE@CONF_DBLATEX_MAN = $(dvisvgm_srcdir)/doc/conf-dblatex-man.xsl
+@BUILD_MANPAGE_TRUE@CONF_DBLATEX_PDF = $(dvisvgm_srcdir)/doc/conf-dblatex-pdf.xsl
+@BUILD_MANPAGE_TRUE@TWEAK_DBLATEX_PDF = $(dvisvgm_srcdir)/doc/tweak-dblatex-pdf.xsl
+@BUILD_MANPAGE_TRUE@TWEAK_DB_ARTICLE = $(dvisvgm_srcdir)/doc/tweak-db-article.xsl
+@BUILD_MANPAGE_TRUE@TWEAK_DB_REFENTRY = $(dvisvgm_srcdir)/doc/tweak-db-refentry.xsl
+@BUILD_MANPAGE_TRUE@GEN_DBLATEX_STY = $(dvisvgm_srcdir)/doc/generate-dvisvgm-sty.xsl
+@BUILD_MANPAGE_TRUE@DB_VARS = man.endnotes.list.enabled=0 man.endnotes.are.numbered=0 man.authors.section.enabled=0
all: all-am
.SUFFIXES:
@@ -421,6 +421,7 @@ ctags CTAGS:
cscope cscopelist:
+@BUILD_MANPAGE_TRUE@dist-hook:
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -505,6 +506,8 @@ dvi: dvi-am
dvi-am:
+@BUILD_MANPAGE_FALSE@html: html-am
+
html-am:
info: info-am
@@ -547,6 +550,8 @@ mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+@BUILD_MANPAGE_FALSE@pdf: pdf-am
+
pdf-am:
ps: ps-am
@@ -575,74 +580,76 @@ uninstall-man: uninstall-man1
.PRECIOUS: Makefile
-dvisvgm.1: dvisvgm-man.xml $(CONF_DBLATEX_MAN)
- xmlto -m $(CONF_DBLATEX_MAN) $(addprefix --stringparam , $(DB_VARS)) man $<
+@BUILD_MANPAGE_TRUE@dvisvgm.1: dvisvgm-man.xml $(CONF_DBLATEX_MAN)
+@BUILD_MANPAGE_TRUE@ xmlto -m $(CONF_DBLATEX_MAN) $(addprefix --stringparam , $(DB_VARS)) man $<
-dvisvgm.pdf: dvisvgm-man.xml dvisvgm.sty $(CONF_DBLATEX_PDF) $(TWEAK_DBLATEX_PDF)
- mv $< $<.tmp
- xsltproc -o $< $(TWEAK_DBLATEX_PDF) $<.tmp
- dblatex -bxetex --texstyle=./dvisvgm.sty -p $(CONF_DBLATEX_PDF) $<
- mv $<.tmp $<
- mv $(basename $<).pdf $@
+@BUILD_MANPAGE_TRUE@dvisvgm.pdf: dvisvgm-man.xml dvisvgm.sty $(CONF_DBLATEX_PDF) $(TWEAK_DBLATEX_PDF)
+@BUILD_MANPAGE_TRUE@ mv $< $<.tmp
+@BUILD_MANPAGE_TRUE@ xsltproc -o $< $(TWEAK_DBLATEX_PDF) $<.tmp
+@BUILD_MANPAGE_TRUE@ dblatex -bxetex --texstyle=./dvisvgm.sty -p $(CONF_DBLATEX_PDF) $<
+@BUILD_MANPAGE_TRUE@ mv $<.tmp $<
+@BUILD_MANPAGE_TRUE@ mv $(basename $<).pdf $@
-dvi-pdf: dvisvgm.dvi
- dvipdfm $<
- rm -f $<
+@BUILD_MANPAGE_TRUE@dvi-pdf: dvisvgm.dvi
+@BUILD_MANPAGE_TRUE@ dvipdfm $<
+@BUILD_MANPAGE_TRUE@ rm -f $<
-dvisvgm.dvi: dvisvgm.1
- groff -Tdvi -mandoc ./$< >$@
+@BUILD_MANPAGE_TRUE@dvisvgm.dvi: dvisvgm.1
+@BUILD_MANPAGE_TRUE@ groff -Tdvi -mandoc ./$< >$@
-dvisvgm.html: dvisvgm-man.xml db2html.xsl
- xsltproc -o $@ db2html.xsl $<
+@BUILD_MANPAGE_TRUE@dvisvgm.html: dvisvgm-man.xml db2html.xsl
+@BUILD_MANPAGE_TRUE@ xsltproc -o $@ db2html.xsl $<
-dvisvgm.epub: dvisvgm-article.xml
- a2x -darticle -fepub -L --icons --icons-dir=. $<
- mv $(basename $<).epub $@
+@BUILD_MANPAGE_TRUE@dvisvgm.md: dvisvgm-man.xml db2md.xsl
+@BUILD_MANPAGE_TRUE@ xsltproc -o $@ db2md.xsl $<
-.SECONDARY: dvisvgm-article.xml dvisvgm-man.xml dvisvgm.sty
+@BUILD_MANPAGE_TRUE@dvisvgm.epub: dvisvgm-article.xml
+@BUILD_MANPAGE_TRUE@ a2x -darticle -fepub -L --icons --icons-dir=. $<
+@BUILD_MANPAGE_TRUE@ mv $(basename $<).epub $@
-dvisvgm-man.xml: dvisvgm.txt $(TWEAK_DB_REFENTRY)
- asciidoc -a icons -a 'iconsdir=.' -a badges -a 'revnumber=@VERSION@' --unsafe -bdocbook -dmanpage -o $@.tmp $<
- xsltproc -o $@ $(TWEAK_DB_REFENTRY) $@.tmp
- rm $@.tmp
+@BUILD_MANPAGE_TRUE@.SECONDARY: dvisvgm-article.xml dvisvgm-man.xml dvisvgm.sty
-dvisvgm-article.xml: dvisvgm.txt $(TWEAK_DB_ARTICLE)
- asciidoc -a icons -a 'iconsdir=.' -a badges -a 'revnumber=@VERSION@' --unsafe -bdocbook -darticle -o $@.tmp $<
- xsltproc -o $@ $(TWEAK_DB_ARTICLE) $@.tmp
- rm $@.tmp
- sed -i "s/{VERSION}/@VERSION@/" $@
+@BUILD_MANPAGE_TRUE@dvisvgm-man.xml: dvisvgm.txt $(TWEAK_DB_REFENTRY)
+@BUILD_MANPAGE_TRUE@ asciidoc -a icons -a 'iconsdir=.' -a badges -a 'revnumber=@VERSION@' --unsafe -bdocbook -dmanpage -o $@.tmp $<
+@BUILD_MANPAGE_TRUE@ xsltproc -o $@ $(TWEAK_DB_REFENTRY) $@.tmp
+@BUILD_MANPAGE_TRUE@ rm $@.tmp
-dvisvgm.sty: dvisvgm-man.xml $(GEN_DBLATEX_STY)
- xsltproc -o dvisvgm.sty $(GEN_DBLATEX_STY) $<
+@BUILD_MANPAGE_TRUE@dvisvgm-article.xml: dvisvgm.txt $(TWEAK_DB_ARTICLE)
+@BUILD_MANPAGE_TRUE@ asciidoc -a icons -a 'iconsdir=.' -a badges -a 'revnumber=@VERSION@' --unsafe -bdocbook -darticle -o $@.tmp $<
+@BUILD_MANPAGE_TRUE@ xsltproc -o $@ $(TWEAK_DB_ARTICLE) $@.tmp
+@BUILD_MANPAGE_TRUE@ rm $@.tmp
+@BUILD_MANPAGE_TRUE@ sed -i "s/{VERSION}/@VERSION@/" $@
-dvisvgm.txt: dvisvgm.txt.in ../configure.ac
- sed -e 's/@VERSION[@]/@VERSION@/g' -e 's/@PACKAGE_BUGREPORT[@]/@PACKAGE_BUGREPORT@/g' $< >$@
- if [ $< -nt ../configure.ac ]; \
- then touch -r $< $@; \
- else touch -r ../configure.ac $@; \
- fi
+@BUILD_MANPAGE_TRUE@dvisvgm.sty: dvisvgm-man.xml $(GEN_DBLATEX_STY)
+@BUILD_MANPAGE_TRUE@ xsltproc -o dvisvgm.sty $(GEN_DBLATEX_STY) $<
+
+@BUILD_MANPAGE_TRUE@dvisvgm.txt: dvisvgm.txt.in ../configure.ac
+@BUILD_MANPAGE_TRUE@ sed -e 's/@VERSION[@]/@VERSION@/g' -e 's/@PACKAGE_BUGREPORT[@]/@PACKAGE_BUGREPORT@/g' $< >$@
+@BUILD_MANPAGE_TRUE@ if [ $< -nt ../configure.ac ]; \
+@BUILD_MANPAGE_TRUE@ then touch -r $< $@; \
+@BUILD_MANPAGE_TRUE@ else touch -r ../configure.ac $@; \
+@BUILD_MANPAGE_TRUE@ fi
-epub: dvisvgm.epub
-html: dvisvgm.html
-man: dvisvgm.1
-pdf: dvisvgm.pdf
+@BUILD_MANPAGE_TRUE@epub: dvisvgm.epub
+@BUILD_MANPAGE_TRUE@html: dvisvgm.html
+@BUILD_MANPAGE_TRUE@man: dvisvgm.1
+@BUILD_MANPAGE_TRUE@md: dvisvgm.md
+@BUILD_MANPAGE_TRUE@pdf: dvisvgm.pdf
clean:
- rm -f dvisvgm.pdf dvisvgm.html dvisvgm-man.xml dvisvgm-article.xml dvisvgm.txt dvisvgm.sty dvisvgm.dvi dvisvgm.epub
+ rm -f dvisvgm.pdf dvisvgm.html dvisvgm.md dvisvgm-man.xml dvisvgm-article.xml dvisvgm.txt dvisvgm.sty dvisvgm.dvi dvisvgm.epub
distclean-local:
- rm -f dvisvgm.pdf dvisvgm.html dvisvgm-man.xml dvisvgm-article.xml dvisvgm.txt dvisvgm.sty dvisvgm.dvi dvisvgm.epub dvisvgm.1
+ rm -f dvisvgm.pdf dvisvgm.html dvisvgm.md dvisvgm-man.xml dvisvgm-article.xml dvisvgm.txt dvisvgm.sty dvisvgm.dvi dvisvgm.epub dvisvgm.1
# Ensure that distribution tarballs always contain a recent manpage, i.e.
# let "make dist" and "make distcheck" fail if dvisvgm.1 can't be built.
-dist-hook:
- @if test ! -f $(dvisvgm_srcdir)/doc/dvisvgm.1; then \
- echo "----------------------------------------------------------------"; \
- echo "manpage file dvisvgm.1 could not be built because one or more of"; \
- echo "the following utilities are missing: asciidoc, xmlto, xsltproc "; \
- echo "----------------------------------------------------------------"; \
- false; \
- fi
+@BUILD_MANPAGE_FALSE@dist-hook:
+@BUILD_MANPAGE_FALSE@ @echo "----------------------------------------------------------------"; \
+@BUILD_MANPAGE_FALSE@ echo "manpage file dvisvgm.1 could not be built because one or more of"; \
+@BUILD_MANPAGE_FALSE@ echo "the following utilities are missing: asciidoc, xmlto, xsltproc "; \
+@BUILD_MANPAGE_FALSE@ echo "----------------------------------------------------------------"; \
+@BUILD_MANPAGE_FALSE@ false;
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/dviware/dvisvgm/doc/conf-dblatex-man.xsl b/dviware/dvisvgm/doc/conf-dblatex-man.xsl
index 9802cdcdcf..2e52f9e96f 100644
--- a/dviware/dvisvgm/doc/conf-dblatex-man.xsl
+++ b/dviware/dvisvgm/doc/conf-dblatex-man.xsl
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file is part of dvisvgm -->
-<!-- Copyright (C) 2015-2019 Martin Gieseking <martin.gieseking@uos.de> -->
+<!-- Copyright (C) 2015-2020 Martin Gieseking <martin.gieseking@uos.de> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- output monospaced text in bold -->
<xsl:template match="literal">
diff --git a/dviware/dvisvgm/doc/conf-dblatex-pdf.xsl b/dviware/dvisvgm/doc/conf-dblatex-pdf.xsl
index 5b9b8c8194..321bc0f4fb 100644
--- a/dviware/dvisvgm/doc/conf-dblatex-pdf.xsl
+++ b/dviware/dvisvgm/doc/conf-dblatex-pdf.xsl
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding="iso-8859-1"?>
<!-- This file is part of dvisvgm -->
-<!-- Copyright (C) 2015-2019 Martin Gieseking <martin.gieseking@uos.de> -->
+<!-- Copyright (C) 2015-2020 Martin Gieseking <martin.gieseking@uos.de> -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="xetex.font">
<xsl:text>\setmainfont{Source Sans Pro}&#10;</xsl:text>
diff --git a/dviware/dvisvgm/doc/dvisvgm.1 b/dviware/dvisvgm/doc/dvisvgm.1
index 5c7cb95e5a..43fd7e1126 100644
--- a/dviware/dvisvgm/doc/dvisvgm.1
+++ b/dviware/dvisvgm/doc/dvisvgm.1
@@ -2,12 +2,12 @@
.\" Title: dvisvgm
.\" Author: Martin Gieseking <martin.gieseking@uos.de>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\" Date: 2019-11-12
+.\" Date: 2020-03-08
.\" Manual: dvisvgm Manual
-.\" Source: dvisvgm 2.8.2
+.\" Source: dvisvgm 2.9
.\" Language: English
.\"
-.TH "DVISVGM" "1" "2019\-11\-12" "dvisvgm 2\&.8\&.2" "dvisvgm Manual"
+.TH "DVISVGM" "1" "2020\-03\-08" "dvisvgm 2\&.9" "dvisvgm Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -46,10 +46,12 @@ SVG is a vector\-based graphics format and therefore dvisvgm tries to convert th
.sp
However, TeX\(cqs main source for font descriptions is Metafont, which produces bitmap output (GF files)\&. That\(cqs why not all obtainable TeX fonts are available in a scalable format\&. In these cases, dvisvgm tries to vectorize Metafont\(cqs output by tracing the glyph bitmaps\&. The results are not as perfect as most (manually optimized) PFB or OTF counterparts, but are nonetheless really nice in most cases\&.
.sp
-When running dvisvgm without option \fB\-\-no\-fonts\fR, it creates \fIfont\fR elements (\fB<font>\fR\&...\fB</font>\fR) to embed the font data into the SVG files\&. Unfortunately, only few SVG renderers support these elements yet\&. Most web browsers and vector graphics applications don\(cqt evaluate them properly so that the text components of the resulting graphics might look strange\&. In order to create more compatible SVG files, command\-line option \fB\-\-no\-fonts\fR can be given to replace the font elements by plain graphics paths\&.
+When running dvisvgm without option \fB\-\-no\-fonts\fR, it creates \fIfont\fR elements (\fB<font>\fR\&...\fB</font>\fR) to embed the font data into the SVG files\&. Unfortunately, only few SVG renderers support these elements yet\&. Most web browsers and vector graphics applications don\(cqt evaluate them properly so that the text components of the resulting graphics might look strange\&. In order to create more compatible SVG files, command\-line option \fB\-\-no\-fonts\fR can be given to replace the font elements by plain graphics paths\&. Most web browsers (but only few external SVG renderers) also suppport WOFF and WOFF2 fonts that can be used instead of the default SVG fonts\&. Option \fB\-\-font\-format\fR offers the functionality to change the format applied to the fonts being embedded\&.
.SH "OPTIONS"
.sp
dvisvgm provides a POSIX\-compliant command\-line interface with short and long option names\&. They may be given before and/or after the name of the file to be converted\&. Also, the order of specifying the options is not significant, i\&.e\&. you can add them in any order without changing dvisvgm\(cqs behavior\&. Certain options accept or require additional parameters which are directly appended to or separated by whitespace from a short option (e\&.g\&. \fB\-v0\fR or \fB\-v 0\fR)\&. Long options require an additional equals sign (\fB=\fR) between option name and argument but without any surrounding whitespace (e\&.g\&. \fB\-\-verbosity=0\fR)\&. Multiple short options that don\(cqt expect a further parameter can be combined after a single dash (e\&.g\&. \fB\-ejs\fR rather than \fB\-e \-j \-s\fR)\&.
+.sp
+Long option names may also be shortened by omitting trailing characters\&. As long as the shortened name is unambiguous, it\(cqs recognized and applied\&. For example, option \fB\-\-exact\-bbox\fR can be shortened to \fB\-\-exact\fR, \fB\-\-exa\fR, or \fB\-\-ex\fR\&. In case of an ambiguous abbreviation, dvisvgm prints an error message together with all matching option names\&.
.PP
\fB\-b, \-\-bbox\fR=\fIfmt\fR
.RS 4
@@ -161,6 +163,85 @@ only affects the bounding box and does not transform the page content\&. Hence,
.RE
.RE
.PP
+\fB\-B, \-\-bitmap\-format\fR=\fIfmt\fR
+.RS 4
+This option sets the image format used to embed bitmaps extracted from PostScript or PDF data\&. By default, dvisvgm embeds all bitmaps as JPEG images because it\(cqs the most compact of the two formats supported by SVG\&. To select the alternative lossless PNG format,
+\fB\-\-bitmap\-format=png\fR
+can be used\&. There are some more format variants dvisvgm currently supports even though
+\fBjpeg\fR
+and
+\fBpng\fR
+should be sufficient in most cases\&. The following list gives an overview of the known format names which correspond to names of Ghostscript output devices\&.
+.TS
+tab(:);
+lt lt
+lt lt
+lt lt
+lt lt
+lt lt
+lt lt
+lt lt
+lt lt
+lt lt
+lt lt.
+T{
+\fBnone\fR
+T}:T{
+disable processing of bitmap images
+T}
+T{
+\fBjpeg\fR
+T}:T{
+color JPEG format
+T}
+T{
+\fBjpeggray\fR
+T}:T{
+grayscale JPEG format
+T}
+T{
+\fBpng\fR
+T}:T{
+grayscale or 24\-bit color PNG format depending on current color space
+T}
+T{
+\fBpnggray\fR
+T}:T{
+grayscale PNG format
+T}
+T{
+\fBpngmono\fR
+T}:T{
+black\-and\-white PNG format
+T}
+T{
+\fBpngmonod\fR
+T}:T{
+dithered black\-and\-white PNG format
+T}
+T{
+\fBpng16\fR
+T}:T{
+4\-bit color PNG format
+T}
+T{
+\fBpng256\fR
+T}:T{
+8\-bit color PNG format
+T}
+T{
+\fBpng16m\fR
+T}:T{
+24\-bit color PNG format
+T}
+.TE
+.sp 1
+Since the collection of supported output devices can vary among local Ghostscript installations, not all formats may be available in some environments\&. dvisvgm quits with a PostScript error message if the selected output format requires a locally unsupported output device\&.
+.sp
+The two JPEG format specifiers accept an optional parameter to set the IJG quality level which must directly follow the format specifier separated by a colon, e\&.g\&.
+\fB\-\-bitmap\-format=jpeg:50\fR\&. The quality value is an integer between 0 and 100\&. Higher values result in better image quality but lower compression rates and therefore larger files\&. The default quality level is 75 which is applied if no quality parameter is given or if it\(cqs set to 0\&.
+.RE
+.PP
\fB\-C, \-\-cache\fR[=\fIdir\fR]
.RS 4
To speed up the conversion process of bitmap fonts, dvisvgm saves intermediate conversion information in cache files\&. By default, these files are stored in
@@ -317,7 +398,7 @@ dvipdfm (\m[blue]https://ctan.org/tex-archive/dviware/dvipdfm\m[])\&.
.RS 4
Tells dvisvgm to create overlapping grid segments when approximating color gradient fills (also see option
\fB\-\-grad\-segments\fR
-below)\&. By default, adjacent segments don\(cqt overlap but only touch each other like separate tiles\&. However, this alignment can lead to visible gaps between the segments because the background color usually influences the color at the boundary of the segments if the SVG renderer uses anti\-aliasing to create smooth contours\&. One way to avoid this and to create seamlessly touching color regions is to enlarge the segments so that they extent into the area of their right and bottom neighbors\&. Since the latter are drawn on top of the overlapping parts, the visible size of all segments keeps unchanged\&. Just the former gaps disappear as the background is now completely covered by the correct colors\&. Currently, dvisvgm computes the overlapping segments separately for each patch of the mesh (a patch mesh may consist of multiple patches of the same type)\&. Therefore, there still might be visible gaps at the seam of two adjacent patches\&.
+below)\&. By default, adjacent segments don\(cqt overlap but only touch each other like separate tiles\&. However, this alignment can lead to visible gaps between the segments because the background color usually influences the color at the boundary of the segments if the SVG renderer uses anti\-aliasing to create smooth contours\&. One way to avoid this and to create seamlessly touching color regions is to enlarge the segments so that they extend into the area of their right and bottom neighbors\&. Since the latter are drawn on top of the overlapping parts, the visible size of all segments keeps unchanged\&. Just the former gaps disappear as the background is now completely covered by the correct colors\&. Currently, dvisvgm computes the overlapping segments separately for each patch of the mesh (a patch mesh may consist of multiple patches of the same type)\&. Therefore, there still might be visible gaps at the seam of two adjacent patches\&.
.RE
.PP
\fB\-\-grad\-segments\fR=\fInumber\fR
@@ -341,6 +422,15 @@ If the size of the segments created to approximate gradient color fills falls be
Prints a short summary of all available command\-line options\&. The optional
\fImode\fR
parameter is an integer value between 0 and 2\&. It selects the display variant of the help text\&. Mode 0 lists all options divided into categories with section headers\&. This is also the default if dvisvgm is called without parameters\&. Mode 1 lists all options ordered by the short option names, while mode 2 sorts the lines by the long option names\&.
+.sp
+A values in brackets after the description text indicate the default parameter of the option\&. They are applied if an option with a mandatory parameter is not used or if an optional parameter is omitted\&. For example, option
+\fB\-\-bbox\fR
+requires a size parameter which defaults to
+\fBmin\fR
+if
+\fB\-\-bbox\fR
+is not used\&. Option
+\fB\-\-zip\fR, which isn\(cqt applied by default, accepts an optional compression level parameter\&. If it\(cqs omitted, the stated default value 9 is used\&.
.RE
.PP
\fB\-\-keep\fR
@@ -1591,4 +1681,4 @@ Please report bugs using the bug tracker at GitHub (\m[blue]https://github.com/m
Written by Martin Gieseking <\m[blue]\fBmartin\&.gieseking@uos\&.de\fR\m[]>
.SH "COPYING"
.sp
-Copyright \(co 2005\-2019 Martin Gieseking\&. Free use of this software is granted under the terms of the GNU General Public License (GPL) version 3 or, (at your option) any later version\&.
+Copyright \(co 2005\-2020 Martin Gieseking\&. Free use of this software is granted under the terms of the GNU General Public License (GPL) version 3 or, (at your option) any later version\&.
diff --git a/dviware/dvisvgm/doc/dvisvgm.txt.in b/dviware/dvisvgm/doc/dvisvgm.txt.in
index 1b5c669252..7afc9138b9 100644
--- a/dviware/dvisvgm/doc/dvisvgm.txt.in
+++ b/dviware/dvisvgm/doc/dvisvgm.txt.in
@@ -1,6 +1,6 @@
//////////////////////////////////////////////////////////////////////////
// This file is part of dvisvgm -- a fast DVI to SVG converter //
-// Copyright (C) 2005-2019 Martin Gieseking <martin.gieseking@uos.de> //
+// Copyright (C) 2005-2020 Martin Gieseking <martin.gieseking@uos.de> //
// //
// This program is free software; you can redistribute it and/or //
// modify it under the terms of the GNU General Public License as //
@@ -22,7 +22,7 @@ Martin Gieseking <@PACKAGE_BUGREPORT@>
:man source: dvisvgm
:man version: @VERSION@
:man manual: dvisvgm Manual
-:revdate: 2019-11-12 20:21 +0100
+:revdate: 2020-03-08 09:20 +0100
Name
----
@@ -69,7 +69,9 @@ to embed the font data into the SVG files. Unfortunately, only few SVG renderers
elements yet. Most web browsers and vector graphics applications don't evaluate them properly so
that the text components of the resulting graphics might look strange. In order to create more
compatible SVG files, command-line option *--no-fonts* can be given to replace the font elements
-by plain graphics paths.
+by plain graphics paths. Most web browsers (but only few external SVG renderers) also suppport
+WOFF and WOFF2 fonts that can be used instead of the default SVG fonts. Option *--font-format*
+offers the functionality to change the format applied to the fonts being embedded.
Options
@@ -83,6 +85,11 @@ require an additional equals sign (+=+) between option name and argument but wit
whitespace (e.g. +--verbosity=0+). Multiple short options that don't expect a further parameter can
be combined after a single dash (e.g. +-ejs+ rather than +-e -j -s+).
+Long option names may also be shortened by omitting trailing characters. As long as the shortened
+name is unambiguous, it's recognized and applied. For example, option +--exact-bbox+ can be shortened
+to +--exact+, +--exa+, or +--ex+. In case of an ambiguous abbreviation, dvisvgm prints an error
+message together with all matching option names.
+
*-b, --bbox*='fmt'::
Sets the bounding box of the generated graphic to the specified format. The parameter 'fmt'
takes either one of the format specifiers listed below, or a sequence of four comma- or
@@ -106,11 +113,11 @@ Additionally, dvisvgm also supports the following format specifiers:
*Special bounding box sizes*;;
[horizontal]
- *dvi*::: page size stored in the DVI file
- *min*::: computes the minimal/tightest bounding box
- *none*::: no bounding box is assigned
- *papersize*::: box sizes specified by 'papersize' specials present in the DVI file
- *preview*::: bounding box data computed by the preview package (if present in the DVI file)
+ *dvi* ::: page size stored in the DVI file
+ *min* ::: computes the minimal/tightest bounding box
+ *none* ::: no bounding box is assigned
+ *papersize* ::: box sizes specified by 'papersize' specials present in the DVI file
+ *preview* ::: bounding box data computed by the preview package (if present in the DVI file)
//
*Page orientation*;;
The default page orientation for DIN/ISO and American paper sizes is 'portrait',
@@ -128,6 +135,38 @@ Hence, if you choose a landscape format, the page won't be rotated.
//
//
+*-B, --bitmap-format*='fmt'::
+This option sets the image format used to embed bitmaps extracted from PostScript or PDF data.
+By default, dvisvgm embeds all bitmaps as JPEG images because it's the most compact of the two formats
+supported by SVG. To select the alternative lossless PNG format, *--bitmap-format=png* can be used.
+There are some more format variants dvisvgm currently supports even though +jpeg+ and +png+ should be
+sufficient in most cases. The following list gives an overview of the known format names which
+correspond to names of Ghostscript output devices.
++
+--
+[horizontal]
+*none* ::: disable processing of bitmap images
+*jpeg* ::: color JPEG format
+*jpeggray* ::: grayscale JPEG format
+*png* ::: grayscale or 24-bit color PNG format depending on current color space
+*pnggray* ::: grayscale PNG format
+*pngmono* ::: black-and-white PNG format
+*pngmonod* ::: dithered black-and-white PNG format
+*png16* ::: 4-bit color PNG format
+*png256* ::: 8-bit color PNG format
+*png16m* ::: 24-bit color PNG format
+--
++
+Since the collection of supported output devices can vary among local Ghostscript installations,
+not all formats may be available in some environments. dvisvgm quits with a PostScript error message
+if the selected output format requires a locally unsupported output device.
++
+The two JPEG format specifiers accept an optional parameter to set the IJG quality level
+which must directly follow the format specifier separated by a colon, e.g. *--bitmap-format=jpeg:50*.
+The quality value is an integer between 0 and 100. Higher values result in better image quality but
+lower compression rates and therefore larger files. The default quality level is 75 which is applied
+if no quality parameter is given or if it's set to 0.
+
*-C, --cache*[='dir']::
To speed up the conversion process of bitmap fonts, dvisvgm saves intermediate conversion
information in cache files. By default, these files are stored in +$XDG_CACHE_HOME/dvisvgm/+
@@ -232,7 +271,7 @@ like separate tiles. However, this alignment can lead to visible gaps between th
because the background color usually influences the color at the boundary of the segments if the
SVG renderer uses anti-aliasing to create smooth contours.
One way to avoid this and to create seamlessly touching color regions is to enlarge the segments so
-that they extent into the area of their right and bottom neighbors. Since the latter are drawn on top
+that they extend into the area of their right and bottom neighbors. Since the latter are drawn on top
of the overlapping parts, the visible size of all segments keeps unchanged. Just the former gaps
disappear as the background is now completely covered by the correct colors.
Currently, dvisvgm computes the overlapping segments separately for each patch of the mesh (a patch mesh
@@ -265,6 +304,12 @@ an integer value between 0 and 2. It selects the display variant of the help tex
lists all options divided into categories with section headers. This is also the default if
dvisvgm is called without parameters. Mode 1 lists all options ordered by the short option names,
while mode 2 sorts the lines by the long option names.
++
+A values in brackets after the description text indicate the default parameter of the option. They
+are applied if an option with a mandatory parameter is not used or if an optional parameter is omitted.
+For example, option *--bbox* requires a size parameter which defaults to +min+ if *--bbox* is not
+used. Option *--zip*, which isn't applied by default, accepts an optional compression level parameter.
+If it's omitted, the stated default value 9 is used.
*--keep*::
Disables the removal of temporary files as created by Metafont (usually .gf, .tfm, and .log files) or
@@ -944,7 +989,7 @@ Written by {author} <{email}>
Copying
-------
-Copyright (C) 2005-2019 Martin Gieseking. Free use of this software is
+Copyright (C) 2005-2020 Martin Gieseking. Free use of this software is
granted under the terms of the GNU General Public License (GPL) version 3
or, (at your option) any later version.
diff --git a/dviware/dvisvgm/doc/generate-dvisvgm-sty.xsl b/dviware/dvisvgm/doc/generate-dvisvgm-sty.xsl
index 9ce456d1b3..bdb279da99 100644
--- a/dviware/dvisvgm/doc/generate-dvisvgm-sty.xsl
+++ b/dviware/dvisvgm/doc/generate-dvisvgm-sty.xsl
@@ -7,6 +7,8 @@
\ProvidesPackage{dvisvgm}[2015/02/04 dvisvgm DocBook style]
\RequirePackageWithOptions{docbook}
\RequirePackage[english]{babel}
+\RequirePackage{underscore}
+\renewcommand*{\arraystretch}{-0.4}
\AtBeginDocument{%
\thispagestyle{empty}
\lhead[]{\refmiscinfomanual}
@@ -16,4 +18,4 @@
\def\tableofcontents{\stdtoc} % keep TOC on current page
}
</xsl:template>
-</xsl:stylesheet> \ No newline at end of file
+</xsl:stylesheet>
diff --git a/dviware/dvisvgm/doc/tweak-db-refentry.xsl b/dviware/dvisvgm/doc/tweak-db-refentry.xsl
index 088e2ce434..1750d7a4f7 100644
--- a/dviware/dvisvgm/doc/tweak-db-refentry.xsl
+++ b/dviware/dvisvgm/doc/tweak-db-refentry.xsl
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!-- This file is part of dvisvgm -->
-<!-- Copyright (C) 2015-2019 Martin Gieseking <martin.gieseking@uos.de> -->
+<!-- Copyright (C) 2015-2020 Martin Gieseking <martin.gieseking@uos.de> -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="http://exslt.org/dates-and-times"
diff --git a/dviware/dvisvgm/doc/tweak-dblatex-pdf.xsl b/dviware/dvisvgm/doc/tweak-dblatex-pdf.xsl
index 8b07434845..d1762adecb 100644
--- a/dviware/dvisvgm/doc/tweak-dblatex-pdf.xsl
+++ b/dviware/dvisvgm/doc/tweak-dblatex-pdf.xsl
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file is part of dvisvgm -->
-<!-- Copyright (C) 2015-2019 Martin Gieseking <martin.gieseking@uos.de> -->
+<!-- Copyright (C) 2015-2020 Martin Gieseking <martin.gieseking@uos.de> -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output doctype-public="-//OASIS//DTD DocBook XML V4.5//EN" doctype-system="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"/>