早上好!
我的团队和我昨天花了大部分时间试图找出为什么当我昨天早上启动服务器时,我正在处理的网站上出现了显示Times New Roman的所有字体。该站点是使用Eclipse Workspace在JSF中编写的,因此我们首先认为这是Workspace的一个问题,因为该站点正在为我的一个同事正确显示。
在花费数小时重建和调试Workspace之后,我们得出的结论是代码或浏览器。我花了大约一个小时查看代码,但找不到任何会导致我们问题的问题,所以我们得出的结论是浏览器。那是当我的一个同事建议网站显示正常的人时,更新到Chrome的最新版本 - 导致字体中断。
最新版本为:38.0.2125.104。
嵌入字体的代码如下所示(JSF资源标记只是从库中呈现HREF):
@ font-face { font-family:' aleoregular';
src: url(#{resource['lib:library/ui/fonts/aleo/aleo_regular_macroman/Aleo-Regular-webfont.eot']});
src: url(#{resource['lib:library/ui/fonts/aleo/aleo_regular_macroman/Aleo-Regular-webfont.woff']}) format('woff'),
url(#{resource['lib:library/ui/fonts/aleo/aleo_regular_macroman/Aleo-Regular-webfont.ttf']}) format('truetype'),
url(#{resource['lib:library/ui/fonts/aleo/aleo_regular_macroman/Aleo-Regular-webfont.svg']}) format('svg');
font-weight: normal;
font-style: normal;
}
或者,在没有JSF的CSS中它看起来像这样: @ font-face {
font-family: 'sinkin_sans600_semibold';
src: url('../fonts/sinkin-sans/sinkinsans_600semibold_macroman/SinkinSans-600SemiBold-webfont.eot');
src: url('../fonts/sinkin-sans/sinkinsans_600semibold_macroman/SinkinSans-600SemiBold-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/sinkin-sans/sinkinsans_600semibold_macroman/SinkinSans-600SemiBold-webfont.woff') format('woff'),
url('../fonts/sinkin-sans/sinkinsans_600semibold_macroman/SinkinSans-600SemiBold-webfont.ttf') format('truetype'),
url('../fonts/sinkin-sans/sinkinsans_600semibold_macroman/SinkinSans-600SemiBold-webfont.svg#sinkin_sans600_semibold') format('svg');
font-weight: normal;
font-style: normal;
}
在Firefox的控制台上,我收到此错误: "可下载字体:FTTM:错位表(font-family:....)"
非常感谢任何建议。
答案 0 :(得分:0)
没有确定的答案,但有些事要尝试/检查......
我发现新的Chrome版本和字体没有问题。
你将获得时间字体(实际上是' serif')因为如果没有设置字体,这是浏览器默认值。
我认为你的网络字体是从本地服务器而不是互联网加载的,因此你可以检查这些字体文件是否存在并且没有被破坏。即使他们来自网络某个地方,下一步也是一样......
在Chrome中,打开开发工具,您应该能够在“网络”面板中看到是否正在请求和提供字体文件。
要获得良好的通话效果,Chrome会在您点击网络通话时在预览标签中显示所提供的字体。如果您没有看到任何内容,请检查响应标头。您需要 font-woff2 或 application / x-font-woff 等类似的 Content-Type 。
您还可以从网络面板中查看是否从缓存中提供文件。问题可能不是Chrome版本的变化,而是升级清除了缓存,或者资产自然变为缓存过期,现在正试图获取有问题的版本。
您是否可以抓取字体文件,例如现在,您之前没有(反之亦然)?
答案 1 :(得分:0)
我们其中一个人想出来了!有一个服务器配置过滤器破坏了字体文件,他们能够修改pom.xml文件以使其全部工作。