public static extern int ScriptPlaceOpenType( IntPtr hdc, ref IntPtr psc, ref SCRIPT_ANALYSIS psa, uint tagScript, uint tagLangSys, [In] int[] rcRangeChars, ref IntPtr rpRangeProperties, int cRanges, [In] [MarshalAs(UnmanagedType.LPWStr)] string pwcChars, [In] ushort[] pwLogClust, [In] script_charprop[] pCharProps, int cChars, [In] ushort[] pwGlyphs, ref script_glyphprop pGlyphProps, int cGlyphs, [In] int[] piAdvance, [Out] tagGOFFSET[] pGoffset, out ABC pABC);
public static extern int ScriptApplyLogicalWidth( [In] int[] piDx, int cChars, int cGlyphs, [In] ushort[] pwLogClust, ref SCRIPT_VISATTR psva, [In] int[] piAdvance, ref SCRIPT_ANALYSIS psa, ref ABC pABC, [Out] int[] piJustify);
public static extern int ScriptGetGlyphABCWidth( IntPtr hdc, ref IntPtr psc, ushort wGlyph, ref ABC pABC);
public static extern int ScriptPlace( IntPtr hdc, ref IntPtr psc, ushort[] pwGlyphs, int cGlyphs, SCRIPT_VISATTR[] psva, ref SCRIPT_ANALYSIS psa, [Out] int[] piAdvance, [Out] tagGOFFSET[] pGoffset, ref ABC pABC);