@font-face 解决wkhtmltopdf的中文显示问题

17 12 月

一直使用wkhtmltopdf来做html转pdf的工作,但是很奇怪的发现,在CentOS 6中,html中font-family标注为Simsun和宋体的所有文字都显示不出来,折腾了很久都没解决,今天突然想到css3中有个自定义字体来着的,试了下,问题解决(这也只是个治标的方法)。

再头部添加如下内容:

<style>
@font-face{
font-family: Simsun;
src:url(“/usr/share/fonts/windows/FZSongS_20100603.TTF”)
}
body{
font-family: Simsun;
}
</style>

字体来自wps带的方正宋体,使用Windows的Simsun.ttc不管是否解包为ttf都发现只是显示空白,很奇怪。

下面附带转载的@font-face的用法:

@Font-face基本介绍:

@font-face 是一个css2的一个语法,它允许你在网页上显示一个自定义的字体。即使客户机器上可以没有安装这种字体,网页也可以显示。

本文将介绍@font-face的基本用法,以及在所有浏览器都能使用的方法。

@Font-face基本语法:

@font-face { font-family: <a-remote-font-name>; src: <source> [,<source>]*; [font-weight: <weight>]; [font-style: <style>]; }

具体介绍请移步到这里:https://developer.mozilla.org/en/css/@font-face

一个例子:

@font-face { font-family: MyHelvetica; src: local(“Helvetica Neue Bold”), local(“HelveticaNeue-Bold”), url(MgOpenModernaBold.ttf); font-weight: bold; }

font-family是字体的名称,src是字体的路径,可以是客户本机字体,也可以是服务器上的字体。

@Font-face目前浏览器的兼容性:

•Webkit/Safari(3.2+):TrueType/OpenType TT (.ttf) 、OpenType PS (.otf);
•Opera (10+): TrueType/OpenType TT (.ttf) 、 OpenType PS (.otf) 、 SVG (.svg);
•Internet Explorer: 自ie4开始,支持EOT格式的字体文件;ie9支持WOFF;
•Firefox(3.5+): TrueType/OpenType TT (.ttf)、 OpenType PS (.otf)、 WOFF (since Firefox 3.6)
•Google Chrome:TrueType/OpenType TT (.ttf)、OpenType PS (.otf)、WOFF since version 6
由上面可以得出:.eot + .ttf /.otf + svg + woff = 所有浏览器的完美支持。

@Font-face 让所有浏览器都兼容的方法:

有一个专门用于@font-face 的字体网站:http://www.fontsquirrel.com/fontface/generator

fontsquirrel 网站提供了一个免费的 @font-face Kit Generator工具,可以生成不同的字体格式,并且直接用css和html给出demo。使你可以直接引用到你的网站上。你可以直接使用 fontsquirrel 网站提供 的一些字体,也可以上传你自己的字体还是用。

@font-face Kit Generator demo
http://www.xunzou.com/demo/font-face/Chopin-Script-fontfacekit/demo.html
@font-face Kit Generator demo
http://www.font2web.com/

@font-face demo
http://www.xunzou.com/demo/font-face/font-face.html

其它font服务:
Google font API,也是一个不错的字体服务,另外一些字体替换还有cufon等。
Google font API 可以参考之前的一片文章:http://www.xunzou.com/blog/post/619.html

转载自:http://www.jb51.net/web/89797.html

One Reply to “@font-face 解决wkhtmltopdf的中文显示问题”

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注