[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Gavin D. Smith |
Date: |
Mon, 26 Sep 2022 12:59:41 -0400 (EDT) |
branch: master
commit ac454cb9217ba88206844f36773db5b012df1259
Author: Werner Lemberg <wl@gnu.org>
AuthorDate: Mon Sep 26 17:57:21 2022 +0100
* doc/texinfo.tex: Fix character protrusion in `@microtype`.
First of all, character protrusion wasn't activated at all.
Additionally, the code from the original `protcode.tex` was added
incompletely, causing far too large protrusion values.
* doc/texinfo.tex (\countB): New counter.
(\mtadjustprotcode, \mtadjustcp): New macros.
(\mtsetprotcode): Call `\mtadjustprotcode` to scale protrusion
values correctly.
(\microtypeON, \microtypeOFF): Switch on or off character
protrusion.
---
ChangeLog | 15 +++++++++++++
doc/texinfo.tex | 65 ++++++++++++++++++++++++++++++++++++++++++---------------
2 files changed, 63 insertions(+), 17 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 4419495c07..cfe416c115 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2022-09-26 Werner Lemberg <wl@gnu.org>
+
+ * doc/texinfo.tex: Fix character protrusion in `@microtype`.
+
+ First of all, character protrusion wasn't activated at all.
+ Additionally, the code from the original `protcode.tex` was added
+ incompletely, causing far too large protrusion values.
+
+ * doc/texinfo.tex (\countB): New counter.
+ (\mtadjustprotcode, \mtadjustcp): New macros.
+ (\mtsetprotcode): Call `\mtadjustprotcode` to scale protrusion
+ values correctly.
+ (\microtypeON, \microtypeOFF): Switch on or off character
+ protrusion.
+
2022-09-26 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Common.pm (%blockitem_commands),
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
index de59db7951..3b8e7acb8d 100644
--- a/doc/texinfo.tex
+++ b/doc/texinfo.tex
@@ -1,10 +1,9 @@
-
% texinfo.tex -- TeX macros to handle Texinfo files.
%
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2022-09-25.13}
+\def\texinfoversion{2022-09-26.16}
%
% Copyright 1985, 1986, 1988, 1990-2022 Free Software Foundation, Inc.
%
@@ -11419,21 +11418,49 @@ directory should work if nowhere else does.}
% protrusion, from Thanh's protcode.tex.
\def\mtsetprotcode#1{%
- \rpcode#1`\!=200 \rpcode#1`\,=700 \rpcode#1`\-=700 \rpcode#1`\.=700
- \rpcode#1`\;=500 \rpcode#1`\:=500 \rpcode#1`\?=200 \lpcode#1`\`=700
- \rpcode#1`\'=700
- \lpcode#1 92=500 % ``
- \rpcode#1 34=500 % ''
- \rpcode#1 123=300 % --
- \rpcode#1 124=200 % ---
- \rpcode#1`\)=50 \rpcode#1`\A=50 \rpcode#1`\F=50 \rpcode#1`\K=50
- \rpcode#1`\L=50 \rpcode#1`\T=50 \rpcode#1`\V=50 \rpcode#1`\W=50
- \rpcode#1`\X=50 \rpcode#1`\Y=50 \rpcode#1`\k=50 \rpcode#1`\r=50
- \rpcode#1`\t=50 \rpcode#1`\v=50 \rpcode#1`\w=50 \rpcode#1`\x=50
- \rpcode#1`\y=50 \lpcode#1`\(=50 \lpcode#1`\A=50 \lpcode#1`\J=50
- \lpcode#1`\T=50 \lpcode#1`\V=50 \lpcode#1`\W=50 \lpcode#1`\X=50
- \lpcode#1`\Y=50 \lpcode#1`\v=50 \lpcode#1`\w=50 \lpcode#1`\x=50
- \lpcode#1`\y=0
+ \rpcode#1`\!=200 \rpcode#1`\,=700 \rpcode#1`\-=700 \rpcode#1`\.=700
+ \rpcode#1`\;=500 \rpcode#1`\:=500 \rpcode#1`\?=200
+ \rpcode#1`\'=700
+ \rpcode#1 34=500 % ''
+ \rpcode#1 123=300 % --
+ \rpcode#1 124=200 % ---
+ \rpcode#1`\)=50 \rpcode#1`\A=50 \rpcode#1`\F=50 \rpcode#1`\K=50
+ \rpcode#1`\L=50 \rpcode#1`\T=50 \rpcode#1`\V=50 \rpcode#1`\W=50
+ \rpcode#1`\X=50 \rpcode#1`\Y=50 \rpcode#1`\k=50 \rpcode#1`\r=50
+ \rpcode#1`\t=50 \rpcode#1`\v=50 \rpcode#1`\w=50 \rpcode#1`\x=50
+ \rpcode#1`\y=50
+ %
+ \lpcode#1`\`=700
+ \lpcode#1 92=500 % ``
+ \lpcode#1`\(=50 \lpcode#1`\A=50 \lpcode#1`\J=50 \lpcode#1`\T=50
+ \lpcode#1`\V=50 \lpcode#1`\W=50 \lpcode#1`\X=50 \lpcode#1`\Y=50
+ \lpcode#1`\v=50 \lpcode#1`\w=50 \lpcode#1`\x=50 \lpcode#1`\y=0
+ %
+ \mtadjustprotcode#1\relax
+}
+
+\def\mtadjustprotcode#1{%
+ \countA=0
+ \loop
+ \ifcase\lpcode#1\countA\else
+ \mtadjustcp\lpcode#1\countA
+ \fi
+ \ifcase\rpcode#1\countA\else
+ \mtadjustcp\rpcode#1\countA
+ \fi
+ \advance\countA 1
+ \ifnum\countA < 256 \repeat
+}
+
+\newcount\countB
+\def\mtadjustcp#1#2#3{%
+ \setbox\boxA=\hbox{%
+ \ifx#2\font\else#2\fi
+ \char#3}%
+ \countB=\wd\boxA
+ \multiply\countB #1#2#3\relax
+ \divide\countB \fontdimen6 #2\relax
+ #1#2#3=\countB\relax
}
\ifx\luatexversion\thisisundefined
@@ -11457,9 +11484,11 @@ directory should work if nowhere else does.}
\ifx\luatexversion\thisisundefined
\ifpdf % pdfTeX
\pdfadjustspacing=2
+ \pdfprotrudechars=2
\fi
\else % LuaTeX
\adjustspacing=2
+ \protrudechars=2
\fi
\mtfontexpand\textrm
\mtfontexpand\textsl
@@ -11473,9 +11502,11 @@ directory should work if nowhere else does.}
\ifx\luatexversion\thisisundefined
\ifpdf % pdfTeX
\pdfadjustspacing=0
+ \pdfprotrudechars=0
\fi
\else % LuaTeX
\adjustspacing=0
+ \protrudechars=0
\fi
}