From 609dbae864773d1e58196539df0a3a35051a5733 Mon Sep 17 00:00:00 2001 From: Polish Hammer Date: Wed, 20 Aug 2025 21:21:09 +0200 Subject: [PATCH] refix --- dj_debug_fonts.sh | 40 --------- dj_fonts_system_install.sh | 141 ++++++++++++++++++++++++++++++ dj_oneclick_fix.sh | 40 --------- fontget.sh | 98 +++++++++++++++++++++ fonts/CinzelDecorative-Black.ttf | Bin 0 -> 62692 bytes fonts/EBGaramond-Initials.ttf | 0 fonts/IMFellEnglishSC-Regular.ttf | 0 7 files changed, 239 insertions(+), 80 deletions(-) delete mode 100644 dj_debug_fonts.sh create mode 100755 dj_fonts_system_install.sh delete mode 100644 dj_oneclick_fix.sh create mode 100644 fontget.sh create mode 100644 fonts/CinzelDecorative-Black.ttf create mode 100644 fonts/EBGaramond-Initials.ttf create mode 100644 fonts/IMFellEnglishSC-Regular.ttf diff --git a/dj_debug_fonts.sh b/dj_debug_fonts.sh deleted file mode 100644 index f3557a4..0000000 --- a/dj_debug_fonts.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -exists() { command -v "$1" >/dev/null 2>&1; } - -echo "[i] Checking environment..." -for c in fc-list pdffonts tectonic; do - if ! exists "$c"; then - echo " - $c: NOT FOUND (optional but recommended: sudo apt install -y fontconfig poppler-utils tectonic)" - else - echo " - $c: OK" - fi -done - -echo "[i] Listing local ./fonts content:" -ls -l ./fonts 2>/dev/null || echo " (no ./fonts directory)" - -if exists fc-list; then - echo "[i] System fonts (grep Garamond|Cinzel|FELL):" - fc-list | grep -Ei "Garamond|Cinzel|Fell" || echo " (none found in system)" -fi - -pdfs=(dj_cheat_sheet_transitions.pdf dj_tracklist.pdf dj_mini_sheet.pdf dj_notes.pdf dj_setup_mapping.pdf dj_one_laptop_fallback.pdf dj_rider.pdf dj_podrecznik.pdf) -if exists pdffonts; then - for p in "${pdfs[@]}"; do - [ -f "$p" ] || continue - echo "[i] Fonts embedded in $p:" - pdffonts "$p" || true - done -else - echo "[!] pdffonts not installed; cannot list embedded fonts." -fi - -echo "[i] Grepping last Tectonic log (if any .log files exist)..." -logs=$(ls -1 *.log 2>/dev/null || true) -if [ -n "$logs" ]; then - grep -Ei "fontspec|warning|not found" *.log || echo " (no relevant warnings)" -else - echo " (no .log files)" -fi diff --git a/dj_fonts_system_install.sh b/dj_fonts_system_install.sh new file mode 100755 index 0000000..aa59423 --- /dev/null +++ b/dj_fonts_system_install.sh @@ -0,0 +1,141 @@ +#!/usr/bin/env bash +# System-wide install & verify (Debian/RPi): +# - EB Garamond (APT) +# - Cinzel Decorative Black (RAW TTF) +# - IM Fell English SC (gstatic/RAW) +# No TeX build here. Very verbose + clear final report. + +set -Eeuo pipefail + +SUDO=sudo; [ "$(id -u)" -eq 0 ] && SUDO= +log(){ echo -e "[+] $*"; } +warn(){ echo -e "[WARN] $*" >&2; } +die(){ echo -e "[FATAL] $*" >&2; exit 1; } + +need(){ command -v "$1" >/dev/null 2>&1 || die "Missing tool: $1"; } +fetch(){ + local url="$1" out="$2" + if command -v wget >/dev/null 2>&1; then + log "wget -> $url" + wget -O "$out" --https-only --no-verbose "$url" + else + log "curl -> $url" + curl -L --fail --show-error --output "$out" "$url" + fi +} + +# ---- detection using fc-list families (robust, no PCRE) ---- +fc_families_lower() { + fc-list -f '%{family}\n' \ + | tr ',' '\n' \ + | sed 's/^[[:space:]]*//; s/[[:space:]]*$//' \ + | tr '[:upper:]' '[:lower:]' \ + | sort -u +} +has_family_re() { # $1 = POSIX ERE anchored-at-start pattern (lowercase) + fc_families_lower | grep -Eiq "$1" +} + +# ---- prereqs ---- +for t in fc-cache fc-list grep sed awk; do need "$t"; done +command- v wget >/dev/null 2>&1 || command -v curl >/dev/null 2>&1 || die "Need wget or curl" + +SYSTEM_DIR="/usr/local/share/fonts/dj" +DIR_CINZEL="$SYSTEM_DIR/cinzel-decorative" +DIR_IMFELL="$SYSTEM_DIR/im-fell-english-sc" +$SUDO mkdir -p "$DIR_CINZEL" "$DIR_IMFELL" + +echo "=== APT phase (EB Garamond) ===" +if command -v apt-get >/dev/null 2>&1; then + $SUDO apt-get update -y || warn "apt update failed (continuing)" + if $SUDO apt-get install -y --no-install-recommends fonts-ebgaramond; then + log "installed: fonts-ebgaramond" + else + warn "apt install failed: fonts-ebgaramond" + fi +else + warn "apt-get not found — skipping" +fi + +echo +log "Families BEFORE web fallback (sample grep):" +fc-list | grep -Ei "Garamond|Cinzel|Fell" || echo " (none)" + +echo +echo "=== Web fallback (system-wide to $SYSTEM_DIR) ===" + +# --- Cinzel Decorative Black --- +CINZEL_TTF="$DIR_CINZEL/CinzelDecorative-Black.ttf" +if ! has_family_re '^cinzel decorative( |$)'; then + fetch "https://github.com/google/fonts/raw/main/ofl/cinzeldecorative/CinzelDecorative-Black.ttf" "$CINZEL_TTF" || warn "Cinzel Decorative Black download failed" + [ -s "$CINZEL_TTF" ] && $SUDO chmod 0644 "$CINZEL_TTF" +else + log "Cinzel Decorative already present." +fi + +# --- IM Fell English SC --- +IMFELL_TTF="$DIR_IMFELL/IMFeENsc.ttf" +if ! has_family_re '^im fell english sc( |$)'; then + # Try known gstatic TTFs (stable direct links) + for u in \ + "https://fonts.gstatic.com/s/imfellenglishsc/v7/h3Tn6yWfw4b5qaLD1RWvz5ATixNthKRRR1XVH3rJNiw.ttf" \ + "https://fonts.gstatic.com/s/imfellenglishsc/v6/h3Tn6yWfw4b5qaLD1RWvz5ATixNthKRRR1XVH3rJNiw.ttf" + do + if fetch "$u" "$IMFELL_TTF"; then + [ -s "$IMFELL_TTF" ] && { $SUDO chmod 0644 "$IMFELL_TTF"; log "IM Fell SC from gstatic OK"; break; } + fi + done + # Secondary RAW in google/fonts (names changed over time) + if [ ! -s "$IMFELL_TTF" ]; then + for u in \ + "https://github.com/google/fonts/raw/main/ofl/imfellenglishsc/IMFeENsc28P.ttf" \ + "https://github.com/google/fonts/raw/main/ofl/imfellenglishsc/IMFellEnglishSC-Regular.ttf" + do + if fetch "$u" "$IMFELL_TTF"; then + [ -s "$IMFELL_TTF" ] && { $SUDO chmod 0644 "$IMFELL_TTF"; log "IM Fell SC from google/fonts RAW OK"; break; } + fi + done + fi + # Minimal mirror fallback (only if naprawdę trzeba) + if [ ! -s "$IMFELL_TTF" ]; then + for u in \ + "https://www.wfonts.com/download/data/2016/06/14/im-fell-english-sc/IMFeENsc28P.ttf" \ + "https://www.1001freefonts.com/d/6800/IMFeENsc28P.ttf" + do + fetch "$u" "$IMFELL_TTF" || true + [ -s "$IMFELL_TTF" ] && { $SUDO chmod 0644 "$IMFELL_TTF"; log "IM Fell SC from mirror OK"; break; } + done + fi + [ -s "$IMFELL_TTF" ] || warn "IM Fell English SC still missing." +else + log "IM Fell English SC already present." +fi + +echo +log "Fix perms & rebuild cache..." +$SUDO find "$SYSTEM_DIR" -type f -size 0 -print -delete || true +$SUDO find "$SYSTEM_DIR" -type f \( -name "*.ttf" -o -name "*.otf" \) -exec chmod 0644 {} \; || true +$SUDO find "$SYSTEM_DIR" -type d -exec chmod 0755 {} \; || true +$SUDO fc-cache -f -v >/dev/null || warn "fc-cache returned non-zero" + +# ---- FINAL REPORT ---- +echo +log "FINAL STATUS (fc-list families & file presence)" +families="$(fc_families_lower)" + +report(){ + local label="$1" fam_re="$2" file_hint="$3" + local fam_ok file_ok="n/a" + if echo "$families" | grep -Eiq "$fam_re"; then fam_ok="OK"; else fam_ok="MISSING"; fi + if [ -n "$file_hint" ]; then + if [ -s "$file_hint" ]; then file_ok="yes"; else file_ok="no"; fi + fi + printf " %-22s : families=%-8s file=%-3s (%s)\n" "$label" "$fam_ok" "$file_ok" "${file_hint:-no-file-hint}" +} + +report "EB Garamond" '^eb garamond( |$)' "" # from APT +report "Cinzel Decorative" '^cinzel decorative( |$)' "$CINZEL_TTF" +report "IM Fell English SC" '^im fell english sc( |$)' "$IMFELL_TTF" + +echo +log "Done. (Run your LaTeX pipeline next.)" diff --git a/dj_oneclick_fix.sh b/dj_oneclick_fix.sh deleted file mode 100644 index 2f025d8..0000000 --- a/dj_oneclick_fix.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -need() { command -v "$1" >/dev/null 2>&1 || { echo "Missing: $1" >&2; exit 1; }; } - -echo "[+] Checking tools..." -need wget -need unzip -need tectonic || { echo "Install tectonic first (e.g. sudo apt install tectonic)"; exit 1; } - -mkdir -p fonts - -echo "[+] Downloading EB Garamond (Initials) to ./fonts ..." -tmpzip="/tmp/ebgaramond.zip" -wget -q -O "$tmpzip" https://github.com/octaviopardo/EBGaramond/releases/download/v0.016/EBGaramond-ttf.zip -unzip -jq "$tmpzip" "*Initials*.ttf" -d fonts -ls -1 fonts | grep -i initials || echo "WARN: EBGaramond Initials not found in zip?" - -echo "[+] Downloading Cinzel Decorative (Black) to ./fonts ..." -tmpzip="/tmp/cinzel.zip" -wget -q -O "$tmpzip" "https://fonts.google.com/download?family=Cinzel%20Decorative" || true -unzip -jq "$tmpzip" "*Decorative-Black*.ttf" -d fonts || echo "WARN: Cinzel Decorative Black not found; continuing." - -echo "[+] (Optional) Downloading IM FELL English SC to ./fonts ..." -tmpzip="/tmp/imfell.zip" -wget -q -O "$tmpzip" "https://fonts.google.com/download?family=IM%20Fell%20English%20SC" || true -unzip -jq "$tmpzip" "*.ttf" -d fonts || echo "INFO: IM FELL SC optional; skip if not needed." - -echo "[+] Building PDFs with Tectonic..." -for f in dj_cheat_sheet_transitions.tex dj_tracklist.tex dj_mini_sheet.tex dj_notes.tex dj_setup_mapping.tex dj_one_laptop_fallback.tex dj_rider.tex dj_podrecznik.tex; do - if [ -f "$f" ]; then - echo " -> $f" - tectonic "$f" >/dev/null - else - echo "SKIP: $f not found" - fi -done - -echo "[+] Done. Generated PDFs:" -ls -1 *.pdf 2>/dev/null || true diff --git a/fontget.sh b/fontget.sh new file mode 100644 index 0000000..ae915d1 --- /dev/null +++ b/fontget.sh @@ -0,0 +1,98 @@ +#!/usr/bin/env bash +# "apt dla fontów": Google Fonts ZIP → GitHub (ofl RAW) → fonts.gstatic.com → mirrory. +# System-wide install do /usr/local/share/fonts/fontget/ + fc-cache. +# Usage: sudo ./fontget.sh "IM Fell English SC" "Cinzel Decorative" "EB Garamond" + +set -Eeuo pipefail +SUDO=sudo; [ "$(id -u)" -eq 0 ] && SUDO= +log(){ echo -e "[+] $*"; } +warn(){ echo -e "[WARN] $*" >&2; } +die(){ echo -e "[FATAL] $*" >&2; exit 1; } + +need(){ command -v "$1" >/dev/null 2>&1 || die "Missing: $1"; } +need fc-cache +command -v wget >/dev/null 2>&1 || command -v curl >/dev/null 2>&1 || die "Need wget/curl" +command -v unzip >/dev/null 2>&1 || warn "unzip missing — ZIP installs limited" +command -v file >/dev/null 2>&1 || warn "file missing — MIME checks limited" +command -v fc-list >/dev/null 2>&1 || die "Missing: fc-list" + +fetch(){ local u="$1" o="$2"; if command -v wget >/dev/null 2>&1; then wget -O "$o" --https-only --no-verbose "$u"; else curl -L --fail --show-error --output "$o" "$u"; fi; } +slug(){ echo "$1" | tr '[:upper:]' '[:lower:]' | sed -E 's/[^a-z0-9]+/-/g; s/^-+|-+$//g'; } +present(){ fc-list -f '%{family}\n' | tr ',' '\n' | sed 's/^[[:space:]]*//; s/[[:space:]]*$//' | tr '[:upper:]' '[:lower:]' | sort -u | grep -Eiq "$1"; } + +install_dir="/usr/local/share/fonts/fontget"; $SUDO mkdir -p "$install_dir" + +is_zip(){ command -v file >/dev/null 2>&1 && file "$1" | grep -qi zip; } +gf_zip_try(){ + local name="$1" outdir="$2" enc zip + enc="$(python3 - < [Another ...]"; exit 1; fi + +for family in "$@"; do + echo; log "=== $family ===" + fam_slug="$(slug "$family")" + outdir="$install_dir/$fam_slug" + $SUDO mkdir -p "$outdir" + + case "$fam_slug" in + cinzel-decorative|cinzel|cinzel-decorative-black) + fetch "https://github.com/google/fonts/raw/main/ofl/cinzeldecorative/CinzelDecorative-Black.ttf" "$outdir/CinzelDecorative-Black.ttf" || warn "Cinzel fetch failed" + ;; + im-fell-english-sc) + gstatic_try "$fam_slug" "$outdir/IMFeENsc.ttf" \ + "https://fonts.gstatic.com/s/imfellenglishsc/v7/h3Tn6yWfw4b5qaLD1RWvz5ATixNthKRRR1XVH3rJNiw.ttf" \ + "https://fonts.gstatic.com/s/imfellenglishsc/v6/h3Tn6yWfw4b5qaLD1RWvz5ATixNthKRRR1XVH3rJNiw.ttf" \ + || { fetch "https://github.com/google/fonts/raw/main/ofl/imfellenglishsc/IMFeENsc28P.ttf" "$outdir/IMFeENsc.ttf" || true + [ -s "$outdir/IMFeENsc.ttf" ] || fetch "https://github.com/google/fonts/raw/main/ofl/imfellenglishsc/IMFellEnglishSC-Regular.ttf" "$outdir/IMFeENsc.ttf" || true + [ -s "$outdir/IMFeENsc.ttf" ] || fetch "https://www.wfonts.com/download/data/2016/06/14/im-fell-english-sc/IMFeENsc28P.ttf" "$outdir/IMFeENsc.ttf" || true + [ -s "$outdir/IMFeENsc.ttf" ] || fetch "https://www.1001freefonts.com/d/6800/IMFeENsc28P.ttf" "$outdir/IMFeENsc.ttf" || true; } + ;; + eb-garamond|ebgaramond) + # Najpierw apt (jeśli chcesz: sudo apt install fonts-ebgaramond), tu tylko web: + gf_zip_try "$family" "$outdir" || gh_ofl_try "$family" "$outdir" || true + ;; + *) + gf_zip_try "$family" "$outdir" || gh_ofl_try "$family" "$outdir" || true + ;; + esac + + $SUDO find "$outdir" -type f -size 0 -print -delete || true + $SUDO find "$outdir" -type f \( -name "*.ttf" -o -name "*.otf" \) -exec chmod 0644 {} \; || true + $SUDO find "$outdir" -type d -exec chmod 0755 {} \; || true + $SUDO fc-cache -f -v >/dev/null || true + + case "$fam_slug" in + cinzel* ) report "Cinzel Decorative" '^cinzel decorative( |$)' ;; + im-fell-english-sc ) report "IM Fell English SC" '^im fell english sc( |$)' ;; + eb-garamond* ) report "EB Garamond" '^eb garamond( |$)' ;; + * ) report "$family" "$(echo "$family" | tr '[:upper:]' '[:lower:]' | sed 's/ /.* /g')" ;; + esac +done + +echo; log "All done." diff --git a/fonts/CinzelDecorative-Black.ttf b/fonts/CinzelDecorative-Black.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e5294b9ec9c5914fc9b775dc401e6a737d059272 GIT binary patch literal 62692 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

%}#f- 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 literal 0 HcmV?d00001 diff --git a/fonts/EBGaramond-Initials.ttf b/fonts/EBGaramond-Initials.ttf new file mode 100644 index 0000000..e69de29 diff --git a/fonts/IMFellEnglishSC-Regular.ttf b/fonts/IMFellEnglishSC-Regular.ttf new file mode 100644 index 0000000..e69de29