Genexus Web端PDF报表字体不显示、Bahnschrift压缩样式不生效问题咨询
修复方案
1. 修正INI配置错误
- 修正拼写错误:全局配置和配置段的
Embeed Fonts均为拼写错误,需统一改为Embed Fonts,否则嵌入字体的全局开关不生效。 - 补充嵌入字体列表:当前
[Embed Fonts]段仅配置了条码字体嵌入,需补充所有业务用到的字体,示例如下:[Embed Fonts] 3 of 9 Barcode= true BarCode 128= true Calibri Light= true Bahnschrift= true Bahnschrift SemiCondensed= true Bahnschrift Condensed= true Arial Narrow= true Tahoma= true Arial Black= true - 修复Bahnschrift字体配置:Bahnschrift为可变字体,GX Evo2不支持直接从单一可变字体文件读取不同宽度变体,你需要单独下载Bahnschrift Condensed、Bahnschrift SemiCondensed的静态TTF字体文件,在
[Fonts Location (MS)]段分别指向对应的独立字体文件,不要共用同一个可变字体文件。 - 临时调整字体扫描开关:将全局配置的
SearchNewFonts改为true,首次启动识别所有字体后再改回false即可。
2. 修正HTML变量的语法错误
你当前的&FormattedVar存在引号嵌套错误,style属性用双引号包裹后,内部的字体名不能直接用双引号,会提前闭合style属性导致样式解析失败,修正后写法如下:
&FormattedVar = '<div style="font-family: ''Calibri Light'', Calibri; text-align:center;">' + &VarPart1 + '<b>' + &VarPart2 + '</b>' + &VarPart3 + '</div>'
3. 额外验证项
- 修改配置后先清空GX Evo2的本地字体缓存,再重新生成PDF测试,避免旧缓存干扰配置生效。
- 若部署在服务器环境,需确认应用运行身份对字体文件存放目录有读取权限,权限不足会导致字体加载失败自动 fallback 到系统默认字体,出现样式、字号不生效的问题。
内容的提问来源于stack exchange,提问作者Nacho Sanchez
相关产品推荐
相关产品推荐

