Jul 20, 2023

Free Implementation of the Unicode Bidirectional Algorithm

A Free Implementation of the Unicode Bidirectional Algorithm.

The library implements all of the algorithm as described in the “Unicode Standard Annex #9, The Bidirectional Algorithm, http//”. FriBidi is exhautively tested against Bidi Reference Code, and due to our best knowledge, does not contain any conformance bugs.

In the API, we were inspired by the document “Bi-Di languages support - BiDi API proposal” by Franck Portaneri which he wrote as a proposal for adding BiDi support to Mozilla.

Internally the library uses Unicode entirely. The character property function was automatically created from the Unicode property list data file, PropList.txt, available from the Unicode Online Data site. This means that every Unicode character will be treated in strict accordance with the Unicode specification. The same is true for the mirroring of characters, which also works for all the characters listed as mirrorable in the Unicode specification.

Checkout these related ports:
  • Zbase32 - Base32 Encoder/Decoder
  • Ytnef - Unpack data in MS Outlook TNEF format
  • Yj - Convert between YAML, TOML, JSON, and HCL
  • Yj-bruceadams - Command line tool that converts YAML to JSON
  • Xml2c - Convert an XML file into C struct/string declarations
  • Xdeview - X11 program for uu/xx/Base64/BinHex/yEnc de-/encoding
  • Wkhtmltopdf - Convert HTML (or live webpages) to PDF or image
  • Uulib - Library for uu/xx/Base64/BinHex/yEnc de-/encoding
  • Uudeview - Program for uu/xx/Base64/BinHex/yEnc de-/encoding
  • Unix2dos - Convert ASCII newlines between CR/LF and LF
  • Tuc - Text to Unix Conversion
  • Trans - Character encoding converter generator
  • Tnef - Unpack data in MS Outlook TNEF format
  • Ta2as - TASM to AT&T asm syntax converter (GNU AS)
  • Showkey - Display cooked key sequences (keycap-to-keystrokes mappings)