自托管 Google 的 Material Design 图标字体 - OTS 解析错误 - 无效的版本标签
Posted
技术标签:
【中文标题】自托管 Google 的 Material Design 图标字体 - OTS 解析错误 - 无效的版本标签【英文标题】:Self hosting Google's Material Design Icon Fonts - OTS parsing error - Invalid Version tag 【发布时间】:2017-04-19 10:50:00 【问题描述】:我想自己托管 Material Design 图标字体。我关注了他们的developer guide。所以我下载了图标字体from here,将eot
、ttf
、woff
和woff2
文件复制到我的项目目录中,并将其包含在我的CSS中。但是我遇到了很多错误:
问题是为什么以及如何解决它。 SSCCE 如下:
/* fallback */
@font-face
font-family: 'Material Icons';
font-style: normal;
font-weight: 400;
src: url('fonts/material/MaterialIcons-Regular.eot');
/* For IE6-8 */
src: local('Material Icons'), local('MaterialIcons-Regular'), url('fonts/material/MaterialIcons-Regular.woff2') format('woff2'), url('fonts/material/MaterialIcons-Regular.woff') format('woff'), url('fonts/material/MaterialIcons-Regular.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';
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="styles.css" />
<link type="text/css" rel="stylesheet" href="material.min.css" />
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="material.min.js"></script>
</head>
<body>
<button class="mdl-button mdl-js-button"><i class="material-icons">chevron_left</i>
</button>
</body>
</html>
问题是为什么以及如何解决这个问题?
我的项目层次结构:
【问题讨论】:
Failed to decode downloaded font的可能重复 【参考方案1】:如果您通过“保存链接”从网络浏览器下载字体,您可能会下载不完整的 ASCII 版本而不是二进制文件。我也遇到了这个问题,并从 Jodamo5 here 找到了解决方案 Ps,如果您不使用 FTP,您也可以从浏览器下载完整的 master.zip 文件,然后从 zip 中提取所需的字体文件。
【讨论】:
【参考方案2】:使用这种格式:
@font-face
font-family: 'MyWebFont';
src: url('webfont.eot'); /* IE9 Compat Modes */
src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('webfont.woff2') format('woff2'), /* Super Modern Browsers */
url('webfont.woff') format('woff'), /* Pretty Modern Browsers */
url('webfont.ttf') format('truetype'), /* Safari, android, ios */
url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
【讨论】:
其中哪一部分会有所帮助,它与我的有何不同?以上是关于自托管 Google 的 Material Design 图标字体 - OTS 解析错误 - 无效的版本标签的主要内容,如果未能解决你的问题,请参考以下文章
为 Google Cloud Run 自定义域禁用弱密码套件?
Google Cloud Run(完全托管):无法自定义域映射
如何将私有、自托管的 NPM 包与 Google App Engine 节点、标准环境一起使用
如何自托管不依赖 WebRTC STUN 服务器 stun.l.google.com:19302?