求fontconfig 配置代码:怎样给中文斜体打开AA?
如题。 你必须使用Firefly给libxft打的补丁,embedbitmap那个。然后不要在fontconfig中设置关AA就行了。 你必须使用Firefly给libxft打的补丁,embedbitmap那个。然后不要在fontconfig中设置关AA就行了。Hello, Mr Wang! :D
对于9-12号的宋体,肯定要关闭AA。这样才清晰。
其他字体各种字号的AA我都打开了。
现在要做的是:
把宋体的斜体字型打开AA,常规字型9-12号依然关闭AA。
这在fontconfig里面怎么写?
斜体我用的是sunmoon 的 cairo 补丁,斜体不加AA就破碎不堪。
<match target="font">
<test target="pattern" name="slant" compare="eq"><const>roman</const></test>
<test target="pattern" name="slant" compare="eq"><const>oblique</const></test>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
</match>
我瞎猜的,不一定准阿,呵呵 专家 3n 来了,我去试试看。 好像不行!
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--
Fonts for which antialiasing has to be disabled at small sizes
-->
<match target="font">
<test name="family">
<string>Raghindi</string>
</test>
<test name="size" compare="less">
<double>11</double>
</test>
<edit name="antialias">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" qual="any">
<string>AR PL New Sung</string>
<string>SimSun</string>
<string>NSimSun</string>
<string>MingLiu</string>
<string>PMingLiu</string>
</test>
<test name="pixelsize" compare="less_eq">
<double>12</double>
</test>
<edit name="pixelsize" mode="assign">
<double>12</double>
</edit>
</match>
<match target="font">
<test name="family" qual="any">
<string>AR PL New Sung</string>
<string>SimSun</string>
<string>NSimSun</string>
<string>MingLiu</string>
<string>PMingLiu</string>
</test>
<test name="pixelsize" compare="less_eq">
<double>16</double>
</test>
<edit name="antialias">
<bool>false</bool>
</edit>
</match>
<!--
Yet, the slant fonts look better when antialiased
-->
<match target="font">
<test name="family" qual="any">
<string>AR PL New Sung</string>
<string>SimSun</string>
<string>NSimSun</string>
<string>MingLiu</string>
<string>PMingLiu</string>
</test>
<test target="pattern" name="slant" compare="eq">
<const>roman</const>
</test>
<test target="pattern" name="slant" compare="eq">
<const>oblique</const>
</test>
<edit name="antialias" mode="assign">
<!--
Yet, the slant fonts look better when antialiased
-->
<match target="font">
<test name="family" qual="any">
<string>AR PL New Sung</string>
<string>SimSun</string>
<string>NSimSun</string>
<string>MingLiu</string>
<string>PMingLiu</string>
</test>
<test target="pattern" name="slant" compare="eq">
<const>roman</const>
</test>
<test target="pattern" name="slant" compare="eq">
<const>oblique</const>
</test>
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
</match>
</fontconfig>
<match target="font">
<test target="pattern" name="slant" compare="eq"><const>oblique</const></test>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
</match>
<match target="font">
<test target="pattern" name="slant" compare="eq"><const>roman</const></test>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
</match>
拆开写试试看 你必须使用Firefly给libxft打的补丁,embedbitmap那个。然后不要在fontconfig中设置关AA就行了。
Hello, Mr Wang! :D
对于9-12号的宋体,肯定要关闭AA。这样才清晰。
其他字体各种字号的AA我都打开了。
现在要做的是:
把宋体的斜体字型打开AA,常规字型9-12号依然关闭AA。
这在fontconfig里面怎么写?
斜体我用的是sunmoon 的 cairo 补丁,斜体不加AA就破碎不堪。
?新的补丁是这样的。。 <match target="font">
<test target="pattern" name="slant" compare="eq"><const>oblique</const></test>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
</match>
<match target="font">
<test target="pattern" name="slant" compare="eq"><const>roman</const></test>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
</match>
拆开写试试看
有效! :lol:
只要代码的前一部分就可以了,后一个roman把一般的字型的AA也打开了。 你必须使用Firefly给libxft打的补丁,embedbitmap那个。然后不要在fontconfig中设置关AA就行了。
Hello, Mr Wang! :D
对于9-12号的宋体,肯定要关闭AA。这样才清晰。
其他字体各种字号的AA我都打开了。
现在要做的是:
把宋体的斜体字型打开AA,常规字型9-12号依然关闭AA。
这在fontconfig里面怎么写?
斜体我用的是sunmoon 的 cairo 补丁,斜体不加AA就破碎不堪。
?新的补丁是这样的。。
没有你的好看啊。
我用的是这个补丁:cairo-1.0.0-ft-font.patch
diff -up cairo-1.0.0.orig/src/cairo-ft-font.c cairo-1.0.0/src/cairo-ft-font.c
--- cairo-1.0.0.orig/src/cairo-ft-font.c 2005-09-18 09:47:09.000000000 +0800
+++ cairo-1.0.0/src/cairo-ft-font.c 2005-10-19 15:39:17.000000000 +0800
@@ -1207,7 +1207,8 @@ _cairo_ft_unscaled_font_create_glyph (vo
FT_Glyph_Metrics *metrics;
cairo_status_t status = CAIRO_STATUS_SUCCESS;
double x_factor, y_factor;
-
+ int load_flags = val->key.flags & ~PRIVATE_FLAGS_MASK;
+
face = _cairo_ft_unscaled_font_lock_face (unscaled);
if (!face)
return CAIRO_STATUS_NO_MEMORY;
@@ -1217,7 +1218,10 @@ _cairo_ft_unscaled_font_create_glyph (vo
_cairo_ft_unscaled_font_set_scale (unscaled, &val->key.scale);
- if (FT_Load_Glyph (face, val->key.index, val->key.flags & ~PRIVATE_FLAGS_MASK) != 0) {
+ if (unscaled->have_shape)
+ load_flags |= FT_LOAD_NO_BITMAP;
+
+ if (FT_Load_Glyph (face, val->key.index, load_flags) != 0) {
status = CAIRO_STATUS_NO_MEMORY;
goto FAIL;
}
我现在的cairo版本是1.0.2。 你必须使用Firefly给libxft打的补丁,embedbitmap那个。然后不要在fontconfig中设置关AA就行了。
Hello, Mr Wang! :D
对于9-12号的宋体,肯定要关闭AA。这样才清晰。
其他字体各种字号的AA我都打开了。
现在要做的是:
把宋体的斜体字型打开AA,常规字型9-12号依然关闭AA。
这在fontconfig里面怎么写?
斜体我用的是sunmoon 的 cairo 补丁,斜体不加AA就破碎不堪。
?新的补丁是这样的。。
没有你的好看啊。
我用的是这个补丁:cairo-1.0.0-ft-font.patch
diff -up cairo-1.0.0.orig/src/cairo-ft-font.c cairo-1.0.0/src/cairo-ft-font.c
--- cairo-1.0.0.orig/src/cairo-ft-font.c 2005-09-18 09:47:09.000000000 +0800
+++ cairo-1.0.0/src/cairo-ft-font.c 2005-10-19 15:39:17.000000000 +0800
@@ -1207,7 +1207,8 @@ _cairo_ft_unscaled_font_create_glyph (vo
FT_Glyph_Metrics *metrics;
cairo_status_t status = CAIRO_STATUS_SUCCESS;
double x_factor, y_factor;
-
+ int load_flags = val->key.flags & ~PRIVATE_FLAGS_MASK;
+
face = _cairo_ft_unscaled_font_lock_face (unscaled);
if (!face)
return CAIRO_STATUS_NO_MEMORY;
@@ -1217,7 +1218,10 @@ _cairo_ft_unscaled_font_create_glyph (vo
_cairo_ft_unscaled_font_set_scale (unscaled, &val->key.scale);
- if (FT_Load_Glyph (face, val->key.index, val->key.flags & ~PRIVATE_FLAGS_MASK) != 0) {
+ if (unscaled->have_shape)
+ load_flags |= FT_LOAD_NO_BITMAP;
+
+ if (FT_Load_Glyph (face, val->key.index, load_flags) != 0) {
status = CAIRO_STATUS_NO_MEMORY;
goto FAIL;
}
我现在的cairo版本是1.0.2。
用这个。
http://www.magiclinux.org/people/sunmoon1997/patches/cairo/cairo-ft-font-transform-bitmap.diff 多谢 :mrgreen: <match target="font">
<test target="pattern" name="slant" compare="eq"><const>oblique</const></test>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
</match>
<match target="font">
<test target="pattern" name="slant" compare="eq"><const>roman</const></test>
<edit name="antialias" mode="assign"><bool>true</bool></edit>
</match>
拆开写试试看
有效! :lol:
只要代码的前一部分就可以了,后一个roman把一般的字型的AA也打开了。
呵呵,应该是 Italic:oops: 我把GTK升级到2.8.6,firefox升级到1.5-rc1,cairo用的是1.0.2,然后simsun也好,tahoma也好,英文粗体都极其难看,请问该怎么办? 请用sunmonn的cairo-all-in-one.patch
页:
[1]
2