mod collections;
pub mod error;
mod font_builder;
pub mod from_obj;
mod graph;
mod offsets;
pub mod pens;
mod round;
pub mod tables;
pub mod util;
pub mod validate;
mod write;
#[cfg(test)]
mod codegen_test;
#[cfg(test)]
mod hex_diff;
pub use font_builder::FontBuilder;
pub use offsets::{NullableOffsetMarker, OffsetMarker};
pub use round::OtRound;
pub use write::{dump_table, FontWrite, TableWriter};
pub extern crate font_types as types;
pub extern crate read_fonts as read;
pub(crate) mod codegen_prelude {
use std::num::TryFromIntError;
pub use super::from_obj::{FromObjRef, FromTableRef, ToOwnedObj, ToOwnedTable};
pub use super::offsets::{NullableOffsetMarker, OffsetMarker, WIDTH_16, WIDTH_24, WIDTH_32};
pub use super::validate::{Validate, ValidationCtx};
pub use super::write::{FontWrite, TableWriter};
pub use std::collections::BTreeSet;
pub use types::*;
pub use read::{
FontData, FontRead, FontReadWithArgs, ReadArgs, ReadError, ResolveOffset, TopLevelTable,
};
pub fn array_len<T: super::collections::HasLen>(s: &T) -> Result<u16, TryFromIntError> {
s.checked_len()
}
pub fn plus_one(val: &usize) -> Result<u16, TryFromIntError> {
val.saturating_add(1).try_into()
}
}