diff options
author | Karl Berry <karl@freefriends.org> | 2024-05-07 20:02:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-05-07 20:02:04 +0000 |
commit | a62b77909ea0eb3c53ea2909898a8384f470be3d (patch) | |
tree | 4af9ab43149fe9940f0516d90e3d42c4f8587fb7 /Master/texmf-dist/source/latex | |
parent | 5ca0efce6da23cc050495c823bc455d2ff3f623e (diff) |
synthslant (7may24)
git-svn-id: svn://tug.org/texlive/trunk@71200 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r-- | Master/texmf-dist/source/latex/synthslant/Makefile | 302 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/synthslant/synthslant.dtx | 5264 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/synthslant/synthslant.ins | 67 |
3 files changed, 5633 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/synthslant/Makefile b/Master/texmf-dist/source/latex/synthslant/Makefile new file mode 100644 index 00000000000..d8de419230a --- /dev/null +++ b/Master/texmf-dist/source/latex/synthslant/Makefile @@ -0,0 +1,302 @@ +### name: Makefile +### synopsis: Build `synthslant' style file and documentation +### author: Dr. Christoph L. Spiel +### GNU make version: 4.3 + + +SHELL := /bin/sh + + +BASE64 := base64 +BASE64_FLAGS := + + +DVIPDFMX := dvipdfmx +DVIPDFMX_FLAGS := + + +DVIPS := dvips +DVIPS_FLAGS := -d1 # debug \special{} + + +LATEX := /usr/bin/env max_print_line=2147483647 pdflatex +LATEX_FLAGS := -file-line-error -halt-on-error -interaction=nonstopmode +LATEX_RERUN_TRIGGER := '^Package rerunfilecheck Warning: File [^ ]* has changed' +LATEX_WARNING := '^LaTeX (|[A-Za-z0-9_]* )Warning:' + + +MAKEINDEX := makeindex +MAKEINDEX_FLAGS := -q + + +METAPOST := mpost +METAPOST_FLAGS := -file-line-error -interaction=nonstopmode -tex=latex + + +SPELLCHECK := aspell +SPELLCHECK_FLAGS := \ + --add-tex-command='citenum p' --add-tex-command='code p' \ + --add-tex-command='Cref p' --add-tex-command='cref p' \ + --add-tex-command='cs p' \ + --add-tex-command='DescribeEnv p' --add-tex-command='DescribeMacro p' \ + --add-tex-command='marg p' --add-tex-command='meta p' \ + --add-tex-command='oarg p' \ + --lang=en_US --mode=tex + + +SOURCE_FILES := LICENSE Makefile synthslant.dtx synthslant.ins + + + +.PHONY: all +all: sty pdf + + +.PHONY: sty +sty: synthslant.sty + + +.PHONY: pdf +pdf: doc gauge + + +.PHONY: doc +doc: synthslant.pdf + + +.PHONY: gauge +gauge: synthslant-gauge.pdf + + +.PHONY: cpio +cpio: + cd ..; \ + echo $(addprefix synthslant/,$(SOURCE_FILES)) | \ + cpio -o | \ + gzip > "synthslant-$$(date +%Y-%m-%d).cpio.gz" + + +.PHONY: tar +tar: + cd ..; \ + tar czf "synthslant-$$(date +%Y-%m-%d).tar.gz" \ + $(addprefix synthslant/,$(SOURCE_FILES)) + + +.PHONY: clean +clean: + $(RM) ./*.aux ./*.brf ./*.dvi ./*.glg ./*.glo ./*.gls + $(RM) ./*.hd ./*.idx ./*.ilg ./*.ind ./*.loe ./*.lof ./*.log ./*.lot + $(RM) ./*.mp ./*.mps ./*.mpx ./*.out ./*.pdf ./*.ps ./*.toc + $(RM) mptextmp.* mpxerr.tex + $(RM) README README.html RELEASE-HOWTO RELEASE-HOWTO.html + $(RM) compare-with-the-gimp.eps compare-with-the-gimp.png + + +.PHONY: mostlyclean +mostlyclean: clean + + +.PHONY: maintainer-clean +maintainer-clean: mostlyclean + $(RM) ./*.base64 ./*.ist ./*.mp ./*.sty ./*.tex + + +.PHONY: perf +perf: synthslant-gauge.tex synthslant.sty + perf stat --repeat=10 -- $(LATEX) $(LATEX_FLAGS) -interaction batchmode -draftmode $< + + +.PHONY: tool-check +tool-check: + @printf '*** LATEX = "%s"\n' '$(LATEX)' + $(LATEX) --version + @printf '\n\n*** MAKEINDEX = "%s"\n' '$(MAKEINDEX)' + $(MAKEINDEX) < /dev/null + @printf '\n\n*** METAPOST = "%s"\n' '$(METAPOST)' + $(METAPOST) --version + @printf '\n*** BASE64 = "%s"\n' '$(BASE64)' + $(BASE64) --version + @printf '\n\nTool check passed.\n' + + +.PHONY: spell-check +spell-check: + @sed -e '\#<DISABLE-SPELL-CHECK/>#d' \ + -e '\#<DISABLE-SPELL-CHECK>#,\#</DISABLE-SPELL-CHECK>#d' < synthslant.dtx | \ + sed -e 's/^ *%%*//' | \ + sed -e 's/\\-//g' -e 's/|[^|]*|/ /g' | \ + $(SPELLCHECK) $(SPELLCHECK_FLAGS) list | \ + sort | uniq | fmt | sed -e 's/ / /g' + + +.PHONY: update-docs +update-docs: pdf + cp -f synthslant.pdf synthslant-gauge.pdf docs + + +define HELP_SCREEN +Selected Phony Targets +---------------------- +all: Make everything there is to make. This is the .DEFAULT_GOAL. + +clean: Remove some products. + +cpio: In the parent directory create a cpio(1) archive of the + project source files whose name is time-stamped. + +doc: Build "synthslant.pdf" the Syntslant documentation. + +gauge: Build "synthslant-gauge.pdf" the Syntslant gauge and example + file. + +maintainer-clean: Remove every product file that can be rebuilt even + if uncommon tools are necessary. + +mostlyclean: Remove some more products than clean:. + +pdf: Build doc: and gauge:. + +sty: Only extract "synthslant.sty" from "synthslant.dtx". This + operation requires LaTeX (-> $(LATEX)) and nothing else. + +tar: In the parent directory create a tar(1) file of the project + source files whose name is time-stamped. + +tool-check: Check whether some of the required tools to build the + project are available. + + +Selected Implicit Rules +----------------------- +%.dvi %.pdf: %.dtx + Run LaTeX or pdfLaTeX (-> $(LATEX)) on dtx source until a + fix-point is reached. + +%.dvi %.pdf: %.tex + Run LaTeX or pdfLaTeX (-> $(LATEX)) on tex file until a + fix-point is reached. + +%.mx.pdf: %.dvi + Convert dvi to pdf via dvipdfmx (-> $(DVIPDFMX)). + +%.ps: %.dvi + Convert dvi to ps via dvips (-> $(DVIPS)). + + +Some Explicit Rules +------------------- +README.html: + Convert "README.md" to html. Requires markdown(1). + +README: Convert "README.html" to plain text. Requires w3m(1). + +endef + +.PHONY: help +help: + $(info $(HELP_SCREEN)) + + + +.PRECIOUS: %.mps + + + +define MAKE_INDEX_AND_GLOSSARY +sed -e '/@/d' < $*.idx > ,$*.idx; mv ,$*.idx $*.idx; \ +$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s synthslant.ist -t $*.ilg -o $*.ind $*.idx; \ +$(MAKEINDEX) $(MAKEINDEX_FLAGS) -s gglo.ist -t $*.glg -o $*.gls $*.glo +endef + +define GREP_LATEX_WARNINGS +test -e $*.log && grep -E $(LATEX_WARNING) $*.log | uniq +endef + +%.dvi %.pdf: %.dtx + $(RM) ./$*.aux ./$*.ind ./$*.idx ./$*.gls ./$*.glo ./$*.lof ./$*.lot ./$*.toc + $(LATEX) $(LATEX_FLAGS) -draftmode $< + $(MAKE_INDEX_AND_GLOSSARY) + $(LATEX) $(LATEX_FLAGS) $< + $(MAKE_INDEX_AND_GLOSSARY) + while test -e $*.log && grep -q $(LATEX_RERUN_TRIGGER) $*.log; \ + do \ + $(LATEX) $(LATEX_FLAGS) $<; \ + $(MAKE_INDEX_AND_GLOSSARY); \ + done + $(GREP_LATEX_WARNINGS) + + +%.dvi: LATEX=latex + + +%.dvi %.pdf: %.tex + $(RM) ./$*.aux ./$*.ind ./$*.idx ./$*.lof ./$*.lot ./$*.toc + $(LATEX) $(LATEX_FLAGS) -draftmode $< + $(LATEX) $(LATEX_FLAGS) $< + while test -e $*.log && grep -q $(LATEX_RERUN_TRIGGER) $*.log; \ + do \ + $(LATEX) $(LATEX_FLAGS) $<; \ + done + $(GREP_LATEX_WARNINGS) + + +%.mx.pdf: %.dvi + $(DVIPDFMX) $(DVIPDFMX_FLAGS) -o $@ $< + + +%.ps: %.dvi + $(DVIPS) $(DVIPS_FLAGS) -o $@ $< + + +%.mps: %.mp + $(METAPOST) -s 'outputtemplate="%j.mps"' $(METAPOST_FLAGS) $< + + +%.eps: %.png + convert $< -compress lzw eps2:$@ + + +%.html: %.md + markdown $< > $@ + +%: %.html + w3m -cols 79 $< > $@ + + + +synthslant.sty synthslant.ist synthslant-gauge.tex \ +compare-with-the-gimp.png.base64 shear-transform.mp title.mp: \ + synthslant.ins synthslant.dtx + $(LATEX) $(LATEX_FLAGS) $< + + +synthslant.pdf: \ + synthslant.dtx \ + compare-with-the-gimp.png \ + shear-transform.mps \ + title.mps \ + | synthslant.sty + +synthslant.dvi: \ + synthslant.dtx \ + compare-with-the-gimp.eps \ + shear-transform.mps \ + title.mps + + +compare-with-the-gimp.png: compare-with-the-gimp.png.base64 + $(BASE64) $(BASE64_FLAGS) --decode $< > $@ + + +shear-transform.mps: shear-transform.mp + + +title.mps: title.mp + + +## compare-with-the-gimp.png: compare-with-the-gimp.orig.png +## convert $< -depth 8 -resize 50% -set colorspace Gray -separate -average $@ +## +## compare-with-the-gimp.png.base64: compare-with-the-gimp.png +## $(BASE64) $(BASE64_FLAGS) $< > $@ diff --git a/Master/texmf-dist/source/latex/synthslant/synthslant.dtx b/Master/texmf-dist/source/latex/synthslant/synthslant.dtx new file mode 100644 index 00000000000..f5424cf7fa1 --- /dev/null +++ b/Master/texmf-dist/source/latex/synthslant/synthslant.dtx @@ -0,0 +1,5264 @@ +% \iffalse +% +% Copyright (C) 2024 by Ch. L. Spiel +% +% This work may be distributed and/or modified under the conditions +% of the LaTeX Project Public License, either version 1.3 of this +% license or (at your option) any later version. The latest version +% of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2003/12/01 or later. +% +% \fi +% +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\tracingonline=0 + +%--\OnlyDescription +\EnableCrossrefs +\CodelineIndex +\RecordChanges + + +\PassOptionsToClass{a4paper}{article} +\PassOptionsToPackage{hyperfootnotes=false}{hyperref} +\PassOptionsToPackage{charter, scale=1.06}{newtxmath} +\PassOptionsToPackage{dvipsnames}{xcolor} + +\usepackage{amsmath} +\usepackage{booktabs} +\usepackage{caption} +\usepackage{dtk-logos} +\usepackage{enumitem} +\usepackage{etoolbox}%--\tracingpatches +\usepackage{fancyhdr} +\usepackage[T1]{fontenc} +\usepackage{fullwidth} +\usepackage{hypdoc} +\usepackage{hyphenat} +\usepackage{mathtools} +\iftrue + \usepackage[letterspace=0, shrink=10, stretch=10, tracking=true]{microtype} + \DeclareMicrotypeSet[tracking]{italics} + {encoding=*, font={SourceSerifPro-LF/m/it/*}} + \UseMicrotypeSet[tracking]{italics} + \SetTracking[context=synthnegslant, no ligatures={f}, spacing={10*,,}] + {encoding=*, shape=it}{10} +\else + \newcommand*{\textls}[2][]{#2} +\fi +\usepackage{needspace} +\usepackage{ragged2e} +\usepackage{setspace} +\usepackage[slant=.18, negslant=-.16]{synthslant} +\usepackage{titlesec} +\usepackage{tcolorbox} +\usepackage{titlesec}\renewcommand*{\bottomtitlespace}{.15\textheight}%nobottomtitles* +\usepackage{wrapfig} +\usepackage{xcolor} + + +\usepackage[default, lining, proportional, regular, semibold]{sourceserifpro} +\usepackage[lining, proportional, regular, semibold]{sourcesanspro} +\usepackage[lining, regular]{sourcecodepro} +\usepackage[xcharter]{newtxmath} +\setstretch{1.04166}% \baselineskip: 12.5pt + + +\makeatletter +\def\@get@fontclan#1-#2\relax{#1} +\newcommand*{\fontclan}{\expandafter\@get@fontclan\f@family\relax} +\makeatother + +\newcommand*{\proportionalliningfigures}{\fontfamily{\fontclan-LF}\selectfont} +\newcommand*{\proportionaloldstylefigures}{\fontfamily{\fontclan-OsF}\selectfont} +\newcommand*{\tabularliningfigures}{\fontfamily{\fontclan-TLF}\selectfont} +\newcommand*{\tabularoldstylefigures}{\fontfamily{\fontclan-TOsF}\selectfont} + +\newcommand*{\textdenominator}[1]{{\fontfamily{\fontclan-Dnom}\selectfont #1}} +\newcommand*{\textinferior}[1]{{\fontfamily{\fontclan-Inf}\selectfont #1}} +\newcommand*{\textnumerator}[1]{{\fontfamily{\fontclan-Numr}\selectfont #1}} +\newcommand*{\textsuperior}[1]{{\fontfamily{\fontclan-Sup}\selectfont #1}} + +\newcommand*{\nativetextfraction}[2] + {\mbox{\textnumerator{#1}\textfractionsolidus\textdenominator{#2}}} + +\makeatletter +\renewcommand*{\@makefnmark}{\hbox{\sf\textsuperior{\@thefnmark}}} +\newenvironment*{tabfigures} + {\edef\rmdefault{\fontclan-T\sourceserifpro@figurestyle}\rm\ignorespaces} + {\ignorespacesafterend} + +\newcommand*{\elseries}{\def\mdseries@rm{el}\def\mdseries@sf{el}\def\mdseries@tt{el}} +\newcommand*{\textel}[1]{{\elseries\textmd{#1}}} +\newcommand*{\lseries}{\def\mdseries@rm{l}\def\mdseries@sf{l}\def\mdseries@tt{l}} +\newcommand*{\textl}[1]{{\lseries\textmd{#1}}} +%%--\newcommand*{\mdseries}{\def\mdseries@rm{m}\def\mdseries@sf{m}\def\mdseries@tt{m}} +%%--\newcommand*{\textmd}[1]{{\mdseries\textmd{#1}}} +\newcommand*{\sbseries}{\def\bfseries@rm{sb}\def\bfseries@sf{sb}\def\bfseries@tt{sb}} +\newcommand*{\textsb}[1]{{\sbseries\textbf{#1}}} +\newcommand*{\bseries}{\def\bfseries@rm{b}\def\bfseries@sf{b}\def\bfseries@tt{b}} +\newcommand*{\textb}[1]{{\bseries\textbf{#1}}} +\newcommand*{\ebseries}{\def\bfseries@rm{k}\def\bfseries@sf{eb}\def\bfseries@tt{k}} +\newcommand*{\texteb}[1]{{\ebseries\textbf{#1}}} +\makeatother + + +\usepackage{cleveref} + + +\expandafter\GetFileInfo\expandafter{\jobname.sty} +\def\aspdfdate#1/#2/#3\relax{D:#1#2#3} +\edef\pdffiledate{\expandafter\aspdfdate\filedate\relax} + +\hypersetup{ + citecolor = blue, + colorlinks = true, + linkcolor = blue, + linktocpage = false, + pdfauthor={Dr. Christoph L. Spiel}, + pdfcreationdate={\pdffiledate}, + pdfkeywords={LaTeX, font, italic, oblique, slant, upright}, + pdflang=en-US, + pdfsubject={Synthetic generation of slanted glyphs in LaTeX}, + pdftitle={Package synthslant \fileversion}, + raiselinks = false, + urlcolor = [rgb]{0, 0, .5}% = navy +} + + +\makeatletter +\renewcommand*{\@dotsep}{10000} % suppress leaders +\patchcmd{\@dottedtocline}{\normalfont}{\bfseries}{\relax}{\PatchingFailed} +\makeatother + + +\Crefname{equation}{Equation}{Equations} +\crefname{equation}{Equ.}{Equs.} +\creflabelformat{equation}{#2#1#3} + +\Crefname{figure}{Figure}{Figures} +\crefname{figure}{Fig.}{Figs.} + +\Crefname{page}{Page}{Pages} +\crefname{page}{p.}{p.} + +\Crefname{section}{Section}{Sections} +\crefname{section}{Sec.}{Secs.} + +\Crefname{table}{Table}{Tables} +\crefname{table}{Tab.}{Tabs.} + + +\newcommand*{\floatcaptionwidth}{.79\textwidth} + +\captionsetup[figure]{font=small, justification=centerlast, labelfont=sc, width=\floatcaptionwidth} +\captionsetup[table]{font=small, justification=centerlast, labelfont=sc, width=\floatcaptionwidth} + + +\newsavebox{\listlabelbox} + +\sbox{\listlabelbox}{---} +\SetEnumitemKey{noindent}{ + label={---}, + labelwidth=\wd\listlabelbox, + leftmargin=! +} + +\SetEnumitemKey{nestedinspecialsection}{ + leftmargin=10pt +} + +\SetEnumitemKey{notopsep}{ + after=\vskip.8em plus .2em minus .4em, + partopsep=0pt, + topsep=0pt +} + + +\newlength{\marginindicatorsep} +\setlength{\marginindicatorsep}{10pt} + +\newcommand*{\marginalizesectionnumber}[1] + {\makebox[0pt][r]{#1\hspace{\marginindicatorsep}}} + + +\fancypagestyle{pagenumberonly}{ + \fancyhead[L]{} + \fancyhead[R]{\thepage} +} +\pagestyle{fancy} +\fancyhf{} +\fancyhead[L]{\rightmark} +\fancyhead[R]{\textsf{\thepage}} +\newcommand*{\resetfancyhead} + {\fancyhead[L]{\textsf{\textsc{\textls[20]{\nouppercase\rightmark}}}}} + +\renewcommand*{\headrulewidth}{0pt} +\renewcommand*{\sectionmark}[1] + {\def\truesectionname{#1}% + \markright{\textsf{\marginalizesectionnumber{\thesection}% + \textsc{\textls[20]{#1}}}}} +\renewcommand*{\subsectionmark}[1] + {\markright{\textsf{\marginalizesectionnumber{\thesubsection}% + \textsc{\textls[20]{\truesectionname:\enspace}}#1}}} + + +\titleformat{\section}[hang] + {\sffamily\Large\bfseries}{\marginalizesectionnumber{\thesection}}{0pt}{} +\titleformat{\subsection}[hang] + {\sffamily\large\bfseries}{\marginalizesectionnumber{\thesubsection}}{0pt}{} +\titleformat{\subsubsection}[hang] + {\sffamily\normalsize\bfseries}{\marginalizesectionnumber{\thesubsubsection}}{0pt}{} +\titleformat{\paragraph}[runin] + {\sffamily\normalsize\bfseries}{\theparagraph}{1em}{} + + +\let\footnoterule=\relax% suppress footnote rule +\interfootnotelinepenalty=10000 + +\makeatletter +\renewcommand*{\@makefntext}[1] + {\noindent + \llap{\let\@textsuperscript=\relax% use "normal" figures for the footnote numbers + \let\textsuperior=\relax + \@makefnmark + \hspace{\marginindicatorsep}}% separate the footnote number and the body + #1} +\makeatother + + +\pretocmd{\DescribeEnv}{\needspace{25pt}}{\relax}{\PrependingFailed} +\pretocmd{\DescribeMacro}{\needspace{25pt}}{\relax}{\PrependingFailed} + + +\setcounter{IndexColumns}{2} + + +\setlength{\columnsep}{20pt} +\setlength{\skip\footins}{25pt} +\setlength{\overfullrule}{3pt} + + + +\newrobustcmd*{\acronym}[1]{\mbox{\scshape\MakeLowercase{#1}}} + +\newcommand*{\application}[1]{\mbox{\sffamily #1}} + +\renewcommand*{\arraystretch}{1.12} + +\newcommand*{\bibauthor}[1]{\mbox{\textsc{#1}}} +\newcommand*{\bibtitle}[1]{\textit{#1}} +\newcommand*{\biburl}[1]{\url{#1}} + +\newcommand*{\bottomstrut}{\rule[-.5em]{0pt}{0pt}} + +\newenvironment*{codeexample} + {\vspace{.5\smallskipamount} + \par + \centering + \begin{minipage}{\linewidth} + \ttfamily + \begin{tabbing}} + {\end{tabbing} + \end{minipage} + \par + \vspace{.5\smallskipamount}} + +\makeatletter +\newcommand*{\citenum}[1]{\@nameuse{b@#1}} +\makeatother + +\def\code#1{\texttt{#1}} + +\newrobustcmd*{\command}[1]{\mbox{\textbf{#1}}} + +\newcommand*{\degree}{{}^\circ} + +\newcommand*{\doublequotes}[1]{\guillemetright\kern-.03333em #1\guillemetleft} + +\newcommand*{\dumpmacro}[1]{\texttt{\detokenize\expandafter{#1}}} + +\newcommand*{\filesystem}[1]{\mbox{\textit{#1\/}}} + +\newcommand*{\filledrectangle}[2]{\rule{#1}{#2}} +\newcommand*{\filledsquare}[1]{\filledrectangle{#1}{#1}} + +\newcommand*{\foreignphrase}[1]{\textsl{#1}} + +\makeatletter +\renewcommand*{\fps@figure}{htbp} +\renewcommand*{\fps@table}{htbp} +\makeatother + +\newcommand*{\hollowrectangle}[2] + {\setlength{\fboxrule}{.5pt}% + \setlength{\fboxsep}{0pt}% + \framebox{\rule{#1}{0pt}\rule{0pt}{#2}}} +\newcommand*{\hollowsquare}[1]{\hollowrectangle{#1}{#1}} + +\newcommand*{\logmacro}[1] + {\ifdef{#1} + {\message{^^JDump of macro \string#1 follows.^^J} + \message{\detokenize\expandafter{#1}} + \message{^^JEnd macro dump.^^J}} + {\message{^^JMacro \string#1 is not defined.^^J}}} + +\newenvironment*{maxipage} + {\fullwidthsetup{leftmargin=-\marginparsep - \marginparwidth, + width=\textwidth + \marginparsep + \marginparwidth}% + \begin{fullwidth}} + {\end{fullwidth}} + +\newenvironment*{multilinecodeexample} + {\begin{quote}\tt + \def\indent{\mbox{}\hspace{25pt}}% + \def\pushright{\mbox{}\hfill}% + \ignorespaces} + {\end{quote}} + +\newcommand*{\needtocspace}[1][3] + {\addtocontents{toc}{\protect\needspace{#1\baselineskip}}} + +\newcommand*{\numberset}[1]{\mathbb{#1}} + +\newcommand*{\packagename}[1]{\mbox{\textsf{#1}}} +\newcommand*{\programname}[1]{\mbox{\textbf{#1}}} +\newcommand*{\propername}[1]{\mbox{\textsc{#1}}} + +\newcommand*{\pstrickslogo}{\mbox{PSTricks}} + +\newcommand*{\quarterspace}{\hspace{.25em}} + +\newcommand*{\sample}[1] + {\setbox0=\hbox{#1}% H: 6.19849pt, /: 7.49817 + \mbox{\raisebox{\dimexpr -.15em - \dp0}{\tiny$\llcorner$}% + \kern-.15em\copy0\kern-.15em + \raisebox{\ifdim\ht0>.7em\dimexpr\ht0 - .1em\else .45em\fi}{\tiny$\urcorner$}}} + +\newcommand*{\sinceversion}[1]{% modeled after \NewIn of "doc.dtx" + \leavevmode + \marginpar{\hfill\textcolor{\markercolor}{\sf\proportionaloldstylefigures\scshape #1}}% + \ignorespaces +} + +\newcommand*{\singlequotes}[1]{\mbox{\guilsinglright #1\guilsinglleft}} + +\definecolor{customred1}{rgb}{.890, .282, .282}%-- https://paletton.com/ +\definecolor{customred2}{rgb}{.831, .110, .110} +\definecolor{customred3}{rgb}{.686, .043, .043} +\definecolor{customred4}{rgb}{.569, .000, .000} +\definecolor{customred5}{rgb}{.420, .000, .000} +\newcommand*{\specialsectionheading}[1]{\textcolor{\markercolor}{\textit{\textbf{#1}}}} +\newcommand*{\markercolor}{customred4} +\newcommand*{\specialsectionmarker}{\color{\markercolor}\filledsquare{5pt}} +\newcommand*{\specialsectionbegin} + {\llap{\raisebox{1pt}{\specialsectionmarker}% + \hspace{\marginindicatorsep}}} +\newcommand*{\specialsectionend} + {\ifmmode + \specialsectionmarker + \else + \leavevmode + \unskip + \penalty9999\mbox{}\nobreak + \hfill + \quad + \mbox{\specialsectionmarker}% + \fi} +\newtoggle{printspecialsectionmarker} +\NewDocumentEnvironment{specialsection}{m m} + {\Needspace{4\baselineskip}% + \toggletrue{printspecialsectionmarker}% + \begin{list} + {\specialsectionheading{#1\ifblank{#2}{}{\textup{\space---\space#2}}}} + {\itemindent=0pt + \labelwidth=10pt + \leftmargin=15pt + \listparindent=15pt + \parsep=0pt + \topsep=\medskipamount} + \newcommand*{\specialsectionendhere} + {\specialsectionend + \global\togglefalse{printspecialsectionmarker}} + \item + \nointerlineskip + \leavevmode\par + \noindent} + {\iftoggle{printspecialsectionmarker}{\specialsectionend}{\relax}% + \end{list}} + + \newenvironment*{caution}[1][]{\begin{specialsection}{Caution}{#1}}{\end{specialsection}} + \newenvironment*{example}[1][]{\begin{specialsection}{Example}{#1}}{\end{specialsection}} + \newenvironment*{futuredirection}[1][] + {\begin{specialsection}{Anticipated Changes \& Possible Extensions}{#1}\small} + {\end{specialsection}} + \newenvironment*{important}[1][]{\begin{specialsection}{Important}{#1}}{\end{specialsection}} + \newenvironment*{note}[1][]{\begin{specialsection}{Note}{#1}}{\end{specialsection}} + \newenvironment*{notes}[1][]{\begin{specialsection}{Notes}{#1}}{\end{specialsection}} + \newenvironment*{tip}[1][]{\begin{specialsection}{Tip}{#1}}{\end{specialsection}} + \newenvironment*{tips}[1][]{\begin{specialsection}{Tips}{#1}}{\end{specialsection}} + \newenvironment*{usecase}[1][]{\begin{specialsection}{Use Case}{#1}\small}{\end{specialsection}} + \newenvironment*{usecases}[1][]{\begin{specialsection}{Use Cases}{#1}\small}{\end{specialsection}} + +\newcommand*{\specialcodesectionheading}[1]{\textcolor{\markercolor}{\textbf{\textit{#1}}}} +\newenvironment*{specialcodesection}[1] + {\Needspace{4\baselineskip}% + \begin{tcolorbox}[colback=white, colframe=\markercolor, + bottomrule=0pt, leftrule=5pt, rightrule=0pt, toprule=0pt] + \sffamily + \begin{list} + {\specialcodesectionheading{#1}} + {\itemindent=0pt + \labelwidth=20pt + \leftmargin=25pt + \listparindent=15pt + \parsep=0pt + \topsep=\medskipamount} + \item + \nointerlineskip + \leavevmode\par + \noindent} + {\end{list} + \end{tcolorbox}} + \newenvironment*{anticipatedchange} + {\begin{specialcodesection}{Anticipated Change}} + {\end{specialcodesection}} + \newenvironment*{implementationnote} + {\begin{specialcodesection}{Implementation Note}} + {\end{specialcodesection}} + \newenvironment*{knownbug} + {\begin{specialcodesection}{Known Bug}} + {\end{specialcodesection}} + +\newenvironment*{suspendshortverb} + {\DeleteShortVerb{\|}} + {\MakeShortVerb{\|}} + +\definecolor{cold-silver}{cmyk}{.08, 0, 0, .18} +\newenvironment*{synopsis} + {\begin{tcolorbox}[boxrule=.25pt, colback=cold-silver]% + \phantomsection} + {\end{tcolorbox}} + +\newcommand*{\synthslantlogo} + {{\sf + S\hspace{-.06em}\synthslantbox{.15}{y}\hspace{.04em}nth% + \hspace{-.02em}% + Slant}} + +\newenvironment*{tablenotes} + {\medskip + \centering + \begin{minipage}{\floatcaptionwidth}} + {\end{minipage}} +\newcommand*{\tablenotemark}[1]{\smash{\textsuperscript{#1}}} + +\newcommand*{\termparbox}[1]{\parbox[t]{\linewidth}{#1\bottomstrut}} + +\newcommand*{\thousandsseparator}{\mbox{,}} + +\newcommand*{\tikzlogo}{\textrm{Ti\textit{k\/}Z}} + +\newcommand*{\topstrut}{\rule{0pt}{1.3em}} + +\newcommand*{\transpose}[1]{{#1}^{\text{T}}} + +\newlength{\ttellipsisgap} +\setlength{\ttellipsisgap}{.4em} +\newcommand*{\ttdots} + {\setbox0=\hbox{.}% + \wd0=0pt% + \copy0\kern\ttellipsisgap + \copy0\kern\ttellipsisgap + \box0\kern\ttellipsisgap} + +\newcommand*{\visualpar}{\textcolor{\markercolor}{\P}\linebreak[1]\enspace} + +\newenvironment*{widecodeexample} + {\begin{maxipage} + \flushright + \begin{minipage}{\textwidth} + \ttfamily + \begin{tabbing}} + {\end{tabbing} + \end{minipage} + \end{maxipage}} + + +\hyphenation{% https://hyphenateit.com/en-us +} + + +\newcommand*{\librecaslonmapline} + {LibreCsln-Italic-osf-t1--base LibreCsln-Italic + " -0.12 SlantFont AutoEnc_etzx2kxblronahmbt4swbkr7jb ReEncodeFont " + <[lcsln_etzx2k.enc <LibreCsln-Italic.pfb} +\ifdefined\pdfoutput + \ifnum\pdfoutput>0 + \pdfmapline{=\librecaslonmapline} + \else + \special{pdf:mapline \librecaslonmapline} + \fi +\else + \special{pdf:mapline \librecaslonmapline} +\fi + + +\begin{document} + \DocInput{synthslant.dtx} +\end{document} +%</driver> +%<*index-style> +actual '=' +heading_prefix "\\pagebreak[3]\\smallskip\n\n{\\sffamily\\bfseries\\large " +heading_suffix "}\\nopagebreak\n" +headings_flag 1 +level '>' +quote '!' +%</index-style> +% \fi +% +% +% \DoNotIndex{\-} +% \DoNotIndex{\begingroup,\bool,\box} +% \DoNotIndex{\DeclareOptionX,\def,\dim,\dimen,\discretionary,\draw} +% \DoNotIndex{\edef,\else} +% \DoNotIndex{\endgroup,\endmicrotypecontext,\endnegslantenvironment,\endslantenvironment} +% \DoNotIndex{\expandafter,\ExplSyntaxOff,\ExplSyntaxOn} +% \DoNotIndex{\fi,\font,\fontdimen,\fontspec,\fp} +% \DoNotIndex{\hbox,\hskip} +% \DoNotIndex{\ifcase,\ifcsdef,\ifdefined,\ifluatex,\ifmmode,\ifnum,\ifpdftex,\ifx,\itshape} +% \DoNotIndex{\kern} +% \DoNotIndex{\l,\let,\llap} +% \DoNotIndex{\mbox,\microtypecontext} +% \DoNotIndex{\NeedsTeXFormat} +% \DoNotIndex{\newbox,\newcommand,\NewDocumentCommand,\NewDocumentEnvironment,\newenvironment,\newrobustcmd} +% \DoNotIndex{\node,\nolinebreak} +% \DoNotIndex{\or} +% \DoNotIndex{\PackageInfo,\PackageWarning,\ProcessOptionsX,\providecommand,\ProvidesPackage} +% \DoNotIndex{\pdfoutput,\pdfrestore,\pdfsave,\pdfsetmatrix,\pstilt} +% \DoNotIndex{\relax,\RequirePackage} +% \DoNotIndex{\sbox,\skip,\space} +% \DoNotIndex{\tikz} +% \DoNotIndex{\upshape,\usebox} +% \DoNotIndex{\wd} +% +% +% \changes{v0.1}{2024-2-12}{Initial version} +% +% +% \pagenumbering{roman} +% +% \title{\synthslantlogo{} -- Synthetically Slanted Glyphs} +% \author{Ch.~L.~Spiel\footnote{\quarterspace\texttt{cspiel@users.sourceforge.org}}} +% \date{\fileversion\qquad \filedate} +% \maketitle +% \thispagestyle{empty} +% +% +% \begingroup +% \let\small=\normalsize +% \begin{abstract} +% \noindent +% Package~\packagename{synthslant} provides macros to slant arbitrary glyphs in both +% directions. It can be used to fake a real slanted font for \emph{short} pieces of text +% and it can generate startling effects, like, for example, upright italics. +% \end{abstract} +% \endgroup +% +% +% \iffalse +%<*title> +prologues := 3; + +string roman_font; +roman_font := "pplr8r"; % URW Palladio L - Roman + +string italics_font; +italics_font := "pplri8r"; % URW Palladio L - Italic + +string sample_text; +sample_text := "fga"; + +u := 70; + +font_scale := 7; + +color light_gray; +light_gray := .8 white; + +color original_color, slanted_color; +original_color := light_gray; +slanted_color := black; + +pair loc[]; +loc[1] := (0, 0); % roman +loc[2] := (1.9u, 0); % italics +loc[3] := (2.03u, 1.1u); % slanted roman +loc[4] := (-.1u, -1.1u); % upright italics + +picture roman; +roman := thelabel.rt(sample_text infont roman_font scaled font_scale, loc[1]); + +picture italics; +italics := thelabel.rt(sample_text infont italics_font scaled font_scale, loc[2]); + +picture slanted_roman; +slanted_roman := thelabel.rt(sample_text infont roman_font scaled font_scale slanted .2, loc[3]); + +picture upright_italics; +upright_italics := thelabel.rt(sample_text infont italics_font scaled font_scale slanted -.2, loc[4]); + + +beginfig(1); + draw roman withcolor original_color; + draw italics withcolor original_color; + draw slanted_roman withcolor slanted_color; + draw upright_italics withcolor slanted_color; +endfig; +end +%</title> +% \fi +% +% +% \begin{center} +% \includegraphics{title.mps} +% \end{center} +% +% \vfill +% +% \begingroup +% \footnotesize +% \noindent +% This package is copyright \textcopyright~2024 Ch.~L.~Spiel. It may be distributed and/or +% modified under the conditions of the \LaTeX{} Project Public License \acronym{(LPPL)}, +% either version~1.3c of this license or --~at your option~-- any later version. This work +% has the \acronym{LPPL} maintenance status \doublequotes{author-maintained}.\par +% \endgroup +% +% +% \clearpage +% \thispagestyle{pagenumberonly} +% \tableofcontents +% +% \vspace{\fill} +% +% \begingroup +% \footnotesize +% \singlespacing +% \noindent +% The font samples~\singlequotes{fga} on the title page +% were generated with the help of \MP{} using \doublequotes{\acronym{URW} Palladio~L} +% in styles~\singlequotes{roman} and~\singlequotes{italic}. +% The affine transformations were \code{slanted .2} for the slanted roman and +% \code{slanted -.2} for the upright italics.\par +% \endgroup +% +% +% \clearpage +% \thispagestyle{pagenumberonly} +% \listoftables +% \bigskip +% \listoffigures +% +% +% \clearpage +% \pagenumbering{arabic} +% \section{Introduction}\label{sec:introduction} +% +% The \packagename{synthslant} package provides a translator (e.\,g.~\LaTeX, \pdfLaTeX, or +% \LuaLaTeX) independent interface to shearing glyphs. It implements a generic operation where +% a short piece of text gets slanted forward or backward. Moreover, specialized macros for the +% two most important use cases are provided, namely slanting an upright font forward and making +% an italics font upright. Unbeknown to some users, \pdfTeX{} performs a similar operation +% under the hood: of the 40\thousandsseparator210~map lines in my \filesystem{pdftex.map} +% currently 1\thousandsseparator236 instruct \pdfTeX{} to artificially slant a font. This +% means some three percent of the shapes are generated this way. +% +% Similar transformations can be achieved by other means. I elaborate on one of the +% alternatives in \cref{sec:alternative} on \cpageref{sec:alternative}. +% Package~\packagename{synthslant} however focuses on ease of use and strict locality of the +% glyph manipulation. +% +% +% \subsection{Appeal for Artificially Slanted Type}\label{sec:appleal-for-artificially-slanted} +% +% Artificially slanted type have a bad reputation. Whenever there is an order to round up the +% usual font suspects synthetically slanted, bolded\footnote{Package~\packagename{amsbsy} +% defines a \doublequotes{Poor Man's Bold} macro~\cs{pmb} that works by +% \singlequotes{overprinting}. The authors of \packagename{amsbsy} recommend to prefer +% package~\packagename{bm} for bold mathematical symbols, though.}, and condensed type along +% with artificial small-caps swiftly are stuffed into the black Maria.\footnote{See for example +% Ref.~\citenum{strizver:2014}, p.~97, but compare p.~142 and also +% Ref.~\citenum{middendorp:2014}, p.~68n, for a more nuanced assessment.} I can retrace this +% condescension for synthetic bold and condensed variants. They spoil the glyphs' outline +% because they do not (and cannot) conserve the necessary proportions. For small-caps the +% problems are somewhat minor and I wonder how far one could get with an +% \propername{OpenType}~font that supports a \code{size}~axis\index{font>axis>size=\code{size}} +% as well as an \code{opsz}~axis\index{font>axis>opsz=\code{opsz}} in the necessary ranges to +% construct convincing small-caps out of the multiple-master font. +% +% In my view artificial slanting keeps much of the font's character intact. In fact one +% accusation of synthetically slanted type is that is creates less contrast than a proper +% italic~\cite[p.~141]{strizver:2014} to which I object that less contrast can in fact be +% enough contrast in a particular setting. Moreover, small contrast with respect to the main +% type is a problem of second order. It does not devalue the shape \foreignphrase{per se} as +% is true for artificial bold and condensed fonts. +% +% What seems to have gotten lost in the discussion is the shapes of true italics that were +% designed alongside with the roman type. If we have an unbiased look at it --~for example at +% the title~page of this manual~-- the italic versions of the upright characters are so +% markedly different that I would like to ask whether they match the upright shape in a strict +% sense. For the double-storey~\sample{a} becomes single-storey, the start of the loop +% of~\sample{g} moves from the far left into the middle. Alongside, the aspect ratio of both +% of the counters change. These defy the common guidelines~\cite[Ch.~6]{stamm:2020} of font +% pairing. We can make sense of the seeming contradiction by recognizing that the italics +% shape is not simply slanted, but creates tension in respect to the upright type by a variety +% of additional design features. A famous quote of \propername{Zuzana Li\v{c}ko} applies once +% again: +% +% \begin{quote} +% The most popular typefaces are the easiest to read; their popularity has made them +% disappear from conscious cognition. It becomes impossible to tell if they are easy to read +% because they are commonly used, or if they are commonly used because they are easy to read. +% \end{quote} +% +% +% \subsection{Some History}\label{sec:history} +% +% Italics accompanying a roman font date back to one of the earliest print shops, namely that +% of \href{https://it.wikipedia.org/wiki/Aldo_Manuzio}{\propername{Aldus Manutius}} around +% 1500\:A.\,C\@. Artificially slanted, also known as \singlequotes{oblique}, versions of +% upright fonts appear in the twentieth century, when type designers and foundries start to +% save time and money by automatically constructing a slanted version of a given roman +% type~\cite[p.~68n]{middendorp:2014}. \packagename{Synthslant} closely follows on their +% steps. +% +% Some fonts in current \LaTeX{} distributions offer slanted series right out of the box. +% \foreignphrase{Eureka!} In particular the oldest (and once upon a time the only) font family +% shipping with \TeX, \href{https://tug.org/FontCatalogue/cmrfonts.html}{Computer Modern +% Roman}\index{font>Computer Modern Roman} --~nowadays member of the \acronym{CM}-Super +% family~-- is available in a deluge of almost thirty shapes. It covers not just slanted roman +% or slanted smallcaps but also slanted typewriter and somewhat surprisingly upright italics. +% Furthermore, the \LaTeXe{} font selection scheme provisions \singlequotes{\code{sl}} for +% slanted shapes and \singlequotes{\code{ui}} for upright italics~\cite{fntguide}. The former +% is accompanied by the macros~\cs{slshape} and~\cs{textsl}. +% +% \begin{wraptable}{r}{.382\textwidth} +% \renewcommand*{\floatcaptionwidth}{\textwidth} +% \small +% \centering +% \caption[Variable fonts with slant-axis] +% {A short list of some variable fonts with a slant axis (\code{slnt}).} +% \label{tab:open-type-slant-feature} +% +% \begin{tabular}{@{}l@{}} +% \toprule +% Font Name \\ +% \midrule +% Cairo\index{font>Cairo} \\ +% Commissioner\index{font>Commissioner} \\ +% Geologica\index{font>Geologica} \\ +% Gluten\index{font>Gluten} \\ +% Inter\index{font>Inter} \\ +% Recursive\index{font>Recursive} \\ +% Roboto Flex\index{font>Roboto Flex} \\ +% \bottomrule +% \end{tabular} +% \end{wraptable} +% +% Refer to \cref{tab:open-type-slant-feature} on the right for a brief list of variable +% fonts\footnote{See also the \LaTeX~Font Catalogue for +% \href{https://tug.org/FontCatalogue/opentypefonts.html}% +% {Fonts with \propername{OpenType} or \propername{TrueType}~Support} +% and search \href{https://fonts.google.com/}{Google Fonts} for families of +% \href{https://fonts.google.com/variablefonts?vfaxis=slnt}{variable fonts with a +% \code{slnt}-axis} or fonts with an \href{https://v-fonts.com/tags/C5}{unusual variation} at +% \href{https://v-fonts.com/}{Variable Fonts}.} that offer a slant-axis\footnote{The +% registered axis is called \code{slnt} and it is not to be confused with the +% \code{ital}~axis.}\index{font>axis>slant=\code{slant}}\index{font>axis>ital=\code{ital}} that +% can be controlled with \packagename{fontspec}'s\index{package>\packagename{fontspec}} +% \code{Slant}\footnote{Since \packagename{fontspec} version~2.9a as of 2024/2/13.}~key and +% \cref{tab:slanted-series-fonts} for a rather incomplete list of fonts that are shipped with +% slanted shapes. For these fonts \packagename{synthslant} is largely superfluous unless +% e.\,g.~they also come with an italics shape that is to be typeset upright. +% +% \begin{table} +% \small +% \centering +% \caption[Fonts with slanted series] +% {Selected fonts that come with their own slanted series.~\visualpar{} The table on +% the left-hand side shows serif fonts, the one on the right-hand side sans-serif +% fonts.} +% \label{tab:slanted-series-fonts} +% +% \newcommand*{\itshapemark}{\tablenotemark{\dag}}% +% +% \begin{tabular}[t]{@{}p{12em}@{}} +% \toprule +% Font Name \\ +% \midrule +% Arvo\index{font>Arvo} \\ +% Computer Modern Roman\index{font>Computer Modern Roman} \\ +% Domitian\index{font>Domitian} \\ +% Droid Serif\index{font>Droid Serif} \\ +% Erewhon\index{font>Erewhon} \\ +% Extended Charter\index{font>Extended Charter} \\ +% \acronym{GFS} Artemisia\index{font>GFS Artemisia=\acronym{GFS} Artemisia} \\ +% \acronym{GFS} Bodoni\index{font>GFS Bodoni=\acronym{GFS} Bodoni} \\ +% \acronym{GFS} Didot\index{font>GFSDidot=\acronym{GFS} Didot} \\ +% \\ +% \bottomrule +% \end{tabular} +% \qquad +% \begin{tabular}[t]{@{}p{12em}@{}} +% \toprule +% Font Name \\ +% \midrule +% Cabin\index{font>Cabin} \\ +% Clear Sans\index{font>Clear Sans} \\ +% Cuprum\index{font>Cuprum} \\ +% Fira Sans\index{font>Fira Sans} \\ +% Gandhi Sans\index{font>Gandhi Sans} \\ +% \acronym{Inria} Sans\index{font>Inria Sans=\acronym{Inria} Sans} \\ +% Lato\index{font>Lato}\itshapemark \\ +% Montserrat\index{font>Montserrat} \\ +% \acronym{PT} Sans\index{font>PT Sans=\acronym{PT} Sans} \\ +% Source Sans Pro\index{font>Source Sans Pro} \\ +% \bottomrule +% \end{tabular} +% +% \begin{tablenotes} +% \itshapemark\enspace The shape is activated with \cs{itshape}. +% \end{tablenotes} +% \end{table} +% +% It seems that the original idea of automatically shearing text in \LaTeX{} to simulate a +% slanted shape goes back to \propername{David Carlisle} who suggested to use the +% \pdfTeX-primitive \cs{pdfliteral} for shearing~\cite{tex-stackexchange-2013-12-7}. Shortly +% thereafter \propername{Bruno Le Floch} pointed to another \pdfTeX-primitive, namely +% \cs{pdfsetmatrix}, available with (in 2013) more recent +% \pdfTeX~versions~\cite{pdftex}.\footnote{The user-level manipulation of the transformation +% matrix has been part of the \acronym{PDF}-standard since its initial publication in +% 1993~\cite[Secs.~3.8 and~3.9]{adobe-pdf-1.0} in the form of operator~\code{cm} +% (\singlequotes{concat}~-- concatenate matrix to current transformation matrix).~\visualpar{} +% The primitive~\cs{pdfliteral} was implemented already in the first release of \pdfTeX{} +% in~1998~\cite{baskerville-pdftex-8-1:1998} and the primitive~\cs{pdfsetmatrix} joined 2007 in +% \pdfTeX~version~1.40.0~\cite{schroeder:2007}.} With the help of the latter affine +% transformations of arbitrary content can be coded directly by setting the transformation +% matrix. A slight variant of his code is used in this package for the \acronym{PDF}- and +% \packagename{l3draw}\index{package>\packagename{l3draw}}-slant~engines. The implementations +% for \pstrickslogo, \tikzlogo{}, and \packagename{fontspec}\packagename{fontspec} are trivial +% as they build upon shear~functions supplied by the respective packages. +% +% +% \subsection{Shear Transformation, Slant, and Angle}\label{sec:shear-transformation} +% +% \index{slant>operation} +% \index{shear>transformation} +% Mathematically the slant operation is a shear transformation, which can be expressed with the +% equation +% \begin{equation}\label{equ:shear-transformation} +% \begin{pmatrix} +% x' \\ +% y' +% \end{pmatrix} +% = +% \begin{pmatrix} +% 1 & \sin\alpha \\ +% 0 & 1 +% \end{pmatrix} +% \mathbin{} +% \begin{pmatrix} +% x \\ +% y +% \end{pmatrix}, +% \end{equation} +% +% \noindent +% where the vector~\(\transpose{(x, y)}\) is mapped to \(\transpose{(x'\!, y')}\) and both are +% elements of the two-dimensional drawing plane~\(\numberset{E}^2\)\!. Compare with +% \Cref{fig:shear-transform}. +% +% +% \iffalse +%<*shear-transform> +verbatimtex +%&latex +\documentclass{amsart} +\usepackage[default, lining, proportional, regular, semibold]{sourceserifpro} +\usepackage[lining, proportional, semibold]{sourcesanspro} +\usepackage[semibold]{sourcecodepro} +\usepackage[xcharter]{newtxmath} +\newcommand*{\numberset}[1]{\mathbb{#1}} +\newcommand*{\transpose}[1]{{#1}^{\text{T}}} +\begin{document} +etex + + +prologues := 3; + + +phi := .618; + +u := 80; + + +numeric line_thickness[]; +line_thickness[1] := .25 * 72/25.4; +line_thickness[2] := .35 * 72/25.4; +line_thickness[3] := .5 * 72/25.4; +line_thickness[4] := .7 * 72/25.4; + +narrow_width := line_thickness[1]; +medium_width := line_thickness[2]; +wide_width := line_thickness[3]; + + +%% / x' \ / 1 slant \ / x \ +%% | | = | | | | +%% \ y' / \ 0 1 / \ y / +def slant_point(expr a_point, a_slant) = + (xpart a_point + ypart a_point * a_slant, ypart a_point) +enddef; + + +pair original_rectangle[]; +original_rectangle[1] := (0, 0); +original_rectangle[2] := (u, 0); +original_rectangle[3] := (u, phi * u); +original_rectangle[4] := (0, phi * u); + +slant := .2; + +pair slanted_rectangle[]; +slanted_rectangle[1] := slant_point(original_rectangle[1], slant); +slanted_rectangle[2] := slant_point(original_rectangle[2], slant); +slanted_rectangle[3] := slant_point(original_rectangle[3], slant); +slanted_rectangle[4] := slant_point(original_rectangle[4], slant); + +pair offset[]; +offset[0] := (0, 0); +offset[1] := (1.75u, 0); + + +beginfig(1); + drawarrow (-.2u, 0) + offset[0] -- (1.25u, 0) + offset[0] + withpen pencircle scaled narrow_width; + drawarrow (0, -.2u) + offset[0] -- (0, u) + offset[0] + withpen pencircle scaled narrow_width; + + label.llft(btex \(\numberset{E}^2\) etex, offset[0]); + label.llft(btex \(x\) etex, (1.25u, 0) + offset[0] + (0, -2)); + label.lft(btex \(y\) etex, (0, u) + offset[0]); + + draw original_rectangle[1] + offset[0] -- + original_rectangle[2] + offset[0] -- + original_rectangle[3] + offset[0] -- + original_rectangle[4] + offset[0] -- + cycle + withpen pencircle scaled wide_width; + drawdot original_rectangle[4] + offset[0] withpen pencircle scaled 4pt; + label.urt(btex \(\transpose{(x, y)}\) etex, original_rectangle[4] + offset[0] + (1, 1)); + + + drawarrow (-.2u, 0) + offset[1] -- (1.25u, 0) + offset[1] + withpen pencircle scaled narrow_width; + drawarrow (0, -.2u) + offset[1] -- (0, u) + offset[1] + withpen pencircle scaled narrow_width; + + label.llft(btex \(\numberset{E}^2\) etex, offset[1]); + label.llft(btex \(x\) etex, (1.25u, 0) + offset[1] + (0, -2)); + label.lft(btex \(y\) etex, (0, u) + offset[1]); + + draw slanted_rectangle[1] + offset[1] -- + slanted_rectangle[2] + offset[1] -- + slanted_rectangle[3] + offset[1] -- + slanted_rectangle[4] + offset[1] -- + cycle + withpen pencircle scaled wide_width; + drawdot slanted_rectangle[4] + offset[1] withpen pencircle scaled 4pt; + label.urt(btex \(\transpose{(x'\!, y')}\) etex, slanted_rectangle[4] + offset[1] + (3, 1)); + + + pair p; + p := slanted_rectangle[1] + offset[1]; + draw p -- (1.5slanted_rectangle[4] + offset[1]) + withpen pencircle scaled narrow_width; + + path angle_indicator; + angle_indicator := fullcircle scaled 1.6u shifted offset[1]; + draw angle_indicator + cutbefore (p -- (1.5slanted_rectangle[4] + offset[1])) + cutafter (offset[1] -- (0, u) + offset[1]); + label.rt(btex \(\alpha\) etex, 1.4original_rectangle[4] + offset[1] + (1, 0)); +endfig; +end +%</shear-transform> +% \fi +% +% +% \begin{figure} +% \centering +% \includegraphics{shear-transform.mps} +% +% \caption[Shear transform] +% {Shear transform of a rectangle by the angle~\(\alpha\). The left-hand side shows +% the original figure the right-hand side the one sheared by~\(\alpha\). The +% \(x\)-axis can be identified with the baseline of the +% text.}\label{fig:shear-transform} +% \end{figure} +% +% +% For \(\alpha = 0\) the shear matrix becomes the identity matrix. Throughout of +% \packagename{synthslant} we work with the \meta{slant} which is \(\sin \alpha\) in +% \cref{equ:shear-transformation} and avoid converting back and forth to the +% \index{shear>angle}shear angle~\(\alpha\).\footnote{At least one slant engine currently +% requires such a conversion, namely~\pstrickslogo. The math is hidden from the user, though.} +% Some values for orientation: \mbox{\(\sin 5.74\degree \approx .1\)}, \mbox{\(\sin 11.5\degree +% \approx .2\)}, and \mbox{\(\sin 17.5\degree \approx .3\)}.\footnote{For small +% angles~\(\lvert\alpha\rvert\) measured in radians the sine is approximately linear: \(\sin +% \alpha \approx \alpha\).} For real-life serif fonts \meta{slant} is in the range of~\(.1\) +% to~\(.45\) and a value of~\(.2\) seems to be quite common. My \filesystem{pdftex.map} lists +% negative \meta{slant} values in the range~\(-.4\) to~\(-.05\) and positive \meta{slant} +% values in the range~\(.14\) up to~\(.45\). See \Cref{tab:slant-values} on +% \cpageref{tab:slant-values} for some actual values of serif fonts in \LaTeX. +% +% +% \subsection{Usage Ideas}\label{sec:usage-ideas} +% +% Automatic slanting both forward and reverse can be applied in a variety of typographic +% occasions. Here are some ideas. +% +% \begin{enumerate} +% \item\label{it:no-italics} +% Generate a slanted serif in the unfortunate situation when a serif font comes without +% italics such as \singlequotes{\acronym{URW}~Antiqua}\index{font>URW Antiqua=\acronym{URW} +% Antiqua}. +% +% Here, the user is relatively free to choose a \meta{slant}, for there are no italics whose +% angle must be matched. \packagename{Synthslant}'s default of~.2 should be a good starting +% point. +% +% \item\label{it:upright-italics} +% Augment a serif font that features an italics shape with upright italics. +% +% In nearly all cases it is desirable not to remove all forward-slant of the italics but +% retain some 1\textdegree{} to~2\textdegree{} of residual angle. +% +% \item\label{it:correct-italics-angle} +% An italics shape that has an excessive slant angle, as +% e.\,g.~\singlequotes{Libre~Caslon}\index{font>Libre Caslon} may be corrected, i.\,e., +% partially un-slanted. +% +% In this case, and generally if a font as a whole needs to be corrected, an alternative +% approach like the one sketched in \cref{sec:alternative} on \cpageref{sec:alternative} may +% be warranted. +% +% \item\label{it:generate-sole-obliques} +% Generate an oblique sans-serif if a sans-serif font comes without an oblique shape as, +% e.\,g., \singlequotes{\acronym{URW}~Grotesk}.\index{font>URW Grotesk=\acronym{URW} Grotesk} +% +% \item\label{it:generate-extra-obliques} +% Supply a slanted sans-serif shape for sans-serif fonts with designed, this is \emph{true} +% obliques as e.\,g.~\singlequotes{Open Sans}.\index{font>Open Sans} +% +% \item\label{it:slant-typewriter} +% Fixed-width --~also called \singlequotes{typewriter} or \singlequotes{teletype}~-- fonts +% without obliques (Yes, I am looking at you, Inconsolata!)\index{font>Inconsolata} finally +% get an oblique shape. +% +% \item\label{it:slanted-small-caps} +% Small caps without accompanying italics can be slanted, too. +% +% \item\label{it:slant-in-math-mode} +% As \packagename{synthslant} also works in \TeX's math-mode, it is possible to give +% math-italics even more of a heeling. +% +% \item\label{it:correct-math-script} +% If the slant of the math script font is at odds with the slant of the usual math italics, +% it may be possible to apply \packagename{synthslant} on the script symbols for matching +% angles. +% +% \item\label{it:slant-big-math-operators} +% Big mathematical operators like the sigma can be slanted and others, like the integral +% sign, can have their inclination adjusted. +% \end{enumerate} +% +% It is possible to obtain slants that run against the reading direction, so called +% \singlequotes{backslanted} glyphs, but I have rarely seen an +% \href{https://fontsinuse.com/tags/2044/left-leaning-italics-backslanted}{example} where the +% typography of a document could benefit from that. +% +% +% \clearpage +% \section{Package Options}\label{sec:package-options} +% +% \begin{synopsis} +% |\usepackage[|\meta{option}\dots|]{synthslant}| +% \end{synopsis} +% +% This is a list of \meta{option}s that \packagename{synthslant} understands. The package +% options allow to predefine the forward and backward slant angles as well as the selection of +% a particular slanting engine. +% +% \begingroup +% \newcommand*{\indexpackageoption}[1] +% {\index{package option>#1=\code{#1}}\index{#1=\code{#1}~(option)}\ignorespaces} +% \begin{description} +% [before={\let\oldmakelabel=\makelabel +% \renewcommand{\makelabel}[1] +% {\oldmakelabel{\termparbox{##1}}\phantomsection}}, +% font=\normalfont, +% style=nextline] +% \item[|auto|]\label{item:auto} +% \indexpackageoption{auto} +% Let the package choose a slant engine. This is the default. +% +% For \pdfLaTeX{} package \packagename{synthslant} selects the \acronym{PDF}-engine, for +% \LuaLaTeX{} the \packagename{fontspec}-engine, and in all other cases the +% \packagename{l3draw}-layer handles the shear transformation. +% +% \item[|disable|]\label{item:disable} +% \indexpackageoption{disable} +% Disable slanting completely. +% +% \item[|fontspec|]\label{item:fontspec} +% \indexpackageoption{fontspec} +% Use \packagename{fontspec}\index{package>\packagename{fontspec}} as slanting +% back-end.\footnote{Requires \filesystem{fontspec.sty.}} +% +% \item[|l3draw|]\label{item:l3draw} +% \indexpackageoption{l3draw} +% Select the \singlequotes{draw} layer\index{package>\packagename{l3draw}} of \LaTeXIII{} as +% base for the slanting engine.\footnote{This option requires \filesystem{l3draw.sty.}} +% +% \begin{caution} +% This engine is experimental and the \singlequotes{draw} layer of \LaTeXIII{} itself is +% still experimental, too. See \cref{sec:limitations} on \cpageref{sec:limitations} for +% details. +% \end{caution} +% +% \item[|negslant=|\meta{slant-expr}]\label{item:negslant} +% \indexpackageoption{negslant} +% Set the default value for \hyperref[syn:synthnegslant]{\cs{synthnegslant}} \emph{only.} +% The argument \meta{slant-expr} is a floating-point expression. Note that for this option +% \meta{slant-expr} must evaluate to a non-positive value. +% +% \item[|PDF|, |pdf|]\label{item:pdf} +% \indexpackageoption{pdf} +% Select the \acronym{PDF}-slant engine. This requires the document is translated with +% \pdfLaTeX{} or a compatible program. +% +% \item[|posslant=|\meta{slant-expr}]\label{item:posslant} +% \indexpackageoption{posslant} +% Set the default value for \hyperref[syn:synthslant]{\cs{synthslant}} \emph{only.} The +% argument \meta{slant-expr} is a floating-point expression. Note that for this option +% \meta{slant-expr} must evaluate to a non-negative value. +% +% \item[|PS|, |ps|]\label{item:postscript} +% \index{ps} +% Use \pstrickslogo\index{package>\packagename{pstricks}} to delegate slanting to the +% PostScript\index{PostScript} interpreter. Obviously requires \pstrickslogo\footnote{The +% package actually required is \filesystem{pst-3d.sty.}} and \acronym{DVI}-to-PostScript +% translation. +% +% \begin{caution} +% This engine is still experimental and produces low-quality output! See +% \cref{sec:limitations} on \cpageref{sec:limitations} for details. +% \end{caution} +% +% \item[|slant=|\meta{slant-expr}]\label{item:slant} +% \indexpackageoption{slant} +% Set the default values for both \hyperref[syn:synthslant]{\cs{synthslant}} and +% \hyperref[syn:synthnegslant]{\cs{synthnegslant}}, this is, behave as if the two package +% options \(\code{posslant} = \meta{slant-expr}\) and \(\code{negslant} = +% -(\meta{slant-expr})\) have been given. The argument \meta{slant-expr} is a floating-point +% expression. +% +% If omitted \packagename{synthslant} assumes \(.2\) and \(-.2\), respectively. +% +% \item[|TikZ|, |tikz|]\label{item:tikz} +% \indexpackageoption{tikz} +% Use \packagename{TikZ}\index{package>\packagename{TikZ}} for slanting.\footnote{Requires +% \filesystem{tikz.sty.}} +% +% \begin{caution} +% This engine is still experimental and produces low-quality output! See +% \cref{sec:limitations} on \cpageref{sec:limitations} for details. +% \end{caution} +% \end{description} +% \endgroup +% +% The package options \code{slant}, \code{posslant}, and \code{negslant} all accept +% floating-point \emph{expressions} as their arguments not just plain floating-point literals. +% See Ref.~\citenum{latex3-interfaces}, Ch.~29, \doublequotes{The \textsf{l3fp}~module~-- +% Floating points} for a description of the floating-point expression syntax and the available +% functions. +% +% +% \clearpage +% \section{Macros and Environments}\label{sec:macros-and-environments} +% +% This section describes how to actually apply the functionality of \packagename{synthslant} to +% some text. If the \meta{slant}~value matching a given font is known this is about it. To +% figure out an unknown \meta{slant}~value check out \cref{sec:determine-slant}. +% +% +% \subsection{Variable-Like Macros}\label{sec:variables} +% +% The amount of slanting forward (positive slant angles) and backward (negative slant angles) +% is controlled by two macros. They are set during package initialization. However, they can +% be changed at any time to accommodate for different fonts or special needs. +% +% \DescribeMacro{\synthslant} +% Control the slant applied by \hyperref[syn:textsynthslant]{\cs{textsynthslant}}. +% This value is non-negative. +% +% \begin{synopsis}\label{syn:synthslant} +% \cs{synthslant} +% \end{synopsis} +% +% To change the slant value to \(.24\) say +% +% \begin{codeexample} +% \cs{renewcommand}*\{\cs{synthslant}\}\{.24\} +% \end{codeexample} +% +% \Cref{tab:slant-values} summarizes some suggested slant values for selected fonts. +% +% \begin{table} +% \small +% \centering +% \caption[Suggested slant values] +% {Suggested slant values for selected \emph{serif} fonts. The \meta{slant} shown in +% the tables is not necessarily the one closest to the font's italics. Also compare +% with the left-hand table of \cref{tab:slanted-series-fonts}.} +% \label{tab:slant-values} +% +% \fullwidthsetup{skipabove=0pt, skipbelow=0pt} +% \begin{maxipage} +% \begin{minipage}{\textwidth} +% \flushright +% \begin{tabfigures} +% \begin{tabular}[t]{@{}p{9.5em}l@{}} +% \toprule +% Font Name & Slant \\ +% \midrule +% \acronym{ADF} Accanthis\index{font>ADF Accanthis=\acronym{ADF} Accanthis} & .26 \\ +% \acronym{ADF} Baskervald\index{font>ADF Baskervald=\acronym{ADF} Baskervald} & .32 \\ +% \acronym{ADF} Berenis\index{font>ADF Berenis=\acronym{ADF} Berenis} & .2 \\ +% \acronym{ADF} Venturis\index{font>ADF Venturis=\acronym{ADF} Venturis} & .2 \\ +% Alegreya\index{font>Alegreya} & .2 \\ +% Arvo\index{font>Arvo} & .2 \\ +% BaskervilleF\index{font>BaskervilleF} & .2 \\ +% Bera Serif\index{font>Bera Serif} & .2 \\ +% Bitter\index{font>Bitter} & .16 \\ +% Caladea\index{font>Caladea} & .14 \\ +% Clara\index{font>Clara} & .24 \\ +% Cochineal\index{font>Cochineal} & .2 \\ +% Coelacanth\index{font>Coelacanth} & .2 \\ +% Crimson Pro\index{font>Crimson Pro} & .2 \\ +% Crimson Text\index{font>Crimson Text} & .2 \\ +% \bottomrule +% \end{tabular}% +% \qquad +% \begin{tabular}[t]{@{}p{9.5em}l@{}} +% \toprule +% Font Name & Slant \\ +% \midrule +% Day Roman\index{font>Day Roman} & .2 \\ +% \acronym{EB} Garamond\index{font>EB Garamond=\acronym{EB} Garamond} & .3 \\ +% etbb\index{font>etbb} & .2 \\ +% fbb\index{font>fbb} & .2 \\ +% Garamond Expert\index{font>Garamond Expert} & .2 \\ +% Gandhi Serif\index{font>Gandhi Serif} & .2 \\ +% Gentium\index{font>Gentium} & .2 \\ +% Ibarra Real Nova\index{font>Ibarra Real Nova} & .2 \\ +% \acronym{IBM} Plex Serif\index{font>IBM Plex Serif=\acronym{IBM} Plex Serif} & .24 \\ +% \acronym{Inria} Serif\index{font>Inria Serif=\acronym{Inria} Serif} & .2 \\ +% Libertinus Serif\index{font>Libertinus Serif} & .2 \\ +% Libre Baskerville\index{font>Libre Baskerville} & .3 \\ +% Libre Caslon\index{font>Libre Caslon} & .38 \\ +% & \\ +% & \\ +% \bottomrule +% \end{tabular}% +% \qquad +% \begin{tabular}[t]{@{}p{9.5em}l@{}} +% \toprule +% Font Name & Slant \\ +% \midrule +% Merriweather\index{font>Merriweather} & .14 \\ +% MLModern\index{font>MLModern} & .23 \\ +% Noto Serif\index{font>Noto Serif} & .22 \\ +% \acronym{PT} Serif\index{font>PT Serif=\acronym{PT} Serif} & .2 \\ +% Roboto Slab\index{font>Roboto Slab} & .2 \\ +% Quattrocento\index{font>Quattrocento} & .2 \\ +% Source Serif Pro\index{font>Source Serif Pro} & .18 \\ +% Spectral\index{font>Spectral} & .18 \\ +% \acronym{STIX}\index{font>STIX=\acronym{STIX}} & .2 \\ +% \TeX{} Gyre Pagella\index{font>TeX Gyre Pagella=\TeX{} Gyre Pagella} & .16 \\ +% \acronym{TX} Fonts Serif\index{font>TX Fonts Serif=\acronym{TX} Fonts Serif} & .2 \\ +% \acronym{URW} Antiqua\index{font>URW Antiqua=\acronym{URW} Antiqua} & .2 \\ +% \acronym{URW} Nimbus Roman\index{font>URW Nimbus Roman=\acronym{URW} Nimbus Roman} & .2 \\ +% Utopia\index{font>Utopia} & .2 \\ +% & \\ +% \bottomrule +% \end{tabular} +% \end{tabfigures} +% \end{minipage} +% \end{maxipage} +% \end{table} +% +% \DescribeMacro{\synthnegslant} +% Control the slant applied by +% \hyperref[syn:textsynthuprightitalic]{\cs{textsynthuprightitalic}}. This value is +% non-positive. +% +% \begin{synopsis}\label{syn:synthnegslant} +% \cs{synthnegslant} +% \end{synopsis} +% +% +% \subsection{Basic Interface}\label{sec:basic-interface} +% +% Package \packagename{synthslant} provides two easy-to-use macros for slanting glyphs. For a +% more flexible and powerful interface, see~\cref{sec:advanced-interface}. +% +% \begin{note} +% The following restrictions and workarounds to get line-breaking and automatic hyphenation +% working again do \emph{not} apply to the +% \packagename{fontspec}\index{package>\packagename{fontspec}} back-end. +% \end{note} +% +% \noindent +% Both macros provide \emph{simplistic} support for slanting hyphenatable +% words and space-separated phrases for a given \meta{text}. The fundamental shear +% transformation would produce an single unbreakable horizontal box. So we have added two +% provisions to re-enable at least some breakability. +% +% \begin{enumerate} +% \item Spaces introduce breakpoint,\index{breakpoint at space} e.\,g. +% \begin{codeexample} +% \cs{textsynthslant}\{topological dual space\} +% \end{codeexample} +% slants the first word (producing a horizontal box) inserts a space and then slants the +% second word (producing another horizontal box). \TeX{} sees two (unbreakable) boxes and a +% discardable space when it comes to linebreaking. +% +% \item Discretionary hyphens\index{discretionary hyphen} in the form of \singlequotes{\cs{-}} +% get propagated. So, we could improve on our above example by saying +% \begin{codeexample} +% \cs{textsynthslant}\{topo\cs{-}log\cs{-}i\cs{-}cal dual space\} +% \end{codeexample} +% to \singlequotes{recover} hyphenation of the first word. +% \end{enumerate} +% +% \noindent +% This neither is a complete nor an elegant solution but it will take us quite far. +% +% \medskip +% +% \DescribeMacro{\textsynthslant} +% Forward slant some upright glyphs. +% +% \begin{synopsis}\label{syn:textsynthslant} +% \cs{textsynthslant}\marg{text} +% \end{synopsis} +% +% In horizontal mode switch to an upright shape, slant \meta{text} with the slant value stored +% in \hyperref[syn:synthslant]{\cs{synthslant}} and apply \doublequotes{slant +% correction}\index{slant>correction} --~the equivalent of italics correction~-- at the +% right-hand side of~\meta{text}. +% +% In math mode just slant \meta{text} with the slant value stored in +% \hyperref[syn:synthslant]{\cs{synthslant}}. +% +% \begin{usecases} +% If italics seem to be too intrusive in the body we can substitute slanted text for example +% for foreign phrases like \singlequotes{et.\,al.} and \singlequotes{etc.}: +% +% \begin{codeexample} +% \cs{newcommand*}\=\{\cs{foreignphrase}\}[2][USenglish] \\ +% \>\{\cs{foreignlanguage}\{\#1\}\{\cs{textsynthslant}\{\#2\}\}\} +% \end{codeexample} +% +% \noindent +% where we show the font modification in conjunction with the +% \packagename{babel}~macro\index{package>\packagename{babel}} +% \cs{foreignlanguage}~\cite{package:babel}.~\visualpar +% +% In math-mode you cannot have enough fonts, symbols, and most of the gizmos over there! I +% like to mark up automorphism groups associated with a given group with a slanted-roman +% typeface, though my macro has a more general name. +% +% \begin{codeexample} +% \cs{newcommand*}\=\{\cs{functionspace}\}[1] \\ +% \>\{\cs{mbox}\{\cs{textsynthslant}\{\#1\}\}\}\specialsectionendhere +% \end{codeexample} +% \end{usecases} +% +% \DescribeMacro{\textsynthuprightitalic} +% Backward slant some italics or oblique glyphs. +% +% \begin{synopsis}\label{syn:textsynthuprightitalic} +% \cs{textsynthuprightitalic}\marg{text} +% \end{synopsis} +% +% In horizontal mode switch to an italics shape, +% slant \meta{text} with the slant value stored in \cs{synthnegslant}. +% +% In math mode just un-slant \meta{text} with the slant value stored in \cs{synthnegslant}. +% +% \begin{example} +% To set apart operators in an algebra like, e.\,g., the radical, we could use upright +% italics +% +% \begin{codeexample} +% \cs{newcommand*}\=\{\cs{algebraoperator}\}[1] \\ +% \>\{\cs{mbox}\{\cs{textsynthuprightitalic}\{\#1\}\}\} +% \end{codeexample} +% +% \noindent +% and follow up with +% +% \begin{codeexample} +% \cs{DeclareMathOperator}\{\cs{rad}\}\{\cs{algebraoperator}\{rad\}\} +% \end{codeexample} +% +% \noindent +% where we have assumed that \packagename{amsmath} has been loaded to bring +% \cs{DeclareMathOperator} into scope. +% \end{example} +% +% +% \subsection{Advanced Interface}\label{sec:advanced-interface} +% +% \DescribeMacro{\synthslantbox} +% Slant \meta{text} with an amount of \meta{slant} that can be positive, negative or zero. +% +% \begin{synopsis}\label{syn:synthslantbox} +% \cs{synthslantbox}\marg{slant}\marg{text} +% \end{synopsis} +% +% This is the unadorned call to the chosen slanting engine. In particular, neither the values +% of \hyperref[syn:synthslant]{\cs{synthslant}} nor of +% \hyperref[syn:synthnegslant]{\cs{synthnegslant}} enter its expansion! No corrections or +% \TeX-mode adjustments are made. +% +% \begin{example} +% Generate a substitute for a missing solidus character: +% +% \begin{codeexample} +% 12\=\kill +% \cs{renewcommand*}\{\cs{textfractionsolidus}\}[1] \\ +% \>\{\=\cs{kern}-.125em \\ +% \> \>\cs{raisebox}\=\{.125em\} \\ +% \> \> \>\{\=\cs{smaller} \\ +% \> \> \> \>\cs{synthslantbox}\{.3\}\{\cs{char}`/\}\}\% \\ +% \> \>\cs{kern.1em}\} +% \end{codeexample} +% +% \noindent +% where the \cs{smaller} macro is from the +% \packagename{relsize}~package~\cite{package:relsize}. +% \end{example} +% +% The following two environments are responsible for setting up everything before the actual +% slant or un-slant code runs and what happens after the slant-engine finishes. They can be +% redefined or patched to meet different users' needs. +% +% \DescribeEnv{slantenvironment} +% Wrapper around \hyperref[syn:synthslantbox]{\cs{synthslantbox}} that is called for every +% forward-slanting operation with~\hyperref[syn:textsynthslant]{\cs{textsynthslant}}. +% +% \begin{synopsis}\label{syn:slantenvironment} +% \cs{begin}|{slantenvironment}| \\ +% \hspace*{1em}\dots \\ +% \cs{end}|{slantenvironment}| +% \end{synopsis} +% +% Switch to an upright font shape and --~if +% package~\packagename{microtype}~\cite{package:microtype}\index{package>\packagename{microtype}} +% has been loaded~-- enter the Microtype-context defined by +% macro~\hyperref[syn:slantcontext]{\cs{slantcontext}}. At the end add some slant correction, +% which is the equivalent of italics correction. +% +% \begin{usecases}[\doublequotes{Patch Cases}] +% Left-italics correction.~\visualpar{} +% Simultaneous left-italics and right-italics correction for a shift-left effect. +% \end{usecases} +% +% \DescribeEnv{negslantenvironment} +% Wrapper around \hyperref[syn:synthslantbox]{\cs{synthslantbox}} that is called for every +% backward-slanting operation +% with~\hyperref[syn:textsynthuprightitalic]{\cs{textsynthuprightitalic}}. +% +% \begin{synopsis}\label{syn:negslantenvironment} +% \cs{begin}|{negslantenvironment}| \\ +% \hspace*{1em}\dots \\ +% \cs{end}|{negslantenvironment}| +% \end{synopsis} +% +% Switch to an italics font shape and --~if +% package~\packagename{microtype}~\cite{package:microtype} has been loaded~-- enter the +% Microtype-context defined by macro~\hyperref[syn:negslantcontext]{\cs{negslantcontext}}. +% +% \DescribeMacro{\slantcontext} +% Microtype context used when typesetting slanted text. +% +% \begin{synopsis}\label{syn:slantcontext} +% \cs{slantcontext} +% \end{synopsis} +% +% The expansion of this macro may be empty. +% The package's default is +% +% \begin{codeexample} +% tracking = synthslant +% \end{codeexample} +% +% \begin{note} +% The tracking context~\code{synthslant} is \emph{not} defined by \packagename{synthslant}. +% And \packagename{microtype} ignores undefined contexts. +% \end{note} +% +% \DescribeMacro{\negslantcontext} +% Microtype context used when typesetting un-slanted text. +% +% \begin{synopsis}\label{syn:negslantcontext} +% \cs{negslantcontext} +% \end{synopsis} +% +% The expansion of this macro may be empty. +% The package's default is +% +% \begin{codeexample} +% tracking = synthnegslant +% \end{codeexample} +% +% \begin{note} +% The tracking context~\code{synthnegslant} is \emph{not} defined by +% \packagename{synthslant}. And \packagename{microtype} ignores undefined contexts. +% \end{note} +% +% \begin{example} +% Upright italics often look somewhat tight. I like to add some extra tracking to them. So, +% I simply define the context~\code{synthnegslant}: +% +% \begin{codeexample} +% \cs{SetTracking}\=[context = synthnegslant] \\ +% \>\{encoding = *, shape = it\} \\ +% \>\{10\}\specialsectionendhere +% \end{codeexample} +% \end{example} +% +% \begin{tip} +% When the tracking of upright italics is changed +% it may be advisable +% +% \begin{itemize}[notopsep] +% \item to break ligatures, e.\,g.~\code{no ligatures = \{f\}}, +% \item to adjust the outer kerning, e.\,g.~\code{outer~kerning = \{0, 0\}} and +% \item to adapt the inter-word spacing, e.\,g.~\code{spacing = \{100,,\}}. +% \end{itemize} +% +% The document \filesystem{synthslant-gauge.tex}, which comes with +% package~\packagename{synthslant}, has sample texts and tracking variations already set up +% for experimentation. +% \end{tip} +% +% +% \clearpage +% \section{Determining Slant}\label{sec:determine-slant} +% +% If a synthetically slanted piece of text needs to match to an existing italics or oblique +% font the question arises how to determine the slant angle~\(\alpha\) or~\meta{slant}. +% +% \begin{note} +% The slant angles of different glyphs in the same font may slightly differ from each other. +% We look for a representative \meta{slant}, a kind of average that achieves a visual match +% with the italics or obliques of the font family. +% \end{note} +% +% +% \subsection{Direct Measurement}\label{sec:direct-meansurement} +% +% Measure the angle of some reference glyphs with a graphics program. +% +% \begin{enumerate}[itemsep=.5\itemsep, parsep=.5\parsep] +% \item Prepare a page with some sample glyphs of the font shape to be matched. +% +% \item Render it as PostScript or in~\acronym{PDF}. +% +% \item Load the file at a resolution of 1200\,dpi or higher into your favourite graphics +% editor that supports measuring angles. +% +% \item In the graphics editor center the interesting letters and set the zoom to one hundred +% percent or more. +% +% \item Measure some letters and write down the angles. +% +% \item Convert the desired angle~\(\alpha\) to a \meta{slant} by calculating \(\sin \alpha\). +% +% If no computer is available, the following formula might help: +% \begin{equation*} +% \meta{slant} = \sin \alpha \approx \frac{11}{630\degree} \: \alpha, +% \end{equation*} +% +% where \(\alpha\) is given in degrees. +% \end{enumerate} +% +% +% \subsection{Comparison of Shapes}\label{sec:shape-comparison} +% +% Compare some reference glyphs with a differently slanted versions. +% +% \begin{enumerate}[itemsep=.5\itemsep, parsep=.5\parsep] +% \item In file~\filesystem{synthslant-gauge.tex} which comes with the +% \packagename{synthslant}~package insert the code to load your font-of-interest. +% +% \item Render the document as PostScript or as~\acronym{PDF}. +% +% \item Load the first page at a resolution of 600\,dpi to~900\,dpi into your favourite +% graphics editor. +% +% \item Cut the italics sample at the top allowing for generous white-space around it as a +% rectangle +% +% \item Paste the rectangle in a new layer called e.\,g.~\singlequotes{sample}. +% +% \item On layer \singlequotes{sample} move the rectangle down the list of different slant +% values until it match best. +% +% \item Switch the layer mode of \singlequotes{sample} to \singlequotes{difference} and +% fine-position the rectangle over the slanted sample. Compare different letters in that +% way. Change line until the best match is found. +% +% \item Read the slant value at the left-hand side of the line. See +% \Cref{fig:compare-with-the-gimp}. +% \end{enumerate} +% +% \begin{figure} +% \centering +% \includegraphics[keepaspectratio=true, width=\linewidth] +% {compare-with-the-gimp} +% +% \caption[Compare slant angles] +% {Compare italics and slanted samples with \application{The Gimp}.~\visualpar{} For +% this screendump I loaded the samples on the first page of +% \filesystem{synthslant-gauge.pdf} at a resolution of~600\,dpi into +% \application{The Gimp}. The \singlequotes{sample}~layer is aligned to the +% letter~\singlequotes{t} in the word~\singlequotes{White}. Note that accidentally +% the letter~\singlequotes{H} of the next word~\singlequotes{Handgloves} confirms +% the good match.}\label{fig:compare-with-the-gimp} +% \end{figure} +% +% +% \subsection{Exploring Further}\label{sec:exploring-further} +% +% Once a usable slant value has been found it can be fed into \filesystem{synthslant-gauge.tex} +% and --~after recompiling with the appropriate \LaTeX-engine~-- used to examine the details of +% the slant operations. +% +% Page~2, Sec.~3.1, \singlequotes{Copy}, shows wild mixes of different font shapes, native al +% well as synthesized ones. Here, the slanted glyphs as well as the upright italics should +% blend well with the native italics/obliques and the normal font, respectively. +% +% Page~3, Sec.~3.2 and following sub-sections, examines the coupling of +% \packagename{synthslant} with the \TeX-system and some of its extensions. If a slant engine +% malfunctions, it will become evident on this page. +% +% +% \clearpage +% \section{Limitations and Known Problems}\label{sec:limitations} +% +% Here I list some of the known problems of \packagename{syntslant}. Conceivably there are +% more. +% +% \begin{description} +% \item[All except \packagename{fontspec}.] +% \packagename{Syntslant}~manipulations may not survive +% (pre-)\discretionary{}{}{}processing by \MP. +% +% \item[\packagename{l3draw} engine.]\index{package>\packagename{l3draw}}\mbox{} +% \begin{itemize} +% \item Depending of the shear direction the \packagename{l3draw} engine may generate some +% extra positive or negative space at the ends of the text. +% +% \item Any box sheared looses its depth; technically \cs{dp} becomes~0pt. +% +% \item Markedly slower than the \acronym{PDF}-implementation! +% \end{itemize} +% +% \item[\pstrickslogo{} engine.]\index{package>\packagename{pstricks}} +% The \pstrickslogo{} engine produces some extra space at the ends of the text. +% +% \item[\tikzlogo{} engine.]\index{package>\packagename{tikz}} +% The \tikzlogo{} engine produces some extra space at the ends of the text. +% \end{description} +% +% +% \clearpage +% \section{Alternative Solution}\label{sec:alternative} +% +% Here is an alternative to \packagename{synthslant} that I am aware of. It changes the slant +% of a font as a whole and it is impossible to undo the change within the document. +% +% +% \subsection{Using \pdfTeX}\label{sec:alternative-pdftex} +% +% In \pdfTeX{} fonts can be re-mapped in the document preamble with the +% primitive~\cs{pdfmapline}; see the \pdfTeX{} Reference Manual~\cite[Sec.~6.1]{pdftex} for a +% description of the syntax. This possibility renders possible to splice in a slanting +% operation on the fly. +% +% Here is a simplified syntax of a font map line, which does not indicate any of the optional +% parts for better readability: +% +% \begin{multilinecodeexample} +% \meta{tfm-name} \meta{ps-name} \meta{font-flags} \\ +% \pushright "\meta{special}" <\meta{encoding-file} <\meta{font-file} +% \end{multilinecodeexample} +% +% \noindent where +% +% \begin{itemize}[notopsep] +% \item \meta{tfm-name} is the basename of the \TeX{} font-metric file~(\filesystem{*.tfm}), +% +% \item \meta{ps-name} is the name the font will acquire inside of \TeX, +% +% \item \meta{font-flags} optionally specify some characteristics of the font, +% +% \item \meta{special} prescribes font manipulations in the same way as +% \command{dvips}~\cite[Sec.~6.3]{dvips} does, +% +% \item \meta{encoding-file} is the filename~(\filesystem{*.enc}) where the encoding to be used +% with \meta{font-file} is stored, and +% +% \item \meta{font-file} sets the filename of the font's definition. It is given without path +% but includes an extension, which typically is \filesystem{otf,} \filesystem{pfb,} +% or~\filesystem{ttf.} +% \end{itemize} +% +% \noindent +% We are particularly interested in the \meta{special}~part that allows us to slant the whole +% font with a single instruction. +% +% I want to elaborate the example given in \cref{sec:usage-ideas}, +% \cref{it:correct-italics-angle} and generate less-angled italics for +% Libre~Caslon.\index{font>Libre Caslon} Here is a suitable map line taken from +% \filesystem{pdftex.map} on my system: +% +% \begin{multilinecodeexample} +% LibreCsln-Italic-osf-t1--base LibreCsln-Italic \\ +% \indent "\textvisiblespace AutoEnc\ttdots\textvisiblespace ReEncodeFont\textvisiblespace" \\ +% \pushright <[lcsln\ttdots.enc <LibreCsln-Italic.pfb +% \end{multilinecodeexample} +% +% \smallskip +% +% \noindent +% which I had to break into three lines to make it fit this page. The +% \singlequotes{{\ttfamily\ttdots\,}} indicate parts of the identifiers that I left out beyond +% that. There are in fact four map lines for \code{T1}-encoded Libre~Caslon italics, those for +% lining figures~\singlequotes{\code{lf}}, oldstyle figures~\singlequotes{\code{osf}}, tabular +% lining figures~\singlequotes{\code{tlf}}, and tabular oldstyle +% figures~\singlequotes{\code{osf}}. +% +% The slant operation I want to add to the \meta{special}~part has the format: +% +% \begin{codeexample} +% \meta{slant}~SlantFont +% \end{codeexample} +% +% \noindent +% so for a shear to the left, for example, \(\meta{slant} = -.12\), which means the font gets +% slanted by~\(-8\degree\) the \meta{special}~part becomes +% +% \begin{codeexample} +% "\textvisiblespace -0.12\textvisiblespace SlantFont\textvisiblespace +% AutoEnc\ttdots\textvisiblespace ReEncodeFont\textvisiblespace" +% \end{codeexample} +% +% \noindent +% Finally, I select the modified font e.\,g.~with macro +% +% \begin{codeexample} +% \cs{usefont}\{\meta{encoding}\}\{\meta{family}\}\{\meta{series}\}\{\meta{shape}\} +% \end{codeexample} +% +% \noindent +% See Ref.~\citenum{latex-unofficial-refman} for details. +% In our case the call to \cs{usefont} is +% +% \begin{codeexample} +% \char`\\usefont\{T1\}\{LibreCsln-OsF\}\{regular\}\{it\} +% \end{codeexample} +% +% \begin{example} +% Here is all the talk of above put into action as this very document contains exactly the +% \cs{pdfmapline} just described. +% +% \begin{center} +% \def\sample{White Handgloves} +% \begin{tabular}{@{}ll@{}} +% Uncorrected, original italics & {\usefont{T1}{LibreCsln-LF}{regular}{it}\sample} \\ +% Less angled version & {\usefont{T1}{LibreCsln-OsF}{regular}{it}\sample} +% \end{tabular} +% \end{center} +% +% \noindent +% The only trick I have to reveal is that for the \doublequotes{original italics} I used the +% lining figures~\singlequotes{\code{lf}} version of the font, whereas the \doublequotes{less +% angled} version shows the oldstyle figures~\singlequotes{\code{osf}} version. +% +% The \TeX{} Font Metrics file (\acronym{TFM}) for this particular variant of Libre~Caslon +% was not touched. +% \end{example} +% +% +% \subsection{Combining \LaTeX{} and \command{dvipdfmx}}\label{sec:alternative-latex} +% +% The alternative when using \LaTeX{} is similar the one elaborated in the previous section. +% The font mapline gets modified by \cs{special} primitive +% +% \begin{codeexample} +% \cs{special}\{pdf:mapline \meta{font-mapline}\} +% \end{codeexample} +% +% \noindent +% that forwards the task of re-mapping the font, e.\,g.~to \command{dvipdfmx}. Our running +% example becomes +% +% \begin{multilinecodeexample} +% \cs{special}\{pdf:mapline \\ +% \indent LibreCsln-Italic-osf-t1--base LibreCsln-Italic \\ +% \indent "\textvisiblespace -0.12\textvisiblespace SlantFont\textvisiblespace +% AutoEnc\ttdots\textvisiblespace +% ReEncodeFont\textvisiblespace" \\ +% \pushright <[lcsln\ttdots.enc <LibreCsln-Italic.pfb\} +% \end{multilinecodeexample} +% +% \noindent +% The mapline contains \command{dvips}~options for special font effects; see +% Ref.~\citenum{dvips}, Sec.~6.3. Note that there is no \singlequotes{\code{=}}-sign at the +% beginning of the \code{pdf:mapline} in contrast to \cs{pdfmapline}. +% +% The font is activated in the same way as in the \acronym{PDF}-path +% (\cref{sec:alternative-pdftex}). The further translation of the resulting \acronym{DVI}-file +% must be performed with an application that is aware of the \cs{special}~primitive as for +% example~\command{dvipdfmx}~\cite{dvipdfmx} is. +% +% \begin{note} +% Despite the option syntax originates with \command{dvips} it is not able to interpret any +% \code{\cs{special}\{pdf:mapline \ttdots\}}. +% \end{note} +% +% +% \clearpage +% \appendix +% +% +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +% \MaybeStop{ +% \clearpage +% \phantomsection +% \resetfancyhead +% \addcontentsline{toc}{section}{Change History} +% \PrintChanges +% +% \clearpage +% \phantomsection +% \addcontentsline{toc}{section}{References} +% \begin{RaggedRight} +% \begin{thebibliography}{88} +% \bibitem{package:relsize} +% \bibauthor{Arseneau, Donald}. +% \bibtitle{The \textsf{relsize} package}. +% 2013, +% \biburl{https://ctan.org/pkg/relsize}. +% +% \bibitem{adobe-pdf-1.0} +% \bibauthor{Bienz, Tim} and \bibauthor{Richard Cohn}. +% \bibtitle{Portable Document Format Reference Manual}. +% Addison-Wesley Publishing Company, Reading/MA, +% 1993, +% \biburl{https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/pdfreference1.0.pdf}. +% +% \bibitem{package:babel} +% \bibauthor{Bezos, Javier}. +% \bibtitle{Package~\packagename{babel}}. +% 2021, +% \biburl{https://ctan.org/pkg/babel}. +% The original author of \packagename{babel} was \bibauthor{J. L. Braams}. +% +% \bibitem{tex-stackexchange-2013-12-7} +% \bibauthor{Carlisle, David}. +% \bibtitle{Shear Transform a Box}. +% 2013-12-7, +% \biburl{https://tex.stackexchange.com/questions/63179/shear-transform-a-box/63188}. +% +% \bibitem{dvipdfmx} +% \bibauthor{Dvipdfmx Project Team,} ed. +% \bibtitle{\command{dvipdfmx}}. +% 2020, +% \biburl{https://ctan.org/pkg/dvipdfmx}. +% +% \bibitem{fntguide} +% \bibauthor{\LaTeXIII{} Project Team,} ed. +% \bibtitle{\LaTeXe{} font selection}. +% 2023, +% \biburl{https://www.latex-project.org/help/documentation/fntguide.pdf}. +% +% \bibitem{latex3-interfaces} +% \bibauthor{\LaTeXIII{} Project,} +% \bibtitle{The \LaTeXIII{} Interfaces}. +% 2024, +% \biburl{https://texdoc.org/serve/interface3/0}. +% +% \bibitem{latex-unofficial-refman} +% \bibauthor{latexref.xyz}. +% \bibtitle{\LaTeXe: An unofficial reference manual}. +% 2023, +% \biburl{https://latexref.xyz/dev/latex2e.pdf}. +% +% \bibitem{middendorp:2014} +% \bibauthor{Middendorp, Jan}. +% \bibtitle{Shaping Text}. +% \acronym{BIS}~publishers, Amsterdam, +% 2014. +% +% \bibitem{dvips} +% \bibauthor{Rokicki, Tomas}. +% \bibtitle{\command{dvips}}. +% 2022, +% \biburl{https://tug.org/texlive/Contents/live/texmf-dist/doc/dvips/dvips.pdf}. +% +% \bibitem{package:microtype} +% \bibauthor{Schlicht, Robert}. +% \bibtitle{Package~\packagename{microtype}}. +% 2020, +% \biburl{https://ctan.org/pkg/microtype}. +% +% \bibitem{schroeder:2007} +% \bibauthor{Schr\"oder, Martin}. +% \bibtitle{pdftex 1.40}. +% 2007, +% \biburl{https://tug.org/mail-archives/pdftex/2007-January/006910.html}. +% +% \bibitem{stamm:2020} +% \bibauthor{Stamm, Philipp}. +% \bibtitle{Schrifttypen -- Verstehen Kombinieren: +% Schriftmischung als Reiz in der Typografie}. +% Birkhäuser, Basel, +% 2020. +% +% \bibitem{strizver:2014} +% \bibauthor{Strizver, Ilene}. +% \bibtitle{Type rules!: the designer's guide to professional typography}, +% 4\textsuperior{th}~ed. +% John Wiley~\& Sons, Hoboken/NJ, +% 2014. +% +% \bibitem{baskerville-pdftex-8-1:1998} +% \bibauthor{Th\`anh, Han The}. +% \bibtitle{The \pdfTeX{} user manual}. +% Baskerville, 8(1), 9--14 (1998), +% \biburl{http://uk-tug-archive.tug.org/wp-installed-content/uploads/2008/12/81.pdf}. +% +% \bibitem{pdftex} +% \bibauthor{Th\`anh, Han The} et al. +% \bibtitle{\pdfTeX}. +% 2023, +% \biburl{http://mirrors.ctan.org/systems/doc/pdftex/manual/pdftex-a.pdf}. +% \end{thebibliography} +% \end{RaggedRight} +% +% +% \clearpage +% \begin{RaggedRight} +% \setcounter{IndexColumns}{2} +% \setlength{\columnsep}{30pt} +% \label{sec:index} +% \phantomsection +% \addcontentsline{toc}{section}{Index} +% \PrintIndex +% \end{RaggedRight} +% } +% +% +% \clearpage +% \section{Package Code}\label{sec:package-code} +% \addtocontents{toc}{\begingroup\small} +% \addtocontents{toc}{\protect\begin{multicols}{2}} +% \addtocontents{toc}{\protect\raggedcolumns} +% +% This is the \doublequotes{Reference Manual} section of the documentation +% where we describe the package's code +% and explain its implementation details. +% +% +% \begin{macrocode} +%<*package> +\NeedsTeXFormat{LaTeX2e}[2005/12/01] +\ProvidesPackage{synthslant} + [2024/05/07 v0.1 Synthetically Slant glyphs] + +\RequirePackage{iftex} +\RequirePackage{xkeyval} + +% \end{macrocode} +% +% +% \subsection{Declaration of Default Slants} +% +% \begin{macro}{\synthslant} +% Introduce a reasonable default for the slant. Let the user override it if she knows +% better. +% +% Remember that the slant is not an angle (with respect to the \(y\)-axis), but the sine of +% it; The value~\(.2\) approximately corresponds to a slant-angle of 12\textdegree\!. +% +% \begin{macrocode} +\providecommand*{\synthslant}{.2} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\synthnegslant} +% Also introduce a reasonable default for the negative slant, which is used for upright +% italics. +% +% \begin{macrocode} +\providecommand*{\synthnegslant}{-.2} + +% \end{macrocode} +% \end{macro} +% +% +% \subsection{Selection of Slant-Engine} +% +% We provide several methods to slant glyphs. The actual slanting is delegated to a +% \singlequotes{slant-engine} which shears the glyphs. +% +% \begin{macro}{\synthslant@engine} +% Default to automatic selection of the slant engine. +% +% \begin{macrocode} +\def\synthslant@engine{-1} + +% \end{macrocode} +% \end{macro} +% +% Expose default forward and backward slant values as package options. +% +% \begin{macrocode} +\DeclareOptionX{slant}{% + \xdef\synthslant{\fpeval{#1}}% + \xdef\synthnegslant{\fpeval{-(#1)}}} +\DeclareOptionX{negslant}{\xdef\synthnegslant{\fpeval{#1}}} +\DeclareOptionX{posslant}{\xdef\synthslant{\fpeval{#1}}} + +% \end{macrocode} +% +% Make slant-engine selection configurable. +% +% \begin{macrocode} +\DeclareOptionX{auto}{\def\synthslant@engine{-1}} +\DeclareOptionX{PDF}{\def\synthslant@engine{0}} +\DeclareOptionX{pdf}{\def\synthslant@engine{0}} +\DeclareOptionX{l3draw}{\def\synthslant@engine{1}} +\DeclareOptionX{ps}{\def\synthslant@engine{2}} +\DeclareOptionX{PS}{\def\synthslant@engine{2}} +\DeclareOptionX{tikz}{\def\synthslant@engine{3}} +\DeclareOptionX{TikZ}{\def\synthslant@engine{3}} +\DeclareOptionX{fontspec}{\def\synthslant@engine{4}} +\DeclareOptionX{disable}{\def\synthslant@engine{10000}} + +\ProcessOptionsX\relax + +% \end{macrocode} +% +% Require sane parameter values. +% +% \begin{macrocode} +\ExplSyntaxOn +\fp_compare:nNnTF {\synthslant} < {.0} + {\PackageError{synthslant}{\string\synthslant\space <\space 0} + {Pass\space a\space value\space that\space is\space non-negative.}} + {} +\fp_compare:nNnTF {\synthnegslant} > {.0} + {\PackageError{synthslant}{\string\synthnegslant\space >\space 0} + {Pass\space a\space value\space that\space is\space non-positive.}} + {} +\ExplSyntaxOff + +% \end{macrocode} +% +% Announce the positive and negative slant values now that we are sure they are ok. This may +% be useful information if the user passed a (complicated) floating-point expression and wants +% to know how \LaTeX{} did evaluate it. +% +% \begin{macrocode} +\PackageInfo{synthslant}{\string\synthslant=\synthslant} +\PackageInfo{synthslant}{\string\synthnegslant=\synthnegslant} + + +% \end{macrocode} +% +% +% \subsection{Slant Engines} +% +% The auto-selection code is pretty trivial. If we identify \pdfTeX{} running we select the +% \acronym{PDF}-engine, for \LuaLaTeX{} we select the \packagename{fontspec}-engine, and in all +% other cases we let the \packagename{l3draw}-layer handle the shearing. +% +% \begin{macrocode} +\ifnum\synthslant@engine<0 + \PackageInfo{synthslant}{auto-selecting slant engine} + + \ifpdftex + \ifnum\pdfoutput>0 + \def\synthslant@engine{0} + \else + \def\synthslant@engine{1} + \fi + \else + \ifluatex + \def\synthslant@engine{4} + \else + \def\synthslant@engine{1} + \fi + \fi +\fi + + +% \end{macrocode} +% +% +% \begin{macro}{\synthslant@shear@box} +% The various slant engine macros are all subsumed under \cs{synthslant@\-shear@\-box}. So +% the higher-level code becomes (almost) engine independent. +% \end{macro} +% +% +% \begin{macro}{\synthslant@engine@name} +% Sometimes we would like to recover the (printable) name of the selected slant engine. +% +% \begin{macrocode} +\newcommand*{\synthslant@engine@name}{% + \ifcase\synthslant@engine + PDF% + \or% 1 + l3draw% + \or% 2 + PSTricks% + \or% 3 + TikZ% + \or% 4 + fontspec% + \else + null-implementation% + \fi +} + +% \end{macrocode} +% \end{macro} +% +% +% \subsubsection{\acronym{PDF} Slant Engine} +% +% The \acronym{PDF}-engine works well and it is the best tested alternative. +% +% \begin{macrocode} +\ifcase\synthslant@engine% 0: PDF + \PackageInfo{synthslant}{shearing done by PDF} + + \newbox{\synthslant@box} + +% \end{macrocode} +% \begin{macro}{\synthslant@pdf@shear@box} +% \begin{macrocode} + \newcommand*{\synthslant@pdf@shear@box}[2]{% + \mbox{\sbox{\synthslant@box}{#2}% + \hskip\wd\synthslant@box + \pdfsave + \pdfsetmatrix{1 0 #1 1}% + \llap{\usebox{\synthslant@box}}% + \pdfrestore}% + } + +% \end{macrocode} +% \end{macro} +% \begin{macrocode} + \let\synthslant@shear@box=\synthslant@pdf@shear@box +% \end{macrocode} +% +% +% \subsubsection{\packagename{l3draw} Slant Engine} +% +% Using \LaTeXIII{} may be like cheating on a very high level as the draw subsystem may +% delegate to the \acronym{PDF}-engine itself. \acronym{LOL!} +% +% \begin{macrocode} +\or% 1: LaTeX3 draw subsystem + \PackageInfo{synthslant}{shearing delegated to l3draw} + + \RequirePackage{l3draw} + + \ExplSyntaxOn +% \end{macrocode} +% \begin{macro}{\synthslant@latex@shear@box} +% Slanting implemented with the experimental l3draw subsystem. +% +% \begin{anticipatedchange} +% As soon as the l3kernel offers an x-shear operation (\cs{box\_xshear:Nn}?) we shall ditch +% this implementation and switch to the one that is tailored to \emph{text} instead of the +% current one for graphics. +% \end{anticipatedchange} +% +% \begin{macrocode} + \NewDocumentCommand{\synthslant@latex@shear@box}{mm}{ + \hbox_set:Nn \l_tmpa_box {#2} + \dim_set:Nn \l_tmpa_dim {\box_wd:N \l_tmpa_box} + \dim_set:Nn \l_tmpb_dim {\box_ht:N \l_tmpa_box} + \draw_begin: + \draw_transform_xslant:n {#1} +% \end{macrocode} +% +% Force the baseline of the payload (\#2) to coincide with the baseline of the surrounding +% text. This --~of course~-- screws up our bounding box at least vertically. +% +% \begin{macrocode} + \box_set_dp:Nn \l_tmpa_box {\z@} +% \end{macrocode} +% +% Here comes a fudge because the l3draw bounding boxes are way too loose. For positive +% slants: shrink the box-width by the box-height times~\meta{slant}. For negative slants: +% shrink the box-width as for positive slants and in addition shift the payload to the left by +% the box-height times~\meta{slant}. +% +% \begin{macrocode} + \fp_compare:nNnTF {#1} >= {.0} + { + \box_set_wd:Nn \l_tmpa_box {\l_tmpa_dim - #1\l_tmpb_dim} + } + { + \draw_suspend_begin: + \kern#1\l_tmpb_dim + \draw_suspend_end: + \box_set_wd:Nn \l_tmpa_box {\l_tmpa_dim + #1\l_tmpb_dim} + } +% \end{macrocode} +% +% Now typeset the box. +% +% \begin{macrocode} + \draw_box_use:N \l_tmpa_box + \draw_end: + } +% \end{macrocode} +% \end{macro} +% \begin{macrocode} + \ExplSyntaxOff + + \let\synthslant@shear@box=\synthslant@latex@shear@box +% \end{macrocode} +% +% +% \subsubsection{\pstrickslogo{} Slant Engine} +% +% Shearing via \pstrickslogo{} works, but exhibits a weird interface. +% +% \begin{macrocode} +\or% 2: PSTricks + \PackageInfo{synthslant} + {shearing deferred to PostScript via PSTricks} + + \RequirePackage{pst-3d}% \pstilt + +% \end{macrocode} +% +% Package~\packagename{pstricks} offers \cs{pstilt} and \cs{psTilt} both with typographically +% sub-optimal outcomes. +% +% \begin{macro}{\synthslant@pstricks@shear@box} +% \begin{macrocode} + \newcommand*{\synthslant@pstricks@shear@box}[2]{% + \pstilt{\fpeval{57.2958 * acos(#1)}}{#2}% + } + +% \end{macrocode} +% \end{macro} +% \begin{macrocode} + \let\synthslant@shear@box=\synthslant@pstricks@shear@box +% \end{macrocode} +% +% +% \subsubsection{\tikzlogo{} Slant Engine} +% +% The \tikzlogo{} code has not been tested thoroughly yet, but it looks like it could work +% after some tweaking. +% +% \begin{macrocode} +\or% 3: TikZ + \PackageInfo{synthslant}{shearing by TikZ} + + \RequirePackage{tikz} + +% \end{macrocode} +% \begin{macro}{\synthslant@tikz@shear@box} +% \begin{macrocode} + \newcommand*{\synthslant@tikz@shear@box}[2]{% + \tikz[baseline = (ANCHOR.base), xslant = #1] + \node[inner sep = 0pt, xslant = #1] (ANCHOR) {#2}; + } + +% \end{macrocode} +% \end{macro} +% \begin{macrocode} + \let\synthslant@shear@box=\synthslant@tikz@shear@box +% \end{macrocode} +% +% +% \subsubsection{\packagename{fontspec}} +% +% The \packagename{fontspec} works particularly well, but it does not jibe with \pdfTeX. +% +% \begin{macrocode} +\or% 4: fontspec + \PackageInfo{synthslant} + {use fontspec's artificial font transformations} + + \RequirePackage{fontspec} + + \ExplSyntaxOn +% \end{macrocode} +% \begin{macro}{\synthslantbox@fontspect@shear@box} +% \begin{macrocode} + \newcommand*{\synthslantbox@fontspect@shear@box}[2]{ + \begingroup + \expandafter\fontspec[FakeSlant = #1]{\l_fontspec_family_tl} + #2 + \endgroup + } +% \end{macrocode} +% \end{macro} +% \begin{macrocode} + \ExplSyntaxOff + + \let\synthslant@shear@box=\synthslantbox@fontspect@shear@box +% \end{macrocode} +% +% +% \subsubsection{Null Implementation} +% +% The null implementation --~which does exactly what its name implies~-- can be useful for +% debugging or to get rid of the effect temporarily. +% +% \begin{macrocode} +\else% >=5: Null implementation + \PackageWarning{synthslant}{shearing disabled} + +% \end{macrocode} +% \begin{macro}{\synthslant@identity@shear@box} +% \begin{macrocode} + \newcommand*{\synthslant@identity@shear@box}[2]{#2} + +% \end{macrocode} +% \end{macro} +% \begin{macrocode} + \let\synthslant@shear@box=\synthslant@identity@shear@box +\fi + + +% \end{macrocode} +% +% +% \subsection{Generic Slant Code} +% +% Here comes the engine-independent code. +% +% \begin{macro}{\synthslant@nolinebreak} +% The \LaTeXIII{} and \tikzlogo{} engines break lines at \singlequotes{unexpected} points. +% Here is a duct-tape solution for them that concretes together the adajacent parts. +% +% \begin{macrocode} +\def\synthslant@nolinebreak{% + \ifnum\synthslant@engine=1% l3draw + \nolinebreak + \else + \ifnum\synthslant@engine=3% TikZ + \nolinebreak + \fi + \fi +} + +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\synthslantbox@soft@hyphen} +% Allow for line breaks at hyphenation opportunities~(\singlequotes{\cs{-}}). +% +% \begin{macrocode} +\def\synthslantbox@soft@hyphen#1\-#2\relax{% + \synthslant@shear@box{\synthslant@slant@value}{#1}% + \ifx\relax#2% + \relax + \else + \synthslant@nolinebreak + \discretionary{-}{}{}% + \synthslantbox@soft@hyphen#2\relax + \fi +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\synthslantbox@hard@hyphen} +% Allow for line breaks at embedded, explicit hyphens~(\singlequotes{-}). +% +% \begin{macrocode} +\def\synthslantbox@hard@hyphen#1-#2\relax{% + \synthslantbox@soft@hyphen#1\-\relax + \ifx\relax#2% + \relax + \else + \synthslant@nolinebreak + \synthslant@shear@box{\synthslant@slant@value}{-}% + \synthslant@nolinebreak + \discretionary{}{}{}% + \synthslantbox@hard@hyphen#2\relax + \fi +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\synthslantbox@space} +% Allow for line breaks at embedded spaces~(\singlequotes{\textvisiblespace}). +% +% \begin{macrocode} +\def\synthslantbox@space#1 #2\relax{% + \synthslantbox@hard@hyphen#1-\relax + \ifx\relax#2% + \relax + \else + \space + \synthslantbox@space#2\relax + \fi +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\synthslantbox} +% We define two completely different implementations depending on the request for +% \packagename{fontspec} doing the slanting or any other package. +% +% Macro~1: Immediately call the \packagename{fontspec}-specific macro. Bypass the hierarchy +% needed for the other slant engines. +% +% \begin{macrocode} +\ifnum\synthslant@engine=4% fontspec + \newrobustcmd*{\synthslantbox}[2]{% + \edef\synthslant@slant@value{#1}% definition for compatibility of both branches + \synthslantbox@fontspect@shear@box{\synthslant@slant@value}{#2}% + } +% \end{macrocode} +% +% Macro~2: This is the firestarter for the processing of all different kinds breakpoints +% until we reach unbreakable chunks to be passed on to the selected slant engine. +% +% Normally, a user wants to call \cs{text\-synth\-slant} or +% \cs{text\-synth\-up\-right\-italic}, however \LaTeX~wizards may have other ideas. +% +% \begin{macrocode} +\else + \newrobustcmd*{\synthslantbox}[2]{% + \edef\synthslant@slant@value{#1}% + \expandafter\synthslantbox@space#2 \relax\relax + } +\fi + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\synthslantbox@right@slant@correction} +% This is a simple yet surprisingly effective heuristic for slant correction on the +% right-hand side if the slanted text. The value~\cs{synthslant} is \(\sin \alpha\), where +% \(\alpha\) is the slant angle; see \cref{equ:shear-transformation} on +% \cpageref{equ:shear-transformation}. Multiplied with the ex-height of the current font, +% \cs{fontdimen5}, this is a good approximation of the necessary slant correction. +% +% \begin{macrocode} +\newcommand*{\synthslantbox@right@slant@correction}{% + \dimen0=\fontdimen5\font + \kern\synthslant\dimen0\relax +} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\slantcontext} +% If we have \packagename{microtype} support we enter the context defined by this macro in +% |slantenvironment|. +% +% \begin{macrocode} +\newcommand*{\slantcontext}{tracking=synthslant} + +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{slantenvironment} +% We use this environment as a pair of hooks that are called right before and right after the +% actual slanting code runs. The default sets up an upright type shape before and adds some +% italic correction after slanting. +% +% \begin{macrocode} +\NewDocumentEnvironment{slantenvironment}{} + {\upshape + \ifcsdef{microtypecontext} + {\expandafter\microtypecontext\expandafter{\slantcontext}} + {}} + {\ifcsdef{endmicrotypecontext} + {\endmicrotypecontext} + {}% + \synthslantbox@right@slant@correction} + +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\textsynthslant} +% User-level macro to slant some text. +% +% \begin{macrocode} +\NewDocumentCommand{\textsynthslant}{m} + {\ifmmode + \synthslantbox{\synthslant}{#1}% + \else + {\slantenvironment + \synthslantbox{\synthslant}{#1}% + \endslantenvironment}% + \fi} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\synthslantbox@right@negslant@correction} +% We could play the same trick here as in \cs{synthslantbox@right@slant@correction} and use +% \cs{synthnegslant} instead of \cs{synthslant}. But my experiments show no need for a +% correction. Anyhow, this macro may be convenient to override someday. +% +% \begin{macrocode} +\newcommand*{\synthslantbox@right@negslant@correction}{} + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\negslantcontext} +% If we have \packagename{microtype} support we enter the context defined by this macro in +% |negslantenvironment|. +% +% \begin{macrocode} +\newcommand*{\negslantcontext}{tracking=synthnegslant} + +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{negslantenvironment} +% We use this environment as a pair of hooks that are called right before and right after the +% actual un-slanting code runs. +% +% The default sets up an italics shape before un-slanting and adds some negative italic +% correction after un-slanting. +% +% \begin{macrocode} +\NewDocumentEnvironment{negslantenvironment}{} + {\itshape + \ifcsdef{microtypecontext} + {\expandafter\microtypecontext\expandafter{\negslantcontext}} + {}} + {\ifcsdef{endmicrotypecontext} + {\endmicrotypecontext} + {}% + \synthslantbox@right@negslant@correction} + +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\textsynthuprightitalic} +% User-level macro to un-slant some italics or oblique text. +% +% \begin{macrocode} +\NewDocumentCommand{\textsynthuprightitalic}{m} + {\ifmmode + \synthslantbox{\synthnegslant}{#1}% + \else + {\negslantenvironment + \synthslantbox{\synthnegslant}{#1}% + \endnegslantenvironment}% + \fi} + +% \end{macrocode} +% \end{macro} +% +% +% +% \iffalse +%</package> +% \fi +% +% +% \addtocontents{toc}{\protect\end{multicols}} +% \addtocontents{toc}{\endgroup} +% +% +% \Finale +% +% +% +% +% \iffalse +% <DISABLE-SPELL-CHECK> +%<*compare-with-the-gimp> +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 +KJ8AAAAASUVORK5CYII= +%</compare-with-the-gimp> +% </DISABLE-SPELL-CHECK> +% \fi +% +% +% \iffalse +%<*gauge> +\documentclass[a4paper]{article} + +\usepackage{booktabs} +\usepackage[tracking=alltext, letterspace=0, verbose]{microtype} +\usepackage{multicol} +\usepackage{parskip} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Setup SyntSlant and Load Font +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\usepackage[]{synthslant}% auto/disable; fontspec/l3draw/pdf/ps/tikz +%--\usepackage[fontspec, posslant = .16, negslant = -.14]{synthslant} + +%% +%% All LaTeX Variants +%% +\usepackage[T1]{fontenc} +%%--\usepackage{ebgaramond}\def\synthslant{.3}\def\synthnegslant{-.27} +%%--\usepackage{librecaslon}\def\synthslant{.38}\def\synthnegslant{-.33} +%%--\usepackage{merriweather}\def\synthslant{.14}\def\synthnegslant{-.12} +\usepackage{mlmodern}\def\synthslant{.23}\def\synthnegslant{-.21} +%%--\usepackage{spectral}\def\synthslant{.18}\def\synthnegslant{-.15} + +%% +%% Requires e.g. LuaLaTeX +%% +%%--\usepackage{CharisSIL}% say: `make LATEX=lualatex gauge' + +%% +%% Preload a reasonable font (triple?) if we work with fontspec +%% and have not already done so, e.g., by saying `\usepackage{...}'. +%% +\ExplSyntaxOn +\sys_if_engine_luatex:T + { + \cs_if_exist:NTF \l_fontspec_font + {} + { + \setmainfont{TeX Gyre Pagella} + \def\synthslant{.16} + \def\synthnegslant{-.14} + } + } +\ExplSyntaxOff + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% End Setup/Load Font +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\renewcommand*{\arraystretch}{1.12} + +\newcommand*{\code}[1]{\texttt{#1}} + +\newcommand*{\cs}[1]{\texttt{\char`\\#1}} + +\newcommand*{\doublealphabet} + {ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789} +\newcommand*{\doublealphabethyp} + {A\-B\-C\-D\-E\-F\-G\-H\-I\-J\-K\-L\-M\-N\-O\-P\-Q\-R\-S\-T\-U\-V\-W\-X\-Y\-Z\-% + a\-b\-c\-d\-e\-f\-g\-h\-i\-j\-k\-l\-m\-n\-o\-p\-q\-r\-s\-t\-u\-v\-w\-x\-y\-z\-% + 0\-1\-2\-3\-4\-5\-6\-7\-8\-9} + +\newcommand*{\fontsample}{aefgiv} +\newcommand*{\FontSample}{White Handgloves} +\newcommand*{\FONTSAMPLE}{H\AA{}MB\"URG\'EF\O{}\~N\v{S}} + +\newcommand*{\generictextfraction}[2] + {\mbox{\raisebox{.4em}[0pt]{\scriptsize #1}% + \hspace*{-.1em}\textfractionsolidus\hspace*{-.1em}% + \raisebox{-.1em}[0pt][0pt]{\scriptsize #2}}} + +\newcommand*{\longfontsample}{The quick brown fox jumps over the lazy dog.} + +\newcommand*{\measurewidth}[1]{\setbox0=\hbox{#1}\the\wd0\space} + +\newcommand*{\packagename}[1]{\mbox{\textsf{#1}}} + +\newcommand*{\showbaseline}{\space\rule{.5em}{.4pt}\space} + +\newcommand*{\showboundingbox}[1]{ + {\setlength{\fboxsep}{0pt} + \setlength{\fboxrule}{.4pt} + \framebox{#1}} +} + +\let\slbox=\synthslantbox + +\makeatletter +\newcommand*{\thewidthdiffof}[2] + {\setbox0=\hbox{#2} + \dimen0=\dimexpr\wd0 - #1\relax + \strip@pt\dimen0} +\newcommand*{\thewidthof}[1] + {\setbox0=\hbox{#1} + \dimen0=\dimexpr\numexpr\dimexpr\wd0 * 10\relax/65536\relax pt / 10\relax + \strip@pt\dimen0} +\makeatother + + +\addtolength{\textheight}{\headheight} +\addtolength{\textheight}{\headsep} +\setlength{\headheight}{0pt} +\setlength{\headsep}{0pt} + +\setlength{\overfullrule}{3pt} + + +\pagestyle{plain} + + +\begin{document} +{\huge\sf\bfseries SyntSlant Calibration Sheet\par\bigskip} + +Selected slant engine: \makeatletter\synthslant@engine@name\makeatother. +Font name: \fontname\font. + + +\section{Shapes of Selected Font} + +\begin{center} + \begin{tabular}{@{}lllll@{}} + \toprule + Shape & Code Seq. & L.case & Mixed Case & Uppercase \\ + \midrule + Normal & + \cs{normalfont} & {\normalfont\fontsample} & {\normalfont\FontSample} & {\normalfont\FONTSAMPLE} \\ + Italics & + \cs{itshape} & {\itshape\fontsample} & {\itshape\FontSample} & {\itshape\FONTSAMPLE} \\ + \bottomrule + \end{tabular} +\end{center} + + +\section{Slanted Samples} + +\begin{center} + \begin{tabular}{@{}llll@{}} + \toprule + Slant & L.case & Mixed Case & Uppercase \\ + \midrule + .10 & \slbox{.10}{\fontsample} & \slbox{.10}{\FontSample} & \slbox{.10}{\FONTSAMPLE} \\ + .11 & \slbox{.11}{\fontsample} & \slbox{.11}{\FontSample} & \slbox{.11}{\FONTSAMPLE} \\ + .12 & \slbox{.12}{\fontsample} & \slbox{.12}{\FontSample} & \slbox{.12}{\FONTSAMPLE} \\ + .13 & \slbox{.13}{\fontsample} & \slbox{.13}{\FontSample} & \slbox{.13}{\FONTSAMPLE} \\ + .14 & \slbox{.14}{\fontsample} & \slbox{.14}{\FontSample} & \slbox{.14}{\FONTSAMPLE} \\ + .15 & \slbox{.15}{\fontsample} & \slbox{.15}{\FontSample} & \slbox{.15}{\FONTSAMPLE} \\ + .16 & \slbox{.16}{\fontsample} & \slbox{.16}{\FontSample} & \slbox{.16}{\FONTSAMPLE} \\ + .17 & \slbox{.17}{\fontsample} & \slbox{.17}{\FontSample} & \slbox{.17}{\FONTSAMPLE} \\ + .18 & \slbox{.18}{\fontsample} & \slbox{.18}{\FontSample} & \slbox{.18}{\FONTSAMPLE} \\ + .19 & \slbox{.19}{\fontsample} & \slbox{.19}{\FontSample} & \slbox{.19}{\FONTSAMPLE} \\[.25em] + .20 & \slbox{.20}{\fontsample} & \slbox{.20}{\FontSample} & \slbox{.20}{\FONTSAMPLE} \\ + .21 & \slbox{.21}{\fontsample} & \slbox{.21}{\FontSample} & \slbox{.21}{\FONTSAMPLE} \\ + .22 & \slbox{.22}{\fontsample} & \slbox{.22}{\FontSample} & \slbox{.22}{\FONTSAMPLE} \\ + .23 & \slbox{.23}{\fontsample} & \slbox{.23}{\FontSample} & \slbox{.23}{\FONTSAMPLE} \\ + .24 & \slbox{.24}{\fontsample} & \slbox{.24}{\FontSample} & \slbox{.24}{\FONTSAMPLE} \\ + .25 & \slbox{.25}{\fontsample} & \slbox{.25}{\FontSample} & \slbox{.25}{\FONTSAMPLE} \\ + .26 & \slbox{.26}{\fontsample} & \slbox{.26}{\FontSample} & \slbox{.26}{\FONTSAMPLE} \\ + .27 & \slbox{.27}{\fontsample} & \slbox{.27}{\FontSample} & \slbox{.27}{\FONTSAMPLE} \\ + .28 & \slbox{.28}{\fontsample} & \slbox{.28}{\FontSample} & \slbox{.28}{\FONTSAMPLE} \\ + .29 & \slbox{.29}{\fontsample} & \slbox{.29}{\FontSample} & \slbox{.29}{\FONTSAMPLE} \\[.25em] + .30 & \slbox{.30}{\fontsample} & \slbox{.30}{\FontSample} & \slbox{.30}{\FONTSAMPLE} \\ + .31 & \slbox{.31}{\fontsample} & \slbox{.31}{\FontSample} & \slbox{.31}{\FONTSAMPLE} \\ + .32 & \slbox{.32}{\fontsample} & \slbox{.32}{\FontSample} & \slbox{.32}{\FONTSAMPLE} \\ + .33 & \slbox{.33}{\fontsample} & \slbox{.33}{\FontSample} & \slbox{.33}{\FONTSAMPLE} \\ + .34 & \slbox{.34}{\fontsample} & \slbox{.34}{\FontSample} & \slbox{.34}{\FONTSAMPLE} \\ + .35 & \slbox{.35}{\fontsample} & \slbox{.35}{\FontSample} & \slbox{.35}{\FONTSAMPLE} \\ + .36 & \slbox{.36}{\fontsample} & \slbox{.36}{\FontSample} & \slbox{.36}{\FONTSAMPLE} \\ + .37 & \slbox{.37}{\fontsample} & \slbox{.37}{\FontSample} & \slbox{.37}{\FONTSAMPLE} \\ + .38 & \slbox{.38}{\fontsample} & \slbox{.38}{\FontSample} & \slbox{.38}{\FONTSAMPLE} \\ + .39 & \slbox{.39}{\fontsample} & \slbox{.39}{\FontSample} & \slbox{.39}{\FONTSAMPLE} \\ + \bottomrule + \end{tabular} +\end{center} + + +\clearpage +\section{Examples} + +\let\r=\textrm +\let\i=\textit +\let\u=\textsynthuprightitalic +\let\y=\textsynthslant + +The current slant values are +\mbox{\cs{synthslant}\:=\:\synthslant} and +\mbox{\cs{synthnegslant}\:=\:\synthnegslant}. + + +\subsection{Copy} + +We mix different shapes to gauge the homogeneity of slant angles and +overall gray values. Some overfull horizontal boxes are possible even with +package~\packagename{microtype} being active. + +\setlength{\columnsep}{20pt} +\begin{multicols}{2}\fussy + \setlength{\overfullrule}{3pt} + \paragraph{Roman/Italics.}\leavevmode + + \r{Grumpy} \i{wizards} \r{make} \i{toxic} \r{brew} \i{for} \r{the} \i{evil} \r{Queen} \i{and} \r{Jack.} + \r{One} \i{morning,} \r{when} \i{Gregor} \r{Samsa} \i{woke} \r{from} \i{troubled} \r{dreams,} + \r{he} \i{found} \r{himself} \i{transformed} \r{in} \i{his} \r{bed} \i{into} \r{a} \i{horrible} \r{vermin.} + \r{He} \i{lay} \r{on} \i{his} \r{armour-like} \i{back,} + \r{and} \i{if} \r{he} \i{lifted} \i{his} \r{head} + \r{a} \i{little} \r{he} \i{could} \r{see} \i{his} \r{brown} \i{belly,} + \r{slightly} \i{domed} \r{and} \i{divided} \r{by} \i{arches} \r{into} \i{stiff} \r{sections.} + \r{The} \i{bedding} \r{was} \i{hardly} \r{able} \i{to} + \r{cover} \i{it} \r{and} \i{seemed} \r{ready} \i{to} \r{slide} \i{off} \r{any} \i{moment.} + \r{His} \i{many} \r{legs,} + \r{pitifully} \i{thin} \r{compared} \i{with} \r{the} \i{size} \r{of} \i{the} \r{rest} \i{of} \r{him,} + \r{waved} \i{about} \r{helplessly} \i{as} \r{he} \i{looked.} + + + \paragraph{Roman/Slanted Roman.}\leavevmode + + \r{Grumpy} \y{wizards} \r{make} \y{toxic} \r{brew} \y{for} \r{the} \y{evil} \r{Queen} \y{and} \r{Jack.} + \r{One} \y{morn\-ing,} \r{when} \y{Gregor} \r{Samsa} \y{woke} \r{from} \y{trou\-bled} \r{dreams,} + \r{he} \y{found} \r{himself} \y{trans\-formed} \r{in} \y{his} \r{bed} \y{into} \r{a} \y{hor\-ri\-ble} \r{vermin.} + \r{He} \y{lay} \r{on} \y{his} \r{armour-like} \y{back,} + \r{and} \y{if} \r{he} \y{lifted} \y{his} \r{head} + \r{a} \y{little} \r{he} \y{could} \r{see} \y{his} \r{brown} \y{belly,} + \r{slightly} \y{domed} \r{and} \y{divided} \r{by} \y{arches} \r{into} \y{stiff} \r{sections.} + \r{The} \y{bedding} \r{was} \y{hardly} \r{able} \y{to} + \r{cover} \y{it} \r{and} \y{seemed} \r{ready} \y{to} \r{slide} \y{off} \r{any} \y{mo\-ment.} + \r{His} \y{many} \r{legs,} + \r{pitifully} \y{thin} \r{compared} \y{with} \r{the} \y{size} \r{of} \y{the} \r{rest} \y{of} \r{him,} + \r{waved} \y{about} \r{helplessly} \y{as} \r{he} \y{looked.} + + + \paragraph{Italics/Slanted Roman.}\leavevmode + + \i{Grumpy} \y{wizards} \i{make} \y{toxic} \i{brew} \y{for} \i{the} \y{evil} \i{Queen} \y{and} \i{Jack.} + \i{One} \y{morn\-ing,} \i{when} \y{Gregor} \i{Samsa} \y{woke} \i{from} \y{trou\-bled} \i{dreams,} + \i{he} \y{found} \i{himself} \y{trans\-formed} \i{in} \y{his} \i{bed} \y{into} \i{a} \y{hor\-ri\-ble} \i{vermin.} + \i{He} \y{lay} \i{on} \y{his} \i{armour-like} \y{back,} + \i{and} \y{if} \i{he} \y{lifted} \y{his} \i{head} + \i{a} \y{little} \i{he} \y{could} \i{see} \y{his} \i{brown} \y{belly,} + \i{slightly} \y{domed} \i{and} \y{divided} \i{by} \y{arches} \i{into} \y{stiff} \i{sections.} + \i{The} \y{bedding} \i{was} \y{hardly} \i{able} \y{to} + \i{cover} \y{it} \i{and} \y{seemed} \i{ready} \y{to} \i{slide} \y{off} \i{any} \y{mo\-ment.} + \i{His} \y{many} \i{legs,} + \i{pitifully} \y{thin} \i{compared} \y{with} \i{the} \y{size} \i{of} \y{the} \i{rest} \y{of} \i{him,} + \i{waved} \y{about} \i{helplessly} \y{as} \i{he} \y{looked.} + + + \paragraph{Roman/Italics/Slanted Roman.}\leavevmode + + \r{Grumpy} \i{wizards} \y{make} \r{toxic} \i{brew} \y{for} \r{the} \i{evil} \y{Queen} \r{and} \i{Jack.} + \r{One} \i{morning,} \y{when} \r{Gregor} \i{Samsa} \y{woke} \r{from} \i{troubled} \y{dreams,} + \r{he} \i{found} \y{him\-self} \r{transformed} \i{in} \y{his} \r{bed} \i{into} \r{a} \i{horrible} \y{ver\-min.} + \r{He} \i{lay} \y{on} \r{his} \i{armour-like} \y{back,} + \r{and} \i{if} \y{he} \r{lifted} \i{his} \y{head} + \r{a} \i{little} \y{he} \r{could} \i{see} \y{his} \r{brown} \i{belly,} + \r{slightly} \i{domed} \y{and} \r{divided} \i{by} \y{arches} \r{into} \i{stiff} \y{sec\-tions.} + \r{The} \i{bedding} \y{was} \r{hardly} \i{able} \y{to} + \r{cover} \i{it} \y{and} \r{seemed} \i{ready} \y{to} \r{slide} \i{off} \y{any} \r{moment.} + \r{His} \i{many} \y{legs,} + \r{pitifully} \i{thin} \y{compared} \r{with} \i{the} \y{size} \r{of} \i{the} \y{rest} \r{of} \i{him,} + \r{waved} \i{about} \y{helplessly} \r{as} \r{he} \y{looked.} + + + \paragraph{Roman/Upright Italics.}\leavevmode + + \r{Grumpy} \u{wizards} \r{make} \u{toxic} \r{brew} \u{for} \r{the} \u{evil} \r{Queen} \u{and} \r{Jack.} + \r{One} \u{morn\-ing,} \r{when} \u{Gregor} \r{Samsa} \u{woke} \r{from} \u{trou\-bled} \r{dreams,} + \r{he} \u{found} \r{himself} \u{trans\-formed} \r{in} \u{his} \r{bed} \u{into} \r{a} \u{hor\-ri\-ble} \r{vermin.} + \r{He} \u{lay} \r{on} \u{his} \r{armour-like} \u{back,} + \r{and} \u{if} \r{he} \u{lifted} \u{his} \r{head} + \r{a} \u{little} \r{he} \u{could} \r{see} \u{his} \r{brown} \u{belly,} + \r{slightly} \u{domed} \r{and} \u{divided} \r{by} \u{arches} \r{into} \u{stiff} \r{sections.} + \r{The} \u{bedding} \r{was} \u{hardly} \r{able} \u{to} + \r{cover} \u{it} \r{and} \u{seemed} \r{ready} \u{to} \r{slide} \u{off} \r{any} \u{mo\-ment.} + \r{His} \u{many} \r{legs,} + \r{pitifully} \u{thin} \r{compared} \u{with} \r{the} \u{size} \r{of} \u{the} \r{rest} \u{of} \r{him,} + \r{waved} \u{about} \r{helplessly} \u{as} \r{he} \u{looked.} +\end{multicols} + + +\clearpage +\subsection{Bounding Box} + +Thin lines indicate the baseline. All bounding boxes should be very tight. A little piercing +into the box in the direction of the slant operation is acceptable. + +\begin{center} + \begin{tabular}{@{}l@{\showbaseline}l@{\showbaseline}l@{\showbaseline}} + \cs{textrm} & + \showboundingbox{\textrm{\fontsample}} & + \showboundingbox{\textrm{\FONTSAMPLE}} \\ + \cs{textit} & + \showboundingbox{\textit{\fontsample}} & + \showboundingbox{\textit{\FONTSAMPLE}} \\ + \cs{synthslantbox}\code{\{\synthslant\}} & + \showboundingbox{\synthslantbox{\synthslant}{\fontsample}} & + \showboundingbox{\synthslantbox{\synthslant}{\FONTSAMPLE}} \\ + \cs{synthslantbox}\code{\{\synthnegslant\}} & + \showboundingbox{\synthslantbox{\synthnegslant}{\itshape\fontsample}} & + \showboundingbox{\synthslantbox{\synthnegslant}{\itshape\FONTSAMPLE}} \\ + \cs{textsynthslant} & + \showboundingbox{\textsynthslant{\fontsample}} & + \showboundingbox{\textsynthslant{\FONTSAMPLE}} \\ + \cs{textsynthuprightitalic} & + \showboundingbox{\textsynthuprightitalic{\fontsample}} & + \showboundingbox{\textsynthuprightitalic{\FONTSAMPLE}} + \end{tabular} +\end{center} + + +\subsection{Width Change with \cs{synthslantbox}?} + +Widths of the alphabet in uppercase and lowercase letter plus the digits. The ``hyp''~version +contains discretionary hyphens (\cs{-}) between each of the letters or digits. The absolute +value of all deltas should be much less than 3pt. + +\begin{center} + \newlength{\abcplain}\settowidth{\abcplain}{\doublealphabet} + \newlength{\abchyp}\settowidth{\abchyp}{\doublealphabethyp} + \begin{tabular}[t]{@{}lrll@{}} + \toprule + \cs{upshape} & Slant & Width & Delta \\ + {} & & pt & pt \\ + \midrule + ABC & --- & \thewidthof{\doublealphabet} & --- \\ + ABC hyp & --- & \thewidthof{\doublealphabethyp} & --- \\ + % + ABC & 0 & + \thewidthof{\synthslantbox{0}{\doublealphabet}} & + \thewidthdiffof{\abcplain}{\synthslantbox{0}{\doublealphabet}} \\ + ABC hyp & 0 + & \thewidthof{\synthslantbox{0}{\doublealphabethyp}} & + \thewidthdiffof{\abchyp}{\synthslantbox{0}{\doublealphabethyp}} \\ + % + ABC & .1 & + \thewidthof{\synthslantbox{.1}{\doublealphabet}} & + \thewidthdiffof{\abcplain}{\synthslantbox{.1}{\doublealphabet}} \\ + ABC hyp & .1 & + \thewidthof{\synthslantbox{.1}{\doublealphabethyp}} & + \thewidthdiffof{\abchyp}{\synthslantbox{.1}{\doublealphabethyp}} \\ + % + ABC & .2 & + \thewidthof{\synthslantbox{.2}{\doublealphabet}} & + \thewidthdiffof{\abcplain}{\synthslantbox{.2}{\doublealphabet}} \\ + ABC hyp & .2 & + \thewidthof{\synthslantbox{.2}{\doublealphabethyp}} & + \thewidthdiffof{\abchyp}{\synthslantbox{.2}{\doublealphabethyp}} \\ + % + ABC & .3 & + \thewidthof{\synthslantbox{.3}{\doublealphabet}} & + \thewidthdiffof{\abcplain}{\synthslantbox{.3}{\doublealphabet}} \\ + ABC hyp & .3 & + \thewidthof{\synthslantbox{.3}{\doublealphabethyp}} & + \thewidthdiffof{\abchyp}{\synthslantbox{.3}{\doublealphabethyp}} \\ + \bottomrule + \end{tabular} + \qquad + \newlength{\abcplainitalics}\settowidth{\abcplainitalics}{\itshape\doublealphabet} + \newlength{\abchypitalics}\settowidth{\abchypitalics}{\itshape\doublealphabethyp} + \begin{tabular}[t]{@{}lrll@{}} + \toprule + \cs{itshape} & Slant & Width & Delta \\ + {} & & pt & pt \\ + \midrule + ABC & --- & \thewidthof{\itshape\doublealphabet} & --- \\ + ABC hyp & --- & \thewidthof{\itshape\doublealphabethyp} & --- \\ + % + ABC & 0 & + \thewidthof{\synthslantbox{0}{\itshape\doublealphabet}} & + \thewidthdiffof{\abcplainitalics}{\synthslantbox{0}{\itshape\doublealphabet}} \\ + ABC hyp & 0 & + \thewidthof{\synthslantbox{0}{\itshape\doublealphabethyp}} & + \thewidthdiffof{\abchypitalics}{\synthslantbox{0}{\itshape\doublealphabethyp}} \\ + % + ABC & -.1 & + \thewidthof{\synthslantbox{-.1}{\itshape\doublealphabet}} & + \thewidthdiffof{\abcplainitalics}{\synthslantbox{-.1}{\itshape\doublealphabet}} \\ + ABC hyp & -.1 & + \thewidthof{\synthslantbox{-.1}{\itshape\doublealphabethyp}} & + \thewidthdiffof{\abchypitalics}{\synthslantbox{-.1}{\itshape\doublealphabethyp}} \\ + % + ABC & -.2 & + \thewidthof{\synthslantbox{-.2}{\itshape\doublealphabet}} & + \thewidthdiffof{\abcplainitalics}{\synthslantbox{-.2}{\itshape\doublealphabet}} \\ + ABC hyp & -.2 & + \thewidthof{\synthslantbox{-.2}{\itshape\doublealphabethyp}} & + \thewidthdiffof{\abchypitalics}{\synthslantbox{-.2}{\itshape\doublealphabethyp}} \\ + % + ABC & -.3 & + \thewidthof{\synthslantbox{-.3}{\itshape\doublealphabet}} & + \thewidthdiffof{\abcplainitalics}{\synthslantbox{-.3}{\itshape\doublealphabet}} \\ + ABC hyp & -.3 & + \thewidthof{\synthslantbox{-.3}{\itshape\doublealphabethyp}} & + \thewidthdiffof{\abchypitalics}{\synthslantbox{-.3}{\itshape\doublealphabethyp}} \\ + \bottomrule + \end{tabular} +\end{center} + + +\subsection{Line-Breaking} + +Left: plain text, \\ +right: \code{\cs{textsynthslant}\{Show line-break\cs{-}ing in a sen\cs{-}tence.\}} + +\begin{center} + \setlength{\overfullrule}{0pt} + \begin{minipage}[t]{0pt}Show line-breaking with a sentence.\end{minipage}% + \hspace*{100pt}% + \begin{minipage}[t]{0pt}\textsynthslant{Show line-break\-ing in a sen\-tence.}\end{minipage} +\end{center} + + +\subsection{Microtype Enhancements} + +\ifdefined\SetTracking + Package \packagename{microtype} loaded. + + Test different trackings in the \code{synthnegslant}~context. + + \begin{center} + \setlength{\overfullrule}{0pt} + \newcommand*{\thinvrule}{\rule{.4pt}{.7em}} + \newcommand{\settracking}[2] + {\SetTracking[context=synthnegslant, + no ligatures={f}, + outer kerning={0,0}, + spacing={#2*,,}] + {encoding=*, shape=it} + {#1}} + \newcommand*{\smallextratracking}{20} + \newcommand*{\smallextraspacing}{150} + \newcommand*{\bigextratracking}{250} + \newcommand*{\bigextraspacing}{300} + \begin{tabular}{@{}rrll@{}} + \toprule + Tracking & + Spacing & + \raisebox{-.5\normalbaselineskip}[0pt][0pt]{Sample} & + \raisebox{-.5\normalbaselineskip}[0pt][0pt]{Example sentence} \\ + {\small\generictextfraction{1}{1000}}\:em & {\small\generictextfraction{dim}{1000}} & & \\ + \midrule + 0 & 0 & + \settracking{0}{0}\thinvrule\textsynthuprightitalic{\fontsample}\thinvrule & + \settracking{0}{0}\thinvrule\textsynthuprightitalic{\longfontsample}\thinvrule \\ + \smallextratracking & \smallextraspacing & + \settracking{\smallextratracking}{\smallextraspacing}% + \thinvrule\textsynthuprightitalic{\fontsample}\thinvrule & + \settracking{\smallextratracking}{\smallextraspacing}% + \thinvrule\textsynthuprightitalic{\longfontsample}\thinvrule \\ + \bigextratracking & \bigextraspacing & + \settracking{\bigextratracking}{\bigextraspacing}% + \thinvrule\textsynthuprightitalic{\fontsample}\thinvrule & + \settracking{\bigextratracking}{\bigextraspacing}% + \thinvrule\textsynthuprightitalic{\longfontsample}\thinvrule \\ + \bottomrule + \end{tabular} + \settracking{0}{0}% reset extra tracking + \end{center} + + \noindent All samples are tightly bracketed by thin horizontal rules + to reveal possible outer spacing problems. +\else + Package \packagename{microtype} not loaded. + No Microtype effects to show. +\fi +\end{document} +%</gauge> +% \fi +% +% +% +\endinput +% +% +% +%%% Local Variables: +%%% compile-command: "latex synthslant.dtx" +%%% fill-column: 96 +%%% End: diff --git a/Master/texmf-dist/source/latex/synthslant/synthslant.ins b/Master/texmf-dist/source/latex/synthslant/synthslant.ins new file mode 100644 index 00000000000..845b4378b19 --- /dev/null +++ b/Master/texmf-dist/source/latex/synthslant/synthslant.ins @@ -0,0 +1,67 @@ +%% Copyright (C) 2024 by Ch. L. Spiel +%% +%% This work may be distributed and/or modified under the conditions +%% of the LaTeX Project Public License, either version 1.3 of this +%% license or (at your option) any later version. The latest version +%% of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. + + +\input docstrip + + +\keepsilent +\askforoverwritefalse + + +\preamble + +This is a generated file. + +Copyright (C) 2024 by Ch. L. Spiel + +This work may be distributed and/or modified under the conditions +of the LaTeX Project Public License, either version 1.3 of this +license or (at your option) any later version. The latest version +of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2003/12/01 or later. + +This work has the LPPL maintenance status `maintained'. + +The Current Maintainer of this work is Ch. L. Spiel. + +This work consists of the files synthslant.dtx and synthslant.ins +and the derived files synthslant.sty, synthslant-gauge.tex, +shear-transform.mp, and title.mp. + + +\endpreamble + + +\edef\source{\jobname.dtx} + +\generate{\file{synthslant.sty}{\from{\source}{package}} + \file{synthslant-gauge.tex}{\from{\source}{gauge}} + \file{synthslant.ist}{\from{\source}{index-style}}} + + +\nopostamble +\generate{\file{title.mp}{\from{\source}{title}}} +\generate{\file{shear-transform.mp}{\from{\source}{shear-transform}}} + + +\nopreamble +\generate{\file{compare-with-the-gimp.png.base64}{\from{\source}{compare-with-the-gimp}}} + + +\endbatchfile + + +%% Local Variables: +%% compile-command: "latex synthslant.ins" +%% mode: latex +%% End: |