markdownPreviewService0.0.5
🚀 v0.0.5 - Typography Engine Overhaul & Monospace Code Layout
本版本对底层的 SVG 渲染引擎进行了深度重构,彻底告别了粗暴的内联标签拼接,引入了更具现代工程感的 结构化排版设计。同时大幅优化了代码块的排版表现,并完善了多字体回退机制。
🛠️ 核心更新日志 (Changelog)
1. 🏗️ 基于 cosmic-text 的结构化排版重构
- 阵痛告别:重构了旧版本中通过简单的字符串拼接逻辑(内联 XML 标签)处理富文本的混乱模式。
- 全新架构:引入结构化的
TextRun数据建模。段落、加粗、斜体、行内代码与数学公式均被抽象为独立的文本片段流。 - 专业级排版:全面接入
cosmic-text文本排版引擎,支持精准的跨平台文本测量(Text Measurement)与布局计算,规避了文本越界与重叠问题。
2. 💻 代码块渲染管道升级(先高亮,后按宽折行)
- 流水线优化:调整了代码块的渲染顺序,改为 先调用
syntect进行词法高亮,再通过排版引擎根据画布剩余宽度(code_area_w)进行动态折行计算。 - 完美对齐:通过
xml:space="preserve"精确保留原始缩进,杜绝了超长代码溢出画布或高亮标签在换行时断开的 Bug。 - 视觉微调:微调了代码块容器的顶部间距(
+ 16.0),让整体排版视觉呼吸感更均衡。
3. 🔤 新增等宽字体(Monospace)展示效果
- 统一风格:代码块字体族(
font-family)同步对齐顶栏日期的全套 CJK 字体回退序列。