.ai import: legacy type keeps its writing direction, Tate-chu-yoko runs and upright Roman characters

The legacy reader skipped `TV`, `Tv`, `Ty` and `TY` of section 15.3.4 of
the version 7 file format specification, so type set with `1 TV` opened
horizontal.

- `TV` sets a text object's writing direction. VectorCraft keeps one
  direction for each text object, the one in force at its first
  character, with a warning when a later character has another.
- `Ty` marks a Kumi block as a Tate-chu-yoko run, which is VectorCraft's
  own mapping, and `TY` does the same in horizontal type. A `TY` block in
  vertical type opens unmarked. Two blocks with nothing between them open
  as one block.
- `Tv` sets Standard Vertical Roman Alignment.

All four are modal, and an operand other than 0 or 1 leaves the value as
it was.

Docs: docs/file-format-parity.md.
This commit is contained in:
dotCooCoo
2026-11-07 09:17:53 +07:00
committed by bflatastic
parent 1c2a8c7f7a
commit fe9d62e05e
32 changed files with 209 additions and 5 deletions
+8
View File
@@ -4315,6 +4315,14 @@ fn arb_ai_token() -> impl Strategy<Value = String> {
"/x 100 200 TW",
"1 Tq",
"7 Tq",
"1 TV",
"7 TV",
"1 Tv",
"/x Tv",
"1 Ty",
"1e308 Ty",
"1 TY",
"(x) TY",
"1 1 1e308 -1e308 4e9 Th",
"1 1 (2) 3 4 Th",
"36 2 Xb",