pub trait Policy: Copy {
// Provided methods
fn ligates_with_ara(base: char) -> bool { ... }
fn telco_ligates_with(base: char) -> bool { ... }
fn ligature_valid<P: Policy>(
prev: &Glyph<Self>,
next: &Glyph<P>,
level: u8
) -> bool { ... }
fn nuquerna(base: char) -> char { ... }
fn nuquerna_valid(base: char) -> bool { ... }
fn rince(base: char, is_final: bool) -> Rince { ... }
fn rince_valid(base: char) -> bool { ... }
fn rince_valid_final(base: char) -> bool { ... }
fn transcriber<M>(input: impl ToTengwar) -> Transcriber<M, Self>
where M: TengwarMode + Default { ... }
}
Expand description
This trait defines higher-level behavior for rendering Tengwar.
Provided Methods§
sourcefn ligates_with_ara(base: char) -> bool
fn ligates_with_ara(base: char) -> bool
Returns a boolean indicating whether a given character may form a ligature with a long carrier that follows it.
The ligature will be formed by emitting a Zero-Width Joiner between the two characters.
sourcefn telco_ligates_with(base: char) -> bool
fn telco_ligates_with(base: char) -> bool
Returns a boolean indicating whether a short carrier may form a ligature with a given character that follows it.
The ligature will be formed by replacing the short carrier character with a variant.
sourcefn ligature_valid<P: Policy>(
prev: &Glyph<Self>,
next: &Glyph<P>,
level: u8
) -> bool
fn ligature_valid<P: Policy>( prev: &Glyph<Self>, next: &Glyph<P>, level: u8 ) -> bool
Determine whether two Glyph
s can be joined by a zero-width joiner.
sourcefn nuquerna(base: char) -> char
fn nuquerna(base: char) -> char
Returns the “Nuquerna”, or inverted, variant of a given character, if it has one.
The Nuquerna variant is used when a significant portion of a tengwa extends above the center of the character, but a diacritical tehta also needs to occupy that same space. The Nuquerna variant instead extends downwards, leaving the space above free for the tehta.
sourcefn nuquerna_valid(base: char) -> bool
fn nuquerna_valid(base: char) -> bool
Check whether a tengwa has an inverted variant.
sourcefn rince(base: char, is_final: bool) -> Rince
fn rince(base: char, is_final: bool) -> Rince
Returns the appropriate “Sa-Rincë”, or “S-hook”, for a given character, if it can host one, taking into account whether it is the final character in a word.
The Sa-Rincë is attached to indicate that a sibilant sound follows the character. For a character at the end of a word, a more ornate variant may be used.
sourcefn rince_valid(base: char) -> bool
fn rince_valid(base: char) -> bool
Check whether a base tengwa is suitable to receive a sa-rincë.
sourcefn rince_valid_final(base: char) -> bool
fn rince_valid_final(base: char) -> bool
Check whether a base tengwa is suitable to receive the alternate rincë.
sourcefn transcriber<M>(input: impl ToTengwar) -> Transcriber<M, Self>where
M: TengwarMode + Default,
fn transcriber<M>(input: impl ToTengwar) -> Transcriber<M, Self>where M: TengwarMode + Default,
Create a Transcriber
using the given TengwarMode
.