以下字符(例如):
? (U+1F31E 太阳有脸)
? (U+1F319 新月)
在 Chrome 中显示如下:
但是像这样打印(所有驱动程序,包括 PDF)(预览和实际打印):
为什么 Chrome 不按显示打印这些字符,我该如何让它这样做?
我的期望是除了特定于媒体的 CSS 之外,Chrome 会打印它显示的相同字符。
我有一个用 HTML 制作的文档,其中包含这些字符,我真的希望它们以它们显示的颜色打印。页面上的所有其他颜色元素都打印得很好。字体选择似乎无关紧要。
Chrome:版本 95.0.4638.69(官方版本)(64 位) Windows:Windows 10 专业版 10.0.19043 版本 19043(64 位)
所以,我重新审视了这一点,发现了一些有趣的事情,最值得注意的是最新版本的Chromium(撰写本文时为 949708)没有这个问题。
就 Chrome 96.0.4664.93(撰写本文时的最新版本)而言,该问题似乎与 Segoe UI Emoji 未在打印输出中以彩色呈现有关。我确认 Chrome 对所有表情符号字符都使用该字体,只是打印渲染器中没有使用颜色。
这似乎只是一个颜色问题,因为仔细检查后,打印的字形中的边缘轮廓与显示的字形中的边缘轮廓完美匹配——即它们看起来像相同的字形,减去颜色。
这是一个测试文档(小提琴):
以及 Google Chrome 与基本 Chromium 的比较(在我的 Win 10 机器上):
这是检查器的一些信息(顺便说一句,它也呈现彩色字形) - 这对于两个浏览器都是相同的:
因此,基于它在 Chromium 中但在 Chrome 中不起作用的事实,这一切让我相信......
知道它是哪一个的唯一方法是尝试旧版本的浏览器(我不会这样做)或尝试在某处找到官方错误报告+修复(我无法做到)。
所以我只是要把它作为一个错误报告提交到 Chrome 中,我想我的手指交叉。
同时,如果您需要此功能,一种解决方法是获取 Chromium 并使用它进行打印,而不是 Chrome。
† 无关说明:截图中的红色不一致。两种浏览器都有颜色配置文件的怪癖,但我将 Chrome 设置为 sRGB 模式,并将 Chromium 设置为默认值。这就是为什么这两个浏览器在这方面并不相同。
Chrome 团队刚刚决定让它们变得更加丰富多彩。将它们复制到不支持图像的文本编辑器(例如记事本),它会显示无聊的黑白版本。在 Chrome 中显示它们时打印它们可能需要将页面保存为图像/pdf(存在多个插件可以做到这一点)并打印。例如GoFullPage和Full Page Screenshot。