Some truetype fonts include bitmap strikes for certain sizes. A new font
attribute is introduced to the DFBFontAttributes enum. It maps to
the FT_LOAD_NO_BITMAP attribute in the freetype2 renderer. This
tells the renderer to always provide an anti-aliased rendering,
ignoring bitmap strikes embedded in the font. For bitmap-only fonts this
flag is ignored.
---
include/directfb.h | 5 +++-
interfaces/IDirectFBFont/idirectfbfont_ft2.c | 31
+++++++++++++------------
2 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/include/directfb.h b/include/directfb.h
index 1f35997..bac7e4f 100644
--- a/include/directfb.h
+++ b/include/directfb.h
@@ -979,7 +979,10 @@ typedef enum {
DFFA_MONOCHROME = 0x00000004, /* don't use anti-aliasing */
DFFA_NOCHARMAP = 0x00000008, /* no char map, glyph indices
are
specified directly */
- DFFA_FIXEDCLIP = 0x00000010 /* width fixed advance, clip to
it */
+ DFFA_FIXEDCLIP = 0x00000010, /* width fixed advance, clip to
it */
+ DFFA_NOBITMAP = 0x00000020 /* ignore bitmap strikes; for
+ bitmap-only fonts this flag
is
+ ignored */
} DFBFontAttributes;
/*
diff --git a/interfaces/IDirectFBFont/idirectfbfont_ft2.c
b/interfaces/IDirectFBFont/idirectfbfont_ft2.c
index 6ad3a78..ae8c2c6 100644
--- a/interfaces/IDirectFBFont/idirectfbfont_ft2.c
+++ b/interfaces/IDirectFBFont/idirectfbfont_ft2.c
@@ -680,23 +680,22 @@ Probe( IDirectFBFont_ProbeContext *ctx )
static DFBResult
-Construct( IDirectFBFont *thiz,
+Construct( IDirectFBFont *thiz,
... )
{
- int i;
- DFBResult ret;
- CoreFont *font;
- FT_Face face;
- FT_Error err;
- FT_Int load_flags = FT_LOAD_DEFAULT;
- FT2ImplData *data;
- bool disable_charmap = false;
- bool disable_kerning = false;
- bool load_mono = false;
- u32 mask = 0;
-
- CoreDFB *core;
- char *filename;
+ int i;
+ DFBResult ret;
+ CoreFont *font;
+ FT_Face face;
+ FT_Error err;
+ FT_Int load_flags = FT_LOAD_DEFAULT;
+ FT2ImplData *data;
+ bool disable_charmap = false;
+ bool disable_kerning = false;
+ bool load_mono = false;
+ u32 mask = 0;
+ CoreDFB *core;
+ char *filename;
DFBFontDescription *desc;
va_list tag;
@@ -746,6 +745,8 @@ Construct( IDirectFBFont *thiz,
if (desc->flags & DFDESC_ATTRIBUTES) {
if (desc->attributes & DFFA_NOHINTING)
load_flags |= FT_LOAD_NO_HINTING;
+ if (desc->attributes & DFFA_NOBITMAP)
+ load_flags |= FT_LOAD_NO_BITMAP;
if (desc->attributes & DFFA_NOCHARMAP)
disable_charmap = true;
if (desc->attributes & DFFA_NOKERNING)
--
1.5.6.3
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev