_Util::FixedPoint26_6
_Font::GetLeading(void) const
{
- return __fontAttrib.maxHeight;
+ return __fontAttrib.ascender - __fontAttrib.descender + __fontAttrib.leading;
}
result
__fontAttrib.maxHeight = sizeProperty.maxHeight;
__fontAttrib.ascender = sizeProperty.ascender;
__fontAttrib.descender = sizeProperty.descender;
+ __fontAttrib.leading = sizeProperty.leading;
}
else
{
__fontAttrib.maxHeight.Reset(0);
__fontAttrib.ascender.Reset(0);
__fontAttrib.descender.Reset(0);
+ __fontAttrib.leading.Reset(0);
}
}
int charSpace;
_Util::FixedPoint26_6 ascender;
_Util::FixedPoint26_6 descender;
+ _Util::FixedPoint26_6 leading;
int lineThickness;
bool strikeout;
bool underline;
charSpace = 0;
ascender.Reset(0);
descender.Reset(0);
+ leading.Reset(0);
lineThickness = -1;
strikeout = false;
underline = false;
sizeProperty.baseLine.Reset(pFace->size->metrics.height + pFace->size->metrics.descender);
sizeProperty.ascender.Reset(pFace->size->metrics.ascender);
sizeProperty.descender.Reset(pFace->size->metrics.descender); // (-)
- sizeProperty.leading.Reset(pFace->size->metrics.height - pFace->size->metrics.ascender + pFace->size->metrics.descender);
+ sizeProperty.leading.Reset(pFace->bbox.yMax - pFace->size->metrics.ascender > 0 ? pFace->bbox.yMax - pFace->size->metrics.ascender : 0);
if (_CompareFamilyForTitling(pFace->family_name))