[]
        
(Showing Draft Content)

GrapeCity.Documents.Text.TextFormat

TextFormat Class

Represents text formatting attributes such as font, language, colors, decorations and so on.

Inheritance
TextFormat
Namespace: GrapeCity.Documents.Text
Assembly: DS.Documents.Imaging.dll
Syntax
public class TextFormat
Public Class TextFormat

Constructors

Name Description
TextFormat()

Initializes a new instance of TextFormat.

TextFormat(TextFormat)

Creates a copy of a TextFormat object.

Properties

Name Description
AllowFallbackToEudcFonts

Gets or sets a value indicating whether EUDC fonts should be searched for missing user-defined characters.

The default is true.

AllowFontSbits

Gets or sets a value indicating if the embedded bitmaps from the EBDT font table can be used.

The default is true.

This property affects text drawing on GcBitmapGraphics only. Also, it has no effect if UseBitmapCache is set to false.

BackColor

Gets or sets the text background color. The default is transparent.

CharWidthFactor

Gets or sets the character width scale factor (or height scale factor for vertical text).

Valid values are between 0.1 and 10.0. The default is 1.0.

DoubleUnderline

Gets or sets a value indicating if the text is double underlined.

EnableFontHinting

Gets or sets a value indicating whether font hinting should be enabled for TrueType fonts.

The default is true.

This property affects text drawing on GcBitmapGraphics only.

FillBrush

Gets or sets the Brush to fill the glyphs.

The FillBrush property has a priority over the ForeColor.

Font

Gets or sets a Font used by this format.

If not null, this value overrides the FontName property.

FontBold

Gets or sets a value indicating whether the font should be bolded.

FontFeatures

Provides access to a set of Microsoft OpenType typography properties.

FontItalic

Gets or sets whether the font should be italicized.

FontName

Gets or sets a font family name.

This value is used only if the Font property is null.

This value is case insensitive.

FontSize

Gets or sets the logical font size, in points or in graphic units.

The default value is 12.

See also the description of the FontSizeInGraphicUnits property.

FontSizeInGraphicUnits

Gets or sets a value indicating whether FontSize specifies the font size in graphic units or in points.

FontStyle

Gets or sets the flags indicating the desired or emulated style of the font.

ForeColor

Gets or sets the text foreground color. The default is black.

The FillBrush property has a priority over the ForeColor.

GlyphAdvanceFactor

Gets or sets the scaling factor for the glyph advance value relative to font's Average Character Width.

Valid values are from 0.5 up. The default is 1.

GlyphAdvanceOffset

Gets or sets the absolute increment (delta) for the glyph advance value, in graphic units.

GlyphWidths

Gets or sets the preferred glyph widths (generally used in CJKV fonts).

Hollow

Gets or sets a value indicating if the glyphs are hollow (outlined), otherwise they are solid.

The StrokePen property must be set in order to draw outlined glyphs.

Language

Gets or sets a value identifying the language system.

LineGap

Gets or sets a value specifying the explicit line gap (if not null), in graphic units.

Palette

Gets or sets a palette used for drawing color fonts.

RecalcFontSizeForFallbackFonts

Gets or sets a value indicating whether the size of fallback font should be coerced to the size of original font (true by default).

This property does not affect behavior of linked fonts with specified scale factor.

Script

Gets or sets an OpenType script tag.

SidewaysInVerticalText

Gets or sets a value indicating if all characters should appear as rotated 90 or -90 degrees in vertical text.

SkipNormalization

Gets or sets a value indicating whether the canonical decomposition, reordering, and composition stages should be omitted.

StrictCanonicalDecomposition

Gets or sets a value indicating whether to apply normalization to Singleton Decompositions and Post Composition Version precomposed characters.

By default this property is false. If set to true, CJK compatibility ideographs can be changed to CJK unified ideographs during the normalization process.

Strikethrough

Gets or sets a value indicating if the strikethrough style is applied to the text.

StrokePen

Gets or sets the Pen to draw glyph outlines.

Subscript

Gets or sets a value indicating if the glyphs should be displayed as subscript.

Setting this property to true also sets the Superscript property to false.

Superscript

Gets or sets a value indicating whether the glyphs should be displayed as superscript.

Setting this property to true also sets the Subscript property to false.

Tag

Gets or sets an arbitrary custom data associated with this TextFormat.

TextDecorations

Gets or sets the flags indicating which decorations are applied to the text.

TextRunAsCluster

Gets or sets a value indicating whether the whole TextRun should be considered as a single Grapheme Cluster.

It allows displaying several characters side-by-side horizontally in a vertical text.

TransformToFullWidth

Gets or sets a value indicating if ASCII characters should be transformed into fullwidth characters.

TransverseOffset

Gets or sets the offset of the text in the orthogonal direction, in graphic units.

The default is 0.

TreatHyphenMinusAsHyphen

Gets or sets a value indicating whether the character 'HYPHEN-MINUS' (U+002D) is treated as the character 'HYPHEN' (U+2010) by the Unicode line breaking algorithm.

Underline

Gets or sets a value indicating if the text is underlined.

UnderlineOrDoubleUnderline

Gets a value indicating if the text is underlined or double underlined.

UprightInVerticalText

Gets or sets a value indicating if the normally sideways characters should be drawn upright in vertical text.

UseBitmapCache

Gets or sets a value indicating if the Bitmap Glyph Cache is allowed.

The default is true.

This property affects text drawing on GcBitmapGraphics only.

UseHorizontalMetricsForVerticalText

Gets or sets a value indicating if the horizontal ascending, descending, and line gap settings should be applied to vertical text. The special vertical metrics are used by default.

UseTypoMetrics

Gets or sets a value indicating whether the typographical font metrics should be applied instead of Windows-specific and Apple-specific font metrics.

Font Ascender, Descender, and Line Gap are affected.

UseVerticalLineGapForSideways

Gets or sets a value indicating that for sideways text in vertical flow (see FlowDirection, line gap will be set according to VerticalLineGap.

If false (the default), line gap for lines containing sideways text is set according to HorizontalLineGap or GrapeCity.Documents.Text.Font.TypoLineGap, which can lead to different gaps between columns that contain sideways text runs and those that do not.

Methods

Name Description
CopyTo(TextFormat)

Copies the current text format settings to another TextFormat object.

CultureToLanguage(CultureInfo)

Returns the Language value corresponding to a given CultureInfo.

ResolveFontName(IFontCollection, bool, Font)

Returns the Font object for the current settings in the FontName, FontBold, FontItalic properties. Note that if the FontName is specified (not empty), this method will return the same font that would be used by a TextLayout given the same settings.

ScriptCodeToTag(ScriptCode, bool)

Converts a ScriptCode value to the corresponding ScriptTag.