convertFromV2 static method
(en) Generate OverrideMap for version 3 from SpWML font style version 2 saved data.
(ja) SpWMLのフォントスタイルバージョン2の保存データからバージョン3用のOverrideMapを生成します。
src
: The data of v2.
Implementation
static Map<EnumSpWMLElementType, SpWMLFontStyleParams> convertFromV2(
Map<String, dynamic> src) {
Map<EnumSpWMLElementType, SpWMLFontStyleParams> r = {};
String textFontName = src['textFontName'];
String textColor = src['textColor'];
double lineHeight = src['textHeight'];
double textMTop = src['textMTop'];
double hHeight = src['hHeight'];
double hMTop = double.parse(src['hMTop'].toString());
// common
r[EnumSpWMLElementType.href] = SpWMLFontStyleParams(
fontFamily: src['hrefFontName'],
mT: textMTop,
lineHeight: lineHeight,
fontSize: src['body1Size'],
letterSpacing: src['body1LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['hrefWeight']),
textColor: src['hrefColor'],
textDeco: EnumTextDecoration.values.byName(src['hrefDeco']),
textDecoStyle:
EnumTextDecorationStyle.values.byName(src['hrefDecoStyle']),
textDecoThickness: src['hrefDecoThickness'],
textDecoColor: src['hrefColor']);
r[EnumSpWMLElementType.text] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: textMTop,
lineHeight: lineHeight,
fontSize: src['body1Size'],
letterSpacing: src['body1LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['body1Weight']),
textColor: textColor);
r[EnumSpWMLElementType.menu] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: 0,
lineHeight: lineHeight,
fontSize: src['body1Size'],
letterSpacing: src['body1LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['body1Weight']),
textColor: textColor);
r[EnumSpWMLElementType.ruby] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: 0,
lineHeight: lineHeight,
fontSize: src['body1Size'],
letterSpacing: src['body1LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['body1Weight']),
textColor: textColor);
r[EnumSpWMLElementType.btn] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: 0,
lineHeight: 1.0,
fontSize: src['buttonSize'],
letterSpacing: src['buttonLetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['buttonWeight']),
textColor: textColor);
// material v2
r[EnumSpWMLElementType.h1] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: hMTop,
lineHeight: hHeight,
fontSize: src['h1Size'],
letterSpacing: src['h1LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['h1Weight']),
textColor: textColor);
r[EnumSpWMLElementType.h2] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: hMTop,
lineHeight: hHeight,
fontSize: src['h2Size'],
letterSpacing: src['h2LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['h2Weight']),
textColor: textColor);
r[EnumSpWMLElementType.h3] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: hMTop,
lineHeight: hHeight,
fontSize: src['h3Size'],
letterSpacing: src['h3LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['h3Weight']),
textColor: textColor);
r[EnumSpWMLElementType.h4] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: hMTop,
lineHeight: hHeight,
fontSize: src['h4Size'],
letterSpacing: src['h4LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['h4Weight']),
textColor: textColor);
r[EnumSpWMLElementType.h5] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: hMTop,
lineHeight: hHeight,
fontSize: src['h5Size'],
letterSpacing: src['h5LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['h5Weight']),
textColor: textColor);
r[EnumSpWMLElementType.h6] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: hMTop,
lineHeight: hHeight,
fontSize: src['h6Size'],
letterSpacing: src['h6LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['h6Weight']),
textColor: textColor);
r[EnumSpWMLElementType.subtitle1] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: 0,
lineHeight: 1.0,
fontSize: src['subtitle1Size'],
letterSpacing: src['subtitle1LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['subtitle1Weight']),
textColor: textColor);
r[EnumSpWMLElementType.subtitle2] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: 0,
lineHeight: 1.0,
fontSize: src['subtitle2Size'],
letterSpacing: src['subtitle2LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['subtitle2Weight']),
textColor: textColor);
r[EnumSpWMLElementType.body1] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: textMTop,
lineHeight: lineHeight,
fontSize: src['body1Size'],
letterSpacing: src['body1LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['body1Weight']),
textColor: textColor);
r[EnumSpWMLElementType.body2] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: textMTop,
lineHeight: lineHeight,
fontSize: src['body2Size'],
letterSpacing: src['body2LetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['body2Weight']),
textColor: textColor);
r[EnumSpWMLElementType.caption] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: 0,
lineHeight: 1.0,
fontSize: src['captionSize'],
letterSpacing: src['captionLetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['captionWeight']),
textColor: textColor);
r[EnumSpWMLElementType.overline] = SpWMLFontStyleParams(
fontFamily: textFontName,
mT: 0,
lineHeight: 1.0,
fontSize: src['overlineSize'],
letterSpacing: src['overlineLetterSpacing'],
fontWeight: EnumFontWeight.values.byName(src['overlineWeight']),
textColor: textColor);
return r;
}