summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2024-01-01 05:16:01 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2024-01-01 05:16:01 +0000
commit78293d287c52ccf8c502257cf874d45d0ba593ab (patch)
tree19cf175a3a105d270f3f7567c37b9009fcfbb687 /Build
parent4b970721ca29e007d5700fe9abf1b7e97c77026a (diff)
dvisvgm: Add new tests with original samples & tests for upTeX DVI
git-svn-id: svn://tug.org/texlive/trunk@69258 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/dvisvgm/ChangeLog10
-rw-r--r--Build/source/texk/dvisvgm/Makefile.am20
-rw-r--r--Build/source/texk/dvisvgm/Makefile.in17
-rwxr-xr-xBuild/source/texk/dvisvgm/tests/dvisvgm-sample.test54
-rwxr-xr-xBuild/source/texk/dvisvgm/tests/dvisvgm-uptex.test104
-rwxr-xr-xBuild/source/texk/dvisvgm/tests/dvisvgm.test6
-rw-r--r--Build/source/texk/dvisvgm/tests/sample_v2-nf.svg218
-rw-r--r--Build/source/texk/dvisvgm/tests/sample_v2-wf.svg58
-rw-r--r--Build/source/texk/dvisvgm/tests/sample_v3-nf.svg31
-rw-r--r--Build/source/texk/dvisvgm/tests/sample_v3-wf.svg27
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf-g.tfmbin0 -> 368 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf-g00.ofmbin0 -> 292 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf-hara.map6
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf-r.tfmbin0 -> 108 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf-r00.ofmbin0 -> 340 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf.dvibin0 -> 588 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf.map6
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf.svg63
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf.tfmbin0 -> 812 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf1.svg62
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf1_full.vfbin0 -> 7008 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf1_omit.vfbin0 -> 6940 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf_full.vfbin0 -> 7008 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjf_omit.vfbin0 -> 6972 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjv-g.tfmbin0 -> 108 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjv-g00.ofmbin0 -> 276 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjv-r.tfmbin0 -> 108 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjv-r00.ofmbin0 -> 312 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjv.tfmbin0 -> 536 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjv_full.vfbin0 -> 7008 bytes
-rw-r--r--Build/source/texk/dvisvgm/tests/upjv_omit.vfbin0 -> 6972 bytes
31 files changed, 676 insertions, 6 deletions
diff --git a/Build/source/texk/dvisvgm/ChangeLog b/Build/source/texk/dvisvgm/ChangeLog
index 9190269d9dc..f0cc47e1108 100644
--- a/Build/source/texk/dvisvgm/ChangeLog
+++ b/Build/source/texk/dvisvgm/ChangeLog
@@ -1,3 +1,13 @@
+2024-01-01 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * tests/dvisvgm.test: Make easier to test on Windows.
+ * tests/dvisvgm-sample.test, tests/sample_v{2,3}_{nf,wf}.svg:
+ New tests using samples in the original source.
+ * tests/dvisvgm-uptex.test, tests/upjf.dvi, tests/upj{f,v}{,-{r,g}}.tfm,
+ tests/upj{f,v}-{r,g}00.ofm, tests/upj{f{,1},v}_{full,omit}.vf,
+ upjf{,_hara}.map, upjf{,1}.svg: New tests for upTeX DVIs.
+ * Makefile.am: Adjusted.
+
2023-06-18 Karl Berry <karl@freefriends.org>
* configure.ac: no more AM_PROG_AR, it's in KPSE_COMMON now.
diff --git a/Build/source/texk/dvisvgm/Makefile.am b/Build/source/texk/dvisvgm/Makefile.am
index 4ee6e236754..20771bd18d3 100644
--- a/Build/source/texk/dvisvgm/Makefile.am
+++ b/Build/source/texk/dvisvgm/Makefile.am
@@ -34,8 +34,24 @@ config.force: $(dvisvgm_dependencies)
#
DISTCLEANFILES = config.force CXXLD.sh
-## Tests (our trivial one, not the original full test suite).
+## Tests (our trivial one and additions, not the original full test suite).
##
-TESTS = tests/dvisvgm.test
+TESTS = tests/dvisvgm.test tests/dvisvgm-sample.test tests/dvisvgm-uptex.test
tests/dvisvgm.log: $(DVISVGM_TREE)/src/dvisvgm$(EXEEXT)
+tests/dvisvgm-sample.log: $(DVISVGM_TREE)/src/dvisvgm$(EXEEXT)
+tests/dvisvgm-uptex.log: $(DVISVGM_TREE)/src/dvisvgm$(EXEEXT)
EXTRA_DIST += $(TESTS)
+
+## dvisvgm-sample.test
+EXTRA_DIST += tests/sample_v2-nf.svg tests/sample_v2-wf.svg \
+ tests/sample_v3-nf.svg tests/sample_v3-wf.svg
+DISTCLEANFILES += sample*.svg
+
+## dvisvgm-uptex.test
+EXTRA_DIST += tests/upjf.dvi tests/upjf.tfm tests/upjv.tfm \
+ tests/upjf-r.tfm tests/upjf-g.tfm tests/upjv-r.tfm tests/upjv-g.tfm \
+ tests/upjf-r00.ofm tests/upjf-g00.ofm tests/upjv-r00.ofm tests/upjv-g00.ofm \
+ tests/upjf_full.vf tests/upjf_omit.vf tests/upjv_full.vf tests/upjv_omit.vf \
+ tests/upjf1_full.vf tests/upjf1_omit.vf \
+ tests/upjf.svg tests/upjf1.svg tests/upjf.map tests/upjf-hara.map
+DISTCLEANFILES += upjf*.svg
diff --git a/Build/source/texk/dvisvgm/Makefile.in b/Build/source/texk/dvisvgm/Makefile.in
index 609cfc8f360..9ab5f3e6140 100644
--- a/Build/source/texk/dvisvgm/Makefile.in
+++ b/Build/source/texk/dvisvgm/Makefile.in
@@ -601,7 +601,16 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = . $(DVISVGM_TREE)
DIST_SUBDIRS = $(SUBDIRS)
-EXTRA_DIST = $(DVISVGM_TREE) TLpatches $(TESTS)
+EXTRA_DIST = $(DVISVGM_TREE) TLpatches $(TESTS) tests/sample_v2-nf.svg \
+ tests/sample_v2-wf.svg tests/sample_v3-nf.svg \
+ tests/sample_v3-wf.svg tests/upjf.dvi tests/upjf.tfm \
+ tests/upjv.tfm tests/upjf-r.tfm tests/upjf-g.tfm \
+ tests/upjv-r.tfm tests/upjv-g.tfm tests/upjf-r00.ofm \
+ tests/upjf-g00.ofm tests/upjv-r00.ofm tests/upjv-g00.ofm \
+ tests/upjf_full.vf tests/upjf_omit.vf tests/upjv_full.vf \
+ tests/upjv_omit.vf tests/upjf1_full.vf tests/upjf1_omit.vf \
+ tests/upjf.svg tests/upjf1.svg tests/upjf.map \
+ tests/upjf-hara.map
# We want to install the man page, but the upstream doc/Makefile.am
# does lots of other stuff.
@@ -614,8 +623,8 @@ NEVER_NAMES_SUB = -o -name .deps -o -name .dirstamp -o -name '*.$(OBJEXT)'
NEVER_NAMES_LT = -o -name .libs -o -name '*.lo'
dvisvgm_dependencies = $(KPATHSEA_DEPEND) $(ZLIB_DEPEND) $(FREETYPE2_DEPEND) $(POTRACE_DEPEND)
#
-DISTCLEANFILES = config.force CXXLD.sh
-TESTS = tests/dvisvgm.test
+DISTCLEANFILES = config.force CXXLD.sh sample*.svg upjf*.svg
+TESTS = tests/dvisvgm.test tests/dvisvgm-sample.test tests/dvisvgm-uptex.test
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -1328,6 +1337,8 @@ config.force: $(dvisvgm_dependencies)
echo timestamp >config.force
$(SHELL) ./config.status --recheck
tests/dvisvgm.log: $(DVISVGM_TREE)/src/dvisvgm$(EXEEXT)
+tests/dvisvgm-sample.log: $(DVISVGM_TREE)/src/dvisvgm$(EXEEXT)
+tests/dvisvgm-uptex.log: $(DVISVGM_TREE)/src/dvisvgm$(EXEEXT)
# 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/Build/source/texk/dvisvgm/tests/dvisvgm-sample.test b/Build/source/texk/dvisvgm/tests/dvisvgm-sample.test
new file mode 100755
index 00000000000..ceac3d589a6
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/dvisvgm-sample.test
@@ -0,0 +1,54 @@
+#! /bin/sh -vx
+# $Id$
+# Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+# You may freely use, modify and/or distribute this file.
+
+# We run tests in the original source at dvisvgm-src/tests/data/sample*
+
+BinDir=${BinDir:-./dvisvgm-src/src}
+ExeExt=${ExeExt:-}
+_dvisvgm=$BinDir/dvisvgm$ExeExt
+
+TEXMFCNF=$srcdir/../kpathsea
+TFMFONTS="$srcdir/dvisvgm-src/tests/data"
+T1FONTS="$srcdir/dvisvgm-src/tests/data"
+TEXFONTMAPS="$srcdir/dvisvgm-src/tests/data"
+PSHEADERS="$srcdir/../dvipsk/testdata"
+
+export TEXMFCNF TFMFONTS T1FONTS TEXFONTMAPS PSHEADERS
+
+rm -f ./sample*.svg
+failed=
+
+echo "*** dvisvgm: test for sample_v2" && echo \
+ && $_dvisvgm --verbosity=7 -m dvips_test.map -o sample_v2-wf.svg $srcdir/dvisvgm-src/tests/data/sample_v2.dvi \
+ && echo || failed="$failed sample_v2-wf"
+
+diff ./sample_v2-wf.svg $srcdir/tests/sample_v2-wf.svg || failed="$failed sample_v2-wf-cmp"
+
+
+echo "*** dvisvgm: test for sample_v2 -n" && echo \
+ && $_dvisvgm --verbosity=7 -m dvips_test.map -n -o sample_v2-nf.svg $srcdir/dvisvgm-src/tests/data/sample_v2.dvi \
+ && echo || failed="$failed sample_v2-nf"
+
+diff ./sample_v2-wf.svg $srcdir/tests/sample_v2-wf.svg || failed="$failed sample_v2-nf-cmp"
+
+
+echo "*** dvisvgm: test for sample_v3" && echo \
+ && $_dvisvgm --verbosity=7 -m dvips_test.map -o sample_v3-wf.svg $srcdir/dvisvgm-src/tests/data/sample_v3.dvi \
+ && echo || failed="$failed sample_v3-wf"
+
+diff ./sample_v3-wf.svg $srcdir/tests/sample_v3-wf.svg || failed="$failed sample_v3-wf-cmp"
+
+
+echo "*** dvisvgm: test for sample_v3 -n" && echo \
+ && $_dvisvgm --verbosity=7 -m dvips_test.map -n -o sample_v3-nf.svg $srcdir/dvisvgm-src/tests/data/sample_v3.dvi \
+ && echo || failed="$failed sample_v3-nf"
+
+diff ./sample_v3-nf.svg $srcdir/tests/sample_v3-nf.svg || failed="$failed sample_v3-nf-cmp"
+
+
+test -z "$failed" && exit 0
+echo
+echo "failed tests:$failed"
+exit 1
diff --git a/Build/source/texk/dvisvgm/tests/dvisvgm-uptex.test b/Build/source/texk/dvisvgm/tests/dvisvgm-uptex.test
new file mode 100755
index 00000000000..ce1128fb9ec
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/dvisvgm-uptex.test
@@ -0,0 +1,104 @@
+#! /bin/sh -vx
+# $Id$
+# Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+# You may freely use, modify and/or distribute this file.
+
+# most imput files were copied from ../../dvipsk/testdata/
+
+KpsDir=${KpsDir:-../kpathsea}
+BinDir=${BinDir:-./dvisvgm-src/src}
+ExeExt=${ExeExt:-}
+_kpsewhich=$KpsDir/kpsewhich$ExeExt
+_dvisvgm=$BinDir/dvisvgm$ExeExt
+
+TEXMFCNF=$srcdir/../kpathsea
+TFMFONTS=".;$srcdir/dvisvgm-src/tests/data;$srcdir/tests"
+VFFONTS=".;$srcdir/tests"
+T1FONTS="$srcdir/dvisvgm-src/tests/data"
+TEXFONTMAPS="$srcdir/dvisvgm-src/tests/data;$srcdir/tests"
+
+export TEXMFCNF TFMFONTS VFFONTS T1FONTS TEXFONTMAPS
+
+rm -f ./upjf*.svg
+failed=
+
+echo "*** dvisvgm: test for upjf_full" && echo \
+ && cp $srcdir/tests/upjf_full.vf ./upjf.vf \
+ && cp $srcdir/tests/upjv_full.vf ./upjv.vf \
+ && $_dvisvgm --verbosity=7 -m upjf.map -o upjf_full.svg $srcdir/tests/upjf.dvi \
+ && echo || failed="$failed upjf_full"
+
+diff ./upjf_full.svg $srcdir/tests/upjf.svg || failed="$failed upjf_full-cmp"
+
+
+echo "*** dvisvgm: test for upjf1_full" && echo \
+ && cp $srcdir/tests/upjf1_full.vf ./upjf.vf \
+ && $_dvisvgm --verbosity=7 -m upjf.map -o upjf1_full.svg $srcdir/tests/upjf.dvi \
+ && echo || failed="$failed upjf1_full"
+
+diff ./upjf1_full.svg $srcdir/tests/upjf1.svg || failed="$failed upjf1_full-cmp"
+
+test -n "$failed" && { echo; echo "failed tests:$failed"; exit 1; }
+
+
+##### following tests require Haranoaji fonts #####
+
+$_kpsewhich -format='opentype fonts' HaranoAjiMincho-Regular.otf
+otfpath=`$_kpsewhich -format='opentype fonts' HaranoAjiMincho-Regular.otf` || exit 77
+OPENTYPEFONTS=`echo $otfpath | sed -e 's,HaranoAjiMincho-Regular\.otf,,' -e 's,/fonts/opentype/.*$,/fonts/opentype//,'`
+export OPENTYPEFONTS
+
+
+echo "*** dvisvgm: test for upjf_full" && echo \
+ && cp $srcdir/tests/upjf_full.vf ./upjf.vf \
+ && cp $srcdir/tests/upjv_full.vf ./upjv.vf \
+ && $_dvisvgm --verbosity=7 -m upjf-hara.map -o upjf_full1.svg $srcdir/tests/upjf.dvi \
+ && echo || failed="$failed upjf_full1"
+
+echo "*** dvisvgm: test for upjf1_full" && echo \
+ && cp $srcdir/tests/upjf1_full.vf ./upjf.vf \
+ && $_dvisvgm --verbosity=7 -m upjf-hara.map -o upjf1_full1.svg $srcdir/tests/upjf.dvi \
+ && echo || failed="$failed upjf1_full1"
+
+
+echo "*** dvisvgm: test for upjf_omit" && echo \
+ && cp $srcdir/tests/upjf_omit.vf ./upjf.vf \
+ && cp $srcdir/tests/upjv_omit.vf ./upjv.vf \
+ && $_dvisvgm --verbosity=7 -m upjf-hara.map -o upjf_omit.svg $srcdir/tests/upjf.dvi \
+ && echo || failed="$failed upjf_omit"
+
+diff ./upjf_omit.svg ./upjf_full1.svg || failed="$failed upjf_omit-cmp"
+
+
+echo "*** dvisvgm: test for upjf1_omit" && echo \
+ && cp $srcdir/tests/upjf1_omit.vf ./upjf.vf \
+ && $_dvisvgm --verbosity=7 -m upjf-hara.map -o upjf1_omit.svg $srcdir/tests/upjf.dvi \
+ && echo || failed="$failed upjf1_omit"
+
+diff ./upjf1_omit.svg ./upjf1_full1.svg || failed="$failed upjf1_omit-cmp"
+
+
+echo "*** dvisvgm: test for upjf_omit2" && echo \
+ && cp $srcdir/tests/upjf_omit.vf ./upjf.vf \
+ && cp $srcdir/tests/upjf-r00.ofm ./upjf-r.ofm \
+ && cp $srcdir/tests/upjv-r00.ofm ./upjv-r.ofm \
+ && cp $srcdir/tests/upjf-g00.ofm ./upjf-g.ofm \
+ && cp $srcdir/tests/upjv-g00.ofm ./upjv-g.ofm \
+ && $_dvisvgm --verbosity=7 -m upjf-hara.map -o upjf_omit2.svg $srcdir/tests/upjf.dvi \
+ && echo || failed="$failed upjf_omit2"
+
+diff ./upjf_omit2.svg ./upjf_full1.svg || failed="$failed upjf_omit2-cmp"
+
+
+echo "*** dvisvgm: test for upjf1_omit2" && echo \
+ && cp $srcdir/tests/upjf1_omit.vf ./upjf.vf \
+ && $_dvisvgm --verbosity=7 -m upjf-hara.map -o upjf1_omit2.svg $srcdir/tests/upjf.dvi \
+ && echo || failed="$failed upjf1_omit2"
+
+diff ./upjf1_omit2.svg ./upjf1_full1.svg || failed="$failed upjf1_omit2-cmp"
+
+
+test -z "$failed" && exit 0
+echo
+echo "failed tests:$failed"
+exit 2
diff --git a/Build/source/texk/dvisvgm/tests/dvisvgm.test b/Build/source/texk/dvisvgm/tests/dvisvgm.test
index 801cba68825..80be51609bf 100755
--- a/Build/source/texk/dvisvgm/tests/dvisvgm.test
+++ b/Build/source/texk/dvisvgm/tests/dvisvgm.test
@@ -6,4 +6,8 @@
# Not really a test, just making sure the program executes.
-./dvisvgm-src/src/dvisvgm -Vyes || exit 1
+BinDir=${BinDir:-./dvisvgm-src/src}
+ExeExt=${ExeExt:-}
+_dvisvgm=$BinDir/dvisvgm$ExeExt
+
+$_dvisvgm -Vyes || exit 1
diff --git a/Build/source/texk/dvisvgm/tests/sample_v2-nf.svg b/Build/source/texk/dvisvgm/tests/sample_v2-nf.svg
new file mode 100644
index 00000000000..43d2dfb9849
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/sample_v2-nf.svg
@@ -0,0 +1,218 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 3.0.3 -->
+<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='220.921985pt' height='574.788988pt' viewBox='61.768369 55.84613 220.921985 574.788988'>
+<defs>
+<path id='g0-12' d='M3.287671-3.985056C3.745953-3.985056 3.815691-3.855542 3.815691-3.447073V-.757161C3.815691-.308842 3.706102-.308842 3.038605-.308842V0C3.367372-.009963 3.895392-.029888 4.144458-.029888S4.881694-.009963 5.250311 0V-.308842C4.582814-.308842 4.473225-.308842 4.473225-.757161V-4.41345L3.217933-4.323786C3.058531-4.313823 3.048568-4.303861 3.038605-4.303861C3.01868-4.293898 2.998755-4.293898 2.859278-4.293898H1.683686V-5.419676C1.683686-6.405978 2.540473-6.804483 3.158157-6.804483C3.457036-6.804483 3.815691-6.704857 4.014944-6.475716C3.606476-6.455791 3.5467-6.176837 3.5467-6.017435C3.5467-5.688667 3.805729-5.559153 3.995019-5.559153C4.224159-5.559153 4.4533-5.718555 4.4533-6.017435C4.4533-6.60523 3.905355-7.023661 3.16812-7.023661C2.241594-7.023661 1.05604-6.515567 1.05604-5.429639V-4.293898H.268991V-3.985056H1.05604V-.757161C1.05604-.308842 .946451-.308842 .278954-.308842V0C.607721-.009963 1.135741-.029888 1.384807-.029888S2.122042-.009963 2.49066 0V-.308842C1.823163-.308842 1.713574-.308842 1.713574-.757161V-3.985056H3.287671Z'/>
+<path id='g0-44' d='M2.022416-.009963C2.022416-.647572 1.783313-1.05604 1.384807-1.05604C1.036115-1.05604 .856787-.787049 .856787-.52802S1.026152 0 1.384807 0C1.544209 0 1.663761-.059776 1.763387-.139477L1.783313-.159402C1.793275-.159402 1.803238-.14944 1.803238-.009963C1.803238 .627646 1.524284 1.235367 1.085928 1.703611C1.026152 1.763387 1.016189 1.77335 1.016189 1.8132C1.016189 1.882939 1.066002 1.92279 1.115816 1.92279C1.235367 1.92279 2.022416 1.135741 2.022416-.009963Z'/>
+<path id='g0-46' d='M1.912827-.52802C1.912827-.816936 1.673724-1.05604 1.384807-1.05604S.856787-.816936 .856787-.52802S1.09589 0 1.384807 0S1.912827-.239103 1.912827-.52802Z'/>
+<path id='g0-49' d='M2.929016-6.37609C2.929016-6.615193 2.929016-6.635118 2.699875-6.635118C2.082192-5.997509 1.205479-5.997509 .886675-5.997509V-5.688667C1.085928-5.688667 1.673724-5.688667 2.191781-5.947696V-.787049C2.191781-.428394 2.161893-.308842 1.265255-.308842H.946451V0C1.295143-.029888 2.161893-.029888 2.560399-.029888S3.825654-.029888 4.174346 0V-.308842H3.855542C2.958904-.308842 2.929016-.418431 2.929016-.787049V-6.37609Z'/>
+<path id='g0-58' d='M1.912827-3.765878C1.912827-4.054795 1.673724-4.293898 1.384807-4.293898S.856787-4.054795 .856787-3.765878S1.09589-3.237858 1.384807-3.237858S1.912827-3.476961 1.912827-3.765878ZM1.912827-.52802C1.912827-.816936 1.673724-1.05604 1.384807-1.05604S.856787-.816936 .856787-.52802S1.09589 0 1.384807 0S1.912827-.239103 1.912827-.52802Z'/>
+<path id='g0-67' d='M.557908-3.407223C.557908-1.344956 2.171856 .219178 4.024907 .219178C5.648817 .219178 6.625156-1.165629 6.625156-2.321295C6.625156-2.420922 6.625156-2.49066 6.495641-2.49066C6.386052-2.49066 6.386052-2.430884 6.37609-2.331258C6.296389-.9066 5.230386-.089664 4.144458-.089664C3.536737-.089664 1.58406-.428394 1.58406-3.39726C1.58406-6.37609 3.526775-6.714819 4.134496-6.714819C5.220423-6.714819 6.107098-5.808219 6.306351-4.353674C6.326276-4.214197 6.326276-4.184309 6.465753-4.184309C6.625156-4.184309 6.625156-4.214197 6.625156-4.423412V-6.784558C6.625156-6.953923 6.625156-7.023661 6.515567-7.023661C6.475716-7.023661 6.435866-7.023661 6.356164-6.90411L5.858032-6.166874C5.489415-6.525529 4.98132-7.023661 4.024907-7.023661C2.161893-7.023661 .557908-5.439601 .557908-3.407223Z'/>
+<path id='g0-76' d='M5.798257-2.570361H5.549191C5.439601-1.554172 5.300125-.308842 3.5467-.308842H2.729763C2.261519-.308842 2.241594-.37858 2.241594-.707347V-6.017435C2.241594-6.356164 2.241594-6.495641 3.188045-6.495641H3.516812V-6.804483C3.158157-6.774595 2.251557-6.774595 1.843088-6.774595C1.454545-6.774595 .67746-6.774595 .328767-6.804483V-6.495641H.56787C1.334994-6.495641 1.354919-6.386052 1.354919-6.027397V-.777086C1.354919-.418431 1.334994-.308842 .56787-.308842H.328767V0H5.519303L5.798257-2.570361Z'/>
+<path id='g0-97' d='M3.317559-.757161C3.35741-.358655 3.626401 .059776 4.094645 .059776C4.303861 .059776 4.911582-.079701 4.911582-.886675V-1.444583H4.662516V-.886675C4.662516-.308842 4.41345-.249066 4.303861-.249066C3.975093-.249066 3.935243-.697385 3.935243-.747198V-2.739726C3.935243-3.158157 3.935243-3.5467 3.576588-3.915318C3.188045-4.303861 2.689913-4.463263 2.211706-4.463263C1.39477-4.463263 .707347-3.995019 .707347-3.337484C.707347-3.038605 .9066-2.86924 1.165629-2.86924C1.444583-2.86924 1.62391-3.068493 1.62391-3.327522C1.62391-3.447073 1.574097-3.775841 1.115816-3.785803C1.384807-4.134496 1.872976-4.244085 2.191781-4.244085C2.67995-4.244085 3.247821-3.855542 3.247821-2.968867V-2.600249C2.739726-2.570361 2.042341-2.540473 1.414695-2.241594C.667497-1.902864 .418431-1.384807 .418431-.946451C.418431-.139477 1.384807 .109589 2.012453 .109589C2.669988 .109589 3.128269-.288917 3.317559-.757161ZM3.247821-2.391034V-1.39477C3.247821-.448319 2.530511-.109589 2.082192-.109589C1.594022-.109589 1.185554-.458281 1.185554-.956413C1.185554-1.504359 1.603985-2.331258 3.247821-2.391034Z'/>
+<path id='g0-98' d='M1.713574-3.755915V-6.914072L.278954-6.804483V-6.495641C.976339-6.495641 1.05604-6.425903 1.05604-5.937733V0H1.305106C1.315068-.009963 1.39477-.14944 1.663761-.617684C1.8132-.388543 2.231631 .109589 2.968867 .109589C4.154421 .109589 5.190535-.86675 5.190535-2.15193C5.190535-3.417186 4.214197-4.403487 3.078456-4.403487C2.30137-4.403487 1.872976-3.935243 1.713574-3.755915ZM1.743462-1.135741V-3.188045C1.743462-3.377335 1.743462-3.387298 1.853051-3.5467C2.241594-4.104608 2.789539-4.184309 3.028643-4.184309C3.476961-4.184309 3.835616-3.92528 4.07472-3.5467C4.333748-3.138232 4.363636-2.570361 4.363636-2.161893C4.363636-1.793275 4.343711-1.195517 4.054795-.747198C3.845579-.438356 3.466999-.109589 2.929016-.109589C2.480697-.109589 2.122042-.348692 1.882939-.71731C1.743462-.926526 1.743462-.956413 1.743462-1.135741Z'/>
+<path id='g0-99' d='M1.165629-2.171856C1.165629-3.795766 1.982565-4.214197 2.510585-4.214197C2.600249-4.214197 3.227895-4.204234 3.576588-3.845579C3.16812-3.815691 3.108344-3.516812 3.108344-3.387298C3.108344-3.128269 3.287671-2.929016 3.566625-2.929016C3.825654-2.929016 4.024907-3.098381 4.024907-3.39726C4.024907-4.07472 3.267746-4.463263 2.500623-4.463263C1.255293-4.463263 .33873-3.387298 .33873-2.15193C.33873-.876712 1.325031 .109589 2.480697 .109589C3.815691 .109589 4.134496-1.085928 4.134496-1.185554S4.034869-1.285181 4.004981-1.285181C3.915318-1.285181 3.895392-1.24533 3.875467-1.185554C3.58655-.259029 2.938979-.139477 2.570361-.139477C2.042341-.139477 1.165629-.56787 1.165629-2.171856Z'/>
+<path id='g0-100' d='M3.785803-.547945V.109589L5.250311 0V-.308842C4.552927-.308842 4.473225-.37858 4.473225-.86675V-6.914072L3.038605-6.804483V-6.495641C3.73599-6.495641 3.815691-6.425903 3.815691-5.937733V-3.785803C3.526775-4.144458 3.098381-4.403487 2.560399-4.403487C1.384807-4.403487 .33873-3.427148 .33873-2.141968C.33873-.876712 1.315068 .109589 2.450809 .109589C3.088418 .109589 3.536737-.229141 3.785803-.547945ZM3.785803-3.217933V-1.175592C3.785803-.996264 3.785803-.976339 3.676214-.806974C3.377335-.328767 2.929016-.109589 2.500623-.109589C2.052304-.109589 1.693649-.368618 1.454545-.747198C1.195517-1.155666 1.165629-1.723537 1.165629-2.132005C1.165629-2.500623 1.185554-3.098381 1.474471-3.5467C1.683686-3.855542 2.062267-4.184309 2.600249-4.184309C2.948941-4.184309 3.367372-4.034869 3.676214-3.58655C3.785803-3.417186 3.785803-3.39726 3.785803-3.217933Z'/>
+<path id='g0-101' d='M1.115816-2.510585C1.175592-3.995019 2.012453-4.244085 2.351183-4.244085C3.377335-4.244085 3.476961-2.899128 3.476961-2.510585H1.115816ZM1.105853-2.30137H3.88543C4.104608-2.30137 4.134496-2.30137 4.134496-2.510585C4.134496-3.496887 3.596513-4.463263 2.351183-4.463263C1.195517-4.463263 .278954-3.437111 .278954-2.191781C.278954-.856787 1.325031 .109589 2.470735 .109589C3.686177 .109589 4.134496-.996264 4.134496-1.185554C4.134496-1.285181 4.054795-1.305106 4.004981-1.305106C3.915318-1.305106 3.895392-1.24533 3.875467-1.165629C3.526775-.139477 2.630137-.139477 2.530511-.139477C2.032379-.139477 1.633873-.438356 1.404732-.806974C1.105853-1.285181 1.105853-1.942715 1.105853-2.30137Z'/>
+<path id='g0-102' d='M1.743462-4.293898V-5.449564C1.743462-6.326276 2.221669-6.804483 2.660025-6.804483C2.689913-6.804483 2.839352-6.804483 2.988792-6.734745C2.86924-6.694894 2.689913-6.56538 2.689913-6.316314C2.689913-6.087173 2.849315-5.88792 3.118306-5.88792C3.407223-5.88792 3.556663-6.087173 3.556663-6.326276C3.556663-6.694894 3.188045-7.023661 2.660025-7.023661C1.96264-7.023661 1.115816-6.495641 1.115816-5.439601V-4.293898H.328767V-3.985056H1.115816V-.757161C1.115816-.308842 1.006227-.308842 .33873-.308842V0C.727273-.009963 1.195517-.029888 1.474471-.029888C1.872976-.029888 2.34122-.029888 2.739726 0V-.308842H2.530511C1.793275-.308842 1.77335-.418431 1.77335-.777086V-3.985056H2.909091V-4.293898H1.743462Z'/>
+<path id='g0-103' d='M2.211706-1.713574C1.344956-1.713574 1.344956-2.709838 1.344956-2.938979C1.344956-3.20797 1.354919-3.526775 1.504359-3.775841C1.58406-3.895392 1.8132-4.174346 2.211706-4.174346C3.078456-4.174346 3.078456-3.178082 3.078456-2.948941C3.078456-2.67995 3.068493-2.361146 2.919054-2.11208C2.839352-1.992528 2.610212-1.713574 2.211706-1.713574ZM1.05604-1.325031C1.05604-1.364882 1.05604-1.594022 1.225405-1.793275C1.613948-1.514321 2.022416-1.484433 2.211706-1.484433C3.138232-1.484433 3.825654-2.171856 3.825654-2.938979C3.825654-3.307597 3.666252-3.676214 3.417186-3.905355C3.775841-4.244085 4.134496-4.293898 4.313823-4.293898C4.333748-4.293898 4.383562-4.293898 4.41345-4.283935C4.303861-4.244085 4.254047-4.134496 4.254047-4.014944C4.254047-3.845579 4.383562-3.726027 4.542964-3.726027C4.64259-3.726027 4.83188-3.795766 4.83188-4.024907C4.83188-4.194271 4.712329-4.513076 4.323786-4.513076C4.124533-4.513076 3.686177-4.4533 3.267746-4.044832C2.849315-4.373599 2.430884-4.403487 2.211706-4.403487C1.285181-4.403487 .597758-3.716065 .597758-2.948941C.597758-2.510585 .816936-2.132005 1.066002-1.92279C.936488-1.77335 .757161-1.444583 .757161-1.09589C.757161-.787049 .886675-.408468 1.195517-.209215C.597758-.039851 .278954 .388543 .278954 .787049C.278954 1.504359 1.265255 2.052304 2.480697 2.052304C3.656289 2.052304 4.692403 1.544209 4.692403 .767123C4.692403 .418431 4.552927-.089664 4.044832-.368618C3.516812-.647572 2.938979-.647572 2.331258-.647572C2.082192-.647572 1.653798-.647572 1.58406-.657534C1.265255-.697385 1.05604-1.006227 1.05604-1.325031ZM2.49066 1.823163C1.484433 1.823163 .797011 1.315068 .797011 .787049C.797011 .328767 1.175592-.039851 1.613948-.069738H2.201743C3.058531-.069738 4.174346-.069738 4.174346 .787049C4.174346 1.325031 3.466999 1.823163 2.49066 1.823163Z'/>
+<path id='g0-104' d='M1.09589-.757161C1.09589-.308842 .986301-.308842 .318804-.308842V0C.667497-.009963 1.175592-.029888 1.444583-.029888C1.703611-.029888 2.221669-.009963 2.560399 0V-.308842C1.892902-.308842 1.783313-.308842 1.783313-.757161V-2.590286C1.783313-3.626401 2.49066-4.184309 3.128269-4.184309C3.755915-4.184309 3.865504-3.646326 3.865504-3.078456V-.757161C3.865504-.308842 3.755915-.308842 3.088418-.308842V0C3.437111-.009963 3.945205-.029888 4.214197-.029888C4.473225-.029888 4.991283-.009963 5.330012 0V-.308842C4.811955-.308842 4.562889-.308842 4.552927-.607721V-2.510585C4.552927-3.367372 4.552927-3.676214 4.244085-4.034869C4.104608-4.204234 3.775841-4.403487 3.198007-4.403487C2.361146-4.403487 1.92279-3.805729 1.753425-3.427148V-6.914072L.318804-6.804483V-6.495641C1.016189-6.495641 1.09589-6.425903 1.09589-5.937733V-.757161Z'/>
+<path id='g0-105' d='M1.763387-4.403487L.368618-4.293898V-3.985056C1.016189-3.985056 1.105853-3.92528 1.105853-3.437111V-.757161C1.105853-.308842 .996264-.308842 .328767-.308842V0C.647572-.009963 1.185554-.029888 1.424658-.029888C1.77335-.029888 2.122042-.009963 2.460772 0V-.308842C1.803238-.308842 1.763387-.358655 1.763387-.747198V-4.403487ZM1.803238-6.136986C1.803238-6.455791 1.554172-6.665006 1.275218-6.665006C.966376-6.665006 .747198-6.396015 .747198-6.136986C.747198-5.867995 .966376-5.608966 1.275218-5.608966C1.554172-5.608966 1.803238-5.818182 1.803238-6.136986Z'/>
+<path id='g0-108' d='M1.763387-6.914072L.328767-6.804483V-6.495641C1.026152-6.495641 1.105853-6.425903 1.105853-5.937733V-.757161C1.105853-.308842 .996264-.308842 .328767-.308842V0C.657534-.009963 1.185554-.029888 1.43462-.029888S2.171856-.009963 2.540473 0V-.308842C1.872976-.308842 1.763387-.308842 1.763387-.757161V-6.914072Z'/>
+<path id='g0-109' d='M1.09589-3.427148V-.757161C1.09589-.308842 .986301-.308842 .318804-.308842V0C.667497-.009963 1.175592-.029888 1.444583-.029888C1.703611-.029888 2.221669-.009963 2.560399 0V-.308842C1.892902-.308842 1.783313-.308842 1.783313-.757161V-2.590286C1.783313-3.626401 2.49066-4.184309 3.128269-4.184309C3.755915-4.184309 3.865504-3.646326 3.865504-3.078456V-.757161C3.865504-.308842 3.755915-.308842 3.088418-.308842V0C3.437111-.009963 3.945205-.029888 4.214197-.029888C4.473225-.029888 4.991283-.009963 5.330012 0V-.308842C4.662516-.308842 4.552927-.308842 4.552927-.757161V-2.590286C4.552927-3.626401 5.260274-4.184309 5.897883-4.184309C6.525529-4.184309 6.635118-3.646326 6.635118-3.078456V-.757161C6.635118-.308842 6.525529-.308842 5.858032-.308842V0C6.206725-.009963 6.714819-.029888 6.983811-.029888C7.242839-.029888 7.760897-.009963 8.099626 0V-.308842C7.581569-.308842 7.332503-.308842 7.32254-.607721V-2.510585C7.32254-3.367372 7.32254-3.676214 7.013699-4.034869C6.874222-4.204234 6.545455-4.403487 5.967621-4.403487C5.13076-4.403487 4.692403-3.805729 4.523039-3.427148C4.383562-4.293898 3.646326-4.403487 3.198007-4.403487C2.470735-4.403487 2.002491-3.975093 1.723537-3.35741V-4.403487L.318804-4.293898V-3.985056C1.016189-3.985056 1.09589-3.915318 1.09589-3.427148Z'/>
+<path id='g0-110' d='M1.09589-3.427148V-.757161C1.09589-.308842 .986301-.308842 .318804-.308842V0C.667497-.009963 1.175592-.029888 1.444583-.029888C1.703611-.029888 2.221669-.009963 2.560399 0V-.308842C1.892902-.308842 1.783313-.308842 1.783313-.757161V-2.590286C1.783313-3.626401 2.49066-4.184309 3.128269-4.184309C3.755915-4.184309 3.865504-3.646326 3.865504-3.078456V-.757161C3.865504-.308842 3.755915-.308842 3.088418-.308842V0C3.437111-.009963 3.945205-.029888 4.214197-.029888C4.473225-.029888 4.991283-.009963 5.330012 0V-.308842C4.811955-.308842 4.562889-.308842 4.552927-.607721V-2.510585C4.552927-3.367372 4.552927-3.676214 4.244085-4.034869C4.104608-4.204234 3.775841-4.403487 3.198007-4.403487C2.470735-4.403487 2.002491-3.975093 1.723537-3.35741V-4.403487L.318804-4.293898V-3.985056C1.016189-3.985056 1.09589-3.915318 1.09589-3.427148Z'/>
+<path id='g0-111' d='M4.692403-2.132005C4.692403-3.407223 3.696139-4.463263 2.49066-4.463263C1.24533-4.463263 .278954-3.377335 .278954-2.132005C.278954-.846824 1.315068 .109589 2.480697 .109589C3.686177 .109589 4.692403-.86675 4.692403-2.132005ZM2.49066-.139477C2.062267-.139477 1.62391-.348692 1.354919-.806974C1.105853-1.24533 1.105853-1.853051 1.105853-2.211706C1.105853-2.600249 1.105853-3.138232 1.344956-3.576588C1.613948-4.034869 2.082192-4.244085 2.480697-4.244085C2.919054-4.244085 3.347447-4.024907 3.606476-3.596513S3.865504-2.590286 3.865504-2.211706C3.865504-1.853051 3.865504-1.315068 3.646326-.876712C3.427148-.428394 2.988792-.139477 2.49066-.139477Z'/>
+<path id='g0-112' d='M1.713574-3.745953V-4.403487L.278954-4.293898V-3.985056C.986301-3.985056 1.05604-3.92528 1.05604-3.486924V1.175592C1.05604 1.62391 .946451 1.62391 .278954 1.62391V1.932752C.617684 1.92279 1.135741 1.902864 1.39477 1.902864C1.663761 1.902864 2.171856 1.92279 2.520548 1.932752V1.62391C1.853051 1.62391 1.743462 1.62391 1.743462 1.175592V-.498132V-.587796C1.793275-.428394 2.211706 .109589 2.968867 .109589C4.154421 .109589 5.190535-.86675 5.190535-2.15193C5.190535-3.417186 4.224159-4.403487 3.108344-4.403487C2.331258-4.403487 1.912827-3.965131 1.713574-3.745953ZM1.743462-1.135741V-3.35741C2.032379-3.865504 2.520548-4.154421 3.028643-4.154421C3.755915-4.154421 4.363636-3.277709 4.363636-2.15193C4.363636-.946451 3.666252-.109589 2.929016-.109589C2.530511-.109589 2.15193-.308842 1.882939-.71731C1.743462-.926526 1.743462-.936488 1.743462-1.135741Z'/>
+<path id='g0-114' d='M1.663761-3.307597V-4.403487L.278954-4.293898V-3.985056C.976339-3.985056 1.05604-3.915318 1.05604-3.427148V-.757161C1.05604-.308842 .946451-.308842 .278954-.308842V0C.667497-.009963 1.135741-.029888 1.414695-.029888C1.8132-.029888 2.281445-.029888 2.67995 0V-.308842H2.470735C1.733499-.308842 1.713574-.418431 1.713574-.777086V-2.311333C1.713574-3.297634 2.132005-4.184309 2.889166-4.184309C2.958904-4.184309 2.978829-4.184309 2.998755-4.174346C2.968867-4.164384 2.769614-4.044832 2.769614-3.785803C2.769614-3.506849 2.978829-3.35741 3.198007-3.35741C3.377335-3.35741 3.626401-3.476961 3.626401-3.795766S3.317559-4.403487 2.889166-4.403487C2.161893-4.403487 1.803238-3.73599 1.663761-3.307597Z'/>
+<path id='g0-115' d='M2.072229-1.932752C2.291407-1.892902 3.108344-1.733499 3.108344-1.016189C3.108344-.508095 2.759651-.109589 1.982565-.109589C1.145704-.109589 .787049-.67746 .597758-1.524284C.56787-1.653798 .557908-1.693649 .458281-1.693649C.328767-1.693649 .328767-1.62391 .328767-1.444583V-.129514C.328767 .039851 .328767 .109589 .438356 .109589C.488169 .109589 .498132 .099626 .687422-.089664C.707347-.109589 .707347-.129514 .886675-.318804C1.325031 .099626 1.77335 .109589 1.982565 .109589C3.128269 .109589 3.58655-.557908 3.58655-1.275218C3.58655-1.803238 3.287671-2.102117 3.16812-2.221669C2.839352-2.540473 2.450809-2.620174 2.032379-2.699875C1.474471-2.809465 .806974-2.938979 .806974-3.516812C.806974-3.865504 1.066002-4.273973 1.92279-4.273973C3.01868-4.273973 3.068493-3.377335 3.088418-3.068493C3.098381-2.978829 3.188045-2.978829 3.20797-2.978829C3.337484-2.978829 3.337484-3.028643 3.337484-3.217933V-4.224159C3.337484-4.393524 3.337484-4.463263 3.227895-4.463263C3.178082-4.463263 3.158157-4.463263 3.028643-4.343711C2.998755-4.303861 2.899128-4.214197 2.859278-4.184309C2.480697-4.463263 2.072229-4.463263 1.92279-4.463263C.707347-4.463263 .328767-3.795766 .328767-3.237858C.328767-2.889166 .488169-2.610212 .757161-2.391034C1.075965-2.132005 1.354919-2.072229 2.072229-1.932752Z'/>
+<path id='g0-116' d='M1.723537-3.985056H3.148194V-4.293898H1.723537V-6.127024H1.474471C1.464508-5.310087 1.165629-4.244085 .18929-4.204234V-3.985056H1.036115V-1.235367C1.036115-.009963 1.96264 .109589 2.321295 .109589C3.028643 .109589 3.307597-.597758 3.307597-1.235367V-1.803238H3.058531V-1.255293C3.058531-.518057 2.759651-.139477 2.391034-.139477C1.723537-.139477 1.723537-1.046077 1.723537-1.215442V-3.985056Z'/>
+<path id='g0-117' d='M3.895392-.787049V.109589L5.330012 0V-.308842C4.632628-.308842 4.552927-.37858 4.552927-.86675V-4.403487L3.088418-4.293898V-3.985056C3.785803-3.985056 3.865504-3.915318 3.865504-3.427148V-1.653798C3.865504-.787049 3.387298-.109589 2.660025-.109589C1.823163-.109589 1.783313-.577833 1.783313-1.09589V-4.403487L.318804-4.293898V-3.985056C1.09589-3.985056 1.09589-3.955168 1.09589-3.068493V-1.574097C1.09589-.797011 1.09589 .109589 2.610212 .109589C3.16812 .109589 3.606476-.169365 3.895392-.787049Z'/>
+<path id='g0-118' d='M4.144458-3.317559C4.234122-3.5467 4.403487-3.975093 5.061021-3.985056V-4.293898C4.83188-4.273973 4.542964-4.26401 4.313823-4.26401C4.07472-4.26401 3.616438-4.283935 3.447073-4.293898V-3.985056C3.815691-3.975093 3.92528-3.745953 3.92528-3.556663C3.92528-3.466999 3.905355-3.427148 3.865504-3.317559L2.849315-.777086L1.733499-3.556663C1.673724-3.686177 1.673724-3.706102 1.673724-3.726027C1.673724-3.985056 2.062267-3.985056 2.241594-3.985056V-4.293898C1.942715-4.283935 1.384807-4.26401 1.155666-4.26401C.886675-4.26401 .488169-4.273973 .18929-4.293898V-3.985056C.816936-3.985056 .856787-3.92528 .986301-3.616438L2.420922-.079701C2.480697 .059776 2.500623 .109589 2.630137 .109589S2.799502 .019925 2.839352-.079701L4.144458-3.317559Z'/>
+<path id='g0-119' d='M6.166874-3.347447C6.346202-3.845579 6.655044-3.975093 7.003736-3.985056V-4.293898C6.784558-4.273973 6.495641-4.26401 6.276463-4.26401C5.987547-4.26401 5.539228-4.283935 5.349938-4.293898V-3.985056C5.708593-3.975093 5.927771-3.795766 5.927771-3.506849C5.927771-3.447073 5.927771-3.427148 5.877958-3.297634L4.971357-.747198L3.985056-3.526775C3.945205-3.646326 3.935243-3.666252 3.935243-3.716065C3.935243-3.985056 4.323786-3.985056 4.523039-3.985056V-4.293898C4.234122-4.283935 3.726027-4.26401 3.486924-4.26401C3.188045-4.26401 2.899128-4.273973 2.600249-4.293898V-3.985056C2.968867-3.985056 3.128269-3.965131 3.227895-3.835616C3.277709-3.775841 3.387298-3.476961 3.457036-3.287671L2.600249-.876712L1.653798-3.536737C1.603985-3.656289 1.603985-3.676214 1.603985-3.716065C1.603985-3.985056 1.992528-3.985056 2.191781-3.985056V-4.293898C1.892902-4.283935 1.334994-4.26401 1.105853-4.26401C1.066002-4.26401 .537983-4.273973 .179328-4.293898V-3.985056C.67746-3.985056 .797011-3.955168 .916563-3.636364L2.171856-.109589C2.221669 .029888 2.251557 .109589 2.381071 .109589S2.530511 .049813 2.580324-.089664L3.58655-2.909091L4.60274-.079701C4.64259 .029888 4.672478 .109589 4.801993 .109589S4.961395 .019925 5.001245-.079701L6.166874-3.347447Z'/>
+<path id='g0-120' d='M2.859278-2.34122C3.158157-2.719801 3.536737-3.20797 3.775841-3.466999C4.084682-3.825654 4.493151-3.975093 4.961395-3.985056V-4.293898C4.702366-4.273973 4.403487-4.26401 4.144458-4.26401C3.845579-4.26401 3.317559-4.283935 3.188045-4.293898V-3.985056C3.39726-3.965131 3.476961-3.835616 3.476961-3.676214S3.377335-3.387298 3.327522-3.327522L2.709838-2.550436L1.932752-3.556663C1.843088-3.656289 1.843088-3.676214 1.843088-3.73599C1.843088-3.88543 1.992528-3.975093 2.191781-3.985056V-4.293898C1.932752-4.283935 1.275218-4.26401 1.115816-4.26401C.9066-4.26401 .438356-4.273973 .169365-4.293898V-3.985056C.86675-3.985056 .876712-3.975093 1.344956-3.377335L2.331258-2.092154L1.39477-.9066C.916563-.328767 .328767-.308842 .119552-.308842V0C.37858-.019925 .687422-.029888 .946451-.029888C1.235367-.029888 1.653798-.009963 1.892902 0V-.308842C1.673724-.33873 1.603985-.468244 1.603985-.617684C1.603985-.836862 1.892902-1.165629 2.500623-1.882939L3.257783-.886675C3.337484-.777086 3.466999-.617684 3.466999-.557908C3.466999-.468244 3.377335-.318804 3.108344-.308842V0C3.407223-.009963 3.965131-.029888 4.184309-.029888C4.4533-.029888 4.841843-.019925 5.140722 0V-.308842C4.60274-.308842 4.423412-.328767 4.194271-.617684L2.859278-2.34122Z'/>
+<path id='g0-121' d='M4.134496-3.347447C4.393524-3.975093 4.901619-3.985056 5.061021-3.985056V-4.293898C4.83188-4.273973 4.542964-4.26401 4.313823-4.26401C4.134496-4.26401 3.666252-4.283935 3.447073-4.293898V-3.985056C3.755915-3.975093 3.915318-3.805729 3.915318-3.556663C3.915318-3.457036 3.905355-3.437111 3.855542-3.317559L2.849315-.86675L1.743462-3.5467C1.703611-3.646326 1.683686-3.686177 1.683686-3.726027C1.683686-3.985056 2.052304-3.985056 2.241594-3.985056V-4.293898C1.982565-4.283935 1.325031-4.26401 1.155666-4.26401C.886675-4.26401 .488169-4.273973 .18929-4.293898V-3.985056C.667497-3.985056 .856787-3.985056 .996264-3.636364L2.49066 0C2.440847 .129514 2.30137 .458281 2.241594 .587796C2.022416 1.135741 1.743462 1.823163 1.105853 1.823163C1.05604 1.823163 .826899 1.823163 .637609 1.643836C.946451 1.603985 1.026152 1.384807 1.026152 1.225405C1.026152 .966376 .836862 .806974 .607721 .806974C.408468 .806974 .18929 .936488 .18929 1.235367C.18929 1.683686 .607721 2.042341 1.105853 2.042341C1.733499 2.042341 2.141968 1.474471 2.381071 .9066L4.134496-3.347447Z'/>
+</defs>
+<g id='page1'>
+<use x='61.768369' y='62.764633' xlink:href='#g0-67'/>
+<use x='68.963629' y='62.764633' xlink:href='#g0-111'/>
+<use x='73.944968' y='62.764633' xlink:href='#g0-108'/>
+<use x='76.712376' y='62.764633' xlink:href='#g0-111'/>
+<use x='81.693715' y='62.764633' xlink:href='#g0-114'/>
+<use x='88.916641' y='62.764633' xlink:href='#g0-116'/>
+<use x='92.791015' y='62.764633' xlink:href='#g0-101'/>
+<use x='97.218866' y='62.764633' xlink:href='#g0-115'/>
+<use x='101.148584' y='62.764633' xlink:href='#g0-116'/>
+<use x='105.022958' y='62.764633' xlink:href='#g0-58'/>
+<g fill='#f00'>
+<use x='112.218205' y='62.764633' xlink:href='#g0-114'/>
+<use x='116.120255' y='62.764633' xlink:href='#g0-101'/>
+<use x='120.548107' y='62.764633' xlink:href='#g0-100'/>
+</g>
+<use x='126.082924' y='62.764633' xlink:href='#g0-44'/>
+<g fill='#00f'>
+<use x='132.171207' y='62.764633' xlink:href='#g0-98'/>
+<use x='137.706024' y='62.764633' xlink:href='#g0-108'/>
+<use x='140.473433' y='62.764633' xlink:href='#g0-117'/>
+<use x='146.008249' y='62.764633' xlink:href='#g0-101'/>
+</g>
+<use x='150.436101' y='62.764633' xlink:href='#g0-44'/>
+<g fill='#f0f'>
+<use x='156.524385' y='62.764633' xlink:href='#g0-109'/>
+<use x='164.82661' y='62.764633' xlink:href='#g0-97'/>
+<use x='169.807949' y='62.764633' xlink:href='#g0-103'/>
+<use x='174.789288' y='62.764633' xlink:href='#g0-101'/>
+<use x='179.21714' y='62.764633' xlink:href='#g0-110'/>
+<use x='184.475208' y='62.764633' xlink:href='#g0-116'/>
+<use x='188.349582' y='62.764633' xlink:href='#g0-97'/>
+</g>
+<use x='193.330921' y='62.764633' xlink:href='#g0-46'/>
+<use x='61.768369' y='107.402447' xlink:href='#g0-76'/>
+<use x='67.995038' y='107.402447' xlink:href='#g0-105'/>
+<use x='70.762446' y='107.402447' xlink:href='#g0-110'/>
+<use x='76.297263' y='107.402447' xlink:href='#g0-101'/>
+<use x='84.04599' y='107.402447' xlink:href='#g0-111'/>
+<use x='89.027329' y='107.402447' xlink:href='#g0-102'/>
+<use x='95.392361' y='107.402447' xlink:href='#g0-116'/>
+<use x='99.266734' y='107.402447' xlink:href='#g0-101'/>
+<use x='103.694586' y='107.402447' xlink:href='#g0-120'/>
+<use x='108.952674' y='107.402447' xlink:href='#g0-116'/>
+<use x='116.147922' y='107.402447' xlink:href='#g0-119'/>
+<use x='123.343182' y='107.402447' xlink:href='#g0-105'/>
+<use x='126.110591' y='107.402447' xlink:href='#g0-116'/>
+<use x='129.984965' y='107.402447' xlink:href='#g0-104'/>
+<use x='138.840657' y='107.402447' xlink:href='#g0-97'/>
+<g transform='matrix(.866025 -.5 .5 .866025 -33.524158 89.69014)'>
+<use x='150.602006' y='107.402447' xlink:href='#g0-114'/>
+<use x='154.504056' y='107.402447' xlink:href='#g0-111'/>
+<use x='159.485395' y='107.402447' xlink:href='#g0-116'/>
+<use x='163.359769' y='107.402447' xlink:href='#g0-97'/>
+<use x='168.341108' y='107.402447' xlink:href='#g0-116'/>
+<use x='172.215482' y='107.402447' xlink:href='#g0-101'/>
+<use x='176.643334' y='107.402447' xlink:href='#g0-100'/>
+</g>
+<use x='181.268181' y='107.402447' xlink:href='#g0-119'/>
+<use x='188.186693' y='107.402447' xlink:href='#g0-111'/>
+<use x='193.168032' y='107.402447' xlink:href='#g0-114'/>
+<use x='197.070083' y='107.402447' xlink:href='#g0-100'/>
+<use x='202.6049' y='107.402447' xlink:href='#g0-46'/>
+<rect x='61.768369' y='128.324022' height='.797029' width='220.921985'/>
+<use x='67.745968' y='140.277746' xlink:href='#g0-12'/>
+<use x='73.280785' y='140.277746' xlink:href='#g0-114'/>
+<use x='77.182835' y='140.277746' xlink:href='#g0-115'/>
+<use x='81.112553' y='140.277746' xlink:href='#g0-116'/>
+<use x='88.307802' y='140.277746' xlink:href='#g0-99'/>
+<use x='92.735653' y='140.277746' xlink:href='#g0-111'/>
+<use x='97.716993' y='140.277746' xlink:href='#g0-108'/>
+<use x='100.484401' y='140.277746' xlink:href='#g0-117'/>
+<use x='106.019218' y='140.277746' xlink:href='#g0-109'/>
+<use x='114.321443' y='140.277746' xlink:href='#g0-110'/>
+<use x='172.326189' y='140.277746' xlink:href='#g0-115'/>
+<use x='176.255907' y='140.277746' xlink:href='#g0-101'/>
+<use x='180.683758' y='140.277746' xlink:href='#g0-99'/>
+<use x='185.11161' y='140.277746' xlink:href='#g0-111'/>
+<use x='190.092949' y='140.277746' xlink:href='#g0-110'/>
+<use x='195.627766' y='140.277746' xlink:href='#g0-100'/>
+<use x='204.483458' y='140.277746' xlink:href='#g0-99'/>
+<use x='208.91131' y='140.277746' xlink:href='#g0-111'/>
+<use x='213.892649' y='140.277746' xlink:href='#g0-108'/>
+<use x='216.660057' y='140.277746' xlink:href='#g0-117'/>
+<use x='222.194874' y='140.277746' xlink:href='#g0-109'/>
+<use x='230.497099' y='140.277746' xlink:href='#g0-110'/>
+<rect x='61.768369' y='145.580082' height='.498162' width='220.921985'/>
+<use x='67.745968' y='157.234939' xlink:href='#g0-76'/>
+<use x='73.972637' y='157.234939' xlink:href='#g0-111'/>
+<use x='78.953976' y='157.234939' xlink:href='#g0-114'/>
+<use x='82.856027' y='157.234939' xlink:href='#g0-101'/>
+<use x='87.283878' y='157.234939' xlink:href='#g0-109'/>
+<use x='98.906979' y='157.234939' xlink:href='#g0-105'/>
+<use x='101.674387' y='157.234939' xlink:href='#g0-112'/>
+<use x='107.209204' y='157.234939' xlink:href='#g0-115'/>
+<use x='111.138922' y='157.234939' xlink:href='#g0-117'/>
+<use x='116.673739' y='157.234939' xlink:href='#g0-109'/>
+<use x='172.326189' y='157.234939' xlink:href='#g0-100'/>
+<use x='177.861006' y='157.234939' xlink:href='#g0-111'/>
+<use x='182.842345' y='157.234939' xlink:href='#g0-108'/>
+<use x='185.609753' y='157.234939' xlink:href='#g0-111'/>
+<use x='190.591092' y='157.234939' xlink:href='#g0-114'/>
+<use x='197.814018' y='157.234939' xlink:href='#g0-115'/>
+<use x='201.743736' y='157.234939' xlink:href='#g0-105'/>
+<use x='204.511144' y='157.234939' xlink:href='#g0-116'/>
+<use x='211.706393' y='157.234939' xlink:href='#g0-97'/>
+<use x='216.687732' y='157.234939' xlink:href='#g0-109'/>
+<use x='224.989957' y='157.234939' xlink:href='#g0-101'/>
+<use x='229.417809' y='157.234939' xlink:href='#g0-116'/>
+<use x='67.745968' y='169.190107' xlink:href='#g0-99'/>
+<use x='72.17382' y='169.190107' xlink:href='#g0-111'/>
+<use x='77.155159' y='169.190107' xlink:href='#g0-110'/>
+<use x='82.689976' y='169.190107' xlink:href='#g0-115'/>
+<use x='86.619693' y='169.190107' xlink:href='#g0-101'/>
+<use x='91.047545' y='169.190107' xlink:href='#g0-116'/>
+<use x='94.921919' y='169.190107' xlink:href='#g0-101'/>
+<use x='99.34977' y='169.190107' xlink:href='#g0-116'/>
+<use x='103.224144' y='169.190107' xlink:href='#g0-117'/>
+<use x='108.758961' y='169.190107' xlink:href='#g0-114'/>
+<use x='115.981887' y='169.190107' xlink:href='#g0-115'/>
+<use x='119.911604' y='169.190107' xlink:href='#g0-97'/>
+<use x='124.892943' y='169.190107' xlink:href='#g0-100'/>
+<use x='130.42776' y='169.190107' xlink:href='#g0-105'/>
+<use x='133.195169' y='169.190107' xlink:href='#g0-112'/>
+<use x='138.729986' y='169.190107' xlink:href='#g0-115'/>
+<use x='142.659703' y='169.190107' xlink:href='#g0-99'/>
+<use x='147.087555' y='169.190107' xlink:href='#g0-105'/>
+<use x='149.854964' y='169.190107' xlink:href='#g0-110'/>
+<use x='155.389781' y='169.190107' xlink:href='#g0-103'/>
+<use x='172.326189' y='169.190107' xlink:href='#g0-101'/>
+<use x='176.754041' y='169.190107' xlink:href='#g0-108'/>
+<use x='179.521449' y='169.190107' xlink:href='#g0-105'/>
+<use x='182.288858' y='169.190107' xlink:href='#g0-116'/>
+<use x='186.163231' y='169.190107' xlink:href='#g0-114'/>
+<use x='67.745968' y='181.145275' xlink:href='#g0-115'/>
+<use x='71.675686' y='181.145275' xlink:href='#g0-101'/>
+<use x='76.103537' y='181.145275' xlink:href='#g0-100'/>
+<use x='84.959229' y='181.145275' xlink:href='#g0-100'/>
+<use x='90.494046' y='181.145275' xlink:href='#g0-105'/>
+<use x='93.261455' y='181.145275' xlink:href='#g0-97'/>
+<use x='98.242794' y='181.145275' xlink:href='#g0-109'/>
+<use x='109.865894' y='181.145275' xlink:href='#g0-110'/>
+<use x='115.400711' y='181.145275' xlink:href='#g0-111'/>
+<use x='120.38205' y='181.145275' xlink:href='#g0-110'/>
+<use x='125.640119' y='181.145275' xlink:href='#g0-117'/>
+<use x='131.174935' y='181.145275' xlink:href='#g0-109'/>
+<use x='139.200412' y='181.145275' xlink:href='#g0-121'/>
+<use x='172.326189' y='181.145275' xlink:href='#g0-101'/>
+<use x='176.754041' y='181.145275' xlink:href='#g0-105'/>
+<use x='179.521449' y='181.145275' xlink:href='#g0-114'/>
+<use x='183.4235' y='181.145275' xlink:href='#g0-109'/>
+<use x='191.725725' y='181.145275' xlink:href='#g0-111'/>
+<use x='196.983812' y='181.145275' xlink:href='#g0-100'/>
+<use x='205.839504' y='181.145275' xlink:href='#g0-116'/>
+<use x='209.713878' y='181.145275' xlink:href='#g0-101'/>
+<use x='214.14173' y='181.145275' xlink:href='#g0-109'/>
+<use x='222.443955' y='181.145275' xlink:href='#g0-112'/>
+<use x='228.255521' y='181.145275' xlink:href='#g0-111'/>
+<use x='233.23686' y='181.145275' xlink:href='#g0-114'/>
+<use x='240.459785' y='181.145275' xlink:href='#g0-105'/>
+<use x='243.227194' y='181.145275' xlink:href='#g0-110'/>
+<use x='248.485262' y='181.145275' xlink:href='#g0-118'/>
+<use x='253.74335' y='181.145275' xlink:href='#g0-105'/>
+<use x='256.510758' y='181.145275' xlink:href='#g0-100'/>
+<use x='262.045575' y='181.145275' xlink:href='#g0-117'/>
+<use x='267.580392' y='181.145275' xlink:href='#g0-110'/>
+<use x='272.83846' y='181.145275' xlink:href='#g0-116'/>
+<rect x='61.768369' y='186.447611' height='.797029' width='220.921985'/>
+<use x='65.15566' y='218.472005' xlink:href='#g0-98'/>
+<use x='70.967226' y='218.472005' xlink:href='#g0-111'/>
+<use x='75.671816' y='218.472005' xlink:href='#g0-120'/>
+<use x='80.929904' y='218.472005' xlink:href='#g0-101'/>
+<use x='85.357755' y='218.472005' xlink:href='#g0-100'/>
+<use x='94.213447' y='218.472005' xlink:href='#g0-116'/>
+<use x='98.087821' y='218.472005' xlink:href='#g0-101'/>
+<use x='102.515673' y='218.472005' xlink:href='#g0-120'/>
+<use x='107.77376' y='218.472005' xlink:href='#g0-116'/>
+<rect x='61.768369' y='208.166215' height='.3985' width='53.267015'/>
+<rect x='61.768369' y='208.365465' height='13.294582' width='.3985'/>
+<rect x='114.636884' y='208.365465' height='13.294582' width='.3985'/>
+<rect x='61.768369' y='221.460797' height='.3985' width='53.267015'/>
+<use x='231.13325' y='630.635118' xlink:href='#g0-49'/>
+</g>
+</svg> \ No newline at end of file
diff --git a/Build/source/texk/dvisvgm/tests/sample_v2-wf.svg b/Build/source/texk/dvisvgm/tests/sample_v2-wf.svg
new file mode 100644
index 00000000000..ae471ea5193
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/sample_v2-wf.svg
@@ -0,0 +1,58 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 3.0.3 -->
+<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='220.921985pt' height='574.788988pt' viewBox='61.768369 55.84613 220.921985 574.788988'>
+<defs>
+<font id='cmr10' horiz-adv-x='0'>
+<font-face font-family='cmr10' units-per-em='1000' ascent='750' descent='250'/>
+<glyph unicode='fi' horiz-adv-x='555' vert-adv-y='555' glyph-name='fi' d='M330 400C376 400 383 387 383 346V76C383 31 372 31 305 31V0C338 1 391 3 416 3S490 1 527 0V31C460 31 449 31 449 76V443L323 434C307 433 306 432 305 432C303 431 301 431 287 431H169V544C169 643 255 683 317 683C347 683 383 673 403 650C362 648 356 620 356 604C356 571 382 558 401 558C424 558 447 574 447 604C447 663 392 705 318 705C225 705 106 654 106 545V431H27V400H106V76C106 31 95 31 28 31V0C61 1 114 3 139 3S213 1 250 0V31C183 31 172 31 172 76V400H330Z'/>
+<glyph unicode=',' horiz-adv-x='277' vert-adv-y='277' glyph-name='comma' d='M203 1C203 65 179 106 139 106C104 106 86 79 86 53S103 0 139 0C155 0 167 6 177 14L179 16C180 16 181 15 181 1C181-63 153-124 109-171C103-177 102-178 102-182C102-189 107-193 112-193C124-193 203-114 203 1Z'/>
+<glyph unicode='.' horiz-adv-x='277' vert-adv-y='277' glyph-name='period' d='M192 53C192 82 168 106 139 106S86 82 86 53S110 0 139 0S192 24 192 53Z'/>
+<glyph unicode='1' horiz-adv-x='500' vert-adv-y='500' glyph-name='one' d='M294 640C294 664 294 666 271 666C209 602 121 602 89 602V571C109 571 168 571 220 597V79C220 43 217 31 127 31H95V0C130 3 217 3 257 3S384 3 419 0V31H387C297 31 294 42 294 79V640Z'/>
+<glyph unicode=':' horiz-adv-x='277' vert-adv-y='277' glyph-name='colon' d='M192 378C192 407 168 431 139 431S86 407 86 378S110 325 139 325S192 349 192 378ZM192 53C192 82 168 106 139 106S86 82 86 53S110 0 139 0S192 24 192 53Z'/>
+<glyph unicode='C' horiz-adv-x='722' vert-adv-y='722' glyph-name='C' d='M56 342C56 135 218-22 404-22C567-22 665 117 665 233C665 243 665 250 652 250C641 250 641 244 640 234C632 91 525 9 416 9C355 9 159 43 159 341C159 640 354 674 415 674C524 674 613 583 633 437C635 423 635 420 649 420C665 420 665 423 665 444V681C665 698 665 705 654 705C650 705 646 705 638 693L588 619C551 655 500 705 404 705C217 705 56 546 56 342Z'/>
+<glyph unicode='L' horiz-adv-x='625' vert-adv-y='625' glyph-name='L' d='M582 258H557C546 156 532 31 356 31H274C227 31 225 38 225 71V604C225 638 225 652 320 652H353V683C317 680 226 680 185 680C146 680 68 680 33 683V652H57C134 652 136 641 136 605V78C136 42 134 31 57 31H33V0H554L582 258Z'/>
+<glyph unicode='a' horiz-adv-x='500' vert-adv-y='500' glyph-name='a' d='M333 76C337 36 364-6 411-6C432-6 493 8 493 89V145H468V89C468 31 443 25 432 25C399 25 395 70 395 75V275C395 317 395 356 359 393C320 432 270 448 222 448C140 448 71 401 71 335C71 305 91 288 117 288C145 288 163 308 163 334C163 346 158 379 112 380C139 415 188 426 220 426C269 426 326 387 326 298V261C275 258 205 255 142 225C67 191 42 139 42 95C42 14 139-11 202-11C268-11 314 29 333 76ZM326 240V140C326 45 254 11 209 11C160 11 119 46 119 96C119 151 161 234 326 240Z'/>
+<glyph unicode='b' horiz-adv-x='555' vert-adv-y='555' glyph-name='b' d='M172 377V694L28 683V652C98 652 106 645 106 596V0H131C132 1 140 15 167 62C182 39 224-11 298-11C417-11 521 87 521 216C521 343 423 442 309 442C231 442 188 395 172 377ZM175 114V320C175 339 175 340 186 356C225 412 280 420 304 420C349 420 385 394 409 356C435 315 438 258 438 217C438 180 436 120 407 75C386 44 348 11 294 11C249 11 213 35 189 72C175 93 175 96 175 114Z'/>
+<glyph unicode='c' horiz-adv-x='444' vert-adv-y='444' glyph-name='c' d='M117 218C117 381 199 423 252 423C261 423 324 422 359 386C318 383 312 353 312 340C312 314 330 294 358 294C384 294 404 311 404 341C404 409 328 448 251 448C126 448 34 340 34 216C34 88 133-11 249-11C383-11 415 109 415 119S405 129 402 129C393 129 391 125 389 119C360 26 295 14 258 14C205 14 117 57 117 218Z'/>
+<glyph unicode='d' horiz-adv-x='555' vert-adv-y='555' glyph-name='d' d='M380 55V-11L527 0V31C457 31 449 38 449 87V694L305 683V652C375 652 383 645 383 596V380C354 416 311 442 257 442C139 442 34 344 34 215C34 88 132-11 246-11C310-11 355 23 380 55ZM380 323V118C380 100 380 98 369 81C339 33 294 11 251 11C206 11 170 37 146 75C120 116 117 173 117 214C117 251 119 311 148 356C169 387 207 420 261 420C296 420 338 405 369 360C380 343 380 341 380 323Z'/>
+<glyph unicode='e' horiz-adv-x='444' vert-adv-y='444' glyph-name='e' d='M112 252C118 401 202 426 236 426C339 426 349 291 349 252H112ZM111 231H390C412 231 415 231 415 252C415 351 361 448 236 448C120 448 28 345 28 220C28 86 133-11 248-11C370-11 415 100 415 119C415 129 407 131 402 131C393 131 391 125 389 117C354 14 264 14 254 14C204 14 164 44 141 81C111 129 111 195 111 231Z'/>
+<glyph unicode='f' horiz-adv-x='305' vert-adv-y='305' glyph-name='f' d='M175 431V547C175 635 223 683 267 683C270 683 285 683 300 676C288 672 270 659 270 634C270 611 286 591 313 591C342 591 357 611 357 635C357 672 320 705 267 705C197 705 112 652 112 546V431H33V400H112V76C112 31 101 31 34 31V0C73 1 120 3 148 3C188 3 235 3 275 0V31H254C180 31 178 42 178 78V400H292V431H175Z'/>
+<glyph unicode='g' horiz-adv-x='500' vert-adv-y='500' glyph-name='g' d='M222 172C135 172 135 272 135 295C135 322 136 354 151 379C159 391 182 419 222 419C309 419 309 319 309 296C309 269 308 237 293 212C285 200 262 172 222 172ZM106 133C106 137 106 160 123 180C162 152 203 149 222 149C315 149 384 218 384 295C384 332 368 369 343 392C379 426 415 431 433 431C435 431 440 431 443 430C432 426 427 415 427 403C427 386 440 374 456 374C466 374 485 381 485 404C485 421 473 453 434 453C414 453 370 447 328 406C286 439 244 442 222 442C129 442 60 373 60 296C60 252 82 214 107 193C94 178 76 145 76 110C76 79 89 41 120 21C60 4 28-39 28-79C28-151 127-206 249-206C367-206 471-155 471-77C471-42 457 9 406 37C353 65 295 65 234 65C209 65 166 65 159 66C127 70 106 101 106 133ZM250-183C149-183 80-132 80-79C80-33 118 4 162 7H221C307 7 419 7 419-79C419-133 348-183 250-183Z'/>
+<glyph unicode='h' horiz-adv-x='555' vert-adv-y='555' glyph-name='h' d='M110 76C110 31 99 31 32 31V0C67 1 118 3 145 3C171 3 223 1 257 0V31C190 31 179 31 179 76V260C179 364 250 420 314 420C377 420 388 366 388 309V76C388 31 377 31 310 31V0C345 1 396 3 423 3C449 3 501 1 535 0V31C483 31 458 31 457 61V252C457 338 457 369 426 405C412 422 379 442 321 442C237 442 193 382 176 344V694L32 683V652C102 652 110 645 110 596V76Z'/>
+<glyph unicode='i' horiz-adv-x='277' vert-adv-y='277' glyph-name='i' d='M177 442L37 431V400C102 400 111 394 111 345V76C111 31 100 31 33 31V0C65 1 119 3 143 3C178 3 213 1 247 0V31C181 31 177 36 177 75V442ZM181 616C181 648 156 669 128 669C97 669 75 642 75 616C75 589 97 563 128 563C156 563 181 584 181 616Z'/>
+<glyph unicode='l' horiz-adv-x='277' vert-adv-y='277' glyph-name='l' d='M177 694L33 683V652C103 652 111 645 111 596V76C111 31 100 31 33 31V0C66 1 119 3 144 3S218 1 255 0V31C188 31 177 31 177 76V694Z'/>
+<glyph unicode='m' horiz-adv-x='833' vert-adv-y='833' glyph-name='m' d='M110 344V76C110 31 99 31 32 31V0C67 1 118 3 145 3C171 3 223 1 257 0V31C190 31 179 31 179 76V260C179 364 250 420 314 420C377 420 388 366 388 309V76C388 31 377 31 310 31V0C345 1 396 3 423 3C449 3 501 1 535 0V31C468 31 457 31 457 76V260C457 364 528 420 592 420C655 420 666 366 666 309V76C666 31 655 31 588 31V0C623 1 674 3 701 3C727 3 779 1 813 0V31C761 31 736 31 735 61V252C735 338 735 369 704 405C690 422 657 442 599 442C515 442 471 382 454 344C440 431 366 442 321 442C248 442 201 399 173 337V442L32 431V400C102 400 110 393 110 344Z'/>
+<glyph unicode='n' horiz-adv-x='555' vert-adv-y='555' glyph-name='n' d='M110 344V76C110 31 99 31 32 31V0C67 1 118 3 145 3C171 3 223 1 257 0V31C190 31 179 31 179 76V260C179 364 250 420 314 420C377 420 388 366 388 309V76C388 31 377 31 310 31V0C345 1 396 3 423 3C449 3 501 1 535 0V31C483 31 458 31 457 61V252C457 338 457 369 426 405C412 422 379 442 321 442C248 442 201 399 173 337V442L32 431V400C102 400 110 393 110 344Z'/>
+<glyph unicode='o' horiz-adv-x='500' vert-adv-y='500' glyph-name='o' d='M471 214C471 342 371 448 250 448C125 448 28 339 28 214C28 85 132-11 249-11C370-11 471 87 471 214ZM250 14C207 14 163 35 136 81C111 125 111 186 111 222C111 261 111 315 135 359C162 405 209 426 249 426C293 426 336 404 362 361S388 260 388 222C388 186 388 132 366 88C344 43 300 14 250 14Z'/>
+<glyph unicode='p' horiz-adv-x='555' vert-adv-y='555' glyph-name='p' d='M172 376V442L28 431V400C99 400 106 394 106 350V-118C106-163 95-163 28-163V-194C62-193 114-191 140-191C167-191 218-193 253-194V-163C186-163 175-163 175-118V50V59C180 43 222-11 298-11C417-11 521 87 521 216C521 343 424 442 312 442C234 442 192 398 172 376ZM175 114V337C204 388 253 417 304 417C377 417 438 329 438 216C438 95 368 11 294 11C254 11 216 31 189 72C175 93 175 94 175 114Z'/>
+<glyph unicode='r' horiz-adv-x='391' vert-adv-y='391' glyph-name='r' d='M167 332V442L28 431V400C98 400 106 393 106 344V76C106 31 95 31 28 31V0C67 1 114 3 142 3C182 3 229 3 269 0V31H248C174 31 172 42 172 78V232C172 331 214 420 290 420C297 420 299 420 301 419C298 418 278 406 278 380C278 352 299 337 321 337C339 337 364 349 364 381S333 442 290 442C217 442 181 375 167 332Z'/>
+<glyph unicode='s' horiz-adv-x='394' vert-adv-y='394' glyph-name='s' d='M208 194C230 190 312 174 312 102C312 51 277 11 199 11C115 11 79 68 60 153C57 166 56 170 46 170C33 170 33 163 33 145V13C33-4 33-11 44-11C49-11 50-10 69 9C71 11 71 13 89 32C133-10 178-11 199-11C314-11 360 56 360 128C360 181 330 211 318 223C285 255 246 263 204 271C148 282 81 295 81 353C81 388 107 429 193 429C303 429 308 339 310 308C311 299 320 299 322 299C335 299 335 304 335 323V424C335 441 335 448 324 448C319 448 317 448 304 436C301 432 291 423 287 420C249 448 208 448 193 448C71 448 33 381 33 325C33 290 49 262 76 240C108 214 136 208 208 194Z'/>
+<glyph unicode='t' horiz-adv-x='388' vert-adv-y='388' glyph-name='t' d='M173 400H316V431H173V615H148C147 533 117 426 19 422V400H104V124C104 1 197-11 233-11C304-11 332 60 332 124V181H307V126C307 52 277 14 240 14C173 14 173 105 173 122V400Z'/>
+<glyph unicode='u' horiz-adv-x='555' vert-adv-y='555' glyph-name='u' d='M391 79V-11L535 0V31C465 31 457 38 457 87V442L310 431V400C380 400 388 393 388 344V166C388 79 340 11 267 11C183 11 179 58 179 110V442L32 431V400C110 400 110 397 110 308V158C110 80 110-11 262-11C318-11 362 17 391 79Z'/>
+<glyph unicode='v' horiz-adv-x='527' vert-adv-y='527' glyph-name='v' d='M416 333C425 356 442 399 508 400V431C485 429 456 428 433 428C409 428 363 430 346 431V400C383 399 394 376 394 357C394 348 392 344 388 333L286 78L174 357C168 370 168 372 168 374C168 400 207 400 225 400V431C195 430 139 428 116 428C89 428 49 429 19 431V400C82 400 86 394 99 363L243 8C249-6 251-11 264-11S281-2 285 8L416 333Z'/>
+<glyph unicode='w' horiz-adv-x='722' vert-adv-y='722' glyph-name='w' d='M619 336C637 386 668 399 703 400V431C681 429 652 428 630 428C601 428 556 430 537 431V400C573 399 595 381 595 352C595 346 595 344 590 331L499 75L400 354C396 366 395 368 395 373C395 400 434 400 454 400V431C425 430 374 428 350 428C320 428 291 429 261 431V400C298 400 314 398 324 385C329 379 340 349 347 330L261 88L166 355C161 367 161 369 161 373C161 400 200 400 220 400V431C190 430 134 428 111 428C107 428 54 429 18 431V400C68 400 80 397 92 365L218 11C223-3 226-11 239-11S254-5 259 9L360 292L462 8C466-3 469-11 482-11S498-2 502 8L619 336Z'/>
+<glyph unicode='x' horiz-adv-x='527' vert-adv-y='527' glyph-name='x' d='M287 235C317 273 355 322 379 348C410 384 451 399 498 400V431C472 429 442 428 416 428C386 428 333 430 320 431V400C341 398 349 385 349 369S339 340 334 334L272 256L194 357C185 367 185 369 185 375C185 390 200 399 220 400V431C194 430 128 428 112 428C91 428 44 429 17 431V400C87 400 88 399 135 339L234 210L140 91C92 33 33 31 12 31V0C38 2 69 3 95 3C124 3 166 1 190 0V31C168 34 161 47 161 62C161 84 190 117 251 189L327 89C335 78 348 62 348 56C348 47 339 32 312 31V0C342 1 398 3 420 3C447 3 486 2 516 0V31C462 31 444 33 421 62L287 235Z'/>
+<glyph unicode='y' horiz-adv-x='527' vert-adv-y='527' glyph-name='y' d='M415 336C441 399 492 400 508 400V431C485 429 456 428 433 428C415 428 368 430 346 431V400C377 399 393 382 393 357C393 347 392 345 387 333L286 87L175 356C171 366 169 370 169 374C169 400 206 400 225 400V431C199 430 133 428 116 428C89 428 49 429 19 431V400C67 400 86 400 100 365L250 0C245-13 231-46 225-59C203-114 175-183 111-183C106-183 83-183 64-165C95-161 103-139 103-123C103-97 84-81 61-81C41-81 19-94 19-124C19-169 61-205 111-205C174-205 215-148 239-91L415 336Z'/>
+</font>
+</defs>
+<style type='text/css'>
+<![CDATA[text.f0 {font-family:cmr10;font-size:9.96264px}
+]]>
+</style>
+<g id='page1'>
+<text class='f0' x='61.768369' y='62.764633'>Color<tspan x='88.916641'>test:</tspan><tspan fill='#f00' x='112.218205'>red</tspan>,<tspan fill='#00f' x='132.171207'>blue</tspan>,<tspan fill='#f0f' x='156.524385'>magen</tspan><tspan fill='#f0f' x='184.475208'>ta</tspan>.<tspan x='61.768369' y='107.402447'>Line</tspan><tspan x='84.04599'>of</tspan><tspan x='95.392361'>text</tspan><tspan x='116.147922'>with</tspan><tspan x='138.840657'>a</tspan></text>
+<text class='f0' x='150.602006' y='107.402447' transform='matrix(.866025 -.5 .5 .866025 -33.524158 89.69014)'>rotated</text>
+<text class='f0' x='181.268181' y='107.402447'>w<tspan x='188.186693'>ord.</tspan></text>
+<rect x='61.768369' y='128.324022' height='.797029' width='220.921985'/>
+<text class='f0' x='67.745968' y='140.277746'>first<tspan x='88.307802'>column</tspan><tspan x='172.326189'>second</tspan><tspan x='204.483458'>column</tspan></text>
+<rect x='61.768369' y='145.580082' height='.498162' width='220.921985'/>
+<text class='f0' x='67.745968' y='157.234939'>Lorem<tspan x='98.906979'>ipsum</tspan><tspan x='172.326189'>dolor</tspan><tspan x='197.814018'>sit</tspan><tspan x='211.706393'>amet</tspan><tspan x='67.745968' y='169.190107'>consetetur</tspan><tspan x='115.981887'>sadipscing</tspan><tspan x='172.326189'>elitr</tspan><tspan x='67.745968' y='181.145275'>sed</tspan><tspan x='84.959229'>diam</tspan><tspan x='109.865894'>non</tspan><tspan x='125.640119'>um</tspan><tspan x='139.200412'>y</tspan><tspan x='172.326189'>eirmo</tspan><tspan x='196.983812'>d</tspan><tspan x='205.839504'>temp</tspan><tspan x='228.255521'>or</tspan><tspan x='240.459785'>in</tspan><tspan x='248.485262'>vidun</tspan><tspan x='272.83846'>t</tspan></text>
+<rect x='61.768369' y='186.447611' height='.797029' width='220.921985'/>
+<text class='f0' x='65.15566' y='218.472005'>b<tspan x='70.967226'>o</tspan><tspan x='75.671816'>xed</tspan><tspan x='94.213447'>text</tspan></text>
+<rect x='61.768369' y='208.166215' height='.3985' width='53.267015'/>
+<rect x='61.768369' y='208.365465' height='13.294582' width='.3985'/>
+<rect x='114.636884' y='208.365465' height='13.294582' width='.3985'/>
+<rect x='61.768369' y='221.460797' height='.3985' width='53.267015'/>
+<text class='f0' x='231.13325' y='630.635118'>1</text>
+</g>
+</svg> \ No newline at end of file
diff --git a/Build/source/texk/dvisvgm/tests/sample_v3-nf.svg b/Build/source/texk/dvisvgm/tests/sample_v3-nf.svg
new file mode 100644
index 00000000000..1257d741303
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/sample_v3-nf.svg
@@ -0,0 +1,31 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 3.0.3 -->
+<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='218.980326pt' height='660.082613pt' viewBox='9.148144 43.042023 218.980326 660.082613'>
+<defs>
+<path id='g0-49' d='M2.929016-6.37609C2.929016-6.615193 2.929016-6.635118 2.699875-6.635118C2.082192-5.997509 1.205479-5.997509 .886675-5.997509V-5.688667C1.085928-5.688667 1.673724-5.688667 2.191781-5.947696V-.787049C2.191781-.428394 2.161893-.308842 1.265255-.308842H.946451V0C1.295143-.029888 2.161893-.029888 2.560399-.029888S3.825654-.029888 4.174346 0V-.308842H3.855542C2.958904-.308842 2.929016-.418431 2.929016-.787049V-6.37609Z'/>
+<path id='g0-97' d='M3.317559-.757161C3.35741-.358655 3.626401 .059776 4.094645 .059776C4.303861 .059776 4.911582-.079701 4.911582-.886675V-1.444583H4.662516V-.886675C4.662516-.308842 4.41345-.249066 4.303861-.249066C3.975093-.249066 3.935243-.697385 3.935243-.747198V-2.739726C3.935243-3.158157 3.935243-3.5467 3.576588-3.915318C3.188045-4.303861 2.689913-4.463263 2.211706-4.463263C1.39477-4.463263 .707347-3.995019 .707347-3.337484C.707347-3.038605 .9066-2.86924 1.165629-2.86924C1.444583-2.86924 1.62391-3.068493 1.62391-3.327522C1.62391-3.447073 1.574097-3.775841 1.115816-3.785803C1.384807-4.134496 1.872976-4.244085 2.191781-4.244085C2.67995-4.244085 3.247821-3.855542 3.247821-2.968867V-2.600249C2.739726-2.570361 2.042341-2.540473 1.414695-2.241594C.667497-1.902864 .418431-1.384807 .418431-.946451C.418431-.139477 1.384807 .109589 2.012453 .109589C2.669988 .109589 3.128269-.288917 3.317559-.757161ZM3.247821-2.391034V-1.39477C3.247821-.448319 2.530511-.109589 2.082192-.109589C1.594022-.109589 1.185554-.458281 1.185554-.956413C1.185554-1.504359 1.603985-2.331258 3.247821-2.391034Z'/>
+<path id='g0-99' d='M1.165629-2.171856C1.165629-3.795766 1.982565-4.214197 2.510585-4.214197C2.600249-4.214197 3.227895-4.204234 3.576588-3.845579C3.16812-3.815691 3.108344-3.516812 3.108344-3.387298C3.108344-3.128269 3.287671-2.929016 3.566625-2.929016C3.825654-2.929016 4.024907-3.098381 4.024907-3.39726C4.024907-4.07472 3.267746-4.463263 2.500623-4.463263C1.255293-4.463263 .33873-3.387298 .33873-2.15193C.33873-.876712 1.325031 .109589 2.480697 .109589C3.815691 .109589 4.134496-1.085928 4.134496-1.185554S4.034869-1.285181 4.004981-1.285181C3.915318-1.285181 3.895392-1.24533 3.875467-1.185554C3.58655-.259029 2.938979-.139477 2.570361-.139477C2.042341-.139477 1.165629-.56787 1.165629-2.171856Z'/>
+<path id='g0-101' d='M1.115816-2.510585C1.175592-3.995019 2.012453-4.244085 2.351183-4.244085C3.377335-4.244085 3.476961-2.899128 3.476961-2.510585H1.115816ZM1.105853-2.30137H3.88543C4.104608-2.30137 4.134496-2.30137 4.134496-2.510585C4.134496-3.496887 3.596513-4.463263 2.351183-4.463263C1.195517-4.463263 .278954-3.437111 .278954-2.191781C.278954-.856787 1.325031 .109589 2.470735 .109589C3.686177 .109589 4.134496-.996264 4.134496-1.185554C4.134496-1.285181 4.054795-1.305106 4.004981-1.305106C3.915318-1.305106 3.895392-1.24533 3.875467-1.165629C3.526775-.139477 2.630137-.139477 2.530511-.139477C2.032379-.139477 1.633873-.438356 1.404732-.806974C1.105853-1.285181 1.105853-1.942715 1.105853-2.30137Z'/>
+<path id='g0-105' d='M1.763387-4.403487L.368618-4.293898V-3.985056C1.016189-3.985056 1.105853-3.92528 1.105853-3.437111V-.757161C1.105853-.308842 .996264-.308842 .328767-.308842V0C.647572-.009963 1.185554-.029888 1.424658-.029888C1.77335-.029888 2.122042-.009963 2.460772 0V-.308842C1.803238-.308842 1.763387-.358655 1.763387-.747198V-4.403487ZM1.803238-6.136986C1.803238-6.455791 1.554172-6.665006 1.275218-6.665006C.966376-6.665006 .747198-6.396015 .747198-6.136986C.747198-5.867995 .966376-5.608966 1.275218-5.608966C1.554172-5.608966 1.803238-5.818182 1.803238-6.136986Z'/>
+<path id='g0-108' d='M1.763387-6.914072L.328767-6.804483V-6.495641C1.026152-6.495641 1.105853-6.425903 1.105853-5.937733V-.757161C1.105853-.308842 .996264-.308842 .328767-.308842V0C.657534-.009963 1.185554-.029888 1.43462-.029888S2.171856-.009963 2.540473 0V-.308842C1.872976-.308842 1.763387-.308842 1.763387-.757161V-6.914072Z'/>
+<path id='g0-114' d='M1.663761-3.307597V-4.403487L.278954-4.293898V-3.985056C.976339-3.985056 1.05604-3.915318 1.05604-3.427148V-.757161C1.05604-.308842 .946451-.308842 .278954-.308842V0C.667497-.009963 1.135741-.029888 1.414695-.029888C1.8132-.029888 2.281445-.029888 2.67995 0V-.308842H2.470735C1.733499-.308842 1.713574-.418431 1.713574-.777086V-2.311333C1.713574-3.297634 2.132005-4.184309 2.889166-4.184309C2.958904-4.184309 2.978829-4.184309 2.998755-4.174346C2.968867-4.164384 2.769614-4.044832 2.769614-3.785803C2.769614-3.506849 2.978829-3.35741 3.198007-3.35741C3.377335-3.35741 3.626401-3.476961 3.626401-3.795766S3.317559-4.403487 2.889166-4.403487C2.161893-4.403487 1.803238-3.73599 1.663761-3.307597Z'/>
+<path id='g0-116' d='M1.723537-3.985056H3.148194V-4.293898H1.723537V-6.127024H1.474471C1.464508-5.310087 1.165629-4.244085 .18929-4.204234V-3.985056H1.036115V-1.235367C1.036115-.009963 1.96264 .109589 2.321295 .109589C3.028643 .109589 3.307597-.597758 3.307597-1.235367V-1.803238H3.058531V-1.255293C3.058531-.518057 2.759651-.139477 2.391034-.139477C1.723537-.139477 1.723537-1.046077 1.723537-1.215442V-3.985056Z'/>
+<path id='g0-118' d='M4.144458-3.317559C4.234122-3.5467 4.403487-3.975093 5.061021-3.985056V-4.293898C4.83188-4.273973 4.542964-4.26401 4.313823-4.26401C4.07472-4.26401 3.616438-4.283935 3.447073-4.293898V-3.985056C3.815691-3.975093 3.92528-3.745953 3.92528-3.556663C3.92528-3.466999 3.905355-3.427148 3.865504-3.317559L2.849315-.777086L1.733499-3.556663C1.673724-3.686177 1.673724-3.706102 1.673724-3.726027C1.673724-3.985056 2.062267-3.985056 2.241594-3.985056V-4.293898C1.942715-4.283935 1.384807-4.26401 1.155666-4.26401C.886675-4.26401 .488169-4.273973 .18929-4.293898V-3.985056C.816936-3.985056 .856787-3.92528 .986301-3.616438L2.420922-.079701C2.480697 .059776 2.500623 .109589 2.630137 .109589S2.799502 .019925 2.839352-.079701L4.144458-3.317559Z'/>
+<path id='g0-120' d='M2.859278-2.34122C3.158157-2.719801 3.536737-3.20797 3.775841-3.466999C4.084682-3.825654 4.493151-3.975093 4.961395-3.985056V-4.293898C4.702366-4.273973 4.403487-4.26401 4.144458-4.26401C3.845579-4.26401 3.317559-4.283935 3.188045-4.293898V-3.985056C3.39726-3.965131 3.476961-3.835616 3.476961-3.676214S3.377335-3.387298 3.327522-3.327522L2.709838-2.550436L1.932752-3.556663C1.843088-3.656289 1.843088-3.676214 1.843088-3.73599C1.843088-3.88543 1.992528-3.975093 2.191781-3.985056V-4.293898C1.932752-4.283935 1.275218-4.26401 1.115816-4.26401C.9066-4.26401 .438356-4.273973 .169365-4.293898V-3.985056C.86675-3.985056 .876712-3.975093 1.344956-3.377335L2.331258-2.092154L1.39477-.9066C.916563-.328767 .328767-.308842 .119552-.308842V0C.37858-.019925 .687422-.029888 .946451-.029888C1.235367-.029888 1.653798-.009963 1.892902 0V-.308842C1.673724-.33873 1.603985-.468244 1.603985-.617684C1.603985-.836862 1.892902-1.165629 2.500623-1.882939L3.257783-.886675C3.337484-.777086 3.466999-.617684 3.466999-.557908C3.466999-.468244 3.377335-.318804 3.108344-.308842V0C3.407223-.009963 3.965131-.029888 4.184309-.029888C4.4533-.029888 4.841843-.019925 5.140722 0V-.308842C4.60274-.308842 4.423412-.328767 4.194271-.617684L2.859278-2.34122Z'/>
+</defs>
+<g id='page1'>
+<use x='25.088368' y='43.042023' xlink:href='#g0-118' transform='matrix(0 1 -1 0 68.130391 17.953655)'/>
+<use x='25.088368' y='48.023362' xlink:href='#g0-101' transform='matrix(0 1 -1 0 73.11173 22.934994)'/>
+<use x='25.088368' y='52.451213' xlink:href='#g0-114' transform='matrix(0 1 -1 0 77.539581 27.362845)'/>
+<use x='25.088368' y='56.353264' xlink:href='#g0-116' transform='matrix(0 1 -1 0 81.441632 31.264896)'/>
+<use x='25.088368' y='60.227638' xlink:href='#g0-105' transform='matrix(0 1 -1 0 85.316006 35.13927)'/>
+<use x='25.088368' y='62.995046' xlink:href='#g0-99' transform='matrix(0 1 -1 0 88.083414 37.906678)'/>
+<use x='25.088368' y='67.422898' xlink:href='#g0-97' transform='matrix(0 1 -1 0 92.511266 42.33453)'/>
+<use x='25.088368' y='72.404237' xlink:href='#g0-108' transform='matrix(0 1 -1 0 97.492605 47.315869)'/>
+<use x='9.148144' y='43.042023' xlink:href='#g0-116' transform='matrix(0 1 -1 0 52.190166 33.893879)'/>
+<use x='9.148144' y='46.916396' xlink:href='#g0-101' transform='matrix(0 1 -1 0 56.06454 37.768253)'/>
+<use x='9.148144' y='51.344248' xlink:href='#g0-120' transform='matrix(0 1 -1 0 60.492392 42.196104)'/>
+<use x='9.148144' y='56.602336' xlink:href='#g0-116' transform='matrix(0 1 -1 0 65.750479 47.454192)'/>
+<use x='223.147131' y='703.124635' xlink:href='#g0-49'/>
+</g>
+</svg> \ No newline at end of file
diff --git a/Build/source/texk/dvisvgm/tests/sample_v3-wf.svg b/Build/source/texk/dvisvgm/tests/sample_v3-wf.svg
new file mode 100644
index 00000000000..d1fff46ef5f
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/sample_v3-wf.svg
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 3.0.3 -->
+<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='218.980326pt' height='660.082613pt' viewBox='9.148144 43.042023 218.980326 660.082613'>
+<defs>
+<font id='cmr10' horiz-adv-x='0'>
+<font-face font-family='cmr10' units-per-em='1000' ascent='750' descent='250'/>
+<glyph unicode='1' horiz-adv-x='500' vert-adv-y='500' glyph-name='one' d='M294 640C294 664 294 666 271 666C209 602 121 602 89 602V571C109 571 168 571 220 597V79C220 43 217 31 127 31H95V0C130 3 217 3 257 3S384 3 419 0V31H387C297 31 294 42 294 79V640Z'/>
+<glyph unicode='a' horiz-adv-x='500' vert-adv-y='500' glyph-name='a' d='M333 76C337 36 364-6 411-6C432-6 493 8 493 89V145H468V89C468 31 443 25 432 25C399 25 395 70 395 75V275C395 317 395 356 359 393C320 432 270 448 222 448C140 448 71 401 71 335C71 305 91 288 117 288C145 288 163 308 163 334C163 346 158 379 112 380C139 415 188 426 220 426C269 426 326 387 326 298V261C275 258 205 255 142 225C67 191 42 139 42 95C42 14 139-11 202-11C268-11 314 29 333 76ZM326 240V140C326 45 254 11 209 11C160 11 119 46 119 96C119 151 161 234 326 240Z'/>
+<glyph unicode='c' horiz-adv-x='444' vert-adv-y='444' glyph-name='c' d='M117 218C117 381 199 423 252 423C261 423 324 422 359 386C318 383 312 353 312 340C312 314 330 294 358 294C384 294 404 311 404 341C404 409 328 448 251 448C126 448 34 340 34 216C34 88 133-11 249-11C383-11 415 109 415 119S405 129 402 129C393 129 391 125 389 119C360 26 295 14 258 14C205 14 117 57 117 218Z'/>
+<glyph unicode='e' horiz-adv-x='444' vert-adv-y='444' glyph-name='e' d='M112 252C118 401 202 426 236 426C339 426 349 291 349 252H112ZM111 231H390C412 231 415 231 415 252C415 351 361 448 236 448C120 448 28 345 28 220C28 86 133-11 248-11C370-11 415 100 415 119C415 129 407 131 402 131C393 131 391 125 389 117C354 14 264 14 254 14C204 14 164 44 141 81C111 129 111 195 111 231Z'/>
+<glyph unicode='i' horiz-adv-x='277' vert-adv-y='277' glyph-name='i' d='M177 442L37 431V400C102 400 111 394 111 345V76C111 31 100 31 33 31V0C65 1 119 3 143 3C178 3 213 1 247 0V31C181 31 177 36 177 75V442ZM181 616C181 648 156 669 128 669C97 669 75 642 75 616C75 589 97 563 128 563C156 563 181 584 181 616Z'/>
+<glyph unicode='l' horiz-adv-x='277' vert-adv-y='277' glyph-name='l' d='M177 694L33 683V652C103 652 111 645 111 596V76C111 31 100 31 33 31V0C66 1 119 3 144 3S218 1 255 0V31C188 31 177 31 177 76V694Z'/>
+<glyph unicode='r' horiz-adv-x='391' vert-adv-y='391' glyph-name='r' d='M167 332V442L28 431V400C98 400 106 393 106 344V76C106 31 95 31 28 31V0C67 1 114 3 142 3C182 3 229 3 269 0V31H248C174 31 172 42 172 78V232C172 331 214 420 290 420C297 420 299 420 301 419C298 418 278 406 278 380C278 352 299 337 321 337C339 337 364 349 364 381S333 442 290 442C217 442 181 375 167 332Z'/>
+<glyph unicode='t' horiz-adv-x='388' vert-adv-y='388' glyph-name='t' d='M173 400H316V431H173V615H148C147 533 117 426 19 422V400H104V124C104 1 197-11 233-11C304-11 332 60 332 124V181H307V126C307 52 277 14 240 14C173 14 173 105 173 122V400Z'/>
+<glyph unicode='v' horiz-adv-x='527' vert-adv-y='527' glyph-name='v' d='M416 333C425 356 442 399 508 400V431C485 429 456 428 433 428C409 428 363 430 346 431V400C383 399 394 376 394 357C394 348 392 344 388 333L286 78L174 357C168 370 168 372 168 374C168 400 207 400 225 400V431C195 430 139 428 116 428C89 428 49 429 19 431V400C82 400 86 394 99 363L243 8C249-6 251-11 264-11S281-2 285 8L416 333Z'/>
+<glyph unicode='x' horiz-adv-x='527' vert-adv-y='527' glyph-name='x' d='M287 235C317 273 355 322 379 348C410 384 451 399 498 400V431C472 429 442 428 416 428C386 428 333 430 320 431V400C341 398 349 385 349 369S339 340 334 334L272 256L194 357C185 367 185 369 185 375C185 390 200 399 220 400V431C194 430 128 428 112 428C91 428 44 429 17 431V400C87 400 88 399 135 339L234 210L140 91C92 33 33 31 12 31V0C38 2 69 3 95 3C124 3 166 1 190 0V31C168 34 161 47 161 62C161 84 190 117 251 189L327 89C335 78 348 62 348 56C348 47 339 32 312 31V0C342 1 398 3 420 3C447 3 486 2 516 0V31C462 31 444 33 421 62L287 235Z'/>
+</font>
+</defs>
+<style type='text/css'>
+<![CDATA[text.f0 {font-family:cmr10;font-size:9.96264px}
+]]>
+</style>
+<g id='page1'>
+<text class='f0' writing-mode='tb' glyph-orientation-vertical='90' x='28.07716' y='43.042023'>v<tspan y='48.023362'>ertical</tspan><tspan x='12.136936' y='43.042023'>text</tspan></text>
+<text class='f0' x='223.147131' y='703.124635'>1</text>
+</g>
+</svg> \ No newline at end of file
diff --git a/Build/source/texk/dvisvgm/tests/upjf-g.tfm b/Build/source/texk/dvisvgm/tests/upjf-g.tfm
new file mode 100644
index 00000000000..3f0bfdff987
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf-g.tfm
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjf-g00.ofm b/Build/source/texk/dvisvgm/tests/upjf-g00.ofm
new file mode 100644
index 00000000000..507aa833b4e
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf-g00.ofm
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjf-hara.map b/Build/source/texk/dvisvgm/tests/upjf-hara.map
new file mode 100644
index 00000000000..bb64bca956a
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf-hara.map
@@ -0,0 +1,6 @@
+upjf-r unicode HaranoAjiMincho-Regular.otf
+upjf-g unicode HaranoAjiGothic-Regular.otf
+upjv-r unicode HaranoAjiMincho-Regular.otf
+upjv-g unicode HaranoAjiGothic-Regular.otf
+
+cmr10 <cmr10.pfb
diff --git a/Build/source/texk/dvisvgm/tests/upjf-r.tfm b/Build/source/texk/dvisvgm/tests/upjf-r.tfm
new file mode 100644
index 00000000000..8dbf787b3ec
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf-r.tfm
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjf-r00.ofm b/Build/source/texk/dvisvgm/tests/upjf-r00.ofm
new file mode 100644
index 00000000000..7c6c550ba21
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf-r00.ofm
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjf.dvi b/Build/source/texk/dvisvgm/tests/upjf.dvi
new file mode 100644
index 00000000000..e75a6ef20d4
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf.dvi
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjf.map b/Build/source/texk/dvisvgm/tests/upjf.map
new file mode 100644
index 00000000000..78add04a954
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf.map
@@ -0,0 +1,6 @@
+upjf-r Ryumin-Light-UniJIS-UTF16-H
+upjf-g GothicBBB-Medium-UniJIS-UTF16-H
+upjv-r Ryumin-Light-UniJIS-UTF16-V
+upjv-g GothicBBB-Medium-UniJIS-UTF16-V
+
+cmr10 <cmr10.pfb
diff --git a/Build/source/texk/dvisvgm/tests/upjf.svg b/Build/source/texk/dvisvgm/tests/upjf.svg
new file mode 100644
index 00000000000..591028c015e
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf.svg
@@ -0,0 +1,63 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 3.0.3 -->
+<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='201.738005pt' height='195.306541pt' viewBox='71.354613 56.787049 201.738005 195.306541'>
+<defs>
+<font id='cmr10' horiz-adv-x='0'>
+<font-face font-family='cmr10' units-per-em='1000' ascent='750' descent='250'/>
+<glyph unicode='.' horiz-adv-x='277' vert-adv-y='277' glyph-name='period' d='M192 53C192 82 168 106 139 106S86 82 86 53S110 0 139 0S192 24 192 53Z'/>
+<glyph unicode='A' horiz-adv-x='750' vert-adv-y='750' glyph-name='A' d='M398 696C393 709 391 716 375 716S356 710 351 696L144 98C126 47 86 32 32 31V0C55 1 98 3 134 3C165 3 217 1 249 0V31C199 31 174 56 174 82C174 85 175 95 176 97L222 228H469L522 75C523 71 525 65 525 61C525 31 469 31 442 31V0C478 3 548 3 586 3C629 3 675 2 717 0V31H699C639 31 625 38 614 71L398 696ZM345 584L458 259H233L345 584Z'/>
+<glyph unicode='B' horiz-adv-x='708' vert-adv-y='708' glyph-name='B' d='M222 366V612C222 645 224 652 271 652H395C492 652 527 567 527 514C527 450 478 366 367 366H222ZM458 357C555 376 624 440 624 514C624 601 532 683 402 683H36V652H60C137 652 139 641 139 605V78C139 42 137 31 60 31H36V0H428C561 0 651 89 651 183C651 270 569 345 458 357ZM396 31H271C224 31 222 38 222 71V344H410C509 344 551 251 551 184C551 113 499 31 396 31Z'/>
+<glyph unicode='C' horiz-adv-x='722' vert-adv-y='722' glyph-name='C' d='M56 342C56 135 218-22 404-22C567-22 665 117 665 233C665 243 665 250 652 250C641 250 641 244 640 234C632 91 525 9 416 9C355 9 159 43 159 341C159 640 354 674 415 674C524 674 613 583 633 437C635 423 635 420 649 420C665 420 665 423 665 444V681C665 698 665 705 654 705C650 705 646 705 638 693L588 619C551 655 500 705 404 705C217 705 56 546 56 342Z'/>
+<glyph unicode='x' horiz-adv-x='527' vert-adv-y='527' glyph-name='x' d='M287 235C317 273 355 322 379 348C410 384 451 399 498 400V431C472 429 442 428 416 428C386 428 333 430 320 431V400C341 398 349 385 349 369S339 340 334 334L272 256L194 357C185 367 185 369 185 375C185 390 200 399 220 400V431C194 430 128 428 112 428C91 428 44 429 17 431V400C87 400 88 399 135 339L234 210L140 91C92 33 33 31 12 31V0C38 2 69 3 95 3C124 3 166 1 190 0V31C168 34 161 47 161 62C161 84 190 117 251 189L327 89C335 78 348 62 348 56C348 47 339 32 312 31V0C342 1 398 3 420 3C447 3 486 2 516 0V31C462 31 444 33 421 62L287 235Z'/>
+<glyph unicode='y' horiz-adv-x='527' vert-adv-y='527' glyph-name='y' d='M415 336C441 399 492 400 508 400V431C485 429 456 428 433 428C415 428 368 430 346 431V400C377 399 393 382 393 357C393 347 392 345 387 333L286 87L175 356C171 366 169 370 169 374C169 400 206 400 225 400V431C199 430 133 428 116 428C89 428 49 429 19 431V400C67 400 86 400 100 365L250 0C245-13 231-46 225-59C203-114 175-183 111-183C106-183 83-183 64-165C95-161 103-139 103-123C103-97 84-81 61-81C41-81 19-94 19-124C19-169 61-205 111-205C174-205 215-148 239-91L415 336Z'/>
+<glyph unicode='z' horiz-adv-x='444' vert-adv-y='444' glyph-name='z' d='M390 401C399 412 399 414 399 418C399 431 391 431 373 431H53L42 270H67C73 372 92 409 202 409H316L37 32C28 21 28 19 28 14C28 0 35 0 54 0H384L401 187H376C367 69 346 25 230 25H112L390 401Z'/>
+</font>
+</defs>
+<style type='text/css'>
+<![CDATA[text.f1 {font-family:upjv-r;font-size:10px}
+text.f2 {font-family:upjv-g;font-size:10px}
+text.f4 {font-family:upjf-r;font-size:10px}
+text.f5 {font-family:upjf-g;font-size:10px}
+text.f6 {font-family:cmr10;font-size:9.96264px}
+]]>
+</style>
+<g id='page1'>
+<rect x='71.354613' y='56.787049' height='.3985' width='201.738005'/>
+<rect x='71.354613' y='57.185548' height='16.681874' width='.3985'/>
+<text class='f5' x='74.741904' y='68.941451'>あ</text>
+<text class='f5' x='84.704544' y='68.941451'>い</text>
+<text class='f5' x='94.667184' y='68.941451'>う</text>
+<text class='f5' x='104.629824' y='68.941451'>え</text>
+<text class='f5' x='114.592465' y='68.941451'>お</text>
+<text class='f5' x='124.555105' y='68.941451'>ア</text>
+<text class='f5' x='129.536425' y='68.941451'>イ</text>
+<text class='f5' x='134.517745' y='68.941451'>ウ</text>
+<text class='f5' x='139.499065' y='68.941451'>エ</text>
+<text class='f5' x='144.480385' y='68.941451'>オ</text>
+<text class='f5' x='149.461705' y='68.941451'>、</text>
+<text class='f5' x='159.424345' y='68.941451'>☃</text>
+<text class='f4' x='172.70786' y='68.941451'>雪晴</text>
+<text class='f5' x='192.63314' y='68.941451'>☀</text>
+<text class='f4' x='202.59578' y='68.941451'>𠮟</text>
+<text class='f5' x='212.55842' y='68.941451'>。</text>
+<text class='f6' x='222.521061' y='68.941451'>ABC<tspan x='247.56609'>xyz.</tspan></text>
+<rect x='272.694118' y='57.185548' height='16.681874' width='.3985'/>
+<rect x='71.354613' y='73.867422' height='.3985' width='201.738005'/>
+<rect x='71.354613' y='75.262185' height='.3985' width='16.737223'/>
+<rect x='71.354613' y='75.660685' height='176.034405' width='.3985'/>
+<text class='f2' writing-mode='tb' x='79.723224' y='78.649477'>あ</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='88.612117'>い</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='98.574757'>う</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='108.537397'>え</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='118.500037'>お</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='128.462677'>、</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='138.425317'>☃</text>
+<text class='f1' writing-mode='tb' x='79.723224' y='151.708832'>雪晴</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='171.634113'>☀</text>
+<text class='f1' writing-mode='tb' x='79.723224' y='181.596753'>𠮟</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='191.559393'>。</text>
+<text class='f6' writing-mode='tb' glyph-orientation-vertical='90' x='79.836128' y='201.522033'>ABC<tspan y='226.567062'>xyz.</tspan></text>
+<rect x='87.693336' y='75.660685' height='176.034405' width='.3985'/>
+<rect x='71.354613' y='251.69509' height='.3985' width='16.737223'/>
+</g>
+</svg> \ No newline at end of file
diff --git a/Build/source/texk/dvisvgm/tests/upjf.tfm b/Build/source/texk/dvisvgm/tests/upjf.tfm
new file mode 100644
index 00000000000..d18f4d546c8
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf.tfm
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjf1.svg b/Build/source/texk/dvisvgm/tests/upjf1.svg
new file mode 100644
index 00000000000..18bb058d0b3
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf1.svg
@@ -0,0 +1,62 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- This file was generated by dvisvgm 3.0.3 -->
+<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='201.738005pt' height='195.306541pt' viewBox='71.354613 56.787049 201.738005 195.306541'>
+<defs>
+<font id='cmr10' horiz-adv-x='0'>
+<font-face font-family='cmr10' units-per-em='1000' ascent='750' descent='250'/>
+<glyph unicode='.' horiz-adv-x='277' vert-adv-y='277' glyph-name='period' d='M192 53C192 82 168 106 139 106S86 82 86 53S110 0 139 0S192 24 192 53Z'/>
+<glyph unicode='A' horiz-adv-x='750' vert-adv-y='750' glyph-name='A' d='M398 696C393 709 391 716 375 716S356 710 351 696L144 98C126 47 86 32 32 31V0C55 1 98 3 134 3C165 3 217 1 249 0V31C199 31 174 56 174 82C174 85 175 95 176 97L222 228H469L522 75C523 71 525 65 525 61C525 31 469 31 442 31V0C478 3 548 3 586 3C629 3 675 2 717 0V31H699C639 31 625 38 614 71L398 696ZM345 584L458 259H233L345 584Z'/>
+<glyph unicode='B' horiz-adv-x='708' vert-adv-y='708' glyph-name='B' d='M222 366V612C222 645 224 652 271 652H395C492 652 527 567 527 514C527 450 478 366 367 366H222ZM458 357C555 376 624 440 624 514C624 601 532 683 402 683H36V652H60C137 652 139 641 139 605V78C139 42 137 31 60 31H36V0H428C561 0 651 89 651 183C651 270 569 345 458 357ZM396 31H271C224 31 222 38 222 71V344H410C509 344 551 251 551 184C551 113 499 31 396 31Z'/>
+<glyph unicode='C' horiz-adv-x='722' vert-adv-y='722' glyph-name='C' d='M56 342C56 135 218-22 404-22C567-22 665 117 665 233C665 243 665 250 652 250C641 250 641 244 640 234C632 91 525 9 416 9C355 9 159 43 159 341C159 640 354 674 415 674C524 674 613 583 633 437C635 423 635 420 649 420C665 420 665 423 665 444V681C665 698 665 705 654 705C650 705 646 705 638 693L588 619C551 655 500 705 404 705C217 705 56 546 56 342Z'/>
+<glyph unicode='x' horiz-adv-x='527' vert-adv-y='527' glyph-name='x' d='M287 235C317 273 355 322 379 348C410 384 451 399 498 400V431C472 429 442 428 416 428C386 428 333 430 320 431V400C341 398 349 385 349 369S339 340 334 334L272 256L194 357C185 367 185 369 185 375C185 390 200 399 220 400V431C194 430 128 428 112 428C91 428 44 429 17 431V400C87 400 88 399 135 339L234 210L140 91C92 33 33 31 12 31V0C38 2 69 3 95 3C124 3 166 1 190 0V31C168 34 161 47 161 62C161 84 190 117 251 189L327 89C335 78 348 62 348 56C348 47 339 32 312 31V0C342 1 398 3 420 3C447 3 486 2 516 0V31C462 31 444 33 421 62L287 235Z'/>
+<glyph unicode='y' horiz-adv-x='527' vert-adv-y='527' glyph-name='y' d='M415 336C441 399 492 400 508 400V431C485 429 456 428 433 428C415 428 368 430 346 431V400C377 399 393 382 393 357C393 347 392 345 387 333L286 87L175 356C171 366 169 370 169 374C169 400 206 400 225 400V431C199 430 133 428 116 428C89 428 49 429 19 431V400C67 400 86 400 100 365L250 0C245-13 231-46 225-59C203-114 175-183 111-183C106-183 83-183 64-165C95-161 103-139 103-123C103-97 84-81 61-81C41-81 19-94 19-124C19-169 61-205 111-205C174-205 215-148 239-91L415 336Z'/>
+<glyph unicode='z' horiz-adv-x='444' vert-adv-y='444' glyph-name='z' d='M390 401C399 412 399 414 399 418C399 431 391 431 373 431H53L42 270H67C73 372 92 409 202 409H316L37 32C28 21 28 19 28 14C28 0 35 0 54 0H384L401 187H376C367 69 346 25 230 25H112L390 401Z'/>
+</font>
+</defs>
+<style type='text/css'>
+<![CDATA[text.f1 {font-family:upjv-r;font-size:10px}
+text.f2 {font-family:upjv-g;font-size:10px}
+text.f4 {font-family:upjf-r;font-size:10px}
+text.f5 {font-family:upjf-g;font-size:10px}
+text.f6 {font-family:cmr10;font-size:9.96264px}
+]]>
+</style>
+<g id='page1'>
+<rect x='71.354613' y='56.787049' height='.3985' width='201.738005'/>
+<rect x='71.354613' y='57.185548' height='16.681874' width='.3985'/>
+<text class='f5' x='74.741904' y='68.941451'>あ</text>
+<text class='f5' x='84.704544' y='68.941451'>い</text>
+<text class='f5' x='94.667184' y='68.941451'>う</text>
+<text class='f5' x='104.629824' y='68.941451'>え</text>
+<text class='f5' x='114.592465' y='68.941451'>お</text>
+<text class='f4' x='124.555105' y='68.941451'>ア</text>
+<text class='f5' x='129.536425' y='68.941451'>イ</text>
+<text class='f4' x='134.517745' y='68.941451'>ウエ</text>
+<text class='f5' x='144.480385' y='68.941451'>オ</text>
+<text class='f5' x='149.461705' y='68.941451'>、</text>
+<text class='f5' x='159.424345' y='68.941451'>☃</text>
+<text class='f4' x='172.70786' y='68.941451'>雪晴</text>
+<text class='f5' x='192.63314' y='68.941451'>☀</text>
+<text class='f4' x='202.59578' y='68.941451'>𠮟</text>
+<text class='f5' x='212.55842' y='68.941451'>。</text>
+<text class='f6' x='222.521061' y='68.941451'>ABC<tspan x='247.56609'>xyz.</tspan></text>
+<rect x='272.694118' y='57.185548' height='16.681874' width='.3985'/>
+<rect x='71.354613' y='73.867422' height='.3985' width='201.738005'/>
+<rect x='71.354613' y='75.262185' height='.3985' width='16.737223'/>
+<rect x='71.354613' y='75.660685' height='176.034405' width='.3985'/>
+<text class='f2' writing-mode='tb' x='79.723224' y='78.649477'>あ</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='88.612117'>い</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='98.574757'>う</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='108.537397'>え</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='118.500037'>お</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='128.462677'>、</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='138.425317'>☃</text>
+<text class='f1' writing-mode='tb' x='79.723224' y='151.708832'>雪晴</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='171.634113'>☀</text>
+<text class='f1' writing-mode='tb' x='79.723224' y='181.596753'>𠮟</text>
+<text class='f2' writing-mode='tb' x='79.723224' y='191.559393'>。</text>
+<text class='f6' writing-mode='tb' glyph-orientation-vertical='90' x='79.836128' y='201.522033'>ABC<tspan y='226.567062'>xyz.</tspan></text>
+<rect x='87.693336' y='75.660685' height='176.034405' width='.3985'/>
+<rect x='71.354613' y='251.69509' height='.3985' width='16.737223'/>
+</g>
+</svg> \ No newline at end of file
diff --git a/Build/source/texk/dvisvgm/tests/upjf1_full.vf b/Build/source/texk/dvisvgm/tests/upjf1_full.vf
new file mode 100644
index 00000000000..96706a51616
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf1_full.vf
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjf1_omit.vf b/Build/source/texk/dvisvgm/tests/upjf1_omit.vf
new file mode 100644
index 00000000000..512d29ec205
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf1_omit.vf
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjf_full.vf b/Build/source/texk/dvisvgm/tests/upjf_full.vf
new file mode 100644
index 00000000000..342ea0fdc38
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf_full.vf
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjf_omit.vf b/Build/source/texk/dvisvgm/tests/upjf_omit.vf
new file mode 100644
index 00000000000..e9bbe6ea2fb
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjf_omit.vf
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjv-g.tfm b/Build/source/texk/dvisvgm/tests/upjv-g.tfm
new file mode 100644
index 00000000000..dddd9776408
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjv-g.tfm
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjv-g00.ofm b/Build/source/texk/dvisvgm/tests/upjv-g00.ofm
new file mode 100644
index 00000000000..e5a9f6c7992
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjv-g00.ofm
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjv-r.tfm b/Build/source/texk/dvisvgm/tests/upjv-r.tfm
new file mode 100644
index 00000000000..dddd9776408
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjv-r.tfm
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjv-r00.ofm b/Build/source/texk/dvisvgm/tests/upjv-r00.ofm
new file mode 100644
index 00000000000..9a4c92e81f8
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjv-r00.ofm
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjv.tfm b/Build/source/texk/dvisvgm/tests/upjv.tfm
new file mode 100644
index 00000000000..cb658bf11d5
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjv.tfm
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjv_full.vf b/Build/source/texk/dvisvgm/tests/upjv_full.vf
new file mode 100644
index 00000000000..927e8053a53
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjv_full.vf
Binary files differ
diff --git a/Build/source/texk/dvisvgm/tests/upjv_omit.vf b/Build/source/texk/dvisvgm/tests/upjv_omit.vf
new file mode 100644
index 00000000000..716b7fafb9c
--- /dev/null
+++ b/Build/source/texk/dvisvgm/tests/upjv_omit.vf
Binary files differ