|
发表于 2005-11-7 10:27:35
|
显示全部楼层
[quote:0e99b0c07e="apeter_2000"][quote:0e99b0c07e="sunmoon1997"][quote:0e99b0c07e="apeter_2000"][quote:0e99b0c07e="mandrakechina"]你必须使用Firefly给libxft打的补丁,embedbitmap那个。然后不要在fontconfig中设置关AA就行了。[/quote]
Hello, Mr Wang! :D
对于9-12号的宋体,肯定要关闭AA。这样才清晰。
其他字体各种字号的AA我都打开了。
现在要做的是:
把宋体的斜体字型打开AA,常规字型9-12号依然关闭AA。
这在fontconfig里面怎么写?
斜体我用的是sunmoon 的 cairo 补丁,斜体不加AA就破碎不堪。[/quote]
?新的补丁是这样的。。[/quote]
没有你的好看啊。
我用的是这个补丁:cairo-1.0.0-ft-font.patch
[code:1]
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;
}
[/code:1]
我现在的cairo版本是1.0.2。[/quote]
用这个。
http://www.magiclinux.org/people/sunmoon1997/patches/cairo/cairo-ft-font-transform-bitmap.diff |
|