这就是问题所在,我使用的是Mac Mojave操作系统,weasyprint-44版本,Python 3.6以及匹配的Cairo等版本。PDF文件除了数字之外都可以正常渲染 - 符号和字母都没问题。这太奇怪了。有没有人能指点一下方向?
"Segoe UI Emoji"
字体解决了这个问题。自从这个字体从CSS中删除后,数字又开始出现了。我在Mac(Mojave 10.14.5)上遇到了同样的问题。我通过为打印定义不同的字体族来解决了这个问题。在我的情况下,我使用的是:
font-family: "Open Sans", Calibri, Candara, Arial, sans-serif;
一切都能很好地打印出来。
相同问题会在Sierra(10.12)和High Sierra(10.13)以及Mojave(10.14)上发生,特别是在使用Bootstrap 4时。
默认的body
定义如下:
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
无论是 Apple Color Emoji
还是 Segoe UI Emojii
都可能导致最终的 PDF 无法正确显示数字。
删除所有提到 Emojii
字体的内容即可恢复数字的显示。
注意:数字仍然存在,您可以复制和粘贴它们,但它们实际上并不可见。