summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJamie Lemon <jamie.lemon@artifex.com>2023-01-04 12:33:39 +0000
committerJamie Lemon <jamie.lemon@dijipiji.com>2023-02-02 15:33:29 +0000
commit00f9c8bc1acdd9d17691d9b4515c3d89509c21b5 (patch)
tree92c5aa9cbb17e7d240479772b3ffc7e5216d838d /doc
parentb0681d3fec5b696da67ad7f2854c606a5a55dcc3 (diff)
downloadghostpdl-00f9c8bc1acdd9d17691d9b4515c3d89509c21b5.tar.gz
Documentation updates
- Fixes favicon, updates docs with further device parameters for pdfwrite. - Removes translated man pages for German. - Adds a header to the documentation for all pages. Header includes: - Discord link. - Page feedback link. - Updates Make.rst with more make commands & moves meta data snippet into header.rst. - Explicity sets sphinx version for readthedocs in requirements.txt. - Removes refs to "-dNEWPDF=".
Diffstat (limited to 'doc')
-rw-r--r--doc/src/API.rst6
-rw-r--r--doc/src/C-style.rst4
-rw-r--r--doc/src/Develop.rst5
-rw-r--r--doc/src/DeviceSubclassing.rst4
-rw-r--r--doc/src/Devices.rst4
-rw-r--r--doc/src/Drivers.rst5
-rw-r--r--doc/src/Fonts.rst5
-rw-r--r--doc/src/GPDL.rst4
-rw-r--r--doc/src/GhostscriptColorManagement.rst5
-rw-r--r--doc/src/Install.rst4
-rw-r--r--doc/src/Language.rst8
-rw-r--r--doc/src/LanguageBindings.rst5
-rw-r--r--doc/src/LanguageBindingsCSharp.rst5
-rw-r--r--doc/src/LanguageBindingsJava.rst5
-rw-r--r--doc/src/LanguageBindingsPython.rst4
-rw-r--r--doc/src/Lib.rst5
-rw-r--r--doc/src/Make.rst29
-rw-r--r--doc/src/News.rst4
-rw-r--r--doc/src/Ps-style.rst4
-rw-r--r--doc/src/Ps2epsi.rst4
-rw-r--r--doc/src/Psfiles.rst5
-rw-r--r--doc/src/Readme.rst5
-rw-r--r--doc/src/SampleDownscaleDevice.rst4
-rw-r--r--doc/src/SavedPages.rst4
-rw-r--r--doc/src/Source.rst4
-rw-r--r--doc/src/Unix-lpr.rst4
-rw-r--r--doc/src/UnsupportedDevices.rst5
-rw-r--r--doc/src/Use.rst9
-rw-r--r--doc/src/VectorDevices.rst24
-rw-r--r--doc/src/_static/custom.css38
-rw-r--r--doc/src/_static/favicon.icobin0 -> 21662 bytes
-rw-r--r--doc/src/_static/favicon.svg39
-rw-r--r--doc/src/conf.py2
-rw-r--r--doc/src/footer.rst25
-rw-r--r--doc/src/header.rst18
-rw-r--r--doc/src/images/discord-mark-blue.svg1
-rw-r--r--doc/src/requirements.txt5
-rw-r--r--doc/src/thirdparty.rst4
-rw-r--r--doc/src/toc.rst2
39 files changed, 158 insertions, 159 deletions
diff --git a/doc/src/API.rst b/doc/src/API.rst
index 6d16d52c2..f8a5e7bc6 100644
--- a/doc/src/API.rst
+++ b/doc/src/API.rst
@@ -3,11 +3,7 @@
.. title:: API
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
-
-
+.. include:: header.rst
.. _API.htm:
diff --git a/doc/src/C-style.rst b/doc/src/C-style.rst
index c22ac57cf..3b61c33b2 100644
--- a/doc/src/C-style.rst
+++ b/doc/src/C-style.rst
@@ -3,10 +3,8 @@
.. title:: Ghostscript C Coding Guidelines
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _C-style.htm:
diff --git a/doc/src/Develop.rst b/doc/src/Develop.rst
index a898f7032..fef760968 100644
--- a/doc/src/Develop.rst
+++ b/doc/src/Develop.rst
@@ -3,10 +3,7 @@
.. title:: Information for Ghostscript Developers
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
-
+.. include:: header.rst
.. _Develop.htm:
.. _Ghostscript Developers:
diff --git a/doc/src/DeviceSubclassing.rst b/doc/src/DeviceSubclassing.rst
index b95184bb3..0f92a1f35 100644
--- a/doc/src/DeviceSubclassing.rst
+++ b/doc/src/DeviceSubclassing.rst
@@ -3,10 +3,8 @@
.. title:: Device Subclassing
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _DeviceSubclassing.htm:
diff --git a/doc/src/Devices.rst b/doc/src/Devices.rst
index d57f29575..ed9645e83 100644
--- a/doc/src/Devices.rst
+++ b/doc/src/Devices.rst
@@ -3,10 +3,8 @@
.. title:: Details of Ghostscript Output Devices
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _Devices.htm:
diff --git a/doc/src/Drivers.rst b/doc/src/Drivers.rst
index 28099d493..a47a7318c 100644
--- a/doc/src/Drivers.rst
+++ b/doc/src/Drivers.rst
@@ -3,10 +3,7 @@
.. title:: The Interface between Ghostscript and Device Drivers
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
-
+.. include:: header.rst
.. _Drivers.htm:
.. _Drivers:
diff --git a/doc/src/Fonts.rst b/doc/src/Fonts.rst
index c81392984..8a6258ada 100644
--- a/doc/src/Fonts.rst
+++ b/doc/src/Fonts.rst
@@ -3,10 +3,7 @@
.. title:: Fonts and Font Facilities Supplied with Ghostscript
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
-
+.. include:: header.rst
.. _Fonts.htm:
diff --git a/doc/src/GPDL.rst b/doc/src/GPDL.rst
index 83177b2f1..b25fb6430 100644
--- a/doc/src/GPDL.rst
+++ b/doc/src/GPDL.rst
@@ -3,10 +3,8 @@
.. title:: The GhostPDL Interpreter Framework
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _GPDL.htm:
diff --git a/doc/src/GhostscriptColorManagement.rst b/doc/src/GhostscriptColorManagement.rst
index 4e9b9edbd..ba65a120c 100644
--- a/doc/src/GhostscriptColorManagement.rst
+++ b/doc/src/GhostscriptColorManagement.rst
@@ -3,10 +3,7 @@
.. title:: Ghostscript Color Management
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
-
+.. include:: header.rst
.. _GhostscriptColorManagement.htm:
diff --git a/doc/src/Install.rst b/doc/src/Install.rst
index 2deeefe4b..a403dab19 100644
--- a/doc/src/Install.rst
+++ b/doc/src/Install.rst
@@ -3,10 +3,8 @@
.. title:: How to Install Ghostscript
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _Install.htm:
.. _HowToInstallGhostscript:
diff --git a/doc/src/Language.rst b/doc/src/Language.rst
index cc9f7a640..d54f3c3ef 100644
--- a/doc/src/Language.rst
+++ b/doc/src/Language.rst
@@ -3,10 +3,8 @@
.. title:: Ghostscript and the PostScript Language
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _Language.htm:
.. _Language:
@@ -780,6 +778,10 @@ Some versions of Ghostscript may also support other non-standard filters for exp
+
+.. _Language_DeviceParameters:
+
+
Device parameters
---------------------
diff --git a/doc/src/LanguageBindings.rst b/doc/src/LanguageBindings.rst
index 04cd45364..ef4998513 100644
--- a/doc/src/LanguageBindings.rst
+++ b/doc/src/LanguageBindings.rst
@@ -3,12 +3,9 @@
.. title:: Language Bindings
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
-
+.. include:: header.rst
Language Bindings
diff --git a/doc/src/LanguageBindingsCSharp.rst b/doc/src/LanguageBindingsCSharp.rst
index 58ca6b00f..ab113614c 100644
--- a/doc/src/LanguageBindingsCSharp.rst
+++ b/doc/src/LanguageBindingsCSharp.rst
@@ -3,11 +3,8 @@
.. title:: C#
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
-
+.. include:: header.rst
Introduction
=======================
diff --git a/doc/src/LanguageBindingsJava.rst b/doc/src/LanguageBindingsJava.rst
index 85e0c329f..e53ca1a6d 100644
--- a/doc/src/LanguageBindingsJava.rst
+++ b/doc/src/LanguageBindingsJava.rst
@@ -3,11 +3,8 @@
.. title:: Java
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
-
+.. include:: header.rst
Introduction
==============
diff --git a/doc/src/LanguageBindingsPython.rst b/doc/src/LanguageBindingsPython.rst
index 9c1361b7e..c62e141c1 100644
--- a/doc/src/LanguageBindingsPython.rst
+++ b/doc/src/LanguageBindingsPython.rst
@@ -3,10 +3,8 @@
.. title:: Python
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
Introduction
diff --git a/doc/src/Lib.rst b/doc/src/Lib.rst
index 6dafe694d..197b3d855 100644
--- a/doc/src/Lib.rst
+++ b/doc/src/Lib.rst
@@ -3,11 +3,10 @@
.. title:: The Ghostscript Library
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
+
.. _Lib.htm:
diff --git a/doc/src/Make.rst b/doc/src/Make.rst
index ca676835d..1a6ad96c5 100644
--- a/doc/src/Make.rst
+++ b/doc/src/Make.rst
@@ -3,11 +3,7 @@
.. title:: How to Build Ghostscript from Source Code
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
-
-
+.. include:: header.rst
.. _Make.htm:
@@ -456,13 +452,13 @@ Invoking "make"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``make``
- Builds Ghostscript without debugging options.
+ Builds :title:`Ghostscript` without debugging options.
.. _Make_Debugging:
``make debug``
- Builds Ghostscript with debugging options and additional internal error checks. The program will be somewhat larger and slower, but it will behave no differently unless you actually turn on debugging options at execution time with the ``-DDEBUG`` or :ref:`-Z command line switches<Use_Debugging>` described in the usage documentation.
+ Builds :title:`Ghostscript` with debugging options and additional internal error checks. The program will be somewhat larger and slower, but it will behave no differently unless you actually turn on debugging options at execution time with the ``-DDEBUG`` or :ref:`-Z command line switches<Use_Debugging>` described in the usage documentation.
``make pg``
On Unix platforms, builds with the ``-pg`` compiler switch, creating an executable for time profiling.
@@ -477,16 +473,28 @@ Invoking "make"
.. _Make_SharedObject:
``make so``
- On some platforms (Linux, \*BSD, Darwin/Mac OS X, SunOS), it is possible to build Ghostscript as a shared object library. There is a corresponding ``make soclean`` for cleaning up.
+ On some platforms (Linux, \*BSD, Darwin/Mac OS X, SunOS), it is possible to build :title:`Ghostscript` as a shared object library. There is a corresponding ``make soclean`` for cleaning up.
``make sanitize``
- Builds Ghostscript with ``AddressSanitizer``. Output is placed in ``./sanbin``.
+ Builds :title:`Ghostscript` with ``AddressSanitizer``. Output is placed in ``./sanbin``.
+
+``make libgs``
+ Builds static library for :title:`Ghostscript`.
+
+``make libgpcl6``
+ Builds static library for :title:`GhostPCL`. Requires the full ghostpdl_ source release.
+
+``make libgxps``
+ Builds static library for :title:`GhostXPS`. Requires the full ghostpdl_ source release.
+
+``make libgpdl``
+ Builds static library for :title:`GhostPDL`. Requires the full ghostpdl_ source release.
.. note::
- - On most platforms some of these simple instructions don't quite work in one way or another. Read the section on your specific platform.
+ - On some platforms aspects of these simple instructions don’t quite work in one way or another. Read the section on your specific platform.
- If you are attempting to build a statically linked executable, you will probably need to add libraries to the linker options (libraries that are normally pulled-in automatically by the dynamic linker). These can be added at the make command line using the ``EXTRALIBS=`` option. Unfortunately, the set of libraries that may be required varies greatly depending on platform and configuration, so it is not practical to offer a list here.
@@ -1016,6 +1024,7 @@ For Windows/MSVC you need only specify ``UFST_ROOT``. ``msvc.mak`` sets the othe
.. _git: http://git-scm.com/
+.. _ghostpdl:
.. _ghostpdl.git: http://git.ghostscript.com/?p=ghostpdl.git;a=summary
.. _WinZip: http://www.winzip.com/
diff --git a/doc/src/News.rst b/doc/src/News.rst
index 70965fca0..badf004e0 100644
--- a/doc/src/News.rst
+++ b/doc/src/News.rst
@@ -3,10 +3,8 @@
.. title:: News
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _News.htm:
diff --git a/doc/src/Ps-style.rst b/doc/src/Ps-style.rst
index 64d9d81bf..4d4b0fe22 100644
--- a/doc/src/Ps-style.rst
+++ b/doc/src/Ps-style.rst
@@ -3,10 +3,8 @@
.. title:: Ghostscript PostScript Coding Guidelines
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _Ps-style.htm:
diff --git a/doc/src/Ps2epsi.rst b/doc/src/Ps2epsi.rst
index 54871b997..f71eb7583 100644
--- a/doc/src/Ps2epsi.rst
+++ b/doc/src/Ps2epsi.rst
@@ -3,10 +3,8 @@
.. title:: Convert PostScript to Encapsulated PostScript Interchange Format
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _Ps2epsi.htm:
diff --git a/doc/src/Psfiles.rst b/doc/src/Psfiles.rst
index 1334dd27d..2346447f5 100644
--- a/doc/src/Psfiles.rst
+++ b/doc/src/Psfiles.rst
@@ -3,10 +3,7 @@
.. title:: PostScript Files Distributed with Ghostscript
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
-
+.. include:: header.rst
.. _Psfiles.htm:
diff --git a/doc/src/Readme.rst b/doc/src/Readme.rst
index 1ea3024f8..287ac9f22 100644
--- a/doc/src/Readme.rst
+++ b/doc/src/Readme.rst
@@ -4,11 +4,10 @@
.. title:: Ghostscript Introduction
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
+
.. _Ghostscript Introduction:
.. _Readme.htm:
diff --git a/doc/src/SampleDownscaleDevice.rst b/doc/src/SampleDownscaleDevice.rst
index b509d2d01..49a2f1738 100644
--- a/doc/src/SampleDownscaleDevice.rst
+++ b/doc/src/SampleDownscaleDevice.rst
@@ -3,10 +3,8 @@
.. title:: Sample CMYK 32-bit Device that Supports Post Rendering Processing
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _SampleDownscaleDevice.htm:
diff --git a/doc/src/SavedPages.rst b/doc/src/SavedPages.rst
index 8bfd9f797..84acb5d63 100644
--- a/doc/src/SavedPages.rst
+++ b/doc/src/SavedPages.rst
@@ -3,10 +3,8 @@
.. title:: Using Saved Pages
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _SavedPages.htm:
diff --git a/doc/src/Source.rst b/doc/src/Source.rst
index b7794bed7..0c55876cd 100644
--- a/doc/src/Source.rst
+++ b/doc/src/Source.rst
@@ -3,10 +3,8 @@
.. title:: Guide to Ghostscript Source Code
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _Source.htm:
diff --git a/doc/src/Unix-lpr.rst b/doc/src/Unix-lpr.rst
index e5ccdcbdc..9de9a03da 100644
--- a/doc/src/Unix-lpr.rst
+++ b/doc/src/Unix-lpr.rst
@@ -3,10 +3,8 @@
.. title:: Setting Up a Unix lpr Filter for Ghostscript
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _Unix-lpr.htm:
diff --git a/doc/src/UnsupportedDevices.rst b/doc/src/UnsupportedDevices.rst
index 990d3b27b..b7122f821 100644
--- a/doc/src/UnsupportedDevices.rst
+++ b/doc/src/UnsupportedDevices.rst
@@ -4,10 +4,7 @@
.. title:: Unsupported devices
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
-
+.. include:: header.rst
.. _UnsupportedDevices.htm:
diff --git a/doc/src/Use.rst b/doc/src/Use.rst
index 6d72b7940..db53cfe1f 100644
--- a/doc/src/Use.rst
+++ b/doc/src/Use.rst
@@ -3,10 +3,8 @@
.. title:: Using Ghostscript
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _Use.htm:
@@ -440,11 +438,6 @@ Switches for PDF files
Here are some command line options specific to PDF:
-``-dNEWPDF``
-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-
-From release 9.55.0 Ghostscript incorporates two complete PDF interpreters; the original long-standing interpreter is written in PostScript but there is now a new interpreter written in C.
-At present the old PostScript-based interpreter remains the default, in future releases the new C-based interpreter will become the default, though we would encourage people to experiment with the new interpreter and send us feedback. While there are two interpreters the command-line switch NEWPDF will allow selection of the existing interpreter when false and the new interpreter when true.
``-dPDFINFO``
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
diff --git a/doc/src/VectorDevices.rst b/doc/src/VectorDevices.rst
index a998b3d47..2378d90a3 100644
--- a/doc/src/VectorDevices.rst
+++ b/doc/src/VectorDevices.rst
@@ -3,10 +3,8 @@
.. title:: High Level Devices
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _VectorDevices.htm:
@@ -933,7 +931,7 @@ Example using DISTILLERPARAMS to set the quality of JPEG compression
-PDF file output
+PDF file output - ``pdfwrite``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
``-dMaxInlineImageSize=integer``
@@ -1085,8 +1083,26 @@ The following switches are used for generating metadata according to the Adobe X
Obviously this is all heuristic and undoubtedly there is more we can do to improve the functionality here, but we need concrete examples to work from.
+----
+:title:`pdfwrite` for the new interpreter
+"""""""""""""""""""""""""""""""""""""""""""""""
+
+Using the new interpreter (the default from version 10.0.0 of :title:`Ghostscript`) these can be set from the command line using ``-d`` or from :title:`PostScript` using the :ref:`setpagedevice<Language_DeviceParameters>` operator:
+
+
+``-dModifiesPageSize=boolean``
+ When this device parameter is *true* the new :title:`PDF` interpreter will not pass the various Box values (:title:`ArtBox`, :title:`BleedBox`, :title:`CropBox`, :title:`TrimBox`) to the output device. This is used when scripting the interpreter and using a media size other than the :title:`MediaBox` in the :title:`PDF` file. If the media size has changed and we preserve the :title:`Boxes` in the output they would be incorrect.
+
+``-dModifiesPageOrder=boolean``
+ When this device parameter is *true* the new :title:`PDF` interpreter will not pass :title:`Outlines` (what :title:`Acrobat` calls :title:`Bookmarks`) and :title:`Dests` (the destination of document-local hyperlinks for example). This is because these rely on specifying the page by number, and if we alter the page order the destination would be incorrect. Again this is intended for use when scripting the interpreter.
+
+
+.. note::
+
+ The :title:`Nup` device already sets these parameters internally (and they cannot be changed in that device) as it modifies both the media size and the order of pages, the ``pdfwrite`` device now supports both these parameters and they can be altered as required.
+
PostScript file output
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/src/_static/custom.css b/doc/src/_static/custom.css
index 7a1241c30..894bf540a 100644
--- a/doc/src/_static/custom.css
+++ b/doc/src/_static/custom.css
@@ -47,13 +47,15 @@ h1, h2, h3, h4 {
border-radius: 5px;
}
-h1 a, h2 a, h3 a, h4 a {
+h1 a, h2 a, h3 a, h4 a, h1 a span, h2 a span, h3 a span, h4 a span {
color: #fff;
+ text-decoration: underline;
+ background-color: #007aff;
}
cite {
- font-family: monospace;
font-weight: bold;
+ font-style: normal;
}
@@ -86,6 +88,34 @@ button.cta a {
}
+
+.discordLink {
+ display:flex;
+ justify-content:flex-end;
+ margin:0;
+ padding:0;
+ font-size: 13px;
+}
+
+.discordLink a {
+ color: #000;
+}
+
+.discordLink img {
+ width: 30px;
+ height: 30px;
+ margin-left: 8px;
+}
+
+.feedbackLink {
+ display:flex;
+ justify-content:flex-end;
+ margin:0 0 10px;
+ padding:0;
+ font-size: 13px;
+}
+
+
/* Dark mode colors */
@media (prefers-color-scheme: dark) {
@@ -116,4 +146,8 @@ button.cta a {
color: #000;
}
+ .discordLink a {
+ color: #fff;
+ }
+
}
diff --git a/doc/src/_static/favicon.ico b/doc/src/_static/favicon.ico
new file mode 100644
index 000000000..7bd771bbf
--- /dev/null
+++ b/doc/src/_static/favicon.ico
Binary files differ
diff --git a/doc/src/_static/favicon.svg b/doc/src/_static/favicon.svg
deleted file mode 100644
index 86b60ff95..000000000
--- a/doc/src/_static/favicon.svg
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- viewBox="0 0 174.5 203" enable-background="new 0 0 174.5 203" xml:space="preserve">
-
- <style>path{fill:#333}@media (prefers-color-scheme:dark){path{fill:#eee}}</style>
-
- <path d="M88.914,62.379c2.305-1.166-1.965-4.208-1.717-9.555c0.275-6.038,2.834-9.767-0.775-9.663
- c-2.843,0.078-7.028,5.283-6.347,10.597C80.771,59.059,85.951,63.869,88.914,62.379z"/>
- <path d="M82.704,70.756c-2.901,1.852,4.552,3.786,6.338,9.383c2.024,6.331-0.215,10.913,5.012,9.777
- c4.119-0.888,8.132-7.467,5.004-12.756C95.923,71.864,86.422,68.364,82.704,70.756z"/>
- <path d="M77.635,65.538c2.012-1.627-2.801-3.695-3.686-8.962c-1.002-5.985,0.72-10.149-2.799-9.292
- c-2.752,0.663-5.759,6.648-3.971,11.687C68.97,64.008,75.064,67.635,77.635,65.538z"/>
- <g>
- <path d="M8.34,182.553c8.033,8.36,27.344,18.325,73.727,18.325c77.712,0,86.343-34.936,86.672-36.423l0.074-0.335
- l-2.615-0.673l-0.103,0.317c-0.084,0.262-9.182,26.392-76.57,26.392c-2.336,0-4.77-0.032-7.237-0.095
- c-16.732-0.429-30.657-3.138-40.269-7.831c-8.394-4.1-13.017-9.442-13.017-15.044c0-11.862,13.986-12.627,14.581-12.655
- l0.316-0.015l0.177-2.639l-0.312-0.057c-0.233-0.042-5.807-1.036-12.745-1.036c-18.07,0-28.293,6.655-28.786,18.739
- C2.206,170.181,2.159,176.119,8.34,182.553z"/>
- <path d="M152.435,59.232c1.118-13.45-11.403-23.37-15.267-26.09l-0.155-0.109l0.021-0.188
- c0.952-8.478-0.737-15.52-5.021-20.929c-6.977-8.81-18.449-10.085-18.934-10.135l-0.328-0.033l-0.437,2.648l0.32,0.077
- c0.518,0.124,12.73,3.157,14.018,14.733c1.131,10.18-6.367,14.962-13.618,19.586c-5.594,3.572-10.871,6.942-10.871,12.57
- c0,6.214,5.439,10.593,10.7,14.827c5.32,4.281,10.341,8.321,9.969,13.87c-0.687,10.304-20.492,15.748-20.692,15.802l-0.331,0.088
- l0.568,2.639l0.333-0.054C143.685,91.88,151.452,71.054,152.435,59.232z"/>
- <path d="M80.146,181.454c4.818,0.771,10.645,1.179,16.85,1.179c16.754,0,39.861-3.118,54.467-11.867
- c14.401-8.616,16.364-22.548,10.86-31.856v-0.001c-4.971-8.418-20.259-22.757-66.8-24.202
- c-32.475-0.997-48.941-3.565-48.941-7.633c0-3.392,5.788-4.433,11.916-5.535c7.688-1.384,16.401-2.954,16.174-10.354
- c-0.145-4.691-4.298-7.432-9.107-10.607c-7.262-4.8-16.297-10.773-14.116-26.241c1.864-13.148,21.14-18.701,29.341-20.478
- c11.723-2.537,31.451-8.128,31.858-17.067c0.368-8.21-8.415-10.998-8.503-11.025l-0.304-0.095l-0.915,2.059l-0.194,0.336
- l0.304,0.179c0.152,0.092,3.643,2.253,2.214,6.375c-1.521,4.398-7.704,4.754-25.358,5.137
- c-17.544,0.386-39.579,2.793-54.373,18.103c-8.041,8.324-11.314,19.207-8.754,29.112c2.713,10.485,11.718,19.235,25.356,24.64
- l0.913,0.362l-0.951,0.245c-3.259,0.838-8.195,2.305-13.196,4.529c-12.741,5.665-19.313,13.407-19.004,22.39
- c0.797,22.879,35.182,26.661,68.713,27.343c35.983,0.731,51.335,4.303,51.335,11.942c0,6.147-11.885,11.023-28.26,11.596
- c-1.88,0.065-3.719,0.097-5.466,0.097c-10.907,0-17.937-1.091-21.914-2.007c-4.734-1.088-7.577-2.501-7.606-3.777
- c-0.015-0.593,0.165-1.072,0.55-1.467c1.375-1.41,4.781-1.706,7.397-1.706c3.296,0,6.365,0.481,6.704,0.535l0.315,0.052
- l0.748-2.53l-0.29-0.125c-0.064-0.027-6.083-2.606-14.252-2.606c-0.505,0-1.018,0.01-1.539,0.031
- c-6.817,0.301-11.677,3.807-11.819,8.526C54.379,168.728,56.635,177.698,80.146,181.454z"/>
- </g>
-
-</svg>
diff --git a/doc/src/conf.py b/doc/src/conf.py
index 23b6be5f4..1fdcd1b1f 100644
--- a/doc/src/conf.py
+++ b/doc/src/conf.py
@@ -124,7 +124,7 @@ html_logo = "_static/ghostscript-white-plus-text.png"
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
-html_favicon = "_static/favicon.svg"
+html_favicon = "_static/favicon.ico"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
diff --git a/doc/src/footer.rst b/doc/src/footer.rst
index bc3e2a763..50ff5d198 100644
--- a/doc/src/footer.rst
+++ b/doc/src/footer.rst
@@ -1,9 +1,28 @@
-.. Copyright (C) 2001-2022 Artifex Software, Inc.
+.. Copyright (C) 2001-2023 Artifex Software, Inc.
.. All Rights Reserved.
.. raw:: html
- <hr>
+ <div class="feedbackLink"><a id="feedbackLinkBottom" target=_blank>Do you have any feedback on this page?</b></a></div>
-This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at https://www.artifex.com or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
+ <script>
+ var url_string = window.location.href;
+ var a = document.getElementById('feedbackLinkBottom');
+ a.setAttribute("href", "https://artifex.com/contributor/feedback.php?url="+url_string);
+
+ </script>
+
+ <hr>
+
+ This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at <a href="https://www.artifex.com">artifex.com</a> or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information.
+
+.. note - this ensures that the Sphinx build system will pull in the image (as it is referenced in an RST file) to _images,
+ we don't want to display it via rst markup due to limitations (hence width:0), however we do want it available for our raw HTML
+ which we use in header.rst.
+
+.. image:: images/discord-mark-blue.svg
+ :alt: Discord logo
+ :width: 0
+ :height: 0
+ :target: https://discord.gg/TSpYGBW4eq
diff --git a/doc/src/header.rst b/doc/src/header.rst
new file mode 100644
index 000000000..e1cd04daf
--- /dev/null
+++ b/doc/src/header.rst
@@ -0,0 +1,18 @@
+.. meta::
+ :description: The Ghostscript documentation
+ :keywords: Ghostscript command line, Ghostscript options, Ghostscript command line examples, Ghostscript parameters, install Ghostscript, dpdfsettings, Ghostscript sdevice, how to use Ghostscript, eps, Ghostscript language bindings, Ghostscript command line general switches
+
+
+.. raw:: html
+
+ <div class="discordLink"><a href="https://discord.gg/TSpYGBW4eq" target=_blank>Find <b>#ghostscript</b> on <b>Discord</b><img src="_images/discord-mark-blue.svg" alt="Discord logo" /></a></div>
+
+ <div class="feedbackLink"><a id="feedbackLinkTop" target=_blank>Do you have any feedback on this page?</b></a></div>
+
+ <script>
+
+ var url_string = window.location.href;
+ var a = document.getElementById('feedbackLinkTop');
+ a.setAttribute("href", "https://artifex.com/contributor/feedback.php?url="+url_string);
+
+ </script>
diff --git a/doc/src/images/discord-mark-blue.svg b/doc/src/images/discord-mark-blue.svg
new file mode 100644
index 000000000..ca6540076
--- /dev/null
+++ b/doc/src/images/discord-mark-blue.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 127.14 96.36"><defs><style>.cls-1{fill:#5865f2;}</style></defs><g id="图层_2" data-name="图层 2"><g id="Discord_Logos" data-name="Discord Logos"><g id="Discord_Logo_-_Large_-_White" data-name="Discord Logo - Large - White"><path class="cls-1" d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z"/></g></g></g></svg> \ No newline at end of file
diff --git a/doc/src/requirements.txt b/doc/src/requirements.txt
index fb3c028ec..31bcf1ead 100644
--- a/doc/src/requirements.txt
+++ b/doc/src/requirements.txt
@@ -1 +1,6 @@
rst2pdf
+
+# define sphinx versioning
+sphinx==5.3.0
+sphinx_rtd_theme==1.1.1
+readthedocs-sphinx-search==0.1.1
diff --git a/doc/src/thirdparty.rst b/doc/src/thirdparty.rst
index 49943f9eb..af98dd34f 100644
--- a/doc/src/thirdparty.rst
+++ b/doc/src/thirdparty.rst
@@ -3,10 +3,8 @@
.. title:: Third Party Libraries Used by Ghostscript and GhostPDL
-.. meta::
- :description: The Ghostscript documentation
- :keywords: Ghostscript, documentation, ghostpdl
+.. include:: header.rst
.. _thirdparty.htm:
diff --git a/doc/src/toc.rst b/doc/src/toc.rst
index e21c4507f..09a9929d3 100644
--- a/doc/src/toc.rst
+++ b/doc/src/toc.rst
@@ -1,6 +1,8 @@
.. Copyright (C) 2001-2022 Artifex Software, Inc.
.. All Rights Reserved.
+.. include:: header.rst
+
Table of Contents
========================================