summaryrefslogtreecommitdiff
path: root/obsolete
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-06-22 03:01:02 +0000
committerNorbert Preining <norbert@preining.info>2022-06-22 03:01:02 +0000
commitd6888fdb49e3ac954c2d436951f364d3a4a4b17d (patch)
tree6afde4b28d9150c5e111b3319fc5c475b8fd502c /obsolete
parent884ebedeec6018feff488351eff936cf5b56c030 (diff)
CTAN sync 202206220301
Diffstat (limited to 'obsolete')
-rw-r--r--obsolete/macros/luatex/latex/showhyphens/README11
-rw-r--r--obsolete/macros/luatex/latex/showhyphens/showhyphens-doc.pdfbin0 -> 83289 bytes
-rw-r--r--obsolete/macros/luatex/latex/showhyphens/showhyphens-doc.tex102
-rw-r--r--obsolete/macros/luatex/latex/showhyphens/showhyphens-sample.pdfbin0 -> 17790 bytes
-rw-r--r--obsolete/macros/luatex/latex/showhyphens/showhyphens.sty68
5 files changed, 181 insertions, 0 deletions
diff --git a/obsolete/macros/luatex/latex/showhyphens/README b/obsolete/macros/luatex/latex/showhyphens/README
new file mode 100644
index 0000000000..cf245e5b75
--- /dev/null
+++ b/obsolete/macros/luatex/latex/showhyphens/README
@@ -0,0 +1,11 @@
+The LaTeX package 'showhyphens' shows all possible hyphenation points in
+the PDF output.
+
+Usage:
+
+\usepackage{showhyphens}
+
+Requirements: The package only works with LuaLaTeX.
+
+Copyright 2011-2016 Patrick Gundlach (patrick@gundla.ch),
+licensed under the MIT license. See the style for details.
diff --git a/obsolete/macros/luatex/latex/showhyphens/showhyphens-doc.pdf b/obsolete/macros/luatex/latex/showhyphens/showhyphens-doc.pdf
new file mode 100644
index 0000000000..06a175f325
--- /dev/null
+++ b/obsolete/macros/luatex/latex/showhyphens/showhyphens-doc.pdf
Binary files differ
diff --git a/obsolete/macros/luatex/latex/showhyphens/showhyphens-doc.tex b/obsolete/macros/luatex/latex/showhyphens/showhyphens-doc.tex
new file mode 100644
index 0000000000..0ec2875290
--- /dev/null
+++ b/obsolete/macros/luatex/latex/showhyphens/showhyphens-doc.tex
@@ -0,0 +1,102 @@
+\documentclass{ltxdockit}
+\usepackage{dtklogos,csquotes,graphicx}
+
+\newcommand\pkgversion{0.5c}
+
+\titlepage{%
+ title={The showhyphens package},
+ subtitle={Show all possible hyphenation points},
+ url={(none yet)},
+ author={Patrick Gundlach},
+ email={patrick@gundla.ch},
+ revision={\pkgversion},
+ date={\today}}
+
+\begin{document}
+\printtitlepage
+\tableofcontents
+
+\section{Documentation}
+
+When you load the package \texttt{showhyphens} in your Lua\LaTeX\ document, \LaTeX\ will show all possible hyphenation points. This
+package requires you to process the document with Lua\LaTeX.
+
+\begin{verbatim}
+\documentclass{article}
+\usepackage{showhyphens}
+
+\begin{document}
+A wonderful serenity has taken
+possession of my entire soul, like these
+sweet mornings of spring which I enjoy
+with my whole heart. I am alone, and
+feel the charm of existence in this
+spot, which was created for the bliss of
+souls like mine. I am so happy, my dear
+friend, so absorbed in the exquisite
+sense of mere tranquil existence, that I
+neglect my talents. I should be
+incapable of drawing a single stroke at
+the present moment; and yet I feel that
+I never was a greater artist than now.
+\end{document}
+\end{verbatim}
+
+yields \vspace{5mm}
+
+\noindent \includegraphics{showhyphens-sample}
+
+\section{Bugs and limitations}
+
+% see http://tex.stackexchange.com/q/268884
+Hyphenation points within ligatures cannot be shown correctly. The package marks the ligature with a horizontal bar on top. The hyphenation point is somewhere within the ligature.
+For example \enquote{office} gives the word \enquote{office} with a horizontal bar on top of \enquote{ffi} but should show of'fice instead.
+While it is possible to look inside
+the ffi ligature and find out where the original hyphen character was placed
+(between the first f and the following component fi), it is very hard to draw
+the line indicating the hyphenation point correctly. The ffi ligature is one
+opaque rectangle to the package. Drawing a line at the correct position is
+pure luck, and therefore out of the scope of the package.
+
+\section{Options}
+
+\begin{optionlist}
+\legitem{blue}{Shows hyphenation marker in blue, instead of red.}
+\end{optionlist}
+
+
+\section{Changes}
+
+\begin{changelog}
+\begin{release}{0.5c}{2016-02-19}
+ \item Remove viz-nodelist
+\end{release}
+\begin{release}{0.5b}{2016-02-05}
+ \item Fix version number
+\end{release}
+\begin{release}{0.5a}{2016-02-05}
+ \item Remove debug message
+\end{release}
+\begin{release}{0.5}{2016-02-05}
+ \item Mark ligatures
+\end{release}
+\begin{release}{0.4a}{2015-09-23}
+ \item Documentation update.
+\end{release}
+\begin{release}{0.4}{2015-09-22}
+ \item Document limitation on ligatures.
+\end{release}
+\begin{release}{0.3}{2014-07-30}
+ \item Internal changes (node structure corrected, node ids not hard coded)
+\end{release}
+\begin{release}{0.2}{2012-10-25}
+ \item New option \enquote{blue}, thanks go to Herbert Vo\ss.
+\end{release}
+\end{changelog}
+
+\section{Copying}
+
+Copyright 2011-2016 Patrick Gundlach (patrick@gundla.ch), licensed under the MIT license. See the style for details.
+
+
+\end{document}
diff --git a/obsolete/macros/luatex/latex/showhyphens/showhyphens-sample.pdf b/obsolete/macros/luatex/latex/showhyphens/showhyphens-sample.pdf
new file mode 100644
index 0000000000..1a961538ab
--- /dev/null
+++ b/obsolete/macros/luatex/latex/showhyphens/showhyphens-sample.pdf
Binary files differ
diff --git a/obsolete/macros/luatex/latex/showhyphens/showhyphens.sty b/obsolete/macros/luatex/latex/showhyphens/showhyphens.sty
new file mode 100644
index 0000000000..38d1d2603a
--- /dev/null
+++ b/obsolete/macros/luatex/latex/showhyphens/showhyphens.sty
@@ -0,0 +1,68 @@
+\ProvidesPackage{showhyphens}[2016/02/19 v0.5c Show hyphenation points (PGU)]
+\RequirePackage{ifluatex,luatexbase}
+% License: MIT style license
+
+% Copyright (c) 2011-2016 Patrick Gundlach patrick@gundla.ch
+
+% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the
+% "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge,
+% publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do
+% so, subject to the following conditions:
+%
+% The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+%
+% 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 AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+% FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+% WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+\def\lua@SHcolor{1 0 0}% red
+\DeclareOption{blue}{\def\lua@SHcolor{0 0 1 }}% must be a rgb color
+\ProcessOptions
+
+\ifluatex
+\directlua{
+local show_hyph
+local hlist_node = node.id("hlist")
+local vlist_node = node.id("vlist")
+local disc_node = node.id("disc")
+local glyph_node = node.id("glyph")
+
+local function round(num)
+ return math.floor(num * 10^3 + 0.5) / 10^3
+end
+
+show_hyph = function(head)
+ while head do
+ if head.id == hlist_node or head.id == vlist_node then
+ show_hyph(head.list)
+ elseif head.id == disc_node then
+ if head.replace and head.replace.id == glyph_node and head.replace.components then
+ local wd = round(head.replace.width / 65781) or 0
+ local ht = round(head.replace.height / 65781) + 0.5 or 0
+ local r = node.new("whatsit","pdf_literal")
+ r.data = "q 0.3 w 0 " .. tostring(ht) .. " m " .. tostring(-wd) .. " " .. tostring(ht) .. " l S Q"
+ node.insert_after(head.replace,head.replace,r)
+ else
+ local n = node.new("whatsit","pdf_literal")
+ n.mode = 0
+ n.data = "q \lua@SHcolor RG 0.3 w 0 2 m 0 7 l S Q"
+ n.next = head.next
+ head.next.prev = n
+ n.prev = head
+ head.next = n
+ head = n
+ end
+ end
+ head = head.next
+ end
+ return true
+end
+
+
+luatexbase.add_to_callback("post_linebreak_filter",show_hyph,"show_hyph")
+}
+\else
+\errhelp{Please use LuaLaTeX when you require the package 'showhyphens'}
+\errmessage{Package showhyphens error: This works only with LuaLaTeX!}
+\fi