SharpVectors.Dom.Svg.SvgTextContentElement._getGDIStringFormat C# (CSharp) Method

_getGDIStringFormat() private method

private _getGDIStringFormat ( ) : StringFormat
return System.Drawing.StringFormat
        private StringFormat _getGDIStringFormat()
        {
            StringFormat sf = new StringFormat();

            bool doAlign = true;
            if(this is SvgTSpanElement || this is SvgTRefElement)
            {
                SvgTextPositioningElement posElement = (SvgTextPositioningElement) this;
                if(posElement.X.AnimVal.NumberOfItems == 0) doAlign = false;
            }

            if(doAlign)
            {
                string anchor = GetPropertyValue("text-anchor");
                if(anchor == "middle") sf.Alignment = StringAlignment.Center;
                if(anchor == "end") sf.Alignment = StringAlignment.Far;
            }

            string dir = GetPropertyValue("direction");
            if(dir == "rtl")
            {
                if(sf.Alignment == StringAlignment.Far)sf.Alignment = StringAlignment.Near;
                else if(sf.Alignment == StringAlignment.Near)sf.Alignment = StringAlignment.Far;
                sf.FormatFlags = StringFormatFlags.DirectionRightToLeft;
            }

            dir = GetPropertyValue("writing-mode");
            if(dir == "tb")
            {
                sf.FormatFlags = sf.FormatFlags | StringFormatFlags.DirectionVertical;
            }

            sf.FormatFlags = sf.FormatFlags | StringFormatFlags.MeasureTrailingSpaces;

            return sf;
        }