pdftex[951] branches/stable/source/src: sync from tl r73997
commits+karl at tug.org
commits+karl at tug.org
Sat Feb 15 17:07:48 CET 2025
Revision: 951
https://tug.org/svn/pdftex?view=revision&revision=951
Author: karl
Date: 2025-02-15 17:07:47 +0100 (Sat, 15 Feb 2025)
Log Message:
-----------
sync from tl r73997
Revision Links:
--------------
https://tug.org/svn/pdftex?view=revision&revision=73997
Modified Paths:
--------------
branches/stable/source/src/build-aux/ar-lib
branches/stable/source/src/build-aux/compile
branches/stable/source/src/build-aux/texinfo.tex
branches/stable/source/src/doc/tlbuild-incl/install-tl.texi
branches/stable/source/src/doc/tlbuild-incl/tlmgr.texi
branches/stable/source/src/doc/tlbuild.info
branches/stable/source/src/texk/README
branches/stable/source/src/texk/kpathsea/ChangeLog
branches/stable/source/src/texk/kpathsea/texmf.cnf
branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm
branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm
branches/stable/source/src/texk/web2c/ChangeLog
branches/stable/source/src/texk/web2c/Makefile.in
branches/stable/source/src/texk/web2c/NEWS
branches/stable/source/src/texk/web2c/am/texmf.am
branches/stable/source/src/texk/web2c/cwebdir/ChangeLog
branches/stable/source/src/texk/web2c/cwebdir/ctwill-mini.ch
branches/stable/source/src/texk/web2c/cwebdir/tests/ham.ch
branches/stable/source/src/texk/web2c/doc/luatex/luatex-callbacks.tex
branches/stable/source/src/texk/web2c/doc/luatex/luatex-enhancements.tex
branches/stable/source/src/texk/web2c/doc/luatex/luatex-fonts.tex
branches/stable/source/src/texk/web2c/doc/luatex/luatex-lua.tex
branches/stable/source/src/texk/web2c/doc/luatex/luatex-modifications.tex
branches/stable/source/src/texk/web2c/doc/luatex/luatex-tex.tex
branches/stable/source/src/texk/web2c/doc/luatex/luatex.pdf
branches/stable/source/src/texk/web2c/doc/luatex/luatex.tex
branches/stable/source/src/texk/web2c/etexdir/ChangeLog
branches/stable/source/src/texk/web2c/etexdir/am/etex.am
branches/stable/source/src/texk/web2c/lib/ChangeLog
branches/stable/source/src/texk/web2c/lib/texmfmp.c
branches/stable/source/src/texk/web2c/pdftexdir/ChangeLog
branches/stable/source/src/texk/web2c/pdftexdir/NEWS
branches/stable/source/src/texk/web2c/pdftexdir/am/pdftex.am
branches/stable/source/src/texk/web2c/pdftexdir/pdftex.ch
branches/stable/source/src/texk/web2c/pdftexdir/pdftex.web
branches/stable/source/src/texk/web2c/silent-sh.in
branches/stable/source/src/texk/web2c/tests/fix-changefile-lines.py
branches/stable/source/src/texk/web2c/tex.ch
branches/stable/source/src/utils/README
Added Paths:
-----------
branches/stable/source/src/texk/web2c/doc/luatex/Makefile
branches/stable/source/src/texk/web2c/tests/fonttoobig-ds1024.pl
branches/stable/source/src/texk/web2c/tests/fonttoobig-ds1024.tfm
branches/stable/source/src/texk/web2c/tests/fonttoobig-ds256.pl
branches/stable/source/src/texk/web2c/tests/fonttoobig-ds256.tfm
branches/stable/source/src/texk/web2c/tests/fonttoobig.tex
branches/stable/source/src/texk/web2c/tests/io.tfm
branches/stable/source/src/texk/web2c/tests/outerdel.tex
branches/stable/source/src/texk/web2c/tests/outerdelsub.tex
Modified: branches/stable/source/src/build-aux/ar-lib
===================================================================
--- branches/stable/source/src/build-aux/ar-lib 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/build-aux/ar-lib 2025-02-15 16:07:47 UTC (rev 951)
@@ -2,7 +2,7 @@
# Wrapper for Microsoft lib.exe
me=ar-lib
-scriptversion=2024-06-19.01; # UTC
+scriptversion=2025-02-03.05; # UTC
# Copyright (C) 2010-2025 Free Software Foundation, Inc.
# Written by Peter Rosin <peda at lysator.liu.se>.
@@ -51,11 +51,22 @@
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
- file_conv=mingw
+ if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then
+ # MSYS2 environment.
+ file_conv=cygwin
+ else
+ # Original MinGW environment.
+ file_conv=mingw
+ fi
;;
- CYGWIN* | MSYS*)
+ MSYS*)
+ # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell.
file_conv=cygwin
;;
+ CYGWIN*)
+ # Cygwin environment.
+ file_conv=cygwin
+ ;;
*)
file_conv=wine
;;
@@ -65,8 +76,8 @@
mingw)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
- cygwin | msys)
- file=`cygpath -m "$file" || echo "$file"`
+ cygwin)
+ file=`cygpath -w "$file" || echo "$file"`
;;
wine)
file=`winepath -w "$file" || echo "$file"`
Modified: branches/stable/source/src/build-aux/compile
===================================================================
--- branches/stable/source/src/build-aux/compile 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/build-aux/compile 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,7 +1,7 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2024-12-03.03; # UTC
+scriptversion=2025-02-03.05; # UTC
# Copyright (C) 1999-2025 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey at cygnus.com>.
@@ -37,11 +37,11 @@
file_conv=
-# func_file_conv build_file lazy
+# func_file_conv build_file unneeded_conversions
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
+# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no
+# conversion will take place.
func_file_conv ()
{
file=$1
@@ -51,11 +51,22 @@
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
- file_conv=mingw
+ if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then
+ # MSYS2 environment.
+ file_conv=cygwin
+ else
+ # Original MinGW environment.
+ file_conv=mingw
+ fi
;;
- CYGWIN* | MSYS*)
+ MSYS*)
+ # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell.
file_conv=cygwin
;;
+ CYGWIN*)
+ # Cygwin environment.
+ file_conv=cygwin
+ ;;
*)
file_conv=wine
;;
@@ -63,12 +74,14 @@
fi
case $file_conv/,$2, in
*,$file_conv,*)
+ # This is the optimization mentioned above:
+ # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert.
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
- cygwin/* | msys/*)
- file=`cygpath -m "$file" || echo "$file"`
+ cygwin/*)
+ file=`cygpath -w "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
Modified: branches/stable/source/src/build-aux/texinfo.tex
===================================================================
--- branches/stable/source/src/build-aux/texinfo.tex 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/build-aux/texinfo.tex 2025-02-15 16:07:47 UTC (rev 951)
@@ -3,9 +3,9 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2024-11-04.20}
+\def\texinfoversion{2025-01-31.21}
%
-% Copyright 1985, 1986, 1988, 1990-2024 Free Software Foundation, Inc.
+% Copyright 1985, 1986, 1988, 1990-2025 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
@@ -156,8 +156,9 @@
% Give the space character the catcode for a space.
\def\spaceisspace{\catcode`\ =10\relax}
-% Likewise for ^^M, the end of line character.
-\def\endlineisspace{\catcode13=10\relax}
+% Used to ignore an active newline that may appear immediately after
+% a macro name.
+{\catcode13=\active \gdef\ignoreactivenewline{\let^^M\empty}}
\chardef\dashChar = `\-
\chardef\slashChar = `\/
@@ -957,6 +958,10 @@
\ifx\byeerror\relax\else\errmessage{\byeerror}\fi
\tracingstats=1\ptexend}
+% set in \donoderef below, but we need to define this here so that
+% conditionals balance inside the large \ifpdf ... \fi blocks below.
+\newif\ifnodeseen
+\nodeseenfalse
\message{pdf,}
% adobe `portable' document format
@@ -975,6 +980,11 @@
\newif\ifpdf
\newif\ifpdfmakepagedest
+\newif\ifluatex
+\ifx\luatexversion\thisisundefined\else
+ \luatextrue
+\fi
+
%
% For LuaTeX
%
@@ -982,8 +992,7 @@
\newif\iftxiuseunicodedestname
\txiuseunicodedestnamefalse % For pdfTeX etc.
-\ifx\luatexversion\thisisundefined
-\else
+\ifluatex
% Use Unicode destination names
\txiuseunicodedestnametrue
% Escape PDF strings with converting UTF-16 from UTF-8
@@ -1072,12 +1081,17 @@
\fi
\fi
+\newif\ifxetex
+\ifx\XeTeXrevision\thisisundefined\else
+ \xetextrue
+\fi
+
\newif\ifpdforxetex
\pdforxetexfalse
\ifpdf
\pdforxetextrue
\fi
-\ifx\XeTeXrevision\thisisundefined\else
+\ifxetex
\pdforxetextrue
\fi
@@ -1167,58 +1181,90 @@
be supported due to the design of the PDF format; use regular TeX (DVI
output) for that.)}
+% definitions for pdftex or luatex with pdf output
\ifpdf
+ % Strings in PDF outlines can either be ASCII, or encoded in UTF-16BE
+ % with BOM. Unfortunately there is no simple way with pdftex to output
+ % UTF-16, so we have to do some quite convoluted expansion games if we
+ % find the string contains a non-ASCII codepoint if we want these to
+ % display correctly. We generated the UTF-16 sequences in
+ % \DeclareUnicodeCharacter and we access them here.
%
- % Color manipulation macros using ideas from pdfcolor.tex,
- % except using rgb instead of cmyk; the latter is said to render as a
- % very dark gray on-screen and a very dark halftone in print, instead
- % of actual black. The dark red here is dark enough to print on paper as
- % nearly black, but still distinguishable for online viewing. We use
- % black by default, though.
- \def\rgbDarkRed{0.50 0.09 0.12}
- \def\rgbBlack{0 0 0}
+ \def\defpdfoutlinetextunicode#1{%
+ \def\pdfoutlinetext{#1}%
+ %
+ % Make UTF-8 sequences expand to UTF-16 definitions.
+ \passthroughcharsfalse \utfbytespdftrue
+ \utfviiidefinedwarningfalse
+ %
+ % Completely expand, eliminating any control sequences such as \code,
+ % leaving only possibly \utfbytes.
+ \let\utfbytes\relax
+ \pdfaccentliterals
+ \xdef\pdfoutlinetextchecked{#1}%
+ \checkutfbytes
+ }%
+ % Check if \utfbytes occurs in expansion.
+ \def\checkutfbytes{%
+ \expandafter\checkutfbytesz\pdfoutlinetextchecked\utfbytes\finish
+ }%
+ \def\checkutfbytesz#1\utfbytes#2\finish{%
+ \def\after{#2}%
+ \ifx\after\empty
+ % No further action needed. Output ASCII string as-is, as converting
+ % to UTF-16 is somewhat slow (and uses more space).
+ \global\let\pdfoutlinetext\pdfoutlinetextchecked
+ \else
+ \passthroughcharstrue % pass UTF-8 sequences unaltered
+ \xdef\pdfoutlinetext{\pdfoutlinetext}%
+ \expandafter\expandutfsixteen\expandafter{\pdfoutlinetext}\pdfoutlinetext
+ \fi
+ }%
%
- % rg sets the color for filling (usual text, etc.);
- % RG sets the color for stroking (thin rules, e.g., normal _'s).
- \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}}
+ \catcode2=1 % begin-group character
+ \catcode3=2 % end-group character
%
- % Set color, and create a mark which defines \thiscolor accordingly,
- % so that \makeheadline knows which color to restore.
- \def\curcolor{0 0 0}%
- \def\setcolor#1{%
- \ifx#1\curcolor\else
- \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
- \domark
- \pdfsetcolor{#1}%
- \xdef\curcolor{#1}%
- \fi
- }
+ % argument should be pure UTF-8 with no control sequences. convert to
+ % UTF-16BE by inserting null bytes before bytes < 128 and expanding
+ % UTF-8 multibyte sequences to saved UTF-16BE sequences.
+ \def\expandutfsixteen#1#2{%
+ \bgroup \asciitounicode
+ \passthroughcharsfalse
+ \let\utfbytes\asis
+ %
+ % for Byte Order Mark (BOM)
+ \catcode"FE=12
+ \catcode"FF=12
+ %
+ % we want to treat { and } in #1 as any other ASCII bytes. however,
+ % we need grouping characters for \scantokens and definitions/assignments,
+ % so define alternative grouping characters using control characters
+ % that are unlikely to occur.
+ % this does not affect 0x02 or 0x03 bytes arising from expansion as
+ % these are tokens with different catcodes.
+ \catcode"02=1 % begin-group character
+ \catcode"03=2 % end-group character
+ %
+ \expandafter\xdef\expandafter#2\scantokens{%
+ ^^02^^fe^^ff#1^^03}%
+ % NB we need \scantokens to provide both the open and close group tokens
+ % for \xdef otherwise there is an e-TeX error "File ended while
+ % scanning definition of..."
+ % NB \scantokens is a e-TeX command which is assumed to be provided by
+ % pdfTeX.
+ %
+ \egroup
+ }%
%
- \let\maincolor\rgbBlack
- \pdfsetcolor{\maincolor}
- \edef\thiscolor{\maincolor}
- \def\currentcolordefs{}
+ \catcode2=12 \catcode3=12 % defaults
%
- \def\makefootline{%
- \baselineskip24pt
- \line{\pdfsetcolor{\maincolor}\the\footline}%
- }
+ % Color support
%
- \def\makeheadline{%
- \vbox to 0pt{%
- \vskip-22.5pt
- \line{%
- \vbox to8.5pt{}%
- % Extract \thiscolor definition from the marks.
- \getcolormarks
- % Typeset the headline with \maincolor, then restore the color.
- \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
- }%
- \vss
- }%
- \nointerlineskip
- }
+ % rg sets the color for filling (usual text, etc.);
+ % RG sets the color for stroking (thin rules, e.g., normal _'s).
+ \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}}
%
+ % PDF outline support
%
\pdfcatalog{/PageMode /UseOutlines}
%
@@ -1315,18 +1361,15 @@
\def\pdfoutlinetext{#1}%
\else
\ifx \declaredencoding \utfeight
- \ifx\luatexversion\thisisundefined
- % For pdfTeX with UTF-8.
- % TODO: the PDF format can use UTF-16 in bookmark strings,
- % but the code for this isn't done yet.
- % Use ASCII approximations.
- \passthroughcharsfalse
- \def\pdfoutlinetext{#1}%
- \else
+ \ifluatex
% For LuaTeX with UTF-8.
% Pass through Unicode characters for title texts.
\passthroughcharstrue
- \def\pdfoutlinetext{#1}%
+ \pdfaccentliterals
+ \xdef\pdfoutlinetext{#1}%
+ \else
+ % For pdfTeX with UTF-8.
+ \defpdfoutlinetextunicode{#1}%
\fi
\else
% For non-Latin-1 or non-UTF-8 encodings.
@@ -1348,11 +1391,6 @@
% used to mark target names; must be expandable.
\def\pdfmkpgn#1{#1}
%
- % by default, use black for everything.
- \def\urlcolor{\rgbBlack}
- \let\linkcolor\rgbBlack
- \def\endlink{\setcolor{\maincolor}\pdfendlink}
- %
% Adding outlines to PDF; macros for calculating structure of outlines
% come from Petr Olsak
\def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
@@ -1416,6 +1454,10 @@
\def\unnsecentry{\numsecentry}%
\def\unnsubsecentry{\numsubsecentry}%
\def\unnsubsubsecentry{\numsubsubsecentry}%
+ %
+ % Treat index initials like @section. Note that this is the wrong
+ % level if the index is not at the level of @appendix or @chapter.
+ \def\idxinitialentry{\numsecentry}%
\readdatafile{toc}%
%
% Read toc second time, this time actually producing the outlines.
@@ -1437,6 +1479,8 @@
\dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
\def\numsubsubsecentry##1##2##3##4{% count is always zero
\dopdfoutline{##1}{}{##3}{##4}}%
+ \def\idxinitialentry##1##2##3##4{%
+ \dopdfoutline{##1}{}{idx.##1.##2}{##4}}%
%
% PDF outlines are displayed using system fonts, instead of
% document fonts. Therefore we cannot use special characters,
@@ -1450,6 +1494,7 @@
% we use for the index sort strings.
%
\indexnofonts
+ \ifnodeseen\else \dopdfoutlinecontents \fi % for @contents at beginning
\setupdatafile
% We can have normal brace characters in the PDF outlines, unlike
% Texinfo index files. So set that up.
@@ -1458,7 +1503,11 @@
\catcode`\\=\active \otherbackslash
\input \tocreadfilename
\endgroup
+ \ifnodeseen \dopdfoutlinecontents \fi % for @contents at end
}
+ \def\dopdfoutlinecontents{%
+ \expandafter\dopdfoutline\expandafter{\putwordTOC}{}{txi.CONTENTS}{}%
+ }
{\catcode`[=1 \catcode`]=2
\catcode`{=\other \catcode`}=\other
\gdef\lbracecharliteral[{]%
@@ -1484,55 +1533,16 @@
\else
\let \startlink \pdfstartlink
\fi
- % make a live url in pdf output.
- \def\pdfurl#1{%
- \begingroup
- % it seems we really need yet another set of dummies; have not
- % tried to figure out what each command should do in the context
- % of @url. for now, just make @/ a no-op, that's the only one
- % people have actually reported a problem with.
- %
- \normalturnoffactive
- \def\@{@}%
- \let\/=\empty
- \makevalueexpandable
- % do we want to go so far as to use \indexnofonts instead of just
- % special-casing \var here?
- \def\var##1{##1}%
- %
- \leavevmode\setcolor{\urlcolor}%
- \startlink attr{/Border [0 0 0]}%
- user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
- \endgroup}
- % \pdfgettoks - Surround page numbers in #1 with @pdflink. #1 may
- % be a simple number, or a list of numbers in the case of an index
- % entry.
- \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
- \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
- \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
- \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
- \def\maketoks{%
- \expandafter\poptoks\the\toksA|ENDTOKS|\relax
- \ifx\first0\adn0
- \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
- \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
- \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
- \else
- \ifnum0=\countA\else\makelink\fi
- \ifx\first.\let\next=\done\else
- \let\next=\maketoks
- \addtokens{\toksB}{\the\toksD}
- \ifx\first,\addtokens{\toksB}{\space}\fi
- \fi
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
- \next}
- \def\makelink{\addtokens{\toksB}%
- {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+ \def\pdfmakeurl#1{%
+ \startlink attr{/Border [0 0 0]}%
+ user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
+ }%
+ \def\endlink{\setcolor{\maincolor}\pdfendlink}
+ %
\def\pdflink#1{\pdflinkpage{#1}{#1}}%
\def\pdflinkpage#1#2{%
\startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
\setcolor{\linkcolor}#2\endlink}
- \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
\else
% non-pdf mode
\let\pdfmkdest = \gobble
@@ -1541,13 +1551,12 @@
\let\setcolor = \gobble
\let\pdfsetcolor = \gobble
\let\pdfmakeoutlines = \relax
-\fi % \ifx\pdfoutput
+\fi
%
% For XeTeX
%
-\ifx\XeTeXrevision\thisisundefined
-\else
+\ifxetex
%
% XeTeX version check
%
@@ -1573,45 +1582,8 @@
\fi
%
% Color support
- %
- \def\rgbDarkRed{0.50 0.09 0.12}
- \def\rgbBlack{0 0 0}
- %
\def\pdfsetcolor#1{\special{pdf:scolor [#1]}}
%
- % Set color, and create a mark which defines \thiscolor accordingly,
- % so that \makeheadline knows which color to restore.
- \def\setcolor#1{%
- \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
- \domark
- \pdfsetcolor{#1}%
- }
- %
- \def\maincolor{\rgbBlack}
- \pdfsetcolor{\maincolor}
- \edef\thiscolor{\maincolor}
- \def\currentcolordefs{}
- %
- \def\makefootline{%
- \baselineskip24pt
- \line{\pdfsetcolor{\maincolor}\the\footline}%
- }
- %
- \def\makeheadline{%
- \vbox to 0pt{%
- \vskip-22.5pt
- \line{%
- \vbox to8.5pt{}%
- % Extract \thiscolor definition from the marks.
- \getcolormarks
- % Typeset the headline with \maincolor, then restore the color.
- \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
- }%
- \vss
- }%
- \nointerlineskip
- }
- %
% PDF outline support
%
% Emulate pdfTeX primitive
@@ -1649,11 +1621,6 @@
\safewhatsit{\pdfdest name{\pdfdestname} xyz}%
}
%
- % by default, use black for everything.
- \def\urlcolor{\rgbBlack}
- \def\linkcolor{\rgbBlack}
- \def\endlink{\setcolor{\maincolor}\pdfendlink}
- %
\def\dopdfoutline#1#2#3#4{%
\setpdfoutlinetext{#1}
\setpdfdestname{#3}
@@ -1667,7 +1634,6 @@
%
\def\pdfmakeoutlines{%
\begingroup
- %
% For XeTeX, counts of subentries are not necessary.
% Therefore, we read toc only once.
%
@@ -1686,6 +1652,11 @@
\def\numsubsubsecentry##1##2##3##4{%
\dopdfoutline{##1}{4}{##3}{##4}}%
%
+ % Note this is at the wrong level unless the index is in an @appendix
+ % or @chapter.
+ \def\idxinitialentry##1##2##3##4{%
+ \dopdfoutline{##1}{2}{idx.##1.##2}{##4}}%
+ %
\let\appentry\numchapentry%
\let\appsecentry\numsecentry%
\let\appsubsecentry\numsubsecentry%
@@ -1700,6 +1671,9 @@
% Therefore, the encoding and the language may not be considered.
%
\indexnofonts
+ \pdfaccentliterals
+ \ifnodeseen\else \dopdfoutlinecontents \fi % for @contents at beginning
+ %
\setupdatafile
% We can have normal brace characters in the PDF outlines, unlike
% Texinfo index files. So set that up.
@@ -1706,9 +1680,14 @@
\def\{{\lbracecharliteral}%
\def\}{\rbracecharliteral}%
\catcode`\\=\active \otherbackslash
- \input \tocreadfilename
+ \input \tocreadfilename\relax
+ \ifnodeseen \dopdfoutlinecontents \fi % for @contents at end
\endgroup
}
+ \def\dopdfoutlinecontents{%
+ \expandafter\dopdfoutline\expandafter
+ {\putwordTOC}{1}{txi.CONTENTS}{txi.CONTENTS}%
+ }
{\catcode`[=1 \catcode`]=2
\catcode`{=\other \catcode`}=\other
\gdef\lbracecharliteral[{]%
@@ -1721,7 +1700,7 @@
% However, due to a UTF-16 conversion issue of xdvipdfmx 20150315,
% ``\special{pdf:dest ...}'' cannot handle non-ASCII strings.
% It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
-%
+ %
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
\ifx\PP\D\let\nextsp\relax
\else\let\nextsp\skipspaces
@@ -1736,56 +1715,18 @@
\edef\temp{#1}%
\expandafter\skipspaces\temp|\relax
}
- % make a live url in pdf output.
- \def\pdfurl#1{%
- \begingroup
- % it seems we really need yet another set of dummies; have not
- % tried to figure out what each command should do in the context
- % of @url. for now, just make @/ a no-op, that's the only one
- % people have actually reported a problem with.
- %
- \normalturnoffactive
- \def\@{@}%
- \let\/=\empty
- \makevalueexpandable
- % do we want to go so far as to use \indexnofonts instead of just
- % special-casing \var here?
- \def\var##1{##1}%
- %
- \leavevmode\setcolor{\urlcolor}%
- \special{pdf:bann << /Border [0 0 0]
- /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
- \endgroup}
+ \def\pdfmakeurl#1{%
+ \special{pdf:bann << /Border [0 0 0]
+ /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
+ }
\def\endlink{\setcolor{\maincolor}\special{pdf:eann}}
- \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
- \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
- \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
- \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
- \def\maketoks{%
- \expandafter\poptoks\the\toksA|ENDTOKS|\relax
- \ifx\first0\adn0
- \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
- \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
- \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
- \else
- \ifnum0=\countA\else\makelink\fi
- \ifx\first.\let\next=\done\else
- \let\next=\maketoks
- \addtokens{\toksB}{\the\toksD}
- \ifx\first,\addtokens{\toksB}{\space}\fi
- \fi
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
- \next}
- \def\makelink{\addtokens{\toksB}%
- {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
\def\pdflink#1{\pdflinkpage{#1}{#1}}%
\def\pdflinkpage#1#2{%
\special{pdf:bann << /Border [0 0 0]
/Type /Annot /Subtype /Link /A << /S /GoTo /D (#1) >> >>}%
\setcolor{\linkcolor}#2\endlink}
- \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
-%
%
+ %
% @image support
%
% #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
@@ -1841,7 +1782,165 @@
}
\fi
+% common definitions and code for pdftex, luatex and xetex
+\ifpdforxetex
+ % The dark red here is dark enough to print on paper as
+ % nearly black, but still distinguishable for online viewing. We use
+ % black by default, though.
+ \def\rgbDarkRed{0.50 0.09 0.12}
+ \def\rgbBlack{0 0 0}
+ %
+ % Set color, and create a mark which defines \thiscolor accordingly,
+ % so that \makeheadline knows which color to restore.
+ \def\curcolor{0 0 0}%
+ \def\setcolor#1{%
+ \ifx#1\curcolor\else
+ \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
+ \domark
+ \pdfsetcolor{#1}%
+ \xdef\curcolor{#1}%
+ \fi
+ }
+ %
+ \let\maincolor\rgbBlack
+ \pdfsetcolor{\maincolor}
+ \edef\thiscolor{\maincolor}
+ \def\currentcolordefs{}
+ %
+ \def\makefootline{%
+ \baselineskip24pt
+ \line{\pdfsetcolor{\maincolor}\the\footline}%
+ }
+ %
+ \def\makeheadline{%
+ \vbox to 0pt{%
+ \vskip-22.5pt
+ \line{%
+ \vbox to8.5pt{}%
+ % Extract \thiscolor definition from the marks.
+ \getcolormarks
+ % Typeset the headline with \maincolor, then restore the color.
+ \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
+ }%
+ \vss
+ }%
+ \nointerlineskip
+ }
+ %
+ % by default, use black for everything.
+ \def\urlcolor{\rgbBlack}
+ \let\linkcolor\rgbBlack
+ %
+ % make a live url in pdf output.
+ \def\pdfurl#1{%
+ \begingroup
+ % it seems we really need yet another set of dummies; have not
+ % tried to figure out what each command should do in the context
+ % of @url. for now, just make @/ a no-op, that's the only one
+ % people have actually reported a problem with.
+ %
+ \normalturnoffactive
+ \def\@{@}%
+ \let\/=\empty
+ \makevalueexpandable
+ % do we want to go so far as to use \indexnofonts instead of just
+ % special-casing \var here?
+ \def\var##1{##1}%
+ %
+ \leavevmode\setcolor{\urlcolor}%
+ \pdfmakeurl{#1}%
+ \endgroup}
+ %
+ % \pdfgettoks - Surround page numbers in #1 with @pdflink. #1 may
+ % be a simple number, or a list of numbers in the case of an index
+ % entry.
+ \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+ \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+ \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+ \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+ \def\maketoks{%
+ \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+ \ifx\first0\adn0
+ \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+ \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+ \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+ \else
+ \ifnum0=\countA\else\makelink\fi
+ \ifx\first.\let\next=\done\else
+ \let\next=\maketoks
+ \addtokens{\toksB}{\the\toksD}
+ \ifx\first,\addtokens{\toksB}{\space}\fi
+ \fi
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \next}
+ \def\makelink{\addtokens{\toksB}%
+ {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+ \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+\fi
+\ifpdforxetex
+ % for pdftex.
+ {\catcode`^^cc=13
+ \gdef\pdfaccentliteralsutfviii{%
+ % For PDF outline only. Unicode combining accents follow the
+ % character they modify. Note we need at least the first byte
+ % of the UTF-8 sequences to have an active catcode to allow the
+ % definitions to do their magic.
+ \def\"##1{##1^^cc^^88}% U+0308
+ \def\'##1{##1^^cc^^81}% U+0301
+ \def\,##1{##1^^cc^^a7}% U+0327
+ \def\=##1{##1^^cc^^85}% U+0305
+ \def\^##1{##1^^cc^^82}% U+0302
+ \def\`##1{##1^^cc^^80}% U+0300
+ \def\~##1{##1^^cc^^83}% U+0303
+ \def\dotaccent##1{##1^^cc^^87}% U+0307
+ \def\H##1{##1^^cc^^8b}% U+030B
+ \def\ogonek##1{##1^^cc^^a8}% U+0328
+ \def\ringaccent##1{##1^^cc^^8a}% U+030A
+ \def\u##1{##1^^cc^^8c}% U+0306
+ \def\ubaraccent##1{##1^^cc^^b1}% U+0331
+ \def\udotaccent##1{##1^^cc^^a3}% U+0323
+ \def\v##1{##1^^cc^^8c}% U+030C
+ % this definition of @tieaccent will only work with exactly two characters
+ % in argument as we need to insert the combining character between them.
+ \def\tieaccent##1{\tieaccentz##1}%
+ \def\tieaccentz##1##2{##1^^cd^^a1##2} % U+0361
+ }}%
+ %
+ % for xetex and luatex, which both support extended ^^^^ escapes and
+ % process the Unicode codepoint as a single token.
+ \gdef\pdfaccentliteralsnative{%
+ \def\"##1{##1^^^^0308}%
+ \def\'##1{##1^^^^0301}%
+ \def\,##1{##1^^^^0327}%
+ \def\=##1{##1^^^^0305}%
+ \def\^##1{##1^^^^0302}%
+ \def\`##1{##1^^^^0300}%
+ \def\~##1{##1^^^^0303}%
+ \def\dotaccent##1{##1^^^^0307}%
+ \def\H##1{##1^^^^030b}%
+ \def\ogonek##1{##1^^^^0328}%
+ \def\ringaccent##1{##1^^^^030a}%
+ \def\u##1{##1^^^^0306}%
+ \def\ubaraccent##1{##1^^^^0331}%
+ \def\udotaccent##1{##1^^^^0323}%
+ \def\v##1{##1^^^^030c}%
+ \def\tieaccent##1{\tieaccentz##1}%
+ \def\tieaccentz##1##2{##1^^^^0361##2} % U+0361
+ }%
+ %
+ % use the appropriate definition
+ \ifluatex
+ \let\pdfaccentliterals\pdfaccentliteralsnative
+ \else
+ \ifxetex
+ \let\pdfaccentliterals\pdfaccentliteralsnative
+ \else
+ \let\pdfaccentliterals\pdfaccentliteralsutfviii
+ \fi
+ \fi
+\fi
+
%
\message{fonts,}
@@ -2772,15 +2871,15 @@
% @cite unconditionally uses \sl with \smartitaliccorrection.
\def\cite#1{{\sl #1}\smartitaliccorrection}
-% @var unconditionally uses \sl. This gives consistency for
-% parameter names whether they are in @def, @table @code or a
-% regular paragraph.
-% To get ttsl font for @var when used in code context, @set txicodevaristt.
-% The \null is to reset \spacefactor.
+% By default, use ttsl font for @var when used in code context.
+% To unconditionally use \sl for @var, @clear txicodevaristt. This
+% gives consistency for parameter names whether they are in @def,
+% @table @code or a regular paragraph.
\def\aftersmartic{}
\def\var#1{%
\let\saveaftersmartic = \aftersmartic
\def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
+ % The \null is to reset \spacefactor.
%
\ifflagclear{txicodevaristt}%
{\def\varnext{{{\sl #1}}\smartitaliccorrection}}%
@@ -2788,7 +2887,6 @@
\varnext
}
-% To be removed after next release
\def\SETtxicodevaristt{}% @set txicodevaristt
\let\i=\smartitalic
@@ -2808,7 +2906,7 @@
\def\ii#1{{\it #1}} % italic font
% @b, explicit bold. Also @strong.
-\def\b#1{{\bf #1}}
+\def\b#1{{\bf \defcharsdefault #1}}
\let\strong=\b
% @sansserif, explicit sans.
@@ -3039,9 +3137,7 @@
\unhbox0\ (\urefcode{#1})%
\fi
\else
- \ifx\XeTeXrevision\thisisundefined
- \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
- \else
+ \ifxetex
% For XeTeX
\ifurefurlonlylink
% PDF plus option to not display url, show just arg
@@ -3051,6 +3147,8 @@
% visibility, if the pdf is eventually used to print, etc.
\unhbox0\ (\urefcode{#1})%
\fi
+ \else
+ \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
\fi
\fi
\else
@@ -3670,15 +3768,24 @@
{\font\thisecfont = #1ctt\ecsize \space at \nominalsize}%
% else
{\ifx\curfontstyle\bfstylename
- % bold:
- \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
+ \etcfontbold{#1}%
\else
- % regular:
- \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+ \ifrmisbold
+ \etcfontbold{#1}%
+ \else
+ % regular:
+ \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space
+ at \nominalsize
+ \fi
\fi}%
\thisecfont
}
+\def\etcfontbold#1{%
+ % bold:
+ \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
+}
+
% @registeredsymbol - R in a circle. The font for the R should really
% be smaller yet, but lllsize is the best we can do for now.
% Adapted from the plain.tex definition of \copyright.
@@ -5528,7 +5635,6 @@
\def\initial{%
\bgroup
- \initialglyphs
\initialx
}
@@ -5551,7 +5657,10 @@
%
% No shrink because it confuses \balancecolumns.
\vskip 1.67\baselineskip plus 1\baselineskip
- \leftline{\secfonts \kern-0.05em \secbf #1}%
+ \doindexinitialentry{#1}%
+ \initialglyphs
+ \leftline{%
+ \secfonts \kern-0.05em \secbf #1}%
% \secfonts is inside the argument of \leftline so that the change of
% \baselineskip will not affect any glue inserted before the vbox that
% \leftline creates.
@@ -5561,6 +5670,32 @@
\egroup % \initialglyphs
}
+\def\doindexinitialentry#1{%
+ \ifpdforxetex
+ \global\advance\idxinitialno by 1
+ \def\indexlbrace{\{}
+ \def\indexrbrace{\}}
+ \def\indexbackslash{\realbackslash}
+ \def\indexatchar{\@}
+ \writetocentry{idxinitial}{\asis #1}{IDX\the\idxinitialno}%
+ % The @asis removes a pair of braces around e.g. {@indexatchar} that
+ % are output by texindex.
+ %
+ \vbox to 0pt{}%
+ % This vbox fixes the \pdfdest location for double column formatting.
+ % Without it, the \pdfdest is output above topskip glue at the top
+ % of a column as this glue is not added until the first box.
+ \pdfmkdest{idx.\asis #1.IDX\the\idxinitialno}%
+ \fi
+}
+
+% No listing in TOC
+\def\idxinitialentry#1#2#3#4{}
+
+% For index initials.
+\newcount\idxinitialno \idxinitialno=1
+
+
\newdimen\entryrightmargin
\entryrightmargin=0pt
@@ -6782,12 +6917,13 @@
% Prepare to read what we've written to \tocfile.
%
-\def\startcontents#1{%
+\def\startcontents#1#2{%
% If @setchapternewpage on, and @headings double, the contents should
% start on an odd page, unlike chapters.
\contentsalignmacro
\immediate\closeout\tocfile
%
+ #2%
% Don't need to put `Contents' or `Short Contents' in the headline.
% It is abundantly clear what they are.
\chapmacro{#1}{Yomitfromtoc}{}%
@@ -6818,7 +6954,7 @@
% Normal (long) toc.
%
\def\contents{%
- \startcontents{\putwordTOC}%
+ \startcontents{\putwordTOC}{\contentsmkdest}%
\openin 1 \tocreadfilename\space
\ifeof 1 \else
\findsecnowidths
@@ -6834,9 +6970,13 @@
\contentsendroman
}
+\def\contentsmkdest{%
+ \pdfmkdest{txi.CONTENTS}%
+}
+
% And just the chapters.
\def\summarycontents{%
- \startcontents{\putwordShortTOC}%
+ \startcontents{\putwordShortTOC}{}%
%
\let\partentry = \shortpartentry
\let\numchapentry = \shortchapentry
@@ -7925,7 +8065,7 @@
{\rm\enskip}% hskip 0.5 em of \rmfont
}{}%
%
- \boldbrax
+ \parenbrackglyphs
% arguments will be output next, if any.
}
@@ -7935,7 +8075,10 @@
\def\^^M{}% for line continuation
\df \ifdoingtypefn \tt \else \sl \fi
\ifflagclear{txicodevaristt}{}%
- {\def\var##1{{\setregularquotes \ttsl ##1}}}%
+ % use \ttsl for @var in both @def* and @deftype*.
+ % the kern prevents an italic correction at end, which appears
+ % too much for ttsl.
+ {\def\var##1{{\setregularquotes \ttsl ##1\kern 0pt }}}%
#1%
\egroup
}
@@ -7952,8 +8095,9 @@
\let\lparen = ( \let\rparen = )
% Be sure that we always have a definition for `(', etc. For example,
-% if the fn name has parens in it, \boldbrax will not be in effect yet,
-% so TeX would otherwise complain about undefined control sequence.
+% if the fn name has parens in it, \parenbrackglyphs will not be in
+% effect yet, so TeX would otherwise complain about undefined control
+% sequence.
{
\activeparens
\gdef\defcharsdefault{%
@@ -7963,49 +8107,28 @@
}
\globaldefs=1 \defcharsdefault
- \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
+ \gdef\parenbrackglyphs{\let(=\opnr\let)=\cpnr\let[=\lbrb\let]=\rbrb}
\gdef\magicamp{\let&=\amprm}
}
\let\ampchar\&
+\def\amprm#1 {{\rm\ }}
+
\newcount\parencount
-
-% If we encounter &foo, then turn on ()-hacking afterwards
-\newif\ifampseen
-\def\amprm#1 {\ampseentrue{\rm\ }}
-
-\def\parenfont{%
- \ifampseen
- % At the first level, print parens in roman,
- % otherwise use the default font.
- \ifnum \parencount=1 \rm \fi
- \else
- % The \sf parens (in \boldbrax) actually are a little bolder than
- % the contained text. This is especially needed for [ and ] .
- \sf
- \fi
-}
-\def\infirstlevel#1{%
- \ifampseen
- \ifnum\parencount=1
- #1%
- \fi
- \fi
-}
-\def\bfafterword#1 {#1 \bf}
-
+% opening and closing parentheses in roman font
\def\opnr{%
+ \ptexslash % italic correction
\global\advance\parencount by 1
- {\parenfont(}%
- \infirstlevel \bfafterword
+ {\sf(}%
}
-\def\clnr{%
- {\parenfont)}%
- \infirstlevel \sl
+\def\cpnr{%
+ \ptexslash % italic correction
+ {\sf)}%
\global\advance\parencount by -1
}
\newcount\brackcount
+% left and right square brackets in bold font
\def\lbrb{%
\global\advance\brackcount by 1
{\bf[}%
@@ -8535,7 +8658,7 @@
\expandafter\xdef\csname\the\macname\endcsname{%
\begingroup
\noexpand\spaceisspace
- \noexpand\endlineisspace
+ \noexpand\ignoreactivenewline
\noexpand\expandafter % skip any whitespace after the macro name.
\expandafter\noexpand\csname\the\macname @@@\endcsname}%
\expandafter\xdef\csname\the\macname @@@\endcsname{%
@@ -8836,8 +8959,13 @@
\ifx\lastnode\empty\else
\setref{\lastnode}{#1}%
\global\let\lastnode=\empty
+ \setnodeseenonce
\fi
}
+\def\setnodeseenonce{
+ \global\nodeseentrue
+ \let\setnodeseenonce\relax
+}
% @nodedescription, @nodedescriptionblock - do nothing for TeX
\parseargdef\nodedescription{}
@@ -9575,7 +9703,9 @@
% For pdfTeX and LuaTeX <= 0.80
\dopdfimage{#1}{#2}{#3}%
\else
- \ifx\XeTeXrevision\thisisundefined
+ \ifxetex
+ \doxeteximage{#1}{#2}{#3}%
+ \else
% For epsf.tex
% \epsfbox itself resets \epsf?size at each figure.
\setbox0 = \hbox{\ignorespaces #2}%
@@ -9583,9 +9713,6 @@
\setbox0 = \hbox{\ignorespaces #3}%
\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
\epsfbox{#1.eps}%
- \else
- % For XeTeX
- \doxeteximage{#1}{#2}{#3}%
\fi
\fi
%
@@ -9931,17 +10058,17 @@
\newif\iftxinativeunicodecapable
\newif\iftxiusebytewiseio
-\ifx\XeTeXrevision\thisisundefined
- \ifx\luatexversion\thisisundefined
+\ifxetex
+ \txinativeunicodecapabletrue
+ \txiusebytewiseiofalse
+\else
+ \ifluatex
+ \txinativeunicodecapabletrue
+ \txiusebytewiseiofalse
+ \else
\txinativeunicodecapablefalse
\txiusebytewiseiotrue
- \else
- \txinativeunicodecapabletrue
- \txiusebytewiseiofalse
\fi
-\else
- \txinativeunicodecapabletrue
- \txiusebytewiseiofalse
\fi
% Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex
@@ -9948,8 +10075,7 @@
% for non-UTF-8 (byte-wise) encodings.
%
\def\setbytewiseio{%
- \ifx\XeTeXrevision\thisisundefined
- \else
+ \ifxetex
\XeTeXdefaultencoding "bytes" % For subsequent files to be read
\XeTeXinputencoding "bytes" % For document root file
% Unfortunately, there seems to be no corresponding XeTeX command for
@@ -9958,8 +10084,7 @@
% place of non-ASCII characters.
\fi
- \ifx\luatexversion\thisisundefined
- \else
+ \ifluatex
\directlua{
local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub
local function convert_char (char)
@@ -10068,8 +10193,7 @@
\fi % lattwo
\fi % ascii
%
- \ifx\XeTeXrevision\thisisundefined
- \else
+ \ifxetex
\ifx \declaredencoding \utfeight
\else
\ifx \declaredencoding \ascii
@@ -10352,11 +10476,15 @@
\gdef\UTFviiiDefined#1{%
\ifx #1\relax
- \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
+ \ifutfviiidefinedwarning
+ \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
+ \fi
\else
\expandafter #1%
\fi
}
+\newif\ifutfviiidefinedwarning
+\utfviiidefinedwarningtrue
% Give non-ASCII bytes the active definitions for processing UTF-8 sequences
\begingroup
@@ -10366,8 +10494,8 @@
% Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp
% substituting ~ and $ with a character token of that value.
- \def\UTFviiiLoop{%
- \global\catcode\countUTFx\active
+ \gdef\UTFviiiLoop{%
+ \catcode\countUTFx\active
\uccode`\~\countUTFx
\uccode`\$\countUTFx
\uppercase\expandafter{\UTFviiiTmp}%
@@ -10375,7 +10503,7 @@
\ifnum\countUTFx < \countUTFy
\expandafter\UTFviiiLoop
\fi}
-
+ %
% For bytes other than the first in a UTF-8 sequence. Not expected to
% be expanded except when writing to auxiliary files.
\countUTFx = "80
@@ -10409,6 +10537,16 @@
\else\expandafter\UTFviiiFourOctets\expandafter$\fi
}}%
\UTFviiiLoop
+ %
+ % for pdftex only, used to expand ASCII to UTF-16BE.
+ \gdef\asciitounicode{%
+ \countUTFx = "20
+ \countUTFy = "80
+ \def\UTFviiiTmp{%
+ \def~{\nullbyte $}}%
+ \UTFviiiLoop
+ }
+ {\catcode0=11 \gdef\nullbyte{^^00}}%
\endgroup
\def\globallet{\global\let} % save some \expandafter's below
@@ -10433,8 +10571,8 @@
\fi
}
-% These macros are used here to construct the name of a control
-% sequence to be defined.
+% These macros are used here to construct the names of macros
+% that expand to the definitions for UTF-8 sequences.
\def\UTFviiiTwoOctetsName#1#2{%
\csname u8:#1\string #2\endcsname}%
\def\UTFviiiThreeOctetsName#1#2#3{%
@@ -10442,6 +10580,35 @@
\def\UTFviiiFourOctetsName#1#2#3#4{%
\csname u8:#1\string #2\string #3\string #4\endcsname}%
+% generate UTF-16 from codepoint
+\def\utfsixteentotoks#1#2{%
+ \countUTFz = "#2\relax
+ \ifnum \countUTFz > 65535
+ % doesn't work for codepoints > U+FFFF
+ % we don't define glyphs for any of these anyway, so it doesn't matter
+ #1={U+#2}%
+ \else
+ \countUTFx = \countUTFz
+ \divide\countUTFx by 256
+ \countUTFy = \countUTFx
+ \multiply\countUTFx by 256
+ \advance\countUTFz by -\countUTFx
+ \uccode`,=\countUTFy
+ \uccode`;=\countUTFz
+ \ifnum\countUTFy = 0
+ \uppercase{#1={\nullbyte\string;}}%
+ \else\ifnum\countUTFz = 0
+ \uppercase{#1={\string,\nullbyte}}%
+ \else
+ \uppercase{#1={\string,\string;}}%
+ \fi\fi
+ % NB \uppercase cannot insert a null byte
+ \fi
+}
+
+\newif\ifutfbytespdf
+\utfbytespdffalse
+
% For UTF-8 byte sequences (TeX, e-TeX and pdfTeX),
% provide a definition macro to replace a Unicode character;
% this gets used by the @U command
@@ -10458,18 +10625,22 @@
\countUTFz = "#1\relax
\begingroup
\parseXMLCharref
-
- % Give \u8:... its definition. The sequence of seven \expandafter's
- % expands after the \gdef three times, e.g.
%
+ % Completely expand \UTFviiiTmp, which looks like:
% 1. \UTFviiTwoOctetsName B1 B2
% 2. \csname u8:B1 \string B2 \endcsname
% 3. \u8: B1 B2 (a single control sequence token)
+ \xdef\UTFviiiTmp{\UTFviiiTmp}%
%
- \expandafter\expandafter
- \expandafter\expandafter
- \expandafter\expandafter
- \expandafter\gdef \UTFviiiTmp{#2}%
+ \ifpdf
+ \toksA={#2}%
+ \utfsixteentotoks\toksB{#1}%
+ \expandafter\xdef\UTFviiiTmp{%
+ \noexpand\ifutfbytespdf\noexpand\utfbytes{\the\toksB}%
+ \noexpand\else\the\toksA\noexpand\fi}%
+ \else
+ \expandafter\gdef\UTFviiiTmp{#2}%
+ \fi
%
\expandafter\ifx\csname uni:#1\endcsname \relax \else
\message{Internal error, already defined: #1}%
@@ -10479,8 +10650,9 @@
\expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
\endgroup}
%
- % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp
- % to the corresponding UTF-8 sequence.
+ % Given the value in \countUTFz as a Unicode code point, set
+ % \UTFviiiTmp to one of the \UTVviii*OctetsName macros followed by
+ % the corresponding UTF-8 sequence.
\gdef\parseXMLCharref{%
\ifnum\countUTFz < "20\relax
\errhelp = \EMsimple
@@ -10540,7 +10712,7 @@
}
% Suppress ligature creation from adjacent characters.
-\ifx\luatexversion\thisisundefined
+\ifluatex
\def\nolig{{}}
\else
% Braces do not suppress ligature creation in LuaTeX, e.g. in of{}fice
@@ -11325,6 +11497,25 @@
%
\global\mathchardef\checkmark="1370% actually the square root sign
\DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}%
+ %
+ % These are all the combining accents. We need these empty definitions
+ % at present for the sake of PDF outlines.
+ \DeclareUnicodeCharacter{0300}{}%
+ \DeclareUnicodeCharacter{0301}{}%
+ \DeclareUnicodeCharacter{0302}{}%
+ \DeclareUnicodeCharacter{0303}{}%
+ \DeclareUnicodeCharacter{0305}{}%
+ \DeclareUnicodeCharacter{0306}{}%
+ \DeclareUnicodeCharacter{0307}{}%
+ \DeclareUnicodeCharacter{0308}{}%
+ \DeclareUnicodeCharacter{030A}{}%
+ \DeclareUnicodeCharacter{030B}{}%
+ \DeclareUnicodeCharacter{030C}{}%
+ \DeclareUnicodeCharacter{0323}{}%
+ \DeclareUnicodeCharacter{0327}{}%
+ \DeclareUnicodeCharacter{0328}{}%
+ \DeclareUnicodeCharacter{0331}{}%
+ \DeclareUnicodeCharacter{0361}{}%
}% end of \unicodechardefs
% UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command)
@@ -11463,12 +11654,12 @@
\pdfhorigin = 1 true in
\pdfvorigin = 1 true in
\else
- \ifx\XeTeXrevision\thisisundefined
- \special{papersize=#8,#7}%
- \else
+ \ifxetex
\pdfpageheight #7\relax
\pdfpagewidth #8\relax
% XeTeX does not have \pdfhorigin and \pdfvorigin.
+ \else
+ \special{papersize=#8,#7}%
\fi
\fi
%
@@ -11668,8 +11859,14 @@
#1#2#3=\countB\relax
}
-\ifx\XeTeXrevision\thisisundefined
- \ifx\luatexversion\thisisundefined
+\ifxetex % XeTeX
+ \mtsetprotcode\textrm
+ \def\mtfontexpand#1{}
+\else
+ \ifluatex % LuaTeX
+ \mtsetprotcode\textrm
+ \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax}
+ \else
\ifpdf % pdfTeX
\mtsetprotcode\textrm
\def\mtfontexpand#1{\pdffontexpand#1 20 20 1 autoexpand\relax}
@@ -11676,13 +11873,7 @@
\else % TeX
\def\mtfontexpand#1{}
\fi
- \else % LuaTeX
- \mtsetprotcode\textrm
- \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax}
\fi
-\else % XeTeX
- \mtsetprotcode\textrm
- \def\mtfontexpand#1{}
\fi
@@ -11691,18 +11882,18 @@
\def\microtypeON{%
\microtypetrue
%
- \ifx\XeTeXrevision\thisisundefined
- \ifx\luatexversion\thisisundefined
+ \ifxetex % XeTeX
+ \XeTeXprotrudechars=2
+ \else
+ \ifluatex % LuaTeX
+ \adjustspacing=2
+ \protrudechars=2
+ \else
\ifpdf % pdfTeX
\pdfadjustspacing=2
\pdfprotrudechars=2
\fi
- \else % LuaTeX
- \adjustspacing=2
- \protrudechars=2
\fi
- \else % XeTeX
- \XeTeXprotrudechars=2
\fi
%
\mtfontexpand\textrm
@@ -11713,18 +11904,18 @@
\def\microtypeOFF{%
\microtypefalse
%
- \ifx\XeTeXrevision\thisisundefined
- \ifx\luatexversion\thisisundefined
+ \ifxetex % XeTeX
+ \XeTeXprotrudechars=0
+ \else
+ \ifluatex % LuaTeX
+ \adjustspacing=0
+ \protrudechars=0
+ \else
\ifpdf % pdfTeX
\pdfadjustspacing=0
\pdfprotrudechars=0
\fi
- \else % LuaTeX
- \adjustspacing=0
- \protrudechars=0
\fi
- \else % XeTeX
- \XeTeXprotrudechars=0
\fi
}
Modified: branches/stable/source/src/doc/tlbuild-incl/install-tl.texi
===================================================================
--- branches/stable/source/src/doc/tlbuild-incl/install-tl.texi 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/doc/tlbuild-incl/install-tl.texi 2025-02-15 16:07:47 UTC (rev 951)
@@ -660,8 +660,11 @@
@item @code{TL_DOWNLOAD_ARGS}
@anchor{install-tl @code{TL_DOWNLOAD_ARGS}}
-These override the normal choice of a download program; see the @code{tlmgr}
-documentation, e.g.,
+ at item @code{TEXLIVE_PREFER_OWN}
+ at anchor{install-tl @code{TEXLIVE_PREFER_OWN}}
+
+These override the normal choice of the download and other utility
+programs; see the @code{tlmgr} documentation, e.g.,
@url{https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES}.
@item @code{TEXLIVE_INSTALL_ENV_NOCHECK}
@@ -803,5 +806,5 @@
distribution (@url{https://tug.org/texlive}) and both are licensed under the
GNU General Public License Version 2 or later.
-$Id: install-tl 69711 2024-02-05 17:23:27Z karl $
+$Id: install-tl 73024 2024-12-03 17:12:38Z karl $
Modified: branches/stable/source/src/doc/tlbuild-incl/tlmgr.texi
===================================================================
--- branches/stable/source/src/doc/tlbuild-incl/tlmgr.texi 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/doc/tlbuild-incl/tlmgr.texi 2025-02-15 16:07:47 UTC (rev 951)
@@ -418,8 +418,8 @@
as any substring, and outputs bug-reporting and other information for
the package selected from the results.
-The search is equivalent to @code{tlmgr search --word --file @emph{search-string}.
-Thus, @emph{search-string} is interpreted as a (Perl) regular expression.}
+The search is equivalent to @code{tlmgr search --word --file} @emph{search-string}.
+Thus, @emph{search-string} is interpreted as a (Perl) regular expression.
@node tlmgr candidates @emph{pkg}
@appendixsubsec candidates @emph{pkg}
@@ -586,7 +586,7 @@
@anchor{tlmgr @strong{@asis{}- at asis{}- at asis{}json}}
Instead of dumping the actual content, the database is dumped as
-JSON. For the format of JSON output see @code{tlpkg/doc/JSON-formats.txt},
+JSON. For the format of JSON output see @code{tlpkg/doc/json-formats.txt},
format definition @code{TLPDB}.
@end table
@@ -625,7 +625,7 @@
The @code{generate} action overwrites any manual changes made in the
respective files: it recreates them from scratch based on the
-information of the installed packages, plus local adaptions.
+information of the installed packages, plus local adaptations.
The TeX Live installer and @code{tlmgr} routinely call @code{generate} for
all of these files.
@@ -789,6 +789,13 @@
When given with schemes and collections, @code{--list} outputs their
dependencies in a similar way.
+ at item @strong{@asis{}- at asis{}- at asis{}only-files}
+ at anchor{tlmgr @strong{@asis{}- at asis{}- at asis{}only-files}}
+
+If this option is given, only the files for a given package are listed,
+no further information. If more than one package name is given, each
+file list is preceded by the package name.
+
@item @strong{@asis{}- at asis{}- at asis{}only-installed}
@anchor{tlmgr @strong{@asis{}- at asis{}- at asis{}only-installed}}
@@ -832,11 +839,11 @@
@item @strong{@asis{}- at asis{}- at asis{}json}
@anchor{tlmgr @strong{@asis{}- at asis{}- at asis{}json} 1}
-In case @code{--json} is specified, the output is a JSON encoded array where
-each array element is the JSON representation of a single @code{TLPOBJ} but
-with additional information. For details see
- at code{tlpkg/doc/JSON-formats.txt}, format definition: @code{TLPOBJINFO}. If both
- at code{--json} and @code{--data} are given, @code{--json} takes precedence.
+If @code{--json} is specified, the output is a JSON encoded array where each
+array element is the JSON representation of a single @code{TLPOBJ} but with
+additional information. For details see @code{tlpkg/doc/json-formats.txt},
+format definition: @code{TLPOBJINFO}. If both @code{--json} and @code{--data} are
+given, @code{--json} takes precedence.
@end table
@@ -989,7 +996,7 @@
Both @code{show...} forms take an option @code{--json}, which dumps the option
information in JSON format. In this case, both forms dump the same
data. For the format of the JSON output see
- at code{tlpkg/doc/JSON-formats.txt}, format definition @code{TLOPTION}.
+ at code{tlpkg/doc/json-formats.txt}, format definition @code{TLOPTION}.
In the third form, with @emph{key}, if @emph{value} is not given, the setting
for @emph{key} is displayed. If @emph{value} is present, @emph{key} is set to
@@ -1075,7 +1082,7 @@
@code{desktop_integration} is set, then some packages will install items in
a sub-folder of the Start menu for @code{tlmgr gui}, documentation, etc. If
@code{fileassocs} is set, Windows file associations are made (see also the
- at code{postaction} action). Finally, if @code{multiuser} is set, then adaptions
+ at code{postaction} action). Finally, if @code{multiuser} is set, then changes
to the registry and the menus are done for all users on the system
instead of only the current user. All three options are on by default.
@@ -1114,7 +1121,7 @@
If @code{--json} is specified without other options, the paper setup is
dumped in JSON format. For the format of JSON output see
- at code{tlpkg/doc/JSON-formats.txt}, format definition @code{TLPAPER}.
+ at code{tlpkg/doc/json-formats.txt}, format definition @code{TLPAPER}.
Incidentally, this syntax of having a specific program name before the
@code{paper} keyword is unusual. It is inherited from the longstanding
@@ -1380,7 +1387,9 @@
@item @strong{repository status}
@anchor{tlmgr @strong{repository status}}
-This action manages the list of repositories. See @ref{,,, MULTIPLE_REPOSITORIES} below for detailed explanations.
+This action manages the list of repositories. See @url{https://metacpan.org/pod/MULTIPLE
+REPOSITORIES, MULTIPLE
+REPOSITORIES} below for detailed explanations.
The first form, @code{repository list}, lists all configured repositories
and the respective tags if set. If a path, url, or tag is given after
@@ -1478,10 +1487,11 @@
@item @strong{@asis{}- at asis{}- at asis{}json}
@anchor{tlmgr @strong{@asis{}- at asis{}- at asis{}json} 2}
-When listing backups, the option @code{--json} turn on JSON output.
-The format is an array of JSON objects (@code{name}, @code{rev}, @code{date}).
-For details see @code{tlpkg/doc/JSON-formats.txt}, format definition: @code{TLBACKUPS}.
-If both @code{--json} and @code{--data} are given, @code{--json} takes precedence.
+When listing backups, the option @code{--json} writes JSON output. The
+format is an array of JSON objects (@code{name}, @code{rev}, @code{date}). For
+details see @code{tlpkg/doc/json-formats.txt}, format definition:
+ at code{TLBACKUPS}. If both @code{--json} and @code{--data} are given, @code{--json} takes
+precedence.
@end table
@@ -1531,6 +1541,13 @@
@code{table} with this option will not output packages containing the word
@code{tables} (unless they also contain the word @code{table} on its own).
+ at item @strong{@asis{}- at asis{}- at asis{}json}
+ at anchor{tlmgr @strong{@asis{}- at asis{}- at asis{}json} 3}
+
+Output search results as a JSON hash with two keys: @strong{files} and
+ at strong{packages}. For the format of the JSON output see
+ at code{tlpkg/doc/json-formats.txt}, format definition @code{TLSEARCH}.
+
@end table
@end table
@@ -2700,18 +2717,5 @@
distribution (@url{https://tug.org/texlive}) and both are licensed under the
GNU General Public License Version 2 or later.
-$Id: tlmgr.pl 70001 2024-02-19 23:17:07Z karl $
+$Id: tlmgr.pl 73493 2025-01-17 22:28:29Z karl $
- at node tlmgr POD ERRORS
- at appendixsec POD ERRORS
-
-Hey! @strong{The above document had some coding errors, which are explained below:}
-
- at table @asis
- at item Around line 8454:
- at anchor{tlmgr Around line 8454 at asis{:}}
-
-Unterminated C<...> sequence
-
- at end table
-
Modified: branches/stable/source/src/doc/tlbuild.info
===================================================================
--- branches/stable/source/src/doc/tlbuild.info 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/doc/tlbuild.info 2025-02-15 16:07:47 UTC (rev 951)
@@ -2970,8 +2970,10 @@
'TL_DOWNLOAD_ARGS'
- These override the normal choice of a download program; see the
- 'tlmgr' documentation, e.g.,
+'TEXLIVE_PREFER_OWN'
+
+ These override the normal choice of the download and other utility
+ programs; see the 'tlmgr' documentation, e.g.,
<https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES>.
'TEXLIVE_INSTALL_ENV_NOCHECK'
@@ -3108,7 +3110,7 @@
distribution (<https://tug.org/texlive>) and both are licensed under the
GNU General Public License Version 2 or later.
- $Id: install-tl 69711 2024-02-05 17:23:27Z karl $
+ $Id: install-tl 73024 2024-12-03 17:12:38Z karl $
File: tlbuild.info, Node: tlmgr, Next: Index, Prev: install-tl, Up: Top
@@ -3132,7 +3134,6 @@
* tlmgr MACHINE-READABLE OUTPUT::
* tlmgr ENVIRONMENT VARIABLES::
* tlmgr AUTHORS AND COPYRIGHT::
-* tlmgr POD ERRORS::
File: tlbuild.info, Node: tlmgr NAME, Next: tlmgr SYNOPSIS, Up: tlmgr
@@ -3571,9 +3572,9 @@
as any substring, and outputs bug-reporting and other information for
the package selected from the results.
- The search is equivalent to 'tlmgr search --word --file
-_search-string_. Thus, _search-string_ is interpreted as a (Perl)
-regular expression.'
+ The search is equivalent to 'tlmgr search --word --file'
+_search-string_. Thus, _search-string_ is interpreted as a (Perl)
+regular expression.
File: tlbuild.info, Node: tlmgr candidates _pkg_, Next: tlmgr check [_option_...] [depends|executes|files|runfiles|texmfdbs|all], Prev: tlmgr bug [_search-string_], Up: tlmgr ACTIONS
@@ -3722,7 +3723,7 @@
Instead of dumping the actual content, the database is dumped as
JSON. For the format of JSON output see
- 'tlpkg/doc/JSON-formats.txt', format definition 'TLPDB'.
+ 'tlpkg/doc/json-formats.txt', format definition 'TLPDB'.
Exactly one of '--local' and '--remote' must be given.
@@ -3753,7 +3754,7 @@
The 'generate' action overwrites any manual changes made in the
respective files: it recreates them from scratch based on the
-information of the installed packages, plus local adaptions. The TeX
+information of the installed packages, plus local adaptations. The TeX
Live installer and 'tlmgr' routinely call 'generate' for all of these
files.
@@ -3903,6 +3904,12 @@
collections, '--list' outputs their dependencies in a similar
way.
+ *--only-files*
+
+ If this option is given, only the files for a given package
+ are listed, no further information. If more than one package
+ name is given, each file list is preceded by the package name.
+
*--only-installed*
If this option is given, the installation source will not be
@@ -3945,10 +3952,10 @@
*--json*
- In case '--json' is specified, the output is a JSON encoded
- array where each array element is the JSON representation of a
+ If '--json' is specified, the output is a JSON encoded array
+ where each array element is the JSON representation of a
single 'TLPOBJ' but with additional information. For details
- see 'tlpkg/doc/JSON-formats.txt', format definition:
+ see 'tlpkg/doc/json-formats.txt', format definition:
'TLPOBJINFO'. If both '--json' and '--data' are given,
'--json' takes precedence.
@@ -4091,7 +4098,7 @@
Both 'show...' forms take an option '--json', which dumps the option
information in JSON format. In this case, both forms dump the same
data. For the format of the JSON output see
-'tlpkg/doc/JSON-formats.txt', format definition 'TLOPTION'.
+'tlpkg/doc/json-formats.txt', format definition 'TLOPTION'.
In the third form, with _key_, if _value_ is not given, the setting
for _key_ is displayed. If _value_ is present, _key_ is set to _value_.
@@ -4170,7 +4177,7 @@
'desktop_integration' is set, then some packages will install items in a
sub-folder of the Start menu for 'tlmgr gui', documentation, etc. If
'fileassocs' is set, Windows file associations are made (see also the
-'postaction' action). Finally, if 'multiuser' is set, then adaptions to
+'postaction' action). Finally, if 'multiuser' is set, then changes to
the registry and the menus are done for all users on the system instead
of only the current user. All three options are on by default.
@@ -4206,7 +4213,7 @@
If '--json' is specified without other options, the paper setup is
dumped in JSON format. For the format of JSON output see
-'tlpkg/doc/JSON-formats.txt', format definition 'TLPAPER'.
+'tlpkg/doc/json-formats.txt', format definition 'TLPAPER'.
Incidentally, this syntax of having a specific program name before
the 'paper' keyword is unusual. It is inherited from the longstanding
@@ -4456,8 +4463,9 @@
*repository status*
- This action manages the list of repositories. See *note
- (MULTIPLE_REPOSITORIES)Top:: below for detailed explanations.
+ This action manages the list of repositories. See MULTIPLE
+ REPOSITORIES (https://metacpan.org/pod/MULTIPLE REPOSITORIES) below
+ for detailed explanations.
The first form, 'repository list', lists all configured
repositories and the respective tags if set. If a path, url, or
@@ -4547,9 +4555,9 @@
*--json*
- When listing backups, the option '--json' turn on JSON output.
+ When listing backups, the option '--json' writes JSON output.
The format is an array of JSON objects ('name', 'rev',
- 'date'). For details see 'tlpkg/doc/JSON-formats.txt', format
+ 'date'). For details see 'tlpkg/doc/json-formats.txt', format
definition: 'TLBACKUPS'. If both '--json' and '--data' are
given, '--json' takes precedence.
@@ -4592,6 +4600,12 @@
containing the word 'tables' (unless they also contain the
word 'table' on its own).
+ *--json*
+
+ Output search results as a JSON hash with two keys: *files*
+ and *packages*. For the format of the JSON output see
+ 'tlpkg/doc/json-formats.txt', format definition 'TLSEARCH'.
+
File: tlbuild.info, Node: tlmgr shell, Next: tlmgr show, Prev: tlmgr search, Up: tlmgr ACTIONS
@@ -5736,7 +5750,7 @@
used, regardless of any setting.
-File: tlbuild.info, Node: tlmgr AUTHORS AND COPYRIGHT, Next: tlmgr POD ERRORS, Prev: tlmgr ENVIRONMENT VARIABLES, Up: tlmgr
+File: tlbuild.info, Node: tlmgr AUTHORS AND COPYRIGHT, Prev: tlmgr ENVIRONMENT VARIABLES, Up: tlmgr
B.14 AUTHORS AND COPYRIGHT
==========================
@@ -5745,22 +5759,9 @@
distribution (<https://tug.org/texlive>) and both are licensed under the
GNU General Public License Version 2 or later.
- $Id: tlmgr.pl 70001 2024-02-19 23:17:07Z karl $
+ $Id: tlmgr.pl 73493 2025-01-17 22:28:29Z karl $
-File: tlbuild.info, Node: tlmgr POD ERRORS, Prev: tlmgr AUTHORS AND COPYRIGHT, Up: tlmgr
-
-B.15 POD ERRORS
-===============
-
-Hey! *The above document had some coding errors, which are explained
-below:*
-
-Around line 8454:
-
- Unterminated C<...> sequence
-
-
File: tlbuild.info, Node: Index, Prev: tlmgr, Up: Top
Index
@@ -6513,288 +6514,289 @@
Ref: install-tl TEXLIVE_DOWNLOADER117710
Ref: install-tl TL_DOWNLOAD_PROGRAM117733
Ref: install-tl TL_DOWNLOAD_ARGS117753
-Ref: install-tl TEXLIVE_INSTALL_ENV_NOCHECK117957
-Ref: install-tl TEXLIVE_INSTALL_NO_CONTEXT_CACHE118159
-Ref: install-tl TEXLIVE_INSTALL_NO_DISKCHECK118271
-Ref: install-tl TEXLIVE_INSTALL_NO_RESUME118687
-Ref: install-tl TEXLIVE_INSTALL_NO_WELCOME118839
-Ref: install-tl TEXLIVE_INSTALL_PAPER118960
-Ref: install-tl TEXLIVE_INSTALL_PREFIX119106
-Ref: install-tl TEXLIVE_INSTALL_TEXMFCONFIG119137
-Ref: install-tl TEXLIVE_INSTALL_TEXMFVAR119165
-Ref: install-tl TEXLIVE_INSTALL_TEXMFHOME119194
-Ref: install-tl TEXLIVE_INSTALL_TEXMFLOCAL119224
-Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSCONFIG119258
-Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSVAR119289
-Node: install-tl DIRECTORY TREES119727
-Node: install-tl BUGS122311
-Node: install-tl AUTHORS AND COPYRIGHT123191
-Node: tlmgr123589
-Node: tlmgr NAME124095
-Node: tlmgr SYNOPSIS124239
-Node: tlmgr DESCRIPTION124441
-Node: tlmgr EXAMPLES125552
-Ref: tlmgr tlmgr option repository ctan125815
-Ref: tlmgr tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet125888
-Ref: tlmgr tlmgr update --list126493
-Ref: tlmgr tlmgr update --all126586
-Ref: tlmgr tlmgr info _what_126743
-Ref: tlmgr tlmgr bug _what_126921
-Node: tlmgr OPTIONS127116
-Ref: tlmgr *--repository* _url|path_127649
-Ref: tlmgr /some/local/dir128835
-Ref: tlmgr file:/some/local/dir128864
-Ref: tlmgr ctan128937
-Ref: tlmgr https://mirror.ctan.org/systems/texlive/tlnet128991
-Ref: tlmgr http://server/path/to/tlnet129332
-Ref: tlmgr https://server/path/to/tlnet129713
-Ref: tlmgr ftp://server/path/to/tlnet130181
-Ref: tlmgr user at machine:/path/to/tlnet130313
-Ref: tlmgr scp://user@machine/path/to/tlnet130354
-Ref: tlmgr ssh://user@machine/path/to/tlnet130395
-Ref: tlmgr *--gui* [_action_]130789
-Ref: tlmgr *--gui-lang* _llcode_131603
-Ref: tlmgr *--command-logfile* _file_132345
-Ref: tlmgr *--debug-translation*132612
-Ref: tlmgr *--machine-readable*132816
-Ref: tlmgr *--no-execute-actions*133085
-Ref: tlmgr *--package-logfile* _file_133279
-Ref: tlmgr *--pause*133534
-Ref: tlmgr *--persistent-downloads*133690
-Ref: tlmgr *--no-persistent-downloads*133719
-Ref: tlmgr *--pin-file*134214
-Ref: tlmgr *--usermode*134433
-Ref: tlmgr *--usertree* _dir_134554
-Ref: tlmgr *--verify-repo=[none|main|all]*134681
-Node: tlmgr ACTIONS135580
-Node: tlmgr help136473
-Node: tlmgr version136950
-Node: tlmgr backup137213
-Ref: tlmgr *backup [_option_...] --all*137390
-Ref: tlmgr *backup [_option_...] _pkg_...*137423
-Ref: tlmgr *--backupdir* _directory_138490
-Ref: tlmgr *--all*138708
-Ref: tlmgr *--clean*[=_N_]138961
-Ref: tlmgr *--dry-run*139289
-Node: tlmgr bug [_search-string_]139419
-Node: tlmgr candidates _pkg_140005
-Node: tlmgr check [_option_...] [depends|executes|files|runfiles|texmfdbs|all]140375
-Ref: tlmgr *depends*140889
-Ref: tlmgr *executes*141231
-Ref: tlmgr *files*141346
-Ref: tlmgr *runfiles*141482
-Ref: tlmgr *texmfdbs*141619
-Ref: tlmgr - all items in TEXMFDBS have the !! prefix.141849
-Ref: tlmgr - all items in TEXMFBDS have an ls-R file (if they exist at all).141925
-Ref: tlmgr - all items in TEXMF with !! are listed in TEXMFDBS.141990
-Ref: tlmgr - all items in TEXMF with an ls-R file are listed in TEXMFDBS.142065
-Ref: tlmgr *--use-svn*142091
-Node: tlmgr conf142232
-Ref: tlmgr *conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]*142522
-Ref: tlmgr *conf auxtrees [--conffile _file_] [show|add|remove] [_value_]*142587
-Node: tlmgr dump-tlpdb [_option_...] [--json]145003
-Ref: tlmgr *--local*145439
-Ref: tlmgr *--remote*145479
-Ref: tlmgr *--json*145518
-Node: tlmgr generate146090
-Ref: tlmgr *generate [_option_...] language*146286
-Ref: tlmgr *generate [_option_...] language.dat*146325
-Ref: tlmgr *generate [_option_...] language.def*146364
-Ref: tlmgr *generate [_option_...] language.dat.lua*146407
-Ref: tlmgr *--dest* _output_file_148735
-Ref: tlmgr *--localcfg* _local_conf_file_149312
-Ref: tlmgr *--rebuild-sys*149436
-Node: tlmgr gui150251
-Node: tlmgr info150431
-Ref: tlmgr *info [_option_...] _pkg_...*150593
-Ref: tlmgr *info [_option_...] collections*150627
-Ref: tlmgr *info [_option_...] schemes*150657
-Ref: tlmgr *--list*152188
-Ref: tlmgr *--only-installed*152503
-Ref: tlmgr *--only-remote*152692
-Ref: tlmgr *--data item1,item2,...*152997
-Ref: tlmgr *--json* 1154370
-Node: tlmgr init-usertree154753
-Node: tlmgr install [_option_...] _pkg_...155134
-Ref: tlmgr *--dry-run* 1155643
-Ref: tlmgr *--file*155761
-Ref: tlmgr *--force*155984
-Ref: tlmgr *--no-depends*156205
-Ref: tlmgr *--no-depends-at-all*156365
-Ref: tlmgr *--reinstall*156766
-Ref: tlmgr *--with-doc*157145
-Ref: tlmgr *--with-src*157159
-Node: tlmgr key157887
-Ref: tlmgr *key list*158045
-Ref: tlmgr *key add _file_*158063
-Ref: tlmgr *key remove _keyid_*158085
-Node: tlmgr list158679
-Node: tlmgr option158841
-Ref: tlmgr *option [--json] [show]*158997
-Ref: tlmgr *option [--json] showall|help*159029
-Ref: tlmgr *option _key_ [_value_]*159055
-Node: tlmgr paper163634
-Ref: tlmgr *paper [a4|letter]*163783
-Ref: tlmgr *<[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*>163860
-Ref: tlmgr *paper --json*163876
-Node: tlmgr path165091
-Ref: tlmgr *path [--windowsmode=user|admin] add*165257
-Ref: tlmgr *path [--windowsmode=user|admin] remove*165299
-Node: tlmgr pinning166814
-Ref: tlmgr pinning show167055
-Ref: tlmgr pinning add _repo_ _pkgglob_...167128
-Ref: tlmgr pinning remove _repo_ _pkgglob_...167247
-Ref: tlmgr pinning remove _repo_ --all167400
-Node: tlmgr platform167454
-Ref: tlmgr *platform list|add|remove _platform_...*167640
-Ref: tlmgr *platform set _platform_*167667
-Ref: tlmgr *platform set auto*167688
-Ref: tlmgr *--dry-run* 2168566
-Node: tlmgr postaction168685
-Ref: tlmgr *postaction [_option_...] install [shortcut|fileassoc|script] [_pkg_...]*168915
-Ref: tlmgr *postaction [_option_...] remove [shortcut|fileassoc|script] [_pkg_...]*168989
-Ref: tlmgr *--windowsmode=[user|admin]*169309
-Ref: tlmgr *--fileassocmode=[1|2]*169734
-Ref: tlmgr *--all* 1170020
-Node: tlmgr print-platform170075
-Node: tlmgr print-platform-info170406
-Node: tlmgr remove [_option_...] _pkg_...170706
-Ref: tlmgr *--all* 2171191
-Ref: tlmgr *--backup*171302
-Ref: tlmgr *--backupdir* _directory_ 1171329
-Ref: tlmgr *--no-depends* 1171734
-Ref: tlmgr *--no-depends-at-all* 1171797
-Ref: tlmgr *--force* 1171904
-Ref: tlmgr *--dry-run* 3172378
-Node: tlmgr repository172755
-Ref: tlmgr *repository list*172943
-Ref: tlmgr *repository list _path|url|tag_*172977
-Ref: tlmgr *repository add _path_ [_tag_]*173010
-Ref: tlmgr *repository remove _path|tag_*173042
-Ref: tlmgr *repository set _path_[#_tag_] [_path_[#_tag_] ...]*173096
-Ref: tlmgr *repository status*173117
-Ref: tlmgr The tag (which can be the same as the url);174347
-Node: tlmgr restore174825
-Ref: tlmgr *restore [_option_...] _pkg_ [_rev_]*175004
-Ref: tlmgr *restore [_option_...] --all*175035
-Ref: tlmgr *--all* 3175736
-Ref: tlmgr *--backupdir* _directory_ 2175951
-Ref: tlmgr *--dry-run* 4176133
-Ref: tlmgr *--force* 2176266
-Ref: tlmgr *--json* 2176313
-Node: tlmgr search176640
-Ref: tlmgr *search [_option_...] _what_*176804
-Ref: tlmgr *search [_option_...] --file _what_*176842
-Ref: tlmgr *search [_option_...] --all _what_*176879
-Ref: tlmgr *--file* 1177100
-Ref: tlmgr *--all* 4177163
-Ref: tlmgr *--global*177253
-Ref: tlmgr *--word*177381
-Node: tlmgr shell177696
-Ref: tlmgr protocol178431
-Ref: tlmgr help 1178495
-Ref: tlmgr version 1178548
-Ref: tlmgr quit, end, bye, byebye, EOF178616
-Ref: tlmgr restart178637
-Ref: tlmgr load [local|remote]178760
-Ref: tlmgr save178830
-Ref: tlmgr get [_var_] =item set [_var_ [_val_]]178953
-Node: tlmgr show179554
-Node: tlmgr uninstall179721
-Node: tlmgr update [_option_...] [_pkg_...]179953
-Ref: tlmgr *--all* 5180325
-Ref: tlmgr *--self*182505
-Ref: tlmgr *--dry-run* 5183270
-Ref: tlmgr *--list* [_pkg_]183448
-Ref: tlmgr *--exclude* _pkg_184138
-Ref: tlmgr *--no-auto-remove* [_pkg_...]184939
-Ref: tlmgr *--no-auto-install* [_pkg_...]185424
-Ref: tlmgr *--reinstall-forcibly-removed*186187
-Ref: tlmgr *--backup* 1186723
-Ref: tlmgr *--backupdir* _directory_ 3186750
-Ref: tlmgr *--no-depends* 2187917
-Ref: tlmgr *--no-depends-at-all* 2188121
-Ref: tlmgr *--force* 3188228
-Node: tlmgr CONFIGURATION FILE FOR TLMGR189219
-Ref: tlmgr auto-remove = 0 or 1 (default 1), same as command-line option.190221
-Ref: tlmgr gui-expertmode = 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.190353
-Ref: tlmgr gui-lang = _llcode_, with a language code value as with the command-line option.190437
-Ref: tlmgr no-checksums = 0 or 1 (default 0, see below).190486
-Ref: tlmgr persistent-downloads = 0 or 1 (default 1), same as command-line option.190561
-Ref: tlmgr require-verification = 0 or 1 (default 0), same as command-line option.190636
-Ref: tlmgr tkfontscale = _floating-point number_ (default 1.0); scaling factor for fonts in the Tk-based frontends.190744
-Ref: tlmgr update-exclude = _comma-separated list of packages_ (no spaces allowed). Same as the command line option --exclude for the update action.190889
-Ref: tlmgr verify-downloads = 0 or 1 (default 1), same as command-line option.190960
-Ref: tlmgr allowed-actions = _action1_[,_action2_,...] The value is a comma-separated list (no spaces) of tlmgr actions which are allowed to be executed when tlmgr is invoked in system mode (that is, without --usermode). This allows distributors to include tlmgr in their packaging, but allow only a restricted set of actions that do not interfere with their distro package manager. For native TeX Live installations, it doesn't make sense to set this.191477
-Node: tlmgr CRYPTOGRAPHIC VERIFICATION192309
-Node: tlmgr Configuration of GnuPG invocation194482
-Node: tlmgr USER MODE195120
-Node: tlmgr User mode install197991
-Node: tlmgr User mode backup, restore, remove, update199137
-Node: tlmgr User mode generate, option, paper199583
-Node: tlmgr User mode logs199950
-Node: tlmgr MULTIPLE REPOSITORIES200248
-Node: tlmgr Pinning201977
-Node: tlmgr GUI FOR TLMGR203900
-Node: tlmgr Main display205549
-Node: tlmgr Display configuration area205801
-Ref: tlmgr Status206162
-Ref: tlmgr Category206326
-Ref: tlmgr Match206512
-Ref: tlmgr Selection206693
-Ref: tlmgr Display configuration buttons206897
-Node: tlmgr Package list area207080
-Ref: tlmgr a checkbox207664
-Ref: tlmgr package name207800
-Ref: tlmgr local revision (and version)207899
-Ref: tlmgr remote revision (and version)208274
-Ref: tlmgr short description208571
-Node: tlmgr Main display action buttons208616
-Ref: tlmgr Update all installed208882
-Ref: tlmgr Update209254
-Ref: tlmgr Install209304
-Ref: tlmgr Remove209490
-Ref: tlmgr Backup209668
-Node: tlmgr Menu bar209825
-Ref: tlmgr tlmgr menu210048
-Ref: tlmgr Options menu210356
-Ref: tlmgr Actions menu211439
-Ref: tlmgr Help menu211867
-Node: tlmgr GUI options212001
-Ref: tlmgr -background _color_212247
-Ref: tlmgr -font " _fontname_ _fontsize_ "212312
-Ref: tlmgr -foreground _color_212470
-Ref: tlmgr -geometry _geomspec_212522
-Ref: tlmgr -xrm _xresource_212714
-Node: tlmgr MACHINE-READABLE OUTPUT212983
-Node: tlmgr Machine-readable update and install output213797
-Ref: tlmgr location-url _location_215073
-Ref: tlmgr total-bytes _count_215289
-Ref: tlmgr _pkgname_215699
-Ref: tlmgr _status_215909
-Ref: tlmgr d215987
-Ref: tlmgr f216047
-Ref: tlmgr u216226
-Ref: tlmgr r216272
-Ref: tlmgr a216395
-Ref: tlmgr i216573
-Ref: tlmgr I216692
-Ref: tlmgr _localrev_216794
-Ref: tlmgr _serverrev_216901
-Ref: tlmgr _size_217013
-Ref: tlmgr _runtime_217182
-Ref: tlmgr _esttot_217252
-Node: tlmgr Machine-readable option output217285
-Node: tlmgr ENVIRONMENT VARIABLES217797
-Ref: tlmgr TEXLIVE_COMPRESSOR218308
-Ref: tlmgr TEXLIVE_DOWNLOADER219156
-Ref: tlmgr TL_DOWNLOAD_PROGRAM219179
-Ref: tlmgr TL_DOWNLOAD_ARGS219199
-Ref: tlmgr TEXLIVE_PREFER_OWN220225
-Node: tlmgr AUTHORS AND COPYRIGHT221049
-Node: tlmgr POD ERRORS221472
-Ref: tlmgr Around line 8454:221697
-Node: Index221733
+Ref: install-tl TEXLIVE_PREFER_OWN117775
+Ref: install-tl TEXLIVE_INSTALL_ENV_NOCHECK118000
+Ref: install-tl TEXLIVE_INSTALL_NO_CONTEXT_CACHE118202
+Ref: install-tl TEXLIVE_INSTALL_NO_DISKCHECK118314
+Ref: install-tl TEXLIVE_INSTALL_NO_RESUME118730
+Ref: install-tl TEXLIVE_INSTALL_NO_WELCOME118882
+Ref: install-tl TEXLIVE_INSTALL_PAPER119003
+Ref: install-tl TEXLIVE_INSTALL_PREFIX119149
+Ref: install-tl TEXLIVE_INSTALL_TEXMFCONFIG119180
+Ref: install-tl TEXLIVE_INSTALL_TEXMFVAR119208
+Ref: install-tl TEXLIVE_INSTALL_TEXMFHOME119237
+Ref: install-tl TEXLIVE_INSTALL_TEXMFLOCAL119267
+Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSCONFIG119301
+Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSVAR119332
+Node: install-tl DIRECTORY TREES119770
+Node: install-tl BUGS122354
+Node: install-tl AUTHORS AND COPYRIGHT123234
+Node: tlmgr123632
+Node: tlmgr NAME124117
+Node: tlmgr SYNOPSIS124261
+Node: tlmgr DESCRIPTION124463
+Node: tlmgr EXAMPLES125574
+Ref: tlmgr tlmgr option repository ctan125837
+Ref: tlmgr tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet125910
+Ref: tlmgr tlmgr update --list126515
+Ref: tlmgr tlmgr update --all126608
+Ref: tlmgr tlmgr info _what_126765
+Ref: tlmgr tlmgr bug _what_126943
+Node: tlmgr OPTIONS127138
+Ref: tlmgr *--repository* _url|path_127671
+Ref: tlmgr /some/local/dir128857
+Ref: tlmgr file:/some/local/dir128886
+Ref: tlmgr ctan128959
+Ref: tlmgr https://mirror.ctan.org/systems/texlive/tlnet129013
+Ref: tlmgr http://server/path/to/tlnet129354
+Ref: tlmgr https://server/path/to/tlnet129735
+Ref: tlmgr ftp://server/path/to/tlnet130203
+Ref: tlmgr user at machine:/path/to/tlnet130335
+Ref: tlmgr scp://user@machine/path/to/tlnet130376
+Ref: tlmgr ssh://user@machine/path/to/tlnet130417
+Ref: tlmgr *--gui* [_action_]130811
+Ref: tlmgr *--gui-lang* _llcode_131625
+Ref: tlmgr *--command-logfile* _file_132367
+Ref: tlmgr *--debug-translation*132634
+Ref: tlmgr *--machine-readable*132838
+Ref: tlmgr *--no-execute-actions*133107
+Ref: tlmgr *--package-logfile* _file_133301
+Ref: tlmgr *--pause*133556
+Ref: tlmgr *--persistent-downloads*133712
+Ref: tlmgr *--no-persistent-downloads*133741
+Ref: tlmgr *--pin-file*134236
+Ref: tlmgr *--usermode*134455
+Ref: tlmgr *--usertree* _dir_134576
+Ref: tlmgr *--verify-repo=[none|main|all]*134703
+Node: tlmgr ACTIONS135602
+Node: tlmgr help136495
+Node: tlmgr version136972
+Node: tlmgr backup137235
+Ref: tlmgr *backup [_option_...] --all*137412
+Ref: tlmgr *backup [_option_...] _pkg_...*137445
+Ref: tlmgr *--backupdir* _directory_138512
+Ref: tlmgr *--all*138730
+Ref: tlmgr *--clean*[=_N_]138983
+Ref: tlmgr *--dry-run*139311
+Node: tlmgr bug [_search-string_]139441
+Node: tlmgr candidates _pkg_140028
+Node: tlmgr check [_option_...] [depends|executes|files|runfiles|texmfdbs|all]140398
+Ref: tlmgr *depends*140912
+Ref: tlmgr *executes*141254
+Ref: tlmgr *files*141369
+Ref: tlmgr *runfiles*141505
+Ref: tlmgr *texmfdbs*141642
+Ref: tlmgr - all items in TEXMFDBS have the !! prefix.141872
+Ref: tlmgr - all items in TEXMFBDS have an ls-R file (if they exist at all).141948
+Ref: tlmgr - all items in TEXMF with !! are listed in TEXMFDBS.142013
+Ref: tlmgr - all items in TEXMF with an ls-R file are listed in TEXMFDBS.142088
+Ref: tlmgr *--use-svn*142114
+Node: tlmgr conf142255
+Ref: tlmgr *conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]*142545
+Ref: tlmgr *conf auxtrees [--conffile _file_] [show|add|remove] [_value_]*142610
+Node: tlmgr dump-tlpdb [_option_...] [--json]145026
+Ref: tlmgr *--local*145462
+Ref: tlmgr *--remote*145502
+Ref: tlmgr *--json*145541
+Node: tlmgr generate146113
+Ref: tlmgr *generate [_option_...] language*146309
+Ref: tlmgr *generate [_option_...] language.dat*146348
+Ref: tlmgr *generate [_option_...] language.def*146387
+Ref: tlmgr *generate [_option_...] language.dat.lua*146430
+Ref: tlmgr *--dest* _output_file_148760
+Ref: tlmgr *--localcfg* _local_conf_file_149337
+Ref: tlmgr *--rebuild-sys*149461
+Node: tlmgr gui150276
+Node: tlmgr info150456
+Ref: tlmgr *info [_option_...] _pkg_...*150618
+Ref: tlmgr *info [_option_...] collections*150652
+Ref: tlmgr *info [_option_...] schemes*150682
+Ref: tlmgr *--list*152213
+Ref: tlmgr *--only-files*152524
+Ref: tlmgr *--only-installed*152765
+Ref: tlmgr *--only-remote*152954
+Ref: tlmgr *--data item1,item2,...*153259
+Ref: tlmgr *--json* 1154632
+Node: tlmgr init-usertree155010
+Node: tlmgr install [_option_...] _pkg_...155391
+Ref: tlmgr *--dry-run* 1155900
+Ref: tlmgr *--file*156018
+Ref: tlmgr *--force*156241
+Ref: tlmgr *--no-depends*156462
+Ref: tlmgr *--no-depends-at-all*156622
+Ref: tlmgr *--reinstall*157023
+Ref: tlmgr *--with-doc*157402
+Ref: tlmgr *--with-src*157416
+Node: tlmgr key158144
+Ref: tlmgr *key list*158302
+Ref: tlmgr *key add _file_*158320
+Ref: tlmgr *key remove _keyid_*158342
+Node: tlmgr list158936
+Node: tlmgr option159098
+Ref: tlmgr *option [--json] [show]*159254
+Ref: tlmgr *option [--json] showall|help*159286
+Ref: tlmgr *option _key_ [_value_]*159312
+Node: tlmgr paper163889
+Ref: tlmgr *paper [a4|letter]*164038
+Ref: tlmgr *<[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*>164115
+Ref: tlmgr *paper --json*164131
+Node: tlmgr path165346
+Ref: tlmgr *path [--windowsmode=user|admin] add*165512
+Ref: tlmgr *path [--windowsmode=user|admin] remove*165554
+Node: tlmgr pinning167069
+Ref: tlmgr pinning show167310
+Ref: tlmgr pinning add _repo_ _pkgglob_...167383
+Ref: tlmgr pinning remove _repo_ _pkgglob_...167502
+Ref: tlmgr pinning remove _repo_ --all167655
+Node: tlmgr platform167709
+Ref: tlmgr *platform list|add|remove _platform_...*167895
+Ref: tlmgr *platform set _platform_*167922
+Ref: tlmgr *platform set auto*167943
+Ref: tlmgr *--dry-run* 2168821
+Node: tlmgr postaction168940
+Ref: tlmgr *postaction [_option_...] install [shortcut|fileassoc|script] [_pkg_...]*169170
+Ref: tlmgr *postaction [_option_...] remove [shortcut|fileassoc|script] [_pkg_...]*169244
+Ref: tlmgr *--windowsmode=[user|admin]*169564
+Ref: tlmgr *--fileassocmode=[1|2]*169989
+Ref: tlmgr *--all* 1170275
+Node: tlmgr print-platform170330
+Node: tlmgr print-platform-info170661
+Node: tlmgr remove [_option_...] _pkg_...170961
+Ref: tlmgr *--all* 2171446
+Ref: tlmgr *--backup*171557
+Ref: tlmgr *--backupdir* _directory_ 1171584
+Ref: tlmgr *--no-depends* 1171989
+Ref: tlmgr *--no-depends-at-all* 1172052
+Ref: tlmgr *--force* 1172159
+Ref: tlmgr *--dry-run* 3172633
+Node: tlmgr repository173010
+Ref: tlmgr *repository list*173198
+Ref: tlmgr *repository list _path|url|tag_*173232
+Ref: tlmgr *repository add _path_ [_tag_]*173265
+Ref: tlmgr *repository remove _path|tag_*173297
+Ref: tlmgr *repository set _path_[#_tag_] [_path_[#_tag_] ...]*173351
+Ref: tlmgr *repository status*173372
+Ref: tlmgr The tag (which can be the same as the url);174643
+Node: tlmgr restore175121
+Ref: tlmgr *restore [_option_...] _pkg_ [_rev_]*175300
+Ref: tlmgr *restore [_option_...] --all*175331
+Ref: tlmgr *--all* 3176032
+Ref: tlmgr *--backupdir* _directory_ 2176247
+Ref: tlmgr *--dry-run* 4176429
+Ref: tlmgr *--force* 2176562
+Ref: tlmgr *--json* 2176609
+Node: tlmgr search176935
+Ref: tlmgr *search [_option_...] _what_*177099
+Ref: tlmgr *search [_option_...] --file _what_*177137
+Ref: tlmgr *search [_option_...] --all _what_*177174
+Ref: tlmgr *--file* 1177395
+Ref: tlmgr *--all* 4177458
+Ref: tlmgr *--global*177548
+Ref: tlmgr *--word*177676
+Ref: tlmgr *--json* 3178005
+Node: tlmgr shell178212
+Ref: tlmgr protocol178947
+Ref: tlmgr help 1179011
+Ref: tlmgr version 1179064
+Ref: tlmgr quit, end, bye, byebye, EOF179132
+Ref: tlmgr restart179153
+Ref: tlmgr load [local|remote]179276
+Ref: tlmgr save179346
+Ref: tlmgr get [_var_] =item set [_var_ [_val_]]179469
+Node: tlmgr show180070
+Node: tlmgr uninstall180237
+Node: tlmgr update [_option_...] [_pkg_...]180469
+Ref: tlmgr *--all* 5180841
+Ref: tlmgr *--self*183021
+Ref: tlmgr *--dry-run* 5183786
+Ref: tlmgr *--list* [_pkg_]183964
+Ref: tlmgr *--exclude* _pkg_184654
+Ref: tlmgr *--no-auto-remove* [_pkg_...]185455
+Ref: tlmgr *--no-auto-install* [_pkg_...]185940
+Ref: tlmgr *--reinstall-forcibly-removed*186703
+Ref: tlmgr *--backup* 1187239
+Ref: tlmgr *--backupdir* _directory_ 3187266
+Ref: tlmgr *--no-depends* 2188433
+Ref: tlmgr *--no-depends-at-all* 2188637
+Ref: tlmgr *--force* 3188744
+Node: tlmgr CONFIGURATION FILE FOR TLMGR189735
+Ref: tlmgr auto-remove = 0 or 1 (default 1), same as command-line option.190737
+Ref: tlmgr gui-expertmode = 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.190869
+Ref: tlmgr gui-lang = _llcode_, with a language code value as with the command-line option.190953
+Ref: tlmgr no-checksums = 0 or 1 (default 0, see below).191002
+Ref: tlmgr persistent-downloads = 0 or 1 (default 1), same as command-line option.191077
+Ref: tlmgr require-verification = 0 or 1 (default 0), same as command-line option.191152
+Ref: tlmgr tkfontscale = _floating-point number_ (default 1.0); scaling factor for fonts in the Tk-based frontends.191260
+Ref: tlmgr update-exclude = _comma-separated list of packages_ (no spaces allowed). Same as the command line option --exclude for the update action.191405
+Ref: tlmgr verify-downloads = 0 or 1 (default 1), same as command-line option.191476
+Ref: tlmgr allowed-actions = _action1_[,_action2_,...] The value is a comma-separated list (no spaces) of tlmgr actions which are allowed to be executed when tlmgr is invoked in system mode (that is, without --usermode). This allows distributors to include tlmgr in their packaging, but allow only a restricted set of actions that do not interfere with their distro package manager. For native TeX Live installations, it doesn't make sense to set this.191993
+Node: tlmgr CRYPTOGRAPHIC VERIFICATION192825
+Node: tlmgr Configuration of GnuPG invocation194998
+Node: tlmgr USER MODE195636
+Node: tlmgr User mode install198507
+Node: tlmgr User mode backup, restore, remove, update199653
+Node: tlmgr User mode generate, option, paper200099
+Node: tlmgr User mode logs200466
+Node: tlmgr MULTIPLE REPOSITORIES200764
+Node: tlmgr Pinning202493
+Node: tlmgr GUI FOR TLMGR204416
+Node: tlmgr Main display206065
+Node: tlmgr Display configuration area206317
+Ref: tlmgr Status206678
+Ref: tlmgr Category206842
+Ref: tlmgr Match207028
+Ref: tlmgr Selection207209
+Ref: tlmgr Display configuration buttons207413
+Node: tlmgr Package list area207596
+Ref: tlmgr a checkbox208180
+Ref: tlmgr package name208316
+Ref: tlmgr local revision (and version)208415
+Ref: tlmgr remote revision (and version)208790
+Ref: tlmgr short description209087
+Node: tlmgr Main display action buttons209132
+Ref: tlmgr Update all installed209398
+Ref: tlmgr Update209770
+Ref: tlmgr Install209820
+Ref: tlmgr Remove210006
+Ref: tlmgr Backup210184
+Node: tlmgr Menu bar210341
+Ref: tlmgr tlmgr menu210564
+Ref: tlmgr Options menu210872
+Ref: tlmgr Actions menu211955
+Ref: tlmgr Help menu212383
+Node: tlmgr GUI options212517
+Ref: tlmgr -background _color_212763
+Ref: tlmgr -font " _fontname_ _fontsize_ "212828
+Ref: tlmgr -foreground _color_212986
+Ref: tlmgr -geometry _geomspec_213038
+Ref: tlmgr -xrm _xresource_213230
+Node: tlmgr MACHINE-READABLE OUTPUT213499
+Node: tlmgr Machine-readable update and install output214313
+Ref: tlmgr location-url _location_215589
+Ref: tlmgr total-bytes _count_215805
+Ref: tlmgr _pkgname_216215
+Ref: tlmgr _status_216425
+Ref: tlmgr d216503
+Ref: tlmgr f216563
+Ref: tlmgr u216742
+Ref: tlmgr r216788
+Ref: tlmgr a216911
+Ref: tlmgr i217089
+Ref: tlmgr I217208
+Ref: tlmgr _localrev_217310
+Ref: tlmgr _serverrev_217417
+Ref: tlmgr _size_217529
+Ref: tlmgr _runtime_217698
+Ref: tlmgr _esttot_217768
+Node: tlmgr Machine-readable option output217801
+Node: tlmgr ENVIRONMENT VARIABLES218313
+Ref: tlmgr TEXLIVE_COMPRESSOR218824
+Ref: tlmgr TEXLIVE_DOWNLOADER219672
+Ref: tlmgr TL_DOWNLOAD_PROGRAM219695
+Ref: tlmgr TL_DOWNLOAD_ARGS219715
+Ref: tlmgr TEXLIVE_PREFER_OWN220741
+Node: tlmgr AUTHORS AND COPYRIGHT221565
+Node: Index221963
End Tag Table
Modified: branches/stable/source/src/texk/README
===================================================================
--- branches/stable/source/src/texk/README 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/README 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,5 +1,5 @@
-$Id: README 73430 2025-01-12 14:58:51Z karl $
-Copyright 2006-2024 TeX Users Group.
+$Id: README 73838 2025-02-09 23:45:32Z takuji $
+Copyright 2006-2025 TeX Users Group.
You may freely use, modify and/or distribute this file.
This TeX Live directory contains the programs that use the kpathsea
@@ -54,8 +54,9 @@
dvipdfmx and xdvipdfmx.
old info: https://project.ktug.org/dvipdfmx/
-dvipng 1.17 - checked 31may22
+dvipng 1.18 - checked 5feb25
https://mirror.ctan.org/dviware/dvipng/
+ aka https://mirror.ctan.org/dviware/dvipng.zip
dvipos - maintained here, by us
@@ -106,7 +107,7 @@
ttfdump - maintained here, by us, since Taiwan upstream apparently gone.
-upmendex 1.10 - by Takuji Tanaka
+upmendex 1.11 - by Takuji Tanaka
https://ctan.org/pkg/upmendex
https://github.com/t-tk/upmendex-package
Modified: branches/stable/source/src/texk/kpathsea/ChangeLog
===================================================================
--- branches/stable/source/src/texk/kpathsea/ChangeLog 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/kpathsea/ChangeLog 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,3 +1,12 @@
+2025-02-12 Karl Berry <karl at freefriends.org>
+
+ * texmf.cnf (shell_escape_commands): doc link to
+ https://tug.org/texinfohtml/web2c.html#Output-file-location.
+
+2025-02-08 Karl Berry <karl at tug.org>
+
+ * texmf.cnf (TEXMFVAR, TEXMFCONFIG, doc): 2025.
+
2025-01-25 Karl Berry <karl at freefriends.org>
* version.ac (kpse_dev): no more /dev.
Modified: branches/stable/source/src/texk/kpathsea/texmf.cnf
===================================================================
--- branches/stable/source/src/texk/kpathsea/texmf.cnf 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/kpathsea/texmf.cnf 2025-02-15 16:07:47 UTC (rev 951)
@@ -4,8 +4,8 @@
% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
% updated. Instead, put your changes -- and only your changes, not an
% entire copy! -- in ../../texmf.cnf. That is, if this file is
-% installed in /some/path/to/texlive/2024/texmf-dist/web2c/texmf.cnf,
-% put your custom settings in /some/path/to/texlive/2024/texmf.cnf.
+% installed in /some/path/to/texlive/2025/texmf-dist/web2c/texmf.cnf,
+% put your custom settings in /some/path/to/texlive/2025/texmf.cnf.
% (Below, we use YYYY in place of the specific year.)
%
% What follows is a super-summary of what this .cnf file can
@@ -87,10 +87,10 @@
TEXMFHOME = ~/texmf
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
-TEXMFVAR = ~/.texlive2024/texmf-var
+TEXMFVAR = ~/.texlive2025/texmf-var
% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
-TEXMFCONFIG = ~/.texlive2024/texmf-config
+TEXMFCONFIG = ~/.texlive2025/texmf-config
% This is the value manipulated by tlmgr's auxtrees subcommand in the
% root texmf.cnf. Kpathsea warns about a literally empty string for a
@@ -642,11 +642,15 @@
%
% The programs listed here are as safe as any we know: they either do
% not write any output files, respect openout_any, or have hard-coded
-% restrictions similar to or higher than openout_any=p. They also have
-% no features to invoke arbitrary other programs, and no known
-% exploitable bugs. All to the best of our knowledge. They also have
-% practical use for being called from TeX.
+% restrictions similar to or higher than openout_any=p. The output file
+% location is determined according to
+% https://tug.org/texinfohtml/web2c.html#Output-file-location.
%
+% They also have no features to invoke arbitrary other programs, and no
+% known exploitable bugs, to the best of our knowledge.
+%
+% Finally, they also have practical use for being called from TeX.
+%
shell_escape_commands = \
bibtex,bibtex8,\
extractbb,\
@@ -943,7 +947,7 @@
% in a texmf.cnf prefered, for example $TEXMFLOCAL/web2c/texmf.cnf.
command_line_encoding = utf-8
-% From TeX Live 2024, the engine for ptex, eptex, platex, and
+% As of TeX Live 2024, the engine for ptex, eptex, platex, and
% platex-dev is euptex. Therefore the function should be switched off
% for ptex, eptex, platex and platex-dev.
command_line_encoding.ptex = none
Modified: branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm
===================================================================
--- branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,5 +1,5 @@
# TeXLive::TLConfig.pm - module exporting configuration values
-# Copyright 2007-2024 Norbert Preining
+# Copyright 2007-2025 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
@@ -6,7 +6,7 @@
use strict; use warnings;
package TeXLive::TLConfig;
-my $svnrev = '$Revision: 69783 $';
+my $svnrev = '$Revision: 73776 $';
my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
sub module_revision { return $_modulerevision; }
@@ -61,7 +61,7 @@
# the year of our release, will be used in the location of the
# network packages, and in menu names, and other places.
-our $ReleaseYear = 2024;
+our $ReleaseYear = 2025;
# users can upgrade from this year to the current year; might be the
# same as the release year, or any number of releases earlier.
Modified: branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm
===================================================================
--- branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,5 +1,5 @@
# TeXLive::TLUtils.pm - the inevitable utilities for TeX Live.
-# Copyright 2007-2024 Norbert Preining, Reinhard Kotucha
+# Copyright 2007-2025 Norbert Preining, Reinhard Kotucha
# This file is licensed under the GNU General Public License version 2
# or any later version.
@@ -7,7 +7,7 @@
package TeXLive::TLUtils;
-my $svnrev = '$Revision: 73556 $';
+my $svnrev = '$Revision: 73770 $';
my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
sub module_revision { return $_modulerevision; }
Modified: branches/stable/source/src/texk/web2c/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/ChangeLog 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/ChangeLog 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,3 +1,51 @@
+2025-02-01 Karl Berry <karl at freefriends.org>
+
+ * tex.ch (24.336): comment out this patch for interactive deletion
+ of \outer tokens, since it has the undesirable side effect of
+ deleting through eof.
+ * tests/outerdel.tex,
+ * tests/outerdelsub.tex: test files and info.
+
+ * tex.ch (save_arith_error): declare in Glob...
+ (30.568): save and restore arith_error around the new
+ check for font scaling to >= 2048pt.
+
+2025-01-29 Andreas Scherer <https://ascherer.github.io>
+
+ * bibtex.ch,
+ * dvicopy.ch,
+ * dvitype.ch,
+ * gftodvi.ch,
+ * gftopk.ch,
+ * gftype.ch,
+ * mft.ch,
+ * patgen.ch,
+ * pktogf.ch,
+ * pktype.ch,
+ * pltotf.ch,
+ * pooltype.ch,
+ * tftopl.ch,
+ * vftovp.ch,
+ * vptovf.ch: Fill a few gaps in the '@x' lines.
+
+2025-01-28 Karl Berry <karl at freefriends.org>
+
+ * dvitype.ch: run tests/fix-changefile-lines.py to get chapter and
+ line numbers, and update module numbers.
+
+2025-01-27 Karl Berry <karl at freefriends.org>
+
+ * tex.ch (30.568, 49.1260): avoid scaling fonts to 2048pt or more.
+ Reports from
+ Igor Liferenko (https://tug.org/pipermail/tex-k/2021-June/003604.html)
+ Tyge Tiessen (https://tug.org/pipermail/tex-k/2022-January/003752.html)
+ and patch from Tyge.
+
+2025-01-27 Karl Berry <karl at freefriends.org>
+
+ * am/texmf.am (tex-pool.c, mf-pool.c): exit 1 if makecpool failed.
+ (tex-final.ch, mf-final.ch): remove $@ and exit 1 if tie failed.
+
2025-01-24 Karl Berry <karl at freefriends.org>
* configure.ac (KPSE_CHECK_FRAMEWORK, KPSE_FONTCONFIG_FLAGS)
Modified: branches/stable/source/src/texk/web2c/Makefile.in
===================================================================
--- branches/stable/source/src/texk/web2c/Makefile.in 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/Makefile.in 2025-02-15 16:07:47 UTC (rev 951)
@@ -3311,6 +3311,7 @@
uptexdir/tests/up-prim.tex uptexdir/tests/up-prim.log \
uptexdir/tests/lmr1.tex uptexdir/tests/up-lmr1.log \
uptexdir/tests/lmr2.tex uptexdir/tests/up-lmr2.log \
+ uptexdir/tests/catcd.tex uptexdir/tests/up-cat.log \
uptexdir/tests/noto1.tex uptexdir/tests/up-noto1.log \
uptexdir/tests/jchwidow.tex uptexdir/tests/up-jchwidow.log \
$(euptex_web_srcs) $(euptex_ch_srcs) euptexdir/euptex.defines \
@@ -3600,6 +3601,7 @@
alephdir/aleph.version $(aleph_tests) \
alephdir/tests/al-ofm.tex alephdir/tests/al-ofm.log \
alephdir/tests/lmr1.tex alephdir/tests/al-lmr1.log \
+ alephdir/tests/catcd.tex alephdir/tests/al-cat.log \
synctexdir/synctex_parser_c-auto.h synctexdir/ChangeLog \
synctexdir/README.txt synctexdir/synctex_parser_readme.txt \
synctexdir/synctex_parser_version.txt synctexdir/tests \
@@ -3672,7 +3674,7 @@
uptests/x*min10.* uptests/xchcode*.* uptests/xtestnewu*.* \
uptests/xuparse.* uptests/yuparse.* uptests/ygkhuge*.* \
uptests/ygk256*.* uptests/xskipjfmp.* uptrip.diffs up-ofm.* \
- up-prim.* up-lmr*.* up-noto*.* up-jchwidow.* \
+ up-prim.* up-lmr*.* up-cat.* up-noto*.* up-jchwidow.* \
$(nodist_euptex_SOURCES) euptex.web euptex.ch euptex-web2c \
euptex.p euptex.pool euptex-tangle euptrip.diffs \
pdfprimitive-euptex.* eup-ctrlsym.log eup-ctrlsym.out \
@@ -3712,7 +3714,7 @@
omegaware/tests/xspecialhex.* omegaware/tests/yrepeat* \
omegaware/tests/*yarabic* $(nodist_aleph_SOURCES) aleph.web \
aleph.ch aleph-web2c aleph.p aleph.pool aleph-tangle al-ofm.* \
- al-lmr*.*
+ al-lmr*.* al-cat.*
CLEANFILES = $(EXTRA_PROGRAMS) $(EXTRA_LIBRARIES) $(EXTRA_LTLIBRARIES)
TRIPTRAP_CLEAN = $(am__append_8) $(am__append_18) $(am__append_27) \
$(am__append_36) $(am__append_44) $(am__append_60) \
@@ -4568,8 +4570,8 @@
uptexdir/upkcat.test \
uptexdir/wcfname.test uptexdir/wcfname0.test \
uptexdir/uptex-ofm.test uptexdir/uptex-prim.test \
- uptexdir/uptex-lmr.test uptexdir/uptex-noto.test \
- uptexdir/uptex-widow.test
+ uptexdir/uptex-lmr.test uptexdir/uptex-cat.test \
+ uptexdir/uptex-noto.test uptexdir/uptex-widow.test
# uppPLtoTF/upTFtoPL
upweb_tests = uptexdir/upbibtex.test uptexdir/updvitype.test \
@@ -5616,7 +5618,8 @@
# Aleph Tests
#
aleph_tests = alephdir/aleph.test \
- alephdir/aleph-ofm.test alephdir/aleph-lmr.test
+ alephdir/aleph-ofm.test alephdir/aleph-lmr.test \
+ alephdir/aleph-cat.test
synctex_SOURCES = \
synctexdir/synctex_main.c
@@ -21663,7 +21666,7 @@
@$(web2c) tex
tex-pool.c: tex.pool texd.h $(makecpool_stamp)
- $(makecpool) tex >$@ || rm -f $@
+ $(makecpool) tex >$@ || { rm -f $@; exit 1; }
# Tangling TeX
tex.p tex.pool: tex-tangle
@@ -21673,7 +21676,7 @@
# Generate tex-final.ch
tex-final.ch: tie$(EXEEXT) $(tex_ch_srcs)
- $(tie_c) $(tex_ch_srcs)
+ $(tie_c) $(tex_ch_srcs) || { rm -f $@; exit 1; }
triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
tests/outputdir.log tests/tex-closeout.log \
tests/write18-quote-test.log: tex$(EXEEXT)
@@ -21706,7 +21709,7 @@
@$(web2c) mf
mf-pool.c: mf.pool mfd.h $(makecpool_stamp)
- $(makecpool) mf >$@ || rm -f $@
+ $(makecpool) mf >$@ || { rm -f $@; exit 1; }
# Tangling Metafont
mf.p mf.pool: mf-tangle
@@ -21716,7 +21719,7 @@
# Generate mf-final.ch
mf-final.ch: tie$(EXEEXT) $(mf_ch_src)
- $(tie_c) $(mf_ch_src)
+ $(tie_c) $(mf_ch_src) || { rm -f $@; exit 1; }
mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
mftrap.diffs: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
@@ -21745,7 +21748,7 @@
@$(web2c) mflua
mflua-pool.c: mflua.pool mfluad.h $(makecpool_stamp)
- $(makecpool) mflua >$@ || rm -f $@
+ $(makecpool) mflua >$@ || { rm -f $@; exit 1; }
# Tangling MFLua
mflua.p mflua.pool: mflua-tangle
@@ -21803,7 +21806,7 @@
@$(web2c) mfluajit
mfluajit-pool.c: mfluajit.pool mfluajitd.h $(makecpool_stamp)
- $(makecpool) mfluajit >$@ || rm -f $@
+ $(makecpool) mfluajit >$@ || { rm -f $@; exit 1; }
# Tangling MFLuaJIT
mfluajit.p mfluajit.pool: mfluajit-tangle
@@ -22013,7 +22016,7 @@
@$(web2c) etex
etex-pool.c: etex.pool etexd.h $(makecpool_stamp)
- $(makecpool) etex >$@ || rm -f $@
+ $(makecpool) etex >$@ || { rm -f $@; exit 1; }
# Tangling e-TeX
etex.p etex.pool: etex-tangle
@@ -22053,7 +22056,7 @@
@$(web2c) ptex
ptex-pool.c: ptex.pool ptexd.h $(makecpool_stamp)
- $(makecpool) ptex >$@ || rm -f $@
+ $(makecpool) ptex >$@ || { rm -f $@; exit 1; }
# Tangling pTeX
ptex.p ptex.pool: ptex-tangle
@@ -22093,7 +22096,7 @@
@$(web2c) uptex
uptex-pool.c: uptex.pool uptexd.h $(makecpool_stamp)
- $(makecpool) uptex >$@ || rm -f $@
+ $(makecpool) uptex >$@ || { rm -f $@; exit 1; }
# Tangling upTeX
uptex.p uptex.pool: uptex-tangle
@@ -22150,8 +22153,8 @@
uptexdir/upver.log uptexdir/upkcat.log \
uptexdir/wcfname.log uptexdir/wcfname0.log \
uptexdir/uptex-ofm.log uptexdir/uptex-prim.log \
- uptexdir/uptex-lmr.log uptexdir/uptex-noto.log \
- uptexdir/uptex-widow.log: uptex$(EXEEXT)
+ uptexdir/uptex-lmr.log uptexdir/uptex-cat.log \
+ uptexdir/uptex-noto.log uptexdir/uptex-widow.log: uptex$(EXEEXT)
uptexdir/upbibtex.log: upbibtex$(EXEEXT)
uptexdir/updvitype.log: updvitype$(EXEEXT)
uptexdir/uppltotf.log: uppltotf$(EXEEXT)
@@ -22179,7 +22182,7 @@
@$(web2c) euptex
euptex-pool.c: euptex.pool euptexd.h $(makecpool_stamp)
- $(makecpool) euptex >$@ || rm -f $@
+ $(makecpool) euptex >$@ || { rm -f $@; exit 1; }
# Tangling e-upTeX
euptex.p euptex.pool: euptex-tangle
@@ -22255,7 +22258,7 @@
pdftex-tangle: tangle$(EXEEXT) pdftexdir/pdftex.web pdftex-final.ch tangle-sh
$(pdf_tangle) pdftex pdftex-final
pdftex-pool.c: pdftex.pool pdftexd.h $(makecpool_stamp)
- $(makecpool) pdftex >$@ || rm -f $@
+ $(makecpool) pdftex >$@ || { rm -f $@; exit 1; }
# Extract pdftex version
$(srcdir)/pdftexdir/pdftex_version.h: @MAINTAINER_MODE_TRUE@ pdftexdir/pdftex.web
@@ -22269,7 +22272,7 @@
# Generate pdftex-final.ch
pdftex-final.ch: tie$(EXEEXT) $(pdftex_ch_srcs)
- $(tie_c) $(pdftex_ch_srcs)
+ $(tie_c) $(pdftex_ch_srcs) || { rm -f $@; exit 1; }
# Convenience target for making the typeset output; not invoked automatically
pdftex.pdf: pdftex.tex
@@ -22422,7 +22425,7 @@
@$(web2c) xetex
xetex-pool.c: xetex.pool xetexd.h $(makecpool_stamp)
- $(makecpool) xetex >$@ || rm -f $@
+ $(makecpool) xetex >$@ || { rm -f $@; exit 1; }
xetex.p xetex.pool: xetex-tangle
$(xe_tangle) xetex xetex-final
@@ -22439,7 +22442,7 @@
| sed "s/^.*'-/#define XETEX_VERSION \"/;s/'.*$$/\"/" >$@
xetex-final.ch: tie$(EXEEXT) $(xetex_ch_srcs)
- $(tie_c) $(xetex_ch_srcs)
+ $(tie_c) $(xetex_ch_srcs) || { rm -f $@; exit 1; }
$(libxetex_a_OBJECTS): $(libxetex_prereq)
xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log \
xetexdir/xetex-ctrlsym.log xetexdir/xetex.log \
@@ -22520,7 +22523,7 @@
aleph-web2c: aleph.p $(web2c_texmf) alephdir/aleph.defines
@$(web2c) aleph
aleph-pool.c: aleph.pool alephd.h $(makecpool_stamp)
- $(makecpool) aleph >$@ || rm -f $@
+ $(makecpool) aleph >$@ || { rm -f $@; exit 1; }
# Tangling Aleph
aleph.p aleph.pool: aleph-tangle
@@ -22533,6 +22536,7 @@
$(tie_c) aleph.web $(aleph_ch_srcs)
alephdir/aleph.log \
alephdir/aleph-ofm.log alephdir/aleph-lmr.log \
+ alephdir/aleph-cat.log \
: aleph$(EXEEXT)
# (end of aleph.am)
Modified: branches/stable/source/src/texk/web2c/NEWS
===================================================================
--- branches/stable/source/src/texk/web2c/NEWS 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/NEWS 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,15 +1,30 @@
This file records noteworthy changes. (Public domain.)
See also */NEWS, */ChangeLog, etc.
+
+2025 (for TeX Live 2025)
+* Most engines: new primitive parameter \ignoreprimitiveerror: if set to 1,
+ the error "Infinite glue shrinkage found in box being split"
+ becomes a warning (thus program exit status remains 0). Other values
+ are reserved for future use.
+
* Most engines: if TeX exits due to the -halt-on-error option,
-write the help message to the log file, as happens without -halt-on-error.
+ write the help message to the log file, as happens without -halt-on-error.
+* Most engines: scaling fonts to >= 2048pt now results in an error
+ message, instead of (unhandled) arithmetic overflow or silent changing
+ of the user's value.
+
+* Relevant formats: generate PDF 1.7 by default, not 1.5. (No change in
+ the binaries; done in the .ini files and dvipdfmx.cfg.)
+
* mf: remove incorrect change of long standing in the Web2c mf.ch file,
-which affects calculation of a few pen polygons in a small way; we don't
-know if any extant fonts are impacted.
+ which affects calculation of a few pen polygons in a small way; we don't
+ know if any extant fonts are impacted.
-
-2025 (for TeX Live 2025)
+* (e)uptex: support combining characters with multiple codepoints,
+ Unicode Latin characters and 16-bit OFM Level-0 with
+ new kcatcodes: modifier(20), latin_ucs(14).
2024 (for TeX Live 2024, 10 March 2024)
Modified: branches/stable/source/src/texk/web2c/am/texmf.am
===================================================================
--- branches/stable/source/src/texk/web2c/am/texmf.am 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/am/texmf.am 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,7 +1,7 @@
-## $Id: texmf.am 68508 2023-10-10 22:01:41Z karl $
+## $Id: texmf.am 73613 2025-01-27 22:01:50Z karl $
## texk/web2c/am/texmf.am: Makefile fragment for TeX and MF.
##
-## Copyright 2015-2023 Karl Berry <tex-live at tug.org>
+## Copyright 2015-2025 Karl Berry <tex-live at tug.org>
## Copyright 2009-2015 Peter Breitenlohner <tex-live at tug.org>
## You may freely use, modify and/or distribute this file.
@@ -50,7 +50,7 @@
@$(web2c) tex
tex-pool.c: tex.pool texd.h $(makecpool_stamp)
- $(makecpool) tex >$@ || rm -f $@
+ $(makecpool) tex >$@ || { rm -f $@; exit 1; }
# Tangling TeX
tex.p tex.pool: tex-tangle
@@ -60,7 +60,7 @@
# Generate tex-final.ch
tex-final.ch: tie$(EXEEXT) $(tex_ch_srcs)
- $(tie_c) $(tex_ch_srcs)
+ $(tie_c) $(tex_ch_srcs) || { rm -f $@; exit 1; }
tex_ch_srcs = \
tex.web \
tex.ch \
@@ -184,7 +184,7 @@
@$(web2c) mf
mf-pool.c: mf.pool mfd.h $(makecpool_stamp)
- $(makecpool) mf >$@ || rm -f $@
+ $(makecpool) mf >$@ || { rm -f $@; exit 1; }
# Tangling Metafont
mf.p mf.pool: mf-tangle
@@ -194,7 +194,7 @@
# Generate mf-final.ch
mf-final.ch: tie$(EXEEXT) $(mf_ch_src)
- $(tie_c) $(mf_ch_src)
+ $(tie_c) $(mf_ch_src) || { rm -f $@; exit 1; }
mf_ch_src = \
mf.web \
mf.ch \
Modified: branches/stable/source/src/texk/web2c/cwebdir/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/ChangeLog 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/cwebdir/ChangeLog 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,3 +1,11 @@
+2025-02-02 Andreas Scherer <https://ascherer.github.io>
+
+ * ctwill-mini.ch: Avoid several 'Overfull \vbox'es.
+
+2025-01-29 Andreas Scherer <https://ascherer.github.io>
+
+ * tests/ham.ch: Add line information.
+
2025-01-15 Andreas Scherer <https://ascherer.github.io>
* ctwill-mini.ch: Don't mess with /PageLabels in CTWILL output.
Modified: branches/stable/source/src/texk/web2c/cwebdir/ctwill-mini.ch
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/ctwill-mini.ch 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/cwebdir/ctwill-mini.ch 2025-02-15 16:07:47 UTC (rev 951)
@@ -265,6 +265,14 @@
@$no_xref {CTWILL}25 =$\R\\{make\_xrefs}$@>
@z
+Section 27.
+
+ at x
+ while (q->num>section_xref_switch) {r=q; q=q->xlink;}
+ at y
+ while (q->num>section_xref_switch) {@+r=q; q=q->xlink;@+}
+ at z
+
Section 36.
@x
@@ -519,6 +527,18 @@
\hfil\break|next_control>=begin_C|.
@z
+Section 82.
+
+ at x
+ if (p) {
+ at y
+ @+ if (!p) return;
+ at z
+ at x
+ }
+ at y
+ at z
+
Section 86.
@x
@@ -1314,10 +1334,22 @@
Section 141.
@x
+ xref_pointer q=(xref_pointer)p->xref; /* pointer to cross-reference being examined */
+ at y
+ @+ xref_pointer q=(xref_pointer)p->xref; /* pointer to cross-reference being examined */
+ at z
+ at x
while (q != xmem) {
@y
while (q != xmem) { @+
@z
+ at x
+ else if (m==n+def_flag) {
+ q->num=m; return;
+ at y
+ else if (m==n+def_flag) { @+
+ q->num=m; return; @+
+ at z
Section 143.
@@ -1416,7 +1448,32 @@
@y
@r @ Now here's the |reduce| procedure used in our code for productions,
@z
+ at x
+ scrap_pointer i; /* pointer into scrap memory */
+ at y
+ @+ scrap_pointer i; /* pointer into scrap memory */
+ at z
+ at x
+ pp--; /* we next say |pp++| */
+ at y
+ at z
+Section 198.
+
+ at x
+ switch (k) {
+ at y
+ @+ switch (k) {
+ at z
+
+Section 199.
+
+ at x
+static int tracing=off; /* can be used to show parsing details */
+ at y
+ at + static int tracing=off; /* used to show parsing details */
+ at z
+
Section 200.
@x
@@ -1427,6 +1484,12 @@
@%
@$n {CTWILL}197 \&{short}@>
@z
+ at x
+}
+ at y
+}
+pp--; /* we next say |pp++| */
+ at z
Section 202.
Modified: branches/stable/source/src/texk/web2c/cwebdir/tests/ham.ch
===================================================================
--- branches/stable/source/src/texk/web2c/cwebdir/tests/ham.ch 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/cwebdir/tests/ham.ch 2025-02-15 16:07:47 UTC (rev 951)
@@ -55,7 +55,7 @@
Section 3.
- at x
+ at x l.58
@ Vertices that have already appeared in the path are ``taken,'' and
@y
@ Vertices that have already appeared in the path are ``taken,'' and
Added: branches/stable/source/src/texk/web2c/doc/luatex/Makefile
===================================================================
--- branches/stable/source/src/texk/web2c/doc/luatex/Makefile (rev 0)
+++ branches/stable/source/src/texk/web2c/doc/luatex/Makefile 2025-02-15 16:07:47 UTC (rev 951)
@@ -0,0 +1,17 @@
+# This Makefile is public domain. Originally written by Karl Berry, 2025.
+# install luatex manual from Build to Master in TeX Live.
+
+Master = ../../../../../../Master
+dest = $(Master)/texmf-dist/doc/luatex/base/
+lua_source_dir = ../../luatexdir
+
+INSTALL_DATA = cp -p
+
+install:
+ @test -d $(dest) \
+ || { ls $(Master) echo "dest not directory: $(dest)" >&2; ls $(dest); exit 1; }
+ $(INSTALL_DATA) *.tex $(dest)/
+ $(INSTALL_DATA) *.pdf $(dest)/
+ $(INSTALL_DATA) -r graphics/ $(dest)/
+ $(INSTALL_DATA) $(lua_source_dir)/ChangeLog $(dest)/
+ $(INSTALL_DATA) $(lua_source_dir)/NEWS $(dest)/
Property changes on: branches/stable/source/src/texk/web2c/doc/luatex/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/stable/source/src/texk/web2c/doc/luatex/luatex-callbacks.tex
===================================================================
--- branches/stable/source/src/texk/web2c/doc/luatex/luatex-callbacks.tex 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/doc/luatex/luatex-callbacks.tex 2025-02-15 16:07:47 UTC (rev 951)
@@ -933,6 +933,21 @@
This callback replaces the code that prints the error message. The usual
interaction after the message is not affected.
+\subsection{\cbk {show_ignored_error_message}}
+
+\topicindex{callbacks+errors}
+
+\startfunctioncall
+function()
+end
+\stopfunctioncall
+
+This callback replaces the code that prints the error message
+when \prm {ignoreprimitiveerror} is enabled.
+As before, the usual
+interaction after the message is not affected.
+
+
\subsection{\cbk {show_lua_error_hook}}
\topicindex{callbacks+errors}
Modified: branches/stable/source/src/texk/web2c/doc/luatex/luatex-enhancements.tex
===================================================================
--- branches/stable/source/src/texk/web2c/doc/luatex/luatex-enhancements.tex 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/doc/luatex/luatex-enhancements.tex 2025-02-15 16:07:47 UTC (rev 951)
@@ -1161,6 +1161,9 @@
The \prm {vsplit} primitive has to be followed by a specification of the required
height. As alternative for the \type {to} keyword you can use \type {upto} to get
a split of the given size but result has the natural dimensions then.
+If \prm {ignoreprimitiveerror} = 1 , the error
+"Infinite glue shrinkage found in box being split" that occurs
+when vsplit-ting a box containing infinite negative glue is turned into a warning.
\stopsubsection
Modified: branches/stable/source/src/texk/web2c/doc/luatex/luatex-fonts.tex
===================================================================
--- branches/stable/source/src/texk/web2c/doc/luatex/luatex-fonts.tex 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/doc/luatex/luatex-fonts.tex 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,4 +1,4 @@
-% language=uk engine=luatex
+% language=us engine=luatex runpath=texruns:manuals/luatex
\environment luatex-style
@@ -906,6 +906,28 @@
\stopsubsection
+\startsubsection[title={\type {\tracinglostchars}}]
+
+This tracer reports missing characters. By design we delay this till the backend
+included them, when math typesetting needs them, or when a virtual font is
+created (1, 2, 3). Per request of the \LATEX\ team we have two extra options that
+report in an earlier stage i.e.\ when the glyphs are packaged or processed during
+line breaking (4 and 5).
+
+\starttabulate[|r|l|]
+ \DB \BC effect \NC \NR
+ \TB
+ \NC 0 \NC nothing \NC \NR
+ \NC 1 \NC warning only to log file \NC \NR
+ \NC 2 \NC warning and force terminal \NC \NR
+ \NC 3 \NC error \NC \NR
+ \NC 4 \NC early warning (and force terminal) \NC \NR
+ \NC > 4 \NC early error \NC \NR
+ \LL
+\stoptabulate
+
+\stopsubsection
+
\stopsection
\stopchapter
Modified: branches/stable/source/src/texk/web2c/doc/luatex/luatex-lua.tex
===================================================================
--- branches/stable/source/src/texk/web2c/doc/luatex/luatex-lua.tex 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/doc/luatex/luatex-lua.tex 2025-02-15 16:07:47 UTC (rev 951)
@@ -570,6 +570,12 @@
If the command ran ok, then the return value is the exit status of the
command. Otherwise, it will return the two values \type {nil} and \type
{error}.
+
+ \type {os.spawn()} takes an optional second argument, a table of key-value
+ pairs for the environment of the spawned process. Note that if you do pass
+ this table, it will be used as the \notabene {complete} environment for the
+ spawned process, so you'll likely want to start from \type {os.env} and add
+ or remove keys as needed.
\stopitem
\startitem
Modified: branches/stable/source/src/texk/web2c/doc/luatex/luatex-modifications.tex
===================================================================
--- branches/stable/source/src/texk/web2c/doc/luatex/luatex-modifications.tex 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/doc/luatex/luatex-modifications.tex 2025-02-15 16:07:47 UTC (rev 951)
@@ -1164,6 +1164,10 @@
an box, paragraphs with only an indent and directions are handled as paragraphs
with content.
+By default paragraphs before a display equation containing dir nodes are never ignored.
+Changing that could break existing documents, but when you set \lpr {mathemptydisplaymode}
+to~\type {1} empty paragraphs before a display equation will be ignored.
+
\stopsubsection
\startsubsection[title={Controlling glue with \lpr {breakafterdirmode}}]
Modified: branches/stable/source/src/texk/web2c/doc/luatex/luatex-tex.tex
===================================================================
--- branches/stable/source/src/texk/web2c/doc/luatex/luatex-tex.tex 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/doc/luatex/luatex-tex.tex 2025-02-15 16:07:47 UTC (rev 951)
@@ -1970,6 +1970,14 @@
in \DVI\ output mode, if true abort run when the number of pages exceeds 65535.
This is the default behaviour. If false, the run goes on as is in \TEX.
\NC \NR
+\NC \type{texlua_img} \NC boolean \NC
+\NC
+ if true, allows access to the \type {img} library in \TEXLUA\ mode. If
+ false (the default), the \type {img} library is not available in \TEXLUA\
+ mode (as it was unconditionally for \LUATEX\ versions prior to 1.22.0).
+ Note that this setting is {\bf experimental} and subject to be removed at
+ any time, without notice.
+\NC \NR
\LL
\stoptabulate
@@ -2429,6 +2437,7 @@
\libindex{get_next}
\libindex{put_next}
+\libindex{unchecked_put_next}
There is a (for now) experimental putter:
@@ -2444,7 +2453,12 @@
\stoptyping
When we scan \type {wxyz!} we get \type {yzwx!} back. The argument is either a table
-with tokens or a list of tokens. The \type {token.expand} function will trigger
+with tokens or a list of tokens. The new function \type {token.unchecked_put_next}
+has been added per request of the \LATEX\ team. It skips this error checking and
+follows a different code path. It assumes that a valid token user datum is
+passed and can crash the engine otherwise.
+
+The \type {token.expand} function will trigger
expansion but what happens really depends on what you're doing where.
\stopsubsection
Modified: branches/stable/source/src/texk/web2c/doc/luatex/luatex.pdf
===================================================================
(Binary files differ)
Modified: branches/stable/source/src/texk/web2c/doc/luatex/luatex.tex
===================================================================
--- branches/stable/source/src/texk/web2c/doc/luatex/luatex.tex 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/doc/luatex/luatex.tex 2025-02-15 16:07:47 UTC (rev 951)
@@ -73,7 +73,7 @@
\startdocument
[manual=Lua\TeX,
status=stable,
- version=1.20]
+ version=1.21]
\startnotmode[*export]
\component luatex-titlepage
Modified: branches/stable/source/src/texk/web2c/etexdir/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/etexdir/ChangeLog 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/etexdir/ChangeLog 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,3 +1,7 @@
+2025-01-27 Karl Berry <karl at freefriends.org>
+
+ * am/etex.am (etex-pool.c): exit 1 if makecpool failed.
+
2024-04-14 TANAKA Takuji <ttk at t-lab.opal.ne.jp>
* etriptest.test:
Modified: branches/stable/source/src/texk/web2c/etexdir/am/etex.am
===================================================================
--- branches/stable/source/src/texk/web2c/etexdir/am/etex.am 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/etexdir/am/etex.am 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,7 +1,7 @@
-## $Id: etex.am 61575 2022-01-11 22:47:10Z karl $
+## $Id: etex.am 73613 2025-01-27 22:01:50Z karl $
## texk/web2c/etexdir/am/etex.am: Makefile fragment for e-TeX.
##
-## Copyright 2015-2022 Karl Berry <tex-live at tug.org>
+## Copyright 2015-2025 Karl Berry <tex-live at tug.org>
## Copyright 2009-2015 Peter Breitenlohner <tex-live at tug.org>
## You may freely use, modify and/or distribute this file.
@@ -34,7 +34,7 @@
@$(web2c) etex
etex-pool.c: etex.pool etexd.h $(makecpool_stamp)
- $(makecpool) etex >$@ || rm -f $@
+ $(makecpool) etex >$@ || { rm -f $@; exit 1; }
# Tangling e-TeX
etex.p etex.pool: etex-tangle
Modified: branches/stable/source/src/texk/web2c/lib/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/lib/ChangeLog 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/lib/ChangeLog 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,3 +1,8 @@
+2025-02-04 Hironori Kitagawa <h_kitagawa2001 at yahoo.co.jp>
+
+ * texmfmp.c: Avoid segmentation fault.
+ https://github.com/texjporg/tex-jp-build/issues/174
+
2025-01-01 Akira Kakuto <kakuto at jcom.zaq.ne.jp>
* printversion.c: Update copyright year.
Modified: branches/stable/source/src/texk/web2c/lib/texmfmp.c
===================================================================
--- branches/stable/source/src/texk/web2c/lib/texmfmp.c 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/lib/texmfmp.c 2025-02-15 16:07:47 UTC (rev 951)
@@ -1019,7 +1019,8 @@
string new_arg;
is_terminalUTF8(); /* To call get_terminal_enc(). return value is not used */
new_arg = ptenc_from_utf8_string_to_internal_enc(argv[1]);
- dump_name = argv[1] + 1; argv[1] = new_arg;
+ dump_name = argv[1] + 1;
+ if (new_arg) argv[1] = new_arg;
#else
dump_name = argv[1] + 1;
#endif
Modified: branches/stable/source/src/texk/web2c/pdftexdir/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/ChangeLog 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/pdftexdir/ChangeLog 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,3 +1,26 @@
+2025-02-11 Max Chernoff <tex at maxchernoff.ca>
+
+ * pdftex.web (scale_image): no warning if both resolutions are zero.
+ https://tug.org/pipermail/pdftex/2025-February/009441.html
+
+2025-02-02 Karl Berry <karl at freefriends.org>
+
+ * pdftex.ch: try to give original files and line numbers for changes.
+
+2025-01-31 Karl Berry <karl at freefriends.org>
+
+ * pdftex.ch (l.1891): have print_ignored_error respect
+ --file-line-error; noted by Martin Ruckert.
+ * pdftex.web (etex_int_pars): add eTeX_states, not
+ eTeX_state_code, as it was before; noted by Martin Ruckert.
+
+2025-01-27 Karl Berry <karl at freefriends.org>
+
+ * NEWS: 2025 font scaling entry; belated 2024 cross-engine entry.
+
+ * am/pdftex.am (pdftex-pool.c): exit 1 if makecpool failed.
+ (pdftex-final.ch): remove $@ and exit 1 if tie failed.
+
2025-01-25 Karl Berry <karl at freefriends.org>
* NEWS,
@@ -16,6 +39,7 @@
(Generate all \eTeX): define it.
(Cases for |print_param|): print it.
Request from Frank Mittelbach, 22 Jul 2024 22:37:26 (private mail).
+ * NEWS: mention this.
2025-01-23 Thanh Han The <hanthethanh at gmail.com>
Modified: branches/stable/source/src/texk/web2c/pdftexdir/NEWS
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/NEWS 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/pdftexdir/NEWS 2025-02-15 16:07:47 UTC (rev 951)
@@ -4,13 +4,20 @@
if \pdfmajorversion >= 2, PTEX.Fullbanner and other dictionary
entry names use _ instead of ., as in "PTEX_Fullbanner".
- new primitive \ignoreprimitiveerror, enabled with -etex: if set
- to 1, the error "Infinite glue shrinkage" becomes a warning
- (exit status remains 0). Other values reserved for future use.
+ to 1, the error "Infinite glue shrinkage found in box being split"
+ becomes a warning (thus program exit status remains 0). Other values
+ are reserved for future use. (cross-engine)
+ - if TeX exits due to the -halt-on-error option, write the help
+ message to the log file, as happens without -halt-on-error. (cross-engine)
+
- bugfixes:
- don't omit real spaces just because the font changes.
- increase tolerance for detecting interword spaces in overfull lines.
- ignore tiny resolutions like 1x1 embedded in images instead of
exceeding \maxdimen.
+ - scaling fonts to >= 2048pt now results in an error message, instead
+ of (unhandled) arithmetic overflow or silent changing of the user's
+ value. (cross-engine)
-----------------------------------------------------------------------------
pdfTeX 3.141592653-2.6-1.40.26 (TeX Live 2024) (March 10, 2024)
Modified: branches/stable/source/src/texk/web2c/pdftexdir/am/pdftex.am
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/am/pdftex.am 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/pdftexdir/am/pdftex.am 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,7 +1,7 @@
-## $Id: pdftex.am 70173 2024-02-26 15:53:56Z karl $
+## $Id: pdftex.am 73613 2025-01-27 22:01:50Z karl $
## texk/web2c/pdftexdir/am/pdftex.am: Makefile fragment for pdfTeX.
##
-## Copyright 2016-2024 Karl Berry <tex-live at tug.org>
+## Copyright 2016-2025 Karl Berry <tex-live at tug.org>
## Copyright 2009-2015 Peter Breitenlohner <tex-live at tug.org>
## You may freely use, modify and/or distribute this file.
@@ -51,7 +51,7 @@
pdftex-tangle: tangle$(EXEEXT) pdftexdir/pdftex.web pdftex-final.ch tangle-sh
$(pdf_tangle) pdftex pdftex-final
pdftex-pool.c: pdftex.pool pdftexd.h $(makecpool_stamp)
- $(makecpool) pdftex >$@ || rm -f $@
+ $(makecpool) pdftex >$@ || { rm -f $@; exit 1; }
# Extract pdftex version
$(srcdir)/pdftexdir/pdftex_version.h: @MAINTAINER_MODE_TRUE@ pdftexdir/pdftex.web
@@ -65,7 +65,7 @@
# Generate pdftex-final.ch
pdftex-final.ch: tie$(EXEEXT) $(pdftex_ch_srcs)
- $(tie_c) $(pdftex_ch_srcs)
+ $(tie_c) $(pdftex_ch_srcs) || { rm -f $@; exit 1; }
pdftex_ch_srcs = \
pdftexdir/pdftex.web \
pdftexdir/tex.ch0 \
Modified: branches/stable/source/src/texk/web2c/pdftexdir/pdftex.ch
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/pdftex.ch 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/pdftexdir/pdftex.ch 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,4 +1,4 @@
-% Copyright 1996-2023 Han The Thanh, <thanh at pdftex.org>
+% Copyright 1996-2025 Han The Thanh, <thanh at pdftex.org>
%
% This file is part of pdfTeX.
%
@@ -14,18 +14,14 @@
%
% You should have received a copy of the GNU General Public License along with
% this program. If not, see <http://www.gnu.org/licenses/>.
-%
- at x [0.0] l.83 - WEAVE: we want the whole file
+
+ at x tex.ch l.60 - tell weave we want the whole file
\let\maybe=\iffalse
@y 83
\let\maybe=\iftrue
@z
-% Change file to assist in creating the web2c-specific change file.
-% This one resolves inconsistencies between tex.ch and tex.ech.
-% Public domain.
-
- at x [1] m.2 l.188 - banner
+ at x tex.ch l.76 - pdftex banner
@d banner==TeX_banner
@d banner_k==TeX_banner_k
@y
@@ -33,7 +29,16 @@
@d banner_k==pdfTeX_banner
@z
- at x [16.215] - e-TeX last_node_type
+ at x pdftex.web l.1891 - have print_ignored_error respect --file-line-error
+ print_nl("ignored error: "); print(#);
+ at y
+ if file_line_error_style_p then print_file_line
+ else print_nl("");
+ print("ignored error: "); print(#);
+ at z
+
+% See also tex.ch l.1204, etex.ch l.2226. Not sure what's going on here.
+ at x pdftex.web l.28025 - restore e-TeX last_node_type removed in tex.ch
last_glue:=max_halfword; last_penalty:=0; last_kern:=0;
@y
last_glue:=max_halfword; last_penalty:=0; last_kern:=0;
@@ -40,7 +45,7 @@
last_node_type:=-1;
@z
- at x
+ at x tex.ch l.1228 - table sizes [see also pdftex.web l.5194]
@d frozen_null_font=frozen_control_sequence+11
{permanent `\.{\\nullfont}'}
@y
@@ -48,7 +53,7 @@
{permanent `\.{\\nullfont}'}
@z
- at x [17.236] l.4960 - first web2c, then e-TeX additional integer parameters
+ at x tex.ch l.1274 - web2c, then e-TeX, then pdftex integer parameters
@d int_pars=web2c_int_pars {total number of integer parameters}
@#
@d etex_int_base=tex_int_pars {base for \eTeX's integer parameters}
@@ -57,13 +62,13 @@
@z
% start of tex.pch
- at x (MLTeX) l. 12945
+ at x (MLTeX) l.12945
begin i := char_tag(char_info(f)(c));
@y
begin i := char_tag(orig_char_info(f)(c));
@z
- at x (MLTeX) l. 14640
+ at x (MLTeX) l.14640
@d is_valid_char(#)==((font_bc[f] <= #) and (# <= font_ec[f]) and
char_exists(char_info(f)(#)))
@y
@@ -71,7 +76,7 @@
char_exists(orig_char_info(f)(#)))
@z
- at x (MLTeX) l. 14678
+ at x (MLTeX) l.14678
function get_charwidth(f: internal_font_number; c: eight_bits): scaled;
begin
if is_valid_char(c) then
@@ -122,13 +127,13 @@
@z
- at x (MLTeX) l. 17413
+ at x (MLTeX) l.17413
label reswitch, move_past, fin_rule, next_p;
@y
label reswitch, move_past, fin_rule, next_p, found, continue;
@z
- at x (MLTeX) l. 17462
+ at x (MLTeX) l.17462
if is_valid_char(c) then
output_one_char(c)
else
@@ -145,26 +150,33 @@
continue:
@z
- at x [49.1259]
+% this @x code is modified from tex.web by tex.ch.
+ at x tex.ch l.3447 - omit block if pdf_font_step[f] nonzero; preserve indentation
begin if s>0 then
begin if s=font_size[f] then goto common_ending;
end
- else if font_size[f]=xn_over_d(font_dsize[f],-s,1000) then
- goto common_ending;
+ else begin arith_error:=false;
+ if font_size[f]=xn_over_d(font_dsize[f],-s,1000)
+ then if not arith_error
+ then goto common_ending;
+ end;
end
@y
- begin
- if pdf_font_step[f] = 0 then begin
- if s>0 then
- begin if s=font_size[f] then goto common_ending;
- end
- else if font_size[f]=xn_over_d(font_dsize[f],-s,1000) then
- goto common_ending;
- end
+ begin {preserved}
+ if pdf_font_step[f] = 0 then begin
+ if s>0 then
+ begin if s=font_size[f] then goto common_ending;
+ end
+ else begin arith_error:=false;
+ if font_size[f]=xn_over_d(font_dsize[f],-s,1000)
+ then if not arith_error
+ then goto common_ending;
+ end;
end
+ end
@z
- at x (WEB2C!)
+ at x tex.ch l.3989 - more things to dump
param_base:=xmalloc_array(integer, font_max);
undump_things(font_check[null_font], font_ptr+1-null_font);
@@ -231,7 +243,7 @@
undump_things(font_check[null_font], font_ptr+1-null_font);
@z
- at x [51.1]
+ at x tex.ch l.4196 - more bounds to set
setup_bound_var (0)('hash_extra')(hash_extra);
setup_bound_var (10000)('expand_depth')(expand_depth);
@@ -241,7 +253,7 @@
setup_bound_var (72)('pk_dpi')(pk_dpi);
@z
- at x [51.2]
+ at x tex.ch l.4229 - more constants to check
const_chk (hash_extra);
if error_line > ssup_error_line then error_line := ssup_error_line;
@y
@@ -253,7 +265,7 @@
if error_line > ssup_error_line then error_line := ssup_error_line;
@z
- at x [51.1332] l.24203 (ca.) texarray
+ at x tex.ch l.4238 - more arrays to xmalloc
line_stack:=xmalloc_array (integer, max_in_open);
@y
line_stack:=xmalloc_array (integer, max_in_open);
@@ -262,7 +274,7 @@
if_stack:=xmalloc_array (pointer, max_in_open);
@z
- at x [51.3]
+ at x tex.ch l.4245 - still more arrays to xmalloc
hyph_link :=xmalloc_array (hyph_pointer, hyph_size);
@y
hyph_link :=xmalloc_array (hyph_pointer, hyph_size);
@@ -275,7 +287,7 @@
pdf_os_objoff:=xmalloc_array (integer, pdf_os_max_objs);
@z
- at x [51.1337] l.24371 (ca.) texarray
+ at x tex.ch l.4356 - more hyphenation initializations
trie_root:=0; trie_c[0]:=si(0); trie_ptr:=0;
@y
trie_root:=0; trie_c[0]:=si(0); trie_ptr:=0;
@@ -283,7 +295,7 @@
@z
- at x (WEB2C!)
+ at x tex.ch l.4381 - more arrays to xmallox
param_base:=xmalloc_array(integer, font_max);
font_ptr:=null_font; fmem_ptr:=7;
@@ -350,8 +362,7 @@
make_pdftex_banner;
@z
-% i, j, q, and r are unused by TeX but required for pdfTeX
- at x [53.1348] (do_extension)
+ at x tex.ch l.4438 (do_extension) - i, j, q, r unused by TeX, needed by pdfTeX
var k:integer; {all-purpose integers}
@!p:pointer; {all-purpose pointers}
@y
@@ -359,13 +370,13 @@
@!p,@!q,@!r:pointer; {all-purpose pointers}
@z
- at x [53a.1379] l.??? -etex command line switch
+ at x etex.ch l.3182 -etex command line xswitch
@!init if (buffer[loc]="*")and(format_ident=" (INITEX)") then
@y
@!init if (etex_p or(buffer[loc]="*"))and(format_ident=" (INITEX)") then
@z
- at x [53a.1379] l.??? -etex command line switch
+ at x etex.ch l.3185 -etex command line switch
incr(loc); eTeX_mode:=1; {enter extended mode}
@y
if (buffer[loc]="*") then incr(loc);
@@ -372,7 +383,7 @@
eTeX_mode:=1; {enter extended mode}
@z
- at x [53a.1383] l.??? -etex command line switch
+ at x etex.ch l.3224 -etex command line switch
@!eTeX_mode: 0..1; {identifies compatibility and extended mode}
@y
@!eTeX_mode: 0..1; {identifies compatibility and extended mode}
@@ -379,13 +390,13 @@
@!etex_p: boolean; {was the -etex option specified}
@z
- at x [53a.1391] l.??? texarray
+ at x etex.ch l.3302 - use pointer for array
@!eof_seen : array[1..max_in_open] of boolean; {has eof been seen?}
@y
@!eof_seen : ^boolean; {has eof been seen?}
@z
- at x [53a.1506] l.??? texarray
+ at x etex.ch l.4842 - use pointers for arrays
@!grp_stack : array[0..max_in_open] of save_pointer; {initial |cur_boundary|}
@!if_stack : array[0..max_in_open] of pointer; {initial |cond_ptr|}
@y
@@ -393,12 +404,12 @@
@!if_stack : ^pointer; {initial |cond_ptr|}
@z
- at x [53a.1587] l.??? texarray
+ at x etex.ch l.6244 - hyphenation initializations done elsewhere
hyph_root:=0; hyph_start:=0;
@y
@z
- at x [54/web2c.???] l.??? needed earlier
+ at x tex.ch l.4858 - effective_char function needed earlier
replacement, but always existing character |font_bc[f]|.
@^inner loop@>
@@ -412,7 +423,7 @@
function effective_char(@!err_p:boolean;
@z
- at x
+ at x tex.ch l.4958 - pdftex character substitutions
@ The global variables for the code to substitute a virtual character
@y
@ \pdfTeX's |pdf_hlist_out| uses a similar, but slightly modified code
@@ -429,7 +440,7 @@
@ The global variables for the code to substitute a virtual character
@z
- at x
+ at x tex.ch l.5071 - more pdftex substitution
@ Dumping ML\TeX-related material. This is just the flag in the
@y
@ \pdfTeX's |pdf_hlist_out| uses a similar, but slightly modified code
Modified: branches/stable/source/src/texk/web2c/pdftexdir/pdftex.web
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/pdftex.web 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/pdftexdir/pdftex.web 2025-02-15 16:07:47 UTC (rev 951)
@@ -5725,7 +5725,7 @@
@d saving_hyph_codes_code=etex_int_base+8 {save hyphenation codes for languages}
@d ignore_primitive_error_code=etex_int_base+9 {ignore some primitive/engine errors}
@d eTeX_state_code=etex_int_base+10 {\eTeX\ state variables}
- at d etex_int_pars=eTeX_state_code+eTeX_state_code {total number of \eTeX's integer parameters}
+ at d etex_int_pars=eTeX_state_code+eTeX_states {total number of \eTeX's integer parameters}
@#
@d int_pars=etex_int_pars {total number of integer parameters}
@d count_base=int_base+int_pars {256 user \.{\\count} registers}
@@ -34451,7 +34451,11 @@
end;
if (x <= 0) or (y <= 0) or (xr < 0) or (yr < 0) then
pdf_error("ext1", "invalid image dimensions");
- if (x / one_inch >= xr) or (y / one_inch >= yr) then begin
+ if (xr = 0) and (yr = 0) then begin
+ {If both resolutions are zero, that suggests that the resolution data
+ is missing, so we should never issue a warning.}
+ end
+ else if (x / one_inch >= xr) or (y / one_inch >= yr) then begin
{It's better to warn and ignore too-small resolutions given in
the image file, usually 1dpi x 1dpi, to avoid arithmetic overflow.}
xr := 0;
Modified: branches/stable/source/src/texk/web2c/silent-sh.in
===================================================================
--- branches/stable/source/src/texk/web2c/silent-sh.in 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/silent-sh.in 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,7 +1,9 @@
#! @SHELL@
# silent-sh: shell script to invoke tie etc in silent rules.
+# $Id: silent-sh.in 73613 2025-01-27 22:01:50Z karl $
#
-# Copyright (C) 2012 Peter Breitenlohner <tex-live at tug.org>
+# Copyright 2015-2025 Karl Berry <tex-live at tug.org>
+# Copyright 2012-2015 Peter Breitenlohner <tex-live at tug.org>
#
# This file is free software; the copyright holder
# gives unlimited permission to copy and/or distribute it,
@@ -9,7 +11,7 @@
#
# Used as, e.g.,
# tex-final.ch: tie$(EXEEXT) $(tex_ch_srcs)
-# $(tie) -c $@ $(tex_ch_srcs)
+# $(tie) -c $@ $(tex_ch_srcs) || { rm -f $@; exit 1; }
# with
# tie = $(tie_silent)WEBINPUTS=.:$(srcdir) $(buildenv) $(TIE)
# and
Modified: branches/stable/source/src/texk/web2c/tests/fix-changefile-lines.py
===================================================================
--- branches/stable/source/src/texk/web2c/tests/fix-changefile-lines.py 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/tests/fix-changefile-lines.py 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# $Id: fix-changefile-lines.py 73541 2025-01-21 15:47:36Z ascherer $
+# $Id: fix-changefile-lines.py 73710 2025-02-03 18:32:15Z ascherer $
# Applied to tex.ch and mf.ch on 2024-06-03, following the request at:
# https://tug.org/pipermail/tex-k/2024-June/004064.html
"""
@@ -58,8 +58,8 @@
sys.exit(1)
def next_line(self):
- """Returns the triple of current part, section and line numbers, as
- well as the next line. Updates part and section numbers.
+ """Returns the triple of current part, section and line numbers,
+ as well as the next line. Updates part and section numbers.
"""
if self._pos >= len(self._web_lines):
return None
@@ -139,8 +139,8 @@
def find_match_in_web(self, web_reader):
"""Find the match for the current change chunk in the WEB file.
- Returns the part, section, and line number of the first match line in
- the WEB file.
+ Returns the part, section, and line number of the first match line
+ in the WEB file.
"""
while True:
try:
Added: branches/stable/source/src/texk/web2c/tests/fonttoobig-ds1024.pl
===================================================================
--- branches/stable/source/src/texk/web2c/tests/fonttoobig-ds1024.pl (rev 0)
+++ branches/stable/source/src/texk/web2c/tests/fonttoobig-ds1024.pl 2025-02-15 16:07:47 UTC (rev 951)
@@ -0,0 +1,981 @@
+(FAMILY CMR)
+(FACE O 352)
+(CODINGSCHEME TEX TEXT)
+(DESIGNSIZE R 1024.0)
+(comment This is cmr10 with designsize changed to 1024, for fonttoobig.tex.)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(SEVENBITSAFEFLAG TRUE)
+(FONTDIMEN
+ (SLANT R 0.0)
+ (SPACE R 0.333334)
+ (STRETCH R 0.166667)
+ (SHRINK R 0.111112)
+ (XHEIGHT R 0.430555)
+ (QUAD R 1.000003)
+ (EXTRASPACE R 0.111112)
+ )
+(LIGTABLE
+ (LABEL O 40)
+ (KRN C l R -0.277779)
+ (KRN C L R -0.319446)
+ (STOP)
+ (LABEL C f)
+ (LIG C i O 14)
+ (LIG C f O 13)
+ (LIG C l O 15)
+ (KRN O 47 R 0.077779)
+ (KRN O 77 R 0.077779)
+ (KRN O 41 R 0.077779)
+ (KRN O 51 R 0.077779)
+ (KRN O 135 R 0.077779)
+ (STOP)
+ (LABEL O 13)
+ (LIG C i O 16)
+ (LIG C l O 17)
+ (KRN O 47 R 0.077779)
+ (KRN O 77 R 0.077779)
+ (KRN O 41 R 0.077779)
+ (KRN O 51 R 0.077779)
+ (KRN O 135 R 0.077779)
+ (STOP)
+ (LABEL O 140)
+ (LIG O 140 O 134)
+ (STOP)
+ (LABEL O 47)
+ (LIG O 47 O 42)
+ (KRN O 77 R 0.111112)
+ (KRN O 41 R 0.111112)
+ (STOP)
+ (LABEL O 55)
+ (LIG O 55 O 173)
+ (STOP)
+ (LABEL O 173)
+ (LIG O 55 O 174)
+ (STOP)
+ (LABEL O 41)
+ (LIG O 140 O 74)
+ (STOP)
+ (LABEL O 77)
+ (LIG O 140 O 76)
+ (STOP)
+ (LABEL C k)
+ (LABEL C v)
+ (KRN C a R -0.055555)
+ (LABEL C w)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN C o R -0.027779)
+ (KRN C c R -0.027779)
+ (STOP)
+ (LABEL C P)
+ (KRN C A R -0.083334)
+ (LABEL C y)
+ (KRN C o R -0.027779)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN O 56 R -0.083334)
+ (KRN O 54 R -0.083334)
+ (STOP)
+ (LABEL C F)
+ (LABEL C V)
+ (LABEL C W)
+ (KRN C o R -0.083334)
+ (KRN C e R -0.083334)
+ (KRN C u R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.111112)
+ (LABEL C K)
+ (LABEL C X)
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ (STOP)
+ (LABEL C T)
+ (KRN C y R -0.027779)
+ (LABEL C Y)
+ (KRN C e R -0.083334)
+ (KRN C o R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.083334)
+ (KRN C u R -0.083334)
+ (STOP)
+ (LABEL C D)
+ (LABEL C O)
+ (KRN C X R -0.027779)
+ (KRN C W R -0.027779)
+ (KRN C A R -0.027779)
+ (KRN C V R -0.027779)
+ (KRN C Y R -0.027779)
+ (STOP)
+ (LABEL C h)
+ (LABEL C m)
+ (LABEL C n)
+ (KRN C t R -0.027779)
+ (KRN C u R -0.027779)
+ (KRN C b R -0.027779)
+ (KRN C y R -0.027779)
+ (KRN C v R -0.027779)
+ (KRN C w R -0.027779)
+ (STOP)
+ (LABEL C c)
+ (KRN C h R -0.027779)
+ (KRN C k R -0.027779)
+ (STOP)
+ (LABEL C b)
+ (LABEL C o)
+ (LABEL C p)
+ (KRN C e R 0.027779)
+ (KRN C o R 0.027779)
+ (KRN C x R -0.027779)
+ (KRN C d R 0.027779)
+ (KRN C c R 0.027779)
+ (KRN C q R 0.027779)
+ (LABEL C a)
+ (KRN C v R -0.027779)
+ (KRN C j R 0.055555)
+ (LABEL C t)
+ (KRN C y R -0.027779)
+ (LABEL C u)
+ (KRN C w R -0.027779)
+ (STOP)
+ (LABEL C A)
+ (LABEL C R)
+ (KRN C t R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C O R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C U R -0.027779)
+ (KRN C Q R -0.027779)
+ (LABEL C L)
+ (KRN C T R -0.083334)
+ (KRN C Y R -0.083334)
+ (KRN C V R -0.111112)
+ (KRN C W R -0.111112)
+ (STOP)
+ (LABEL C g)
+ (KRN C j R 0.027779)
+ (STOP)
+ (LABEL C I)
+ (KRN C I R 0.027779)
+ (STOP)
+ )
+(CHARACTER O 0
+ (CHARWD R 0.625002)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 1
+ (CHARWD R 0.833336)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 2
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 3
+ (CHARWD R 0.694446)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 4
+ (CHARWD R 0.666669)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 5
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 6
+ (CHARWD R 0.722224)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 7
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 10
+ (CHARWD R 0.722224)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 11
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 12
+ (CHARWD R 0.722224)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 13
+ (CHARWD R 0.583336)
+ (CHARHT R 0.694445)
+ (CHARIC R 0.077779)
+ (COMMENT
+ (LIG C i O 16)
+ (LIG C l O 17)
+ (KRN O 47 R 0.077779)
+ (KRN O 77 R 0.077779)
+ (KRN O 41 R 0.077779)
+ (KRN O 51 R 0.077779)
+ (KRN O 135 R 0.077779)
+ )
+ )
+(CHARACTER O 14
+ (CHARWD R 0.555557)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 15
+ (CHARWD R 0.555557)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 16
+ (CHARWD R 0.833336)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 17
+ (CHARWD R 0.833336)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 20
+ (CHARWD R 0.277779)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER O 21
+ (CHARWD R 0.305557)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER O 22
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 23
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 24
+ (CHARWD R 0.500002)
+ (CHARHT R 0.628473)
+ )
+(CHARACTER O 25
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 26
+ (CHARWD R 0.500002)
+ (CHARHT R 0.567777)
+ )
+(CHARACTER O 27
+ (CHARWD R 0.750002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 30
+ (CHARWD R 0.444446)
+ (CHARDP R 0.170138)
+ )
+(CHARACTER O 31
+ (CHARWD R 0.500003)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 32
+ (CHARWD R 0.722224)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER O 33
+ (CHARWD R 0.777781)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER O 34
+ (CHARWD R 0.500002)
+ (CHARHT R 0.527779)
+ (CHARDP R 0.097223)
+ )
+(CHARACTER O 35
+ (CHARWD R 0.902781)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 36
+ (CHARWD R 1.013891)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 37
+ (CHARWD R 0.777781)
+ (CHARHT R 0.731944)
+ (CHARDP R 0.048612)
+ )
+(CHARACTER O 40
+ (CHARWD R 0.277779)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C l R -0.277779)
+ (KRN C L R -0.319446)
+ )
+ )
+(CHARACTER O 41
+ (CHARWD R 0.277779)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (LIG O 140 O 74)
+ )
+ )
+(CHARACTER O 42
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 43
+ (CHARWD R 0.833336)
+ (CHARHT R 0.694445)
+ (CHARDP R 0.194443)
+ )
+(CHARACTER O 44
+ (CHARWD R 0.500002)
+ (CHARHT R 0.75)
+ (CHARDP R 0.055555)
+ )
+(CHARACTER O 45
+ (CHARWD R 0.833336)
+ (CHARHT R 0.75)
+ (CHARDP R 0.055555)
+ )
+(CHARACTER O 46
+ (CHARWD R 0.777781)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 47
+ (CHARWD R 0.277779)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (LIG O 47 O 42)
+ (KRN O 77 R 0.111112)
+ (KRN O 41 R 0.111112)
+ )
+ )
+(CHARACTER O 50
+ (CHARWD R 0.38889)
+ (CHARHT R 0.75)
+ (CHARDP R 0.25)
+ )
+(CHARACTER O 51
+ (CHARWD R 0.38889)
+ (CHARHT R 0.75)
+ (CHARDP R 0.25)
+ )
+(CHARACTER O 52
+ (CHARWD R 0.500002)
+ (CHARHT R 0.75)
+ )
+(CHARACTER O 53
+ (CHARWD R 0.777781)
+ (CHARHT R 0.583334)
+ (CHARDP R 0.083334)
+ )
+(CHARACTER O 54
+ (CHARWD R 0.277779)
+ (CHARHT R 0.105556)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER O 55
+ (CHARWD R 0.333334)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (LIG O 55 O 173)
+ )
+ )
+(CHARACTER O 56
+ (CHARWD R 0.277779)
+ (CHARHT R 0.105556)
+ )
+(CHARACTER O 57
+ (CHARWD R 0.500002)
+ (CHARHT R 0.75)
+ (CHARDP R 0.25)
+ )
+(CHARACTER C 0
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 1
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 2
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 3
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 4
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 5
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 6
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 7
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 8
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 9
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER O 72
+ (CHARWD R 0.277779)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER O 73
+ (CHARWD R 0.277779)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER O 74
+ (CHARWD R 0.277779)
+ (CHARHT R 0.5)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER O 75
+ (CHARWD R 0.777781)
+ (CHARHT R 0.366875)
+ (CHARDP R -0.133125)
+ )
+(CHARACTER O 76
+ (CHARWD R 0.472224)
+ (CHARHT R 0.5)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER O 77
+ (CHARWD R 0.472224)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (LIG O 140 O 76)
+ )
+ )
+(CHARACTER O 100
+ (CHARWD R 0.777781)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER C A
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C t R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C O R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C U R -0.027779)
+ (KRN C Q R -0.027779)
+ (KRN C T R -0.083334)
+ (KRN C Y R -0.083334)
+ (KRN C V R -0.111112)
+ (KRN C W R -0.111112)
+ )
+ )
+(CHARACTER C B
+ (CHARWD R 0.708336)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C C
+ (CHARWD R 0.722224)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C D
+ (CHARWD R 0.763891)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C X R -0.027779)
+ (KRN C W R -0.027779)
+ (KRN C A R -0.027779)
+ (KRN C V R -0.027779)
+ (KRN C Y R -0.027779)
+ )
+ )
+(CHARACTER C E
+ (CHARWD R 0.680557)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C F
+ (CHARWD R 0.652781)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C o R -0.083334)
+ (KRN C e R -0.083334)
+ (KRN C u R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.111112)
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ )
+ )
+(CHARACTER C G
+ (CHARWD R 0.784724)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C H
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C I
+ (CHARWD R 0.361112)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C I R 0.027779)
+ )
+ )
+(CHARACTER C J
+ (CHARWD R 0.51389)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C K
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ )
+ )
+(CHARACTER C L
+ (CHARWD R 0.625002)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C T R -0.083334)
+ (KRN C Y R -0.083334)
+ (KRN C V R -0.111112)
+ (KRN C W R -0.111112)
+ )
+ )
+(CHARACTER C M
+ (CHARWD R 0.916669)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C N
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C O
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C X R -0.027779)
+ (KRN C W R -0.027779)
+ (KRN C A R -0.027779)
+ (KRN C V R -0.027779)
+ (KRN C Y R -0.027779)
+ )
+ )
+(CHARACTER C P
+ (CHARWD R 0.680557)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C A R -0.083334)
+ (KRN C o R -0.027779)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN O 56 R -0.083334)
+ (KRN O 54 R -0.083334)
+ )
+ )
+(CHARACTER C Q
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER C R
+ (CHARWD R 0.736113)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C t R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C O R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C U R -0.027779)
+ (KRN C Q R -0.027779)
+ (KRN C T R -0.083334)
+ (KRN C Y R -0.083334)
+ (KRN C V R -0.111112)
+ (KRN C W R -0.111112)
+ )
+ )
+(CHARACTER C S
+ (CHARWD R 0.555557)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C T
+ (CHARWD R 0.722224)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C y R -0.027779)
+ (KRN C e R -0.083334)
+ (KRN C o R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.083334)
+ (KRN C u R -0.083334)
+ )
+ )
+(CHARACTER C U
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C V
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C o R -0.083334)
+ (KRN C e R -0.083334)
+ (KRN C u R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.111112)
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ )
+ )
+(CHARACTER C W
+ (CHARWD R 1.027781)
+ (CHARHT R 0.683332)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C o R -0.083334)
+ (KRN C e R -0.083334)
+ (KRN C u R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.111112)
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ )
+ )
+(CHARACTER C X
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ )
+ )
+(CHARACTER C Y
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ (CHARIC R 0.025)
+ (COMMENT
+ (KRN C e R -0.083334)
+ (KRN C o R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.083334)
+ (KRN C u R -0.083334)
+ )
+ )
+(CHARACTER C Z
+ (CHARWD R 0.611113)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 133
+ (CHARWD R 0.277779)
+ (CHARHT R 0.75)
+ (CHARDP R 0.25)
+ )
+(CHARACTER O 134
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 135
+ (CHARWD R 0.277779)
+ (CHARHT R 0.75)
+ (CHARDP R 0.25)
+ )
+(CHARACTER O 136
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 137
+ (CHARWD R 0.277779)
+ (CHARHT R 0.667859)
+ )
+(CHARACTER O 140
+ (CHARWD R 0.277779)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (LIG O 140 O 134)
+ )
+ )
+(CHARACTER C a
+ (CHARWD R 0.500002)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C v R -0.027779)
+ (KRN C j R 0.055555)
+ (KRN C y R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C b
+ (CHARWD R 0.555557)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (KRN C e R 0.027779)
+ (KRN C o R 0.027779)
+ (KRN C x R -0.027779)
+ (KRN C d R 0.027779)
+ (KRN C c R 0.027779)
+ (KRN C q R 0.027779)
+ (KRN C v R -0.027779)
+ (KRN C j R 0.055555)
+ (KRN C y R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C c
+ (CHARWD R 0.444446)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C h R -0.027779)
+ (KRN C k R -0.027779)
+ )
+ )
+(CHARACTER C d
+ (CHARWD R 0.555557)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER C e
+ (CHARWD R 0.444446)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER C f
+ (CHARWD R 0.305557)
+ (CHARHT R 0.694445)
+ (CHARIC R 0.077779)
+ (COMMENT
+ (LIG C i O 14)
+ (LIG C f O 13)
+ (LIG C l O 15)
+ (KRN O 47 R 0.077779)
+ (KRN O 77 R 0.077779)
+ (KRN O 41 R 0.077779)
+ (KRN O 51 R 0.077779)
+ (KRN O 135 R 0.077779)
+ )
+ )
+(CHARACTER C g
+ (CHARWD R 0.500002)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C j R 0.027779)
+ )
+ )
+(CHARACTER C h
+ (CHARWD R 0.555557)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (KRN C t R -0.027779)
+ (KRN C u R -0.027779)
+ (KRN C b R -0.027779)
+ (KRN C y R -0.027779)
+ (KRN C v R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C i
+ (CHARWD R 0.277779)
+ (CHARHT R 0.667859)
+ )
+(CHARACTER C j
+ (CHARWD R 0.305557)
+ (CHARHT R 0.667859)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER C k
+ (CHARWD R 0.527781)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (KRN C a R -0.055555)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN C o R -0.027779)
+ (KRN C c R -0.027779)
+ )
+ )
+(CHARACTER C l
+ (CHARWD R 0.277779)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER C m
+ (CHARWD R 0.833336)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C t R -0.027779)
+ (KRN C u R -0.027779)
+ (KRN C b R -0.027779)
+ (KRN C y R -0.027779)
+ (KRN C v R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C n
+ (CHARWD R 0.555557)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C t R -0.027779)
+ (KRN C u R -0.027779)
+ (KRN C b R -0.027779)
+ (KRN C y R -0.027779)
+ (KRN C v R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C o
+ (CHARWD R 0.500002)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C e R 0.027779)
+ (KRN C o R 0.027779)
+ (KRN C x R -0.027779)
+ (KRN C d R 0.027779)
+ (KRN C c R 0.027779)
+ (KRN C q R 0.027779)
+ (KRN C v R -0.027779)
+ (KRN C j R 0.055555)
+ (KRN C y R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C p
+ (CHARWD R 0.555557)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ (COMMENT
+ (KRN C e R 0.027779)
+ (KRN C o R 0.027779)
+ (KRN C x R -0.027779)
+ (KRN C d R 0.027779)
+ (KRN C c R 0.027779)
+ (KRN C q R 0.027779)
+ (KRN C v R -0.027779)
+ (KRN C j R 0.055555)
+ (KRN C y R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C q
+ (CHARWD R 0.527779)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER C r
+ (CHARWD R 0.391668)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER C s
+ (CHARWD R 0.394445)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER C t
+ (CHARWD R 0.38889)
+ (CHARHT R 0.61508)
+ (COMMENT
+ (KRN C y R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C u
+ (CHARWD R 0.555557)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C v
+ (CHARWD R 0.527781)
+ (CHARHT R 0.430555)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C a R -0.055555)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN C o R -0.027779)
+ (KRN C c R -0.027779)
+ )
+ )
+(CHARACTER C w
+ (CHARWD R 0.722224)
+ (CHARHT R 0.430555)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN C o R -0.027779)
+ (KRN C c R -0.027779)
+ )
+ )
+(CHARACTER C x
+ (CHARWD R 0.527781)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER C y
+ (CHARWD R 0.527781)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C o R -0.027779)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN O 56 R -0.083334)
+ (KRN O 54 R -0.083334)
+ )
+ )
+(CHARACTER C z
+ (CHARWD R 0.444446)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER O 173
+ (CHARWD R 0.500002)
+ (CHARHT R 0.430555)
+ (CHARIC R 0.027779)
+ (COMMENT
+ (LIG O 55 O 174)
+ )
+ )
+(CHARACTER O 174
+ (CHARWD R 1.000003)
+ (CHARHT R 0.430555)
+ (CHARIC R 0.027779)
+ )
+(CHARACTER O 175
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 176
+ (CHARWD R 0.500002)
+ (CHARHT R 0.667859)
+ )
+(CHARACTER O 177
+ (CHARWD R 0.500002)
+ (CHARHT R 0.667859)
+ )
Property changes on: branches/stable/source/src/texk/web2c/tests/fonttoobig-ds1024.pl
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/stable/source/src/texk/web2c/tests/fonttoobig-ds1024.tfm
===================================================================
(Binary files differ)
Index: branches/stable/source/src/texk/web2c/tests/fonttoobig-ds1024.tfm
===================================================================
--- branches/stable/source/src/texk/web2c/tests/fonttoobig-ds1024.tfm 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/tests/fonttoobig-ds1024.tfm 2025-02-15 16:07:47 UTC (rev 951)
Property changes on: branches/stable/source/src/texk/web2c/tests/fonttoobig-ds1024.tfm
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/x-tex-tfm
\ No newline at end of property
Added: branches/stable/source/src/texk/web2c/tests/fonttoobig-ds256.pl
===================================================================
--- branches/stable/source/src/texk/web2c/tests/fonttoobig-ds256.pl (rev 0)
+++ branches/stable/source/src/texk/web2c/tests/fonttoobig-ds256.pl 2025-02-15 16:07:47 UTC (rev 951)
@@ -0,0 +1,981 @@
+(FAMILY CMR)
+(FACE O 352)
+(CODINGSCHEME TEX TEXT)
+(DESIGNSIZE R 256.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(comment This is cmr10 with designsize changed to 256, for fonttoobig.tex.)
+(SEVENBITSAFEFLAG TRUE)
+(FONTDIMEN
+ (SLANT R 0.0)
+ (SPACE R 0.333334)
+ (STRETCH R 0.166667)
+ (SHRINK R 0.111112)
+ (XHEIGHT R 0.430555)
+ (QUAD R 1.000003)
+ (EXTRASPACE R 0.111112)
+ )
+(LIGTABLE
+ (LABEL O 40)
+ (KRN C l R -0.277779)
+ (KRN C L R -0.319446)
+ (STOP)
+ (LABEL C f)
+ (LIG C i O 14)
+ (LIG C f O 13)
+ (LIG C l O 15)
+ (KRN O 47 R 0.077779)
+ (KRN O 77 R 0.077779)
+ (KRN O 41 R 0.077779)
+ (KRN O 51 R 0.077779)
+ (KRN O 135 R 0.077779)
+ (STOP)
+ (LABEL O 13)
+ (LIG C i O 16)
+ (LIG C l O 17)
+ (KRN O 47 R 0.077779)
+ (KRN O 77 R 0.077779)
+ (KRN O 41 R 0.077779)
+ (KRN O 51 R 0.077779)
+ (KRN O 135 R 0.077779)
+ (STOP)
+ (LABEL O 140)
+ (LIG O 140 O 134)
+ (STOP)
+ (LABEL O 47)
+ (LIG O 47 O 42)
+ (KRN O 77 R 0.111112)
+ (KRN O 41 R 0.111112)
+ (STOP)
+ (LABEL O 55)
+ (LIG O 55 O 173)
+ (STOP)
+ (LABEL O 173)
+ (LIG O 55 O 174)
+ (STOP)
+ (LABEL O 41)
+ (LIG O 140 O 74)
+ (STOP)
+ (LABEL O 77)
+ (LIG O 140 O 76)
+ (STOP)
+ (LABEL C k)
+ (LABEL C v)
+ (KRN C a R -0.055555)
+ (LABEL C w)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN C o R -0.027779)
+ (KRN C c R -0.027779)
+ (STOP)
+ (LABEL C P)
+ (KRN C A R -0.083334)
+ (LABEL C y)
+ (KRN C o R -0.027779)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN O 56 R -0.083334)
+ (KRN O 54 R -0.083334)
+ (STOP)
+ (LABEL C F)
+ (LABEL C V)
+ (LABEL C W)
+ (KRN C o R -0.083334)
+ (KRN C e R -0.083334)
+ (KRN C u R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.111112)
+ (LABEL C K)
+ (LABEL C X)
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ (STOP)
+ (LABEL C T)
+ (KRN C y R -0.027779)
+ (LABEL C Y)
+ (KRN C e R -0.083334)
+ (KRN C o R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.083334)
+ (KRN C u R -0.083334)
+ (STOP)
+ (LABEL C D)
+ (LABEL C O)
+ (KRN C X R -0.027779)
+ (KRN C W R -0.027779)
+ (KRN C A R -0.027779)
+ (KRN C V R -0.027779)
+ (KRN C Y R -0.027779)
+ (STOP)
+ (LABEL C h)
+ (LABEL C m)
+ (LABEL C n)
+ (KRN C t R -0.027779)
+ (KRN C u R -0.027779)
+ (KRN C b R -0.027779)
+ (KRN C y R -0.027779)
+ (KRN C v R -0.027779)
+ (KRN C w R -0.027779)
+ (STOP)
+ (LABEL C c)
+ (KRN C h R -0.027779)
+ (KRN C k R -0.027779)
+ (STOP)
+ (LABEL C b)
+ (LABEL C o)
+ (LABEL C p)
+ (KRN C e R 0.027779)
+ (KRN C o R 0.027779)
+ (KRN C x R -0.027779)
+ (KRN C d R 0.027779)
+ (KRN C c R 0.027779)
+ (KRN C q R 0.027779)
+ (LABEL C a)
+ (KRN C v R -0.027779)
+ (KRN C j R 0.055555)
+ (LABEL C t)
+ (KRN C y R -0.027779)
+ (LABEL C u)
+ (KRN C w R -0.027779)
+ (STOP)
+ (LABEL C A)
+ (LABEL C R)
+ (KRN C t R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C O R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C U R -0.027779)
+ (KRN C Q R -0.027779)
+ (LABEL C L)
+ (KRN C T R -0.083334)
+ (KRN C Y R -0.083334)
+ (KRN C V R -0.111112)
+ (KRN C W R -0.111112)
+ (STOP)
+ (LABEL C g)
+ (KRN C j R 0.027779)
+ (STOP)
+ (LABEL C I)
+ (KRN C I R 0.027779)
+ (STOP)
+ )
+(CHARACTER O 0
+ (CHARWD R 0.625002)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 1
+ (CHARWD R 0.833336)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 2
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 3
+ (CHARWD R 0.694446)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 4
+ (CHARWD R 0.666669)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 5
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 6
+ (CHARWD R 0.722224)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 7
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 10
+ (CHARWD R 0.722224)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 11
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 12
+ (CHARWD R 0.722224)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 13
+ (CHARWD R 0.583336)
+ (CHARHT R 0.694445)
+ (CHARIC R 0.077779)
+ (COMMENT
+ (LIG C i O 16)
+ (LIG C l O 17)
+ (KRN O 47 R 0.077779)
+ (KRN O 77 R 0.077779)
+ (KRN O 41 R 0.077779)
+ (KRN O 51 R 0.077779)
+ (KRN O 135 R 0.077779)
+ )
+ )
+(CHARACTER O 14
+ (CHARWD R 0.555557)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 15
+ (CHARWD R 0.555557)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 16
+ (CHARWD R 0.833336)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 17
+ (CHARWD R 0.833336)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 20
+ (CHARWD R 0.277779)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER O 21
+ (CHARWD R 0.305557)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER O 22
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 23
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 24
+ (CHARWD R 0.500002)
+ (CHARHT R 0.628473)
+ )
+(CHARACTER O 25
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 26
+ (CHARWD R 0.500002)
+ (CHARHT R 0.567777)
+ )
+(CHARACTER O 27
+ (CHARWD R 0.750002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 30
+ (CHARWD R 0.444446)
+ (CHARDP R 0.170138)
+ )
+(CHARACTER O 31
+ (CHARWD R 0.500003)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 32
+ (CHARWD R 0.722224)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER O 33
+ (CHARWD R 0.777781)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER O 34
+ (CHARWD R 0.500002)
+ (CHARHT R 0.527779)
+ (CHARDP R 0.097223)
+ )
+(CHARACTER O 35
+ (CHARWD R 0.902781)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 36
+ (CHARWD R 1.013891)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 37
+ (CHARWD R 0.777781)
+ (CHARHT R 0.731944)
+ (CHARDP R 0.048612)
+ )
+(CHARACTER O 40
+ (CHARWD R 0.277779)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C l R -0.277779)
+ (KRN C L R -0.319446)
+ )
+ )
+(CHARACTER O 41
+ (CHARWD R 0.277779)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (LIG O 140 O 74)
+ )
+ )
+(CHARACTER O 42
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 43
+ (CHARWD R 0.833336)
+ (CHARHT R 0.694445)
+ (CHARDP R 0.194443)
+ )
+(CHARACTER O 44
+ (CHARWD R 0.500002)
+ (CHARHT R 0.75)
+ (CHARDP R 0.055555)
+ )
+(CHARACTER O 45
+ (CHARWD R 0.833336)
+ (CHARHT R 0.75)
+ (CHARDP R 0.055555)
+ )
+(CHARACTER O 46
+ (CHARWD R 0.777781)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 47
+ (CHARWD R 0.277779)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (LIG O 47 O 42)
+ (KRN O 77 R 0.111112)
+ (KRN O 41 R 0.111112)
+ )
+ )
+(CHARACTER O 50
+ (CHARWD R 0.38889)
+ (CHARHT R 0.75)
+ (CHARDP R 0.25)
+ )
+(CHARACTER O 51
+ (CHARWD R 0.38889)
+ (CHARHT R 0.75)
+ (CHARDP R 0.25)
+ )
+(CHARACTER O 52
+ (CHARWD R 0.500002)
+ (CHARHT R 0.75)
+ )
+(CHARACTER O 53
+ (CHARWD R 0.777781)
+ (CHARHT R 0.583334)
+ (CHARDP R 0.083334)
+ )
+(CHARACTER O 54
+ (CHARWD R 0.277779)
+ (CHARHT R 0.105556)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER O 55
+ (CHARWD R 0.333334)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (LIG O 55 O 173)
+ )
+ )
+(CHARACTER O 56
+ (CHARWD R 0.277779)
+ (CHARHT R 0.105556)
+ )
+(CHARACTER O 57
+ (CHARWD R 0.500002)
+ (CHARHT R 0.75)
+ (CHARDP R 0.25)
+ )
+(CHARACTER C 0
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 1
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 2
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 3
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 4
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 5
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 6
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 7
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 8
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER C 9
+ (CHARWD R 0.500002)
+ (CHARHT R 0.644444)
+ )
+(CHARACTER O 72
+ (CHARWD R 0.277779)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER O 73
+ (CHARWD R 0.277779)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER O 74
+ (CHARWD R 0.277779)
+ (CHARHT R 0.5)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER O 75
+ (CHARWD R 0.777781)
+ (CHARHT R 0.366875)
+ (CHARDP R -0.133125)
+ )
+(CHARACTER O 76
+ (CHARWD R 0.472224)
+ (CHARHT R 0.5)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER O 77
+ (CHARWD R 0.472224)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (LIG O 140 O 76)
+ )
+ )
+(CHARACTER O 100
+ (CHARWD R 0.777781)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER C A
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C t R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C O R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C U R -0.027779)
+ (KRN C Q R -0.027779)
+ (KRN C T R -0.083334)
+ (KRN C Y R -0.083334)
+ (KRN C V R -0.111112)
+ (KRN C W R -0.111112)
+ )
+ )
+(CHARACTER C B
+ (CHARWD R 0.708336)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C C
+ (CHARWD R 0.722224)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C D
+ (CHARWD R 0.763891)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C X R -0.027779)
+ (KRN C W R -0.027779)
+ (KRN C A R -0.027779)
+ (KRN C V R -0.027779)
+ (KRN C Y R -0.027779)
+ )
+ )
+(CHARACTER C E
+ (CHARWD R 0.680557)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C F
+ (CHARWD R 0.652781)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C o R -0.083334)
+ (KRN C e R -0.083334)
+ (KRN C u R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.111112)
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ )
+ )
+(CHARACTER C G
+ (CHARWD R 0.784724)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C H
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C I
+ (CHARWD R 0.361112)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C I R 0.027779)
+ )
+ )
+(CHARACTER C J
+ (CHARWD R 0.51389)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C K
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ )
+ )
+(CHARACTER C L
+ (CHARWD R 0.625002)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C T R -0.083334)
+ (KRN C Y R -0.083334)
+ (KRN C V R -0.111112)
+ (KRN C W R -0.111112)
+ )
+ )
+(CHARACTER C M
+ (CHARWD R 0.916669)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C N
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C O
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C X R -0.027779)
+ (KRN C W R -0.027779)
+ (KRN C A R -0.027779)
+ (KRN C V R -0.027779)
+ (KRN C Y R -0.027779)
+ )
+ )
+(CHARACTER C P
+ (CHARWD R 0.680557)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C A R -0.083334)
+ (KRN C o R -0.027779)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN O 56 R -0.083334)
+ (KRN O 54 R -0.083334)
+ )
+ )
+(CHARACTER C Q
+ (CHARWD R 0.777781)
+ (CHARHT R 0.683332)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER C R
+ (CHARWD R 0.736113)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C t R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C O R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C U R -0.027779)
+ (KRN C Q R -0.027779)
+ (KRN C T R -0.083334)
+ (KRN C Y R -0.083334)
+ (KRN C V R -0.111112)
+ (KRN C W R -0.111112)
+ )
+ )
+(CHARACTER C S
+ (CHARWD R 0.555557)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C T
+ (CHARWD R 0.722224)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C y R -0.027779)
+ (KRN C e R -0.083334)
+ (KRN C o R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.083334)
+ (KRN C u R -0.083334)
+ )
+ )
+(CHARACTER C U
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER C V
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C o R -0.083334)
+ (KRN C e R -0.083334)
+ (KRN C u R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.111112)
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ )
+ )
+(CHARACTER C W
+ (CHARWD R 1.027781)
+ (CHARHT R 0.683332)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C o R -0.083334)
+ (KRN C e R -0.083334)
+ (KRN C u R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.111112)
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ )
+ )
+(CHARACTER C X
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ (COMMENT
+ (KRN C O R -0.027779)
+ (KRN C C R -0.027779)
+ (KRN C G R -0.027779)
+ (KRN C Q R -0.027779)
+ )
+ )
+(CHARACTER C Y
+ (CHARWD R 0.750002)
+ (CHARHT R 0.683332)
+ (CHARIC R 0.025)
+ (COMMENT
+ (KRN C e R -0.083334)
+ (KRN C o R -0.083334)
+ (KRN C r R -0.083334)
+ (KRN C a R -0.083334)
+ (KRN C A R -0.083334)
+ (KRN C u R -0.083334)
+ )
+ )
+(CHARACTER C Z
+ (CHARWD R 0.611113)
+ (CHARHT R 0.683332)
+ )
+(CHARACTER O 133
+ (CHARWD R 0.277779)
+ (CHARHT R 0.75)
+ (CHARDP R 0.25)
+ )
+(CHARACTER O 134
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 135
+ (CHARWD R 0.277779)
+ (CHARHT R 0.75)
+ (CHARDP R 0.25)
+ )
+(CHARACTER O 136
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 137
+ (CHARWD R 0.277779)
+ (CHARHT R 0.667859)
+ )
+(CHARACTER O 140
+ (CHARWD R 0.277779)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (LIG O 140 O 134)
+ )
+ )
+(CHARACTER C a
+ (CHARWD R 0.500002)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C v R -0.027779)
+ (KRN C j R 0.055555)
+ (KRN C y R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C b
+ (CHARWD R 0.555557)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (KRN C e R 0.027779)
+ (KRN C o R 0.027779)
+ (KRN C x R -0.027779)
+ (KRN C d R 0.027779)
+ (KRN C c R 0.027779)
+ (KRN C q R 0.027779)
+ (KRN C v R -0.027779)
+ (KRN C j R 0.055555)
+ (KRN C y R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C c
+ (CHARWD R 0.444446)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C h R -0.027779)
+ (KRN C k R -0.027779)
+ )
+ )
+(CHARACTER C d
+ (CHARWD R 0.555557)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER C e
+ (CHARWD R 0.444446)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER C f
+ (CHARWD R 0.305557)
+ (CHARHT R 0.694445)
+ (CHARIC R 0.077779)
+ (COMMENT
+ (LIG C i O 14)
+ (LIG C f O 13)
+ (LIG C l O 15)
+ (KRN O 47 R 0.077779)
+ (KRN O 77 R 0.077779)
+ (KRN O 41 R 0.077779)
+ (KRN O 51 R 0.077779)
+ (KRN O 135 R 0.077779)
+ )
+ )
+(CHARACTER C g
+ (CHARWD R 0.500002)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C j R 0.027779)
+ )
+ )
+(CHARACTER C h
+ (CHARWD R 0.555557)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (KRN C t R -0.027779)
+ (KRN C u R -0.027779)
+ (KRN C b R -0.027779)
+ (KRN C y R -0.027779)
+ (KRN C v R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C i
+ (CHARWD R 0.277779)
+ (CHARHT R 0.667859)
+ )
+(CHARACTER C j
+ (CHARWD R 0.305557)
+ (CHARHT R 0.667859)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER C k
+ (CHARWD R 0.527781)
+ (CHARHT R 0.694445)
+ (COMMENT
+ (KRN C a R -0.055555)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN C o R -0.027779)
+ (KRN C c R -0.027779)
+ )
+ )
+(CHARACTER C l
+ (CHARWD R 0.277779)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER C m
+ (CHARWD R 0.833336)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C t R -0.027779)
+ (KRN C u R -0.027779)
+ (KRN C b R -0.027779)
+ (KRN C y R -0.027779)
+ (KRN C v R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C n
+ (CHARWD R 0.555557)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C t R -0.027779)
+ (KRN C u R -0.027779)
+ (KRN C b R -0.027779)
+ (KRN C y R -0.027779)
+ (KRN C v R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C o
+ (CHARWD R 0.500002)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C e R 0.027779)
+ (KRN C o R 0.027779)
+ (KRN C x R -0.027779)
+ (KRN C d R 0.027779)
+ (KRN C c R 0.027779)
+ (KRN C q R 0.027779)
+ (KRN C v R -0.027779)
+ (KRN C j R 0.055555)
+ (KRN C y R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C p
+ (CHARWD R 0.555557)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ (COMMENT
+ (KRN C e R 0.027779)
+ (KRN C o R 0.027779)
+ (KRN C x R -0.027779)
+ (KRN C d R 0.027779)
+ (KRN C c R 0.027779)
+ (KRN C q R 0.027779)
+ (KRN C v R -0.027779)
+ (KRN C j R 0.055555)
+ (KRN C y R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C q
+ (CHARWD R 0.527779)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ )
+(CHARACTER C r
+ (CHARWD R 0.391668)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER C s
+ (CHARWD R 0.394445)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER C t
+ (CHARWD R 0.38889)
+ (CHARHT R 0.61508)
+ (COMMENT
+ (KRN C y R -0.027779)
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C u
+ (CHARWD R 0.555557)
+ (CHARHT R 0.430555)
+ (COMMENT
+ (KRN C w R -0.027779)
+ )
+ )
+(CHARACTER C v
+ (CHARWD R 0.527781)
+ (CHARHT R 0.430555)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C a R -0.055555)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN C o R -0.027779)
+ (KRN C c R -0.027779)
+ )
+ )
+(CHARACTER C w
+ (CHARWD R 0.722224)
+ (CHARHT R 0.430555)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN C o R -0.027779)
+ (KRN C c R -0.027779)
+ )
+ )
+(CHARACTER C x
+ (CHARWD R 0.527781)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER C y
+ (CHARWD R 0.527781)
+ (CHARHT R 0.430555)
+ (CHARDP R 0.194445)
+ (CHARIC R 0.013888)
+ (COMMENT
+ (KRN C o R -0.027779)
+ (KRN C e R -0.027779)
+ (KRN C a R -0.027779)
+ (KRN O 56 R -0.083334)
+ (KRN O 54 R -0.083334)
+ )
+ )
+(CHARACTER C z
+ (CHARWD R 0.444446)
+ (CHARHT R 0.430555)
+ )
+(CHARACTER O 173
+ (CHARWD R 0.500002)
+ (CHARHT R 0.430555)
+ (CHARIC R 0.027779)
+ (COMMENT
+ (LIG O 55 O 174)
+ )
+ )
+(CHARACTER O 174
+ (CHARWD R 1.000003)
+ (CHARHT R 0.430555)
+ (CHARIC R 0.027779)
+ )
+(CHARACTER O 175
+ (CHARWD R 0.500002)
+ (CHARHT R 0.694445)
+ )
+(CHARACTER O 176
+ (CHARWD R 0.500002)
+ (CHARHT R 0.667859)
+ )
+(CHARACTER O 177
+ (CHARWD R 0.500002)
+ (CHARHT R 0.667859)
+ )
Property changes on: branches/stable/source/src/texk/web2c/tests/fonttoobig-ds256.pl
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/stable/source/src/texk/web2c/tests/fonttoobig-ds256.tfm
===================================================================
(Binary files differ)
Index: branches/stable/source/src/texk/web2c/tests/fonttoobig-ds256.tfm
===================================================================
--- branches/stable/source/src/texk/web2c/tests/fonttoobig-ds256.tfm 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/tests/fonttoobig-ds256.tfm 2025-02-15 16:07:47 UTC (rev 951)
Property changes on: branches/stable/source/src/texk/web2c/tests/fonttoobig-ds256.tfm
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/x-tex-tfm
\ No newline at end of property
Added: branches/stable/source/src/texk/web2c/tests/fonttoobig.tex
===================================================================
--- branches/stable/source/src/texk/web2c/tests/fonttoobig.tex (rev 0)
+++ branches/stable/source/src/texk/web2c/tests/fonttoobig.tex 2025-02-15 16:07:47 UTC (rev 951)
@@ -0,0 +1,16 @@
+% $Id: fonttoobig.tex 73614 2025-01-27 22:21:07Z karl $
+% Test file (runs with initex) for scaling fonts so much that overflow
+% or silent transformation of user's value occurs. Public domain.
+% See "scaling fonts to 2048pt" in tex.ch.
+%
+% These fonts are also in the web2c/tests directory, siblings to this file.
+
+\font\x=./fonttoobig-ds1024 scaled 32000
+\show\x % without fix, get \x=select font bug at 1000.0pt.
+
+\font\x=./fonttoobig-ds256 scaled 8000 % fpe
+
+\font\x=./io scaled 16000 \x 0 % fpe per igor tex-k 25 Jun 2021 10:27:28
+\font\x=./io scaled 15999 \x 0 % ok
+\end
+
Property changes on: branches/stable/source/src/texk/web2c/tests/fonttoobig.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/stable/source/src/texk/web2c/tests/io.tfm
===================================================================
(Binary files differ)
Index: branches/stable/source/src/texk/web2c/tests/io.tfm
===================================================================
--- branches/stable/source/src/texk/web2c/tests/io.tfm 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/tests/io.tfm 2025-02-15 16:07:47 UTC (rev 951)
Property changes on: branches/stable/source/src/texk/web2c/tests/io.tfm
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: branches/stable/source/src/texk/web2c/tests/outerdel.tex
===================================================================
--- branches/stable/source/src/texk/web2c/tests/outerdel.tex (rev 0)
+++ branches/stable/source/src/texk/web2c/tests/outerdel.tex 2025-02-15 16:07:47 UTC (rev 951)
@@ -0,0 +1,112 @@
+% $Id: outerdel.tex 73679 2025-02-01 22:56:43Z karl $
+% Public domain, from Udo Wermuth.
+%
+% Running TeX on this will provoke an error.
+% Deleting 3 tokens at the interactive prompt should result in
+% ! File ended while scanning definition of \one.
+% and not delete tokens through eof.
+% Full message from Udo below (files are renamed for inclusion web2c).
+%
+% BTW, there are no \outer tokens involved in this test, but the original
+% change involved deleting \outer tokens.
+% https://tug.org/pipermail/tex-k/2024-March/004021.html
+
+\catcode`\{=1 \catcode`\}=2 \let\ea=\expandafter
+\def\zero{z}
+\ea\edef\ea\one\ea{\input outerdelsub.tex\relax\zero}
+\show\one\end
+
+%Date: Fri, 7 Jun 2024 18:04:21 +0200
+%From: Udo Wermuth
+%To: Karl Berry <karl at freefriends.org>
+%Subject: Re: skipping tokens through the end of an input file
+%
+%I think now I know what you want me to do; I saw the error
+%report about \outer in an \edef on tex-k.
+%
+%Lets create two files:
+%1) sub.tex (1 line):
+%x\error y\noexpand
+%
+%2) main.tex (4 lines):
+%\let\ea=\expandafter
+%\def\zero{z}
+%\ea\edef\ea\one\ea{\input sub.tex\relax\zero}
+%\show\one\bye
+%
+%
+%tex sub gives an error
+%
+%! Undefined control sequence.
+%l.1 x\error
+% y\noexpand
+%?
+%
+%When you delete 1, 2, or 3 tokens at the ?-prompt it works as
+%expected. With 2 you get the *-prompt and you can say \bye.
+%With 3 you get the *-prompt too but now a \bye is deleted as
+%one delete operation is still waiting. At the next *-prompt
+%you can enter a valid \bye.
+%With 1 a \bye at the *-prompt is not expanded and thus doesn't
+%work. Again the next *-prompt accepts the \bye.
+%
+%
+%With tex main you get the error as above.
+%
+%With <return> or 1 the definition is finished as the outerness of the
+%eof is canceled by the \noexpand. With 2 the \noexpand is deleted too
+%and a <return> at the next ?-prompt gives a runaway error:
+%
+%Runaway definition?
+%->x
+%! File ended while scanning definition of \one.
+%<inserted text>
+% }
+%<to be read again>
+% \relax
+%l.4 \ea\edef\ea\one\ea{\input sub.tex\relax
+% \zero}
+%?
+%
+%Another <return> reports
+%
+%! Too many }'s.
+%l.4 \ea\edef\ea\one\ea{\input sub.tex\relax\zero}
+%
+%?
+%
+%before the run ends with another <return>. \one is what I expect and a
+%dvi is produced that shows `z' as expected.
+%
+%But with 2 and then a 1 (not a <return>) we get the runaway and with
+%a <return>
+%
+%<inserted text> }
+%
+%<to be read again>
+% \relax
+%l.4 \ea\edef\ea\one\ea{\input sub.tex\relax
+% \zero}
+%?
+%
+%so that the definition can be finished. With 3 instead of 2 the same
+%happens.
+%
+%
+%
+%With the change that inserts OK_to_interrupt things change. When
+%you enter now 2 and 1 or directly 3 you get
+%
+%)
+%<recently read> \relax
+%
+%l.4 \ea\edef\ea\one\ea{\input sub.tex\relax
+% \zero}
+%?
+%
+%That is y, \noexpand, and \relax are deleted. The outerness of the eof
+%doesn't count now and there is no inserted } anymore.
+%
+%I would consider this wrong. Somewhere the file ended and this end should
+%be treated as \outer. One could say in the last case the file ended with
+%the x.
Property changes on: branches/stable/source/src/texk/web2c/tests/outerdel.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: branches/stable/source/src/texk/web2c/tests/outerdelsub.tex
===================================================================
--- branches/stable/source/src/texk/web2c/tests/outerdelsub.tex (rev 0)
+++ branches/stable/source/src/texk/web2c/tests/outerdelsub.tex 2025-02-15 16:07:47 UTC (rev 951)
@@ -0,0 +1,3 @@
+% $Id: outerdelsub.tex 73679 2025-02-01 22:56:43Z karl $
+% Public domain, from Udo Wermuth. See outerdel.tex
+x\error y\noexpand
Property changes on: branches/stable/source/src/texk/web2c/tests/outerdelsub.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: branches/stable/source/src/texk/web2c/tex.ch
===================================================================
--- branches/stable/source/src/texk/web2c/tex.ch 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/texk/web2c/tex.ch 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,4 +1,4 @@
-% $Id: tex.ch 73009 2024-12-01 17:52:26Z karl $
+% $Id: tex.ch 73679 2025-02-01 22:56:43Z karl $
% tex.ch for C compilation with web2c, derived from various other change files.
% By Tim Morgan, UC Irvine ICS Department, and many others.
%
@@ -956,16 +956,22 @@
% [7.104] `remainder' is a library routine on some systems, so change
% its name to avoid conflicts.
- at x [7.104] l.2248 - avoid name conflicts with lib routine remainder()
+ at x [7.104] l.2248 - avoid conflict with libc remainder(), save_arith_error
|remainder|, holds the remainder after a division.
@<Glob...@>=
@y
-|remainder|, holds the remainder after a division.
+|remainder|, holds the remainder after a division. For Web2C, we rename
+it to |tex_remainder| to avoid conflicts with a system library routine
+named |remainder|.
+Also, we define a new variable |save_arith_error| for when we want to
+save and restore |arith_error|, down below.
+
@d remainder==tex_remainder
@<Glob...@>=
+@!save_arith_error:boolean;
@z
@x [7.109] l.2373 - Define glue_ratio in C.
@@ -1521,11 +1527,14 @@
% Original report: https://tug.org/pipermail/tex-k/2024-March/004021.html
% TeX bug entry: https://tug.org/texmfbug/newbug.html#B142outer
- at x [24.336] l.7152 - allow interactive deletion of \outer token
-begin if scanner_status<>normal then
- at y
-begin if OK_to_interrupt and(scanner_status<>normal) then
- at z
+% -- but this has the problem that token deletion will now continue
+% through an eof, which seems undesirable, and not a permissible
+% change for "TeX". See tests/outerdel.tex.
+%@x [24.336] l.7152 - allow interactive deletion of \outer token
+%begin if scanner_status<>normal then
+%@y
+%begin if OK_to_interrupt and(scanner_status<>normal) then
+%@z
@x [24.338] l.7191 - i18n fix
print(" while scanning ");
@@ -2428,6 +2437,25 @@
@d fbyte==tfm_temp
@z
+% Too much font scaling can cause overflows and silently changing the
+% user's value. See tests/fonttoobig.tex for examples. Reports from
+% Igor Liferenko (https://tug.org/pipermail/tex-k/2021-June/003604.html)
+% and Tyge Tiessen (https://tug.org/pipermail/tex-k/2022-January/003752.html).
+% Original patch from Tyge.
+ at x [30.568] l.11072 - Avoid scaling fonts to 2048pt or more.
+ else z:=xn_over_d(z,-s,1000);
+ at y
+ else begin
+ save_arith_error:=arith_error;
+ sw:=z; z:=xn_over_d(z,-s,1000);
+ if arith_error or z>=@'1000000000 then begin
+ start_font_error_message; print(" scaled to 2048pt or higher");
+ help1("I will ignore the scaling factor."); error; z:=sw;
+ end;
+ arith_error:=save_arith_error;
+ end;
+ at z
+
@x [30.570] l.11100 - MLTeX: fix for bug while loading font
begin qw:=char_info(f)(d);
@y
@@ -3419,6 +3447,17 @@
begin if s>0 then
@z
+ at x [49.1260] l.23418 - Avoid scaling fonts to 2048pt or more (see above).
+ else if font_size[f]=xn_over_d(font_dsize[f],-s,1000) then
+ goto common_ending;
+ at y
+ else begin arith_error:=false;
+ if font_size[f]=xn_over_d(font_dsize[f],-s,1000)
+ then if not arith_error
+ then goto common_ending;
+ end;
+ at z
+
@x [49.1265] l.23454 - if batchmode, mktex... scripts should be silent.
interaction:=cur_chr;
@y
Modified: branches/stable/source/src/utils/README
===================================================================
--- branches/stable/source/src/utils/README 2025-02-12 15:47:12 UTC (rev 950)
+++ branches/stable/source/src/utils/README 2025-02-15 16:07:47 UTC (rev 951)
@@ -1,10 +1,10 @@
-$Id: README 70500 2024-03-08 16:00:52Z karl $
+$Id: README 73901 2025-02-11 21:53:03Z karl $
Public domain. Originally written 2005 by Karl Berry.
Extra utilities we (optionally) compile for TeX Live.
See comments in ../texk/README.
-asymptote 2.88 - checked 8mar24
+asymptote 2.99 - checked 11feb25
update to TL from CTAN, to include prebuilt doc.
see https://tug.org/texlive/build.html#asymptote
and tlpkg/bin/tl-update-asy
More information about the pdftex-commits
mailing list.