Skip to content

markdownPreviewService0.0.5

Choose a tag to compare

@Radiant303 Radiant303 released this 09 Jun 04:47

🚀 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 字体回退序列。