Turbo Vision 2.0 - A Modern Port
Key point
Turbo Vision 2.0 has significantly strengthened its support for UTF-8, Unicode, and 24-bit color.
Details
Turbo Vision 2.0 is a modernized port of the classic text UI framework rewritten for Linux and Windows, centered on UTF-8, Unicode input/display, and 24-bit color.
While maintaining maximum source-code-level compatibility with existing Turbo Vision apps, the library absorbs terminal differences internally so that the char-based API can continue to be used.
The key changes are as follows.
- Handling of double-width characters, combining characters, and multibyte shortcuts
- Basic widgets provided, including menus, dialogs, input boxes, and scrollbars
- Support for the event loop, timers, clipboard, mouse wheel, and resizing
TEditor's UTF-8 mode, handling of files over 64 KiB, and LF line break handling- Operates on ncurses for Unix and the Win32 Console API for Windows
- Integration with the system clipboard, OSC 52, far2l, the kitty keyboard protocol, and more
The API has also been expanded. Types such as TStringView, TSpan, TClipboard, and TDrawSurface have been added, along with functions for handling asynchronous input and timers such as TEventQueue::wakeUp(), setTimer(), and TView::getEvent(..., timeoutMs).
On the screen-drawing side, TDrawBuffer::moveStr() processes strings according to Unicode rules, and the existing approach of copying to temporary buffers has been reduced, lowering the risk of multibyte boundary issues and buffer overruns.
This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.
Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.