public static extern int ScriptXtoCP( [In] int iX, [In] int cChars, [In] int cGlyphs, [In] ushort *pwLogClust, [In] SCRIPT_VISATTR *psva, [In] int *piAdvance, [In] SCRIPT_ANALYSIS *psa, [Out] out int piCP, [Out] out int piTrailing);
public static extern int ScriptCPtoX( [In] int iCP, [In] bool fTrailing, [In] int cChars, [In] int cGlyphs, [In] ushort *pwLogClust, [In] SCRIPT_VISATTR *psva, [In] int *piAdvance, [In] SCRIPT_ANALYSIS *psa, [Out] out int piX);
public static extern int ScriptPlace( [In] IntPtr hdc, [In, Out] ref IntPtr psc, [In] ushort *pwGlyphs, [In] int cGlyphs, [In] SCRIPT_VISATTR *psva, [In, Out] SCRIPT_ANALYSIS *psa, [Out] int *piAdvance, [Out] GOFFSET *pGoffset, [Out] out ABC pABC);
public void Initialize(Run *run, SCRIPT_ANALYSIS *scriptAnalysis, int charIndexInParagraph, int charCount) { this.run = *run; if (this.run.RunKind == RunKind.Text) { this.run.CharCount = charCount; } CharIndexInParagraph = charIndexInParagraph; ScriptAnalysis = *scriptAnalysis; }
public static extern int ScriptShape( [In] IntPtr hdc, [In, Out] ref IntPtr psc, [In] char *pwcChars, [In] int cChars, [In] int cMaxGlyphs, [Out] SCRIPT_ANALYSIS *psa, [Out] ushort *pwOutGlyphs, [Out] ushort *pwLogClust, [Out] SCRIPT_VISATTR *psva, [Out] out int pcGlyphs);
public static extern int ScriptTextOut( [In] IntPtr hdc, [In, Out] ref IntPtr psc, [In] int x, [In] int y, [In] ExtTextOutOptions fuOptions, [In] RECT *lprc, [In] SCRIPT_ANALYSIS *psa, [In] char *pwcReserved, [In] int iReserved, [In] ushort *pwGlyphs, [In] int cGlyphs, [In] int *piAdvance, [In] int *piJustify, [In] GOFFSET *pGoffset);
public static extern int ScriptBreak( [In] char *pwcChars, [In] int cChars, [In] SCRIPT_ANALYSIS *psa, [Out] SCRIPT_LOGATTR *psla);