为什么Windows 7上的Chrome无法向我显示某些Unicode字符?


21

这个Apple问题包含文字

这是什么钥匙?⎋

在Google Chrome浏览器中,这看起来像这样:

在此处输入图片说明

为什么该Unicode字符或其他类似字符在Windows 7的Google Chrome浏览器中无法显示?


在我看来,这就像一个盒子。
soandos

3
@soandos您在说什么其他帖子?而且,它不应该是盒子。这就是为什么我问这个问题。有人问了一个关于askdifferent的问题,并在那里输入了unicode字符,但是在我安装的Chrome浏览器中,我看到了通用框。
Michael Pryor

3
和我一样...看来这不是您的chrome安装问题,它适用于所有chrome。FF认为很好。Chrome甚至无法将其识别为Unicode字符(我不认为)。
soandos 2011年

有趣的是,Ubuntu上的Chromium很好。
Kibbee

@soandos在Ubuntu 11.04(Natty)上使用Google Chrome(12.0.742.112)对我来说工作正常。
麦克·斯普罗斯

Answers:


20

我假设这是一个字体替换问题。

浏览器遇到“所选字形不是指定字体”的问题。有两个方向,你可以从这里走都:你既可以拉相当于字形出另一种字体(这将经常看坏,但它可能不是很清楚为什么给用户)或只显示一个字符未找到的占位符(其看起来总是坏掉的,但至少显然是这样)。

我认为Firefox和Opera会认识到所请求的标志符号是可以从其他字体中安全提取的符号,而其余的浏览器比较保守,只是显示“ Uh ... dunno”标志符号。


我相信Chrome和Safari都使用Windows GDI在Windows上进行文本呈现。IE9使用DirectWrite,在这种情况下,它似乎具有与GDI相同的行为。
Craig Williams

有趣:如果将其粘贴到地址栏中,则会得到相同的结果。
xpda 2011年

@xpda你是对的;该字符可在Firefox 的地址栏中正文中使用,而在Chrome的任何位置均不可用。迷人。
杰夫·阿特伍德

5
听起来不错:Chrome和Firefox都使用Uniscribe在浏览器中呈现文本,当在当前字体中找不到特定字符时,Uniscribe只是向调用应用程序返回错误代码。由应用程序决定是Uniscribe然后是否应该使用字体后备来查找替换,还是应仅呈现框标志符号。Chrome是一种只显示“无论如何,我不在乎。Box很好的浏览器”。
Mike Spross

11

有趣。不只是Chrome,您可能会问为什么以下任何一种浏览器都无法在Windows 7上显示它:

在此处输入图片说明

从上到下:

  • 火狐(y)
  • IE9(n)
  • 铬(n)
  • 歌剧(y)
  • Safari(n)

因此,Firefox和Opera可以在Windows 7中显示此unicode字符,而其他浏览器则不能。

这是什么钥匙?⎋


对于什么是价值,即关键是“ESC”在Mac OS X
马丁Marconcini

@jjn这是部分答案,通常是允许的
Jeff Atwood

注意。(评论撤回。)
jjnguy 2011年

这些天的浏览器有多相似... :)
balexandre

2
Chrome 13.0.782.107/Linux:确定
Arnaud Le Blanc

6

问“为什么在Windows 7的Google Chrome浏览器中无法显示Unicode字符?”的问题。是个

该特定字符只是一个Unicode码点,它是一个任意数字。许多Unicode代码点没有“正式”符号。即使它们确实具有符号,也不一定是您的字体具有该代码点的符号。如果选择其他字体,则可能会以其他符号结尾。

我查看了页面的CSS,它显示了此字符以Arial显示(以及其他无关紧要的字体)。Windows随附Arial,因此应始终先选择该字体。它看起来像宋体并没有对那个unicode的码点的象征。每当您没有代码点的字形时,它都会以某种形式的框形式表示没有字形(如其他字形所示)。

更大的问题是,Firefox或其他浏览器在Windows上的运行情况到底是做什么的。我查看了CSS中列出的其他字体(我认为可能是下一个CSS字体所不支持的字体),但是它们也没有该代码点的标志符号。一种可能性是Firefox实际上附带了自己的字体。

深入研究Firefox,我确实注意到一些数学符号的字体在这里:“ C:\ Program Files(x86)\ Mozilla Firefox \ res \ fonts”。也许这就是它的来历。


3

我知道这是一个古老的问题,但是对于那些刚接触Google的用户,我有一个在2013年可用的解决方案。首先,必须确认您的Windows 7 PC上安装了可以渲染的字体字体:

http://www.fileformat.info/info/unicode/char/238b/index.htm

假定“本地字体列表”中至少有一种字体可以呈现以下内容:

http://www.fileformat.info/info/unicode/font/fontlist.htm?text=%E2%8E%8B+-+Unicode+Character+%27BROKEN+CIRCLE+WITH+NORTHWEST+ARROW%27+%28U%2B238B %29

如果不是,则安装几个“全部捕获” Unicode字体:Code2000Symbola

一旦拥有用于呈现符号的字体,就可以尝试浏览器测试页:

http://www.fileformat.info/info/unicode/char/238b/browsertest.htm

Chrome 28.0.1500.95(可能包括所有最新版本)主要执行字体替换。

无论出于何种原因,即使使用正确安装了U + 1F3C1的字体,Chrome 28.0也不会显示以下Unicode字符:🏁。Firefox运行精美。去搞清楚。

  • 戴夫

在Windows版Chrome中,BMP上方的字体替换仍然无法解决
Fizz

2

根据每个软件开发人员的绝对最低要求,Joel Spolsky绝对绝对,肯定要了解Unicode和字符集(无借口!),“如果您尝试用编码表示的Unicode代码点不存在等效项,要表示它,通常会带一个问号:?,或者,如果您真的很不错,是一个盒子

我在Archlinux上运行Chromium 13.0.782.112,我的默认编码为en_US.UTF-8-该字符在原始链接的页面上显示正常。


2
很好,但是我不认为问题出在盒子上,但是为什么有些浏览器可以显示此特定字符而其他浏览器却不能。
杰夫·阿特伍德

@Jeff Atwood,同意-如果有的话,我的回答为印刷问题提供了更多的支持证据; 在这里阅读。由于我不在电脑前,因此无法告诉您默认字体。
wulfgarpro 2011年


0

我的GNU / Linux LFS 7.9上的Firefox 45.0没有显示所提及的Unicode字形,也没有显示其他字形,例如希腊语等。

但是,Symbola此处下载字体后,然后:

~$ unzip Downloads/symbola.zip -d Downloads
~$ mv Downloads/Symbola/Symbola_hint.ttf .fonts
~$ fc-cache

Firefox现在显示有问题的字形,并且还显示其他字形。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.