我正在使用iTextSharp创建PDF:s。我有一个小问题,用户可以使用的某些字体中缺少某些字形。是否有可能像CSS一样使用后备字体或字体堆栈?
答案 0 :(得分:4)
我认为你正在寻找FontSelector类。
我们的想法是创建一个FontSelector
对象,使用AddFont()
方法添加字体。现在,当您的string
包含一种字体中缺少的字形但以另一种字体显示时,您可以使用process()
方法创建一个由Phrase
组成的字符组成的Chunk
string
使用不同字体的对象。
将字体添加到选择器的顺序非常重要。检查{{1}}内的字符时,将检查第一个字体是否存在与字符对应的字形。如果找到一个字形,该字体将用于该字符;如果缺少字形,将检查第二种字体。相同的字形可以存在于不同的字体中,但iText将始终查看添加到选择器的第一个字体,并且一旦找到字形就会忽略所有其他字体。