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

Functions to introspect Unicode
joining types for binaries
(Strings) and codepoints.

# `aliases`

Returns a map of aliases for
Unicode joining types.

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

# `count`

Returns the count of the number of characters
for a given joining type.

## Example

    iex> Unicode.JoiningType.count(:d)
    615

# `fetch`

Returns the Unicode ranges for
a given joining type 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 joining type as a list of
ranges as 2-tuples.

Aliases are resolved by this function.

Returns either `range_list` or
`nil`.

# `joining_type`

Returns the joining type name(s) for the
given binary or codepoint.

In the case of a codepoint, a single
joining type name is returned. Code points
with no explicit `Joining_Type` assignment
default to `:u` (Non_Joining).

For a binary a list of distinct joining
type names represented by the codepoints
in the binary is returned.

## Examples

    iex> Unicode.JoiningType.joining_type ?A
    :u

    iex> Unicode.JoiningType.joining_type 0x0640
    :c

    iex> Unicode.JoiningType.joining_type 0x0628
    :d

    iex> Unicode.JoiningType.joining_type 0x200D
    :c

# `joining_types`

Returns the map of Unicode
joining types.

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

# `known_joining_types`

Returns a list of known Unicode
joining type names.

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

---

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