Arash Esbati skrev 2016-05-10 18.06:
Hi all,

I can't find a way to insert code into the last argument of
\DeclareFontShape in a .fd-file directly from a fontinst driver file.

From the manuals (fontinst.pdf&  fntguide.pdf):

\installfont      {<font-name>} {<metrics-list>} {<etx-list>}
                   {<encoding>} {<family>} {<series>} {<shape>}
                   {<size>}

\DeclareFontShape {<encoding>} {<family>} {<series>} {<shape>}
                   {<loading-info>} {<loading-settings>}

Tokens inside \installfont...{<size>} will end up in
\DeclareFontShape...{<loading-info>}.  I want to have one token in
{<loading-settings>}, preferably without using `sed'.  Any hint, or am
I missing the obvious?

No, you're not missing anything. Fontinst has an interface for putting custom loading-settings in the \DeclareFontFamily declaration (last argument of \installfamily), but not for putting such in individual \DeclareFontShape declarations. Indeed, \fd_shape (which is responsible for generating the \DeclareFontShape declarations) has this sixth argument hardwired to being empty.

I can see two reasons for this:
1. Nobody has (yet) reported an actual use-case for this feature, instead being content with using the \DeclareFontFamily loading settings (and even that is rare). 2. The per-shape storage of FD data in fontinst uses full expansion, so passing arbitrary code that way is not entirely straightforward (but certainly doable).

It's not too hard to implement---easiest would be to have a variant macro \fd_shape_with_loadspec to be used instead of \fd_shape---but I don't see an obvious user level interface for specifying the extra information (\installfont already has a ton of arguments).

Do you have a use-case in mind, or was it just a matter of exploring all options? In the former case, I would be interested to hear about it.

Lars Hellström


Best, Arash

PS Please CC me as I'm not subscribed to this list, TIA.




Reply via email to