Skip to main content

rustyfi_backend/
lib.rs

1//! Box/glue model, typesetting context, line and page breaking — the port of
2//! upstream `src/backend/`.
3
4pub mod context;
5pub mod doc;
6pub mod font;
7pub mod graphics;
8pub mod hbox;
9pub mod length;
10pub mod linebreak;
11pub mod math;
12pub mod pagebreak;
13pub mod tabular;
14pub mod vbox;
15pub mod visit;
16
17pub use context::{
18    default_script_space_map, Context, HyphenLang, Language, MathCmdId, MathScriptLevel,
19    PageGeometry, PaperSize, Script, ScriptFont,
20};
21pub use doc::{Annot, AnnotAction, DocExtras, DocInfo, NamedDest, OutlineEntry};
22pub use font::{
23    char_script, FontKey, FontMetrics, MathConstants, MathCorner, MathVariantGlyph,
24    VertVariantPolicy,
25};
26pub use graphics::{
27    graphics_bbox, linear_transform_graphics, linear_transform_path, path_bbox, shift_graphics,
28    shift_path, Closing, Color, Dash, FrameDecoration, GraphicsElem, Path, PathSeg, Point, PrePath,
29    Subpath,
30};
31pub use hbox::{
32    DecoId, GraphicsFnId, HookId, HorzBox, HorzStringInfo, ImageId, ImageResource, ImportedObjects,
33    InlineMarkKind, JpegDct, ObjRepr, PdfPageResource, PureHorzBox, FORCED_BREAK_PENALTY,
34    NO_BREAK_PENALTY,
35};
36pub use length::Length;
37pub use linebreak::{
38    break_into_lines, break_opportunities, fit_cell, measure_block, natural_metrics, BreakKind,
39};
40pub use math::{
41    default_math_variant_char, math_alphanumeric_base, MathCharClass, MathGlyph, MathKind,
42};
43pub use pagebreak::{
44    chop_page, place_block_at, placed_line_extent, Page, PlacedLine, MIN_FIRST_ASCENDER,
45};
46pub use tabular::{Cell, Paddings, TabularBox, TabularCellBox};
47pub use vbox::{ListMarkKind, VertBox};