1/*!
2A library for parsing the Unicode character database.
3*/
4
5#![deny(missing_docs)]
6
7pub use crate::common::{
8 parse, parse_by_codepoint, parse_many_by_codepoint, ucd_directory_version,
9 Codepoint, CodepointIter, CodepointRange, Codepoints, UcdFile,
10 UcdFileByCodepoint, UcdLineParser,
11};
12pub use crate::error::{Error, ErrorKind};
13
14pub use crate::age::Age;
15pub use crate::arabic_shaping::ArabicShaping;
16pub use crate::bidi_mirroring_glyph::BidiMirroring;
17pub use crate::case_folding::{CaseFold, CaseStatus};
18pub use crate::core_properties::CoreProperty;
19pub use crate::east_asian_width::EastAsianWidth;
20pub use crate::emoji_properties::EmojiProperty;
21pub use crate::grapheme_cluster_break::{
22 GraphemeClusterBreak, GraphemeClusterBreakTest,
23};
24pub use crate::jamo_short_name::JamoShortName;
25pub use crate::line_break::LineBreakTest;
26pub use crate::name_aliases::{NameAlias, NameAliasLabel};
27pub use crate::prop_list::Property;
28pub use crate::property_aliases::PropertyAlias;
29pub use crate::property_value_aliases::PropertyValueAlias;
30pub use crate::script_extensions::ScriptExtension;
31pub use crate::scripts::Script;
32pub use crate::sentence_break::{SentenceBreak, SentenceBreakTest};
33pub use crate::special_casing::SpecialCaseMapping;
34pub use crate::unicode_data::{
35 UnicodeData, UnicodeDataDecomposition, UnicodeDataDecompositionTag,
36 UnicodeDataExpander, UnicodeDataNumeric,
37};
38pub use crate::word_break::{WordBreak, WordBreakTest};
39
40macro_rules! err {
41 ($($tt:tt)*) => {
42 Err(crate::error::Error::parse(format!($($tt)*)))
43 }
44}
45
46pub mod extracted;
47
48mod common;
49mod error;
50
51mod age;
52mod arabic_shaping;
53mod bidi_mirroring_glyph;
54mod case_folding;
55mod core_properties;
56mod east_asian_width;
57mod emoji_properties;
58mod grapheme_cluster_break;
59mod jamo_short_name;
60mod line_break;
61mod name_aliases;
62mod prop_list;
63mod property_aliases;
64mod property_value_aliases;
65mod script_extensions;
66mod scripts;
67mod sentence_break;
68mod special_casing;
69mod unicode_data;
70mod word_break;
71