Skip to content
@elixir-unicode

Elixir Unicode

Elixir libraries for Unicode strings

elixir-unicode

A collection of Elixir libraries that bring the Unicode standard to the BEAM.

The libraries here implement parts of the Unicode Character Database, CLDR, several Unicode Technical Standards and the Unicode inflection project, tracking Unicode 17.0. They are designed to compose: lower-level packages expose the data and primitives, higher-level packages build locale-aware string and language operations on top.

Libraries

Library Hex Description
unicode Hex pm Introspection of the Unicode character database with fast binary-search codepoint lookups, guards, and a wide range of enumerated and boolean properties.
unicode_set Hex pm Unicode Sets and regexes for use in guards, compiled patterns, nimble_parsec combinators and regexes.
unicode_string Hex pm Locale-aware case folding and mapping, case-insensitive equality, and word, line, grapheme and sentence breaking with streaming.
unicode_transform Hex pm Script transliteration, normalization, case mapping and arbitrary CLDR transforms.
unicode_inflection Hex pm Grammatical inflection of words and phrases by number, gender, case and definiteness, grammatical feature queries, and pronoun selection, from the Unicode inflection project data. 31 languages pass the complete upstream conformance suites.
unicode_idna Hex pm Pure-Elixir UTS #46 (IDNA 2008) with Punycode (RFC 3492), bidi (RFC 5893) and CONTEXTJ joiner rules.
unicode_unihan Hex pm Introspection of the Unicode Unihan character database, with properties autogenerated from UAX #38.

Note: The unicode_guards package is deprecated. As of unicode v2.0 the Unicode.Guards module is provided by unicode directly — depend on unicode and drop unicode_guards from your dependencies.

Where to start

  • Looking up properties of a codepoint — start with unicode.
  • Matching codepoints in function guards — the Unicode.Guards module in unicode, or unicode_set for custom set-based guards.
  • Case mapping, folding, or segmenting stringsunicode_string.
  • Transliterating between scripts or running CLDR transformsunicode_transform.
  • Inflecting words, phrases and pronouns for grammatically correct messagesunicode_inflection.
  • Encoding internationalized domain namesunicode_idna.
  • Working with CJK ideographsunicode_unihan.

Pinned Loading

  1. unicode unicode Public

    Unicode codepoint introspection and fast detection (lower, upper, alpha, numeric, whitespace, ...) in Elixir

    Elixir 43 4

  2. unicode_set unicode_set Public

    Unicode set parsing, expansion, macros and guards for Elixir

    Elixir 39 6

  3. unicode_string unicode_string Public

    String utilities based upon Unicode sets

    Elixir 21 3

  4. unicode_guards unicode_guards Public

    Unicode Set based guards for Elixir

    Elixir 9 3

  5. unicode_regex unicode_regex Public

    Unicode regular expressions for Elixir

    Elixir 2

  6. unicode_unihan unicode_unihan Public

    Introspection of the Unicode Unihan database

    Elixir 2 2

Repositories

Showing 10 of 10 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…