GetImport().GetFontDecls()->FillProperties(
rValue, rProperties,
rProperty.mnIndex+1, rProperty.mnIndex+2,
rProperty.mnIndex+3, rProperty.mnIndex+4,
rProperty.mnIndex+5 );
bRet = false; // the property hasn't been filled
} break;
// If we want to do StarMath/StarSymbol font conversion, then we'll // want these special items to be treated just like regular ones... // For the Writer, we'll catch and convert them in _FillPropertySet; // the other apps probably don't care. For the other apps, we just // imitate the default non-special-item mechanism. case CTF_FONTFAMILYNAME: case CTF_FONTFAMILYNAME_CJK: case CTF_FONTFAMILYNAME_CTL:
bRet = getPropertySetMapper()->importXML( rValue, rProperty,
rUnitConverter ); break;
/** since the properties "CharFontFamilyName", "CharFontStyleName", "CharFontFamily", "CharFontPitch"and"CharFontSet"andtheirCJKandCTLcounterpartsareonly usableasaunion,weadddefaultstoallvaluesthatarenotsetaslongaswe havean"CharFontFamilyName"
namespace { //fdo#58730 The [UL|LR]Space class has a deficiency where "100%" also serves as //a flag that the value is an absolute value so we can't truly handle an //up/lower space property which wants to specify its 200% upper but 100% lower //of its parent (try typing 100% vs 200% into the edit style dialog and revisit //your style). So on xml load that ends up meaning 200%, 0 lower. This is a //crock.
switch( getPropertySetMapper()->GetEntryContextId( property->mnIndex ) )
{ case CTF_FONTFAMILYNAME: pFontFamilyName = property; break; case CTF_FONTSTYLENAME: pFontStyleName = property; break; case CTF_FONTFAMILY: pFontFamily = property; break; case CTF_FONTPITCH: pFontPitch = property; break; case CTF_FONTCHARSET: pFontCharSet = property; break;
case CTF_FONTFAMILYNAME_CJK: pFontFamilyNameCJK = property; break; case CTF_FONTSTYLENAME_CJK: pFontStyleNameCJK = property; break; case CTF_FONTFAMILY_CJK: pFontFamilyCJK = property; break; case CTF_FONTPITCH_CJK: pFontPitchCJK = property; break; case CTF_FONTCHARSET_CJK: pFontCharSetCJK = property; break;
case CTF_FONTFAMILYNAME_CTL: pFontFamilyNameCTL = property; break; case CTF_FONTSTYLENAME_CTL: pFontStyleNameCTL = property; break; case CTF_FONTFAMILY_CTL: pFontFamilyCTL = property; break; case CTF_FONTPITCH_CTL: pFontPitchCTL = property; break; case CTF_FONTCHARSET_CTL: pFontCharSetCTL = property; break;
case CTF_ALLBORDERDISTANCE: pAllBorderDistance = property; break; case CTF_LEFTBORDERDISTANCE: pBorderDistances[XML_LINE_LEFT] = property; break; case CTF_RIGHTBORDERDISTANCE: pBorderDistances[XML_LINE_RIGHT] = property; break; case CTF_TOPBORDERDISTANCE: pBorderDistances[XML_LINE_TOP] = property; break; case CTF_BOTTOMBORDERDISTANCE: pBorderDistances[XML_LINE_BOTTOM] = property; break; case CTF_ALLBORDER: pAllBorder = property; break; case CTF_LEFTBORDER: pBorders[XML_LINE_LEFT] = property; break; case CTF_RIGHTBORDER: pBorders[XML_LINE_RIGHT] = property; break; case CTF_TOPBORDER: pBorders[XML_LINE_TOP] = property; break; case CTF_BOTTOMBORDER: pBorders[XML_LINE_BOTTOM] = property; break; case CTF_ALLBORDERWIDTH: pAllBorderWidth = property; break; case CTF_LEFTBORDERWIDTH: pBorderWidths[XML_LINE_LEFT] = property; break; case CTF_RIGHTBORDERWIDTH: pBorderWidths[XML_LINE_RIGHT] = property; break; case CTF_TOPBORDERWIDTH: pBorderWidths[XML_LINE_TOP] = property; break; case CTF_BOTTOMBORDERWIDTH: pBorderWidths[XML_LINE_BOTTOM] = property; break;
case CTF_CHARALLBORDERDISTANCE: pCharAllBorderDistance = property; break; case CTF_CHARLEFTBORDERDISTANCE: pCharBorderDistances[XML_LINE_LEFT] = property; break; case CTF_CHARRIGHTBORDERDISTANCE: pCharBorderDistances[XML_LINE_RIGHT] = property; break; case CTF_CHARTOPBORDERDISTANCE: pCharBorderDistances[XML_LINE_TOP] = property; break; case CTF_CHARBOTTOMBORDERDISTANCE: pCharBorderDistances[XML_LINE_BOTTOM] = property; break; case CTF_CHARALLBORDER: pCharAllBorder = property; break; case CTF_CHARLEFTBORDER: pCharBorders[XML_LINE_LEFT] = property; break; case CTF_CHARRIGHTBORDER: pCharBorders[XML_LINE_RIGHT] = property; break; case CTF_CHARTOPBORDER: pCharBorders[XML_LINE_TOP] = property; break; case CTF_CHARBOTTOMBORDER: pCharBorders[XML_LINE_BOTTOM] = property; break; case CTF_CHARALLBORDERWIDTH: pCharAllBorderWidth = property; break; case CTF_CHARLEFTBORDERWIDTH: pCharBorderWidths[XML_LINE_LEFT] = property; break; case CTF_CHARRIGHTBORDERWIDTH: pCharBorderWidths[XML_LINE_RIGHT] = property; break; case CTF_CHARTOPBORDERWIDTH: pCharBorderWidths[XML_LINE_TOP] = property; break; case CTF_CHARBOTTOMBORDERWIDTH: pCharBorderWidths[XML_LINE_BOTTOM] = property; break;
case CTF_ANCHORTYPE: break; case CTF_VERTICALPOS: pVertOrient = property; break; case CTF_VERTICALREL_ASCHAR: pVertOrientRelAsChar = property; break;
case CTF_FRAMEHEIGHT_MIN_ABS: case CTF_FRAMEHEIGHT_MIN_REL: // case CTF_SYNCHEIGHT_MIN:
bHasAnyMinHeight = true;
[[fallthrough]]; case CTF_FRAMEHEIGHT_ABS: case CTF_FRAMEHEIGHT_REL: // case CTF_SYNCHEIGHT:
bHasAnyHeight = true; break; case CTF_FRAMEWIDTH_MIN_ABS: case CTF_FRAMEWIDTH_MIN_REL:
bHasAnyMinWidth = true;
[[fallthrough]]; case CTF_FRAMEWIDTH_ABS: case CTF_FRAMEWIDTH_REL:
bHasAnyWidth = true; break; case CTF_BACKGROUND_TRANSPARENCY: pBackTransparency = property; break; case CTF_BACKGROUND_TRANSPARENT: pBackTransparent = property; break; case CTF_FILLSTYLE: pFillStyle = property; break; case CTF_FILLCOLOR: pFillColor = property; break; case CTF_PARAMARGINALL: case CTF_PARAMARGINALL_REL:
pAllParaMargin = property; break; case CTF_PARALEFTMARGIN: case CTF_PARALEFTMARGIN_REL:
pParaMargins[XML_LINE_LEFT] = property; break; case CTF_PARARIGHTMARGIN: case CTF_PARARIGHTMARGIN_REL:
pParaMargins[XML_LINE_RIGHT] = property; break; case CTF_PARATOPMARGIN: case CTF_PARATOPMARGIN_REL:
pParaMargins[XML_LINE_TOP] = property; break; case CTF_PARABOTTOMMARGIN: case CTF_PARABOTTOMMARGIN_REL:
pParaMargins[XML_LINE_BOTTOM] = property; break; case CTF_MARGINALL:
pAllMargin = property; break; case CTF_MARGINLEFT:
pMargins[XML_LINE_LEFT] = property; break; case CTF_MARGINRIGHT:
pMargins[XML_LINE_RIGHT] = property; break; case CTF_MARGINTOP:
pMargins[XML_LINE_TOP] = property; break; case CTF_MARGINBOTTOM:
pMargins[XML_LINE_BOTTOM] = property; break;
}
}
// insert newly created properties. This invalidates all iterators! // Most of the pXXX variables in this method are iterators and will be // invalidated!!!
// DO NOT USE ITERATORS/POINTERS INTO THE rProperties-VECTOR AFTER // THIS LINE. All iterators into the rProperties-vector, especially all // pXXX-type variables set in the first switch statement of this method, // may have been invalidated by the above push_back() calls!
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.