使用iTextSharp在Unity3D中使用西里尔文本保存PDF

时间:2015-03-05 18:20:47

标签: c# pdf fonts unity3d itextsharp

我使用该代码创建一个BaseFont

string combineStr                       = Path.Combine(Application.dataPath+"/Resources/Fonts", "Calibri Regular.ttf");
BaseFont bf                             = BaseFont.CreateFont(combineStr, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font titleFont          = new iTextSharp.text.Font(bf, 10f, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);

在Unity中测试它一切正常,我的西里尔字形工作正常,但在WindowsPalyer构建中我收到错误

ArgumentException: Encoding name 'windows-1252' not supported
Paremeter name: name.

在这里找不到任何问题..检查了一切,以及我如何看到我的BaseFont代码是正确的。我的情况有什么问题? 附:我也尝试过其他支持西里尔文字体的字体,但没有任何帮助。

1 个答案:

答案 0 :(得分:0)

OP增加了问题的解决方案。我将其从问题中移除,将其添加为真正的答案:

这里的问题是独立播放器中缺少I18N.dll和I18N.West.dll。但它们在编辑器中可用。这就是为什么它在编辑器中工作,而不是在独立播放器中工作。

解决方案:将这些DLL放入您的项目中(可能最好在System.Data.dll旁边),这样,它们也可以在独立播放器中使用。

另请参阅Unity Answers上的CodePage 1252 not supported - works in editor but not in standalone player