diff --git a/app/assets/fonts/NotoSansSC-Regular.ttf b/app/assets/fonts/NotoSansSC-Regular.ttf new file mode 100644 index 0000000..7a5b15d Binary files /dev/null and b/app/assets/fonts/NotoSansSC-Regular.ttf differ diff --git a/app/controllers/report.controller.js b/app/controllers/report.controller.js index fb4ebf1..a9c3f90 100644 --- a/app/controllers/report.controller.js +++ b/app/controllers/report.controller.js @@ -47,7 +47,8 @@ const findTemplatePathBySite = (site) => { const findUnicodeFontPath = (site) => { const safeSite = [1, 2, 3].includes(Number(site)) ? Number(site) : 1; - const primaryFileName = "NotoSansSC-VF.ttf"; + const primaryFileName = "NotoSansSC-Regular.ttf"; + const secondaryFileName = "NotoSansSC-VF.ttf"; const fallbackFileName = "NotoSansCJKsc-Regular.otf"; const cwd = process.cwd(); const candidatePaths = [ @@ -62,6 +63,17 @@ const findUnicodeFontPath = (site) => { path.join("/www/wwwroot/upload", primaryFileName), path.join(`/www/wwwroot/worldshine${safeSite}`, "app", "assets", "fonts", primaryFileName), path.join(`/www/wwwroot/worldshine${safeSite}-tspt`, "app", "assets", "fonts", primaryFileName), + path.join(ROOT_DIR, "app", "assets", "fonts", secondaryFileName), + path.join(ROOT_DIR, "app", "views", "upload", secondaryFileName), + path.join(ROOT_DIR, "client", "build", "upload", secondaryFileName), + path.join(ROOT_DIR, "client", "public", "upload", secondaryFileName), + path.join(cwd, "app", "assets", "fonts", secondaryFileName), + path.join(cwd, "app", "views", "upload", secondaryFileName), + path.join(cwd, "client", "build", "upload", secondaryFileName), + path.join(cwd, "client", "public", "upload", secondaryFileName), + path.join("/www/wwwroot/upload", secondaryFileName), + path.join(`/www/wwwroot/worldshine${safeSite}`, "app", "assets", "fonts", secondaryFileName), + path.join(`/www/wwwroot/worldshine${safeSite}-tspt`, "app", "assets", "fonts", secondaryFileName), path.join(ROOT_DIR, "app", "assets", "fonts", fallbackFileName), path.join(ROOT_DIR, "app", "views", "upload", fallbackFileName), path.join(ROOT_DIR, "client", "build", "upload", fallbackFileName), @@ -290,7 +302,7 @@ exports.exportRouteReportZip = async (req, res) => { return res.status(500).send({ message: `Missing PDF template for site ${site}.` }); } if (!unicodeFontPath) { - return res.status(500).send({ message: "Missing Unicode font file: NotoSansSC-VF.ttf" }); + return res.status(500).send({ message: "Missing Unicode font file: NotoSansSC-Regular.ttf" }); } const [routes, drivers, vehicles] = await Promise.all([ diff --git a/client/scripts/copy-route-report-templates.js b/client/scripts/copy-route-report-templates.js index c966c95..91d498b 100644 --- a/client/scripts/copy-route-report-templates.js +++ b/client/scripts/copy-route-report-templates.js @@ -5,7 +5,7 @@ const rootDir = path.resolve(__dirname, ".."); const sourceDir = path.join(rootDir, "public", "upload"); const targetDir = path.join(rootDir, "build", "upload"); const templates = ["pdf_templete1.pdf", "pdf_templete2.pdf", "pdf_templete3.pdf"]; -const unicodeFontFiles = ["NotoSansSC-VF.ttf", "NotoSansCJKsc-Regular.otf"]; +const unicodeFontFiles = ["NotoSansSC-Regular.ttf", "NotoSansSC-VF.ttf", "NotoSansCJKsc-Regular.otf"]; if (!fs.existsSync(targetDir)) { fs.mkdirSync(targetDir, { recursive: true });