Fixed some utf-8 decoding for Japanese and tweaked card text formating for multi-encoding support.

This commit is contained in:
linshier
2010-11-29 17:40:21 +00:00
parent 0c9f5cd558
commit 970cd456de
3 changed files with 141 additions and 80 deletions

View File

@@ -46,6 +46,8 @@ public:
virtual void SetTracking(float tracking) = 0;
// Set Base for the character set to use.
virtual void SetBase(int base) = 0;
// Format text.
virtual void FormatText(string &s, vector<string>& output) = 0;
WFont(int inID) : mFontID(inID) {};
virtual ~WFont() {};
};
@@ -66,6 +68,7 @@ public:
float GetStringWidth(const char *s) const {return it->GetStringWidth(s);};
void SetTracking(float tracking) {it->SetTracking(tracking);};
void SetBase(int base) {it->SetBase(base);};
void FormatText(string &s, vector<string>& output);
private:
JLBFont * it;
@@ -87,6 +90,7 @@ public:
virtual float GetStringWidth(const char *s) const;
void SetTracking(float tracking) {};
void SetBase(int base) {};
void FormatText(string &s, vector<string>& output) {};
virtual void DrawString(const char *s, float x, float y, int align=JGETEXT_LEFT, float leftOffset = 0, float width = 0);
virtual int GetCode(const u8 *ch, int *charLength) const = 0;
@@ -131,6 +135,7 @@ public:
void DrawString(const char *s, float x, float y, int align=JGETEXT_LEFT, float leftOffset = 0, float width = 0);
int GetCode(const u8 *ch, int *charLength) const;
int GetMana(const u8 *ch) const;
void FormatText(string &s, vector<string>& output);
};
class WUFont : public WFBFont
@@ -141,6 +146,7 @@ public:
int GetCode(const u8 *ch, int *charLength) const;
int GetMana(const u8 *ch) const;
void FormatText(string &s, vector<string>& output);
};
#endif