Type: upright glyphs on a vertical path keep vertical point type's cells, and the caret spans the column

On a vertical path, an upright glyph is now placed in its column as
vertical point type places it, then the column is centered on the path.

- Its cell starts at its place on the path; it started 0.12 em earlier
  with fonts whose cell top is less than a full cell above the baseline.
- A baseline shift moves it across the column instead of along the path.
- A horizontal scale widens it evenly about the column's center.
- A combining mark stays on its upright letter.
- The caret and the selection highlight span the column, half its em on
  each side of the path, instead of the font's ascent and descent.

With Skew, 3D Ribbon and Stair Step on a path that runs to the left,
letters are a quarter turn counterclockwise from upright glyphs: Skew and
3D Ribbon mirror both kinds there, and Stair Step keeps letters level. The
test, the progress doc and the params text of Tate-chu-yoko Settings now
state these conditions and the block's directions on a path.
This commit is contained in:
dotCooCoo
2026-11-10 22:27:53 -08:00
parent f8307b19cd
commit 5a8a57d5f6
8 changed files with 155 additions and 40 deletions
+3 -2
View File
@@ -6374,8 +6374,9 @@ with binding punctuation (`Tg`) on, which opens as `forced`. `none` isn't saved.
`text.setFormat` and `text.setRangeStyle {tcyUpDown?, tcyLeftRight?}` set the Character panel menu's Tate-chu-yoko
Settings of the characters, in points from -1296 to 1296 (document points, as `baselineShift`). In vertical type a
block of tate-chu-yoko characters (`tateChuYoko`) moves up by a positive Up/Down and down by a negative one, and right
by a positive Left/Right and left by a negative one. The block moves as one piece with the values of its first
character, and keeps its one em down the column, its caret positions and its hit region. Two or three digits set
by a positive Left/Right and left by a negative one. On a vertical path, a positive Up/Down moves the block toward the
path's start and a positive Left/Right moves it to the path's left, with every path effect. The block moves as one piece
with the values of its first character, and keeps its one em down the column, its caret positions and its hit region. Two or three digits set
across the column without the mark do not move, and horizontal type keeps the values without moving the characters.
Neither value turns `tateChuYoko` on. Both are 0 by default and saved only when not 0, and character styles carry
them. A value that is not a number is refused with `` `tcyUpDown` must be a number ``, and one outside the range with
File diff suppressed because one or more lines are too long