From 484155ca89ee84d550ac95ea0da1c3b92bb7d44f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 15 Jan 2025 12:21:48 +0530 Subject: [PATCH] Start work on documenting text sizing protocol --- docs/protocol-extensions.rst | 1 + docs/text-sizing-protocol.rst | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 docs/text-sizing-protocol.rst diff --git a/docs/protocol-extensions.rst b/docs/protocol-extensions.rst index 52ca6cf8e..68c3d34fd 100644 --- a/docs/protocol-extensions.rst +++ b/docs/protocol-extensions.rst @@ -27,6 +27,7 @@ please do so by opening issues in the `GitHub bug tracker underlines graphics-protocol keyboard-protocol + text-sizing-protocol file-transfer-protocol desktop-notifications pointer-shapes diff --git a/docs/text-sizing-protocol.rst b/docs/text-sizing-protocol.rst new file mode 100644 index 000000000..ba5425aa1 --- /dev/null +++ b/docs/text-sizing-protocol.rst @@ -0,0 +1,23 @@ +The text sizing protocol +============================================== + +Classically, because the terminal is a grid of equally spaced characters, only +a single text size was supported in terminals, with one minor exception, some +characters were allowed to be rendered in two cells, to accommodate East Asian +square aspect ratio characters and Emoji. Here by single text size we mean the +font size of all text on the screen is the same. + +This protocol allows text to be displayed in the terminal in different sizes +both larger and smaller than the base text. It also solves the long standing +problem of robustly determining the width (in cells) a character should have. +Applications can interleave text of different sizes on the screen allowing for +typographic niceties like headlines, superscripts, etc. + +Note that this protocol is fully backwards compatible, terminals that implement +it will continue to work just the same with applications that do not use it. +Because of this, it is not fully flexible in the font sizes it allows, as it +still has to work with the grid based character cell fundamental nature of the +terminal. + +Quickstart +--------------