lindera_dictionary/loader/character_definition.rs
1use std::path::Path;
2
3use crate::LinderaResult;
4use crate::dictionary::character_definition::CharacterDefinition;
5use crate::util::read_aligned_file;
6
7/// Loader for character definition data from disk files.
8pub struct CharacterDefinitionLoader {}
9
10impl CharacterDefinitionLoader {
11 /// Load character definition from a file in the specified directory.
12 ///
13 /// # Arguments
14 ///
15 /// * `input_dir` - Path to the directory containing char_def.bin.
16 ///
17 /// # Returns
18 ///
19 /// A `CharacterDefinition` loaded from the file.
20 pub fn load(input_dir: &Path) -> LinderaResult<CharacterDefinition> {
21 let aligned_data = read_aligned_file(input_dir.join("char_def.bin").as_path())?;
22
23 CharacterDefinition::load(&aligned_data)
24 }
25}