From d0dc178e104e38c1804084a413fe8e9fde64bf1c Mon Sep 17 00:00:00 2001 From: Aaron Date: Wed, 14 Jan 2026 19:43:52 +0800 Subject: [PATCH] fix: register default font and optimize isBrowser --- src/utils/is-browser.ts | 12 +++--------- src/utils/measure-text.ts | 5 +---- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/src/utils/is-browser.ts b/src/utils/is-browser.ts index 1d44fc9e0..f4a01fc66 100644 --- a/src/utils/is-browser.ts +++ b/src/utils/is-browser.ts @@ -1,18 +1,14 @@ -let _isBrowser: boolean | undefined; +let IS_BROWSER: true | undefined; export function isBrowser(): boolean { - if (_isBrowser !== undefined) { - return _isBrowser; - } + if (IS_BROWSER) return true; if (typeof window === 'undefined' || typeof document === 'undefined') { - _isBrowser = false; return false; } const body = document.body; if (!body) { - _isBrowser = false; return false; } @@ -47,7 +43,6 @@ export function isBrowser(): boolean { } if (!hasRealLayout) { - _isBrowser = false; return false; } @@ -59,7 +54,6 @@ export function isBrowser(): boolean { const ctx = canvas.getContext('2d'); if (!ctx) { - _isBrowser = false; return false; } @@ -74,6 +68,6 @@ export function isBrowser(): boolean { hasRealCanvas = false; } - _isBrowser = hasRealCanvas; + if (hasRealCanvas) IS_BROWSER = hasRealCanvas; return hasRealCanvas; } diff --git a/src/utils/measure-text.ts b/src/utils/measure-text.ts index 961296604..d22b6daaa 100644 --- a/src/utils/measure-text.ts +++ b/src/utils/measure-text.ts @@ -4,7 +4,6 @@ import { JSXNode, TextProps } from '../jsx'; import { DEFAULT_FONT } from '../renderer'; import { encodeFontFamily } from './font'; import { isBrowser } from './is-browser'; -import { isNode } from './is-node'; let FONT_EXTEND_FACTOR = 1.01; @@ -12,9 +11,7 @@ export const setFontExtendFactor = (factor: number) => { FONT_EXTEND_FACTOR = factor; }; -if (isNode) { - registerFont(AlibabaPuHuiTi); -} +registerFont(AlibabaPuHuiTi); let canvasContext: CanvasRenderingContext2D | null = null; let measureSpan: HTMLSpanElement | null = null;