public static FontText FromFont(Font font1) { FontText result = new FontText(); if (null != font1) { result.Name = font1.Name; result.Size = font1.Size; result.Bold = font1.Bold; result.Italic = font1.Italic; result.Strikeout = font1.Strikeout; result.Underline = font1.Underline; } return(result); }
/// <summary> /// フォントの一行表記を読取り。 /// "MS ゴシック", "12.25", "Bold, Italic" /// </summary> /// <param name="s"></param> /// <returns></returns> public static FontText FromTextbox(string textbox, out string errMsg) { errMsg = ""; FontText result = new FontText(); CsvLineParserImpl p = new CsvLineParserImpl(); List <string> tokens1 = p.UnescapeLineToFieldList(textbox, ','); if (tokens1.Count != 3) { errMsg = "カンマ区切りの3要素でない。"; goto gt_EndMethod; } //━━━━━ //フォント名 //━━━━━ result.Name = tokens1[0].Trim(); //━━━━━ //フォントサイズ //━━━━━ float size; if (float.TryParse(tokens1[1].Trim(), out size)) { result.Size = size; } else { //エラー errMsg = "サイズがおかしい。"; goto gt_EndMethod; } //━━━━━ //フォントスタイル //━━━━━ List <string> tokens2 = p.UnescapeLineToFieldList(tokens1[2].Trim(), ','); foreach (string token in tokens2) { switch (token.Trim().ToUpper()) { case "BOLD": result.Bold = true; break; case "ITALIC": result.Italic = true; break; case "STRIKEOUT": result.Strikeout = true; break; case "UNDERLINE": result.Underline = true; break; } } goto gt_EndMethod; gt_EndMethod: return(result); }