mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-28 19:57:05 -06:00
Type: Character Alignment on the ICF top and bottom (ideographic character face)
Character panel menu › Character Alignment gains ICF Top/Right and ICF Bottom/Left, and `charAlign` takes `icfTop` / `icfBottom`: a character smaller than the largest on its line lines up its ideographic character face's top (right, vertical) or bottom (left) with the big one's. `FontFace::icf_margins` places the ICF inside the em box as the OpenType baseline tags define it (https://learn.microsoft.com/en-us/typography/opentype/spec/baselinetags): `icfb` / `icft` of the BASE table's horizontal and vertical axes against `ideo` / `idtp` (else the OS/2 typographic descender and one em), for Han ideographs (else kana, else the first script). Without them, as that page allows, the average ink box of some ideographs and kana; a face without ideographs uses its em box. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
8b81d58845
commit
4411688b3d
+13
@@ -2274,6 +2274,19 @@ undo step.
|
||||
{"name":"run_command","arguments":{"command":"text.setFormat","params":{"burasagari":"forced"}}}
|
||||
```
|
||||
|
||||
## Character Alignment
|
||||
|
||||
`text.setFormat {charAlign}` (the selected type, or `ids`) and `text.setRangeStyle {id, start, end, charAlign}` (a range)
|
||||
set where characters smaller than the largest on their line line up with it: `romanBaseline` (the default), the em box's
|
||||
`emBoxTop`, `emBoxCenter` or `emBoxBottom`, or the ideographic character face's (ICF) `icfTop` or `icfBottom`. In
|
||||
vertical type top and bottom are the right and left of the column. The ICF comes from the font's BASE table (`icfb`,
|
||||
`icft`, as the OpenType baseline tags define them), else from the average ink box of some ideographs and kana; a font
|
||||
without ideographs uses its em box. One undo step.
|
||||
|
||||
```json
|
||||
{"name":"run_command","arguments":{"command":"text.setFormat","params":{"charAlign":"icfTop"}}}
|
||||
```
|
||||
|
||||
## New type in a Japanese interface
|
||||
|
||||
While the interface is in Japanese (VectorCraft › Language, or `auto` on a Japanese system), new type starts with em
|
||||
|
||||
Reference in New Issue
Block a user