[latexrefman] it switches from one encoding to another with the @code{\selectfont} or @code{\fontencoding} command

Hefferon, Jim S. jhefferon at smcvt.edu
Mon Sep 20 20:29:34 CEST 2021


\fontencoding just prepares the change to come, and \selectfont does it.

seems OK to me.

> something using Caravan Palace ASCII Art robot logo <|°_°|>

My main thing about examples is that I personally prefer that they be something the reader wants to do.  That way they convey a sense of how real things work.  So if a command is about text then personally I don't like "foo bar," personally I'd rather the example be some text.  Same for math.  I don't remember the ASCII art robot logo, but at a glance it doesn't seem like something that a person would want to use too often.

(I aso, as I've said, don't see why the French and English docs need to use the same examples.)

Jim

...........................................................
Why are they not in jail?

________________________________________
From: Vincent Belaïche <vincent.belaiche at gmail.com>
Sent: Sunday, September 19, 2021 16:52
To: Hefferon, Jim S.
Cc: latexrefman
Subject: Re: [latexrefman] it switches from one encoding to another with the @code{\selectfont} or @code{\fontencoding} command

⚠ External Sender ⚠


This sounds too abstract to me. The encoding is not _actually_ changed
until the \selectfont is run.

   \fontencoding just prepares the change to come, and \selectfont does it.

Would be above be OK for rewording ?
  V.

PS: I think it would be good to examplify this by some example
inspired by the experiment which I have posted on this thread early,
maybe something using Caravan Palace ASCII Art robot logo <|°_°|>,
showing that T1 makes it fine, while OT1 would fail. For Caravan
Palace, see https://www.store-caravanpalace.com/fr/accueil/149-vinyle-caravan-palace.html.

Le dim. 19 sept. 2021 à 22:02, Hefferon, Jim S. <jhefferon at smcvt.edu> a écrit :
>
> Perhaps the right wording is to say it is changed by the first command, but put in place by the other?
>
> Jim
>
>
> ...........................................................
> Why are they not in jail?
> ________________________________
> From: Vincent Belaïche <vincent.belaiche at gmail.com>
> Sent: Saturday, September 18, 2021 13:43
> To: Hefferon, Jim S. <jhefferon at smcvt.edu>
> Cc: latexrefman <latexrefman at tug.org>
> Subject: Re: [latexrefman] it switches from one encoding to another with the @code{\selectfont} or @code{\fontencoding} command
>
> ⚠ External Sender ⚠
>
>
> Hello,
> If I look at the defintion of \fontencoding it contains something like
>
>   \ifx \cf at encoding \f at encoding \let \enc at update \relax \else \let
> \enc at update \@@enc at update \fi
>
> which means that if the current encoding is already that asked for by
> the considered \fontencoding command, then \enc at update is let-defined
> to do nothing, and otherwise \enc at update is let-defined to do the tame
> as \@@enc at update, ie do the real switch.
>
> Then in \selectfont, the last thing in the definition is a call to \enc at update.
>
> I other word, \fontencoding just configures what the next font
> encoding switch would be if any, without doing any switch per se,
> while \selectfont applies the font switch if any as configured by the
> lateest \fontencoding. So \fontencoding is just like passing an
> argument to the next \selectfont, it does not the real job.
>
> This confirms that the wording is not right, and that we need to
> replace « or » by « and », as you need both commands for anything
> observable to occur (otherwise, yes something is occurring, but it
> does not have any observable effect).
>
> This analysis was confirmed by the small experiment that was attached
> to one of my previous email with trying to set what <|> is typeset to,
> either in OT1 or in T1.
>
>   V.
>
> Le mer. 15 sept. 2021 à 15:42, Hefferon, Jim S. <jhefferon at smcvt.edu> a écrit :
> >
> > My copy of the Companion says (edition 1, p 203) "The second argument contains any code (such as definitions) to be executed each time NFSS switches from one encoding to another using the \fontencoding command."  On p 188, it says "Font selection in NFSS is done in two steps * Some or all attributes are changed using the low-level commands \fontencoding ... * The font corresponding to this new setting is selected by calling the \selectfont command."
> >
> > So the wording seems right to me, but if these is any change it seems to me to involve omitting the mention of \selectfont.
> >
> > Jim
> >
> > ...........................................................
> > Why are they not in jail?
> >
> > ________________________________________
> > From: Vincent Belaïche <vincent.belaiche at gmail.com>
> > Sent: Wednesday, September 15, 2021 8:57
> > To: Karl Berry
> > Cc: Hefferon, Jim S.; latexrefman
> > Subject: Re: [latexrefman] it switches from one encoding to another with the @code{\selectfont} or @code{\fontencoding} command
> >
> > ⚠ External Sender ⚠
> >
> >
> > Any feedback (I will replace « or » by « and » in my next commit to
> > [en], last notice before doing that by end of this week, ok we can
> > still undo if I am wrong) ?
> >
> >   V.
> >
> > Le lun. 6 sept. 2021 à 11:41, Vincent Belaïche
> > <vincent.belaiche at gmail.com> a écrit :
> > >
> > > Dear Karl,
> > > I did some experiment (attached). If you pass options to fontenc in
> > > the order OT1, T1, the two last rows will output <|> instead of ¡—¿.
> > > This shows that without \selectfont the encoding is not activated.
> > >
> > > Le dim. 5 sept. 2021 à 00:16, Karl Berry <karl at freefriends.org> a écrit :
> > > >
> > > >     My understanding is the \fontencoding does no immediate switching as
> > > >     such,
> > > >
> > > > Yes it does. Maybe not at the user level, I'm not sure what the
> > > > visible result is, but in the code the switch is made in \fontencoding.
> > > >
> > > >     it just sets the encoding to which the next \selectfont will
> > > >     switch. So ``or'' should be replaced by ``and''.
> > > >
> > > > No it shouldn't.
> > > >
> > > > When I look at the actual definition of \fontencoding (in ltfssbas.dtx),
> > > > the "text-setting" commands from \DeclareFontEncoding are executed:
> > > >
> > > > \DeclareRobustCommand\fontencoding[1]{%
> > > > ..
> > > >   \csname T@\f at encoding\endcsname
> > > > ..
> > > > }
> > > >
> > > > The \csname T@\f at encoding\endcsname cs is where the "text-setting"
> > > > commands were saved.
> > > >
> > > > At a glance, I do not see them being executed as being part of
> > > > \selectfont.
> > > >
> > > > So I suggest doing some experiments to find out the actual facts.
> > > > Failing that, I suggest leaving it alone. -k



More information about the latexrefman mailing list.