public DWriteFontStretch GetFontStretch(uint currentPosition, out DWriteTextRange textRange)
 {
     DWriteFontStretch fontStretch;
     this.handle.GetFontStretch(currentPosition, out fontStretch, out textRange);
     return fontStretch;
 }
 public float GetFontSize(uint currentPosition, out DWriteTextRange textRange)
 {
     float fontSize;
     this.handle.GetFontSize(currentPosition, out fontSize, out textRange);
     return fontSize;
 }
 public DWriteFontWeight GetFontWeight(uint currentPosition, out DWriteTextRange textRange)
 {
     DWriteFontWeight fontWeight;
     this.handle.GetFontWeight(currentPosition, out fontWeight, out textRange);
     return fontWeight;
 }
 public DWriteFontStyle GetFontStyle(uint currentPosition, out DWriteTextRange textRange)
 {
     DWriteFontStyle fontStyle;
     this.handle.GetFontStyle(currentPosition, out fontStyle, out textRange);
     return fontStyle;
 }
 public void SetFontFamilyName(string fontFamilyName, DWriteTextRange textRange)
 {
     this.handle.SetFontFamilyName(fontFamilyName, textRange);
 }
 public DWriteFontCollection GetFontCollection(uint currentPosition, out DWriteTextRange textRange)
 {
     IDWriteFontCollection fontCollection;
     this.handle.GetFontCollection(currentPosition, out fontCollection, out textRange);
     return new DWriteFontCollection(fontCollection);
 }
 public void SetStrikethrough(bool hasStrikethrough, DWriteTextRange textRange)
 {
     this.handle.SetStrikethrough(hasStrikethrough, textRange);
 }
 public DWriteTypography GetTypography(uint currentPosition, out DWriteTextRange textRange)
 {
     IDWriteTypography typography;
     this.handle.GetTypography(currentPosition, out typography, out textRange);
     return new DWriteTypography(typography);
 }
 public void SetFontSize(float fontSize, DWriteTextRange textRange)
 {
     this.handle.SetFontSize(fontSize, textRange);
 }
 public void SetUnderline(bool hasUnderline, DWriteTextRange textRange)
 {
     this.handle.SetUnderline(hasUnderline, textRange);
 }
 public void SetFontStretch(DWriteFontStretch fontStretch, DWriteTextRange textRange)
 {
     this.handle.SetFontStretch(fontStretch, textRange);
 }
 public void SetFontStyle(DWriteFontStyle fontStyle, DWriteTextRange textRange)
 {
     this.handle.SetFontStyle(fontStyle, textRange);
 }
 public void SetFontWeight(DWriteFontWeight fontWeight, DWriteTextRange textRange)
 {
     this.handle.SetFontWeight(fontWeight, textRange);
 }
 public bool GetUnderline(uint currentPosition, out DWriteTextRange textRange)
 {
     bool hasUnderline;
     this.handle.GetUnderline(currentPosition, out hasUnderline, out textRange);
     return hasUnderline;
 }
        public void SetTypography(DWriteTypography typography, DWriteTextRange textRange)
        {
            if (typography == null)
            {
                throw new ArgumentNullException("typography");
            }

            this.handle.SetTypography((IDWriteTypography)typography.Handle, textRange);
        }
 public bool GetStrikethrough(uint currentPosition, out DWriteTextRange textRange)
 {
     bool hasStrikethrough;
     this.handle.GetStrikethrough(currentPosition, out hasStrikethrough, out textRange);
     return hasStrikethrough;
 }
 public void SetLocaleName(string localeName, DWriteTextRange textRange)
 {
     this.handle.SetLocaleName(localeName, textRange);
 }
        public string GetLocaleName(uint currentPosition, out DWriteTextRange textRange)
        {
            uint length;
            this.handle.GetLocaleNameLength(currentPosition, out length, out textRange);
            length++;

            StringBuilder name = new StringBuilder((int)length);
            this.handle.GetLocaleName(currentPosition, name, length, out textRange);

            return name.ToString();
        }
        public void SetFontCollection(DWriteFontCollection fontCollection, DWriteTextRange textRange)
        {
            if (fontCollection == null)
            {
                throw new ArgumentNullException("fontCollection");
            }

            this.handle.SetFontCollection((IDWriteFontCollection)fontCollection.Handle, textRange);
        }