Notcurses丰富的字符图形/TUI 库

联合创作 · 2023-09-28

Notcurses 是一个用于在现代终端模拟器上构建复杂、生动的文本用户界面 (TUI) 的库。最大限度地支持鲜艳的颜色、多媒体、线程和 Unicode。

用 Notcurses 可以做一些用 NCurses 根本做不到的事情。此外,它还很快。它不是一个源代码兼容的 X/Open Curses 实现,也不是现有系统上 NCurses 的替代品。

Notcurses 是用 C 语言编写的,带有 C++-safe headers。Rust、C++ 和 Python wrappers 都可以使用。

Notcurses 放弃了作为单一 UNIX 规范的一部分而捆绑的 X/Open Curses API。因此,Notcurses 并不是一个直接的 Curses 替代品。只要有可能,Notcurses 就会使用 NCurses 提供的 Terminfo 库,并从其可移植性和彻底性中获益良多。

Notcurses 为工作站、手机、笔记本电脑和平板电脑上的交互式用户开辟了高级功能,可能以牺牲某些工业和零售终端为代价。从根本上说,Curses 假定最低限度,并允许你(通过努力)提高;而 Notcurses 假定最大限度,并在必要时(自己)降低。后一种方法可能会在一些旧硬件上发生故障,但前一种方法的结果是新软件看起来像旧硬件。

特性:

  • 终端功能的高级和广泛的运行时查询
  • 在可用的情况下可选使用“alternate screen”(enter_ca_mode / exit_ca_mode terminfo 功能)
  • 所有 API 均原生使用 24 位 8bpc RGB 颜色
    • 颜色被量化为索引调色板终端
  • 透明/半透明加动态高对比度文字
    • 较低的平面会影响较高的半透明平面的颜色
    • Sprites
  • 完全支持 Unicode,包括宽字形和双向文本
  • 通过 ffmpeg 或 OpenImageIO 支持图像/视频
  • 子区域淡入/淡出,文本脉冲
  • 用于为几何对象着色的 Linear interpolation 
  • 多单元和像素 blitters,旋转和任意缩放

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报