Beispiel #1
0
        //────────────────────────────────────────
        #endregion



        #region アクション
        //────────────────────────────────────────


        /// <summary>
        /// TODO:現状、返却値は常に真だが、偽を返して欲しいことはあるか?
        /// </summary>
        /// <param name="rFont1Name"></param>
        /// <param name="rFont1Size"></param>
        /// <param name="rFont1Style"></param>
        /// <param name="font1"></param>
        /// <returns></returns>
        public static bool TryFont(string rFont1Name, string rFont1Size, string rFont1Style, out Font font1)
        {
            float size;

            if (!float.TryParse(rFont1Size, out size))
            {
                size = 12.0f;// UcMain.DEFAULT_FONT.Size;
            }

            //ystem.Console.WriteLine("rFont1Style=["+rFont1Style+"]");
            FontStyle fs = FontStyle.Regular;

            {
                CsvLineParserImpl p      = new CsvLineParserImpl();
                List <string>     tokens = p.UnescapeLineToFieldList(rFont1Style, ',');
                foreach (string token in tokens)
                {
                    string token2 = token.Trim();
                    //ystem.Console.WriteLine("token2=[" + token2 + "]");

                    // 指定をつなげています。
                    switch (token2)
                    {
                    case "Bold":
                        fs |= FontStyle.Bold;
                        //ystem.Console.WriteLine("ボールド");
                        break;

                    case "Italic":
                        fs |= FontStyle.Italic;
                        //ystem.Console.WriteLine("イタリック");
                        break;

                    case "Strikeout":
                        fs |= FontStyle.Strikeout;
                        //ystem.Console.WriteLine("ストライクアウト");
                        break;

                    case "Underline":
                        fs |= FontStyle.Underline;
                        //ystem.Console.WriteLine("アンダーライン");
                        break;

                    default:
                        //無視。
                        //fs = FontStyle.Regular;
                        break;
                    }
                }
            }

            font1 = new Font(rFont1Name, size, fs);
            return(true);
        }
Beispiel #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);
        }