#ifndef __FONT_H
#define __FONT_H
+#ifndef SWIG
+
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_CACHE_H
#include FT_CACHE_SMALL_BITMAPS_H
#include <vector>
-
#include <lib/gdi/fb.h>
#include <lib/gdi/esize.h>
#include <lib/gdi/epoint.h>
#include <string>
#include <lib/base/object.h>
+#include <set>
+
class FontRenderClass;
class Font;
class gDC;
class gFont;
class gRGB;
+#endif
class fontRenderClass
{
+#ifndef SWIG
friend class Font;
friend class eTextPara;
fbClass *fb;
FTC_FaceID getFaceID(const std::string &face);
FT_Error getGlyphBitmap(FTC_Image_Desc *font, FT_ULong glyph_index, FTC_SBit *sbit);
static fontRenderClass *instance;
+#else
+ fontRenderClass();
+ ~fontRenderClass();
+#endif
public:
float getLineHeight(const gFont& font);
- std::string AddFont(const std::string &filename, const std::string &name, int scale);
static fontRenderClass *getInstance();
- FT_Error FTC_Face_Requester(FTC_FaceID face_id,
- FT_Face* aface);
+#ifndef SWIG
+ std::string AddFont(const std::string &filename, const std::string &name, int scale);
+ FT_Error FTC_Face_Requester(FTC_FaceID face_id, FT_Face* aface);
int getFont(ePtr<Font> &font, const std::string &face, int size, int tabwidth=-1);
fontRenderClass();
~fontRenderClass();
+#endif
};
+#ifndef SWIG
+
#define RS_WRAP 1
#define RS_DOT 2
#define RS_DIRECT 4
int use_kerning;
int previous;
static std::string replacement_facename;
+ static std::set<int> forced_replaces;
eRect area;
ePoint cursor;
virtual ~eTextPara();
static void setReplacementFont(std::string font) { replacement_facename=font; }
+ static void forceReplacementGlyph(int unicode) { forced_replaces.insert(unicode); }
void setFont(const gFont *font);
- int renderString(const std::string &string, int flags=0);
+ int renderString(const char *string, int flags=0);
void clear();
extern fontRenderClass *font;
+#endif // !SWIG
+
#endif