pub trait ToTengwar {
// Required method
fn transcriber<M: TengwarMode + Default>(&self) -> Transcriber<M>;
// Provided methods
fn to_tengwar<M: TengwarMode + Default>(&self) -> String { ... }
fn to_tengwar_with<M>(&self, settings: TranscriberSettings) -> String
where M: TengwarMode + Default { ... }
}
Expand description
A very small trait serving to implement ergonomic transcription methods directly onto text objects.
Required Methods§
sourcefn transcriber<M: TengwarMode + Default>(&self) -> Transcriber<M>
fn transcriber<M: TengwarMode + Default>(&self) -> Transcriber<M>
Create a Transcriber
to iteratively transcribe this text into the
Tengwar. The returned iterator will yield Token
s.
Example
use tengwar::{Quenya, ToTengwar, VowelStyle};
const INPUT: &str = "lotsë súva"; // "a flower is sinking"
// Collect directly with default settings.
let mut ts = INPUT.transcriber::<Quenya>();
assert_eq!(ts.into_string(), " ");
// Use Unique Tehtar.
let mut ts = INPUT.transcriber::<Quenya>();
ts.settings.vowels = VowelStyle::Unique;
assert_eq!(ts.into_string(), " ");
// Use Nuquernë Tengwar.
let mut ts = INPUT.transcriber::<Quenya>();
ts.settings.nuquerna = true;
assert_eq!(ts.into_string(), " ");
// Use Unique Tehtar and Nuquernë Tengwar.
let mut ts = INPUT.transcriber::<Quenya>();
ts.settings.nuquerna = true;
ts.settings.vowels = VowelStyle::Unique;
assert_eq!(ts.into_string(), " ");
// Use several options.
let mut ts = INPUT.transcriber::<Quenya>();
ts.settings.alt_a = true;
ts.settings.alt_rince = true;
ts.settings.nuquerna = true;
ts.settings.vowels = VowelStyle::Separate;
assert_eq!(ts.into_string(), " ");
Provided Methods§
sourcefn to_tengwar<M: TengwarMode + Default>(&self) -> String
fn to_tengwar<M: TengwarMode + Default>(&self) -> String
Transcribe this object into the Tengwar directly.
Example
use tengwar::{Quenya, ToTengwar};
let text: String = "namárië !".to_tengwar::<Quenya>();
assert_eq!(text, " ");
sourcefn to_tengwar_with<M>(&self, settings: TranscriberSettings) -> Stringwhere
M: TengwarMode + Default,
fn to_tengwar_with<M>(&self, settings: TranscriberSettings) -> Stringwhere M: TengwarMode + Default,
Transcribe this object into the Tengwar, using TranscriberSettings
provided as an argument. This allows the settings to be reused much
more easily.
For examples of the available settings, see the documentation of
Self::transcriber
.
Example
use tengwar::{Quenya, ToTengwar, TranscriberSettings};
let mut settings = TranscriberSettings::new();
settings.alt_a = true;
settings.nuquerna = true;
let text: String = "namárië !".to_tengwar_with::<Quenya>(settings);
assert_eq!(text, " ");
let text: String = "lotsë súva".to_tengwar_with::<Quenya>(settings);
assert_eq!(text, " ");
Object Safety§
This trait is not object safe.