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

# ScriptApplyLogicalWidth(3w)

## NAME

**ScriptApplyLogicalWidth** (USP10.@)

## SYNOPSIS

HRESULT ScriptApplyLogicalWidth\
  (\
   const int\*             *dx*,\
   int                    *num\_chars*,\
   int                    *num\_glyphs*,\
   const WORD\*            *log\_clust*,\
   const SCRIPT\_VISATTR\*  *sva*,\
   const int\*             *advance*,\
   const SCRIPT\_ANALYSIS\* *sa*,\
   ABC\*                   *abc*,\
   int\*                   *justify*\
  )

## DESCRIPTION

Generate glyph *advance* widths.

## PARAMS

*dx* **\[In\]**  Array of logical *advance* widths.

*num\_chars* **\[In\]**  Number of characters.

*num\_glyphs* **\[In\]**  Number of glyphs.

*log\_clust* **\[In\]**  Array of logical clusters.

*sva* **\[In\]**  Visual attributes.

*advance* **\[In\]**  Array of glyph *advance* widths.

*sa* **\[In\]**  Script analysis.

*abc* **\[In/Out\]**  Summed **ABC** widths.

*justify* **\[Out\]**  Array of glyph *advance* widths.

## RETURNS

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

**Failure:** a non-zero **HRESULT**.

## IMPLEMENTATION

Declared in **"usp10.h"**.

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

Debug channel **"uniscribe"**.
