diff options
author | Norbert Preining <norbert@preining.info> | 2022-06-22 03:01:02 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-06-22 03:01:02 +0000 |
commit | d6888fdb49e3ac954c2d436951f364d3a4a4b17d (patch) | |
tree | 6afde4b28d9150c5e111b3319fc5c475b8fd502c /obsolete | |
parent | 884ebedeec6018feff488351eff936cf5b56c030 (diff) |
CTAN sync 202206220301
Diffstat (limited to 'obsolete')
-rw-r--r-- | obsolete/macros/luatex/latex/showhyphens/README | 11 | ||||
-rw-r--r-- | obsolete/macros/luatex/latex/showhyphens/showhyphens-doc.pdf | bin | 0 -> 83289 bytes | |||
-rw-r--r-- | obsolete/macros/luatex/latex/showhyphens/showhyphens-doc.tex | 102 | ||||
-rw-r--r-- | obsolete/macros/luatex/latex/showhyphens/showhyphens-sample.pdf | bin | 0 -> 17790 bytes | |||
-rw-r--r-- | obsolete/macros/luatex/latex/showhyphens/showhyphens.sty | 68 |
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 Binary files differnew file mode 100644 index 0000000000..06a175f325 --- /dev/null +++ b/obsolete/macros/luatex/latex/showhyphens/showhyphens-doc.pdf 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 Binary files differnew file mode 100644 index 0000000000..1a961538ab --- /dev/null +++ b/obsolete/macros/luatex/latex/showhyphens/showhyphens-sample.pdf 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 |