Skip to content

Commit

Permalink
added evaluation of PDF hyperlink specials (closes #74)
Browse files Browse the repository at this point in the history
  • Loading branch information
mgieseki committed Oct 13, 2017
1 parent 8c8cb81 commit 7bf00f1
Show file tree
Hide file tree
Showing 24 changed files with 3,599 additions and 63 deletions.
23 changes: 23 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
Martin Gieseking <[email protected]>
author of dvisvgm

Yann Collet
libs/xxHash/xxhash.*
https://github.com/Cyan4973/xxHash

Google Inc.
libs/woff2/brotli/*
libs/woff2/include/*
libs/woff2/src/*
https://github.com/google/brotli
https://github.com/google/woff2

Angus Johnson
libs/clipper/clipper.*
https://sourceforge.net/projects/polyclipping/

Michael Park
libs/variant/include/mpark/*
https://github.com/mpark/variant

George Williams
libs/ff-woff/*
https://github.com/fontforge/fontforge

1 change: 1 addition & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ AC_CONFIG_FILES([
libs/Makefile
libs/clipper/Makefile
libs/ff-woff/Makefile
libs/variant/Makefile
libs/woff2/Makefile
libs/woff2/brotli/Makefile
libs/xxHash/Makefile
Expand Down
16 changes: 10 additions & 6 deletions doc/dvisvgm.txt.in
Original file line number Diff line number Diff line change
Expand Up @@ -657,12 +657,16 @@ the command-line. Otherwise, dvisvgm ignores them and computes tight bounding bo
*pdf*::
pdfTeX and dvipdfmx introduced several special commands related to the generation of PDF files. Currently,
only 'pdf:mapfile', 'pdf:mapline', and 'pdf:pagesize' are supported by dvisvgm. The latter is similar to the
'papersize' special (see above) which specifies the size of the current and all folowing pages. In order to
actually apply the extents to the generated SVG files, option *--bbox=papersize* must be given.
The other two PDF specials allow modifying the font map tree during while processing the DVI file. They are
used by CTeX, for example. dvisvgm supports both, the dvips and dvipdfm font map format. For further information
on the command syntax and semantics, see the documentation of +\pdfmapfile+ in the
only 'pdf:mapfile', 'pdf:mapline', 'pdf:pagesize', and PDF hyperlink specials are supported by dvisvgm.
The latter are the PDF pendants to the HTML HyperTeX specials generated by the hyperref package in PDF mode.
+
'pdf:pagesize' is similar to the 'papersize' special (see above) which specifies the size of the current
and all folowing pages. In order to actually apply the extents to the generated SVG files,
option *--bbox=papersize* must be given.
+
'pdf:mapfile' and 'pdf:mapline' allow modifying the font map tree while processing the DVI file.
They are used by CTeX, for example. dvisvgm supports both, the dvips and dvipdfm font map format. For further
information on the command syntax and semantics, see the documentation of +\pdfmapfile+ in the
http://www.ctan.org/pkg/pdftex[pdfTeX user manual].
*ps*::
Expand Down
2 changes: 1 addition & 1 deletion libs/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
##
## Process this file with automake.

SUBDIRS = clipper xxHash
SUBDIRS = clipper variant xxHash

if ENABLE_WOFF
SUBDIRS += ff-woff woff2
Expand Down
1 change: 1 addition & 0 deletions libs/variant/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
set(VARIANT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE PATH "variant include directory")
23 changes: 23 additions & 0 deletions libs/variant/LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
7 changes: 7 additions & 0 deletions libs/variant/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
noinst_HEADERS = \
include/mpark/config.hpp \
include/mpark/in_place.hpp \
include/mpark/lib.hpp \
include/mpark/variant.hpp

EXTRA_DIST = LICENSE.md
35 changes: 35 additions & 0 deletions libs/variant/include/mpark/in_place.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// MPark.Variant
//
// Copyright Michael Park, 2015-2017
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)

#ifndef MPARK_IN_PLACE_HPP
#define MPARK_IN_PLACE_HPP

#include <cstddef>

#include "config.hpp"

namespace mpark {

struct in_place_t { explicit in_place_t() = default; };

template <std::size_t I>
struct in_place_index_t { explicit in_place_index_t() = default; };

template <typename T>
struct in_place_type_t { explicit in_place_type_t() = default; };

#ifdef MPARK_VARIABLE_TEMPLATES
constexpr in_place_t in_place{};

template <std::size_t I> constexpr in_place_index_t<I> in_place_index{};

template <typename T> constexpr in_place_type_t<T> in_place_type{};
#endif

} // namespace mpark

#endif // MPARK_IN_PLACE_HPP
Loading

0 comments on commit 7bf00f1

Please sign in to comment.