mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-10 20:32:08 +00:00
.ai import: a re-encoded font's own encoding pairs decode its type
In the legacy format, `TZ` makes a re-encoded font from an existing one and can give it encoding pairs of its own, which change only that font's encoding. Its `useDefault` operand says whether the file's `TE` encoding also applies to the font (Adobe Illustrator File Format Specification 7.0, section 3.3.1, https://13thmonkey.org/documentation/fonts/AI7FileFormat.pdf). The reader skipped the body of `%AI3_BeginEncoding` sections and ignored `TZ`, so every string was decoded with `TE`'s encoding. Strings in a re-encoded font are now decoded with its own pairs, then with `TE`'s encoding when `useDefault` is 1, and as Windows-1252 for the codes left. Strings in other fonts keep `TE`'s encoding. The reader reads `TZ` in the body of an `%AI3_BeginEncoding` section and wherever else it appears in the script, with or without the direction operand and the Multiple Master weight vector. The font names are the last two names, and only numbers and the weight vector may follow them; the reader does not use a `TZ` of another shape. The first `TZ` for a font is used. `TZ`'s font names also map the re-encoded font to the font it was made from, as the `%AI3_BeginEncoding` comment does. Type in a re-encoded font that no such comment names now opens in the font `TZ` names; when both name the font, the first one read is used.
This commit is contained in:
@@ -122,6 +122,9 @@ private editing data. VectorCraft:
|
||||
without the prolog opens since #1027, its legacy type (`To` … `TO`) since #868. Graphs (`%_Gs` … `%_GS`)
|
||||
come in as their drawn art, as plain groups, paths and type, without their data or settings, with a note.
|
||||
without the prolog opens since #1027, its legacy type (`To` … `TO`) since #868, with its paragraphs' letter
|
||||
and word spacing (`TC`, `TW`), hanging punctuation (`Tq`) and hyphenation (`Th`). Its type in a font
|
||||
re-encoded with encoding pairs of its own (`TZ`) is decoded with those pairs, and with the file's encoding
|
||||
(`TE`) for the codes they leave out unless the `TZ` sets `useDefault` to 0. Its patterns in
|
||||
and word spacing (`TC`, `TW`), hanging punctuation (`Tq`) and hyphenation (`Th`); its special characters
|
||||
(`TS`) join the story, and end render (`Te`) and pop text matrix (`TM`) are read and ignored. Its patterns in
|
||||
the version 7 form (a list of `@` and `&` layers, `_ &` for the tile's background) open as pattern swatches,
|
||||
|
||||
Reference in New Issue
Block a user