阅读:5609回复:11
关于输出字体显示字体问题
请教周大对于配置文件中和皮肤中的font参数支不支持字体映射,比如我有个字体叫firacode但它只有英文和一些特殊符号,不支持中文,现在我想使用这些英文符号作为候选窗口编码的显示字体, 而汉字用“微软雅黑”来显示。我上网查了下可以用windows“字体映射”,意思就是当默认字体中没有显示的字体时,会自动根据注册表中“映射”的设置调用雅黑字。我这样搞了下,但候选出来的是似乎是宋体,我也没在哪里设置过宋体字啊,按理应该出“微软雅黑”才对啊。上面方法在win自带的记事本中测试能正确显示文字,但在小小中[input]->font似乎只支持设置为正常的字体比如“微软雅黑”。是不是这样呢?有没有方法实现这样的功能呢?
我这样做的目的其实是想实现部分非常用字显示问题,如果上面操作能行,就可以实现一般常用字用黑体显示,而有些大字集的字显示不出来时,安装一个大字集字体并映射到某个字体中去解决显示问题。(因为一般字也用大字集字体去显示不太好看) 图1:font设置及注册表映射 图片:字体.png 图片:注册表映射.png 图2:测试结果对比情况,左边显示为宋体(不成功),右边是正常“微软雅黑”字 图片:测试情况.png 图片:正常雅黑.png 图3:在win记事本中测试映射情况 图片:记事本1.png 图片:记事本2.png 另外,想问一下font参数是几个,带空格的名称该怎么写。如果一个字体的名字是 “Fira Code Retina”,本身就带了一些空格,而我同时又想扩大下字体,就写font=Fira Code Retina 16,这样行不行?,这么多空格,测试了下似乎不行。目前font支持中文倒挺好的,可以设置font=微软雅黑 16,最多加粗的时候加个bold,如font=微软雅黑 bold 16,但似乎空格区分参数也不超过2个啊,如果字体名称本身就有几个空格,这样的字体名称也直接写吗? |
|
沙发#
发布于:2022-11-08 17:36
应该是支持多个空格的,最新测试版的话。
字体映射是什么我不懂,我直接用的windows api,CreateFont实现的,它支持我就支持,它不支持我也不支持。 |
|
板凳#
发布于:2022-11-08 19:06
|
|
地板#
发布于:2022-11-08 19:09
|
|
4楼#
发布于:2022-11-08 19:18
|
|
6楼#
发布于:2022-12-10 15:19
搭车求助,font=设置可以设多个字体么?优先英文字体,缺字再fallback到下一个字体,比如font=DejaVu Sans Mono 10, SimSun 12
|
|
7楼#
发布于:2022-12-10 17:14
laolang_cool:搭车求助,font=设置可以设多个字体么?优先英文字体,缺字再fallback到下一个字体,比如font=DejaVu Sans Mono 10, SimSun 12回到原帖输入法不支持 |
|
8楼#
发布于:2022-12-10 18:03
|
|
9楼#
发布于:2022-12-10 18:13
laolang_cool:谢谢,我试了一下,只设置一个英文字体也可以正常显示中文,就是中文不是自己期望的,我查查这个应该是从系统来设置的了。回到原帖搞定了,linux下的xorg,可以在font.conf里加一条规则,比如: <alias> <family>Arial</family> <prefer> <family>Arial</family> <family>NSimSun</family> </prefer> </alias> 就可以英文用Arial,中文用新宋体了。 |
|
上一页
下一页