1

我正在尝试在电子应用程序中使用 Google Material Icons,但在渲染图标时遇到了问题。这些图标在 Windows 上完美呈现,但在 OSX 上却不行。使用 devtools 我看到两者都成功地将字体请求为“woff2”格式,但只有 Windows 似乎呈现图标...OSX 只是列出了连字文本。

Windows(左)、OSX(右)

视窗 操作系统

这些适用于 Windows 构建,但不适用于 OSX ......它只是列出home

<i class="material-icons">home</i>
<i class="material-icons">&#xE88A;</i>

我也试过

<i class="material-icons" id="test"></i>
#test:after{ content: 'home' }

不确定这是否是 OSX 的 chromium build 问题、OS 字体问题,还是什么?如果有人可以就某些尝试提供任何指导,我将非常感谢您的帮助。

这是正在使用的 CSS

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(./fonts/Material-Design-Iconic-Font.eot); /* For IE6-8 */
  src: local('Material Icons'),
       local('MaterialIcons-Regular'),
       url(./fonts/Material-Design-Iconic-Font.woff2) format('woff2'),
       url(./fonts/Material-Design-Iconic-Font.woff) format('woff'),
       url(./fonts/Material-Design-Iconic-Font.ttf) format('truetype');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}
4

1 回答 1

0

所以,我不是 100% 确定问题是什么,但如果它可以帮助其他人,我想发布更新。

在我的 Windows 版本中,我安装了一种字体MaterialIcons-Regular.ttf......一旦我复制它然后卸载它,Windows 应用程序就会停止正确呈现。

然后我将它复制MaterialIcons-Regular.ttf到我的电子项目中的字体文件夹,然后更新我的 css 看起来像

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(fonts/MaterialIcons-Regular.ttf) format('truetype');
}

现在它似乎正在工作......不确定其他字体集是否有问题,或者我是否有一些 css 设置不正确。

于 2016-11-07T19:26:32.430 回答