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

# ScriptLayout(3w)

## NAME

**ScriptLayout** (USP10.@)

## SYNOPSIS

HRESULT ScriptLayout\
  (\
   int         *runs*,\
   const BYTE\* *level*,\
   int\*        *vistolog*,\
   int\*        *logtovis*\
  )

## DESCRIPTION

Map embedding levels to visual and/or logical order.

## PARAMS

*runs* **\[In\]**  Size of *level* array.

*level* **\[In\]**  Array of embedding levels.

*vistolog* **\[Out\]**  Map of embedding levels from visual to logical order.

*logtovis* **\[Out\]**  Map of embedding levels from logical to visual order.

## RETURNS

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

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

## BUGS

This stub works correctly for any sequence of a single embedding *level* but not for sequences of different embedding levels, i.e. mixtures of **RTL** and **LTR** scripts.

## IMPLEMENTATION

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

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

Debug channel **"uniscribe"**.
