Moved charmap list function out of FTCharmap into FTFont
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
diff --git a/src/FTCharmap.cpp b/src/FTCharmap.cpp
index d88a19e..31f6aa3 100644
--- a/src/FTCharmap.cpp
+++ b/src/FTCharmap.cpp
@@ -3,8 +3,7 @@
FTCharmap::FTCharmap( FTFace* face)
-: fontEncodingList(0),
- ftFace( *(face->Face())),
+: ftFace( *(face->Face())),
err(0)
{
if( !ftFace->charmap)
@@ -45,27 +44,6 @@ bool FTCharmap::CharMap( FT_Encoding encoding)
}
-unsigned int FTCharmap::CharMapCount()
-{
- return ftFace->num_charmaps;
-}
-
-
-FT_Encoding* FTCharmap::CharMapList()
-{
- if( 0 == fontEncodingList)
- {
- fontEncodingList = new FT_Encoding[CharMapCount()];
- for( size_t encodingIndex = 0; encodingIndex < CharMapCount(); ++encodingIndex)
- {
- fontEncodingList[encodingIndex] = ftFace->charmaps[encodingIndex]->encoding;
- }
- }
-
- return fontEncodingList;
-}
-
-
unsigned int FTCharmap::CharIndex( unsigned int characterCode )
{
return charMap.find( characterCode);
diff --git a/src/FTFace.cpp b/src/FTFace.cpp
index d018144..0385e23 100755
--- a/src/FTFace.cpp
+++ b/src/FTFace.cpp
@@ -5,6 +5,7 @@
FTFace::FTFace( const char* filename)
: numGlyphs(0),
+ fontEncodingList(0),
err(0)
{
const FT_Long DEFAULT_FACE_INDEX = 0;
@@ -91,6 +92,27 @@ const FTSize& FTFace::Size( const unsigned int size, const unsigned int res)
}
+unsigned int FTFace::CharMapCount()
+{
+ return (*ftFace)->num_charmaps;
+}
+
+
+FT_Encoding* FTFace::CharMapList()
+{
+ if( 0 == fontEncodingList)
+ {
+ fontEncodingList = new FT_Encoding[CharMapCount()];
+ for( size_t encodingIndex = 0; encodingIndex < CharMapCount(); ++encodingIndex)
+ {
+ fontEncodingList[encodingIndex] = (*ftFace)->charmaps[encodingIndex]->encoding;
+ }
+ }
+
+ return fontEncodingList;
+}
+
+
unsigned int FTFace::UnitsPerEM() const
{
return (*ftFace)->units_per_EM;