我使用该代码创建一个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代码是正确的。我的情况有什么问题? 附:我也尝试过其他支持西里尔文字体的字体,但没有任何帮助。
答案 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。