// ------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------

namespace Win32.Graphics.DirectWrite;


/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_PANOSE"]/*' />
/// <unmanaged>DWRITE_PANOSE</unmanaged>
[StructLayout(LayoutKind.Explicit)]
public partial struct Panose
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_PANOSE::values"]/*' />
	[FieldOffset(0)]
	public unsafe fixed byte values[10];

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_PANOSE::familyKind"]/*' />
	[FieldOffset(0)]
	public byte familyKind;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_PANOSE::text"]/*' />
	[FieldOffset(0)]
	public _text_e__Struct text;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_PANOSE::script"]/*' />
	[FieldOffset(0)]
	public _script_e__Struct script;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_PANOSE::decorative"]/*' />
	[FieldOffset(0)]
	public _decorative_e__Struct decorative;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_PANOSE::symbol"]/*' />
	[FieldOffset(0)]
	public _symbol_e__Struct symbol;

	public partial struct _decorative_e__Struct
	{
		/// <include file='../DirectWrite.xml' path='doc/member[@name="_decorative_e__Struct::familyKind"]/*' />
		public byte familyKind;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_decorative_e__Struct::decorativeClass"]/*' />
		public byte decorativeClass;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_decorative_e__Struct::weight"]/*' />
		public byte weight;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_decorative_e__Struct::aspect"]/*' />
		public byte aspect;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_decorative_e__Struct::contrast"]/*' />
		public byte contrast;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_decorative_e__Struct::serifVariant"]/*' />
		public byte serifVariant;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_decorative_e__Struct::fill"]/*' />
		public byte fill;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_decorative_e__Struct::lining"]/*' />
		public byte lining;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_decorative_e__Struct::decorativeTopology"]/*' />
		public byte decorativeTopology;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_decorative_e__Struct::characterRange"]/*' />
		public byte characterRange;
	}
	public partial struct _text_e__Struct
	{
		/// <include file='../DirectWrite.xml' path='doc/member[@name="_text_e__Struct::familyKind"]/*' />
		public byte familyKind;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_text_e__Struct::serifStyle"]/*' />
		public byte serifStyle;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_text_e__Struct::weight"]/*' />
		public byte weight;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_text_e__Struct::proportion"]/*' />
		public byte proportion;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_text_e__Struct::contrast"]/*' />
		public byte contrast;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_text_e__Struct::strokeVariation"]/*' />
		public byte strokeVariation;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_text_e__Struct::armStyle"]/*' />
		public byte armStyle;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_text_e__Struct::letterform"]/*' />
		public byte letterform;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_text_e__Struct::midline"]/*' />
		public byte midline;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_text_e__Struct::xHeight"]/*' />
		public byte xHeight;
	}
	public partial struct _symbol_e__Struct
	{
		/// <include file='../DirectWrite.xml' path='doc/member[@name="_symbol_e__Struct::familyKind"]/*' />
		public byte familyKind;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_symbol_e__Struct::symbolKind"]/*' />
		public byte symbolKind;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_symbol_e__Struct::weight"]/*' />
		public byte weight;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_symbol_e__Struct::spacing"]/*' />
		public byte spacing;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_symbol_e__Struct::aspectRatioAndContrast"]/*' />
		public byte aspectRatioAndContrast;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_symbol_e__Struct::aspectRatio94"]/*' />
		public byte aspectRatio94;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_symbol_e__Struct::aspectRatio119"]/*' />
		public byte aspectRatio119;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_symbol_e__Struct::aspectRatio157"]/*' />
		public byte aspectRatio157;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_symbol_e__Struct::aspectRatio163"]/*' />
		public byte aspectRatio163;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_symbol_e__Struct::aspectRatio211"]/*' />
		public byte aspectRatio211;
	}
	public partial struct _script_e__Struct
	{
		/// <include file='../DirectWrite.xml' path='doc/member[@name="_script_e__Struct::familyKind"]/*' />
		public byte familyKind;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_script_e__Struct::toolKind"]/*' />
		public byte toolKind;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_script_e__Struct::weight"]/*' />
		public byte weight;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_script_e__Struct::spacing"]/*' />
		public byte spacing;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_script_e__Struct::aspectRatio"]/*' />
		public byte aspectRatio;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_script_e__Struct::contrast"]/*' />
		public byte contrast;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_script_e__Struct::scriptTopology"]/*' />
		public byte scriptTopology;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_script_e__Struct::scriptForm"]/*' />
		public byte scriptForm;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_script_e__Struct::finials"]/*' />
		public byte finials;

		/// <include file='../DirectWrite.xml' path='doc/member[@name="_script_e__Struct::xAscent"]/*' />
		public byte xAscent;
	}
}
/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS"]/*' />
/// <unmanaged>DWRITE_FONT_METRICS</unmanaged>
public partial struct FontMetrics
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS::designUnitsPerEm"]/*' />
	public ushort designUnitsPerEm;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS::ascent"]/*' />
	public ushort ascent;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS::descent"]/*' />
	public ushort descent;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS::lineGap"]/*' />
	public short lineGap;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS::capHeight"]/*' />
	public ushort capHeight;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS::xHeight"]/*' />
	public ushort xHeight;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS::underlinePosition"]/*' />
	public short underlinePosition;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS::underlineThickness"]/*' />
	public ushort underlineThickness;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS::strikethroughPosition"]/*' />
	public short strikethroughPosition;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS::strikethroughThickness"]/*' />
	public ushort strikethroughThickness;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_METRICS"]/*' />
/// <unmanaged>DWRITE_GLYPH_METRICS</unmanaged>
public partial struct GlyphMetrics
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_METRICS::leftSideBearing"]/*' />
	public int leftSideBearing;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_METRICS::advanceWidth"]/*' />
	public uint advanceWidth;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_METRICS::rightSideBearing"]/*' />
	public int rightSideBearing;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_METRICS::topSideBearing"]/*' />
	public int topSideBearing;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_METRICS::advanceHeight"]/*' />
	public uint advanceHeight;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_METRICS::bottomSideBearing"]/*' />
	public int bottomSideBearing;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_METRICS::verticalOriginY"]/*' />
	public int verticalOriginY;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_OFFSET"]/*' />
/// <unmanaged>DWRITE_GLYPH_OFFSET</unmanaged>
public partial struct GlyphOffset
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_OFFSET::advanceOffset"]/*' />
	public float advanceOffset;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_OFFSET::ascenderOffset"]/*' />
	public float ascenderOffset;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_RANGE"]/*' />
/// <unmanaged>DWRITE_TEXT_RANGE</unmanaged>
public partial struct TextRange
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_RANGE::startPosition"]/*' />
	public uint startPosition;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_RANGE::length"]/*' />
	public uint length;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_FEATURE"]/*' />
/// <unmanaged>DWRITE_FONT_FEATURE</unmanaged>
public partial struct FontFeature
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_FEATURE::nameTag"]/*' />
	public FontFeatureTag nameTag;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_FEATURE::parameter"]/*' />
	public uint parameter;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TYPOGRAPHIC_FEATURES"]/*' />
/// <unmanaged>DWRITE_TYPOGRAPHIC_FEATURES</unmanaged>
public partial struct TypographicFeatures
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TYPOGRAPHIC_FEATURES::features"]/*' />
	public unsafe FontFeature* features;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TYPOGRAPHIC_FEATURES::featureCount"]/*' />
	public uint featureCount;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TRIMMING"]/*' />
/// <unmanaged>DWRITE_TRIMMING</unmanaged>
public partial struct Trimming
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TRIMMING::granularity"]/*' />
	public TrimmingGranularity granularity;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TRIMMING::delimiter"]/*' />
	public uint delimiter;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TRIMMING::delimiterCount"]/*' />
	public uint delimiterCount;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SCRIPT_ANALYSIS"]/*' />
/// <unmanaged>DWRITE_SCRIPT_ANALYSIS</unmanaged>
public partial struct ScriptAnalysis
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SCRIPT_ANALYSIS::script"]/*' />
	public ushort script;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SCRIPT_ANALYSIS::shapes"]/*' />
	public ScriptShapes shapes;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_BREAKPOINT"]/*' />
/// <unmanaged>DWRITE_LINE_BREAKPOINT</unmanaged>
public partial struct LineBreakpoint
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_BREAKPOINT::_bitfield"]/*' />
	public byte _bitfield;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SHAPING_TEXT_PROPERTIES"]/*' />
/// <unmanaged>DWRITE_SHAPING_TEXT_PROPERTIES</unmanaged>
public partial struct ShapingTextProperties
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SHAPING_TEXT_PROPERTIES::_bitfield"]/*' />
	public ushort _bitfield;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SHAPING_GLYPH_PROPERTIES"]/*' />
/// <unmanaged>DWRITE_SHAPING_GLYPH_PROPERTIES</unmanaged>
public partial struct ShapingGlyphProperties
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SHAPING_GLYPH_PROPERTIES::_bitfield"]/*' />
	public ushort _bitfield;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN"]/*' />
/// <unmanaged>DWRITE_GLYPH_RUN</unmanaged>
public partial struct GlyphRun
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN::fontFace"]/*' />
	public unsafe IDWriteFontFace* fontFace;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN::fontEmSize"]/*' />
	public float fontEmSize;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN::glyphCount"]/*' />
	public uint glyphCount;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN::glyphIndices"]/*' />
	public unsafe ushort* glyphIndices;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN::glyphAdvances"]/*' />
	public unsafe float* glyphAdvances;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN::glyphOffsets"]/*' />
	public unsafe GlyphOffset* glyphOffsets;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN::isSideways"]/*' />
	public Bool32 isSideways;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN::bidiLevel"]/*' />
	public uint bidiLevel;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN_DESCRIPTION"]/*' />
/// <unmanaged>DWRITE_GLYPH_RUN_DESCRIPTION</unmanaged>
public partial struct GlyphRunDescription
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN_DESCRIPTION::localeName"]/*' />
	public unsafe ushort* localeName;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN_DESCRIPTION::string"]/*' />
	public unsafe ushort* @string;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN_DESCRIPTION::stringLength"]/*' />
	public uint stringLength;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN_DESCRIPTION::clusterMap"]/*' />
	public unsafe ushort* clusterMap;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_RUN_DESCRIPTION::textPosition"]/*' />
	public uint textPosition;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNDERLINE"]/*' />
/// <unmanaged>DWRITE_UNDERLINE</unmanaged>
public partial struct Underline
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNDERLINE::width"]/*' />
	public float width;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNDERLINE::thickness"]/*' />
	public float thickness;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNDERLINE::offset"]/*' />
	public float offset;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNDERLINE::runHeight"]/*' />
	public float runHeight;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNDERLINE::readingDirection"]/*' />
	public ReadingDirection readingDirection;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNDERLINE::flowDirection"]/*' />
	public FlowDirection flowDirection;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNDERLINE::localeName"]/*' />
	public unsafe ushort* localeName;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNDERLINE::measuringMode"]/*' />
	public MeasuringMode measuringMode;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_STRIKETHROUGH"]/*' />
/// <unmanaged>DWRITE_STRIKETHROUGH</unmanaged>
public partial struct Strikethrough
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_STRIKETHROUGH::width"]/*' />
	public float width;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_STRIKETHROUGH::thickness"]/*' />
	public float thickness;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_STRIKETHROUGH::offset"]/*' />
	public float offset;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_STRIKETHROUGH::readingDirection"]/*' />
	public ReadingDirection readingDirection;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_STRIKETHROUGH::flowDirection"]/*' />
	public FlowDirection flowDirection;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_STRIKETHROUGH::localeName"]/*' />
	public unsafe ushort* localeName;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_STRIKETHROUGH::measuringMode"]/*' />
	public MeasuringMode measuringMode;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_METRICS"]/*' />
/// <unmanaged>DWRITE_LINE_METRICS</unmanaged>
public partial struct LineMetrics
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_METRICS::length"]/*' />
	public uint length;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_METRICS::trailingWhitespaceLength"]/*' />
	public uint trailingWhitespaceLength;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_METRICS::newlineLength"]/*' />
	public uint newlineLength;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_METRICS::height"]/*' />
	public float height;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_METRICS::baseline"]/*' />
	public float baseline;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_METRICS::isTrimmed"]/*' />
	public Bool32 isTrimmed;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_CLUSTER_METRICS"]/*' />
/// <unmanaged>DWRITE_CLUSTER_METRICS</unmanaged>
public partial struct ClusterMetrics
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_CLUSTER_METRICS::width"]/*' />
	public float width;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_CLUSTER_METRICS::length"]/*' />
	public ushort length;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_CLUSTER_METRICS::_bitfield"]/*' />
	public ushort _bitfield;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS"]/*' />
/// <unmanaged>DWRITE_TEXT_METRICS</unmanaged>
public partial struct TextMetrics
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS::left"]/*' />
	public float left;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS::top"]/*' />
	public float top;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS::width"]/*' />
	public float width;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS::widthIncludingTrailingWhitespace"]/*' />
	public float widthIncludingTrailingWhitespace;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS::height"]/*' />
	public float height;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS::layoutWidth"]/*' />
	public float layoutWidth;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS::layoutHeight"]/*' />
	public float layoutHeight;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS::maxBidiReorderingDepth"]/*' />
	public uint maxBidiReorderingDepth;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS::lineCount"]/*' />
	public uint lineCount;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_INLINE_OBJECT_METRICS"]/*' />
/// <unmanaged>DWRITE_INLINE_OBJECT_METRICS</unmanaged>
public partial struct InlineObjectMetrics
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_INLINE_OBJECT_METRICS::width"]/*' />
	public float width;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_INLINE_OBJECT_METRICS::height"]/*' />
	public float height;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_INLINE_OBJECT_METRICS::baseline"]/*' />
	public float baseline;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_INLINE_OBJECT_METRICS::supportsSideways"]/*' />
	public Bool32 supportsSideways;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_OVERHANG_METRICS"]/*' />
/// <unmanaged>DWRITE_OVERHANG_METRICS</unmanaged>
public partial struct OverhangMetrics
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_OVERHANG_METRICS::left"]/*' />
	public float left;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_OVERHANG_METRICS::top"]/*' />
	public float top;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_OVERHANG_METRICS::right"]/*' />
	public float right;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_OVERHANG_METRICS::bottom"]/*' />
	public float bottom;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_HIT_TEST_METRICS"]/*' />
/// <unmanaged>DWRITE_HIT_TEST_METRICS</unmanaged>
public partial struct HitTestMetrics
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_HIT_TEST_METRICS::textPosition"]/*' />
	public uint textPosition;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_HIT_TEST_METRICS::length"]/*' />
	public uint length;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_HIT_TEST_METRICS::left"]/*' />
	public float left;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_HIT_TEST_METRICS::top"]/*' />
	public float top;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_HIT_TEST_METRICS::width"]/*' />
	public float width;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_HIT_TEST_METRICS::height"]/*' />
	public float height;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_HIT_TEST_METRICS::bidiLevel"]/*' />
	public uint bidiLevel;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_HIT_TEST_METRICS::isText"]/*' />
	public Bool32 isText;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_HIT_TEST_METRICS::isTrimmed"]/*' />
	public Bool32 isTrimmed;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1"]/*' />
/// <unmanaged>DWRITE_FONT_METRICS1</unmanaged>
public partial struct FontMetrics1
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::Base"]/*' />
	public FontMetrics Base;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::glyphBoxLeft"]/*' />
	public short glyphBoxLeft;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::glyphBoxTop"]/*' />
	public short glyphBoxTop;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::glyphBoxRight"]/*' />
	public short glyphBoxRight;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::glyphBoxBottom"]/*' />
	public short glyphBoxBottom;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::subscriptPositionX"]/*' />
	public short subscriptPositionX;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::subscriptPositionY"]/*' />
	public short subscriptPositionY;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::subscriptSizeX"]/*' />
	public short subscriptSizeX;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::subscriptSizeY"]/*' />
	public short subscriptSizeY;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::superscriptPositionX"]/*' />
	public short superscriptPositionX;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::superscriptPositionY"]/*' />
	public short superscriptPositionY;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::superscriptSizeX"]/*' />
	public short superscriptSizeX;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::superscriptSizeY"]/*' />
	public short superscriptSizeY;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_METRICS1::hasTypographicMetrics"]/*' />
	public Bool32 hasTypographicMetrics;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_CARET_METRICS"]/*' />
/// <unmanaged>DWRITE_CARET_METRICS</unmanaged>
public partial struct CaretMetrics
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_CARET_METRICS::slopeRise"]/*' />
	public short slopeRise;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_CARET_METRICS::slopeRun"]/*' />
	public short slopeRun;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_CARET_METRICS::offset"]/*' />
	public short offset;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNICODE_RANGE"]/*' />
/// <unmanaged>DWRITE_UNICODE_RANGE</unmanaged>
public partial struct UnicodeRange
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNICODE_RANGE::first"]/*' />
	public uint first;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_UNICODE_RANGE::last"]/*' />
	public uint last;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SCRIPT_PROPERTIES"]/*' />
/// <unmanaged>DWRITE_SCRIPT_PROPERTIES</unmanaged>
public partial struct ScriptProperties
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SCRIPT_PROPERTIES::isoScriptCode"]/*' />
	public uint isoScriptCode;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SCRIPT_PROPERTIES::isoScriptNumber"]/*' />
	public uint isoScriptNumber;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SCRIPT_PROPERTIES::clusterLookahead"]/*' />
	public uint clusterLookahead;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SCRIPT_PROPERTIES::justificationCharacter"]/*' />
	public uint justificationCharacter;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_SCRIPT_PROPERTIES::_bitfield"]/*' />
	public uint _bitfield;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_JUSTIFICATION_OPPORTUNITY"]/*' />
/// <unmanaged>DWRITE_JUSTIFICATION_OPPORTUNITY</unmanaged>
public partial struct JustificationOpportunity
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_JUSTIFICATION_OPPORTUNITY::expansionMinimum"]/*' />
	public float expansionMinimum;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_JUSTIFICATION_OPPORTUNITY::expansionMaximum"]/*' />
	public float expansionMaximum;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_JUSTIFICATION_OPPORTUNITY::compressionMaximum"]/*' />
	public float compressionMaximum;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_JUSTIFICATION_OPPORTUNITY::_bitfield"]/*' />
	public uint _bitfield;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS1"]/*' />
/// <unmanaged>DWRITE_TEXT_METRICS1</unmanaged>
public partial struct TextMetrics1
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS1::Base"]/*' />
	public TextMetrics Base;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_TEXT_METRICS1::heightIncludingTrailingWhitespace"]/*' />
	public float heightIncludingTrailingWhitespace;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_COLOR_GLYPH_RUN"]/*' />
/// <unmanaged>DWRITE_COLOR_GLYPH_RUN</unmanaged>
public partial struct ColorGlyphRun
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_COLOR_GLYPH_RUN::glyphRun"]/*' />
	public GlyphRun glyphRun;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_COLOR_GLYPH_RUN::glyphRunDescription"]/*' />
	public unsafe GlyphRunDescription* glyphRunDescription;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_COLOR_GLYPH_RUN::baselineOriginX"]/*' />
	public float baselineOriginX;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_COLOR_GLYPH_RUN::baselineOriginY"]/*' />
	public float baselineOriginY;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_COLOR_GLYPH_RUN::runColor"]/*' />
	public Color4 runColor;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_COLOR_GLYPH_RUN::paletteIndex"]/*' />
	public ushort paletteIndex;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_PROPERTY"]/*' />
/// <unmanaged>DWRITE_FONT_PROPERTY</unmanaged>
public partial struct FontProperty
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_PROPERTY::propertyId"]/*' />
	public FontPropertyId propertyId;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_PROPERTY::propertyValue"]/*' />
	public unsafe ushort* propertyValue;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_PROPERTY::localeName"]/*' />
	public unsafe ushort* localeName;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_METRICS1"]/*' />
/// <unmanaged>DWRITE_LINE_METRICS1</unmanaged>
public partial struct LineMetrics1
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_METRICS1::Base"]/*' />
	public LineMetrics Base;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_METRICS1::leadingBefore"]/*' />
	public float leadingBefore;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_METRICS1::leadingAfter"]/*' />
	public float leadingAfter;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_SPACING"]/*' />
/// <unmanaged>DWRITE_LINE_SPACING</unmanaged>
public partial struct LineSpacing
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_SPACING::method"]/*' />
	public LineSpacingMethod method;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_SPACING::height"]/*' />
	public float height;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_SPACING::baseline"]/*' />
	public float baseline;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_SPACING::leadingBefore"]/*' />
	public float leadingBefore;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_LINE_SPACING::fontLineGapUsage"]/*' />
	public FontLineGapUsage fontLineGapUsage;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_COLOR_GLYPH_RUN1"]/*' />
/// <unmanaged>DWRITE_COLOR_GLYPH_RUN1</unmanaged>
public partial struct ColorGlyphRun1
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_COLOR_GLYPH_RUN1::Base"]/*' />
	public ColorGlyphRun Base;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_COLOR_GLYPH_RUN1::glyphImageFormat"]/*' />
	public GlyphImageFormats glyphImageFormat;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_COLOR_GLYPH_RUN1::measuringMode"]/*' />
	public MeasuringMode measuringMode;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_IMAGE_DATA"]/*' />
/// <unmanaged>DWRITE_GLYPH_IMAGE_DATA</unmanaged>
public partial struct GlyphImageData
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_IMAGE_DATA::imageData"]/*' />
	public unsafe void* imageData;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_IMAGE_DATA::imageDataSize"]/*' />
	public uint imageDataSize;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_IMAGE_DATA::uniqueDataId"]/*' />
	public uint uniqueDataId;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_IMAGE_DATA::pixelsPerEm"]/*' />
	public uint pixelsPerEm;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_IMAGE_DATA::pixelSize"]/*' />
	public System.Drawing.Size pixelSize;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_IMAGE_DATA::horizontalLeftOrigin"]/*' />
	public System.Drawing.Point horizontalLeftOrigin;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_IMAGE_DATA::horizontalRightOrigin"]/*' />
	public System.Drawing.Point horizontalRightOrigin;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_IMAGE_DATA::verticalTopOrigin"]/*' />
	public System.Drawing.Point verticalTopOrigin;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_GLYPH_IMAGE_DATA::verticalBottomOrigin"]/*' />
	public System.Drawing.Point verticalBottomOrigin;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FILE_FRAGMENT"]/*' />
/// <unmanaged>DWRITE_FILE_FRAGMENT</unmanaged>
public partial struct FileFragment
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FILE_FRAGMENT::fileOffset"]/*' />
	public ulong fileOffset;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FILE_FRAGMENT::fragmentSize"]/*' />
	public ulong fragmentSize;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_AXIS_VALUE"]/*' />
/// <unmanaged>DWRITE_FONT_AXIS_VALUE</unmanaged>
public partial struct FontAxisValue
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_AXIS_VALUE::axisTag"]/*' />
	public FontAxisTag axisTag;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_AXIS_VALUE::value"]/*' />
	public float value;
}

/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_AXIS_RANGE"]/*' />
/// <unmanaged>DWRITE_FONT_AXIS_RANGE</unmanaged>
public partial struct FontAxisRange
{
	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_AXIS_RANGE::axisTag"]/*' />
	public FontAxisTag axisTag;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_AXIS_RANGE::minValue"]/*' />
	public float minValue;

	/// <include file='../DirectWrite.xml' path='doc/member[@name="DWRITE_FONT_AXIS_RANGE::maxValue"]/*' />
	public float maxValue;
}
