说明:
linux上中文字体不多,用wkhtmltoimage将html页面输出为jpg时,有些字体没有,被其它字体替换,效果就不一样了。因此从win上拷了些字体,到linux服务器上。
我的环境是CentOS 5.8
实现:
1.获取字体文件。win7系统的字体位置:C:WindowsFonts,如下图所示
上传到linux服务器的/root目录下
2.安装字体
# mv /root/winfonts /usr/share/fonts/ //将winfonts字体目录移动到/usr/local/fonts下,这样做和把字体拷贝到/usr/share/fonts的一个目录下的效果是一样的。只是为了以后区分方便 # chmod 644 /usr/share/fonts/winfonts/* # cd /usr/share/fonts/winfonts # mkfontscale //mkfont命令是生成winfonts目录下所包含的字体的索引信息。然后运行fc-cache命令更新字体缓存 # mkfontdir # fc-cache -fv
附录:
附录1.很多文章上都说复制完字体文件后要用mkfontscale和mkfontdir
我发现这两个文件也就是创建fonts.scale和fonts.dir两个文件,但一直不明白这两个文件有什么用。Ubuntu刚安装后的字体文件夹里似乎并没有这两个文件。man手册我也看了,很不明白,有人能简要地说说吗?
这样做是为了避免某些程序找不到字体。早期的程序是通过这样的东西索引字体的。x 字体用到东西, 现在通常都是用 freetype / fontconfig 的组合来绘字, 所以可以无视这个步骤
附录2.chinaunix中关于XFree86中的字体很好的说明