mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-27 11:37:59 -06:00
* M2: text turned at any angle reads as lines along its own baseline The text layer sorted every glyph into the nearest of four quarter turns and laid it out by its axis-aligned box. Text at 30-60 degrees lost its word gaps, split into one line per word in reverse order, or interleaved two neighbouring lines letter by letter; text set along a curve came out in fragments. Each glyph now keeps its drawn em box as a quad and its writing direction. Glyphs within the layout's word-gap tolerance (sin 0.15) of a quarter turn take the existing path unchanged. Other glyphs are laid out in a frame along their own baseline, one flow per direction; runs that continue each other while turning (stamps, seals) are unrolled into one line. Turned text keeps the place in the reading order that its first glyph had before. Horizontal, quarter-turn, skewed and near-axis text is bit-identical (text, rect, line_of, space_before) over pdf_engine_test.pdf, the crates' test PDFs and 300 synthetic pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * M2: look up a turned glyph's direction among directions only, not every curved run Curved runs can number about half the glyphs, which made grouping quadratic on hostile pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>