lib/filigree/src/root.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

  1 //! Text typography requires translating Unicode character sequences into positioned
  2 //! font glyphs while respecting complex script substitution rules. Filigree parses
  3 //! OpenType font tables directly from caller-owned byte slices without heap copying.
  4 //!
  5 //! Shaping passes execute glyph substitution and positioning while preserving
  6 //! original cluster index associations. For multilingual text spanning multiple
  7 //! typefaces, a bounded `FallbackWorkspace` partitions input runs across font
  8 //! candidates within preallocated memory limits.
  9 
 10 pub const caret = @import("caret.zig");
 11 pub const font = @import("font/root.zig");
 12 pub const fallback = @import("fallback/root.zig");
 13 pub const layout = @import("layout/root.zig");
 14 pub const render = @import("render/root.zig");
 15 pub const shape = @import("shape/root.zig");
 16 pub const unicode = @import("unicode");
 17 pub const fixtures = @import("fixture/root.zig");
 18 
 19 pub const Face = font.Face;
 20 pub const Description = font.Description;
 21 pub const describeAlloc = font.describeAlloc;
 22 pub const describeAtAlloc = font.describeAtAlloc;
 23 pub const Tag = font.Tag;
 24 pub const FeatureRange = font.FeatureRange;
 25 pub const FeatureSetting = font.FeatureSetting;
 26 pub const VariationAxis = font.VariationAxis;
 27 pub const VariationSetting = font.VariationSetting;
 28 pub const NormalizedVariation = font.NormalizedVariation;
 29 pub const LayoutSelection = font.LayoutSelection;
 30 pub const defaultScriptTag = font.defaultScriptTag;
 31 pub const MathConstants = font.MathConstants;
 32 pub const MathGlyphAssembly = font.MathGlyphAssembly;
 33 pub const MathGlyphAssemblyPart = font.MathGlyphAssemblyPart;
 34 pub const MathGlyphVariant = font.MathGlyphVariant;
 35 pub const MathValueRecord = font.MathValueRecord;
 36 pub const ClassDef = layout.ClassDef;
 37 pub const Coverage = layout.Coverage;
 38 pub const Font = shape.Font;
 39 pub const FallbackCandidate = fallback.Candidate;
 40 pub const FallbackContext = fallback.Context;
 41 pub const FallbackInput = fallback.Input;
 42 pub const FallbackOptions = fallback.Options;
 43 pub const FallbackSegment = fallback.Segment;
 44 pub const FallbackWorkspace = fallback.Workspace;
 45 pub const FallbackWorkspaceCapacity = fallback.WorkspaceCapacity;
 46 pub const FallbackWorkspaceExhaustion = fallback.WorkspaceExhaustion;
 47 pub const FallbackWorkspaceLimits = fallback.WorkspaceLimits;
 48 pub const FallbackWorkspaceStatus = fallback.WorkspaceStatus;
 49 pub const LineBreak = unicode.LineBreak;
 50 pub const LineBreakAction = unicode.LineBreakAction;
 51 pub const LineBreakState = unicode.LineBreakState;
 52 pub const OpenTypeScriptTags = unicode.OpenTypeScriptTags;
 53 pub const Script = unicode.Script;
 54 pub const ScriptRun = unicode.ScriptRun;
 55 pub const ScriptRunContext = unicode.ScriptRunContext;
 56 pub const ScriptRunLimits = unicode.ScriptRunLimits;
 57 pub const ScriptRunCapacity = unicode.ScriptRunCapacity;
 58 pub const ScriptRunCapacityError = unicode.ScriptRunCapacityError;
 59 pub const ScriptRunExhaustion = unicode.ScriptRunExhaustion;
 60 pub const ScriptRunStatus = unicode.ScriptRunStatus;
 61 pub const ScriptRunInput = unicode.ScriptRunInput;
 62 pub const ScriptRunRange = unicode.ScriptRunRange;
 63 pub const ScriptRunSource = unicode.ScriptRunSource;
 64 pub const Cluster = shape.Cluster;
 65 pub const ClusterMap = shape.ClusterMap;
 66 pub const ClusterMode = shape.ClusterMode;
 67 pub const Context = shape.Context;
 68 pub const DefaultIgnorablePolicy = shape.DefaultIgnorablePolicy;
 69 pub const Direction = shape.Direction;
 70 pub const DottedCirclePolicy = shape.DottedCirclePolicy;
 71 pub const GlyphClass = shape.GlyphClass;
 72 pub const GlyphAttachmentKind = shape.GlyphAttachmentKind;
 73 pub const GlyphAttachment = shape.GlyphAttachment;
 74 pub const GlyphFlags = shape.GlyphFlags;
 75 pub const GlyphRun = shape.GlyphRun;
 76 pub const GlyphSpan = shape.GlyphSpan;
 77 pub const JoiningType = shape.JoiningType;
 78 pub const LigatureCaret = shape.LigatureCaret;
 79 pub const MissingGlyphPolicy = shape.MissingGlyphPolicy;
 80 pub const Input = shape.Input;
 81 pub const Output = shape.Output;
 82 pub const OutputOrder = shape.OutputOrder;
 83 pub const ShapedGlyph = shape.ShapedGlyph;
 84 pub const Source = shape.Source;
 85 pub const SourceRange = shape.SourceRange;
 86 pub const WritingMode = shape.WritingMode;
 87 pub const GlyphOutline = font.GlyphOutline;
 88 pub const GlyphOutlineBounds = font.GlyphOutlineBounds;
 89 pub const GlyphOutlineContour = font.GlyphOutlineContour;
 90 pub const GlyphOutlinePoint = font.GlyphOutlinePoint;
 91 pub const GlyphBitmap = font.GlyphBitmap;
 92 pub const GlyphAtlas = font.GlyphAtlas;
 93 pub const GlyphAtlasGlyph = font.GlyphAtlasGlyph;
 94 pub const GlyphAtlasRectangle = font.GlyphAtlasRectangle;
 95 pub const LineBreakWorkspace = shape.LineBreakWorkspace;
 96 pub const breakLinesInto = shape.breakLinesInto;
 97 pub const joiningType = shape.joiningType;
 98 pub const joiningTypesConnect = shape.joiningTypesConnect;
 99 pub const lineBreak = unicode.lineBreak;
100 pub const scriptOpenTypeTag = unicode.scriptOpenTypeTag;
101 pub const scriptOpenTypeTags = unicode.scriptOpenTypeTags;
102 pub const tag = font.tag;
103 pub const featureEnabled = font.featureEnabled;
104 pub const fixed16ToFloat = font.fixed16ToFloat;
105 pub const glyphOutlineAlloc = font.glyphOutlineAlloc;
106 pub const glyphBitmapAlloc = font.glyphBitmapAlloc;
107 pub const glyphAtlasAlloc = font.glyphAtlasAlloc;
108 pub const drawGlyphRun = render.drawGlyphRun;
109 pub const drawFallbackUtf8 = render.drawFallbackUtf8;
110 pub const drawUtf8 = render.drawUtf8;
111 pub const measureFallbackUtf8 = render.measureFallbackUtf8;
112 pub const measureGlyphRun = render.measureGlyphRun;
113 pub const measureUtf8 = render.measureUtf8;