<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 9, 2015 at 5:21 PM, David Carlisle <span dir="ltr"><<a href="mailto:d.p.carlisle@gmail.com" target="_blank">d.p.carlisle@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">With much help from Hans (and ignoring anything other than classic tfm<br>
fonts for now)<br>
I thought I'd close this thread with some successful code. This<br>
reports \b for both x and y<br>
in texlive 2015 luatex, to match pdftex output:<br>
<br>
<br>
<br>
\directlua{<br>
function mydeffont(n,s,i)<br>
  for ii,vv in font.each() do<br>
    if (n == <a href="http://vv.name" rel="noreferrer" target="_blank">vv.name</a>) then<br>
% and s == vv.size<br>
% need to normalize size representations<br>
% just equality here fails to match<br>
print('font callback: ' .. n .. ' ' .. s .. ' ' .. vv.size)<br>
     f=ii<br>
    end<br>
  end<br>
  return f or font.read_tfm(n,s)<br>
end<br>
callback.register('define_font',mydeffont)<br>
<span class="">}<br>
<br>
<br>
<br>
\font\a=cmr10<br>
\font\b=cmr10<br>
<br>
\setbox0\hbox{\a x\b y}<br>
\scrollmode<br>
\tracingonline1<br>
\showbox0<br>
<br>
</span>\immediate\write16{a: \number\fontid\a}<br>
\immediate\write16{b: \number\fontid\b}<br>
<br>
\bye<br>
<br>
<br>
<br>
If I may could I request two additions to the luatex manual?<br>
<br>
a) list the new primitive \fontid in section 2.7 (or wherever else you<br>
feel makes sense)<br>
<br>
b) document that the define_font callback can return a fontid<br>
(integer) The manual<br>
documents it as returning a table, which meant I didn't know what to do having<br>
detected a duplicate, but I found this text in the changelog which led<br>
to the above.<br>
<br>
* The 'define_font' callback interface has changed a little.<br>
It is now:<br>
retval = function (name,size,fontid)<br>
<br>
where fontid is the internal font number of the font that<br>
is currently being defined, and retval can be either a table<br>
(as before) or a different, previously defined fontid. This is<br>
useful if a previous definition can be reused instead of<br>
creating a whole new font structure.<br>
<br></blockquote><div><br></div><div>ok, I will do in a couple of days.</div><div><br></div><div><br></div></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">luigi<br></div>
</div></div>