GitHub - memononen/Skribidi:用于用户界面的灵活双向文本栈

主要观点:Skribidi 是用于构建 UIs 的灵活双向文本栈,涵盖双向文本布局、编辑等诸多功能,且依赖较精简,试图解决 UI 中的文本栈问题而不引入大型依赖。
关键信息

  • 依赖 Harfbuzz 进行文本塑造和访问字体数据等,SheenBidi 用于双向分割等,libunibreak 用于字素和换行检测等,均为宽松许可且依赖精简。
  • 处于起步阶段,API 可能变化,有构建步骤(安装 CMake 等),示例和测试运行时工作目录应为构建二进制目录。
  • 许可证为 MIT 许可证,有类似或相关项目如 Pango、Cosmic Text 等,示例使用 IBM Plex Sans 等字体。
    重要细节
  • 功能包括双向文本布局、编辑、字体集合选择、颜色 emoji、换行、文本属性等,图标有 PicoSVG 或程序生成,支持 glyph、emoji 和图标光栅化及渲染缓存等。
  • 构建时在不同系统下有不同操作,如 Windows 打开并构建build/skribidi.sln,Linux 使用cmake --build. -j$(nproc),macOS 使用cmake --build. -j$(sysctl -n hw.ncpu)
  • 依赖包括特定版本的 Harfbuzz、SheenBidi、libunibreak 和 budouxc 等。示例使用多种字体如 IBM Plex Sans、Noto 等。
阅读 10
0 条评论