mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-26 10:47:11 -06:00
Builds on the vertical type from #145 (same data, commands and tools). - Kinsoku (the strict set, horizontal Japanese too): no line starts with a closing bracket, 、。, a middle dot, colon, !?, the long vowel mark, iteration marks or small kana; no line ends with an opening bracket. Hyphenation breaks obey it too. - Tate-chu-yoko: a run of two or three half-width digits (10月, 第100回) stands upright across the column as one block one em long, squeezed to the em when wider; longer numbers stay on their side. - Upright or on its side by Unicode's Vertical_Orientation: CJK and symbols upright, marks that need a vertical form on their side when the font has none; upright glyphs advance at least one em, centred, and turn about the ideographic em box centre so they sit on the column's centre line. Point type keeps its anchor on the first column's centre line. - `vrt2` is no longer requested: its glyphs are already on their side, so with the layout turning Latin and digits too they came out upside down (and tate-chu-yoko blocks broke) in fonts that have it, e.g. Hiragino. - The line→text mapping is one affine (`TextLayout::line_xf`, an exact quarter turn plus the point-type offset); `logical_point` and `physical_point` use it. Pixel snapping skips vertical type. - Tests: kinsoku in both directions, tate-chu-yoko blocks, upright vs sideways, anchor on the centre line, arrows along columns. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>