diff --git a/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_10.cpfont b/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_10.cpfont deleted file mode 100644 index 74071f82..00000000 Binary files a/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_10.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_12.cpfont b/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_12.cpfont deleted file mode 100644 index d34e6a9c..00000000 Binary files a/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_12.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_14.cpfont b/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_14.cpfont deleted file mode 100644 index 4dcc204e..00000000 Binary files a/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_14.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_16.cpfont b/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_16.cpfont deleted file mode 100644 index 319e8881..00000000 Binary files a/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_16.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_18.cpfont b/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_18.cpfont deleted file mode 100644 index 2a1650ad..00000000 Binary files a/assets/sd-fonts/NotoSansArmenian/NotoSansArmenian_18.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_10.cpfont b/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_10.cpfont deleted file mode 100644 index 0c69b7a8..00000000 Binary files a/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_10.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_12.cpfont b/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_12.cpfont deleted file mode 100644 index 639c0f3f..00000000 Binary files a/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_12.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_14.cpfont b/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_14.cpfont deleted file mode 100644 index d42b07b5..00000000 Binary files a/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_14.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_16.cpfont b/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_16.cpfont deleted file mode 100644 index afb1bd5f..00000000 Binary files a/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_16.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_18.cpfont b/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_18.cpfont deleted file mode 100644 index fcec5c9f..00000000 Binary files a/assets/sd-fonts/NotoSansEthiopic/NotoSansEthiopic_18.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_10.cpfont b/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_10.cpfont deleted file mode 100644 index d8541f25..00000000 Binary files a/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_10.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_12.cpfont b/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_12.cpfont deleted file mode 100644 index 0ed038b4..00000000 Binary files a/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_12.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_14.cpfont b/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_14.cpfont deleted file mode 100644 index 8684a145..00000000 Binary files a/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_14.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_16.cpfont b/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_16.cpfont deleted file mode 100644 index 93b95a75..00000000 Binary files a/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_16.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_18.cpfont b/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_18.cpfont deleted file mode 100644 index bc495fea..00000000 Binary files a/assets/sd-fonts/NotoSansGeorgian/NotoSansGeorgian_18.cpfont and /dev/null differ diff --git a/assets/sd-fonts/NotoSansHangul/NotoSansHangul_10.cpfont b/assets/sd-fonts/NotoSansHangul/NotoSansHangul_10.cpfont deleted file mode 100644 index 79d4862c..00000000 Binary files a/assets/sd-fonts/NotoSansHangul/NotoSansHangul_10.cpfont and /dev/null differ diff --git a/lib/EpdFont/scripts/build-sd-fonts.py b/lib/EpdFont/scripts/build-sd-fonts.py index 30e1c8f1..ec29a763 100644 --- a/lib/EpdFont/scripts/build-sd-fonts.py +++ b/lib/EpdFont/scripts/build-sd-fonts.py @@ -173,13 +173,13 @@ def build_family(family: dict, output_base: Path) -> tuple[str, bool, str]: cmd, capture_output=True, text=True, - timeout=600, + timeout=1200, ) if result.returncode != 0: return name, False, result.stderr.strip() or f"Exit code {result.returncode}" return name, True, "" except subprocess.TimeoutExpired: - return name, False, "Timed out after 600s" + return name, False, "Timed out after 1200s" except Exception as e: return name, False, str(e) diff --git a/lib/EpdFont/scripts/sd-fonts.yaml b/lib/EpdFont/scripts/sd-fonts.yaml index 876dc43d..1f94d015 100644 --- a/lib/EpdFont/scripts/sd-fonts.yaml +++ b/lib/EpdFont/scripts/sd-fonts.yaml @@ -254,40 +254,3 @@ families: sizes: [10, 12, 14, 16, 18] styles: regular: {url: "https://github.com/notofonts/noto-cjk/raw/main/Sans/OTF/Korean/NotoSansCJKkr-Regular.otf"} - - # ── Additional scripts (no complex shaping needed) ───────────────────── - - - name: NotoSansArmenian - description: "Armenian script" - intervals: armenian - sizes: [10, 12, 14, 16, 18] - styles: - regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/notosansarmenian/NotoSansArmenian%5Bwdth%2Cwght%5D.ttf", variable: {wght: 400, wdth: 100}} - - - name: NotoSansGeorgian - description: "Georgian script" - intervals: georgian - sizes: [10, 12, 14, 16, 18] - styles: - regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/notosansgeorgian/NotoSansGeorgian%5Bwdth%2Cwght%5D.ttf", variable: {wght: 400, wdth: 100}} - - - name: NotoSansEthiopic - description: "Ethiopic/Ge'ez script" - intervals: ethiopic - sizes: [10, 12, 14, 16, 18] - styles: - regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/notosansethiopic/NotoSansEthiopic%5Bwdth%2Cwght%5D.ttf", variable: {wght: 400, wdth: 100}} - - - name: NotoSansCherokee - description: "Cherokee syllabary" - intervals: cherokee - sizes: [10, 12, 14, 16, 18] - styles: - regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/notosanscherokee/NotoSansCherokee%5Bwght%5D.ttf", variable: {wght: 400}} - - - name: NotoSansTifinagh - description: "Tifinagh script" - intervals: tifinagh - sizes: [10, 12, 14, 16, 18] - styles: - regular: {url: "https://raw.githubusercontent.com/google/fonts/main/ofl/notosanstifinagh/NotoSansTifinagh-Regular.ttf"} \ No newline at end of file diff --git a/src/activities/settings/FontDownloadActivity.cpp b/src/activities/settings/FontDownloadActivity.cpp index dc6f35c5..ccdb4f3f 100644 --- a/src/activities/settings/FontDownloadActivity.cpp +++ b/src/activities/settings/FontDownloadActivity.cpp @@ -222,6 +222,13 @@ void FontDownloadActivity::downloadFamily(ManifestFamily& family) { char stagedPath[128]; snprintf(stagedPath, sizeof(stagedPath), "%s/%s", stagingDir, file.name.c_str()); + // Make sure parent directories exist for the file + std::string stagedPathStr(stagedPath); + size_t lastSlash = stagedPathStr.find_last_of('/'); + if (lastSlash != std::string::npos) { + Storage.mkdir(stagedPathStr.substr(0, lastSlash).c_str()); + } + std::string url = baseUrl_ + file.name; auto result = HttpDownloader::downloadToFile(url, stagedPath, [this](size_t downloaded, size_t total) {