summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-12-30 22:18:02 +0000
committerKarl Berry <karl@freefriends.org>2019-12-30 22:18:02 +0000
commit7fe768152ff17f4ce8a56df82832a8978336fb58 (patch)
tree6794ebd86ecec8408b409c60fda03908b76936a9
parentba67b1374de6f77b6df9d6f07e94a3854539010c (diff)
xfakebold (30dec19)
git-svn-id: svn://tug.org/texlive/trunk@53272 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/xfakebold/Changes1
-rw-r--r--Master/texmf-dist/doc/latex/xfakebold/xfakebold-doc.pdfbin78838 -> 96288 bytes
-rw-r--r--Master/texmf-dist/doc/latex/xfakebold/xfakebold-doc.tex141
-rw-r--r--Master/texmf-dist/tex/latex/xfakebold/xfakebold.sty105
4 files changed, 193 insertions, 54 deletions
diff --git a/Master/texmf-dist/doc/latex/xfakebold/Changes b/Master/texmf-dist/doc/latex/xfakebold/Changes
index 923320521b5..9750606c8f3 100644
--- a/Master/texmf-dist/doc/latex/xfakebold/Changes
+++ b/Master/texmf-dist/doc/latex/xfakebold/Changes
@@ -1,5 +1,6 @@
xfakebold.sty ----------------
+v 0.06 2019-12-29 support for xetex and ptex with (x)dvipdfmx
v 0.05 2019-09-21 fix pdflatex
v 0.04 2018-08-21 typo in \fake@bold
v 0.03 2018-08-07 small fixes and typos in the documentation
diff --git a/Master/texmf-dist/doc/latex/xfakebold/xfakebold-doc.pdf b/Master/texmf-dist/doc/latex/xfakebold/xfakebold-doc.pdf
index d9b058589a1..f6522da1420 100644
--- a/Master/texmf-dist/doc/latex/xfakebold/xfakebold-doc.pdf
+++ b/Master/texmf-dist/doc/latex/xfakebold/xfakebold-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/xfakebold/xfakebold-doc.tex b/Master/texmf-dist/doc/latex/xfakebold/xfakebold-doc.tex
index d2bd92ef2b8..973873ee2e3 100644
--- a/Master/texmf-dist/doc/latex/xfakebold/xfakebold-doc.tex
+++ b/Master/texmf-dist/doc/latex/xfakebold/xfakebold-doc.tex
@@ -1,14 +1,18 @@
-% $Id: xfakebold-doc.tex 1087 2019-09-21 11:53:40Z herbert $
+% $Id: xfakebold-doc.tex 1125 2019-12-29 21:34:19Z herbert $
\listfiles
\documentclass[english]{article}
\usepackage{dejavu-otf}
+\usepackage{xfp}
+\ExplSyntaxOn
+\let\PI\c_pi_fp
+\ExplSyntaxOff
\usepackage{xfakebold}
\usepackage{graphicx}
%\pdfcompresslevel=0
\usepackage{babel}
\usepackage[a4paper,tmargin=1cm,bmargin=1.5cm,includeheadfoot]{geometry}
\usepackage{listings}
-\title{\texttt{xfakebold}, v. 0.05\\ using bold characters with \texttt{pdflatex} or \texttt{lualatex}}
+\title{\texttt{xfakebold}, v. 0.06\\ using bold characters with\\ \texttt{pdflatex}, \texttt{lualatex} or \texttt{xelatex}}
\author{Herbert Voß}
\lstset{basicstyle=\ttfamily\small,language={[LaTeX]TeX},frame=lrtb}
@@ -21,13 +25,13 @@
\begin{abstract}
The package fakes a vector font with outline characters by the text render of PDF.
It writes directly into the pdf output with \verb|\pdfliteral| (pdflatex ) or \verb|\pdfextension| \verb|literal|
-(lualatex). The package defines two macros which can be used in text and in math mode. However, for the text
+(lualatex) or \verb|\special| (xelatex). The package defines two macros which can be used in text and in math mode. However, for the text
mode one should use the bold version of the text font which should be available in most cases. This is different to the
math mode where only some free math fonts provide a bold version.
\end{abstract}
\vfill
-\small Thanks to: Will Robertson;
+\small Thanks to: Will Robertson; Yusuke Terada;
%\meaning\setBold
%\meaning\unsetBold
@@ -37,6 +41,8 @@ math mode where only some free math fonts provide a bold version.
\section{How does it work?}
PDF knows different text render modes for outline fonts.
+\ifxetex\else% Only for the test run with xelatex
+
\def\OFF{\pdfextension literal direct { 0 Tr 0 w }\relax}
\def\Verb|#1|{\texttt{\{#1\}}}
@@ -49,7 +55,7 @@ PDF knows different text render modes for outline fonts.
\makebox[3cm][l]{Mode 2 \Verb| 2 Tr 0 w |} \tabular{l}\pdfextension literal direct { 2 Tr 0 w }\scalebox{10}{OTTO} OTTO\OFF\endtabular
\makebox[3cm][l]{Mode 2 \Verb| 2 Tr 0.3 w |} \tabular{l}\pdfextension literal direct { 2 Tr 0.3 w }\scalebox{10}{OTTO} OTTO\OFF\endtabular
-
+\fi
In mode 0 the character is filled but without drawing its outline which can be seen when printing in mode 1, where
the linewidth of the outline is the smallest one which the system allows. Setting the linewidth to 0.3\,bp, which is
@@ -58,7 +64,7 @@ drawing the outline, which is mode 0 and 1 together. The reason why the characte
makes it more bold.
-\section{Optional argument}
+\section{Optional package argument}
The only package option is \verb|bold| which is preset by 0.3, which is the linewidth of
the outlines of the characters.
@@ -68,65 +74,156 @@ the outlines of the characters.
makes the characters more bold.
+\section{The macros}
+
+\begin{lstlisting}
+\setBold[<optional value>]
+\unsetBold
+\end{lstlisting}
+
+Without using the optional argument the default setting is used.
+
+
+
+
\section{The example code}
+The following examples use the value for $\pi$, defined in \LaTeX3 as \verb|\c_pi_fp|. To get rid of
+the L3-syntax we define a new variable:
+
+\begin{lstlisting}
+\ExplSyntaxOn
+\let\PI\c_pi_fp
+\ExplSyntaxOff
+\end{lstlisting}
+
+\subsection{Default setting}
\begin{lstlisting}
\documentclass{article}
\usepackage{xfakebold}
\begin{document}
An example:
-$\pi^{\pi}=\directlua{tex.print(math.pi^math.pi)}$ and
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
\setBold\noindent
An example:
-$\pi^{\pi}=\directlua{tex.print(math.pi^math.pi)}$ and
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
\unsetBold\noindent
An example:
-$\pi^{\pi}=\directlua{tex.print(math.pi^math.pi)}$ and
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
\end{document}
\end{lstlisting}
-\section{The output}
+\noindent
+An example:
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
+$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
+\setBold\noindent
+An example:
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
+$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
+\unsetBold\noindent
An example:
-$\pi^{\pi}=\directlua{tex.print(math.pi^math.pi)}$ and
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
+$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
+
+
+\section{Loading the package with another value}
+
+\begin{lstlisting}
+\documentclass{article}
+\usepackage[bold=1]{xfakebold}
+\begin{document}
+An example:
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
\setBold\noindent
An example:
-$\pi^{\pi}=\directlua{tex.print(math.pi^math.pi)}$ and
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
\unsetBold\noindent
An example:
-$\pi^{\pi}=\directlua{tex.print(math.pi^math.pi)}$ and
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
+\end{document}
+\end{lstlisting}
+\noindent
+An example:
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
+$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
-\vspace{2cm}\noindent
-The same for \verb|\usepackage[bold=1]{xfakebold}|:
+\ifxetex\special{pdf:literal direct 2 Tr 1 w }%
+\else\pdfextension literal direct { 2 Tr 1 w }\relax\fi
+\noindent
+An example:
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
+$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
-\gdef\setBold{\pdfextension literal direct { 2 Tr 1 w }\relax}
-\gdef\unsetBold{\pdfextension literal direct { 0 Tr 0 w }\relax}
+\ifxetex\special{pdf:literal direct 0 Tr 0 w }%
+\else\pdfextension literal direct { 0 Tr 0 w }\relax\fi
\noindent
An example:
-$\pi^{\pi}=\directlua{tex.print(math.pi^math.pi)}$ and
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
-\setBold\noindent
+\section{Using the optional argument of the macro}
+
+\begin{lstlisting}
+\documentclass{article}
+\usepackage{xfakebold}
+\begin{document}
+\setBold[0.01]\noindent
An example:
-$\pi^{\pi}=\directlua{tex.print(math.pi^math.pi)}$ and
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
-\unsetBold\noindent
+\setBold[0.2]\noindent
+An example:
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
+$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
+
+\setBold[0.6]\noindent
An example:
-$\pi^{\pi}=\directlua{tex.print(math.pi^math.pi)}$ and
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
+\unsetBold
+\setBold\noindent% Using the deafult value
+An example:
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
+$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
+\unsetBold
+\end{document}
+\end{lstlisting}
+\setBold[0.01]\noindent
+An example:
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
+$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
+
+\setBold[0.2]\noindent
+An example:
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
+$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
+
+\setBold[0.6]\noindent
+An example:
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
+$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
+\unsetBold
+
+\setBold\noindent% Using the deafult value
+An example:
+$\pi^{\pi}=\fpeval{\PI^\PI}$ and
+$\displaystyle\int\limits_1^{\infty}\frac1{x^2}\symup dx=1$
+\unsetBold
\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/xfakebold/xfakebold.sty b/Master/texmf-dist/tex/latex/xfakebold/xfakebold.sty
index 51d030dedf6..db10f5096ab 100644
--- a/Master/texmf-dist/tex/latex/xfakebold/xfakebold.sty
+++ b/Master/texmf-dist/tex/latex/xfakebold/xfakebold.sty
@@ -1,8 +1,8 @@
-% $Id: xfakebold.sty 1087 2019-09-21 11:53:40Z herbert $
+% $Id: xfakebold.sty 1125 2019-12-29 21:34:19Z herbert $
%%
%% This is file `xfakebold.sty',
%%
-%% Copyright (C) 2019 Herbert Voss
+%% Copyright (C) 1919, 2020 Herbert Voss
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -13,41 +13,82 @@
%% version 2005/12/01 or later.
%%
%%
-\ProvidesPackage{xfakebold}[2019/09/21 v0.05 using bold characters]
-\RequirePackage{ifluatex,ifxetex,xkeyval}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xfakebold}[1919/12/29 v0.06 using bold characters]
+\RequirePackage{xkeyval}
-\def\setBold{}
-\def\unsetBold{}
-\def\fake@bold{0.4}%
+\@ifpackagelater{iftex}{2019/10/24}{%
+ \RequirePackage{ifxetex,ifluatex,ifpdf}
+}{%
+ \RequirePackage{iftex}
+}
-\DeclareOptionX{bold}{%
- \def\fake@bold{#1}%
- \ifdim\fake@bold pt > 0pt
+\def\fkbld@bold{0.3 }%
+
+\def\fkbld@checkboldness#1{%
+ \ifdim#1pt > \z@
+ \def\fkbld@bold{#1 }%
\else
- \PackageWarning{fakebold}{The value must be greater than 0. Will chooose 0.3}%
- \def\fake@bold{0.3}%
- \fi}
+ \PackageWarning{fakebold}{The value must be greater than 0. Will choose 0.3 instead!}%
+ \def\fkbld@bold{0.3 }%
+ \fi
+}
+
+\DeclareOptionX{bold}{\fkbld@checkboldness{#1}}
+
+\ProcessOptionsX*
-\ProcessOptionsX
-\typeout{We use fakebold with factor \fake@bold}%
-\ifxetex
- \typeout{We have XeTeX}%
- \PackageWarning{fakebold}%
- {^^J No LuaTeX or PDFTeX running!
- ^^J For Xe(La)TeX use the FakeBold option from package fontspec!
- \def\fake@bold{-1}}%
-\else
- \ifluatex
- \def\setBold{\pdfextension literal direct { 2 Tr \fake@bold\space w }\relax}
- \def\unsetBold{\pdfextension literal direct { 0 Tr 0 w }\relax}
- \typeout{We have LuaTeX}%
+\newcommand\setBold[1][]{%
+ \begingroup
+ \if$#1$\else
+ \fkbld@checkboldness{#1}%
+ \fi
+ \ifxetex
+ \special{pdf:literal direct 2 Tr \fkbld@bold w }\relax
+ \else
+ \ifluatex
+ \pdfextension literal direct { 2 Tr \fkbld@bold w }\relax
+ \else
+ \ifpdftex
+ \ifnum\pdfoutput=\@ne
+ \pdfliteral direct { 2 Tr #1 w }\relax
+ \else
+ \special{pdf:literal direct 2 Tr \fkbld@bold w }\relax
+ \fi
+ \else
+ \ifpdf
+ \PackageWarning{fakebold}{!Unsupported engine! fakebold is disabled.}
+ \else
+ \special{pdf:literal direct 2 Tr \fkbld@bold w }\relax
+ \fi
+ \fi
+ \fi
+ \fi
+ \endgroup
+ \ignorespaces
+}
+\newcommand\unsetBold{%
+ \ifxetex
+ \special{pdf:literal direct 0 Tr 0 w }\relax
\else
- \ifdim\fake@bold pt < \z@ \else
- \def\setBold{\pdfliteral direct { 2 Tr \fake@bold\space w }\relax}
- \def\unsetBold{\pdfliteral direct { 0 Tr 0 w }\relax}
- \typeout{We have pdfTeX}%
+ \ifluatex
+ \pdfextension literal direct { 0 Tr 0 w }\relax
+ \else
+ \ifpdftex
+ \ifnum\pdfoutput=\@ne
+ \pdfliteral direct { 0 Tr 0 w }\relax
+ \else
+ \special{pdf:literal direct 0 Tr 0 w }\relax
+ \fi
+ \else
+ \ifpdf
+ \else
+ \special{pdf:literal direct 0 Tr 0 w }\relax
+ \fi
+ \fi
\fi
\fi
-\fi
+ \ignorespaces
+}
-\endinput \ No newline at end of file
+\endinput