浅谈PDFlib中文输出(二)如何在PDFlib中使用其他简体中文字体
2007-03-15 21:55:57 来源:WEB开发网核心提示:本文示例源代码或素材下载 除了PDFlib自带字体外,用户还可以使用安装在系统上的字体及其他用户字体,浅谈PDFlib中文输出(二)如何在PDFlib中使用其他简体中文字体,PDFlib称安装在Windows和Mac操作系统中的(存在于或被拷入相应系统字体目录的)TrueType, OpenType 和Post
本文示例源代码或素材下载
除了PDFlib自带字体外,用户还可以使用安装在系统上的字体及其他用户字体。
PDFlib称安装在Windows和Mac操作系统中的(存在于或被拷入相应系统字体目录的)TrueType, OpenType 和PostScript字体为宿主字体(Host Font)。PDFlib可直接引用字体名进行调用,但必须与文件名完全相同(严格区分大小写)。例如,调用安装在Windows系统中的字体:C:WINDOWSFontsSimHei.ttfint Font_CS = 0;
需要注意的是,字体名可能与字体文件名不同,甚至相同的字体在不同语言的操作系统下字体名称会有所不同。在 Windows 环境下查看字体名,可双击该字体文件,窗口打开后的第一行字除结尾的 TrueType, OpenType 外为字体名。例如,调用安装在 Windows 系统中的字体: C:WINDOWSFontsSimHei.ttf ,双击该文件后,窗口的第一行为“黑体 TrueType” 。则该文件的字体名为“黑体”。在 PDFlib 中若要调用多字节的文件名,须以 BOM+ UTF8 的形式。 “黑体”的 BOM+ UTF8 的形式为“ xEFxBBxBFxE9xBBx91xE4xBDx93 ”。
Font_CS = PDF_load_font(p, "SimHei", 0, "unicode", "");
因此对于中文黑体, 在中文WINDOWS下,则我们使用
PDF_load_font(p, "xEFxBBxBFxE9xBBx91xE4xBDx93", 0, "unicode", "");
在英文WINDOWS下则应使用PDF_load_font(p, "SimHei", 0, "unicode", "");
(小技巧: 我们可以使用Windows2000/XP自带的notepad获得UTF8编码,具体方法举例:在notepad中输入"黑体"并保存, 保存时在编码下拉框中选择UTF-8, 然后用UltraEdit,WinHex,VC等可以进行二进制编辑的工具打开该文件即可取得带BOM的UTF8字符串)
更多精彩
赞助商链接