Files
2026-09-25 23:32:29 +02:00

1.6 KiB

Layer 3 plan (rendering primitives + fonts) -> workflow 2

Stage A (parallel, independent - depend only on the frozen spine): raster raster.odin span-callback scanline AA rasteriser, both fill rules stroke stroke.odin stroke -> Flat_Path, caps/joins/miter/dashes, hairlines blend blend.odin Blend_Mode math, premultiplied compositing, group/mask compose colorfn colorspace.odin + function.odin (coupled: Separation needs a tint transform) cff font_cff.odin CFF/Type2 charstrings, CIDFont CFF, seac, hint-skip truetype font_truetype.odin glyf/loca/cmap/hmtx/post/composite glyphs type1 font_type1.odin PFB/PFA, eexec, Type1 charstrings, seac, flex/hint replacement stdfonts font_standard.odin standard-14 metrics + Standard/WinAnsi/MacRoman/MacExpert/Symbol/ZapfD cmaps cmap.odin embedded CMaps, /ToUnicode, predefined CMap identity + common ones

Stage B (needs A): image image.odin image XObjects -> RGBA8, /Decode, /ImageMask, /SMask, /Mask, colour key shading shading.odin types 1-7 (function, axial, radial, free/lattice triangle mesh, coons, tensor) font font.odin the PDF font dictionary -> Font, widths, encodings, CID mapping, Type3

Stage C: integrate + adversarial review + fix

Layer 4 plan (interpreter + devices + public API) -> workflow 3

pattern.odin, device_raster.odin, device_text.odin, device_list.odin, content.odin, page.odin, annot.odin, outline.odin, examples/pdfinfo, examples/pdfrender, examples/pdftext, README.md