我的Grails应用程序正在生成一个包含英语和日语字符的PDF文件。
我想为每种语言使用不同的字体(英语为Open Sans,日语为MS Gothic)。我已经尝试在CSS文件中使用字体堆叠。但是,它不起作用(我什至试图指定unicode范围)。
@font-face {
font-family: 'Open Sans';
src: url("path to OpenSans-Regular.ttf");
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: Identity-H;
unicode-range: U+0000-007F;
}
@font-face {
font-family: 'MS Gothic';
src: url("path to MS_Gothic.ttf");
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: Identity-H;
unicode-range: U+3040-309F, U+30A0-30FF, U+4E00-9FBF;
}
这将导致所有字体都在MS Gothic中生成(在这种情况下,英语不是很漂亮)。
.body {
font-family: "'MS Gothic', 'Open Sans'";
}
这将导致在Open Sans中生成所有字体(在这种情况下,不支持日语)。
.body {
font-family: "'Open Sans', 'MS Gothic'";
}
因此,基本上,我可以在不同的字体之间切换,但是我不能对单个pdf文件使用多种字体。 iText库或XHTMLRenderer中的PDF生成是否存在问题? (https://gpc.github.io/rendering/guide/single.html#8.%20Exotic%20Characters)有办法解决吗?