X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ffont.h;h=a4fc71ae4fa6836a1bac48295325ff3763738ed4;hb=2fa1bb084e54af7134b44d3ee7512056e28de67e;hp=4eaed9635361ecca51ae5604b84c3c0d533c1109;hpb=31db7e468e628aba0f15956630a0ab1f019e9ea9;p=libs%2Fgl.git diff --git a/source/font.h b/source/font.h index 4eaed963..a4fc71ae 100644 --- a/source/font.h +++ b/source/font.h @@ -29,6 +29,7 @@ public: void init(); void glyph(unsigned); void kerning(unsigned, unsigned, float); + void ligature(unsigned, unsigned, unsigned); void texture(); void texture_ref(const std::string &); }; @@ -49,12 +50,15 @@ public: float w, h; float off_x, off_y; float advance; + + Glyph(); }; private: typedef std::map GlyphMap; - typedef std::pair KerningKey; - typedef std::map KerningMap; + typedef std::pair CodePair; + typedef std::map KerningMap; + typedef std::map LigatureMap; RefPtr texture; float native_size; @@ -64,6 +68,7 @@ private: float x_height; GlyphMap glyphs; KerningMap kerning; + LigatureMap ligatures; public: Font(); @@ -133,6 +138,7 @@ public: private: void create_glyph_quad(const Glyph &, PrimitiveBuilder &) const; float get_glyph_advance(unsigned, unsigned = 0) const; + unsigned get_ligature(unsigned, unsigned) const; }; } // namespace GL