From 1748d1e662c9618cc16f80d5e67669e9e9d6d4be Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 12 Jan 2024 03:01:12 +0000 Subject: CTAN sync 202401120301 --- dviware/dvisvgm/Makefile.am | 2 +- dviware/dvisvgm/Makefile.in | 2 +- dviware/dvisvgm/NEWS | 19 +++- dviware/dvisvgm/README | 2 +- dviware/dvisvgm/aminclude_static.am | 2 +- dviware/dvisvgm/configure | 22 ++-- dviware/dvisvgm/configure.ac | 6 +- dviware/dvisvgm/doc/Makefile.am | 2 +- dviware/dvisvgm/doc/conf-dblatex-man.xsl | 10 +- dviware/dvisvgm/doc/conf-dblatex-pdf.xsl | 2 +- dviware/dvisvgm/doc/dvisvgm.1 | 123 +++++++++++++-------- dviware/dvisvgm/doc/dvisvgm.txt.in | 27 ++++- dviware/dvisvgm/doc/tweak-db-refentry.xsl | 2 +- dviware/dvisvgm/doc/tweak-dblatex-pdf.xsl | 2 +- dviware/dvisvgm/libs/Makefile.am | 2 +- dviware/dvisvgm/libs/defs.am | 2 +- dviware/dvisvgm/libs/woff2/src/store_bytes.h | 16 --- dviware/dvisvgm/libs/woff2/src/woff2_common.cc | 12 +- dviware/dvisvgm/src/AGLTable.hpp | 2 +- dviware/dvisvgm/src/BasicDVIReader.cpp | 2 +- dviware/dvisvgm/src/BasicDVIReader.hpp | 2 +- dviware/dvisvgm/src/Bezier.cpp | 2 +- dviware/dvisvgm/src/Bezier.hpp | 2 +- dviware/dvisvgm/src/BgColorSpecialHandler.cpp | 2 +- dviware/dvisvgm/src/BgColorSpecialHandler.hpp | 2 +- dviware/dvisvgm/src/Bitmap.cpp | 2 +- dviware/dvisvgm/src/Bitmap.hpp | 2 +- dviware/dvisvgm/src/BoundingBox.cpp | 2 +- dviware/dvisvgm/src/BoundingBox.hpp | 2 +- dviware/dvisvgm/src/CLCommandLine.cpp | 2 +- dviware/dvisvgm/src/CLCommandLine.hpp | 2 +- dviware/dvisvgm/src/CLOption.hpp | 2 +- dviware/dvisvgm/src/CMap.cpp | 2 +- dviware/dvisvgm/src/CMap.hpp | 2 +- dviware/dvisvgm/src/CMapManager.cpp | 2 +- dviware/dvisvgm/src/CMapManager.hpp | 2 +- dviware/dvisvgm/src/CMapReader.cpp | 2 +- dviware/dvisvgm/src/CMapReader.hpp | 2 +- dviware/dvisvgm/src/Calculator.cpp | 2 +- dviware/dvisvgm/src/Calculator.hpp | 2 +- dviware/dvisvgm/src/CharMapID.cpp | 2 +- dviware/dvisvgm/src/CharMapID.hpp | 2 +- dviware/dvisvgm/src/Character.hpp | 2 +- dviware/dvisvgm/src/Color.cpp | 2 +- dviware/dvisvgm/src/Color.hpp | 2 +- dviware/dvisvgm/src/ColorSpecialHandler.cpp | 2 +- dviware/dvisvgm/src/ColorSpecialHandler.hpp | 2 +- dviware/dvisvgm/src/CommandLine.hpp | 8 +- dviware/dvisvgm/src/DLLoader.cpp | 2 +- dviware/dvisvgm/src/DLLoader.hpp | 2 +- dviware/dvisvgm/src/DVIActions.hpp | 2 +- dviware/dvisvgm/src/DVIReader.cpp | 2 +- dviware/dvisvgm/src/DVIReader.hpp | 2 +- dviware/dvisvgm/src/DVIToSVG.cpp | 15 ++- dviware/dvisvgm/src/DVIToSVG.hpp | 4 +- dviware/dvisvgm/src/DVIToSVGActions.cpp | 2 +- dviware/dvisvgm/src/DVIToSVGActions.hpp | 2 +- dviware/dvisvgm/src/Directory.cpp | 2 +- dviware/dvisvgm/src/Directory.hpp | 2 +- dviware/dvisvgm/src/DvisvgmSpecialHandler.cpp | 89 +-------------- dviware/dvisvgm/src/DvisvgmSpecialHandler.hpp | 2 +- dviware/dvisvgm/src/EPSFile.cpp | 2 +- dviware/dvisvgm/src/EPSFile.hpp | 2 +- dviware/dvisvgm/src/EPSToSVG.hpp | 2 +- dviware/dvisvgm/src/EllipticalArc.cpp | 2 +- dviware/dvisvgm/src/EllipticalArc.hpp | 2 +- dviware/dvisvgm/src/EmSpecialHandler.cpp | 2 +- dviware/dvisvgm/src/EmSpecialHandler.hpp | 2 +- dviware/dvisvgm/src/EncFile.cpp | 2 +- dviware/dvisvgm/src/EncFile.hpp | 2 +- dviware/dvisvgm/src/FileFinder.cpp | 2 +- dviware/dvisvgm/src/FileFinder.hpp | 2 +- dviware/dvisvgm/src/FilePath.cpp | 2 +- dviware/dvisvgm/src/FilePath.hpp | 2 +- dviware/dvisvgm/src/FileSystem.cpp | 2 +- dviware/dvisvgm/src/FileSystem.hpp | 2 +- dviware/dvisvgm/src/FixWord.hpp | 2 +- dviware/dvisvgm/src/Font.cpp | 2 +- dviware/dvisvgm/src/Font.hpp | 2 +- dviware/dvisvgm/src/FontCache.cpp | 2 +- dviware/dvisvgm/src/FontCache.hpp | 2 +- dviware/dvisvgm/src/FontEncoding.cpp | 2 +- dviware/dvisvgm/src/FontEncoding.hpp | 2 +- dviware/dvisvgm/src/FontEngine.cpp | 2 +- dviware/dvisvgm/src/FontEngine.hpp | 2 +- dviware/dvisvgm/src/FontManager.cpp | 2 +- dviware/dvisvgm/src/FontManager.hpp | 2 +- dviware/dvisvgm/src/FontMap.cpp | 2 +- dviware/dvisvgm/src/FontMap.hpp | 2 +- dviware/dvisvgm/src/FontMetrics.cpp | 2 +- dviware/dvisvgm/src/FontMetrics.hpp | 2 +- dviware/dvisvgm/src/FontStyle.hpp | 2 +- dviware/dvisvgm/src/FontWriter.cpp | 2 +- dviware/dvisvgm/src/FontWriter.hpp | 2 +- dviware/dvisvgm/src/GFGlyphTracer.cpp | 2 +- dviware/dvisvgm/src/GFGlyphTracer.hpp | 2 +- dviware/dvisvgm/src/GFReader.cpp | 2 +- dviware/dvisvgm/src/GFReader.hpp | 2 +- dviware/dvisvgm/src/GFTracer.cpp | 2 +- dviware/dvisvgm/src/GFTracer.hpp | 2 +- dviware/dvisvgm/src/Ghostscript.cpp | 2 +- dviware/dvisvgm/src/Ghostscript.hpp | 2 +- dviware/dvisvgm/src/Glyph.hpp | 2 +- dviware/dvisvgm/src/GlyphTracerMessages.hpp | 2 +- dviware/dvisvgm/src/GraphicsPath.hpp | 2 +- dviware/dvisvgm/src/GraphicsPathParser.hpp | 2 +- dviware/dvisvgm/src/HashFunction.cpp | 2 +- dviware/dvisvgm/src/HashFunction.hpp | 2 +- dviware/dvisvgm/src/HtmlSpecialHandler.cpp | 2 +- dviware/dvisvgm/src/HtmlSpecialHandler.hpp | 2 +- dviware/dvisvgm/src/HyperlinkManager.cpp | 2 +- dviware/dvisvgm/src/HyperlinkManager.hpp | 2 +- dviware/dvisvgm/src/ImageToSVG.cpp | 7 +- dviware/dvisvgm/src/ImageToSVG.hpp | 8 +- dviware/dvisvgm/src/InputBuffer.cpp | 2 +- dviware/dvisvgm/src/InputBuffer.hpp | 2 +- dviware/dvisvgm/src/InputReader.cpp | 2 +- dviware/dvisvgm/src/InputReader.hpp | 2 +- dviware/dvisvgm/src/JFM.cpp | 2 +- dviware/dvisvgm/src/JFM.hpp | 2 +- dviware/dvisvgm/src/Length.cpp | 2 +- dviware/dvisvgm/src/Length.hpp | 2 +- dviware/dvisvgm/src/MD5HashFunction.hpp | 2 +- dviware/dvisvgm/src/Makefile.am | 4 +- dviware/dvisvgm/src/Makefile.in | 24 ++-- dviware/dvisvgm/src/MapLine.cpp | 2 +- dviware/dvisvgm/src/MapLine.hpp | 2 +- dviware/dvisvgm/src/Matrix.cpp | 2 +- dviware/dvisvgm/src/Matrix.hpp | 2 +- dviware/dvisvgm/src/Message.cpp | 11 +- dviware/dvisvgm/src/Message.hpp | 5 +- dviware/dvisvgm/src/MessageException.hpp | 2 +- dviware/dvisvgm/src/MetafontWrapper.cpp | 2 +- dviware/dvisvgm/src/MetafontWrapper.hpp | 2 +- dviware/dvisvgm/src/MiKTeXCom.cpp | 2 +- dviware/dvisvgm/src/MiKTeXCom.hpp | 2 +- dviware/dvisvgm/src/NoPsSpecialHandler.cpp | 2 +- dviware/dvisvgm/src/NoPsSpecialHandler.hpp | 2 +- dviware/dvisvgm/src/NumericRanges.hpp | 2 +- dviware/dvisvgm/src/OFM.cpp | 2 +- dviware/dvisvgm/src/OFM.hpp | 2 +- dviware/dvisvgm/src/Opacity.cpp | 2 +- dviware/dvisvgm/src/Opacity.hpp | 2 +- dviware/dvisvgm/src/PDFHandler.cpp | 4 +- dviware/dvisvgm/src/PDFHandler.hpp | 2 +- dviware/dvisvgm/src/PDFParser.cpp | 2 +- dviware/dvisvgm/src/PDFParser.hpp | 2 +- dviware/dvisvgm/src/PDFToSVG.cpp | 2 +- dviware/dvisvgm/src/PDFToSVG.hpp | 2 +- dviware/dvisvgm/src/PSInterpreter.cpp | 2 +- dviware/dvisvgm/src/PSInterpreter.hpp | 2 +- dviware/dvisvgm/src/PSPattern.cpp | 2 +- dviware/dvisvgm/src/PSPattern.hpp | 2 +- dviware/dvisvgm/src/PSPreviewHandler.cpp | 2 +- dviware/dvisvgm/src/PSPreviewHandler.hpp | 2 +- dviware/dvisvgm/src/PageRanges.cpp | 2 +- dviware/dvisvgm/src/PageRanges.hpp | 2 +- dviware/dvisvgm/src/PageSize.cpp | 2 +- dviware/dvisvgm/src/PageSize.hpp | 2 +- dviware/dvisvgm/src/Pair.hpp | 2 +- dviware/dvisvgm/src/PapersizeSpecialHandler.cpp | 2 +- dviware/dvisvgm/src/PapersizeSpecialHandler.hpp | 2 +- dviware/dvisvgm/src/PathClipper.cpp | 2 +- dviware/dvisvgm/src/PathClipper.hpp | 2 +- dviware/dvisvgm/src/PdfSpecialHandler.cpp | 2 +- dviware/dvisvgm/src/PdfSpecialHandler.hpp | 2 +- dviware/dvisvgm/src/PreScanDVIReader.cpp | 2 +- dviware/dvisvgm/src/PreScanDVIReader.hpp | 2 +- dviware/dvisvgm/src/Process.cpp | 2 +- dviware/dvisvgm/src/Process.hpp | 2 +- dviware/dvisvgm/src/PsSpecialHandler.cpp | 2 +- dviware/dvisvgm/src/PsSpecialHandler.hpp | 2 +- dviware/dvisvgm/src/RangeMap.cpp | 2 +- dviware/dvisvgm/src/RangeMap.hpp | 2 +- dviware/dvisvgm/src/SVGCharHandler.cpp | 2 +- dviware/dvisvgm/src/SVGCharHandler.hpp | 2 +- dviware/dvisvgm/src/SVGCharHandlerFactory.cpp | 2 +- dviware/dvisvgm/src/SVGCharHandlerFactory.hpp | 2 +- dviware/dvisvgm/src/SVGCharPathHandler.cpp | 2 +- dviware/dvisvgm/src/SVGCharPathHandler.hpp | 2 +- dviware/dvisvgm/src/SVGCharTspanTextHandler.cpp | 2 +- dviware/dvisvgm/src/SVGCharTspanTextHandler.hpp | 2 +- dviware/dvisvgm/src/SVGElement.cpp | 2 +- dviware/dvisvgm/src/SVGElement.hpp | 2 +- dviware/dvisvgm/src/SVGOutput.cpp | 2 +- dviware/dvisvgm/src/SVGOutput.hpp | 2 +- dviware/dvisvgm/src/SVGSingleCharTextHandler.cpp | 2 +- dviware/dvisvgm/src/SVGSingleCharTextHandler.hpp | 2 +- dviware/dvisvgm/src/SVGTree.cpp | 2 +- dviware/dvisvgm/src/SVGTree.hpp | 2 +- dviware/dvisvgm/src/ShadingPatch.cpp | 2 +- dviware/dvisvgm/src/ShadingPatch.hpp | 2 +- dviware/dvisvgm/src/SignalHandler.cpp | 2 +- dviware/dvisvgm/src/SignalHandler.hpp | 2 +- dviware/dvisvgm/src/SourceInput.cpp | 2 +- dviware/dvisvgm/src/SourceInput.hpp | 2 +- dviware/dvisvgm/src/SpecialActions.cpp | 111 +++++++++++++++++++ dviware/dvisvgm/src/SpecialActions.hpp | 8 +- dviware/dvisvgm/src/SpecialHandler.hpp | 10 +- dviware/dvisvgm/src/SpecialManager.cpp | 2 +- dviware/dvisvgm/src/SpecialManager.hpp | 2 +- dviware/dvisvgm/src/StreamReader.cpp | 2 +- dviware/dvisvgm/src/StreamReader.hpp | 2 +- dviware/dvisvgm/src/StreamWriter.cpp | 2 +- dviware/dvisvgm/src/StreamWriter.hpp | 2 +- dviware/dvisvgm/src/Subfont.cpp | 2 +- dviware/dvisvgm/src/Subfont.hpp | 2 +- dviware/dvisvgm/src/System.cpp | 2 +- dviware/dvisvgm/src/System.hpp | 2 +- dviware/dvisvgm/src/TFM.cpp | 2 +- dviware/dvisvgm/src/TFM.hpp | 2 +- dviware/dvisvgm/src/TensorProductPatch.cpp | 2 +- dviware/dvisvgm/src/TensorProductPatch.hpp | 2 +- dviware/dvisvgm/src/Terminal.cpp | 2 +- dviware/dvisvgm/src/Terminal.hpp | 2 +- dviware/dvisvgm/src/ToUnicodeMap.cpp | 2 +- dviware/dvisvgm/src/ToUnicodeMap.hpp | 2 +- dviware/dvisvgm/src/TpicSpecialHandler.cpp | 2 +- dviware/dvisvgm/src/TpicSpecialHandler.hpp | 2 +- dviware/dvisvgm/src/TriangularPatch.cpp | 2 +- dviware/dvisvgm/src/TriangularPatch.hpp | 2 +- dviware/dvisvgm/src/Unicode.cpp | 2 +- dviware/dvisvgm/src/Unicode.hpp | 2 +- dviware/dvisvgm/src/VFActions.hpp | 2 +- dviware/dvisvgm/src/VFReader.cpp | 2 +- dviware/dvisvgm/src/VFReader.hpp | 2 +- dviware/dvisvgm/src/VectorIterator.hpp | 2 +- dviware/dvisvgm/src/VectorStream.hpp | 2 +- dviware/dvisvgm/src/XMLDocument.cpp | 2 +- dviware/dvisvgm/src/XMLDocument.hpp | 2 +- dviware/dvisvgm/src/XMLNode.cpp | 2 +- dviware/dvisvgm/src/XMLNode.hpp | 2 +- dviware/dvisvgm/src/XMLParser.cpp | 2 +- dviware/dvisvgm/src/XMLParser.hpp | 2 +- dviware/dvisvgm/src/XMLString.cpp | 2 +- dviware/dvisvgm/src/XMLString.hpp | 2 +- dviware/dvisvgm/src/XXHashFunction.hpp | 2 +- dviware/dvisvgm/src/ZLibOutputStream.hpp | 2 +- dviware/dvisvgm/src/dvisvgm.cpp | 4 +- dviware/dvisvgm/src/fonts/Base14Fonts.cpp | 2 +- dviware/dvisvgm/src/fonts/Base14Fonts.hpp | 2 +- dviware/dvisvgm/src/macros.hpp | 2 +- .../dvisvgm/src/optimizer/AttributeExtractor.cpp | 2 +- .../dvisvgm/src/optimizer/AttributeExtractor.hpp | 2 +- .../dvisvgm/src/optimizer/ClipPathReassigner.cpp | 2 +- .../dvisvgm/src/optimizer/ClipPathReassigner.hpp | 2 +- dviware/dvisvgm/src/optimizer/DependencyGraph.hpp | 2 +- dviware/dvisvgm/src/optimizer/GroupCollapser.cpp | 2 +- dviware/dvisvgm/src/optimizer/GroupCollapser.hpp | 2 +- dviware/dvisvgm/src/optimizer/OptimizerModule.hpp | 2 +- .../src/optimizer/RedundantElementRemover.cpp | 2 +- .../src/optimizer/RedundantElementRemover.hpp | 2 +- dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp | 2 +- dviware/dvisvgm/src/optimizer/SVGOptimizer.hpp | 2 +- dviware/dvisvgm/src/optimizer/TextSimplifier.cpp | 2 +- dviware/dvisvgm/src/optimizer/TextSimplifier.hpp | 2 +- .../dvisvgm/src/optimizer/TransformSimplifier.cpp | 2 +- .../dvisvgm/src/optimizer/TransformSimplifier.hpp | 2 +- dviware/dvisvgm/src/optimizer/WSNodeRemover.cpp | 2 +- dviware/dvisvgm/src/optimizer/WSNodeRemover.hpp | 2 +- dviware/dvisvgm/src/options.dtd | 2 +- dviware/dvisvgm/src/options.xml | 12 +- dviware/dvisvgm/src/psdefs.cpp | 2 +- dviware/dvisvgm/src/ttf/CmapTable.cpp | 2 +- dviware/dvisvgm/src/ttf/CmapTable.hpp | 2 +- dviware/dvisvgm/src/ttf/GlyfTable.cpp | 2 +- dviware/dvisvgm/src/ttf/GlyfTable.hpp | 2 +- dviware/dvisvgm/src/ttf/HeadTable.cpp | 2 +- dviware/dvisvgm/src/ttf/HeadTable.hpp | 2 +- dviware/dvisvgm/src/ttf/HheaTable.cpp | 2 +- dviware/dvisvgm/src/ttf/HheaTable.hpp | 2 +- dviware/dvisvgm/src/ttf/HmtxTable.cpp | 2 +- dviware/dvisvgm/src/ttf/HmtxTable.hpp | 2 +- dviware/dvisvgm/src/ttf/LocaTable.hpp | 2 +- dviware/dvisvgm/src/ttf/MaxpTable.cpp | 2 +- dviware/dvisvgm/src/ttf/MaxpTable.hpp | 2 +- dviware/dvisvgm/src/ttf/NameTable.cpp | 2 +- dviware/dvisvgm/src/ttf/NameTable.hpp | 2 +- dviware/dvisvgm/src/ttf/OS2Table.cpp | 2 +- dviware/dvisvgm/src/ttf/OS2Table.hpp | 2 +- dviware/dvisvgm/src/ttf/PostTable.cpp | 2 +- dviware/dvisvgm/src/ttf/PostTable.hpp | 2 +- dviware/dvisvgm/src/ttf/TTFAutohint.cpp | 2 +- dviware/dvisvgm/src/ttf/TTFAutohint.hpp | 2 +- dviware/dvisvgm/src/ttf/TTFTable.cpp | 2 +- dviware/dvisvgm/src/ttf/TTFTable.hpp | 2 +- dviware/dvisvgm/src/ttf/TTFWriter.cpp | 2 +- dviware/dvisvgm/src/ttf/TTFWriter.hpp | 2 +- dviware/dvisvgm/src/ttf/VheaTable.cpp | 2 +- dviware/dvisvgm/src/ttf/VheaTable.hpp | 2 +- dviware/dvisvgm/src/ttf/VmtxTable.cpp | 2 +- dviware/dvisvgm/src/ttf/VmtxTable.hpp | 2 +- dviware/dvisvgm/src/utility.cpp | 2 +- dviware/dvisvgm/src/utility.hpp | 2 +- dviware/dvisvgm/src/version.hpp.in | 2 +- dviware/dvisvgm/src/windows.hpp | 2 +- dviware/dvisvgm/tests/BezierTest.cpp | 2 +- dviware/dvisvgm/tests/BitmapTest.cpp | 2 +- dviware/dvisvgm/tests/BoundingBoxTest.cpp | 2 +- dviware/dvisvgm/tests/CMapManagerTest.cpp | 2 +- dviware/dvisvgm/tests/CMapReaderTest.cpp | 2 +- dviware/dvisvgm/tests/CMapTest.cpp | 2 +- dviware/dvisvgm/tests/CalculatorTest.cpp | 2 +- dviware/dvisvgm/tests/ColorSpecialTest.cpp | 2 +- dviware/dvisvgm/tests/ColorTest.cpp | 2 +- dviware/dvisvgm/tests/CommandLineTest.cpp | 4 +- dviware/dvisvgm/tests/DVIReaderTest.cpp | 2 +- dviware/dvisvgm/tests/DependencyGraphTest.cpp | 2 +- dviware/dvisvgm/tests/DirectoryTest.cpp | 2 +- dviware/dvisvgm/tests/DvisvgmSpecialTest.cpp | 30 +++-- dviware/dvisvgm/tests/EllipticalArcTest.cpp | 2 +- dviware/dvisvgm/tests/EmSpecialTest.cpp | 2 +- dviware/dvisvgm/tests/FileFinderTest.cpp | 2 +- dviware/dvisvgm/tests/FilePathTest.cpp | 2 +- dviware/dvisvgm/tests/FileSystemTest.cpp | 2 +- dviware/dvisvgm/tests/FontCacheTest.cpp | 2 +- dviware/dvisvgm/tests/FontManagerTest.cpp | 2 +- dviware/dvisvgm/tests/FontMapTest.cpp | 2 +- dviware/dvisvgm/tests/GFGlyphTracerTest.cpp | 2 +- dviware/dvisvgm/tests/GFReaderTest.cpp | 2 +- dviware/dvisvgm/tests/GhostscriptTest.cpp | 2 +- dviware/dvisvgm/tests/GraphicsPathParserTest.cpp | 2 +- dviware/dvisvgm/tests/GraphicsPathTest.cpp | 2 +- dviware/dvisvgm/tests/HashFunctionTest.cpp | 2 +- dviware/dvisvgm/tests/JFMReaderTest.cpp | 2 +- dviware/dvisvgm/tests/LengthTest.cpp | 2 +- dviware/dvisvgm/tests/Makefile.am | 2 +- dviware/dvisvgm/tests/MapLineTest.cpp | 2 +- dviware/dvisvgm/tests/MatrixTest.cpp | 2 +- dviware/dvisvgm/tests/MessageExceptionTest.cpp | 2 +- dviware/dvisvgm/tests/OFMReaderTest.cpp | 2 +- dviware/dvisvgm/tests/PDFParserTest.cpp | 2 +- dviware/dvisvgm/tests/PSInterpreterTest.cpp | 2 +- dviware/dvisvgm/tests/PageRagesTest.cpp | 2 +- dviware/dvisvgm/tests/PageSizeTest.cpp | 2 +- dviware/dvisvgm/tests/PairTest.cpp | 2 +- dviware/dvisvgm/tests/PapersizeSpecialTest.cpp | 2 +- dviware/dvisvgm/tests/RangeMapTest.cpp | 2 +- dviware/dvisvgm/tests/SVGOutputTest.cpp | 2 +- dviware/dvisvgm/tests/ShadingPatchTest.cpp | 2 +- dviware/dvisvgm/tests/SpecialManagerTest.cpp | 2 +- .../dvisvgm/tests/SplittedCharInputBufferTest.cpp | 2 +- dviware/dvisvgm/tests/StreamInputBufferTest.cpp | 2 +- dviware/dvisvgm/tests/StreamReaderTest.cpp | 2 +- dviware/dvisvgm/tests/StreamWriterTest.cpp | 2 +- dviware/dvisvgm/tests/StringMatcherTest.cpp | 2 +- dviware/dvisvgm/tests/SubfontTest.cpp | 2 +- dviware/dvisvgm/tests/TFMReaderTest.cpp | 2 +- dviware/dvisvgm/tests/TensorProductPatchTest.cpp | 2 +- dviware/dvisvgm/tests/ToUnicodeMapTest.cpp | 2 +- dviware/dvisvgm/tests/TpicSpecialTest.cpp | 2 +- dviware/dvisvgm/tests/TriangularPatchTest.cpp | 2 +- dviware/dvisvgm/tests/UnicodeTest.cpp | 2 +- dviware/dvisvgm/tests/UtilityTest.cpp | 2 +- dviware/dvisvgm/tests/VectorIteratorTest.cpp | 2 +- dviware/dvisvgm/tests/VectorStreamTest.cpp | 2 +- dviware/dvisvgm/tests/XMLNodeTest.cpp | 2 +- dviware/dvisvgm/tests/XMLStringTest.cpp | 2 +- dviware/dvisvgm/tests/check-conv | 2 +- dviware/dvisvgm/tests/data/Makefile.am | 2 +- dviware/dvisvgm/tests/genhashcheck.py | 2 +- dviware/dvisvgm/tests/normalize.xsl | 2 +- dviware/dvisvgm/tests/testmain.cpp | 2 +- 363 files changed, 693 insertions(+), 574 deletions(-) create mode 100644 dviware/dvisvgm/src/SpecialActions.cpp (limited to 'dviware') diff --git a/dviware/dvisvgm/Makefile.am b/dviware/dvisvgm/Makefile.am index 2612c11993..a640c0966a 100644 --- a/dviware/dvisvgm/Makefile.am +++ b/dviware/dvisvgm/Makefile.am @@ -1,5 +1,5 @@ ## This file is part of dvisvgm -## Copyright (C) 2005-2023 Martin Gieseking +## Copyright (C) 2005-2024 Martin Gieseking ## ## Process this file with automake. diff --git a/dviware/dvisvgm/Makefile.in b/dviware/dvisvgm/Makefile.in index 215bcf3963..5cfb4005c2 100644 --- a/dviware/dvisvgm/Makefile.in +++ b/dviware/dvisvgm/Makefile.in @@ -15,7 +15,7 @@ @SET_MAKE@ # aminclude_static.am generated automatically by Autoconf -# from AX_AM_MACROS_STATIC on Thu Oct 12 14:50:13 CEST 2023 +# from AX_AM_MACROS_STATIC on Thu Jan 11 09:52:29 CET 2024 VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ diff --git a/dviware/dvisvgm/NEWS b/dviware/dvisvgm/NEWS index 0e996e2a74..2f2a5bee5a 100644 --- a/dviware/dvisvgm/NEWS +++ b/dviware/dvisvgm/NEWS @@ -1,3 +1,16 @@ +dvisvgm-3.2 (2024-01-11) +- PDF handler: fixed a rounding issue that could lead to slightly bigger + text extents (GH issue #256) +- added macros {?pageno}, {?svgfile}, and {?svgpath} to the dvisvgm special + commands +- added separate verbosity flag 8 for user messages printed by special + dvisvgm:message +- added command-line option --message to allow for printing user messages + after writing an SVG file (GH issue #258) +- applied upstream patch regarding undefined type punning to the bundled + woff2 library +- few improvements of the manual page + dvisvgm-3.1.2 (2023-10-12) - improved evaluation of graphic extents created by the 'preview' package (GH issue #246) @@ -64,9 +77,9 @@ dvisvgm-3.0.1 (2023-01-10) - improved processing of fonts when using the new PDF handler dvisvgm-3.0 (2022-10-16) -- added new PDF handler based on mutool to keep the PDF functionality available - which can't no longer be realized with as of Ghostscript 10.1.0 due to the - replacement of its PDF interpreter +- added a new PDF handler based on mutool to keep the PDF functionality + available which can no longer be realized with Ghostscript 10.1.0 due to + the replacement of its PostScript-based PDF interpreter - replaced the bundled minimal Fontforge library (ff-woff) with a dedicated, newly implemented library for embedding TTF/WOFF data into the SVG files - added option --embed-bitmaps to embed bitmaps into the generated SVG files diff --git a/dviware/dvisvgm/README b/dviware/dvisvgm/README index a69ecda5d0..2903e4e241 100644 --- a/dviware/dvisvgm/README +++ b/dviware/dvisvgm/README @@ -116,7 +116,7 @@ ADDITIONAL INFORMATION COPYRIGHT - Copyright (C) 2005-2023 Martin Gieseking + Copyright (C) 2005-2024 Martin Gieseking This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the diff --git a/dviware/dvisvgm/aminclude_static.am b/dviware/dvisvgm/aminclude_static.am index b13d91489c..8bf9b4ccc8 100644 --- a/dviware/dvisvgm/aminclude_static.am +++ b/dviware/dvisvgm/aminclude_static.am @@ -1,6 +1,6 @@ # aminclude_static.am generated automatically by Autoconf -# from AX_AM_MACROS_STATIC on Thu Oct 12 14:50:13 CEST 2023 +# from AX_AM_MACROS_STATIC on Thu Jan 11 09:52:29 CET 2024 # Code coverage diff --git a/dviware/dvisvgm/configure b/dviware/dvisvgm/configure index c878cdc515..41a1745d8f 100755 --- a/dviware/dvisvgm/configure +++ b/dviware/dvisvgm/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for dvisvgm 3.1.2. +# Generated by GNU Autoconf 2.71 for dvisvgm 3.2. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='dvisvgm' PACKAGE_TARNAME='dvisvgm' -PACKAGE_VERSION='3.1.2' -PACKAGE_STRING='dvisvgm 3.1.2' +PACKAGE_VERSION='3.2' +PACKAGE_STRING='dvisvgm 3.2' PACKAGE_BUGREPORT='martin.gieseking@uos.de' PACKAGE_URL='' @@ -1437,7 +1437,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures dvisvgm 3.1.2 to adapt to many kinds of systems. +\`configure' configures dvisvgm 3.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1508,7 +1508,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of dvisvgm 3.1.2:";; + short | recursive ) echo "Configuration of dvisvgm 3.2:";; esac cat <<\_ACEOF @@ -1653,7 +1653,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -dvisvgm configure 3.1.2 +dvisvgm configure 3.2 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2133,7 +2133,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by dvisvgm $as_me 3.1.2, which was +It was created by dvisvgm $as_me 3.2, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3110,7 +3110,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -DATE="October 2023" +DATE="January 2024" ac_config_headers="$ac_config_headers config.h" @@ -3704,7 +3704,7 @@ fi # Define the identity of the package. PACKAGE='dvisvgm' - VERSION='3.1.2' + VERSION='3.2' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -21279,7 +21279,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by dvisvgm $as_me 3.1.2, which was +This file was extended by dvisvgm $as_me 3.2, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21347,7 +21347,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -dvisvgm config.status 3.1.2 +dvisvgm config.status 3.2 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/dviware/dvisvgm/configure.ac b/dviware/dvisvgm/configure.ac index 9338a0c87b..6cca2c4efd 100644 --- a/dviware/dvisvgm/configure.ac +++ b/dviware/dvisvgm/configure.ac @@ -1,11 +1,11 @@ # This file is part of dvisvgm -# Copyright (C) 2005-2023 Martin Gieseking +# Copyright (C) 2005-2024 Martin Gieseking # # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -AC_INIT([dvisvgm],[3.1.2],[martin.gieseking@uos.de]) -DATE="October 2023" +AC_INIT([dvisvgm],[3.2],[martin.gieseking@uos.de]) +DATE="January 2024" AC_CONFIG_SRCDIR(src) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/dviware/dvisvgm/doc/Makefile.am b/dviware/dvisvgm/doc/Makefile.am index 8ec0d0a0a0..575998c202 100644 --- a/dviware/dvisvgm/doc/Makefile.am +++ b/dviware/dvisvgm/doc/Makefile.am @@ -1,5 +1,5 @@ ## This file is part of dvisvgm -## Copyright (C) 2005-2023 Martin Gieseking +## Copyright (C) 2005-2024 Martin Gieseking ## ## Process this file with automake. diff --git a/dviware/dvisvgm/doc/conf-dblatex-man.xsl b/dviware/dvisvgm/doc/conf-dblatex-man.xsl index a1e336376c..175f7fb962 100644 --- a/dviware/dvisvgm/doc/conf-dblatex-man.xsl +++ b/dviware/dvisvgm/doc/conf-dblatex-man.xsl @@ -1,6 +1,6 @@ - + @@ -16,4 +16,12 @@ \m[]) + + + + + + x + + diff --git a/dviware/dvisvgm/doc/conf-dblatex-pdf.xsl b/dviware/dvisvgm/doc/conf-dblatex-pdf.xsl index 98a630d849..0ae2632b4a 100644 --- a/dviware/dvisvgm/doc/conf-dblatex-pdf.xsl +++ b/dviware/dvisvgm/doc/conf-dblatex-pdf.xsl @@ -1,6 +1,6 @@ - + \setmainfont{Source Serif 4} diff --git a/dviware/dvisvgm/doc/dvisvgm.1 b/dviware/dvisvgm/doc/dvisvgm.1 index 430a1de890..dbcd907ab5 100644 --- a/dviware/dvisvgm/doc/dvisvgm.1 +++ b/dviware/dvisvgm/doc/dvisvgm.1 @@ -2,12 +2,12 @@ .\" Title: dvisvgm .\" Author: Martin Gieseking .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2023-09-12 +.\" Date: 2024-01-06 .\" Manual: dvisvgm Manual -.\" Source: dvisvgm 3.1.2 +.\" Source: dvisvgm 3.2 .\" Language: English .\" -.TH "DVISVGM" "1" "2023\-09\-12" "dvisvgm 3\&.1\&.2" "dvisvgm Manual" +.TH "DVISVGM" "1" "2024\-01\-06" "dvisvgm 3\&.2" "dvisvgm Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -87,11 +87,11 @@ invoice, executive, legal, letter, ledger .RS 4 .TS tab(:); -lt lt -lt lt -lt lt -lt lt -lt lt. +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx. T{ \fBdvi\fR T}:T{ @@ -176,16 +176,16 @@ and should be sufficient in most cases\&. The following list gives an overview of the known format names which correspond to names of Ghostscript output devices\&. .TS tab(:); -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt. +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx. T{ \fBnone\fR T}:T{ @@ -341,6 +341,8 @@ for further information\&. This option tells dvisvgm to compute the precise bounding box of each character\&. By default, the values stored in a font\(cqs TFM file are used to determine a glyph\(cqs extent\&. As these values are intended to implement optimal character placements and are not designed to represent the exact dimensions, they don\(cqt necessarily correspond with the bounds of the visual glyphs\&. Thus, width and/or height of some glyphs may be larger (or smaller) than the respective TFM values\&. As a result, this can lead to clipped characters at the bounds of the SVG graphics\&. With option \fB\-\-exact\-bbox\fR given, dvisvgm analyzes the actual shape of each character and derives a usually tight bounding box\&. +.sp +This option only affects the processing of DVI files\&. When converting EPS or PDF files, the bounding box information stored in these files are used to derive the SVG bounding box\&. .RE .PP \fB\-f, \-\-font\-format\fR=\fIformat\fR @@ -550,6 +552,21 @@ or Sets the magnification factor applied in conjunction with Metafont calls prior tracing the glyphs\&. The larger this value, the better the tracing results\&. Nevertheless, large magnification values can cause Metafont arithmetic errors due to number overflows\&. So, use this option with care\&. The default setting usually produces nice results\&. .RE .PP +\fB\-\-message\fR=\fItext\fR +.RS 4 +Prints a given message to the console after an SVG file has been written\&. Argument +\fItext\fR +may consist of static text and the macros listed below in the description of special command +\fBdvisvgm:raw\fR\&. For example, +\fB\-\-message="page {?pageno} written to {?svgfile}"\fR +prints the message with the macros expanded after the conversion of each page of a DVI or PDF file or after processing an EPS file\&. +.sp +The output of option +\fB\-\-message\fR +is not affected by the specified verbosity level, i\&.e\&. it prints the text even with +\fB\-\-verbosity=0\fR\&. +.RE +.PP \fB\-\-no\-merge\fR .RS 4 Puts every single character in a separate @@ -1121,10 +1138,10 @@ are applied in the order of their appearance\&. Multiple commands can optionally Additionally, some pre\-defined constants are provided: .TS tab(:); -lt lt -lt lt -lt lt -lt lt. +lt ltx +lt ltx +lt ltx +lt ltx. T{ \fBux\fR T}:T{ @@ -1189,10 +1206,11 @@ Translates (moves) the page content in direction of vector (\fItx\fR,\fIty\fR)\& Controls the type of messages printed during a dvisvgm run: .TS tab(:); -lt lt -lt lt -lt lt -lt lt. +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx. T{ \fB0\fR T}:T{ @@ -1213,6 +1231,12 @@ T{ T}:T{ informational messages only T} +T{ +\fB8\fR +T}:T{ +user messages only (e\&.g\&. created by special +\fBdvisvgm:message\fR) +T} .TE .sp 1 .if n \{\ @@ -1227,7 +1251,7 @@ T} \fBNote\fR .ps -1 .br -By adding these values you can combine the categories\&. The default level is 7, i\&.e\&. all messages are printed\&. +By adding these values you can combine the categories\&. The default level is 15, i\&.e\&. all messages are printed\&. .sp .5v .RE .RE @@ -1291,13 +1315,16 @@ special\&. Both syntactically incorrect and wrongly nested tags lead to error me may also contain the expressions \fB{?x}\fR, \fB{?y}\fR, -\fB{?color}\fR, and -\fB{?matrix}\fR +\fB{?color}\fR, +\fB{?matrix}\fR, +\fB{?pageno}\fR, +\fB{?svgfile}\fR, and +\fB{?svgpath}\fR that expand to the current \fIx\fR or \fIy\fR -coordinate, the current color, and current transformation matrix, respectively\&. Character sequence +coordinate, the current color, the current transformation matrix, the current page number, and the relative and absolute path of the SVG file being created, respectively\&. Character sequence \fB{?nl}\fR expands to a newline character\&. Finally, constructions of the form \fB{?(\fR\fB\fIexpr\fR\fR\fB)}\fR @@ -1648,14 +1675,14 @@ The environment variable \fBDVISVGM_COLORS\fR specifies the colors used to highl All malformed entries in the list are silently ignored\&. .TS tab(:); -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt. +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx. T{ .sp \fBer\fR @@ -1723,15 +1750,15 @@ Variable \fBDVISVGM_PDF_PROC\fR allows you to select the desired PDF processor\& The location of the following files is determined by the kpathsea library\&. To check the actual kpathsea configuration you can use the \fBkpsewhich\fR utility\&. .TS tab(:); -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt -lt lt. +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx +lt ltx. T{ .sp \fB*\&.enc\fR @@ -1819,4 +1846,4 @@ Please report bugs using the bug tracker at GitHub (\m[blue]https://github.com/m Written by Martin Gieseking <\m[blue]\fBmartin\&.gieseking@uos\&.de\fR\m[]> .SH "COPYING" .sp -Copyright \(co 2005\-2023 Martin Gieseking\&. Free use of this software is granted under the terms of the GNU General Public License (GPL) version 3 or, (at your option) any later version\&. +Copyright \(co 2005\-2024 Martin Gieseking\&. Free use of this software is granted under the terms of the GNU General Public License (GPL) version 3 or, (at your option) any later version\&. diff --git a/dviware/dvisvgm/doc/dvisvgm.txt.in b/dviware/dvisvgm/doc/dvisvgm.txt.in index 8060b53aa9..db5b48a35b 100644 --- a/dviware/dvisvgm/doc/dvisvgm.txt.in +++ b/dviware/dvisvgm/doc/dvisvgm.txt.in @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////// // This file is part of dvisvgm -- a fast DVI to SVG converter // -// Copyright (C) 2005-2023 Martin Gieseking // +// Copyright (C) 2005-2024 Martin Gieseking // // // // This program is free software; you can redistribute it and/or // // modify it under the terms of the GNU General Public License as // @@ -22,7 +22,7 @@ Martin Gieseking <@PACKAGE_BUGREPORT@> :man source: dvisvgm :man version: @VERSION@ :man manual: dvisvgm Manual -:revdate: 2023-09-12 16:36 +0200 +:revdate: 2024-01-06 14:30 +0100 Name ---- @@ -239,6 +239,9 @@ dimensions, they don't necessarily correspond with the bounds of the visual glyp and/or height of some glyphs may be larger (or smaller) than the respective TFM values. As a result, this can lead to clipped characters at the bounds of the SVG graphics. With option *--exact-bbox* given, dvisvgm analyzes the actual shape of each character and derives a usually tight bounding box. ++ +This option only affects the processing of DVI files. When converting EPS or PDF files, the bounding +box information stored in these files are used to derive the SVG bounding box. *-f, --font-format*='format':: Selects the file format used to embed font data into the generated SVG output when converting DVI @@ -390,6 +393,15 @@ The larger this value, the better the tracing results. Nevertheless, large magni can cause Metafont arithmetic errors due to number overflows. So, use this option with care. The default setting usually produces nice results. +*--message*='text':: +Prints a given message to the console after an SVG file has been written. Argument 'text' may consist +of static text and the macros listed below in the description of special command +dvisvgm:raw+. +For example, +--message="page {?pageno} written to {?svgfile}"+ prints the message with the macros +expanded after the conversion of each page of a DVI or PDF file or after processing an EPS file. ++ +The output of option *--message* is not affected by the specified verbosity level, i.e. it prints +the text even with +--verbosity=0+. + *--no-merge*:: Puts every single character in a separate 'text' element with corresponding 'x' and 'y' attributes. By default, new 'text' or 'tspan' elements are only created if a string starts at a location that @@ -746,10 +758,11 @@ Controls the type of messages printed during a dvisvgm run: *1*;; error messages only *2*;; warning messages only *4*;; informational messages only + *8*;; user messages only (e.g. created by special +dvisvgm:message+) + [NOTE] -By adding these values you can combine the categories. The default level is 7, i.e. all +By adding these values you can combine the categories. The default level is 15, i.e. all messages are printed. + @@ -807,8 +820,10 @@ dvisvgm offers its own small set of specials. The following list gives a brief o that the resulting SVG is still valid. Opening and closing tags may be distributed among different 'raw' specials. The tags themselves can also be split but must be continued with the immediately following 'raw' special. Both syntactically incorrect and wrongly nested tags lead to error messages. - Parameter 'text' may also contain the expressions *{?x}*, *{?y}*, *{?color}*, and *{?matrix}* that expand to - the current 'x' or 'y' coordinate, the current color, and current transformation matrix, respectively. + Parameter 'text' may also contain the expressions *{?x}*, *{?y}*, *{?color}*, *{?matrix}*, *{?pageno}*, + *{?svgfile}*, and *{?svgpath}* that expand to the current 'x' or 'y' coordinate, the current color, the + current transformation matrix, the current page number, and the relative and absolute path of the SVG file + being created, respectively. Character sequence *{?nl}* expands to a newline character. Finally, constructions of the form *{?(__expr__)}* enable the evaluation of mathematical expressions which may consist of basic arithmetic operations including modulo. Like above, the variables 'x' and 'y' represent the current coordinates. @@ -1089,7 +1104,7 @@ Written by {author} <{email}> Copying ------- -Copyright (C) 2005-2023 Martin Gieseking. Free use of this software is +Copyright (C) 2005-2024 Martin Gieseking. Free use of this software is granted under the terms of the GNU General Public License (GPL) version 3 or, (at your option) any later version. diff --git a/dviware/dvisvgm/doc/tweak-db-refentry.xsl b/dviware/dvisvgm/doc/tweak-db-refentry.xsl index 24e4343f14..942d35dd72 100644 --- a/dviware/dvisvgm/doc/tweak-db-refentry.xsl +++ b/dviware/dvisvgm/doc/tweak-db-refentry.xsl @@ -1,6 +1,6 @@ - + - + diff --git a/dviware/dvisvgm/libs/Makefile.am b/dviware/dvisvgm/libs/Makefile.am index 9d9f90da3f..333d121e23 100644 --- a/dviware/dvisvgm/libs/Makefile.am +++ b/dviware/dvisvgm/libs/Makefile.am @@ -1,5 +1,5 @@ ## This file is part of dvisvgm -## Copyright (C) 2005-2023 Martin Gieseking +## Copyright (C) 2005-2024 Martin Gieseking ## ## Process this file with automake. diff --git a/dviware/dvisvgm/libs/defs.am b/dviware/dvisvgm/libs/defs.am index 3758a89da1..2a63f1609b 100644 --- a/dviware/dvisvgm/libs/defs.am +++ b/dviware/dvisvgm/libs/defs.am @@ -1,5 +1,5 @@ ## This file is part of dvisvgm -## Copyright (C) 2005-2023 Martin Gieseking +## Copyright (C) 2005-2024 Martin Gieseking if !HAVE_BROTLI BROTLI_CFLAGS += -I$(dvisvgm_srcdir)/libs/brotli/include diff --git a/dviware/dvisvgm/libs/woff2/src/store_bytes.h b/dviware/dvisvgm/libs/woff2/src/store_bytes.h index fff3c62f84..099c0f217a 100644 --- a/dviware/dvisvgm/libs/woff2/src/store_bytes.h +++ b/dviware/dvisvgm/libs/woff2/src/store_bytes.h @@ -27,15 +27,8 @@ inline size_t StoreU32(uint8_t* dst, size_t offset, uint32_t x) { } inline size_t Store16(uint8_t* dst, size_t offset, int x) { -#if defined(WOFF_LITTLE_ENDIAN) - *reinterpret_cast(dst + offset) = - ((x & 0xFF) << 8) | ((x & 0xFF00) >> 8); -#elif defined(WOFF_BIG_ENDIAN) - *reinterpret_cast(dst + offset) = static_cast(x); -#else dst[offset] = x >> 8; dst[offset + 1] = x; -#endif return offset + 2; } @@ -47,17 +40,8 @@ inline void StoreU32(uint32_t val, size_t* offset, uint8_t* dst) { } inline void Store16(int val, size_t* offset, uint8_t* dst) { -#if defined(WOFF_LITTLE_ENDIAN) - *reinterpret_cast(dst + *offset) = - ((val & 0xFF) << 8) | ((val & 0xFF00) >> 8); - *offset += 2; -#elif defined(WOFF_BIG_ENDIAN) - *reinterpret_cast(dst + *offset) = static_cast(val); - *offset += 2; -#else dst[(*offset)++] = val >> 8; dst[(*offset)++] = val; -#endif } inline void StoreBytes(const uint8_t* data, size_t len, diff --git a/dviware/dvisvgm/libs/woff2/src/woff2_common.cc b/dviware/dvisvgm/libs/woff2/src/woff2_common.cc index fe0a3beda7..a24d2131b7 100644 --- a/dviware/dvisvgm/libs/woff2/src/woff2_common.cc +++ b/dviware/dvisvgm/libs/woff2/src/woff2_common.cc @@ -19,16 +19,8 @@ uint32_t ComputeULongSum(const uint8_t* buf, size_t size) { uint32_t checksum = 0; size_t aligned_size = size & ~3; for (size_t i = 0; i < aligned_size; i += 4) { -#if defined(WOFF_LITTLE_ENDIAN) - uint32_t v = *reinterpret_cast(buf + i); - checksum += (((v & 0xFF) << 24) | ((v & 0xFF00) << 8) | - ((v & 0xFF0000) >> 8) | ((v & 0xFF000000) >> 24)); -#elif defined(WOFF_BIG_ENDIAN) - checksum += *reinterpret_cast(buf + i); -#else - checksum += (buf[i] << 24) | (buf[i + 1] << 16) | - (buf[i + 2] << 8) | buf[i + 3]; -#endif + checksum += + (buf[i] << 24) | (buf[i + 1] << 16) | (buf[i + 2] << 8) | buf[i + 3]; } // treat size not aligned on 4 as if it were padded to 4 with 0's diff --git a/dviware/dvisvgm/src/AGLTable.hpp b/dviware/dvisvgm/src/AGLTable.hpp index 17ba233505..c6a5abb2b7 100644 --- a/dviware/dvisvgm/src/AGLTable.hpp +++ b/dviware/dvisvgm/src/AGLTable.hpp @@ -2,7 +2,7 @@ ** AGLTable.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/BasicDVIReader.cpp b/dviware/dvisvgm/src/BasicDVIReader.cpp index 0b322765c7..f87cbcbf3f 100644 --- a/dviware/dvisvgm/src/BasicDVIReader.cpp +++ b/dviware/dvisvgm/src/BasicDVIReader.cpp @@ -2,7 +2,7 @@ ** BasicDVIReader.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/BasicDVIReader.hpp b/dviware/dvisvgm/src/BasicDVIReader.hpp index 1c2c414725..c3135cb5d5 100644 --- a/dviware/dvisvgm/src/BasicDVIReader.hpp +++ b/dviware/dvisvgm/src/BasicDVIReader.hpp @@ -2,7 +2,7 @@ ** BasicDVIReader.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Bezier.cpp b/dviware/dvisvgm/src/Bezier.cpp index 568fe19578..c534224139 100644 --- a/dviware/dvisvgm/src/Bezier.cpp +++ b/dviware/dvisvgm/src/Bezier.cpp @@ -2,7 +2,7 @@ ** Bezier.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Bezier.hpp b/dviware/dvisvgm/src/Bezier.hpp index f79180ccb1..7f384a006a 100644 --- a/dviware/dvisvgm/src/Bezier.hpp +++ b/dviware/dvisvgm/src/Bezier.hpp @@ -2,7 +2,7 @@ ** Bezier.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/BgColorSpecialHandler.cpp b/dviware/dvisvgm/src/BgColorSpecialHandler.cpp index 84cb55eb10..84f2e4e1fd 100644 --- a/dviware/dvisvgm/src/BgColorSpecialHandler.cpp +++ b/dviware/dvisvgm/src/BgColorSpecialHandler.cpp @@ -2,7 +2,7 @@ ** BgColorSpecialHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/BgColorSpecialHandler.hpp b/dviware/dvisvgm/src/BgColorSpecialHandler.hpp index cb6146477e..00fce30380 100644 --- a/dviware/dvisvgm/src/BgColorSpecialHandler.hpp +++ b/dviware/dvisvgm/src/BgColorSpecialHandler.hpp @@ -2,7 +2,7 @@ ** BgColorSpecialHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Bitmap.cpp b/dviware/dvisvgm/src/Bitmap.cpp index 517355ba43..d8b9f74da3 100644 --- a/dviware/dvisvgm/src/Bitmap.cpp +++ b/dviware/dvisvgm/src/Bitmap.cpp @@ -2,7 +2,7 @@ ** Bitmap.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Bitmap.hpp b/dviware/dvisvgm/src/Bitmap.hpp index c12c98c8eb..3d621586b2 100644 --- a/dviware/dvisvgm/src/Bitmap.hpp +++ b/dviware/dvisvgm/src/Bitmap.hpp @@ -2,7 +2,7 @@ ** Bitmap.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/BoundingBox.cpp b/dviware/dvisvgm/src/BoundingBox.cpp index a57da059dc..a2a0198e7a 100644 --- a/dviware/dvisvgm/src/BoundingBox.cpp +++ b/dviware/dvisvgm/src/BoundingBox.cpp @@ -2,7 +2,7 @@ ** BoundingBox.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/BoundingBox.hpp b/dviware/dvisvgm/src/BoundingBox.hpp index 673243eb9b..026bd11b57 100644 --- a/dviware/dvisvgm/src/BoundingBox.hpp +++ b/dviware/dvisvgm/src/BoundingBox.hpp @@ -2,7 +2,7 @@ ** BoundingBox.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CLCommandLine.cpp b/dviware/dvisvgm/src/CLCommandLine.cpp index 8eb3d54984..d13cdfc3f2 100644 --- a/dviware/dvisvgm/src/CLCommandLine.cpp +++ b/dviware/dvisvgm/src/CLCommandLine.cpp @@ -2,7 +2,7 @@ ** CLCommandLine.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CLCommandLine.hpp b/dviware/dvisvgm/src/CLCommandLine.hpp index 72d0bc17a7..ba3089f2c6 100644 --- a/dviware/dvisvgm/src/CLCommandLine.hpp +++ b/dviware/dvisvgm/src/CLCommandLine.hpp @@ -2,7 +2,7 @@ ** CLCommandLine.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CLOption.hpp b/dviware/dvisvgm/src/CLOption.hpp index a6dbe55131..1bdd1780e6 100644 --- a/dviware/dvisvgm/src/CLOption.hpp +++ b/dviware/dvisvgm/src/CLOption.hpp @@ -2,7 +2,7 @@ ** CLOption.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CMap.cpp b/dviware/dvisvgm/src/CMap.cpp index 46ca0ba574..a690085c6f 100644 --- a/dviware/dvisvgm/src/CMap.cpp +++ b/dviware/dvisvgm/src/CMap.cpp @@ -2,7 +2,7 @@ ** CMap.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CMap.hpp b/dviware/dvisvgm/src/CMap.hpp index 0b8ef89a11..1af1901bfe 100644 --- a/dviware/dvisvgm/src/CMap.hpp +++ b/dviware/dvisvgm/src/CMap.hpp @@ -2,7 +2,7 @@ ** CMap.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CMapManager.cpp b/dviware/dvisvgm/src/CMapManager.cpp index 17da0a063a..e7d5e87e72 100644 --- a/dviware/dvisvgm/src/CMapManager.cpp +++ b/dviware/dvisvgm/src/CMapManager.cpp @@ -2,7 +2,7 @@ ** CMapManager.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CMapManager.hpp b/dviware/dvisvgm/src/CMapManager.hpp index 56ad32d44d..1e674ba375 100644 --- a/dviware/dvisvgm/src/CMapManager.hpp +++ b/dviware/dvisvgm/src/CMapManager.hpp @@ -2,7 +2,7 @@ ** CMapManager.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CMapReader.cpp b/dviware/dvisvgm/src/CMapReader.cpp index 4b8f3297ac..59729edbb1 100644 --- a/dviware/dvisvgm/src/CMapReader.cpp +++ b/dviware/dvisvgm/src/CMapReader.cpp @@ -2,7 +2,7 @@ ** CMapReader.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CMapReader.hpp b/dviware/dvisvgm/src/CMapReader.hpp index 9ef573f5dd..716b2faec7 100644 --- a/dviware/dvisvgm/src/CMapReader.hpp +++ b/dviware/dvisvgm/src/CMapReader.hpp @@ -2,7 +2,7 @@ ** CMapReader.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Calculator.cpp b/dviware/dvisvgm/src/Calculator.cpp index db7241245d..00226761fc 100644 --- a/dviware/dvisvgm/src/Calculator.cpp +++ b/dviware/dvisvgm/src/Calculator.cpp @@ -2,7 +2,7 @@ ** Calculator.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Calculator.hpp b/dviware/dvisvgm/src/Calculator.hpp index 150c2ee745..355cbbae0d 100644 --- a/dviware/dvisvgm/src/Calculator.hpp +++ b/dviware/dvisvgm/src/Calculator.hpp @@ -2,7 +2,7 @@ ** Calculator.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CharMapID.cpp b/dviware/dvisvgm/src/CharMapID.cpp index b5a8576667..b68c50fe32 100644 --- a/dviware/dvisvgm/src/CharMapID.cpp +++ b/dviware/dvisvgm/src/CharMapID.cpp @@ -2,7 +2,7 @@ ** CharMapID.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CharMapID.hpp b/dviware/dvisvgm/src/CharMapID.hpp index 400185dc2b..87c4294035 100644 --- a/dviware/dvisvgm/src/CharMapID.hpp +++ b/dviware/dvisvgm/src/CharMapID.hpp @@ -2,7 +2,7 @@ ** CharMapID.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Character.hpp b/dviware/dvisvgm/src/Character.hpp index 5811481dcc..0569205ae3 100644 --- a/dviware/dvisvgm/src/Character.hpp +++ b/dviware/dvisvgm/src/Character.hpp @@ -2,7 +2,7 @@ ** Character.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Color.cpp b/dviware/dvisvgm/src/Color.cpp index 42f786d869..cffdb41531 100644 --- a/dviware/dvisvgm/src/Color.cpp +++ b/dviware/dvisvgm/src/Color.cpp @@ -2,7 +2,7 @@ ** Color.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Color.hpp b/dviware/dvisvgm/src/Color.hpp index 156aa269e4..25d20b755c 100644 --- a/dviware/dvisvgm/src/Color.hpp +++ b/dviware/dvisvgm/src/Color.hpp @@ -2,7 +2,7 @@ ** Color.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/ColorSpecialHandler.cpp b/dviware/dvisvgm/src/ColorSpecialHandler.cpp index c6a3e2bfd6..c35f6b0eba 100644 --- a/dviware/dvisvgm/src/ColorSpecialHandler.cpp +++ b/dviware/dvisvgm/src/ColorSpecialHandler.cpp @@ -2,7 +2,7 @@ ** ColorSpecialHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/ColorSpecialHandler.hpp b/dviware/dvisvgm/src/ColorSpecialHandler.hpp index 72809e8e0f..20a589bfa1 100644 --- a/dviware/dvisvgm/src/ColorSpecialHandler.hpp +++ b/dviware/dvisvgm/src/ColorSpecialHandler.hpp @@ -2,7 +2,7 @@ ** ColorSpecialHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/CommandLine.hpp b/dviware/dvisvgm/src/CommandLine.hpp index d4f0745219..76f8208d07 100644 --- a/dviware/dvisvgm/src/CommandLine.hpp +++ b/dviware/dvisvgm/src/CommandLine.hpp @@ -2,7 +2,7 @@ // It is part of the dvisvgm package and published under the terms // of the GNU General Public License version 3, or (at your option) any later version. // See file COPYING for further details. -// Copyright (C) 2016-2023 Martin Gieseking +// Copyright (C) 2016-2024 Martin Gieseking #ifndef COMMANDLINE_HPP #define COMMANDLINE_HPP @@ -20,7 +20,7 @@ class CommandLine : public CL::CommandLine { CommandLine () : CL::CommandLine( "This program converts DVI files, as created by TeX/LaTeX, as well as\nEPS and PDF files to the XML-based scalable vector graphics format SVG.", "[options] dvifile\n--eps [options] epsfile\n--pdf [options] pdffile", - "Copyright (C) 2005-2023 Martin Gieseking " + "Copyright (C) 2005-2024 Martin Gieseking " ) {} CommandLine (int argc, char **argv) : CommandLine() { @@ -51,6 +51,7 @@ class CommandLine : public CL::CommandLine { TypedOption linkmarkOpt {"linkmark", 'L', "style", "box", "select how to mark hyperlinked areas"}; Option listSpecialsOpt {"list-specials", 'l', "print supported special sets and exit"}; TypedOption magOpt {"mag", 'M', "factor", 4, "magnification of Metafont output"}; + TypedOption messageOpt {"message", '\0', "text", "print message text after writing an SVG file"}; TypedOption noFontsOpt {"no-fonts", 'n', "variant", 0, "draw glyphs by using path elements"}; Option noMergeOpt {"no-merge", '\0', "don't merge adjacent text elements"}; Option noMktexmfOpt {"no-mktexmf", '\0', "don't try to create missing fonts"}; @@ -72,7 +73,7 @@ class CommandLine : public CL::CommandLine { TypedOption traceAllOpt {"trace-all", 'a', "retrace", false, "trace all glyphs of bitmap fonts"}; TypedOption transformOpt {"transform", 'T', "commands", "transform page content"}; TypedOption translateOpt {"translate", 't', "tx[,ty]", "shift page content"}; - TypedOption verbosityOpt {"verbosity", 'v', "level", 7, "set verbosity level (0-7)"}; + TypedOption verbosityOpt {"verbosity", 'v', "level", 15, "set verbosity level (0-15)"}; TypedOption versionOpt {"version", 'V', "extended", false, "print version and exit"}; TypedOption zipOpt {"zip", 'z', "level", 9, "create compressed .svgz file"}; TypedOption zoomOpt {"zoom", 'Z', "factor", 1.0, "zoom page content"}; @@ -156,6 +157,7 @@ class CommandLine : public CL::CommandLine { {&colorOpt, 4}, {&helpOpt, 4}, {&listSpecialsOpt, 4}, + {&messageOpt, 4}, {&progressOpt, 4}, {&verbosityOpt, 4}, {&versionOpt, 4}, diff --git a/dviware/dvisvgm/src/DLLoader.cpp b/dviware/dvisvgm/src/DLLoader.cpp index 3ac13ff430..583573d19b 100644 --- a/dviware/dvisvgm/src/DLLoader.cpp +++ b/dviware/dvisvgm/src/DLLoader.cpp @@ -2,7 +2,7 @@ ** DLLoader.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/DLLoader.hpp b/dviware/dvisvgm/src/DLLoader.hpp index 48c774200b..67b7c73a95 100644 --- a/dviware/dvisvgm/src/DLLoader.hpp +++ b/dviware/dvisvgm/src/DLLoader.hpp @@ -2,7 +2,7 @@ ** DLLoader.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/DVIActions.hpp b/dviware/dvisvgm/src/DVIActions.hpp index ed3c012f58..04cdec2cdb 100644 --- a/dviware/dvisvgm/src/DVIActions.hpp +++ b/dviware/dvisvgm/src/DVIActions.hpp @@ -2,7 +2,7 @@ ** DVIActions.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/DVIReader.cpp b/dviware/dvisvgm/src/DVIReader.cpp index 2c52ba5210..b7c08bc139 100644 --- a/dviware/dvisvgm/src/DVIReader.cpp +++ b/dviware/dvisvgm/src/DVIReader.cpp @@ -2,7 +2,7 @@ ** DVIReader.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/DVIReader.hpp b/dviware/dvisvgm/src/DVIReader.hpp index d8da02f0c2..ffab16c5a8 100644 --- a/dviware/dvisvgm/src/DVIReader.hpp +++ b/dviware/dvisvgm/src/DVIReader.hpp @@ -2,7 +2,7 @@ ** DVIReader.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/DVIToSVG.cpp b/dviware/dvisvgm/src/DVIToSVG.cpp index ad809ca931..b4340a89fe 100644 --- a/dviware/dvisvgm/src/DVIToSVG.cpp +++ b/dviware/dvisvgm/src/DVIToSVG.cpp @@ -2,7 +2,7 @@ ** DVIToSVG.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -124,10 +124,17 @@ void DVIToSVG::convert (unsigned first, unsigned last, HashFunction *hashFunc) { string fname = path.shorterAbsoluteOrRelative(); if (fname.empty()) fname = ""; - if (success) - Message::mstream(false, Message::MC_PAGE_WRITTEN) << "\noutput written to " << fname << '\n'; - else + if (!success) Message::wstream(true) << "failed to write output to " << fname << '\n'; + else { + Message::mstream(false, Message::MC_PAGE_WRITTEN) << "\noutput written to " << fname << '\n'; + if (!_userMessage.empty()) { + if (auto specialActions = dynamic_cast(_actions.get())) { + string msg = specialActions->expandText(_userMessage); + Message::ustream(true) << msg << "\n"; + } + } + } _svg.reset(); _actions->reset(); } diff --git a/dviware/dvisvgm/src/DVIToSVG.hpp b/dviware/dvisvgm/src/DVIToSVG.hpp index ada151cca0..1f749bf729 100644 --- a/dviware/dvisvgm/src/DVIToSVG.hpp +++ b/dviware/dvisvgm/src/DVIToSVG.hpp @@ -2,7 +2,7 @@ ** DVIToSVG.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -55,6 +55,7 @@ class DVIToSVG : public DVIReader { void convert (const std::string &range, std::pair *pageinfo=nullptr); void setPageSize (const std::string &format) {_bboxFormatString = format;} void setPageTransformation (const std::string &cmds) {_transCmds = cmds;} + void setUserMessage (const std::string &msg) {_userMessage = msg;} Matrix getPageTransformation () const override; void translateToX (double x) override {_tx = x-dviState().h-_tx;} void translateToY (double y) override {_ty = y-dviState().v-_ty;} @@ -103,6 +104,7 @@ class DVIToSVG : public DVIReader { std::unique_ptr _actions; std::string _bboxFormatString; ///< bounding box size/format set by the user std::string _transCmds; ///< page transformation commands set by the user + std::string _userMessage; ///< message printed after conversion of a page double _pageHeight=0, _pageWidth=0; ///< global page height and width stored in the postamble double _tx=0, _ty=0; ///< translation of cursor position double _prevXPos, _prevYPos; ///< previous cursor position diff --git a/dviware/dvisvgm/src/DVIToSVGActions.cpp b/dviware/dvisvgm/src/DVIToSVGActions.cpp index 1d173dfa8f..6970be756e 100644 --- a/dviware/dvisvgm/src/DVIToSVGActions.cpp +++ b/dviware/dvisvgm/src/DVIToSVGActions.cpp @@ -2,7 +2,7 @@ ** DVIToSVGActions.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/DVIToSVGActions.hpp b/dviware/dvisvgm/src/DVIToSVGActions.hpp index 138670ddbc..7dc55536cc 100644 --- a/dviware/dvisvgm/src/DVIToSVGActions.hpp +++ b/dviware/dvisvgm/src/DVIToSVGActions.hpp @@ -2,7 +2,7 @@ ** DVIToSVGActions.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Directory.cpp b/dviware/dvisvgm/src/Directory.cpp index 4f89c1c371..35c8c49b34 100644 --- a/dviware/dvisvgm/src/Directory.cpp +++ b/dviware/dvisvgm/src/Directory.cpp @@ -2,7 +2,7 @@ ** Directory.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Directory.hpp b/dviware/dvisvgm/src/Directory.hpp index 257a7c4ea2..6c55e03280 100644 --- a/dviware/dvisvgm/src/Directory.hpp +++ b/dviware/dvisvgm/src/Directory.hpp @@ -2,7 +2,7 @@ ** Directory.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/DvisvgmSpecialHandler.cpp b/dviware/dvisvgm/src/DvisvgmSpecialHandler.cpp index 0a84038500..ca1f4a7fc1 100644 --- a/dviware/dvisvgm/src/DvisvgmSpecialHandler.cpp +++ b/dviware/dvisvgm/src/DvisvgmSpecialHandler.cpp @@ -2,7 +2,7 @@ ** DvisvgmSpecialHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -198,79 +198,6 @@ bool DvisvgmSpecialHandler::process (const string &prefix, istream &is, SpecialA } -/** Replaces constants of the form {?name} by their corresponding value. - * @param[in,out] str text to expand - * @param[in] actions interfcae to the world outside the special handler */ -static void expand_constants (string &str, SpecialActions &actions) { - bool repl_bbox = true; - while (repl_bbox) { - const auto pos = str.find("{?bbox "); - if (pos == string::npos) - repl_bbox = false; - else { - auto endpos = pos+7; - while (endpos < str.length() && isalnum(str[endpos])) - ++endpos; - if (str[endpos] != '}') - repl_bbox = false; - else { - BoundingBox &box = actions.bbox(str.substr(pos+7, endpos-pos-7)); - str.replace(pos, endpos-pos+1, box.svgViewBoxString()); - } - } - } - const struct Constant { - const char *name; - string val; - } constants[] = { - {"x", XMLString(actions.getX())}, - {"y", XMLString(actions.getY())}, - {"color", SVGElement::USE_CURRENTCOLOR && SVGElement::CURRENTCOLOR == actions.getColor() ? "currentColor" : actions.getColor().svgColorString()}, - {"matrix", actions.getMatrix().toSVG()}, - {"nl", "\n"}, - }; - for (const Constant &constant : constants) { - const string pattern = string("{?")+constant.name+"}"; - auto pos = str.find(pattern); - while (pos != string::npos) { - str.replace(pos, strlen(constant.name)+3, constant.val); - pos = str.find(pattern, pos+constant.val.length()); // look for further matches - } - } -} - - -/** Evaluates substrings of the form {?(expr)} where 'expr' is a math expression, - * and replaces the substring by the computed value. - * @param[in,out] str string to scan for expressions */ -static void evaluate_expressions (string &str, const SpecialActions &actions) { - auto left = str.find("{?("); // start position of expression macro - while (left != string::npos) { - auto right = str.find(")}", left+2); // end position of expression macro - if (right == string::npos) - break; - Calculator calc; - calc.setVariable("x", actions.getX()); - calc.setVariable("y", actions.getY()); - string expr = str.substr(left+3, right-left-3); // math expression to evaluate - if (util::normalize_space(expr).empty()) // no expression given, e.g. {?( )} - str.erase(left, right-left+2); // => replace with empty string - else { - try { - double val = calc.eval(expr); - XMLString valstr(val); - str.replace(left, right-left+2, valstr); - right = left+valstr.length()-1; - } - catch (CalculatorException &e) { - throw SpecialException(string(e.what())+" in '{?("+expr+")}'"); - } - } - left = str.find("{?(", right+1); // find next expression macro - } -} - - /** Processes raw SVG fragments from the input stream. The SVG data must represent * a single or multiple syntactically complete XML parts, like opening/closing tags, * comments, or CDATA blocks. These must not be split and distributed over several @@ -280,8 +207,7 @@ void DvisvgmSpecialHandler::processRaw (InputReader &ir, SpecialActions &actions if (_nestingLevel == 0) { string xml = ir.getLine(); if (!xml.empty()) { - evaluate_expressions(xml, actions); - expand_constants(xml, actions); + xml = actions.expandText(xml); _pageParser.parse(std::move(xml)); } } @@ -292,8 +218,7 @@ void DvisvgmSpecialHandler::processRawDef (InputReader &ir, SpecialActions &acti if (_nestingLevel == 0) { string xml = ir.getLine(); if (!xml.empty()) { - evaluate_expressions(xml, actions); - expand_constants(xml, actions); + xml = actions.expandText(xml); _defsParser.parse(std::move(xml)); } } @@ -324,7 +249,7 @@ void DvisvgmSpecialHandler::processRawPut (InputReader &ir, SpecialActions &acti char &type = defstr[0]; string def = defstr.substr(1); if ((type == 'P' || type == 'D') && !def.empty()) { - expand_constants(def, actions); + def = actions.expandText(def); if (type == 'P') _pageParser.parse(std::move(def)); else { // type == 'D' @@ -472,10 +397,8 @@ void DvisvgmSpecialHandler::processCurrentColor (InputReader &ir, SpecialActions void DvisvgmSpecialHandler::processMessage (InputReader &ir, SpecialActions &actions) { - string message = ir.getLine(); - evaluate_expressions(message, actions); - expand_constants(message, actions); - Message::mstream() << message << "\n"; + string message = actions.expandText(ir.getLine()); + Message::ustream() << message << "\n"; } diff --git a/dviware/dvisvgm/src/DvisvgmSpecialHandler.hpp b/dviware/dvisvgm/src/DvisvgmSpecialHandler.hpp index 7edecb12c8..5d04b28952 100644 --- a/dviware/dvisvgm/src/DvisvgmSpecialHandler.hpp +++ b/dviware/dvisvgm/src/DvisvgmSpecialHandler.hpp @@ -2,7 +2,7 @@ ** DvisvgmSpecialHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/EPSFile.cpp b/dviware/dvisvgm/src/EPSFile.cpp index 982c72faca..abd6fcea8a 100644 --- a/dviware/dvisvgm/src/EPSFile.cpp +++ b/dviware/dvisvgm/src/EPSFile.cpp @@ -2,7 +2,7 @@ ** EPSFile.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/EPSFile.hpp b/dviware/dvisvgm/src/EPSFile.hpp index 2aa74cb6ba..8ded7f3963 100644 --- a/dviware/dvisvgm/src/EPSFile.hpp +++ b/dviware/dvisvgm/src/EPSFile.hpp @@ -2,7 +2,7 @@ ** EPSFile.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/EPSToSVG.hpp b/dviware/dvisvgm/src/EPSToSVG.hpp index f1e550b135..73bec35422 100644 --- a/dviware/dvisvgm/src/EPSToSVG.hpp +++ b/dviware/dvisvgm/src/EPSToSVG.hpp @@ -2,7 +2,7 @@ ** EPSToSVG.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/EllipticalArc.cpp b/dviware/dvisvgm/src/EllipticalArc.cpp index 13b6b2d596..299530ef7d 100644 --- a/dviware/dvisvgm/src/EllipticalArc.cpp +++ b/dviware/dvisvgm/src/EllipticalArc.cpp @@ -2,7 +2,7 @@ ** EllipticalArc.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/EllipticalArc.hpp b/dviware/dvisvgm/src/EllipticalArc.hpp index 841e4903ed..e5a0954f72 100644 --- a/dviware/dvisvgm/src/EllipticalArc.hpp +++ b/dviware/dvisvgm/src/EllipticalArc.hpp @@ -2,7 +2,7 @@ ** EllipticalArc.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/EmSpecialHandler.cpp b/dviware/dvisvgm/src/EmSpecialHandler.cpp index 919de50b2c..e939343a13 100644 --- a/dviware/dvisvgm/src/EmSpecialHandler.cpp +++ b/dviware/dvisvgm/src/EmSpecialHandler.cpp @@ -2,7 +2,7 @@ ** EmSpecialHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/EmSpecialHandler.hpp b/dviware/dvisvgm/src/EmSpecialHandler.hpp index 5adb90aaca..1c195a2b57 100644 --- a/dviware/dvisvgm/src/EmSpecialHandler.hpp +++ b/dviware/dvisvgm/src/EmSpecialHandler.hpp @@ -2,7 +2,7 @@ ** EmSpecialHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/EncFile.cpp b/dviware/dvisvgm/src/EncFile.cpp index af47ead6ea..d8ad95bca4 100644 --- a/dviware/dvisvgm/src/EncFile.cpp +++ b/dviware/dvisvgm/src/EncFile.cpp @@ -2,7 +2,7 @@ ** EncFile.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/EncFile.hpp b/dviware/dvisvgm/src/EncFile.hpp index 7aceb65b05..4a991f59d2 100644 --- a/dviware/dvisvgm/src/EncFile.hpp +++ b/dviware/dvisvgm/src/EncFile.hpp @@ -2,7 +2,7 @@ ** EncFile.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FileFinder.cpp b/dviware/dvisvgm/src/FileFinder.cpp index f01b230af2..9ba1443de1 100644 --- a/dviware/dvisvgm/src/FileFinder.cpp +++ b/dviware/dvisvgm/src/FileFinder.cpp @@ -2,7 +2,7 @@ ** FileFinder.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FileFinder.hpp b/dviware/dvisvgm/src/FileFinder.hpp index d0d291e9ba..c379c1fde1 100644 --- a/dviware/dvisvgm/src/FileFinder.hpp +++ b/dviware/dvisvgm/src/FileFinder.hpp @@ -2,7 +2,7 @@ ** FileFinder.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FilePath.cpp b/dviware/dvisvgm/src/FilePath.cpp index 477c9d08ee..441f2cf85b 100644 --- a/dviware/dvisvgm/src/FilePath.cpp +++ b/dviware/dvisvgm/src/FilePath.cpp @@ -2,7 +2,7 @@ ** FilePath.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FilePath.hpp b/dviware/dvisvgm/src/FilePath.hpp index 8d705f60fe..8833d6beb3 100644 --- a/dviware/dvisvgm/src/FilePath.hpp +++ b/dviware/dvisvgm/src/FilePath.hpp @@ -2,7 +2,7 @@ ** FilePath.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FileSystem.cpp b/dviware/dvisvgm/src/FileSystem.cpp index e4aefddc05..940d77364f 100644 --- a/dviware/dvisvgm/src/FileSystem.cpp +++ b/dviware/dvisvgm/src/FileSystem.cpp @@ -2,7 +2,7 @@ ** FileSystem.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FileSystem.hpp b/dviware/dvisvgm/src/FileSystem.hpp index 1a9565ee7f..ca437e8e97 100644 --- a/dviware/dvisvgm/src/FileSystem.hpp +++ b/dviware/dvisvgm/src/FileSystem.hpp @@ -2,7 +2,7 @@ ** FileSystem.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FixWord.hpp b/dviware/dvisvgm/src/FixWord.hpp index 6e1214ce20..e8ad8a3155 100644 --- a/dviware/dvisvgm/src/FixWord.hpp +++ b/dviware/dvisvgm/src/FixWord.hpp @@ -2,7 +2,7 @@ ** FixWord.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Font.cpp b/dviware/dvisvgm/src/Font.cpp index 218dd30f82..42737d364a 100644 --- a/dviware/dvisvgm/src/Font.cpp +++ b/dviware/dvisvgm/src/Font.cpp @@ -2,7 +2,7 @@ ** Font.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Font.hpp b/dviware/dvisvgm/src/Font.hpp index 587a078500..84c19e512e 100644 --- a/dviware/dvisvgm/src/Font.hpp +++ b/dviware/dvisvgm/src/Font.hpp @@ -2,7 +2,7 @@ ** Font.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontCache.cpp b/dviware/dvisvgm/src/FontCache.cpp index b89dc091c7..d3917d67c1 100644 --- a/dviware/dvisvgm/src/FontCache.cpp +++ b/dviware/dvisvgm/src/FontCache.cpp @@ -2,7 +2,7 @@ ** FontCache.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontCache.hpp b/dviware/dvisvgm/src/FontCache.hpp index f823106ce2..e603a93ff8 100644 --- a/dviware/dvisvgm/src/FontCache.hpp +++ b/dviware/dvisvgm/src/FontCache.hpp @@ -2,7 +2,7 @@ ** FontCache.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontEncoding.cpp b/dviware/dvisvgm/src/FontEncoding.cpp index d5df7cc33f..b898327e6f 100644 --- a/dviware/dvisvgm/src/FontEncoding.cpp +++ b/dviware/dvisvgm/src/FontEncoding.cpp @@ -2,7 +2,7 @@ ** FontEncoding.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontEncoding.hpp b/dviware/dvisvgm/src/FontEncoding.hpp index 7fe441ed37..f971229314 100644 --- a/dviware/dvisvgm/src/FontEncoding.hpp +++ b/dviware/dvisvgm/src/FontEncoding.hpp @@ -2,7 +2,7 @@ ** FontEncoding.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontEngine.cpp b/dviware/dvisvgm/src/FontEngine.cpp index ca942a0fb9..18ab319517 100644 --- a/dviware/dvisvgm/src/FontEngine.cpp +++ b/dviware/dvisvgm/src/FontEngine.cpp @@ -2,7 +2,7 @@ ** FontEngine.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontEngine.hpp b/dviware/dvisvgm/src/FontEngine.hpp index cf68930c65..9b08994a29 100644 --- a/dviware/dvisvgm/src/FontEngine.hpp +++ b/dviware/dvisvgm/src/FontEngine.hpp @@ -2,7 +2,7 @@ ** FontEngine.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontManager.cpp b/dviware/dvisvgm/src/FontManager.cpp index 3dcf87eae1..1020617178 100644 --- a/dviware/dvisvgm/src/FontManager.cpp +++ b/dviware/dvisvgm/src/FontManager.cpp @@ -2,7 +2,7 @@ ** FontManager.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontManager.hpp b/dviware/dvisvgm/src/FontManager.hpp index 503813a86d..3b051a3835 100644 --- a/dviware/dvisvgm/src/FontManager.hpp +++ b/dviware/dvisvgm/src/FontManager.hpp @@ -2,7 +2,7 @@ ** FontManager.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontMap.cpp b/dviware/dvisvgm/src/FontMap.cpp index c441526144..5991c4779e 100644 --- a/dviware/dvisvgm/src/FontMap.cpp +++ b/dviware/dvisvgm/src/FontMap.cpp @@ -2,7 +2,7 @@ ** FontMap.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontMap.hpp b/dviware/dvisvgm/src/FontMap.hpp index b0cc9901d5..cd691660b1 100644 --- a/dviware/dvisvgm/src/FontMap.hpp +++ b/dviware/dvisvgm/src/FontMap.hpp @@ -2,7 +2,7 @@ ** FontMap.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontMetrics.cpp b/dviware/dvisvgm/src/FontMetrics.cpp index 0edc1a6a79..eeed98a2d8 100644 --- a/dviware/dvisvgm/src/FontMetrics.cpp +++ b/dviware/dvisvgm/src/FontMetrics.cpp @@ -2,7 +2,7 @@ ** FontMetrics.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontMetrics.hpp b/dviware/dvisvgm/src/FontMetrics.hpp index 85427720e7..eb8796c9c0 100644 --- a/dviware/dvisvgm/src/FontMetrics.hpp +++ b/dviware/dvisvgm/src/FontMetrics.hpp @@ -2,7 +2,7 @@ ** FontMetrics.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontStyle.hpp b/dviware/dvisvgm/src/FontStyle.hpp index 3c79e4cc68..149cf5fc8e 100644 --- a/dviware/dvisvgm/src/FontStyle.hpp +++ b/dviware/dvisvgm/src/FontStyle.hpp @@ -2,7 +2,7 @@ ** FontStyle.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontWriter.cpp b/dviware/dvisvgm/src/FontWriter.cpp index 9eed1784d1..4253562782 100644 --- a/dviware/dvisvgm/src/FontWriter.cpp +++ b/dviware/dvisvgm/src/FontWriter.cpp @@ -2,7 +2,7 @@ ** FontWriter.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/FontWriter.hpp b/dviware/dvisvgm/src/FontWriter.hpp index 611d2ac809..a218694732 100644 --- a/dviware/dvisvgm/src/FontWriter.hpp +++ b/dviware/dvisvgm/src/FontWriter.hpp @@ -2,7 +2,7 @@ ** FontWriter.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/GFGlyphTracer.cpp b/dviware/dvisvgm/src/GFGlyphTracer.cpp index ee487751d6..8f134654c0 100644 --- a/dviware/dvisvgm/src/GFGlyphTracer.cpp +++ b/dviware/dvisvgm/src/GFGlyphTracer.cpp @@ -2,7 +2,7 @@ ** GFGlyphTracer.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/GFGlyphTracer.hpp b/dviware/dvisvgm/src/GFGlyphTracer.hpp index 5493aea387..3a78801ce5 100644 --- a/dviware/dvisvgm/src/GFGlyphTracer.hpp +++ b/dviware/dvisvgm/src/GFGlyphTracer.hpp @@ -2,7 +2,7 @@ ** GFGlyphTracer.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/GFReader.cpp b/dviware/dvisvgm/src/GFReader.cpp index 41920634cb..6b2c6aa388 100644 --- a/dviware/dvisvgm/src/GFReader.cpp +++ b/dviware/dvisvgm/src/GFReader.cpp @@ -2,7 +2,7 @@ ** GFReader.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/GFReader.hpp b/dviware/dvisvgm/src/GFReader.hpp index f5a6a17609..639d3cfce9 100644 --- a/dviware/dvisvgm/src/GFReader.hpp +++ b/dviware/dvisvgm/src/GFReader.hpp @@ -2,7 +2,7 @@ ** GFReader.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/GFTracer.cpp b/dviware/dvisvgm/src/GFTracer.cpp index b6cb2e76c7..185d8079fe 100644 --- a/dviware/dvisvgm/src/GFTracer.cpp +++ b/dviware/dvisvgm/src/GFTracer.cpp @@ -2,7 +2,7 @@ ** GFTracer.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/GFTracer.hpp b/dviware/dvisvgm/src/GFTracer.hpp index 63c6d20546..7bcd802273 100644 --- a/dviware/dvisvgm/src/GFTracer.hpp +++ b/dviware/dvisvgm/src/GFTracer.hpp @@ -2,7 +2,7 @@ ** GFTracer.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Ghostscript.cpp b/dviware/dvisvgm/src/Ghostscript.cpp index a428c01b9a..a228aa28b6 100644 --- a/dviware/dvisvgm/src/Ghostscript.cpp +++ b/dviware/dvisvgm/src/Ghostscript.cpp @@ -2,7 +2,7 @@ ** Ghostscript.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Ghostscript.hpp b/dviware/dvisvgm/src/Ghostscript.hpp index 91b558fd3c..1e9f189a9b 100644 --- a/dviware/dvisvgm/src/Ghostscript.hpp +++ b/dviware/dvisvgm/src/Ghostscript.hpp @@ -2,7 +2,7 @@ ** Ghostscript.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Glyph.hpp b/dviware/dvisvgm/src/Glyph.hpp index 56f9c14ba3..a53021211a 100644 --- a/dviware/dvisvgm/src/Glyph.hpp +++ b/dviware/dvisvgm/src/Glyph.hpp @@ -2,7 +2,7 @@ ** Glyph.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/GlyphTracerMessages.hpp b/dviware/dvisvgm/src/GlyphTracerMessages.hpp index cc7722a49b..0b1228f38a 100644 --- a/dviware/dvisvgm/src/GlyphTracerMessages.hpp +++ b/dviware/dvisvgm/src/GlyphTracerMessages.hpp @@ -2,7 +2,7 @@ ** GlyphTracerMessages.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/GraphicsPath.hpp b/dviware/dvisvgm/src/GraphicsPath.hpp index 9b60370ff1..be9013e086 100644 --- a/dviware/dvisvgm/src/GraphicsPath.hpp +++ b/dviware/dvisvgm/src/GraphicsPath.hpp @@ -2,7 +2,7 @@ ** GraphicsPath.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/GraphicsPathParser.hpp b/dviware/dvisvgm/src/GraphicsPathParser.hpp index 099614757d..e8d41cd33f 100644 --- a/dviware/dvisvgm/src/GraphicsPathParser.hpp +++ b/dviware/dvisvgm/src/GraphicsPathParser.hpp @@ -2,7 +2,7 @@ ** GraphicsPathParser.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/HashFunction.cpp b/dviware/dvisvgm/src/HashFunction.cpp index e882ad5179..449d40285d 100644 --- a/dviware/dvisvgm/src/HashFunction.cpp +++ b/dviware/dvisvgm/src/HashFunction.cpp @@ -2,7 +2,7 @@ ** HashFunction.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/HashFunction.hpp b/dviware/dvisvgm/src/HashFunction.hpp index 690aee2904..703a0bc085 100644 --- a/dviware/dvisvgm/src/HashFunction.hpp +++ b/dviware/dvisvgm/src/HashFunction.hpp @@ -2,7 +2,7 @@ ** HashFunction.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/HtmlSpecialHandler.cpp b/dviware/dvisvgm/src/HtmlSpecialHandler.cpp index 2f43ebde79..15e3c409ad 100644 --- a/dviware/dvisvgm/src/HtmlSpecialHandler.cpp +++ b/dviware/dvisvgm/src/HtmlSpecialHandler.cpp @@ -2,7 +2,7 @@ ** HtmlSpecialHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/HtmlSpecialHandler.hpp b/dviware/dvisvgm/src/HtmlSpecialHandler.hpp index 33f564f63b..bb0146fbcc 100644 --- a/dviware/dvisvgm/src/HtmlSpecialHandler.hpp +++ b/dviware/dvisvgm/src/HtmlSpecialHandler.hpp @@ -2,7 +2,7 @@ ** HtmlSpecialHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/HyperlinkManager.cpp b/dviware/dvisvgm/src/HyperlinkManager.cpp index b595055864..14c0003572 100644 --- a/dviware/dvisvgm/src/HyperlinkManager.cpp +++ b/dviware/dvisvgm/src/HyperlinkManager.cpp @@ -2,7 +2,7 @@ ** HyperlinkManager.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/HyperlinkManager.hpp b/dviware/dvisvgm/src/HyperlinkManager.hpp index 3d0e93ca32..2df68dd59c 100644 --- a/dviware/dvisvgm/src/HyperlinkManager.hpp +++ b/dviware/dvisvgm/src/HyperlinkManager.hpp @@ -2,7 +2,7 @@ ** HyperlinkManager.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/ImageToSVG.cpp b/dviware/dvisvgm/src/ImageToSVG.cpp index 990647a008..5b105ee200 100644 --- a/dviware/dvisvgm/src/ImageToSVG.cpp +++ b/dviware/dvisvgm/src/ImageToSVG.cpp @@ -2,7 +2,7 @@ ** ImageToSVG.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -22,6 +22,7 @@ #include #include #include "Calculator.hpp" +#include "DvisvgmSpecialHandler.hpp" #include "ImageToSVG.hpp" #include "Message.hpp" #include "MessageException.hpp" @@ -105,6 +106,10 @@ void ImageToSVG::writeSVG (int pageno) { << " (" << XMLString(_bbox.width()*bp2mm) << "mm" << " x " << XMLString(_bbox.height()*bp2mm) << "mm)\n"; Message::mstream(false, Message::MC_PAGE_WRITTEN) << "output written to " << svgfname << '\n'; + if (!_userMessage.empty()) { + string msg = expandText(_userMessage); + Message::ustream(true) << msg << "\n"; + } } _bbox.invalidate(); _svg.reset(); diff --git a/dviware/dvisvgm/src/ImageToSVG.hpp b/dviware/dvisvgm/src/ImageToSVG.hpp index eccb48e5f7..943600dbbb 100644 --- a/dviware/dvisvgm/src/ImageToSVG.hpp +++ b/dviware/dvisvgm/src/ImageToSVG.hpp @@ -2,7 +2,7 @@ ** ImageToSVG.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -37,6 +37,7 @@ class ImageToSVG : protected SpecialActions { void convert (int firstPage, int lastPage, std::pair *pageinfo); void convert (const std::string &rangestr, std::pair *pageinfo); void setPageTransformation (const std::string &transCmds) {_transCmds = transCmds;} + void setUserMessage (const std::string &msg) {_userMessage = msg;} std::string filename () const {return _fname;} PSInterpreter& psInterpreter () const {return _psHandler.psInterpreter();} virtual bool isSinglePageFormat () const =0; @@ -84,8 +85,9 @@ class ImageToSVG : protected SpecialActions { unsigned _currentPageNumber=0; BoundingBox _bbox; mutable PsSpecialHandler _psHandler; - int _gsVersion=0; ///< Ghostscript version found - std::string _transCmds; ///< transformation commands + int _gsVersion=0; ///< Ghostscript version found + std::string _transCmds; ///< transformation commands + std::string _userMessage; ///< message printed after conversion }; #endif diff --git a/dviware/dvisvgm/src/InputBuffer.cpp b/dviware/dvisvgm/src/InputBuffer.cpp index 6c23f00063..03687d181d 100644 --- a/dviware/dvisvgm/src/InputBuffer.cpp +++ b/dviware/dvisvgm/src/InputBuffer.cpp @@ -2,7 +2,7 @@ ** InputBuffer.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/InputBuffer.hpp b/dviware/dvisvgm/src/InputBuffer.hpp index cb429f9d0d..17a383fb3b 100644 --- a/dviware/dvisvgm/src/InputBuffer.hpp +++ b/dviware/dvisvgm/src/InputBuffer.hpp @@ -2,7 +2,7 @@ ** InputBuffer.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/InputReader.cpp b/dviware/dvisvgm/src/InputReader.cpp index bfca9d8606..8b9c3e80e9 100644 --- a/dviware/dvisvgm/src/InputReader.cpp +++ b/dviware/dvisvgm/src/InputReader.cpp @@ -2,7 +2,7 @@ ** InputReader.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/InputReader.hpp b/dviware/dvisvgm/src/InputReader.hpp index bd344fbf46..90f1658732 100644 --- a/dviware/dvisvgm/src/InputReader.hpp +++ b/dviware/dvisvgm/src/InputReader.hpp @@ -2,7 +2,7 @@ ** InputReader.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/JFM.cpp b/dviware/dvisvgm/src/JFM.cpp index fc8fe56d8a..4d624f1795 100644 --- a/dviware/dvisvgm/src/JFM.cpp +++ b/dviware/dvisvgm/src/JFM.cpp @@ -2,7 +2,7 @@ ** JFM.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/JFM.hpp b/dviware/dvisvgm/src/JFM.hpp index c24798073c..46f412fb72 100644 --- a/dviware/dvisvgm/src/JFM.hpp +++ b/dviware/dvisvgm/src/JFM.hpp @@ -2,7 +2,7 @@ ** JFM.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Length.cpp b/dviware/dvisvgm/src/Length.cpp index 059933a363..e660ab7283 100644 --- a/dviware/dvisvgm/src/Length.cpp +++ b/dviware/dvisvgm/src/Length.cpp @@ -2,7 +2,7 @@ ** Length.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Length.hpp b/dviware/dvisvgm/src/Length.hpp index 9c1f353c46..dc1ce9ae67 100644 --- a/dviware/dvisvgm/src/Length.hpp +++ b/dviware/dvisvgm/src/Length.hpp @@ -2,7 +2,7 @@ ** Length.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/MD5HashFunction.hpp b/dviware/dvisvgm/src/MD5HashFunction.hpp index 7a379cc52a..f8ef99f64d 100644 --- a/dviware/dvisvgm/src/MD5HashFunction.hpp +++ b/dviware/dvisvgm/src/MD5HashFunction.hpp @@ -2,7 +2,7 @@ ** MD5HashFunction.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Makefile.am b/dviware/dvisvgm/src/Makefile.am index 852f5c8f01..f0689f30d1 100644 --- a/dviware/dvisvgm/src/Makefile.am +++ b/dviware/dvisvgm/src/Makefile.am @@ -1,5 +1,5 @@ ## This file is part of dvisvgm -## Copyright (C) 2005-2023 Martin Gieseking +## Copyright (C) 2005-2024 Martin Gieseking ## ## Process this file with automake. @@ -127,7 +127,7 @@ libdvisvgm_la_SOURCES = \ ShadingPatch.hpp ShadingPatch.cpp \ SignalHandler.hpp SignalHandler.cpp \ SourceInput.hpp SourceInput.cpp \ - SpecialActions.hpp \ + SpecialActions.hpp SpecialActions.cpp \ SpecialHandler.hpp \ SpecialManager.hpp SpecialManager.cpp \ StreamReader.hpp StreamReader.cpp \ diff --git a/dviware/dvisvgm/src/Makefile.in b/dviware/dvisvgm/src/Makefile.in index c537e635e2..3921a77463 100644 --- a/dviware/dvisvgm/src/Makefile.in +++ b/dviware/dvisvgm/src/Makefile.in @@ -151,10 +151,11 @@ am_libdvisvgm_la_OBJECTS = BasicDVIReader.lo Bezier.lo \ PreScanDVIReader.lo Process.lo psdefs.lo PSInterpreter.lo \ PSPattern.lo PSPreviewHandler.lo PsSpecialHandler.lo \ RangeMap.lo ShadingPatch.lo SignalHandler.lo SourceInput.lo \ - SpecialManager.lo StreamReader.lo StreamWriter.lo Subfont.lo \ - SVGCharHandler.lo SVGCharHandlerFactory.lo \ - SVGCharPathHandler.lo SVGCharTspanTextHandler.lo SVGElement.lo \ - SVGOutput.lo SVGSingleCharTextHandler.lo SVGTree.lo System.lo \ + SpecialActions.lo SpecialManager.lo StreamReader.lo \ + StreamWriter.lo Subfont.lo SVGCharHandler.lo \ + SVGCharHandlerFactory.lo SVGCharPathHandler.lo \ + SVGCharTspanTextHandler.lo SVGElement.lo SVGOutput.lo \ + SVGSingleCharTextHandler.lo SVGTree.lo System.lo \ TensorProductPatch.lo Terminal.lo TFM.lo ToUnicodeMap.lo \ TpicSpecialHandler.lo TriangularPatch.lo Unicode.lo utility.lo \ VFReader.lo XMLDocument.lo XMLNode.lo XMLParser.lo \ @@ -231,11 +232,11 @@ am__depfiles_remade = ./$(DEPDIR)/BasicDVIReader.Plo \ ./$(DEPDIR)/SVGSingleCharTextHandler.Plo \ ./$(DEPDIR)/SVGTree.Plo ./$(DEPDIR)/ShadingPatch.Plo \ ./$(DEPDIR)/SignalHandler.Plo ./$(DEPDIR)/SourceInput.Plo \ - ./$(DEPDIR)/SpecialManager.Plo ./$(DEPDIR)/StreamReader.Plo \ - ./$(DEPDIR)/StreamWriter.Plo ./$(DEPDIR)/Subfont.Plo \ - ./$(DEPDIR)/System.Plo ./$(DEPDIR)/TFM.Plo \ - ./$(DEPDIR)/TensorProductPatch.Plo ./$(DEPDIR)/Terminal.Plo \ - ./$(DEPDIR)/ToUnicodeMap.Plo \ + ./$(DEPDIR)/SpecialActions.Plo ./$(DEPDIR)/SpecialManager.Plo \ + ./$(DEPDIR)/StreamReader.Plo ./$(DEPDIR)/StreamWriter.Plo \ + ./$(DEPDIR)/Subfont.Plo ./$(DEPDIR)/System.Plo \ + ./$(DEPDIR)/TFM.Plo ./$(DEPDIR)/TensorProductPatch.Plo \ + ./$(DEPDIR)/Terminal.Plo ./$(DEPDIR)/ToUnicodeMap.Plo \ ./$(DEPDIR)/TpicSpecialHandler.Plo \ ./$(DEPDIR)/TriangularPatch.Plo ./$(DEPDIR)/Unicode.Plo \ ./$(DEPDIR)/VFReader.Plo ./$(DEPDIR)/XMLDocument.Plo \ @@ -610,7 +611,7 @@ libdvisvgm_la_SOURCES = \ ShadingPatch.hpp ShadingPatch.cpp \ SignalHandler.hpp SignalHandler.cpp \ SourceInput.hpp SourceInput.cpp \ - SpecialActions.hpp \ + SpecialActions.hpp SpecialActions.cpp \ SpecialHandler.hpp \ SpecialManager.hpp SpecialManager.cpp \ StreamReader.hpp StreamReader.cpp \ @@ -849,6 +850,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ShadingPatch.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SignalHandler.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceInput.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SpecialActions.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SpecialManager.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StreamReader.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StreamWriter.Plo@am__quote@ # am--include-marker @@ -1186,6 +1188,7 @@ distclean: distclean-recursive -rm -f ./$(DEPDIR)/ShadingPatch.Plo -rm -f ./$(DEPDIR)/SignalHandler.Plo -rm -f ./$(DEPDIR)/SourceInput.Plo + -rm -f ./$(DEPDIR)/SpecialActions.Plo -rm -f ./$(DEPDIR)/SpecialManager.Plo -rm -f ./$(DEPDIR)/StreamReader.Plo -rm -f ./$(DEPDIR)/StreamWriter.Plo @@ -1330,6 +1333,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f ./$(DEPDIR)/ShadingPatch.Plo -rm -f ./$(DEPDIR)/SignalHandler.Plo -rm -f ./$(DEPDIR)/SourceInput.Plo + -rm -f ./$(DEPDIR)/SpecialActions.Plo -rm -f ./$(DEPDIR)/SpecialManager.Plo -rm -f ./$(DEPDIR)/StreamReader.Plo -rm -f ./$(DEPDIR)/StreamWriter.Plo diff --git a/dviware/dvisvgm/src/MapLine.cpp b/dviware/dvisvgm/src/MapLine.cpp index 3455e1f243..3ff1405b8c 100644 --- a/dviware/dvisvgm/src/MapLine.cpp +++ b/dviware/dvisvgm/src/MapLine.cpp @@ -2,7 +2,7 @@ ** MapLine.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/MapLine.hpp b/dviware/dvisvgm/src/MapLine.hpp index ddde94f9b0..a1d921c954 100644 --- a/dviware/dvisvgm/src/MapLine.hpp +++ b/dviware/dvisvgm/src/MapLine.hpp @@ -2,7 +2,7 @@ ** MapLine.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Matrix.cpp b/dviware/dvisvgm/src/Matrix.cpp index 2be2ebb0ed..f971e68c04 100644 --- a/dviware/dvisvgm/src/Matrix.cpp +++ b/dviware/dvisvgm/src/Matrix.cpp @@ -2,7 +2,7 @@ ** Matrix.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Matrix.hpp b/dviware/dvisvgm/src/Matrix.hpp index 140d0f0e0e..9e1cb17047 100644 --- a/dviware/dvisvgm/src/Matrix.hpp +++ b/dviware/dvisvgm/src/Matrix.hpp @@ -2,7 +2,7 @@ ** Matrix.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Message.cpp b/dviware/dvisvgm/src/Message.cpp index 8ff4563974..52fee877ca 100644 --- a/dviware/dvisvgm/src/Message.cpp +++ b/dviware/dvisvgm/src/Message.cpp @@ -2,7 +2,7 @@ ** Message.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -189,6 +189,15 @@ MessageStream& Message::estream (bool prefix) { } +/** Returns the output stream for user messages + * @param[in] always ignore verbosity settings if true */ +MessageStream& Message::ustream (bool always) { + init(); + MessageStream *ms = (always || (LEVEL & USERMESSAGES)) ? &messageStream : &nullStream; + return *ms; +} + + static bool colorchar2int (char colorchar, int *val) { colorchar = tolower(colorchar); if (colorchar >= '0' && colorchar <= '9') diff --git a/dviware/dvisvgm/src/Message.hpp b/dviware/dvisvgm/src/Message.hpp index a2b8a3e412..d9ab11f830 100644 --- a/dviware/dvisvgm/src/Message.hpp +++ b/dviware/dvisvgm/src/Message.hpp @@ -2,7 +2,7 @@ ** Message.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -95,8 +95,9 @@ class Message { static MessageStream& mstream (bool prefix=false, MessageClass mclass=MC_MESSAGE); static MessageStream& estream (bool prefix=false); static MessageStream& wstream (bool prefix=false); + static MessageStream& ustream (bool always=false); - enum {ERRORS=1, WARNINGS=2, MESSAGES=4}; + enum {ERRORS=1, WARNINGS=2, MESSAGES=4, USERMESSAGES=8}; static int LEVEL; static bool COLORIZE; diff --git a/dviware/dvisvgm/src/MessageException.hpp b/dviware/dvisvgm/src/MessageException.hpp index 18721badcd..d893e7b406 100644 --- a/dviware/dvisvgm/src/MessageException.hpp +++ b/dviware/dvisvgm/src/MessageException.hpp @@ -2,7 +2,7 @@ ** MessageException.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/MetafontWrapper.cpp b/dviware/dvisvgm/src/MetafontWrapper.cpp index d20a61fff0..0dcafe8366 100644 --- a/dviware/dvisvgm/src/MetafontWrapper.cpp +++ b/dviware/dvisvgm/src/MetafontWrapper.cpp @@ -2,7 +2,7 @@ ** MetafontWrapper.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/MetafontWrapper.hpp b/dviware/dvisvgm/src/MetafontWrapper.hpp index e6fd81acdd..255b04d34b 100644 --- a/dviware/dvisvgm/src/MetafontWrapper.hpp +++ b/dviware/dvisvgm/src/MetafontWrapper.hpp @@ -2,7 +2,7 @@ ** MetafontWrapper.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/MiKTeXCom.cpp b/dviware/dvisvgm/src/MiKTeXCom.cpp index c44b4c688d..18bfb19837 100644 --- a/dviware/dvisvgm/src/MiKTeXCom.cpp +++ b/dviware/dvisvgm/src/MiKTeXCom.cpp @@ -2,7 +2,7 @@ ** MiKTeXCom.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/MiKTeXCom.hpp b/dviware/dvisvgm/src/MiKTeXCom.hpp index 48b7334d2c..f2530c7d8d 100644 --- a/dviware/dvisvgm/src/MiKTeXCom.hpp +++ b/dviware/dvisvgm/src/MiKTeXCom.hpp @@ -2,7 +2,7 @@ ** MiKTeXCom.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/NoPsSpecialHandler.cpp b/dviware/dvisvgm/src/NoPsSpecialHandler.cpp index 644b2220d8..65f098eb35 100644 --- a/dviware/dvisvgm/src/NoPsSpecialHandler.cpp +++ b/dviware/dvisvgm/src/NoPsSpecialHandler.cpp @@ -2,7 +2,7 @@ ** NoPsSpecialHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/NoPsSpecialHandler.hpp b/dviware/dvisvgm/src/NoPsSpecialHandler.hpp index 3cd89b98f8..d6de4519ea 100644 --- a/dviware/dvisvgm/src/NoPsSpecialHandler.hpp +++ b/dviware/dvisvgm/src/NoPsSpecialHandler.hpp @@ -2,7 +2,7 @@ ** NoPsSpecialHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/NumericRanges.hpp b/dviware/dvisvgm/src/NumericRanges.hpp index 8e83766411..5ddd3f2711 100644 --- a/dviware/dvisvgm/src/NumericRanges.hpp +++ b/dviware/dvisvgm/src/NumericRanges.hpp @@ -2,7 +2,7 @@ ** NumericRanges.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/OFM.cpp b/dviware/dvisvgm/src/OFM.cpp index 63872671f1..606635d06a 100644 --- a/dviware/dvisvgm/src/OFM.cpp +++ b/dviware/dvisvgm/src/OFM.cpp @@ -2,7 +2,7 @@ ** OFM.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/OFM.hpp b/dviware/dvisvgm/src/OFM.hpp index 560bc1f634..993edbc95e 100644 --- a/dviware/dvisvgm/src/OFM.hpp +++ b/dviware/dvisvgm/src/OFM.hpp @@ -2,7 +2,7 @@ ** OFM.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Opacity.cpp b/dviware/dvisvgm/src/Opacity.cpp index 027992028b..ad3edb7075 100644 --- a/dviware/dvisvgm/src/Opacity.cpp +++ b/dviware/dvisvgm/src/Opacity.cpp @@ -2,7 +2,7 @@ ** Opacity.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Opacity.hpp b/dviware/dvisvgm/src/Opacity.hpp index 867e69993a..974cb842e1 100644 --- a/dviware/dvisvgm/src/Opacity.hpp +++ b/dviware/dvisvgm/src/Opacity.hpp @@ -2,7 +2,7 @@ ** Opacity.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PDFHandler.cpp b/dviware/dvisvgm/src/PDFHandler.cpp index 9d374e9874..f401c34409 100644 --- a/dviware/dvisvgm/src/PDFHandler.cpp +++ b/dviware/dvisvgm/src/PDFHandler.cpp @@ -2,7 +2,7 @@ ** PDFHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -650,7 +650,7 @@ void PDFHandler::doFillText (XMLElement *trcFillTextElement) { if (filename.empty()) filename = "sys://"+fontname; double ptsize = matrix_extent({trm[0], trm[1], 0, trm[2], trm[3]}); - ptsize = round(10*ptsize)/10; + ptsize = round(100*ptsize)/100; int fontID = FontManager::instance().registerFont(filename, fontname, ptsize); if (fontID >= 0) { auto font = font_cast(FontManager::instance().getFontById(fontID)); diff --git a/dviware/dvisvgm/src/PDFHandler.hpp b/dviware/dvisvgm/src/PDFHandler.hpp index 708c9969ef..abc71a681b 100644 --- a/dviware/dvisvgm/src/PDFHandler.hpp +++ b/dviware/dvisvgm/src/PDFHandler.hpp @@ -2,7 +2,7 @@ ** PDFHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PDFParser.cpp b/dviware/dvisvgm/src/PDFParser.cpp index 6a8fa2f3cf..7d604a49ab 100644 --- a/dviware/dvisvgm/src/PDFParser.cpp +++ b/dviware/dvisvgm/src/PDFParser.cpp @@ -2,7 +2,7 @@ ** PDFParser.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PDFParser.hpp b/dviware/dvisvgm/src/PDFParser.hpp index bf76a94616..750984d72d 100644 --- a/dviware/dvisvgm/src/PDFParser.hpp +++ b/dviware/dvisvgm/src/PDFParser.hpp @@ -2,7 +2,7 @@ ** PDFParser.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PDFToSVG.cpp b/dviware/dvisvgm/src/PDFToSVG.cpp index 9cb30d3971..b1a751915d 100644 --- a/dviware/dvisvgm/src/PDFToSVG.cpp +++ b/dviware/dvisvgm/src/PDFToSVG.cpp @@ -2,7 +2,7 @@ ** PDFToSVG.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PDFToSVG.hpp b/dviware/dvisvgm/src/PDFToSVG.hpp index 4319c59c51..598d6c3a3d 100644 --- a/dviware/dvisvgm/src/PDFToSVG.hpp +++ b/dviware/dvisvgm/src/PDFToSVG.hpp @@ -2,7 +2,7 @@ ** PDFToSVG.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PSInterpreter.cpp b/dviware/dvisvgm/src/PSInterpreter.cpp index cd24ec03b9..7b9656be7e 100644 --- a/dviware/dvisvgm/src/PSInterpreter.cpp +++ b/dviware/dvisvgm/src/PSInterpreter.cpp @@ -2,7 +2,7 @@ ** PSInterpreter.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PSInterpreter.hpp b/dviware/dvisvgm/src/PSInterpreter.hpp index c71c5af249..d77d8bfa97 100644 --- a/dviware/dvisvgm/src/PSInterpreter.hpp +++ b/dviware/dvisvgm/src/PSInterpreter.hpp @@ -2,7 +2,7 @@ ** PSInterpreter.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PSPattern.cpp b/dviware/dvisvgm/src/PSPattern.cpp index a2c935d579..8271d7277d 100644 --- a/dviware/dvisvgm/src/PSPattern.cpp +++ b/dviware/dvisvgm/src/PSPattern.cpp @@ -2,7 +2,7 @@ ** PSPattern.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PSPattern.hpp b/dviware/dvisvgm/src/PSPattern.hpp index 33d5762f56..4462285623 100644 --- a/dviware/dvisvgm/src/PSPattern.hpp +++ b/dviware/dvisvgm/src/PSPattern.hpp @@ -2,7 +2,7 @@ ** PSPattern.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PSPreviewHandler.cpp b/dviware/dvisvgm/src/PSPreviewHandler.cpp index 833890c3eb..33fedbff22 100644 --- a/dviware/dvisvgm/src/PSPreviewHandler.cpp +++ b/dviware/dvisvgm/src/PSPreviewHandler.cpp @@ -2,7 +2,7 @@ ** PSPreviewHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PSPreviewHandler.hpp b/dviware/dvisvgm/src/PSPreviewHandler.hpp index 4823aca3bc..911f3c0183 100644 --- a/dviware/dvisvgm/src/PSPreviewHandler.hpp +++ b/dviware/dvisvgm/src/PSPreviewHandler.hpp @@ -2,7 +2,7 @@ ** PSPreviewHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PageRanges.cpp b/dviware/dvisvgm/src/PageRanges.cpp index e80aa4839b..587e1e6101 100644 --- a/dviware/dvisvgm/src/PageRanges.cpp +++ b/dviware/dvisvgm/src/PageRanges.cpp @@ -2,7 +2,7 @@ ** PageRanges.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PageRanges.hpp b/dviware/dvisvgm/src/PageRanges.hpp index d998d28c9f..ccf188f412 100644 --- a/dviware/dvisvgm/src/PageRanges.hpp +++ b/dviware/dvisvgm/src/PageRanges.hpp @@ -2,7 +2,7 @@ ** PageRanges.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PageSize.cpp b/dviware/dvisvgm/src/PageSize.cpp index 1af696fe58..85401baccf 100644 --- a/dviware/dvisvgm/src/PageSize.cpp +++ b/dviware/dvisvgm/src/PageSize.cpp @@ -2,7 +2,7 @@ ** PageSize.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PageSize.hpp b/dviware/dvisvgm/src/PageSize.hpp index 8670f718c1..3a97fe2c5f 100644 --- a/dviware/dvisvgm/src/PageSize.hpp +++ b/dviware/dvisvgm/src/PageSize.hpp @@ -2,7 +2,7 @@ ** PageSize.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Pair.hpp b/dviware/dvisvgm/src/Pair.hpp index 176183ecea..21afb20f76 100644 --- a/dviware/dvisvgm/src/Pair.hpp +++ b/dviware/dvisvgm/src/Pair.hpp @@ -2,7 +2,7 @@ ** Pair.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PapersizeSpecialHandler.cpp b/dviware/dvisvgm/src/PapersizeSpecialHandler.cpp index 81169dbbb0..3424527076 100644 --- a/dviware/dvisvgm/src/PapersizeSpecialHandler.cpp +++ b/dviware/dvisvgm/src/PapersizeSpecialHandler.cpp @@ -2,7 +2,7 @@ ** PapersizeSpecialHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PapersizeSpecialHandler.hpp b/dviware/dvisvgm/src/PapersizeSpecialHandler.hpp index 2f3e9e863f..d92c563b06 100644 --- a/dviware/dvisvgm/src/PapersizeSpecialHandler.hpp +++ b/dviware/dvisvgm/src/PapersizeSpecialHandler.hpp @@ -2,7 +2,7 @@ ** PapersizeSpecialHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PathClipper.cpp b/dviware/dvisvgm/src/PathClipper.cpp index 14588f8981..346400d687 100644 --- a/dviware/dvisvgm/src/PathClipper.cpp +++ b/dviware/dvisvgm/src/PathClipper.cpp @@ -2,7 +2,7 @@ ** PathClipper.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PathClipper.hpp b/dviware/dvisvgm/src/PathClipper.hpp index c398c38db8..64d6273991 100644 --- a/dviware/dvisvgm/src/PathClipper.hpp +++ b/dviware/dvisvgm/src/PathClipper.hpp @@ -2,7 +2,7 @@ ** PathClipper.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PdfSpecialHandler.cpp b/dviware/dvisvgm/src/PdfSpecialHandler.cpp index b3128512c9..dee88b27da 100644 --- a/dviware/dvisvgm/src/PdfSpecialHandler.cpp +++ b/dviware/dvisvgm/src/PdfSpecialHandler.cpp @@ -2,7 +2,7 @@ ** PdfSpecialHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PdfSpecialHandler.hpp b/dviware/dvisvgm/src/PdfSpecialHandler.hpp index 4c5509d093..68071d2c32 100644 --- a/dviware/dvisvgm/src/PdfSpecialHandler.hpp +++ b/dviware/dvisvgm/src/PdfSpecialHandler.hpp @@ -2,7 +2,7 @@ ** PdfSpecialHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PreScanDVIReader.cpp b/dviware/dvisvgm/src/PreScanDVIReader.cpp index dfcb4b1ddb..898f411466 100644 --- a/dviware/dvisvgm/src/PreScanDVIReader.cpp +++ b/dviware/dvisvgm/src/PreScanDVIReader.cpp @@ -2,7 +2,7 @@ ** PreScanDVIReader.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PreScanDVIReader.hpp b/dviware/dvisvgm/src/PreScanDVIReader.hpp index 2668815a48..a6905b35ec 100644 --- a/dviware/dvisvgm/src/PreScanDVIReader.hpp +++ b/dviware/dvisvgm/src/PreScanDVIReader.hpp @@ -2,7 +2,7 @@ ** PreScanDVIReader.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Process.cpp b/dviware/dvisvgm/src/Process.cpp index b7fb3929b8..3281396f3a 100644 --- a/dviware/dvisvgm/src/Process.cpp +++ b/dviware/dvisvgm/src/Process.cpp @@ -2,7 +2,7 @@ ** Process.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Process.hpp b/dviware/dvisvgm/src/Process.hpp index 5fa5e9765b..e0cbf7ce08 100644 --- a/dviware/dvisvgm/src/Process.hpp +++ b/dviware/dvisvgm/src/Process.hpp @@ -2,7 +2,7 @@ ** Process.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PsSpecialHandler.cpp b/dviware/dvisvgm/src/PsSpecialHandler.cpp index a2dc107215..bc56362722 100644 --- a/dviware/dvisvgm/src/PsSpecialHandler.cpp +++ b/dviware/dvisvgm/src/PsSpecialHandler.cpp @@ -2,7 +2,7 @@ ** PsSpecialHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/PsSpecialHandler.hpp b/dviware/dvisvgm/src/PsSpecialHandler.hpp index 90285a2b0e..67d6219752 100644 --- a/dviware/dvisvgm/src/PsSpecialHandler.hpp +++ b/dviware/dvisvgm/src/PsSpecialHandler.hpp @@ -2,7 +2,7 @@ ** PsSpecialHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/RangeMap.cpp b/dviware/dvisvgm/src/RangeMap.cpp index 11489113f3..7eca6ee659 100644 --- a/dviware/dvisvgm/src/RangeMap.cpp +++ b/dviware/dvisvgm/src/RangeMap.cpp @@ -2,7 +2,7 @@ ** RangeMap.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/RangeMap.hpp b/dviware/dvisvgm/src/RangeMap.hpp index be708b7180..ff6db0270e 100644 --- a/dviware/dvisvgm/src/RangeMap.hpp +++ b/dviware/dvisvgm/src/RangeMap.hpp @@ -2,7 +2,7 @@ ** RangeMap.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGCharHandler.cpp b/dviware/dvisvgm/src/SVGCharHandler.cpp index b7a1b425a5..812b215fe8 100644 --- a/dviware/dvisvgm/src/SVGCharHandler.cpp +++ b/dviware/dvisvgm/src/SVGCharHandler.cpp @@ -2,7 +2,7 @@ ** SVGCharHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGCharHandler.hpp b/dviware/dvisvgm/src/SVGCharHandler.hpp index 2df8957d68..f50ec46652 100644 --- a/dviware/dvisvgm/src/SVGCharHandler.hpp +++ b/dviware/dvisvgm/src/SVGCharHandler.hpp @@ -2,7 +2,7 @@ ** SVGCharHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGCharHandlerFactory.cpp b/dviware/dvisvgm/src/SVGCharHandlerFactory.cpp index 3f83f18e29..4e91d290f0 100644 --- a/dviware/dvisvgm/src/SVGCharHandlerFactory.cpp +++ b/dviware/dvisvgm/src/SVGCharHandlerFactory.cpp @@ -2,7 +2,7 @@ ** SVGCharHandlerFactory.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGCharHandlerFactory.hpp b/dviware/dvisvgm/src/SVGCharHandlerFactory.hpp index 7c195e63a4..5ff8d9b4c2 100644 --- a/dviware/dvisvgm/src/SVGCharHandlerFactory.hpp +++ b/dviware/dvisvgm/src/SVGCharHandlerFactory.hpp @@ -2,7 +2,7 @@ ** SVGCharHandlerFactory.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGCharPathHandler.cpp b/dviware/dvisvgm/src/SVGCharPathHandler.cpp index dc0c0724bb..e5e69a0ca1 100644 --- a/dviware/dvisvgm/src/SVGCharPathHandler.cpp +++ b/dviware/dvisvgm/src/SVGCharPathHandler.cpp @@ -2,7 +2,7 @@ ** SVGCharPathHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGCharPathHandler.hpp b/dviware/dvisvgm/src/SVGCharPathHandler.hpp index 32fb1b3b74..b0c675df5c 100644 --- a/dviware/dvisvgm/src/SVGCharPathHandler.hpp +++ b/dviware/dvisvgm/src/SVGCharPathHandler.hpp @@ -2,7 +2,7 @@ ** SVGCharPathHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGCharTspanTextHandler.cpp b/dviware/dvisvgm/src/SVGCharTspanTextHandler.cpp index 426934f426..5851eda463 100644 --- a/dviware/dvisvgm/src/SVGCharTspanTextHandler.cpp +++ b/dviware/dvisvgm/src/SVGCharTspanTextHandler.cpp @@ -2,7 +2,7 @@ ** SVGCharTspanTextHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGCharTspanTextHandler.hpp b/dviware/dvisvgm/src/SVGCharTspanTextHandler.hpp index 168d616d8e..dd6df1a861 100644 --- a/dviware/dvisvgm/src/SVGCharTspanTextHandler.hpp +++ b/dviware/dvisvgm/src/SVGCharTspanTextHandler.hpp @@ -2,7 +2,7 @@ ** SVGCharTspanTextHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGElement.cpp b/dviware/dvisvgm/src/SVGElement.cpp index b0f1db925c..9664e89280 100644 --- a/dviware/dvisvgm/src/SVGElement.cpp +++ b/dviware/dvisvgm/src/SVGElement.cpp @@ -2,7 +2,7 @@ ** SVGElement.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGElement.hpp b/dviware/dvisvgm/src/SVGElement.hpp index 3197cfc115..dac3749eb4 100644 --- a/dviware/dvisvgm/src/SVGElement.hpp +++ b/dviware/dvisvgm/src/SVGElement.hpp @@ -2,7 +2,7 @@ ** SVGElement.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGOutput.cpp b/dviware/dvisvgm/src/SVGOutput.cpp index d5f219e7cd..b7b4780131 100644 --- a/dviware/dvisvgm/src/SVGOutput.cpp +++ b/dviware/dvisvgm/src/SVGOutput.cpp @@ -2,7 +2,7 @@ ** SVGOutput.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGOutput.hpp b/dviware/dvisvgm/src/SVGOutput.hpp index 9032543c47..e71f8c5790 100644 --- a/dviware/dvisvgm/src/SVGOutput.hpp +++ b/dviware/dvisvgm/src/SVGOutput.hpp @@ -2,7 +2,7 @@ ** SVGOutput.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGSingleCharTextHandler.cpp b/dviware/dvisvgm/src/SVGSingleCharTextHandler.cpp index 1dcab96317..c4af8d627d 100644 --- a/dviware/dvisvgm/src/SVGSingleCharTextHandler.cpp +++ b/dviware/dvisvgm/src/SVGSingleCharTextHandler.cpp @@ -2,7 +2,7 @@ ** SVGSingleCharTextHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGSingleCharTextHandler.hpp b/dviware/dvisvgm/src/SVGSingleCharTextHandler.hpp index b97f463cfa..15bbd59ac3 100644 --- a/dviware/dvisvgm/src/SVGSingleCharTextHandler.hpp +++ b/dviware/dvisvgm/src/SVGSingleCharTextHandler.hpp @@ -2,7 +2,7 @@ ** SVGSingleCharTextHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGTree.cpp b/dviware/dvisvgm/src/SVGTree.cpp index 74b6913b20..f6f896dfd1 100644 --- a/dviware/dvisvgm/src/SVGTree.cpp +++ b/dviware/dvisvgm/src/SVGTree.cpp @@ -2,7 +2,7 @@ ** SVGTree.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SVGTree.hpp b/dviware/dvisvgm/src/SVGTree.hpp index a368932d36..cc9338c535 100644 --- a/dviware/dvisvgm/src/SVGTree.hpp +++ b/dviware/dvisvgm/src/SVGTree.hpp @@ -2,7 +2,7 @@ ** SVGTree.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/ShadingPatch.cpp b/dviware/dvisvgm/src/ShadingPatch.cpp index 0f6a20e9d3..e1d860febb 100644 --- a/dviware/dvisvgm/src/ShadingPatch.cpp +++ b/dviware/dvisvgm/src/ShadingPatch.cpp @@ -2,7 +2,7 @@ ** ShadingPatch.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/ShadingPatch.hpp b/dviware/dvisvgm/src/ShadingPatch.hpp index a11b5dd359..88300a7f46 100644 --- a/dviware/dvisvgm/src/ShadingPatch.hpp +++ b/dviware/dvisvgm/src/ShadingPatch.hpp @@ -2,7 +2,7 @@ ** ShadingPatch.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SignalHandler.cpp b/dviware/dvisvgm/src/SignalHandler.cpp index e1a99a581e..8b2501fa2f 100644 --- a/dviware/dvisvgm/src/SignalHandler.cpp +++ b/dviware/dvisvgm/src/SignalHandler.cpp @@ -2,7 +2,7 @@ ** SignalHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SignalHandler.hpp b/dviware/dvisvgm/src/SignalHandler.hpp index 9c343e0463..5c5f0d4850 100644 --- a/dviware/dvisvgm/src/SignalHandler.hpp +++ b/dviware/dvisvgm/src/SignalHandler.hpp @@ -2,7 +2,7 @@ ** SignalHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SourceInput.cpp b/dviware/dvisvgm/src/SourceInput.cpp index b63df62113..294a52422c 100644 --- a/dviware/dvisvgm/src/SourceInput.cpp +++ b/dviware/dvisvgm/src/SourceInput.cpp @@ -2,7 +2,7 @@ ** SourceInput.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SourceInput.hpp b/dviware/dvisvgm/src/SourceInput.hpp index 5ce6c8302a..e09d8705e1 100644 --- a/dviware/dvisvgm/src/SourceInput.hpp +++ b/dviware/dvisvgm/src/SourceInput.hpp @@ -2,7 +2,7 @@ ** SourceInput.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SpecialActions.cpp b/dviware/dvisvgm/src/SpecialActions.cpp new file mode 100644 index 0000000000..16cd161102 --- /dev/null +++ b/dviware/dvisvgm/src/SpecialActions.cpp @@ -0,0 +1,111 @@ +/************************************************************************* +** SpecialActions.cpp ** +** ** +** This file is part of dvisvgm -- a fast DVI to SVG converter ** +** Copyright (C) 2005-2024 Martin Gieseking ** +** ** +** This program is free software; you can redistribute it and/or ** +** modify it under the terms of the GNU General Public License as ** +** published by the Free Software Foundation; either version 3 of ** +** the License, or (at your option) any later version. ** +** ** +** This program is distributed in the hope that it will be useful, but ** +** WITHOUT ANY WARRANTY; without even the implied warranty of ** +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** +** GNU General Public License for more details. ** +** ** +** You should have received a copy of the GNU General Public License ** +** along with this program; if not, see . ** +*************************************************************************/ + +#include +#include "Calculator.hpp" +#include "SpecialActions.hpp" + +using namespace std; + +/** Replaces constants of the form {?name} by their corresponding value. + * @param[in,out] str text to expand + * @param[in] actions interfcae to the world outside the special handler */ +static void expand_constants (string &str, SpecialActions &actions) { + bool repl_bbox = true; + while (repl_bbox) { + const auto pos = str.find("{?bbox "); + if (pos == string::npos) + repl_bbox = false; + else { + auto endpos = pos+7; + while (endpos < str.length() && isalnum(str[endpos])) + ++endpos; + if (str[endpos] != '}') + repl_bbox = false; + else { + BoundingBox &box = actions.bbox(str.substr(pos+7, endpos-pos-7)); + str.replace(pos, endpos-pos+1, box.svgViewBoxString()); + } + } + } + const struct Constant { + const char *name; + string val; + } constants[] = { + {"x", XMLString(actions.getX())}, + {"y", XMLString(actions.getY())}, + {"color", SVGElement::USE_CURRENTCOLOR && SVGElement::CURRENTCOLOR == actions.getColor() ? "currentColor" : actions.getColor().svgColorString()}, + {"matrix", actions.getMatrix().toSVG()}, + {"nl", "\n"}, + {"pageno", to_string(actions.getCurrentPageNumber())}, + {"svgfile", actions.getSVGFilePath(actions.getCurrentPageNumber()).relative()}, + {"svgpath", actions.getSVGFilePath(actions.getCurrentPageNumber()).absolute()}, + }; + for (const Constant &constant : constants) { + const string pattern = string("{?")+constant.name+"}"; + auto pos = str.find(pattern); + while (pos != string::npos) { + str.replace(pos, strlen(constant.name)+3, constant.val); + pos = str.find(pattern, pos+constant.val.length()); // look for further matches + } + } +} + + +/** Evaluates substrings of the form {?(expr)} where 'expr' is a math expression, + * and replaces the substring by the computed value. + * @param[in,out] str string to scan for expressions */ +static void evaluate_expressions (string &str, const SpecialActions &actions) { + auto left = str.find("{?("); // start position of expression macro + while (left != string::npos) { + auto right = str.find(")}", left+2); // end position of expression macro + if (right == string::npos) + break; + Calculator calc; + calc.setVariable("x", actions.getX()); + calc.setVariable("y", actions.getY()); + string expr = str.substr(left+3, right-left-3); // math expression to evaluate + if (util::normalize_space(expr).empty()) // no expression given, e.g. {?( )} + str.erase(left, right-left+2); // => replace with empty string + else { + try { + double val = calc.eval(expr); + XMLString valstr(val); + str.replace(left, right-left+2, valstr); + right = left+valstr.length()-1; + } + catch (CalculatorException &e) { + throw SpecialException(string(e.what())+" in '{?("+expr+")}'"); + } + } + left = str.find("{?(", right+1); // find next expression macro + } +} + + +/** Returns a given string with macros and arithmetic expressions expanded. + * @param[in] text string to be processed + * @return the expanded text */ +string SpecialActions::expandText (const string &text) { + string ret = text; + evaluate_expressions(ret, *this); + expand_constants(ret, *this); + return ret; +} \ No newline at end of file diff --git a/dviware/dvisvgm/src/SpecialActions.hpp b/dviware/dvisvgm/src/SpecialActions.hpp index 9a55331605..b1d4384016 100644 --- a/dviware/dvisvgm/src/SpecialActions.hpp +++ b/dviware/dvisvgm/src/SpecialActions.hpp @@ -2,7 +2,7 @@ ** SpecialActions.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -27,12 +27,17 @@ #include "Color.hpp" #include "FilePath.hpp" #include "Matrix.hpp" +#include "MessageException.hpp" #include "Opacity.hpp" #include "SVGTree.hpp" class XMLElement; class XMLNode; +struct SpecialException : public MessageException { + explicit SpecialException (const std::string &msg) : MessageException(msg) {} +}; + class SpecialActions { public: virtual ~SpecialActions () =default; @@ -63,6 +68,7 @@ class SpecialActions { virtual void lockOutput () {} virtual void unlockOutput () {} virtual bool outputLocked () const {return false;} + std::string expandText (const std::string &text); static double PROGRESSBAR_DELAY; ///< progress bar doesn't appear before this time has elapsed (in sec) }; diff --git a/dviware/dvisvgm/src/SpecialHandler.hpp b/dviware/dvisvgm/src/SpecialHandler.hpp index 860cfdea61..2182919361 100644 --- a/dviware/dvisvgm/src/SpecialHandler.hpp +++ b/dviware/dvisvgm/src/SpecialHandler.hpp @@ -2,7 +2,7 @@ ** SpecialHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -24,18 +24,10 @@ #include #include #include -#include "MessageException.hpp" - class SpecialActions; class SpecialManager; - -struct SpecialException : public MessageException { - explicit SpecialException (const std::string &msg) : MessageException(msg) {} -}; - - class SpecialHandler { public: virtual ~SpecialHandler () =default; diff --git a/dviware/dvisvgm/src/SpecialManager.cpp b/dviware/dvisvgm/src/SpecialManager.cpp index 0955f61aa4..21f70c4af2 100644 --- a/dviware/dvisvgm/src/SpecialManager.cpp +++ b/dviware/dvisvgm/src/SpecialManager.cpp @@ -2,7 +2,7 @@ ** SpecialManager.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/SpecialManager.hpp b/dviware/dvisvgm/src/SpecialManager.hpp index ed97f7f5be..b4eb95c991 100644 --- a/dviware/dvisvgm/src/SpecialManager.hpp +++ b/dviware/dvisvgm/src/SpecialManager.hpp @@ -2,7 +2,7 @@ ** SpecialManager.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/StreamReader.cpp b/dviware/dvisvgm/src/StreamReader.cpp index 1513ae97db..93d4045248 100644 --- a/dviware/dvisvgm/src/StreamReader.cpp +++ b/dviware/dvisvgm/src/StreamReader.cpp @@ -2,7 +2,7 @@ ** StreamReader.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/StreamReader.hpp b/dviware/dvisvgm/src/StreamReader.hpp index f775cd3bac..c5d06d4a3b 100644 --- a/dviware/dvisvgm/src/StreamReader.hpp +++ b/dviware/dvisvgm/src/StreamReader.hpp @@ -2,7 +2,7 @@ ** StreamReader.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/StreamWriter.cpp b/dviware/dvisvgm/src/StreamWriter.cpp index c534d31862..7f7909b5ef 100644 --- a/dviware/dvisvgm/src/StreamWriter.cpp +++ b/dviware/dvisvgm/src/StreamWriter.cpp @@ -2,7 +2,7 @@ ** StreamWriter.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/StreamWriter.hpp b/dviware/dvisvgm/src/StreamWriter.hpp index 473306f16a..059632076a 100644 --- a/dviware/dvisvgm/src/StreamWriter.hpp +++ b/dviware/dvisvgm/src/StreamWriter.hpp @@ -2,7 +2,7 @@ ** StreamWriter.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Subfont.cpp b/dviware/dvisvgm/src/Subfont.cpp index bb06429a53..4bec7c7666 100644 --- a/dviware/dvisvgm/src/Subfont.cpp +++ b/dviware/dvisvgm/src/Subfont.cpp @@ -2,7 +2,7 @@ ** Subfont.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Subfont.hpp b/dviware/dvisvgm/src/Subfont.hpp index c6978ed46d..b6167bb636 100644 --- a/dviware/dvisvgm/src/Subfont.hpp +++ b/dviware/dvisvgm/src/Subfont.hpp @@ -2,7 +2,7 @@ ** Subfont.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/System.cpp b/dviware/dvisvgm/src/System.cpp index fc6db8b9e2..f210771620 100644 --- a/dviware/dvisvgm/src/System.cpp +++ b/dviware/dvisvgm/src/System.cpp @@ -2,7 +2,7 @@ ** System.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/System.hpp b/dviware/dvisvgm/src/System.hpp index f62f815165..5b83e0d227 100644 --- a/dviware/dvisvgm/src/System.hpp +++ b/dviware/dvisvgm/src/System.hpp @@ -2,7 +2,7 @@ ** System.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/TFM.cpp b/dviware/dvisvgm/src/TFM.cpp index e2ba673647..5105f5c9b3 100644 --- a/dviware/dvisvgm/src/TFM.cpp +++ b/dviware/dvisvgm/src/TFM.cpp @@ -2,7 +2,7 @@ ** TFM.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/TFM.hpp b/dviware/dvisvgm/src/TFM.hpp index dd3fa32401..0ee44ec7ad 100644 --- a/dviware/dvisvgm/src/TFM.hpp +++ b/dviware/dvisvgm/src/TFM.hpp @@ -2,7 +2,7 @@ ** TFM.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/TensorProductPatch.cpp b/dviware/dvisvgm/src/TensorProductPatch.cpp index 20c1e6aa93..e0be694500 100644 --- a/dviware/dvisvgm/src/TensorProductPatch.cpp +++ b/dviware/dvisvgm/src/TensorProductPatch.cpp @@ -2,7 +2,7 @@ ** TensorProductPatch.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/TensorProductPatch.hpp b/dviware/dvisvgm/src/TensorProductPatch.hpp index 7150d189c8..f81d0686b0 100644 --- a/dviware/dvisvgm/src/TensorProductPatch.hpp +++ b/dviware/dvisvgm/src/TensorProductPatch.hpp @@ -2,7 +2,7 @@ ** TensorProductPatch.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Terminal.cpp b/dviware/dvisvgm/src/Terminal.cpp index e3b3e4c13a..4604cb5613 100644 --- a/dviware/dvisvgm/src/Terminal.cpp +++ b/dviware/dvisvgm/src/Terminal.cpp @@ -2,7 +2,7 @@ ** Terminal.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Terminal.hpp b/dviware/dvisvgm/src/Terminal.hpp index 897d2d8c03..80191b396f 100644 --- a/dviware/dvisvgm/src/Terminal.hpp +++ b/dviware/dvisvgm/src/Terminal.hpp @@ -2,7 +2,7 @@ ** Terminal.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/ToUnicodeMap.cpp b/dviware/dvisvgm/src/ToUnicodeMap.cpp index 4414223572..c9d87e4c09 100644 --- a/dviware/dvisvgm/src/ToUnicodeMap.cpp +++ b/dviware/dvisvgm/src/ToUnicodeMap.cpp @@ -2,7 +2,7 @@ ** ToUnicodeMap.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/ToUnicodeMap.hpp b/dviware/dvisvgm/src/ToUnicodeMap.hpp index 447ca46232..dc0f2bc804 100644 --- a/dviware/dvisvgm/src/ToUnicodeMap.hpp +++ b/dviware/dvisvgm/src/ToUnicodeMap.hpp @@ -2,7 +2,7 @@ ** ToUnicodeMap.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/TpicSpecialHandler.cpp b/dviware/dvisvgm/src/TpicSpecialHandler.cpp index e22970c31a..0ff9c881af 100644 --- a/dviware/dvisvgm/src/TpicSpecialHandler.cpp +++ b/dviware/dvisvgm/src/TpicSpecialHandler.cpp @@ -2,7 +2,7 @@ ** TpicSpecialHandler.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/TpicSpecialHandler.hpp b/dviware/dvisvgm/src/TpicSpecialHandler.hpp index 341a6a441c..59f1786d49 100644 --- a/dviware/dvisvgm/src/TpicSpecialHandler.hpp +++ b/dviware/dvisvgm/src/TpicSpecialHandler.hpp @@ -2,7 +2,7 @@ ** TpicSpecialHandler.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/TriangularPatch.cpp b/dviware/dvisvgm/src/TriangularPatch.cpp index a5867ac9f8..4b0bebfde0 100644 --- a/dviware/dvisvgm/src/TriangularPatch.cpp +++ b/dviware/dvisvgm/src/TriangularPatch.cpp @@ -2,7 +2,7 @@ ** TriangularPatch.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/TriangularPatch.hpp b/dviware/dvisvgm/src/TriangularPatch.hpp index 1ea03421a5..82a22f2a8e 100644 --- a/dviware/dvisvgm/src/TriangularPatch.hpp +++ b/dviware/dvisvgm/src/TriangularPatch.hpp @@ -2,7 +2,7 @@ ** TriangularPatch.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Unicode.cpp b/dviware/dvisvgm/src/Unicode.cpp index 91b01e90a6..646acaa127 100644 --- a/dviware/dvisvgm/src/Unicode.cpp +++ b/dviware/dvisvgm/src/Unicode.cpp @@ -2,7 +2,7 @@ ** Unicode.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/Unicode.hpp b/dviware/dvisvgm/src/Unicode.hpp index fb30b56fee..7f04bcf83a 100644 --- a/dviware/dvisvgm/src/Unicode.hpp +++ b/dviware/dvisvgm/src/Unicode.hpp @@ -2,7 +2,7 @@ ** Unicode.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/VFActions.hpp b/dviware/dvisvgm/src/VFActions.hpp index 6ab3c1e854..2c8d6e47cc 100644 --- a/dviware/dvisvgm/src/VFActions.hpp +++ b/dviware/dvisvgm/src/VFActions.hpp @@ -2,7 +2,7 @@ ** VFActions.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/VFReader.cpp b/dviware/dvisvgm/src/VFReader.cpp index 76fabb4994..bf126039e4 100644 --- a/dviware/dvisvgm/src/VFReader.cpp +++ b/dviware/dvisvgm/src/VFReader.cpp @@ -2,7 +2,7 @@ ** VFReader.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/VFReader.hpp b/dviware/dvisvgm/src/VFReader.hpp index fb397898f6..b708ca711c 100644 --- a/dviware/dvisvgm/src/VFReader.hpp +++ b/dviware/dvisvgm/src/VFReader.hpp @@ -2,7 +2,7 @@ ** VFReader.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/VectorIterator.hpp b/dviware/dvisvgm/src/VectorIterator.hpp index 486402ca62..1ec84f1e9f 100644 --- a/dviware/dvisvgm/src/VectorIterator.hpp +++ b/dviware/dvisvgm/src/VectorIterator.hpp @@ -2,7 +2,7 @@ ** VectorIterator.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/VectorStream.hpp b/dviware/dvisvgm/src/VectorStream.hpp index 04e7a99a8f..1018994400 100644 --- a/dviware/dvisvgm/src/VectorStream.hpp +++ b/dviware/dvisvgm/src/VectorStream.hpp @@ -2,7 +2,7 @@ ** VectorStream.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/XMLDocument.cpp b/dviware/dvisvgm/src/XMLDocument.cpp index ddaa3daa0d..b2adcb65e1 100644 --- a/dviware/dvisvgm/src/XMLDocument.cpp +++ b/dviware/dvisvgm/src/XMLDocument.cpp @@ -2,7 +2,7 @@ ** XMLDocument.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/XMLDocument.hpp b/dviware/dvisvgm/src/XMLDocument.hpp index 7a2e06fd01..c9694c6c2b 100644 --- a/dviware/dvisvgm/src/XMLDocument.hpp +++ b/dviware/dvisvgm/src/XMLDocument.hpp @@ -2,7 +2,7 @@ ** XMLDocument.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/XMLNode.cpp b/dviware/dvisvgm/src/XMLNode.cpp index b3d13e6a00..aaf381c65b 100644 --- a/dviware/dvisvgm/src/XMLNode.cpp +++ b/dviware/dvisvgm/src/XMLNode.cpp @@ -2,7 +2,7 @@ ** XMLNode.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/XMLNode.hpp b/dviware/dvisvgm/src/XMLNode.hpp index 829ea7c81c..35e4d500bf 100644 --- a/dviware/dvisvgm/src/XMLNode.hpp +++ b/dviware/dvisvgm/src/XMLNode.hpp @@ -2,7 +2,7 @@ ** XMLNode.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/XMLParser.cpp b/dviware/dvisvgm/src/XMLParser.cpp index c1da5373a6..23fee696a3 100644 --- a/dviware/dvisvgm/src/XMLParser.cpp +++ b/dviware/dvisvgm/src/XMLParser.cpp @@ -2,7 +2,7 @@ ** XMLParser.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/XMLParser.hpp b/dviware/dvisvgm/src/XMLParser.hpp index 7dbbcc25a4..a181e4c2af 100644 --- a/dviware/dvisvgm/src/XMLParser.hpp +++ b/dviware/dvisvgm/src/XMLParser.hpp @@ -2,7 +2,7 @@ ** XMLParser.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/XMLString.cpp b/dviware/dvisvgm/src/XMLString.cpp index 53f8bc1de1..426b75b7d0 100644 --- a/dviware/dvisvgm/src/XMLString.cpp +++ b/dviware/dvisvgm/src/XMLString.cpp @@ -2,7 +2,7 @@ ** XMLString.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/XMLString.hpp b/dviware/dvisvgm/src/XMLString.hpp index 6f58756f19..8731a26e84 100644 --- a/dviware/dvisvgm/src/XMLString.hpp +++ b/dviware/dvisvgm/src/XMLString.hpp @@ -2,7 +2,7 @@ ** XMLString.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/XXHashFunction.hpp b/dviware/dvisvgm/src/XXHashFunction.hpp index f93ae3eb38..d26cd3c058 100644 --- a/dviware/dvisvgm/src/XXHashFunction.hpp +++ b/dviware/dvisvgm/src/XXHashFunction.hpp @@ -2,7 +2,7 @@ ** XXHashFunction.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/ZLibOutputStream.hpp b/dviware/dvisvgm/src/ZLibOutputStream.hpp index bc99621bd8..7f3e7d72f4 100644 --- a/dviware/dvisvgm/src/ZLibOutputStream.hpp +++ b/dviware/dvisvgm/src/ZLibOutputStream.hpp @@ -2,7 +2,7 @@ ** ZLibOutputStream.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/dvisvgm.cpp b/dviware/dvisvgm/src/dvisvgm.cpp index 5ba5998408..8815fb77b8 100644 --- a/dviware/dvisvgm/src/dvisvgm.cpp +++ b/dviware/dvisvgm/src/dvisvgm.cpp @@ -2,7 +2,7 @@ ** dvisvgm.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -438,6 +438,7 @@ static void convert_file (size_t fnameIndex, const CommandLine &cmdline) { ? static_cast(new EPSToSVG(srcin.getFilePath(), out)) : static_cast(new PDFToSVG(srcin.getFilePath(), out))); img2svg->setPageTransformation(get_transformation_string(cmdline)); + img2svg->setUserMessage(cmdline.messageOpt.value()); img2svg->convert(cmdline.pageOpt.value(), &pageinfo); timer_message(start_time, img2svg->isSinglePageFormat() ? nullptr : &pageinfo); } @@ -451,6 +452,7 @@ static void convert_file (size_t fnameIndex, const CommandLine &cmdline) { dvi2svg.setProcessSpecials(ignore_specials, true); dvi2svg.setPageTransformation(get_transformation_string(cmdline)); dvi2svg.setPageSize(cmdline.bboxOpt.value()); + dvi2svg.setUserMessage(cmdline.messageOpt.value()); dvi2svg.convert(cmdline.pageOpt.value(), &pageinfo); timer_message(start_time, &pageinfo); } diff --git a/dviware/dvisvgm/src/fonts/Base14Fonts.cpp b/dviware/dvisvgm/src/fonts/Base14Fonts.cpp index 6f316ffca9..2861ad96c1 100644 --- a/dviware/dvisvgm/src/fonts/Base14Fonts.cpp +++ b/dviware/dvisvgm/src/fonts/Base14Fonts.cpp @@ -2,7 +2,7 @@ ** Base14Fonts.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/fonts/Base14Fonts.hpp b/dviware/dvisvgm/src/fonts/Base14Fonts.hpp index 8746f593d6..9acf3d7d78 100644 --- a/dviware/dvisvgm/src/fonts/Base14Fonts.hpp +++ b/dviware/dvisvgm/src/fonts/Base14Fonts.hpp @@ -2,7 +2,7 @@ ** Base14Fonts.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/macros.hpp b/dviware/dvisvgm/src/macros.hpp index d4091c83b9..cc546f72c2 100644 --- a/dviware/dvisvgm/src/macros.hpp +++ b/dviware/dvisvgm/src/macros.hpp @@ -2,7 +2,7 @@ ** macros.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/AttributeExtractor.cpp b/dviware/dvisvgm/src/optimizer/AttributeExtractor.cpp index c058f342ef..8fd7552dd6 100644 --- a/dviware/dvisvgm/src/optimizer/AttributeExtractor.cpp +++ b/dviware/dvisvgm/src/optimizer/AttributeExtractor.cpp @@ -2,7 +2,7 @@ ** AttributeExtractor.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/AttributeExtractor.hpp b/dviware/dvisvgm/src/optimizer/AttributeExtractor.hpp index a0feb09918..5c75974685 100644 --- a/dviware/dvisvgm/src/optimizer/AttributeExtractor.hpp +++ b/dviware/dvisvgm/src/optimizer/AttributeExtractor.hpp @@ -2,7 +2,7 @@ ** AttributeExtractor.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/ClipPathReassigner.cpp b/dviware/dvisvgm/src/optimizer/ClipPathReassigner.cpp index 2cd59558b0..e04a31c18d 100644 --- a/dviware/dvisvgm/src/optimizer/ClipPathReassigner.cpp +++ b/dviware/dvisvgm/src/optimizer/ClipPathReassigner.cpp @@ -2,7 +2,7 @@ ** ClipPathReassigner.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/ClipPathReassigner.hpp b/dviware/dvisvgm/src/optimizer/ClipPathReassigner.hpp index 8d01a9db78..798d431ef7 100644 --- a/dviware/dvisvgm/src/optimizer/ClipPathReassigner.hpp +++ b/dviware/dvisvgm/src/optimizer/ClipPathReassigner.hpp @@ -2,7 +2,7 @@ ** ClipPathReassigner.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/DependencyGraph.hpp b/dviware/dvisvgm/src/optimizer/DependencyGraph.hpp index b6bf7ef3db..81ab6d9615 100644 --- a/dviware/dvisvgm/src/optimizer/DependencyGraph.hpp +++ b/dviware/dvisvgm/src/optimizer/DependencyGraph.hpp @@ -2,7 +2,7 @@ ** DependencyGraph.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/GroupCollapser.cpp b/dviware/dvisvgm/src/optimizer/GroupCollapser.cpp index 2eb8746245..6454ceb5cb 100644 --- a/dviware/dvisvgm/src/optimizer/GroupCollapser.cpp +++ b/dviware/dvisvgm/src/optimizer/GroupCollapser.cpp @@ -2,7 +2,7 @@ ** GroupCollapser.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/GroupCollapser.hpp b/dviware/dvisvgm/src/optimizer/GroupCollapser.hpp index 25f3cf23c4..f5edb946e7 100644 --- a/dviware/dvisvgm/src/optimizer/GroupCollapser.hpp +++ b/dviware/dvisvgm/src/optimizer/GroupCollapser.hpp @@ -2,7 +2,7 @@ ** GroupCollapser.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/OptimizerModule.hpp b/dviware/dvisvgm/src/optimizer/OptimizerModule.hpp index ac69a0cb5e..dbf61eac92 100644 --- a/dviware/dvisvgm/src/optimizer/OptimizerModule.hpp +++ b/dviware/dvisvgm/src/optimizer/OptimizerModule.hpp @@ -2,7 +2,7 @@ ** OptimizerModule.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/RedundantElementRemover.cpp b/dviware/dvisvgm/src/optimizer/RedundantElementRemover.cpp index 7dc17f04a7..12fb9e0816 100644 --- a/dviware/dvisvgm/src/optimizer/RedundantElementRemover.cpp +++ b/dviware/dvisvgm/src/optimizer/RedundantElementRemover.cpp @@ -2,7 +2,7 @@ ** RedundantElementRemover.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/RedundantElementRemover.hpp b/dviware/dvisvgm/src/optimizer/RedundantElementRemover.hpp index 88c8680d6e..3cedd27dd6 100644 --- a/dviware/dvisvgm/src/optimizer/RedundantElementRemover.hpp +++ b/dviware/dvisvgm/src/optimizer/RedundantElementRemover.hpp @@ -2,7 +2,7 @@ ** RedundantElementRemover.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp b/dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp index 1554dc9894..402a83997f 100644 --- a/dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp +++ b/dviware/dvisvgm/src/optimizer/SVGOptimizer.cpp @@ -2,7 +2,7 @@ ** SVGOptimizer.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/SVGOptimizer.hpp b/dviware/dvisvgm/src/optimizer/SVGOptimizer.hpp index 942cff8972..a29c273704 100644 --- a/dviware/dvisvgm/src/optimizer/SVGOptimizer.hpp +++ b/dviware/dvisvgm/src/optimizer/SVGOptimizer.hpp @@ -2,7 +2,7 @@ ** SVGOptimizer.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/TextSimplifier.cpp b/dviware/dvisvgm/src/optimizer/TextSimplifier.cpp index 05a5b40c47..25fec00997 100644 --- a/dviware/dvisvgm/src/optimizer/TextSimplifier.cpp +++ b/dviware/dvisvgm/src/optimizer/TextSimplifier.cpp @@ -2,7 +2,7 @@ ** TextSimplifier.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/TextSimplifier.hpp b/dviware/dvisvgm/src/optimizer/TextSimplifier.hpp index 7d16f59e7a..3ec9e3954f 100644 --- a/dviware/dvisvgm/src/optimizer/TextSimplifier.hpp +++ b/dviware/dvisvgm/src/optimizer/TextSimplifier.hpp @@ -2,7 +2,7 @@ ** TextSimplifier.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/TransformSimplifier.cpp b/dviware/dvisvgm/src/optimizer/TransformSimplifier.cpp index 4cf3f67d4a..6b36db1551 100644 --- a/dviware/dvisvgm/src/optimizer/TransformSimplifier.cpp +++ b/dviware/dvisvgm/src/optimizer/TransformSimplifier.cpp @@ -2,7 +2,7 @@ ** TransformSimplifier.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/TransformSimplifier.hpp b/dviware/dvisvgm/src/optimizer/TransformSimplifier.hpp index 659a7b5f96..15052fb87e 100644 --- a/dviware/dvisvgm/src/optimizer/TransformSimplifier.hpp +++ b/dviware/dvisvgm/src/optimizer/TransformSimplifier.hpp @@ -2,7 +2,7 @@ ** TransformSimplifier.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/WSNodeRemover.cpp b/dviware/dvisvgm/src/optimizer/WSNodeRemover.cpp index 9d4dc6d847..55f1ed77fb 100644 --- a/dviware/dvisvgm/src/optimizer/WSNodeRemover.cpp +++ b/dviware/dvisvgm/src/optimizer/WSNodeRemover.cpp @@ -2,7 +2,7 @@ ** WSNodeRemover.cpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/optimizer/WSNodeRemover.hpp b/dviware/dvisvgm/src/optimizer/WSNodeRemover.hpp index 5c7783ed62..3898ca3767 100644 --- a/dviware/dvisvgm/src/optimizer/WSNodeRemover.hpp +++ b/dviware/dvisvgm/src/optimizer/WSNodeRemover.hpp @@ -2,7 +2,7 @@ ** WSNodeRemover.hpp ** ** ** ** This file is part of dvisvgm -- a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/options.dtd b/dviware/dvisvgm/src/options.dtd index 1a2349b002..49ff5aa4cf 100644 --- a/dviware/dvisvgm/src/options.dtd +++ b/dviware/dvisvgm/src/options.dtd @@ -3,7 +3,7 @@ ** options.dtd ** ** ** ** This file is part of dvisvgm - a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** diff --git a/dviware/dvisvgm/src/options.xml b/dviware/dvisvgm/src/options.xml index 70fafe4c37..df8f40c6c2 100644 --- a/dviware/dvisvgm/src/options.xml +++ b/dviware/dvisvgm/src/options.xml @@ -3,7 +3,7 @@ ** options.xml ** ** ** ** This file is part of dvisvgm - a fast DVI to SVG converter ** -** Copyright (C) 2005-2023 Martin Gieseking ** +** Copyright (C) 2005-2024 Martin Gieseking ** ** ** ** This program is free software; you can redistribute it and/or ** ** modify it under the terms of the GNU General Public License as ** @@ -26,7 +26,7 @@ --eps [options] epsfile --pdf [options] pdffile This program converts DVI files, as created by TeX/LaTeX, as well as\nEPS and PDF files to the XML-based scalable vector graphics format SVG. - Copyright (C) 2005-2023 Martin Gieseking <martin.gieseking@uos.de> + Copyright (C) 2005-2024 Martin Gieseking <martin.gieseking@uos.de>
@@ -200,13 +200,17 @@ +