<div dir="ltr"><div>In case it's of any relevance,  I've always boxed images, e.g.</div><div><br></div><div>\setbox1=\hbox{\XeTeXpdffile "image.pdf"}</div><div><br></div><div>That's mainly so that I can use \wd1 as the width of any caption beneath the image (which is invoked by "\box1", of course).  I <i>think</i> from memory that the XeTeX manual says that an image is then basically treated as if it were a single character.  At any rate, I've never had any problems with XeTeX not seeing the size of the image accurately, but I haven't gone into the details of what precisely is going on (on the basis that if it ain't broken, don't tinker).<br></div><div><br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Best wishes<br></div><div></div><br><div>John Waś <b><br></b></div><br></div></div></div></div></div></div></div><br></div></div><div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
<table style="border-top:1px solid #d3d4de">
        <tr>
        <td style="width:55px;padding-top:13px"><a href="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png" alt="" width="46" height="29" style="width: 46px; height: 29px;"></a></td>
                <td style="width:470px;padding-top:12px;color:#41424e;font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Virus-free. <a href="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" target="_blank" style="color:#4453ea">www.avg.com</a>
                </td>
        </tr>
</table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 15 Apr 2021 at 15:42, Bruno Le Floch <<a href="mailto:blflatex@gmail.com">blflatex@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">David got mislead.  The truth is rather stranger: it seems the width of the<br>
image used when placing glyphs of a given hlist on the page is different from<br>
(and larger than) the width of the image used when measuring the total box size.<br>
<br>
For instance "!" does not get eaten: it overlaps with the following "t".  What<br>
happens in David's \imga is that the hbox is seen ("from the outside") as being<br>
a bit smaller than it really is, as if there was a space after<br>
\XeTeXpdffile...\relax and the same negative at the end of the \hbox.<br>
<br>
Adding a space to the line with \hbox{\img} in the original test code does not<br>
give an overfull line: there are plenty enough spaces to set the line a bit<br>
tighter and make it fit.<br>
<br>
No idea where in the code that comes from.<br>
<br>
<br>
<br>
On 4/15/21 4:31 PM, Jonathan Kew wrote:<br>
> On 15/04/2021 15:24, David Carlisle wrote:<br>
>> The command is scanning ahead for keywords such as  page 2 in the unhboxed case <br>
> <br>
> Shouldn't the \relax stop it scanning ahead anyway?<br>
> <br>
>> but in the boxed case the } stops the scan but it seems having decided that <br>
>> test is not a keyword it is inserting a space before it which seems wrong.<br>
>> More surprising is that it eats ! here even though  ! isn't part of the<br>
>> allowed syntax as far as I can see<br>
>><br>
>><br>
>> \def\imga{\hbox{\XeTeXpdffile "image.pdf"\relax!}}<br>
>> \def\imgb{\XeTeXpdffile "image.pdf"\relax!}<br>
>><br>
>><br>
>><br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>> \imga<br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>><br>
>><br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>> \imgb<br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>> test test test test test test test test test test test test test<br>
>><br>
>> \end<br>
>><br>
>><br>
>> The effect on linebreaking is more or less accidental "test" can't be<br>
>> hyphenated so it's not surprising that some lines can not be justified, and<br>
>> the extra space or not space after the image is changing the linebreaking in<br>
>> the paragraph.<br>
>><br>
>> David<br>
>><br>
>><br>
>><br>
>> On Thu, 15 Apr 2021 at 14:24, Gavin Smith wrote:<br>
>><br>
>>     If I XeTeX to display an image in text, like<br>
>><br>
>>     \def\img{\XeTeXpdffile "image.pdf"\relax}<br>
>><br>
>>     test test test test test test test test test test test test test<br>
>>     test test test test test test test test test test test test test<br>
>>     test test test test test test test test test test test test test<br>
>>     test test test test test test test test test test test test test<br>
>>     \img<br>
>>     test test test test test test test test test test test test test<br>
>>     test test test test test test test test test test test test test<br>
>>     test test test test test test test test test test test test test<br>
>>     test test test test test test test test test test test test test<br>
>><br>
>>     \end<br>
>><br>
>>     and then process with "xetex test.tex" on the command line, then the<br>
>>     line<br>
>>     after the image is too long and goes into the margin.  You can see this<br>
>>     in the attached file.<br>
>><br>
>>     I found wrapping the \XeTeXpdffile in an \hbox, thus:<br>
>><br>
>>     \def\img{\hbox{\XeTeXpdffile "image.pdf"\relax}}<br>
>><br>
>>     fixed the problem, but I don't see why this should be necessary.<br>
>><br>
>>     Is this a bug?<br>
>><br>
>>     XeTeX reports its version as follows:<br>
>><br>
>>     $ xetex test.texi<br>
>>     This is XeTeX, Version 3.14159265-2.6-0.99998 (TeX Live 2017/Debian)<br>
>>     (preloaded format=xetex)<br>
>>       restricted \write18 enabled.<br>
>>     entering extended mode<br>
>>     (./test.texi [1] )<br>
>>     Output written on test.pdf (1 page).<br>
>>     Transcript written on test.log.<br>
>><br>
> <br>
<br>
</blockquote></div>