# `Unicode.BidiClass`
[🔗](https://github.com/elixir-unicode/unicode/blob/v1.22.0/lib/unicode/property/bidi_class.ex#L1)

Functions to introspect Unicode
bidi classes for binaries
(Strings) and codepoints.

# `aliases`

Returns a map of aliases for
Unicode bidi classes.

An alias is an alternative name
for referring to a bidi class. Aliases
are resolved by the `fetch/1` and
`get/1` functions.

# `bidi_class`

Returns the bidi class name(s) for the
given binary or codepoint.

In the case of a codepoint, a single
bidi class name is returned.

For a binary a list of distinct bidi class
names represented by the codepoints in
the binary is returned.

## Examples

    iex> Unicode.BidiClass.bidi_class ?A
    :l

    iex> Unicode.BidiClass.bidi_class ?0
    :en

    iex> Unicode.BidiClass.bidi_class 0x05D0
    :r

    iex> Unicode.BidiClass.bidi_class 0x0627
    :al

# `bidi_classes`

Returns the map of Unicode
bidi classes.

The bidi class name is the map
key and a list of codepoint
ranges as tuples as the value.

# `count`

Returns the count of the number of characters
for a given bidi class.

## Example

    iex> Unicode.BidiClass.count(:al)
    1478

# `fetch`

Returns the Unicode ranges for
a given bidi class as a list of
ranges as 2-tuples.

Aliases are resolved by this function.

Returns either `{:ok, range_list}` or
`:error`.

# `get`

Returns the Unicode ranges for
a given bidi class as a list of
ranges as 2-tuples.

Aliases are resolved by this function.

Returns either `range_list` or
`nil`.

# `known_bidi_classes`

Returns a list of known Unicode
bidi class names.

This function does not return the
names of any class aliases.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
