1#![allow(non_camel_case_types)]
3#![allow(non_upper_case_globals)]
4#![allow(non_snake_case)]
5#![allow(clippy::collapsible_if)]
6#![allow(clippy::collapsible_else_if)]
7#![allow(clippy::comparison_chain)]
8#![allow(clippy::needless_range_loop)]
9#![allow(clippy::non_canonical_partial_ord_impl)]
10#![allow(clippy::upper_case_acronyms)]
11#![allow(clippy::too_many_arguments)]
12#![allow(clippy::wildcard_in_or_patterns)]
13#![allow(clippy::identity_op)]
14#![allow(clippy::inline_always)]
15#![allow(clippy::mut_range_bound)]
16#![allow(clippy::enum_variant_names)]
17#![allow(clippy::manual_range_patterns)]
18#![allow(clippy::type_complexity)]
19#![allow(clippy::wrong_self_convention)]
20#![allow(clippy::match_like_matches_macro)]
21#![allow(clippy::manual_range_contains)]
22
23mod algs;
24#[macro_use]
25pub mod buffer;
26mod aat;
27mod cache;
28mod charmap;
29pub mod common;
30pub mod face;
31mod font_funcs;
32mod glyph_metrics;
33mod glyph_names;
34mod kerning;
35mod machine_cursor;
36mod ot;
37mod ot_layout;
38mod ot_layout_common;
39mod ot_layout_gpos_table;
40mod ot_layout_gsub_table;
41mod ot_layout_gsubgpos;
42mod ot_map;
43mod ot_shape;
44mod ot_shape_fallback;
45mod ot_shape_normalize;
46pub mod ot_shape_plan;
47mod ot_shaper;
48mod ot_shaper_arabic;
49#[rustfmt::skip]
50mod ot_shaper_arabic_table;
51mod ot_shaper_hangul;
52mod ot_shaper_hebrew;
53mod ot_shaper_indic;
54mod ot_shaper_indic_machine;
55#[rustfmt::skip]
56mod ot_shaper_indic_table;
57mod ot_shaper_khmer;
58mod ot_shaper_khmer_machine;
59mod ot_shaper_myanmar;
60mod ot_shaper_myanmar_machine;
61mod ot_shaper_syllabic;
62mod ot_shaper_thai;
63mod ot_shaper_use;
64mod ot_shaper_use_machine;
65#[rustfmt::skip]
66mod ot_shaper_use_table;
67#[allow(clippy::collapsible_match)]
68mod ot_shaper_vowel_constraints;
69pub(crate) mod set_digest;
70mod tables;
71mod tag;
72#[allow(clippy::collapsible_match)]
73mod tag_table;
74mod text_parser;
75#[rustfmt::skip]
76mod unicode_emoji_table;
77#[rustfmt::skip]
78mod ucd_table;
79mod unicode;
80
81use read_fonts::types::Tag as hb_tag_t;
82
83use self::buffer::GlyphInfo;
84use self::face::hb_font_t;
85
86type hb_mask_t = u32;
87
88use self::common::{script, Direction, Feature, Language, Script};