Re: [PATCH -perfbook] Convert *.log files into UTF-8 encoding
"Paul E. McKenney" <[email protected]> Fri, 13 Jun 2025 07:35:44 -0700
| Newsgroups | org.kernel.vger.perfbook |
|---|---|
| Message-ID | <bae1d886-18b6-4ee8-bc29-dd48fd71dfa8@paulmck-laptop> |
On Fri, Jun 13, 2025 at 06:33:15PM +0900, Akira Yokosawa wrote: > pdflatex outputs .log files in iso-8859-1 encoding. In our build > scripts, grep assumes UTF-8 encoding for its input by default. > > Practically speaking, the mismatch of encoding is unlikely to cause > any harm. That said, in the build log, there is a suspicious message > from grep: > > ... > pdflatex 1 for perfbook.pdf > grep: perfbook.log: binary file matches <=== > ... > > Converting .log files into UTF-8 on-the-fly can avoid the message. > > Let's do it. > > Signed-off-by: Akira Yokosawa <[email protected]> Queued and pushed, thank you! Thanx, Paul > --- > Note 1: > Unicode ready modern engines such as XeTeX and LuaTex emit .log > files in UTF-8 encoding. > > Note 2: > Currently, perfbook's preamble is not compatible with lualatex > or xelatex. > > Note 3: > iconv should be available by default. > encguess should also be available where perl is installed. > -- > utilities/runfirstlatex.sh | 10 ++++++++++ > utilities/runlatex.sh | 10 ++++++++++ > 2 files changed, 20 insertions(+) > > diff --git a/utilities/runfirstlatex.sh b/utilities/runfirstlatex.sh > index a89e8a70..676502b2 100644 > --- a/utilities/runfirstlatex.sh > +++ b/utilities/runfirstlatex.sh > @@ -72,6 +72,16 @@ basename=`echo $1 | sed -e 's/\.tex$//'` > echo "$LATEX 1 for $basename.pdf" > $LATEX $LATEX_OPT $basename > /dev/null 2>&1 < /dev/null > exitcode=$? > +ENCGUESS_CMD=`command -v encguess` > +if [ "x$ENCGUESS_CMD" != "x" ] > +then > + if encguess -s iso-8859-1 $basename.log | grep -q ISO-8859-1 > + then > + mv $basename.log $basename-tmp.log > + iconv -f ISO-8859-1 -t UTF-8 $basename-tmp.log > $basename.log > + rm $basename-tmp.log > + fi > +fi > if grep -q 'LaTeX Warning: You have requested' $basename.log > then > grep -A 4 'LaTeX Warning: You have requested' $basename.log > diff --git a/utilities/runlatex.sh b/utilities/runlatex.sh > index 358b6baf..17d833ad 100644 > --- a/utilities/runlatex.sh > +++ b/utilities/runlatex.sh > @@ -79,6 +79,16 @@ iterate_latex () { > makeglossaries $basename > /dev/null 2>&1 > $LATEX $LATEX_OPT $basename > /dev/null 2>&1 < /dev/null > exitcode=$? > + ENCGUESS_CMD=`command -v encguess` > + if [ "x$ENCGUESS_CMD" != "x" ] > + then > + if encguess -s iso-8859-1 $basename.log | grep -q ISO-8859-1 > + then > + mv $basename.log $basename-tmp.log > + iconv -f ISO-8859-1 -t UTF-8 $basename-tmp.log > $basename.log > + rm $basename-tmp.log > + fi > + fi > if grep -q '! Emergency stop.' $basename.log > then > grep -B 10 -A 5 '! Emergency stop.' $basename.log > > base-commit: a1bf2e61230301bfc12eba19abfc1c5a880f53be > -- > 2.43.0 >