如何解决pdflib-有没有办法判断字体是否支持中文
当我用Arial Black书写文本时,我发现它不能用中文工作,所以我想知道是否有一种方法可以确定字体是否支持中文
解决方法
有关字体的一般说明:
并非所有字体都包含所有字形。因此,预计您不能在整个Unicode范围内使用单个字体。首先,您应该找到符合视觉要求并包含字形的字体。许多字体系列针对不同的Unicode范围都有几种规范。首先,您应该找到符合视觉要求并包含字形的字体。许多字体系列针对不同的Unicode范围具有多种变体。最好与您的字体供应商联系以获得正确的字体文件。或者,您可以使用免费但非常完整的字体系列,例如Noto。
当然,您可以使用PDFlib检查字体的字形可用性。 PDFlib食谱主题glyph availability中对此进行了演示:
gid = (int) p.info_font(font,"glyphid","unicode=" + t.character);
基于此,您可以确定字体是否包含所需的字形。有关详细信息,请参见PDFlib 9.3.0教程的第6.6.2章“特定于字体的编码,Unicode和字形名称查询”。
还与您的问题有关,您可以检查后备字体的技术,以链接多个字体以获得更大的字形。请参阅PDFlib 9.3.0教程的第6.4.6章“ 回退字体”,以及随附的入门示例starter_fallback,该示例也可以在PDFlib cookbook中找到。
我尝试了'int error_font = p.load_font(“ Arial Black”,“”,“ replacementchar = error”);
一旦发生异常,您将无法再使用PDFlib对象。有关此重要主题的详细信息,请参见PDFlib 9.3.0教程的第3.1.1章“ 异常处理”。 您可以在“ doc”目录下的所有PDFlib下载包中找到PDFlib 9.3.0教程,在PDFlib 9.3 Download page上也可以找到单独的链接。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。