Open Blaisorblade opened 4 years ago
The latest straw was the horrible kerning in $\Gamma,$, the correct output would require sth. like $\Gamma \mkern-2mu ,$!
We need to discuss this with ACM publishing people
Could this switch also somehow enable the use of unicode-math? This limitation has been mentioned in another issue as well: https://github.com/borisveytsman/acmart/issues/255#issuecomment-621270975 .
At a glance it sounds likely — Libertinus supports OTF/XeTeX/LuaTeX (https://ctan.org/pkg/libertinus-otf), and Libertinus-OTF docs mention unicode-math (page 2 on https://ftp.tu-chemnitz.de/pub/tex/fonts/libertinus-otf/doc/libertinus-otf-doc.pdf). Judging from my OP, Libertinus supported XeTeX first, and only later added support for PDFTeX.
EDIT: in fact, unicode-math was the motivation in the other issue (https://github.com/borisveytsman/acmart/issues/255#issuecomment-605318513).
I revised the OP to collect all arguments for the switch. (The old version is available in the edit history of the post).
@craig-rodkin: I can make samples with improved fonts. Would ACM publishing people consider making a switch?
-B
Hi Boris,
The font change from Libertine to Libertinus has been on the table for a while, but did not have a way to move it forward. We now have a group of volunteers who will review and approve the changes. Please move forward and create the samples for me to forward to the group of volunteers for review and possible adoption. thanks
Maybe related: With the latest texlive-full
installation (2019.20200218-1) and fonts-linuxlibertine
(5.3.0-4) I can't see the summation symbol (+
) in the generated PDF (using pdflatex for compilation).
I see the following warning in the log file:
Missing character: There is no \CF in font ntxsy!
If I remove the newtxmath
package from acmart.cls
then everything looks fine, though the equations are rendered in plain TeX style.
Hopefully Libertinus will solve this issue, too.
I get a bunch of font-related PDF/A validation errors with libertinus that didn't happen with the existing acmart font choices, e.g.
<rule specification="ISO 19005-2:2011" clause="6.2.11.4" testNumber="3" status="failed" passedChecks="0" failedChecks="6">
<description>If the FontDescriptor dictionary of an embedded Type 1 font contains a CharSet string, then it shall list the character names of all glyphs
present in the font program, regardless of whether a glyph in the font is referenced or used by the PDF or not.</description>
<object>PDType1Font</object>
<test>fontFile_size == 0 || fontName.search(/[A-Z]{6}\+/) != 0 || CharSet == null || charSetListsAllGlyphs == true</test>
<check status="failed">
<context>root/document[0]/pages[11](582 0 obj PDPage)/contentStream[0](583 0 obj PDContentStream)/operators[759]/font[0](OQWWRJ+LibertinusSerif-Bold)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[11](582 0 obj PDPage)/contentStream[0](583 0 obj PDContentStream)/operators[723]/font[0](NRSLNG+LibertinusMono-Regular)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[10](551 0 obj PDPage)/contentStream[0](552 0 obj PDContentStream)/operators[964]/font[0](TRDYWN+LibertinusMono-Bold)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[7](454 0 obj PDPage)/contentStream[0](455 0 obj PDContentStream)/operators[862]/font[0](VLVSGB+LibertinusSans-Italic)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[6](360 0 obj PDPage)/contentStream[0](361 0 obj PDContentStream)/operators[752]/font[0](ZOXRJL+LibertinusMono-Oblique)</context>
</check>
</rule>
<rule specification="ISO 19005-2:2011" clause="6.2.11.4" testNumber="2" status="failed" passedChecks="0" failedChecks="6">
<description>Embedded fonts shall define all glyphs referenced for rendering within the conforming file. A font referenced for use solely
in rendering mode 3 is therefore not rendered and is thus exempt from the embedding requirement.</description>
<object>Glyph</object>
<test>renderingMode == 3 || isGlyphPresent == null || isGlyphPresent == true</test>
<check status="failed">
<context>root/document[0]/pages[11](582 0 obj PDPage)/contentStream[0](583 0 obj PDContentStream)/operators[723]/usedGlyphs[1](NRSLNG+LibertinusMono-Regular 99 0 0)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[11](582 0 obj PDPage)/contentStream[0](583 0 obj PDContentStream)/operators[723]/usedGlyphs[0](NRSLNG+LibertinusMono-Regular 46 0 0)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[10](551 0 obj PDPage)/contentStream[0](552 0 obj PDContentStream)/operators[964]/usedGlyphs[0](TRDYWN+LibertinusMono-Bold 116 0 0)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[7](454 0 obj PDPage)/contentStream[0](455 0 obj PDContentStream)/operators[862]/usedGlyphs[8](VLVSGB+LibertinusSans-Italic 115 0 0)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[6](360 0 obj PDPage)/contentStream[0](361 0 obj PDContentStream)/operators[752]/usedGlyphs[3](ZOXRJL+LibertinusMono-Oblique 45 0 0)</context>
</check>
</rule>
<rule specification="ISO 19005-2:2011" clause="6.2.11.5" testNumber="1" status="failed" passedChecks="0" failedChecks="6">
<description>For every font embedded in a conforming file and used for rendering, the glyph width information in the font dictionary and in the embedded
font program shall be consistent.</description>
<object>Glyph</object>
<test>renderingMode == 3 || isWidthConsistent == null || isWidthConsistent == true</test>
<check status="failed">
<context>root/document[0]/pages[11](582 0 obj PDPage)/contentStream[0](583 0 obj PDContentStream)/operators[723]/usedGlyphs[1](NRSLNG+LibertinusMono-Regular 99 0 0)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[11](582 0 obj PDPage)/contentStream[0](583 0 obj PDContentStream)/operators[723]/usedGlyphs[0](NRSLNG+LibertinusMono-Regular 46 0 0)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[10](551 0 obj PDPage)/contentStream[0](552 0 obj PDContentStream)/operators[964]/usedGlyphs[0](TRDYWN+LibertinusMono-Bold 116 0 0)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[7](454 0 obj PDPage)/contentStream[0](455 0 obj PDContentStream)/operators[862]/usedGlyphs[8](VLVSGB+LibertinusSans-Italic 115 0 0)</context>
</check>
<check status="failed">
<context>root/document[0]/pages[6](360 0 obj PDPage)/contentStream[0](361 0 obj PDContentStream)/operators[752]/usedGlyphs[3](ZOXRJL+LibertinusMono-Oblique 45 0 0)</context>
</check>
</rule>
(excerpt of veraPDF 1.16.1 report for a paper I happen to be working on today, after adding \usepackage{libertinus}
to the preamble, lightly edited for readability)
This is probably a bug in the fonts themselves but I figured you should be aware of the problem when deciding whether and when to change acmart.cls.
Libertinus improves on Libertine in many ways: