Legacy .ai: type keeps Standard Vertical Roman Alignment and Tate-chu-yoko

Horizontal type keeps both marks, and the legacy .ai writer writes such
type as text, but the marks were dropped without a warning. Version 7
text has operators for both (section 15.3.4 of the published format
specification): Tv for Roman characters upright in vertical writing,
and TY for a Kumi block in horizontal text recorded for later vertical
use. The writer now writes 1 Tv and 0 Tv, and 1 TY and 0 TY, where a
run's mark changes, closes an open Kumi block before the text object
ends, and writes neither operator for type without the marks. The
legacy .ai reader reads both back onto the same characters. The prolog
defines Tv and TY so the file still runs as PostScript.
This commit is contained in:
dotCooCoo
2026-11-12 01:08:24 -08:00
parent eb608bb8b5
commit cdcac345a9
5 changed files with 80 additions and 4 deletions
+2 -1
View File
@@ -155,7 +155,8 @@ private editing data. VectorCraft:
under them, clipped to where they show, along a smooth outline traced at the image's own resolution; that art stays) or omitted (Transparent Images,
`transparentImages: "flatten"|"omit"`). Type is written as editable text objects (point type, area type and type
on a path, with their fonts' PostScript names, sizes, colours, alignment, indents, leading, tracking and
scaling), which the reading app sets in those fonts; characters outside Windows-1252, vertical type, ruby, inline
scaling, and the Standard Vertical Roman Alignment and Tate-chu-yoko marks as `Tv` and `TY`), which the reading
app sets in those fonts; characters outside Windows-1252, vertical type, ruby, inline
graphics and gradient or pattern fills make that type outlines, and so do rotated characters (Character Rotation,
which a version 7 text object can't hold: the outlines keep the rotation, and the type is no longer editable text
in the file), and Text: Outlines (`outlineText: true`) writes