public static void WriteRunFonts(BsonWriter bsonWriter, OXmlRunFonts runFonts) { //if (runFonts.Ascii != null) bsonWriter.WriteString("Ascii", runFonts.Ascii); if (runFonts.AsciiTheme != null) bsonWriter.WriteString("AsciiTheme", runFonts.AsciiTheme.ToString()); if (runFonts.ComplexScript != null) bsonWriter.WriteString("ComplexScript", runFonts.ComplexScript); if (runFonts.ComplexScriptTheme != null) bsonWriter.WriteString("ComplexScriptTheme", runFonts.ComplexScriptTheme.ToString()); if (runFonts.EastAsia != null) bsonWriter.WriteString("EastAsia", runFonts.EastAsia); if (runFonts.EastAsiaTheme != null) bsonWriter.WriteString("EastAsiaTheme", runFonts.EastAsiaTheme.ToString()); if (runFonts.HighAnsi != null) bsonWriter.WriteString("HighAnsi", runFonts.HighAnsi); if (runFonts.HighAnsiTheme != null) bsonWriter.WriteString("HighAnsiTheme", runFonts.HighAnsiTheme.ToString()); if (runFonts.Hint != null) bsonWriter.WriteString("Hint", runFonts.Hint.ToString()); }
public static OXmlRunFonts ReadRunFonts(BsonReader bsonReader) { bsonReader.ReadStartDocument(); OXmlRunFonts value = new OXmlRunFonts(); while (true) { BsonType bsonType = bsonReader.ReadBsonType(); if (bsonType == BsonType.EndOfDocument) break; string name = bsonReader.ReadName(); switch (name.ToLower()) { case "ascii": if (bsonType == BsonType.Null) break; if (bsonType != BsonType.String) throw new PBException($"wrong RunFonts Ascii value {bsonType}"); value.Ascii = bsonReader.ReadString(); break; case "asciitheme": if (bsonType == BsonType.Null) break; if (bsonType != BsonType.String) throw new PBException($"wrong RunFonts AsciiTheme value {bsonType}"); value.AsciiTheme = bsonReader.ReadString().zParseEnum<ThemeFontValues>(ignoreCase: true); break; case "complexscript": if (bsonType == BsonType.Null) break; if (bsonType != BsonType.String) throw new PBException($"wrong RunFonts ComplexScript value {bsonType}"); value.ComplexScript = bsonReader.ReadString(); break; case "complexscripttheme": if (bsonType == BsonType.Null) break; if (bsonType != BsonType.String) throw new PBException($"wrong RunFonts ComplexScriptTheme value {bsonType}"); value.ComplexScriptTheme = bsonReader.ReadString().zParseEnum<ThemeFontValues>(ignoreCase: true); break; case "eastasia": if (bsonType == BsonType.Null) break; if (bsonType != BsonType.String) throw new PBException($"wrong RunFonts EastAsia value {bsonType}"); value.EastAsia = bsonReader.ReadString(); break; case "eastasiatheme": if (bsonType == BsonType.Null) break; if (bsonType != BsonType.String) throw new PBException($"wrong RunFonts EastAsiaTheme value {bsonType}"); value.EastAsiaTheme = bsonReader.ReadString().zParseEnum<ThemeFontValues>(ignoreCase: true); break; case "highansi": if (bsonType == BsonType.Null) break; if (bsonType != BsonType.String) throw new PBException($"wrong RunFonts HighAnsi value {bsonType}"); value.HighAnsi = bsonReader.ReadString(); break; case "highansitheme": if (bsonType == BsonType.Null) break; if (bsonType != BsonType.String) throw new PBException($"wrong RunFonts HighAnsiTheme value {bsonType}"); value.HighAnsiTheme = bsonReader.ReadString().zParseEnum<ThemeFontValues>(ignoreCase: true); break; case "hint": if (bsonType == BsonType.Null) break; if (bsonType != BsonType.String) throw new PBException($"wrong RunFonts Hint value {bsonType}"); value.Hint = bsonReader.ReadString().zParseEnum<FontTypeHintValues>(ignoreCase: true); break; default: throw new PBException($"unknow PageSize value \"{name}\""); } } bsonReader.ReadEndDocument(); return value; }