9 #include FT_CACHE_IMAGE_H
10 #include FT_CACHE_SMALL_BITMAPS_H
27 class FontRenderClass;
50 FTC_Manager cacheManager;
56 int getFaceProperties(
const std::string &face, FTC_FaceID &
id,
int &renderflags);
57 FT_Error getGlyphBitmap(
FTC_Image_Desc *font, FT_UInt glyph_index, FTC_SBit *sbit);
58 FT_Error getGlyphImage(
FTC_Image_Desc *font, FT_UInt glyph_index, FT_Glyph *glyph, FT_Glyph *borderglyph,
int bordersize);
88 #define GS_SOFTHYPHEN 16
90 #define GS_COLORCHANGE 64
93 #define GS_MAYBREAK 512
94 #define GS_CANBREAK (GS_ISSPACE|GS_SOFTHYPHEN|GS_HYPHEN)
120 ePtr<Font> current_font, replacement_font, fallback_font;
121 FT_Face current_face, replacement_face, fallback_face;
124 static std::string replacement_facename;
125 static std::string fallback_facename;
126 static std::set<int> forced_replaces;
133 std::list<int> lineOffsets;
134 std::list<int> lineChars;
140 bool doTopBottomReordering;
143 int appendGlyph(
Font *current_font, FT_Face current_face, FT_UInt glyphIndex,
int flags,
int rflags,
int border,
bool last,
144 bool activate_newcolor,
unsigned long newcolor);
145 void newLine(
int flags);
150 : current_font(0), replacement_font(0), fallback_font(0),
151 current_face(0), replacement_face(0), fallback_face(0),
152 area(area), cursor(start), maximum(0, 0), left(start.
x()), charCount(0), totalheight(0),
153 bboxValid(0), doTopBottomReordering(false), m_offset(0)
164 int renderString(
const char *
string,
int flags=0,
int border=0,
int markedpos=-1);
180 void realign(
int dir,
int markedpos=-1,
int scrollpos=0);
196 return glyphs.size();
202 ASSERT(num < (
int)glyphs.size());
203 return glyphs[num].bbox;
209 ASSERT(g < (
int)glyphs.size());
210 glyphs[g].flags |=
f;
216 ASSERT(g < (
int)glyphs.size());
217 glyphs[g].flags |=
f;
229 FT_Error
getGlyphImage(FT_UInt glyph_index, FT_Glyph *glyph, FT_Glyph *borderglyph,
int bordersize);
FT_Error getGlyphBitmap(FT_UInt glyph_index, FTC_SBit *sbit)
Definition: font.cpp:322
virtual ~Font()
Definition: font.cpp:332
int tabwidth
Definition: font.h:233
FT_Size size
Definition: font.h:231
fontRenderClass * renderer
Definition: font.h:227
FTC_Image_Desc font
Definition: font.h:226
int height
Definition: font.h:234
FT_Error getGlyphImage(FT_UInt glyph_index, FT_Glyph *glyph, FT_Glyph *borderglyph, int bordersize)
Definition: font.cpp:327
Font(fontRenderClass *render, FTC_FaceID faceid, int isize, int tabwidth, int renderflags)
Definition: font.cpp:305
FTC_ScalerRec scaler
Definition: font.h:225
FT_Face face
Definition: font.h:230
int getLineCount(void) const
Definition: font.h:167
@ dirRight
Definition: font.h:173
@ dirBlock
Definition: font.h:173
@ dirLeft
Definition: font.h:173
@ dirCenter
Definition: font.h:173
@ dirBidi
Definition: font.h:173
@ dirCenterIfFits
Definition: font.h:173
static void forceReplacementGlyph(int unicode)
Definition: font.h:159
static void setReplacementFont(std::string font)
Definition: font.h:158
const eRect & getBoundBox()
Definition: font.h:186
void setTextOffset(int offset)
Definition: font.h:176
void clear()
Definition: font.cpp:1398
static void setFallbackFont(std::string font)
Definition: font.h:161
virtual ~eTextPara()
Definition: font.cpp:580
const eRect & getGlyphBBox(int num) const
Definition: font.h:199
const int size() const
Definition: font.h:194
void setGlyphFlag(int g, int f)
Definition: font.h:206
void realign(int dir, int markedpos=-1, int scrollpos=0)
Definition: font.cpp:1225
int getTextOffset()
Definition: font.h:181
void blit(gDC &dc, const ePoint &offset, const gRGB &background, const gRGB &foreground, bool border=false)
Definition: font.cpp:933
void clearGlyphFlag(int g, int f)
Definition: font.h:213
eTextPara(eRect area, ePoint start=ePoint(-1, -1))
Definition: font.h:149
int renderString(const char *string, int flags=0, int border=0, int markedpos=-1)
Definition: font.cpp:656
int getFont(ePtr< Font > &font, const std::string &face, int size, int tabwidth=-1)
Definition: font.cpp:269
~fontRenderClass()
Definition: font.cpp:255
static fontRenderClass * getInstance()
Definition: font.cpp:73
std::string AddFont(const std::string &filename, const std::string &name, int scale, int renderflags=0)
Definition: font.cpp:150
fontRenderClass()
Definition: font.cpp:182
FT_Error FTC_Face_Requester(FTC_FaceID face_id, FT_Face *aface)
Definition: font.cpp:87
float getLineHeight(const gFont &font)
Definition: font.cpp:229
std::vector< std::string > getFontFaces()
Definition: font.cpp:283
A softreference to a font.
Definition: gfont.h:14
#define NULL
Definition: eerror.h:101
#define ASSERT(x)
Definition: eerror.h:155
const char * filename
Definition: epng.h:36
const char int int int float scale
Definition: epng.h:39
FTC_ImageCache FTC_Image_Cache
Definition: font.h:12
FTC_ImageTypeRec FTC_Image_Desc
Definition: font.h:13
FTC_SBitCache FTC_SBit_Cache
Definition: font.h:14
std::vector< pGlyph > glyphString
Definition: font.h:112
size
Definition: Plugins/SystemPlugins/PositionerSetup/log.py:16
name
Definition: newplugin.py:9
std::string int int int int int unsigned int background
Definition: picload.cpp:1503
std::string int x
Definition: picload.cpp:1503
#define f
Definition: rotor_calc.cpp:143
pGlyph()
Definition: font.h:105
eRect bbox
Definition: font.h:103
int w
Definition: font.h:98
FT_UInt glyph_index
Definition: font.h:101
unsigned long newcolor
Definition: font.h:99
FT_Glyph image
Definition: font.h:104
FT_Glyph borderimage
Definition: font.h:104
int y
Definition: font.h:98
int flags
Definition: font.h:102
int x
Definition: font.h:98
ePtr< Font > font
Definition: font.h:100