コード例 #1
0
 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());
 }
コード例 #2
0
 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;
 }