^[control-codes live in libghostty-vt

Operating system commands

OSC 710 Set Normal Font

Set rxvt-unicode's normal, bold, italic or bold italic font, or ask for it.

OSC 710 ; Pt ST
ECMA-48
§8.3.89 OSC – Operating System Command, p. 51
Specification
urxvt(7), XTerm Operating System Commands

rxvt-unicode sets its four fonts with four numbers:

NumberFont
OSC 710 ; Pt STnormal, the same as OSC 50
OSC 711 ; Pt STbold
OSC 712 ; Pt STitalic
OSC 713 ; Pt STbold italic

Pt is a font set, as on rxvt-unicode’s command line. OSC 71x ; ? ST asks for one, and the answer, OSC 71x ; font ended the way the request was, gives the font only when rxvt-unicode runs in its insecure mode and is empty otherwise. 711 to 713 need rxvt-unicode built with its styles (urxvt(7)).

A default xterm has no OSC 710 and ignores it (the OSC numbers it knows). The cases follow xterm.

libghostty-vt does not recognize OSC 710 either: its OSC parser in osc.zig has no state for the number, so the string is dropped, and the cases pass. The same holds for 711, 712 and 713.

Support

TerminalVersionSupportNotes
VT220manual, 2nd ed., 1984NoOSC is not among the controls it recognizes (§4.2)
VT510manual, 1st ed., 1993Noignores an OSC string (chapter 4)
xtermpatch 412, xterm-411aNoignored
libghostty-vt83edd49Noignored
Konsole26.11.70, a24c3d71Nonot among the OSC numbers it handles (Vt102Emulation.h)
ConEmubuild 230724, its documentationNonot in its ANSI escape codes
rxvt-unicode9.31, urxvtperl(3)Yes710 to 713; the query is answered only in insecure mode (urxvt(7))

Validation

OSC710-1: Setting a font changes nothing on screen

A
\e]710;xft:monospace:size=12\a
\e]711;xft:monospace:bold\a
B
|AB____|
cursor 1,3
reply none

OSC710-2: A query is not answered

\e]710;?\a\e]713;?\a
|______|
reply none
Every example on these pages runs in your browser, in libghostty-vt compiled to WebAssembly.