本文整理汇总了C++中XeTeXFontInst::getUnitsPerEM方法的典型用法代码示例。如果您正苦于以下问题:C++ XeTeXFontInst::getUnitsPerEM方法的具体用法?C++ XeTeXFontInst::getUnitsPerEM怎么用?C++ XeTeXFontInst::getUnitsPerEM使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XeTeXFontInst
的用法示例。
在下文中一共展示了XeTeXFontInst::getUnitsPerEM方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
int
otpartfulladvance(int f, const GlyphAssembly* a, int i)
{
int rval = 0;
if (fontarea[f] == OTGR_FONT_FLAG) {
XeTeXFontInst* font = (XeTeXFontInst*)getFont((XeTeXLayoutEngine)fontlayoutengine[f]);
rval = X2Fix(SWAPW(a->partRecords[i].fullAdvance) * Fix2X(fontsize[f]) / font->getUnitsPerEM());
}
return rval;
}
示例2: getMathConstant
int
getotmathconstant(int f, int n)
{
int rval = 0;
if (fontarea[f] == OTGR_FONT_FLAG) {
XeTeXFontInst* font = (XeTeXFontInst*)getFont((XeTeXLayoutEngine)fontlayoutengine[f]);
rval = getMathConstant(font, (mathConstantIndex)n);
/* scale according to font size, except the ones that are percentages */
if (n > scriptScriptPercentScaleDown && n < radicalDegreeBottomRaisePercent)
rval = X2Fix(rval * Fix2X(fontsize[f]) / font->getUnitsPerEM());
}
return rval;
}
示例3: SWAPW
int
otminconnectoroverlap(int f)
{
int rval = 0;
if (fontarea[f] == OTGR_FONT_FLAG) {
XeTeXFontInst* font = (XeTeXFontInst*)getFont((XeTeXLayoutEngine)fontlayoutengine[f]);
const char* table = (const char*)font->getFontTable(kMATHTableTag);
if (table == NULL)
return rval;
le_uint16 offset = SWAPW(((const MathTableHeader*)table)->mathVariants);
if (offset == 0)
return rval;
const MathVariants* variants = (const MathVariants*)(table + offset);
rval = X2Fix(SWAPW(variants->minConnectorOverlap) * Fix2X(fontsize[f]) / font->getUnitsPerEM());
}
return rval;
}