e16中的字体处理非e17
默认的e16字体处理有两种方式:1、使用imlib读取ttf字体文件然后通过该库实现字体画字。
在配置文件中这样设置:
/usr/local/share/e16/themes/winter/fonts.cfg中
(也可能在/usr/share/e16/themes/winter/fonts.cfg):
#include <definitions>
__E_CFG_VERSION 1
__FONTS __BGN
font-border "VeraBd/7" /* VeraBd指明字体文件名,7表示字体大小 */
/* /usr/local/share/e16/themes/winter/ttfonts 中有:VeraBd.ttf,Vera.ttf就是与这里对应的*/
font-coords "VeraBd/7"
font-dialog "Vera/7"
font-dialog-hilite "Vera/8" /* ??? */
font-epplet "Vera/6"
font-epplet-small "Vera/6"
font-epplet-medium "Vera/8"
font-epplet-large "Vera/10"
font-focus "VeraBd/7"
font-iconbox "VeraBd/7"
font-init "VeraBd/8"
font-menu "Vera/7"
font-pager "VeraBd/7"
font-tooltip "VeraBd/7"
__END
2、使用xlibs中的缺省字体处理例程函数处理字体。
在配置文件中这样设置:
/usr/local/share/e16/themes/winter/fonts.cfg中
(也可能在/usr/share/e16/themes/winter/fonts.cfg):
#include <definitions>
__E_CFG_VERSION 1
__FONTS __BGN
font-border "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*" /* 通过X字体表示符设定字体,参见xfontsel程序 */
font-coords "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
font-dialog "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
font-dialog-hilite "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*" /* ??? */
font-epplet "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
font-epplet-small "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
font-epplet-medium "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
font-epplet-large "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
font-focus "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
font-iconbox "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
font-init "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
font-menu "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
font-pager "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
font-tooltip "-misc-simsun-medium-r-normal--12-*-*-*-*-*-*-*"
__END
通过打附件中我提交的补丁后,可以调用xlibs中XFT函数例程设置字体,XFT能
很好的处理中文斜体粗体等问题,以上的配置文件可以改成:
#include <definitions>
__E_CFG_VERSION 1
__FONTS __BGN
font-border "Simsun/7/1" /* Simsun为字体的名称,7表示大小,后面为字体风格:1粗体 2斜体 3粗斜体 */
font-coords "Simsun/7/1"
font-dialog "Simsun/7"
font-dialog-hilite "Simsun/8" /* ??? */
font-epplet "Simsun/6"
font-epplet-small "Simsun/6"
font-epplet-medium "VSimsun/8"
font-epplet-large "Simsun/10"
font-focus "Simsun/7/1"
font-iconbox "Simsun/7/1"
font-init "Simsun/8/1"
font-menu "Simsun/7"
font-pager "Simsun/7/1"
font-tooltip "Simsun/7/1"
__END
关于补丁的说明:
本补丁只对enlightenment DR 0.16 (即通常说的e16)有效,对DR 0.17 (e17)无用,E17中的
字体处理方法完全跟e16不一样,它是用EFL中的evas库中处理的,请别试图对E17使用该补丁。
将该补丁拷到e16代码目录
patch -p0 < e16-xft-wj.patch #从cvs check出来的code里面自带了autogen.sh,可能会有错误提示跳过就是。
sh autogen.sh
./configure
make
make install
页:
[1]