Crate abjad

source ·
Expand description

This library is meant to facilitate calculating the numerical abjad value of a string of text in Arabic or Persian (support for other Arabic-script languages may be added over time).

At the moment, this simply adds three methods for &str:

  • abjad returns a best-effort value, ignoring unrecognized characters.
  • abjad_collect_errors also records unrecognized characters in a Vec.
  • abjad_strict returns an error as soon as any character is not recognized.

Structs

  • We need to allow some options for abjad calculation. At present there are four: three booleans and one enum. All of the booleans are false by default. The enum also has a default value, which should be suitable for the vast majority of use cases. If you don’t need to change any of the options, then, when calling one of the methods, you can simply pass AbjadPrefs::default().

Enums

  • The error type for this crate. Currently there is only one member: UnrecognizedCharacter, which is returned by abjad_strict upon encountering any character outside of the Arabic script.
  • This enum allows for a selection of the letter order for abjad values (Mashriqi by default).

Traits

  • This is the trait that we implement for &str, allowing us to use the new methods.