GetCharacterPlacement
C# Signature:
[DllImport("gdi32.dll", EntryPoint="GetCharacterPlacementW")]
static extern uint GetCharacterPlacementW(IntPtr hdc, [MarshalAs(UnmanagedType.LPWStr)] string lpString,
int nCount, int nMaxExtent, ref GCP_RESULTS lpResults, uint dwFlags);User-Defined Types:
[StructLayout(LayoutKind.Sequential)]
public struct GCP_RESULTS
{
public int StructSize;
[MarshalAs(UnmanagedType.LPTStr)]
public string OutString;
public IntPtr Order;
public IntPtr Dx;
public IntPtr CaretPos;
public IntPtr Class;
public IntPtr Glyphs;
public int GlyphCount;
public int MaxFit;
}
[Flags]
public enum GCPFlags : uint
{
GCP_DBCS = 0x0001,
GCP_REORDER = 0x0002,
GCP_USEKERNING = 0x0008,
GCP_GLYPHSHAPE = 0x0010,
GCP_LIGATE = 0x0020,
GCP_DIACRITIC = 0x0100,
GCP_KASHIDA = 0x0400,
GCP_ERROR = 0x8000,
GCP_JUSTIFY = 0x00010000,
GCP_CLASSIN = 0x00080000,
GCP_MAXEXTENT = 0x00100000,
GCP_JUSTIFYIN = 0x00200000,
GCP_DISPLAYZWG = 0x00400000,
GCP_SYMSWAPOFF = 0x00800000,
GCP_NUMERICOVERRIDE = 0x01000000,
GCP_NEUTRALOVERRIDE = 0x02000000,
GCP_NUMERICSLATIN = 0x04000000,
GCP_NUMERICSLOCAL = 0x08000000,
}Sample Code:
Última actualización