---
name: "ScriptShapeOpenType"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/ScriptShapeOpenType"
---

# ScriptShapeOpenType(3w)

## NAME

**ScriptShapeOpenType** (USP10.@)

## SYNOPSIS

HRESULT ScriptShapeOpenType\
  (\
   HDC                    *hdc*,\
   SCRIPT\_CACHE\*          *psc*,\
   SCRIPT\_ANALYSIS\*       *psa*,\
   OPENTYPE\_TAG           *tagScript*,\
   OPENTYPE\_TAG           *tagLangSys*,\
   int\*                   *rcRangeChars*,\
   TEXTRANGE\_PROPERTIES\*\* *rpRangeProperties*,\
   int                    *cRanges*,\
   const WCHAR\*           *pwcChars*,\
   int                    *cChars*,\
   int                    *cMaxGlyphs*,\
   WORD\*                  *pwLogClust*,\
   SCRIPT\_CHARPROP\*       *pCharProps*,\
   WORD\*                  *pwOutGlyphs*,\
   SCRIPT\_GLYPHPROP\*      *pOutGlyphProps*,\
   int\*                   *pcGlyphs*\
  )

## DESCRIPTION

Produce glyphs and visual attributes for a run.

## PARAMS

*hdc* **\[In\]**  Device context.

*psc* **\[In/Out\]**  Opaque pointer to a script cache.

*psa* **\[In/Out\]**  Script analysis.

*tagScript* **\[In\]**  The OpenType tag for the Script.

*tagLangSys* **\[In\]**  The OpenType tag for the Language.

rcRangeChars**\[In\]**  Array of Character counts in each range.

*rpRangeProperties* **\[In\]**  Array of **TEXTRANGE\_PROPERTIES** structures.

*cRanges* **\[In\]**  Count of ranges.

*pwcChars* **\[In\]**  Array of characters specifying the run.

*cChars* **\[In\]**  Number of characters in *pwcChars*.

*cMaxGlyphs* **\[In\]**  Length of *pwOutGlyphs*.

*pwLogClust* **\[Out\]**  Array of logical cluster info.

*pCharProps* **\[Out\]**  Array of character property values.

*pwOutGlyphs* **\[Out\]**  Array of glyphs.

*pOutGlyphProps* **\[Out\]**  Array of attributes for the retrieved glyphs.

*pcGlyphs* **\[Out\]**  Number of glyphs returned.

## RETURNS

**Success:** **S\_OK**

**Failure:** Non-zero **HRESULT** value.

## IMPLEMENTATION

Not declared in a Wine header. The function is either undocumented, or missing from Wine.

Implemented in **"dlls/usp10/usp10.c"**.

Debug channel **"uniscribe"**.
