pub unsafe fn ScriptShapeOpenType<P0, P1>(
    hdc: P0,
    psc: *mut *mut c_void,
    psa: *mut SCRIPT_ANALYSIS,
    tagscript: u32,
    taglangsys: u32,
    rcrangechars: Option<*const i32>,
    rprangeproperties: Option<*const *const TEXTRANGE_PROPERTIES>,
    cranges: i32,
    pwcchars: P1,
    cchars: i32,
    cmaxglyphs: i32,
    pwlogclust: *mut u16,
    pcharprops: *mut SCRIPT_CHARPROP,
    pwoutglyphs: *mut u16,
    poutglyphprops: *mut SCRIPT_GLYPHPROP,
    pcglyphs: *mut i32
) -> Result<()>
where P0: IntoParam<HDC>, P1: IntoParam<PCWSTR>,