为iTextSharp罗马尼亚语设置什么编码

wer*_*tyk 0 vb.net pdf itextsharp winforms

我尝试用iTextSharp版本5.5.9.0(我从NuGet添加)创建一个PDF文件.一切正常,但没有和罗马尼亚变音符号(ŞşŢţăĂÂâ).我阅读了很多关于这方面的解决方案,但没有任何作用.现在我建立了一个解决方案,从所有变音符出现只有"ĂĂ ",其他人不出现.那是我的代码:

Dim bf As BaseFont = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1250, False)
Dim normalFont As New iTextSharp.text.Font(bf, 9, Font.NORMAL)
Dim par As New Paragraph("??????Ââ", normalFont)
pdfDoc.Add(par)
Run Code Online (Sandbox Code Playgroud)

任何人都可以写我必须编写的编码,以获得所有罗马尼亚变音符号.

解决方案:来自"Paulo Soares"是对的.我只做了一些修正.我从这个网站下载了一种支持罗马尼亚语的字体:https: //www.fontsquirrel.com/fonts/list/language/romanian/,而不是我在myBaseFont上加载它的编码BaseFont.IDENTITY_H 这是代码:

Dim ttfPath As String = "C:\Test\DejaVuSerif.ttf" 'Path to font file
Dim bf As BaseFont = BaseFont.CreateFont(ttfPath, BaseFont.IDENTITY_H, False)
Dim normalFont As New iTextSharp.text.Font(bf, 9, iTextSharp.text.Font.NORMAL)
Run Code Online (Sandbox Code Playgroud)

Pau*_*res 6

内置字体BaseFont.TIMES_ROMAN没有罗马尼亚变音符号.你需要一个像times.ttf这样的外部字体:

Dim bf As BaseFont = BaseFont.CreateFont("c:\windows\fonts\times.ttf", BaseFont.IDENTITY_H, True)
Run Code Online (Sandbox Code Playgroud)