目前,我正在开发一个 java 桌面程序,该程序将生成土耳其语字母。我打算生成一封包含原始土耳其字母的 PDF 信件,但不知怎的,我保留了几个丢失的(不是全部)土耳其字母。我缺少的一个示例字母是 ı(土耳其语缩写 i(?))。
当我的代码生成土耳其语字母时 - 它会删除那些无法识别的土耳其语字母。更改编码后,我能够将这些无法识别的字母更改为我的 .pdf 字母中的 f.e 0 或 1。我想我陷入了困境......
正如之前所说 - 我确实尝试更改编码。尽管如此 - 在调试期间我可以看到这些字母的原始外观(在调试控制台内)。这让我更加困惑。
信件模板放置在 OracleDb 中,并且以完美状态下载。
使用的PDF库是itext。
最佳答案
这可能是编码问题,或者,如果您所说的编码正确,则可能是字体问题。
并非所有字体的每个字符都有字形,因此,如果您使用不支持所述字符的字体,则该字体将无法工作。
检查您的字体是否支持您的字符 (例如 Google webfonts that support UTF-8 (Turkish) characters? )并使用一个可以的。
可以在此处找到类似的 C# 问题 itextSharp - html to pdf some turkish characters are missing .
关于java - 生成的 PDF 报告中缺少几个土耳其字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60058919/