Пример #1
0
        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);
        }
Пример #2
0
        /// <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);
        }