From 8e95382a593d37b0653466a59fd1deff7894d455 Mon Sep 17 00:00:00 2001 From: Jeffrey Chen <78434827+TCOTC@users.noreply.github.com> Date: Sat, 8 Nov 2025 00:11:03 +0800 Subject: [PATCH] :art: Improve line number rendering by copying font styles --- app/src/protyle/render/highlightRender.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/protyle/render/highlightRender.ts b/app/src/protyle/render/highlightRender.ts index 6385099d9..23d495a7b 100644 --- a/app/src/protyle/render/highlightRender.ts +++ b/app/src/protyle/render/highlightRender.ts @@ -141,11 +141,16 @@ export const lineNumberRender = (block: HTMLElement, zoom = 1) => { const lineNumberTemp = document.createElement("div"); lineNumberTemp.className = "hljs"; // 不能使用 codeElement.clientWidth,被忽略小数点导致宽度不一致 + // 需要手动复制字体样式 https://ld246.com/article/1762527296449 lineNumberTemp.setAttribute("style", `padding-left:${codeElement.style.paddingLeft}; width: ${codeElement.getBoundingClientRect().width / zoom}px; white-space:${codeElementStyle.whiteSpace}; word-break:${codeElementStyle.wordBreak}; font-variant-ligatures:${codeElementStyle.fontVariantLigatures}; +font-family:${codeElementStyle.fontFamily}; +font-size:${codeElementStyle.fontSize}; +line-height:${codeElementStyle.lineHeight}; +font-weight:${codeElementStyle.fontWeight}; padding-right:0;max-height: none;box-sizing: border-box;position: absolute;padding-top:0 !important;padding-bottom:0 !important;min-height:auto !important;`); lineNumberTemp.setAttribute("contenteditable", "true"); block.insertAdjacentElement("afterend", lineNumberTemp);