Skip to content

Unicode Core specification for Terminal (grapheme clusters, character widths, ...)

Notifications You must be signed in to change notification settings

contour-terminal/terminal-unicode-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terminal Unicode Core Specification

IMPORTANT: THIS PROJECT IS IN ALPHA STAGE & ACTIVE DEVELOPMENT

Let's make Unicode support in terminal emulators better -not perfect- but better.

For that I'd like to introduce a small spec that at least tries to tackle some basics that would greatly help user experience.

Of course, the terminal emulator is not enough, terminal applications have to catch up, too. But without support from terminals, the applications cannot even start doing so. This project tries to fix that.

Goal of this project repository

It would be nice if this repository serves as a communication hub for improving this spec that ideally enough terminal emulators will adopt, so we could call this the future extension for terminals.

How to contribute

Everybodies point of view is valuable, whether terminal emulator developer, terminal application or toolkit developer, or a user.

While getting this spec in shape, I'd like to get your feedback to find a common concensus that most of us can agree on with the goal to get an adoption as broad as possible.

Sure, this won't happen in a day or in a year. But someone has to start at some point, so more can follow.

This spec is NOT

  • attempting to bring full Unicode support to the terminal
  • planning to get Unicode BiDi support formalized (mlterm could be doing that much better :) )
  • tackle every other niche aspect of Unicode.

This spec will

  • enable users to make use of programming ligatures and Emoji without sacrifice.
  • have legacy applications as well as newer ones respecting this spec compatible in one terminal.

Roadmap

  • create CI job for auto-generating PDF/markdown of the latest draft to be downloadable
  • create CI job for providing prereleases of the draft specification.
  • Move Changelog into .tex file and let CI's release.yml extract it from there
  • Create Github pages that have an auto-generated PDF/markdown version of this specification.
  • Hopefully get enough terminal and TUI app devs attracted to collaborate in a positive, friendly, and productive manner.

FAQ

  • Why LaTeX and not Markdown? Expressivity and the fact that you can convert to Markdown: https://pandoc.org/demos.html
  • Why GitHub and not GitLab on freedesktop? Better reachability.