---
title: "setBidiLevels(_:forGlyphRange:)"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nstypesetter/setbidilevels(_:forglyphrange:)"
---

# setBidiLevels(_:forGlyphRange:)

Sets the direction of the specified glyphs for bidirectional text.

## Declaration

```swift
func setBidiLevels(_ levels: UnsafePointer<UInt8>!, forGlyphRange glyphRange: NSRange)
```

## Parameters

- `levels`: Values in levels can range from 0 to 61 as defined by Unicode Standard Annex #9.
- `glyphRange`: The range of glyphs for which the bidirectional text levels are desired.

## Discussion

Discussion A subclass can override this method to interact with custom glyph storage.

## See Also

### Interfacing with Glyph Storage

- [characterRange(forGlyphRange:actualGlyphRange:)](appkit/nstypesetter/characterrange(forglyphrange:actualglyphrange:).md)
- [glyphRange(forCharacterRange:actualCharacterRange:)](appkit/nstypesetter/glyphrange(forcharacterrange:actualcharacterrange:).md)
- [setAttachmentSize(_:forGlyphRange:)](appkit/nstypesetter/setattachmentsize(_:forglyphrange:).md)
- [setDrawsOutsideLineFragment(_:forGlyphRange:)](appkit/nstypesetter/setdrawsoutsidelinefragment(_:forglyphrange:).md)
- [setLineFragmentRect(_:forGlyphRange:usedRect:baselineOffset:)](appkit/nstypesetter/setlinefragmentrect(_:forglyphrange:usedrect:baselineoffset:).md)
- [setLocation(_:withAdvancements:forStartOfGlyphRange:)](appkit/nstypesetter/setlocation(_:withadvancements:forstartofglyphrange:).md)
- [setNotShownAttribute(_:forGlyphRange:)](appkit/nstypesetter/setnotshownattribute(_:forglyphrange:).md)
