首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将WebFonts与DOMPDF一起使用时出现"Font_Glyph_Outline“错误

将WebFonts与DOMPDF一起使用时出现"Font_Glyph_Outline“错误
EN

Stack Overflow用户
提问于 2013-07-17 00:31:01
回答 2查看 567关注 0票数 0

我正在尝试实现DOMPDF,一切都在正常工作(感谢多个栈用户),但是我现在在渲染WebFonts时遇到了麻烦。

根据DOMPDF的Google Code项目上的示例,可以使用webfonts:http://pxd.me/dompdf/www/examples.php#css_at_font_face.html,html

我引用了页面中的字体,就像引用HTML页面一样:

代码语言:javascript
复制
<link href='http://fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet' type='text/css'>

我引用了CSS中的字体:

代码语言:javascript
复制
body{
    font-family: 'Roboto Condensed', sans-serif;
}

但DOM PDF报告:

代码语言:javascript
复制
Class 'Font_Glyph_Outline' not found

还能有更多的DOMPDF专家来帮助我吗?

EN

回答 2

Stack Overflow用户

发布于 2013-07-17 00:46:19

不幸的是,我还不能评论:(但你有没有试过在dompdf_config.inc.php文件中将'DOMPDF_ENABLE_FONTSUBSETTING‘设置为false?这可能(也可能不会)解决您的问题。除此之外,我不知道。

不过,关于类似DOMPDF issues的内容很有趣

票数 0
EN

Stack Overflow用户

发布于 2013-07-17 05:37:55

在你的问题中有两个问题需要解决。更紧迫的是PHP错误,正如@tom-metcalfe所指出的,has yet to be resolved。可以帮助解决这个问题的两条信息是: dompdf版本,PHP版本。

如果您确实解决了这个错误,则需要解决另一个问题: at-font CSS中的dompdf only understands named font weights。如果你可以自己维护CSS,你可以解决这个问题。

您需要基于CSS的True Type Font ( TTF )版本工作,因为dompdf当前只能嵌入TTF。Google Web Fonts at-font服务根据访问的浏览器提供最合适的格式。获取样式表visit the URL in a browser that requires TTF for web fonts的TTF版本。我在我的服务器上使用了lynx (对于未知的浏览器,TTF必须是备用的)。使用Google提供的样式表创建您的自定义CSS,例如:

代码语言:javascript
复制
@font-face {
  font-family: 'Roboto Condensed Light';
  font-style: normal;
  font-weight: normal;
  src: local('Roboto Condensed Light'), local('RobotoCondensed-Light'), url(http://themes.googleusercontent.com/static/fonts/robotocondensed/v7/b9QBgL0iMZfDSpmcXcE8nL3QFSXBldIn45k5A7iXhnc.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: normal;
  src: local('Roboto Condensed Regular'), local('RobotoCondensed-Regular'), url(http://themes.googleusercontent.com/static/fonts/robotocondensed/v7/Zd2E9abXLFGSr9G3YK2MsDR-eWpsHSw83BRsAQElGgc.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: bold;
  src: local('Roboto Condensed Bold'), local('RobotoCondensed-Bold'), url(http://themes.googleusercontent.com/static/fonts/robotocondensed/v7/b9QBgL0iMZfDSpmcXcE8nDokq8qT6AIiNJ07Vf_NrVA.ttf) format('truetype');
}

注意,font-weight声明被修改为使用命名的粗细,并且字体的“轻量级”变体被赋予了自己的系列名称。由于dompdf不完全支持数字权重,因此您必须这样做。

我不知道这些字体URL有多稳定。它们似乎是某种散列,所以当新版本发布时,它们可能会消失。为了安全起见,您可能希望自己托管这些文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17682119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档