public static extern int ScriptGetLogicalWidths(
   ref SCRIPT_ANALYSIS psa, 
   int cChars, 
   int cGlyphs, 
   [In] int[] piGlyphWidth, 
   [In] ushort[] pwLogClust, 
   ref SCRIPT_VISATTR psva, 
   [Out] int[] piDx);
 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 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);