首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wkhtmltopdf中文符号被切断

Wkhtmltopdf中文符号被切断
EN

Stack Overflow用户
提问于 2016-05-26 16:22:21
回答 1查看 506关注 0票数 0

我正在尝试将带有一些中文字符的html转换为pdf,但它们被切断了。这就好像中文字体需要两个罗马字母的空间,但实际上只有一个。我正在尝试呈现的文本:(周大鹏)įšėęčųū

看看它是什么样子:

我试过使用Noto Sans CJK SC字体来渲染这个字体,中文字形看起来不错,但是特殊的波罗的海字母会出现很大的间距。我试着指定用逗号分隔的字体系列,比如:font-family: 'Noto Sans', 'Noto Sans CJK SC', sans-serif;,但是要么字母被隔开,要么中文字符被截断。

在web中,一切看起来都很好,只有在生成PDF时才会发生这种情况。我使用的是wkhtmltopdf的0.12.3版。

EN

回答 1

Stack Overflow用户

发布于 2017-01-12 02:23:15

我在正确渲染中文字符时遇到了问题,并使用.fonts.conf文件修复了它。

https://wiki.debian.org/Fonts#Subpixel-hinting_and_Font-smoothing

我是在这里发现的:

https://github.com/wkhtmltopdf/wkhtmltopdf/issues/45#issuecomment-34543222

到/etc/fonts/conf.d/文件夹。我将文件命名为10-wkhtmltopdf.conf,以便首先加载它。

xml文件已更改为将'hintstyle‘设置为'hintfull’,而不是'hintslight‘。

此.fonts.conf文件还有助于修复字体字距调整问题。

代码语言:javascript
复制
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
	<match target="font">
		<edit mode="assign" name="rgba">
			<const>rgb</const>
		</edit>
	</match>
	<match target="font">
		<edit mode="assign" name="hinting">
			<bool>true</bool>
		</edit>
	</match>
	<match target="font">
		<edit mode="assign" name="hintstyle">
			<const>hintfull</const>
		</edit>
	</match>
	<match target="font">
		<edit mode="assign" name="antialias">
			<bool>true</bool>
		</edit>
	</match>
	<match target="font">
		<edit mode="assign" name="lcdfilter">
			<const>lcddefault</const>
		</edit>
	</match>
</fontconfig>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37455349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档