public static Phrase createPhrase(string content, float fontSize, bool isBold, bool isMarked)
        {
            Phrase result;

            initFonts();
            result = new Phrase();
            var chunkList = new List <Chunk>();

            if (content != null && content.Length > 0)
            {
                content = content.Replace(Environment.NewLine, "\n");
                int  startIndex    = 0;
                int  length        = 0;
                bool isEnglishChar = IsEnglishChar(content.First());
                Font font          = GetFontForChar(content.First(), fontSize, isBold, isMarked);
                for (int i = 0; i < content.Length; i++)
                {
                    char item = content[i];
                    if (isEnglishChar == IsEnglishChar(item))
                    {
                        length++;
                    }
                    else
                    {
                        if (length > 0)
                        {
                            chunkList.Add(new Chunk(content.Substring(startIndex, length), font));
                        }
                        startIndex = i;
                        length     = 1;
                        font       = GetFontForChar(item, fontSize, isBold, isMarked);
                    }
                }
                chunkList.Add(new Chunk(content.Substring(startIndex, length), font));
            }
            result.AddAll <Chunk>(chunkList);
            return(result);
        }