您尚未登录。

#1 2016-04-10 11:59:30

RecursiveG
会员
注册时间: 2013-03-23
帖子: 9

[求助] 思源黑体部分文字宽度错误 & 垂直不居中

先上图,这是文字宽度问题,注意“帮助”的“助”:(网页在这里
3d75e9d979a115461a4215b5b50f118226c104.png
这是垂直居中问题,文字明显偏下了:
b832095dda25d15e59e2b1e90f43e9cfe4ba54.png

似乎只有在用思源黑体的时候会发生这种情况。Noto 似乎也有,之前试过不过不是记得特别清楚了。
字宽问题只有当调整到特定字体大小的时候才会特别明显。
我用的是 infinality-bundle 仓库的 fontconfig,主仓库的 fontconfig 没有试过。
虽然截图是在Chromium里截的,但是本地程序的字宽也会这样,比如 gedit。

我想知道这是个已知问题还是个例,还是字体的BUG或者我配置文件写错了之类的。
放狗搜了好久也没有相关信息,不知道是关键字选错了还是怎么回事……

然后是系统配置:
Archlinux kernel 4.4.5-1
fontconfig-infinality-ultimate 2.11.94-1
Gnome 3.20
Chromium 49.0.2623.110-2
adobe-source-han-sans-cn-fonts 1.004-1

/etc/fonts/conf.d $ ls
10-base-rendering.conf@        45-latin.conf@                83-yes-bitmaps.conf@
10-scale-bitmap-fonts.conf@    45-latin-microsoft.conf@      83-yes-postscript.conf@
10-sub-pixel-rgb.conf@         45-latin-misc.conf@           88-forced-synthetic.conf@
11-lcdfilter-light.conf@       45-tex-gyre.conf@             90-non-tt-fonts.conf@
20-unhint-small-vera.conf@     49-sansserif.conf@            90-non-tt-heuristica.conf@
28-user.conf@                  50-user.conf@                 90-non-tt-tex-gyre.conf@
29-local.conf@                 51-local.conf@                90-synthetic.conf@
30-metric-aliases-combi.conf@  60-latin-combi.conf@          90-tt-arphic-uming.conf@
30-metric-aliases.conf@        60-latin.conf@                90-tt-fonts-microsoft.conf@
30-urw-aliases.conf@           65-fonts-persian.conf@        90-tt-fonts-misc.conf@
37-repl-global-combi.conf@     65-non-latin-combi.conf@      90-tt-ipafont.conf@
37-repl-webfonts.conf@         65-nonlatin.conf@             90-tt-mph-2b-damase.conf@
38-repl-webfonts-custom.conf@  66-aliases-wine-combi.conf@   92-selective-rendering-microsoft.conf@
40-arphic-uming.conf@          67-override-aliases.conf@     92-selective-rendering-misc.conf@
40-ipafont.conf@               68-override.conf@             93-final-rendering.conf@
40-mph-2b-damase.conf@         69-unifont.conf@              94-no-synthetic.conf@
40-nonlatin.conf@              70-yes-bitmaps.conf@          95-reject.conf@
40-non-latin-microsoft.conf@   80-delicious.conf@            97-selective-rendering-custom.conf@
40-non-latin-misc.conf@        82-no-embedded-bitmaps.conf@  99-local.conf
44-source-han-sans-cn.conf@    82-no-force-autohint.conf@    99pdftoopvp.conf
45-heuristica.conf@            82-no-ttf-as-bitmap.conf@     README
/etc/fonts/conf.d $ cat 99-local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
    <test name="family"><string>sans-serif</string></test>
    <edit name="family" mode="prepend" binding="strong">
        <string>Helvetica Neue</string>
        <string>Source Han Sans CN Normal</string>
        <string>Source Han Sans CN</string>
    </edit>
</match>
<match>
    <test name="family"><string>serif</string></test>
    <edit name="family" mode="prepend" binding="strong">
        <string>Heuristica</string>
        <string>IPAMincho</string>
        <string>Source Han Sans CN Normal</string>
        <string>Source Han Sans CN</string>
    </edit>
</match>
<match>
    <test name="family"><string>monospace</string></test>
    <edit name="family" mode="prepend" binding="strong">
	<string>Monaco</string>
        <string>Source Han Sans CN Normal</string>
        <string>Source Han Sans CN</string>
    </edit>
</match>
</fontconfig>

最近编辑记录 RecursiveG (2016-04-11 01:23:40)

离线

#2 2016-04-10 13:10:46

cuihao
所在地: USTC, Hefei
注册时间: 2011-08-19
帖子: 1,223
个人网站

Re: [求助] 思源黑体部分文字宽度错误 & 垂直不居中

关了中文字体的 hinting 试试吧。

infinality 是对西文字体优化的,对CJK可能没什么好处。


Site: CVHC.CC   Twitter: @cuihaoleo   Org: LUG@USTC
AD:  ~欢迎参与志愿计算~

离线

#3 2016-04-10 16:24:16

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,919
个人网站

Re: [求助] 思源黑体部分文字宽度错误 & 垂直不居中

图片看不到,提示「origin invalid」。
你可以用 https://img.vim-cn.com/ 这个图床。

离线

#4 2016-04-11 02:06:07

jack
会员
注册时间: 2013-03-02
帖子: 40

Re: [求助] 思源黑体部分文字宽度错误 & 垂直不居中

如cuihao所说,文字宽度问题可能和infinality设置有关,我也遇到过,不只思源黑体,DroidSansFallBack也受影响。执行:

export |grep -i infinal

找找有没有下面两项参数:

export INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="15"
export INFINALITY_FT_STEM_FITTING_STRENGTH="15"

如果有显示且其值不为0,请编辑文件 infinality-settings.sh ,将上两项的数值改为0,之后执行命令:

source /etc/X11/xinit/xinitrc.d/infinality-settings.sh

再运行一次:

export |grep -i infinal

看修改生效没。最后运行程序,试试能否解决思源字体宽度问题。

第二个问题提到的行高,或者说垂直居中问题就麻烦多了,以前听说是官方有意这样设置,但具体什么原因已经忘了。搜索一下“思源黑体 行高正常版”,以及搜索“修改思源黑体行高”,找改过行高的思源黑体或者自己学着修改行高来用吧。

离线

#5 2016-04-11 05:59:00

RecursiveG
会员
注册时间: 2013-03-23
帖子: 9

Re: [求助] 思源黑体部分文字宽度错误 & 垂直不居中

jack 说:

如cuihao所说,文字宽度问题可能和infinality设置有关,我也遇到过,不只思源黑体,DroidSansFallBack也受影响。执行:

export |grep -i infinal

找找有没有下面两项参数:

export INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="15"
export INFINALITY_FT_STEM_FITTING_STRENGTH="15"

如果有显示且其值不为0,请编辑文件 infinality-settings.sh ,将上两项的数值改为0,之后执行命令:

source /etc/X11/xinit/xinitrc.d/infinality-settings.sh

再运行一次:

export |grep -i infinal

看修改生效没。最后运行程序,试试能否解决思源字体宽度问题。

第二个问题提到的行高,或者说垂直居中问题就麻烦多了,以前听说是官方有意这样设置,但具体什么原因已经忘了。搜索一下“思源黑体 行高正常版”,以及搜索“修改思源黑体行高”,找改过行高的思源黑体或者自己学着修改行高来用吧。


感谢,字宽问题解决了。
根据这边的信息,行高问题应该已经被修复了。
另外垂直居中问题又研究了下,感觉也许是不同字体混排的问题……
我试着让中英文统一使用 Source Han Sans CN 就不会有问题。
但是如果是使用其他中文字体和英文混排也不会有这种问题……

最近编辑记录 RecursiveG (2016-04-11 06:02:35)

离线

页脚