fix: register language-specific Noto fallback fonts for non-Latin scripts (#3158)

* fix: use language-specific Noto fonts for CJK PDF fallback

* feat: extend fallback to Arabic/Hebrew/Thai

---------

Co-authored-by: Amruth Pillai <im.amruth@gmail.com>
This commit is contained in:
roberto
2026-06-17 20:37:09 +09:00
committed by GitHub
parent a523e13bfd
commit 2317a82106
6 changed files with 429 additions and 34 deletions
+3 -1
View File
@@ -5,7 +5,7 @@ import type { ComponentType } from "react";
import type { SectionTitleResolver } from "./section-title";
import { useMemo } from "react";
import { RenderProvider } from "./context";
import { registerFonts, resumeContentContainsCJK } from "./hooks/use-register-fonts";
import { registerFonts, resumeContentContainsCJK, resumeContentScripts } from "./hooks/use-register-fonts";
import { Document } from "./renderer";
import { getTemplatePage } from "./templates";
@@ -29,10 +29,12 @@ export const ResumeDocument = ({ data, template, resolveSectionTitle }: ResumeDo
const TemplatePageComponent = getTemplatePage(template);
const creationDate = useMemo(() => new Date(), []);
const hasCjkContent = useMemo(() => resumeContentContainsCJK(data), [data]);
const scripts = useMemo(() => resumeContentScripts(data), [data]);
const typography = registerFonts(
data.metadata.typography,
data.metadata.page.locale as Locale,
hasCjkContent,
scripts,
) as Typography;
// `registerFonts` widens `fontFamily` to `string | string[]` for CJK