itextpdf新建字体时,需要输入编码
PdfFont font = PdfFontFactory.createFont("MHei-Medium","UniCNS-UTF32-H", true);
一 查找pdf规范文档,不同字体对应不同的编码:
对于composition font(CIDFont),创建字体时需要考虑Predefined CMaps,具体参考PDF规范文档"5.6.4 CMaps"小节,可以看出不同的编码适合不同的字体注册类型,例如:
注意:自己猜测:编码后面带的后缀H或者V表示文字是水平书写还是垂直书写
二 查看字体的注册类型:
目前办法是查看itext-asian-5.2.0.jar包里代码对应字体的properties文件获取:
三 最后就可以用对应的字体名字和编码来新建字体了,由于itextpdf插件不一定实现了所有对应编码的操作器,所以不一定支持所有的编码,可以写个例子对应看看源码。