主要观点: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 等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。