<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Hi Karl,
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Jun 15, 2018, at 7:27 AM, Karl Berry <<a href="mailto:karl@freefriends.org" class="">karl@freefriends.org</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Ross and all - back on your mail about /CharSet from two years ago.<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>Glad you have had a look at this.</div>
<div><br class="">
</div>
<div><br class="">
</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class=""><br class="">
Date: Sat, 11 Jun 2016 00:15:05 +0000<br class="">
From: Ross Moore <<a href="mailto:ross.moore@mq.edu.au" class="">ross.moore@mq.edu.au</a>><br class="">
<br class="">
[ <a href="https://protect-au.mimecast.com/s/cWKXCjZ12RfxNX4h5FA-T?domain=mailman.ntg.nl" class="">
https://mailman.ntg.nl/pipermail/ntg-pdftex/2016-June/004087.html</a> ]<br class="">
<br class="">
As far as I can tell, the problem as reported relates to the seac<br class="">
operator. Heiko, Thanh, Ross, anyone, up for looking into the code to<br class="">
get the seac referents into the output /CharSet list? Not something I am<br class="">
familiar with, so it would take me a while. (More below.)<br class="">
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>Getting the  /CharSet  correct automatically would be nice, but not actually necessary.</div>
<div>For validation purposes, the  /CharSet  could be left out entirely.</div>
<div>The characters used from a font can be found by other means.</div>
<div>That is, having  /CharSet  is a convenience, not a necessity.</div>
<div><br class="">
</div>
<div>But, if the /CharSet  is specified, it must be complete; Adobe’s Preflight checks this.</div>
<div><br class="">
</div>
<div>Perhaps we could just have a command-line switch that allows writing the /CharSet to be omitted?</div>
<div><br class="">
</div>
<div><br class="">
</div>
<div>The other way to get a valid PDF is,…</div>
<div><br class="">
</div>
<div> ... once having checked validation, with Preflight say, and found that there</div>
<div>are missing characters in the /CharSet , they can be added using </div>
<div><br class="">
</div>
<div>  \pdfglyphtounicode{a}{0061}         % Latin small letter a </div>
  \pdfglyphtounicode{acute}{0301}   % Combining acute accent</div>
<div><br class="">
</div>
<div>then rerun the job.</div>
<div><br class="">
</div>
<div>Note that with this specification for ‘acute’, it will copy/paste as a combining character.</div>
<div>This means that one has to also hack at either the  \accent  primitive, or LaTeX’s \set@accent   command, </div>
<div>to get the characters placed in the correct order when using  \'{a}  with  OT1 encoding.</div>
<div><br class="">
</div>
<div>TeX places the (above) accent first, then the base character,</div>
<div>but Unicode requires the base first with the combining accent character coming next.</div>
<div>  </div>
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">
<div class=""><br class="">
For example, this pdftex -ini file shows the problem, unrelated to the<br class="">
pdf/x or latex:<br class="">
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br class="">
\pdfoutput=1 \catcode`\{=1 \catcode`\}=2<br class="">
\pdfcompresslevel=0 \pdfobjcompresslevel=0<br class="">
\pdfglyphtounicode{aacute}{00E1}\pdfgentounicode=1<br class="">
\font\b = fver8t \b % ecrm1000<br class="">
\hsize=5pt<br class="">
\hfil\char225 % aacute<br class="">
\end<br class="">
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br class="">
$ pdftex -ini foo.tex<br class="">
..<br class="">
$ fgrep -a /CharSet try.pdf<br class="">
/CharSet (/aacute)<br class="">
<br class="">
Whereas the correct output should also include /a and /acute (as it does<br class="">
with gs, which has code to handle the seac pieces):<br class="">
/CharSet(/a/aacute/acute)<br class="">
<br class="">
Looking at the definition for /aacute (t1disasm <fver8a.pfb):<br class="">
/aacute {<br class="">
50 596 hsbw<br class="">
192 170 0 97 194 seac<br class="">
} ND<br class="">
where 97 is "a" and 194 is "acute". Just have to insert those into the<br class="">
output list, presumably.<br class="">
<br class="">
The code to output /CharSet from the glyph tree is in pdftexdir/writefont.c:<br class="">
pdf_puts("/CharSet (");<br class="">
for (glyph = (char *) avl_t_first(&t, fd->gl_tree); glyph != NULL;<br class="">
glyph = (char *) avl_t_next(&t))<br class="">
pdf_printf("/%s", glyph);<br class="">
<br class="">
And the code to handle seac is in writet1.c:<br class="">
case CS_SEAC:<br class="">
a1 = cc_get(3);<br class="">
a2 = cc_get(4);<br class="">
cc_clear();<br class="">
mark_cs(standard_glyph_names[a1]);<br class="">
mark_cs(standard_glyph_names[a2]);<br class="">
break;<br class="">
<br class="">
"Just" have to get these pieces together, which doesn't seem like it<br class="">
should be too hard ... ?<br class="">
<br class="">
<br class="">
By the way, I checked a few other fonts. For EC (ecrm1000), Latin Modern<br class="">
(ec-lmr10), and txfonts (t1xr) (mentioned in<br class="">
<a href="https://protect-au.mimecast.com/s/yN1BCk815RCJGjyF9G1DQ?domain=tex.stackexchange.com" class="">tex.stackexchange.com/questions/81927)</a>, seac is not used. This is a<br class="">
reasonable choice for font implementors, as seac is deprecated all over<br class="">
the place, as it assumes AdobeStandardEncoding etc.<br class="">
</div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class="">I’ve not looked at the details of how the font is encoded.</div>
<div class="">Instead I work at the top-most level, and patch (LaTeX) macros, wherever possible.</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div class=""><br class="">
dvips|ps2pdf does not output the /a and /acute for those fonts either;<br class="">
presumably Adobe programs don't either. This seems correct, since the /a<br class="">
and /acute character definitions are not in fact used in those cases.<br class="">
Hopefully that is ok with the new standards. I can't imagine a decent<br class="">
way to change it. --best, karl.<br class="">
<br class="">
P.S. Unrelated to the problem, but I noticed while looking into it ...<br class="">
although at one time writet1.c in pdftex and dvips were close, Pali's<br class="">
changes last year to support encodings for bitmap fonts made the two<br class="">
versions very different. I doubt they can reasonably be merged again. :(.<br class="">
</div>
</div>
</blockquote>
<br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Cheers</div>
<div class=""><br class="">
</div>
<div class=""><span class="Apple-tab-span" style="white-space:pre"></span>Ross</div>
<br class="">
<div apple-content-edited="true" class="">
<div style="font-family: Arial, sans-serif; orphans: 2; widows: 2;" class=""><span class="Apple-style-span" style="font-size: 9px;"><b class=""><span style="font-size: 9pt;" class=""><br class="Apple-interchange-newline">
Dr Ross Moore</span></b></span></div>
<div style="orphans: 2; widows: 2;" class="">
<p style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin-bottom: 3.75pt;" class="">
<font color="#000000" class=""><b style="color: rgb(119, 119, 119); font-family: Arial, sans-serif; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Mathematics
 Dept </b><b style="color: rgb(119, 119, 119); font-family: Arial, sans-serif; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">|</b><font color="#777777" face="Arial, sans-serif" class=""><span style="font-size: 9pt;" class=""> 12
 Wally</span></font><font face="Arial, sans-serif" class="">’</font><font color="#777777" face="Arial, sans-serif" class=""><span style="font-size: 9pt;" class="">s Walk, 734</span></font><br class="">
<font color="#777777" face="Arial, sans-serif" class=""><span style="font-size: 9pt;" class="">Macquarie University, NSW 2109, Australia</span></font><font color="#777777" size="3" class=""><span style="font-family: 'Times New Roman', serif; font-size: 12pt;" class=""></span></font></font></p>
<p style="font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: Arial, sans-serif; color: rgb(119, 119, 119); font-size: 7pt; line-height: 11.25pt; margin-bottom: 3.75pt;" class="">
<b class=""><span style="font-size: 9pt;" class=""><font color="#000000" class="">T:</font></span></b><span style="font-size: 9pt;" class=""><font color="#000000" class=""> +61 2 9850 <b class="">8955  |  F:</b> </font><a href="tel:%2B61%202%209850%209695" value="+61298509695" target="_blank" class=""><font color="#000000" class="">+61
 2 9850 8114</font></a><br class="">
<font color="#000000" class=""><b class="">M:</b><a href="tel:%2B61%20409%20125%20670" value="+61409125670" target="_blank" class="">+61 407 288 255</a><b class="">  |  </b>E: </font><a href="mailto:rick.minter@mq.edu.au" target="_blank" class=""><font color="#000000" class="">ross.moore@mq.edu.au</font><font color="#1155cc" class=""><span style="color: black;" class=""></span></font></a><font color="#1155cc" class=""><span style="color: black;" class=""></span></font><span style="color: black;" class=""></span><br class="">
</span></p>
<p style="font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: Arial, sans-serif; color: rgb(119, 119, 119); font-size: 7pt; line-height: 11.25pt; margin-bottom: 3.75pt;" class="">
<span style="font-size: 9pt;" class=""><span style="color: black;" class=""><a title="Macquarie University" href="http://mq.edu.au/" target="_blank" class="">http://www.maths.mq.edu.au</a></span></span></p>
<p style="font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: Arial, sans-serif; color: rgb(119, 119, 119); font-size: 7pt; line-height: 11.25pt; margin-bottom: 3.75pt;" class="">
<span style="font-size: 12px; line-height: normal;"><a href="http://mq.edu.au/" target="_blank" style="font-size: 12px; line-height: normal;" class=""><span><br class="Apple-interchange-newline">
<span><img height="58" width="260" apple-inline="yes" id="DD1D04EF-74CD-40AC-9FC8-A33C0FB9D0E1" apple-width="yes" apple-height="yes" src="cid:image001.png@01D030BE.D37A46F0" class=""></span></span></a></span></p>
<p style="font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: Arial, sans-serif; color: rgb(119, 119, 119); font-size: 7pt;" class="">
<a href="http://mq.edu.au/" target="_blank" class=""><span style="color: rgb(119, 119, 119); font-size: 7pt;" class=""><br class="Apple-interchange-newline">
CRICOS Provider Number 00002J. Think before you print. <br class="">
Please consider the environment before printing this email.</span><span style="font-family: 'Times New Roman', serif; font-size: 12pt;" class=""></span></a></p>
<p style="font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; font-family: Arial, sans-serif; color: rgb(119, 119, 119); font-size: 7pt;" class="">
<a href="http://mq.edu.au/" target="_blank" class=""><span style="color: rgb(119, 119, 119); font-size: 7pt;" class="">This message is intended for the addressee named and may <br class="">
contain confidential information. If you are not the intended <br class="">
recipient, please delete it and notify the sender. Views expressed <br class="">
in this message are those of the individual sender, and are not <br class="">
necessarily the views of Macquarie University.</span></a></p>
</div>
</div>
<br class="">
</div>
</body>
</html>