16
bool FTSize::CharSize( FT_Face* face, unsigned int point_size, unsigned int x_resolution, unsigned int y_resolution )
18
err = FT_Set_Char_Size( *face, 0L, point_size * 64, x_resolution, y_resolution);
24
ftSize = (*ftFace)->size;
37
unsigned int FTSize::CharSize() const
43
float FTSize::Ascender() const
45
return ftSize == 0 ? 0.0f : static_cast<float>( ftSize->metrics.ascender) / 64.0f;
49
float FTSize::Descender() const
51
return ftSize == 0 ? 0.0f : static_cast<float>( ftSize->metrics.descender) / 64.0f;
55
float FTSize::Height() const
62
if( FT_IS_SCALABLE((*ftFace)))
64
return ( (*ftFace)->bbox.yMax - (*ftFace)->bbox.yMin) * ( (float)ftSize->metrics.y_ppem / (float)(*ftFace)->units_per_EM);
68
return static_cast<float>( ftSize->metrics.height) / 64.0f;
73
float FTSize::Width() const
80
if( FT_IS_SCALABLE((*ftFace)))
82
return ( (*ftFace)->bbox.xMax - (*ftFace)->bbox.xMin) * ( static_cast<float>(ftSize->metrics.x_ppem) / static_cast<float>((*ftFace)->units_per_EM));
86
return static_cast<float>( ftSize->metrics.max_advance) / 64.0f;
91
float FTSize::Underline() const
96
unsigned int FTSize::XPixelsPerEm() const
98
return ftSize == 0 ? 0 : ftSize->metrics.x_ppem;
101
unsigned int FTSize::YPixelsPerEm() const
103
return ftSize == 0 ? 0 : ftSize->metrics.y_ppem;