LOGFONT
using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace System.Drawing.Interop
{
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct LOGFONT
{
public int lfHeight;
public int lfWidth;
public int lfEscapement;
public int lfOrientation;
public int lfWeight;
public byte lfItalic;
public byte lfUnderline;
public byte lfStrikeOut;
public byte lfCharSet;
public byte lfOutPrecision;
public byte lfClipPrecision;
public byte lfQuality;
public byte lfPitchAndFamily;
private unsafe fixed char _lfFaceName[32];
internal unsafe bool IsGdiVerticalFont {
[IsReadOnly]
get {
return *_lfFaceName == '@';
}
}
[UnscopedRef]
public unsafe Span<char> lfFaceName {
get {
return MemoryMarshal.CreateSpan(ref *_lfFaceName, 32);
}
}
[IsReadOnly]
[NullableContext(1)]
internal string AsString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(191, 14);
defaultInterpolatedStringHandler.AppendLiteral("lfHeight=");
defaultInterpolatedStringHandler.AppendFormatted(lfHeight);
defaultInterpolatedStringHandler.AppendLiteral(", lfWidth=");
defaultInterpolatedStringHandler.AppendFormatted(lfWidth);
defaultInterpolatedStringHandler.AppendLiteral(", lfEscapement=");
defaultInterpolatedStringHandler.AppendFormatted(lfEscapement);
defaultInterpolatedStringHandler.AppendLiteral(", lfOrientation=");
defaultInterpolatedStringHandler.AppendFormatted(lfOrientation);
defaultInterpolatedStringHandler.AppendLiteral(", lfWeight=");
defaultInterpolatedStringHandler.AppendFormatted(lfWeight);
defaultInterpolatedStringHandler.AppendLiteral(", lfItalic=");
defaultInterpolatedStringHandler.AppendFormatted(lfItalic);
defaultInterpolatedStringHandler.AppendLiteral(", lfUnderline=");
defaultInterpolatedStringHandler.AppendFormatted(lfUnderline);
defaultInterpolatedStringHandler.AppendLiteral(", lfStrikeOut=");
defaultInterpolatedStringHandler.AppendFormatted(lfStrikeOut);
defaultInterpolatedStringHandler.AppendLiteral(", lfCharSet=");
defaultInterpolatedStringHandler.AppendFormatted(lfCharSet);
defaultInterpolatedStringHandler.AppendLiteral(", lfOutPrecision=");
defaultInterpolatedStringHandler.AppendFormatted(lfOutPrecision);
defaultInterpolatedStringHandler.AppendLiteral(", lfClipPrecision=");
defaultInterpolatedStringHandler.AppendFormatted(lfClipPrecision);
defaultInterpolatedStringHandler.AppendLiteral(", lfQuality=");
defaultInterpolatedStringHandler.AppendFormatted(lfQuality);
defaultInterpolatedStringHandler.AppendLiteral(", lfPitchAndFamily=");
defaultInterpolatedStringHandler.AppendFormatted(lfPitchAndFamily);
defaultInterpolatedStringHandler.AppendLiteral(", lfFaceName=");
defaultInterpolatedStringHandler.AppendFormatted((ReadOnlySpan<char>)Unsafe.AsRef(ref this).lfFaceName);
return defaultInterpolatedStringHandler.ToStringAndClear();
}
}
}