From 69a825e613b5acb78670327c581cb942d149ecd3 Mon Sep 17 00:00:00 2001 From: Timo Knuth Date: Tue, 5 Aug 2025 16:39:27 +0200 Subject: [PATCH] neue methode fonts zu laden --- fetch-font-urls.sh | 120 ++++++++++++ font-src-urls.csv | 58 ++++++ fonts.css | 456 +++++++++++++++++++++++++++++++++++++++++++++ pages/_app.js | 18 +- 4 files changed, 637 insertions(+), 15 deletions(-) create mode 100644 fetch-font-urls.sh create mode 100644 font-src-urls.csv create mode 100644 fonts.css diff --git a/fetch-font-urls.sh b/fetch-font-urls.sh new file mode 100644 index 0000000..9ec0fdb --- /dev/null +++ b/fetch-font-urls.sh @@ -0,0 +1,120 @@ +#!/usr/bin/env bash +set -euo pipefail + +# --- Einstellungen --- +SUBSET="latin" # für DE/EN am kleinsten; bei Bedarf "latin-ext" +WEIGHT="400" +DISPLAY="swap" + +# Moderner UA erzwingt woff2 im Google-Fonts CSS +UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123 Safari/537.36" + +# Familienliste (Leerzeichen -> '+') +FAMILIES=( +"Abril+Fatface" +"Alegreya" +"Alfa+Slab+One" +"Almendra" +"Amatic+SC" +"Andika" +"Architects+Daughter" +"Audiowide" +"Averia+Libre" +"Bebas+Neue" +"Black+Ops+One" +"Caveat" +"Cinzel+Decorative" +"Courgette" +"Dancing+Script" +"Exo" +"Fjalla+One" +"Germania+One" +"Glass+Antiqua" +"Gloria+Hallelujah" +"Great+Vibes" +"Holtwood+One+SC" +"Indie+Flower" +"Italiana" +"Jost" +"Kaushan+Script" +"Lato" +"Metal+Mania" +"Montserrat" +"Neucha" +"Noto+Sans" +"Open+Sans" +"Orbitron" +"Oswald" +"Pacifico" +"Permanent+Marker" +"Philosopher" +"Playfair+Display" +"Poppins" +"Press+Start+2P" +"Questrial" +"Quicksand" +"Rajdhani" +"Raleway" +"Righteous" +"Roboto" +"Sacramento" +"Satisfy" +"Space+Mono" +"Spectral" +"Staatliches" +"Stint+Ultra+Condensed" +"Syncopate" +"Ultra" +"Unica+One" +"Work+Sans" +"Yellowtail" +) + +# --- Output vorbereiten --- +: > font-src-urls.csv +echo "family,woff2_url" >> font-src-urls.csv +: > fonts.css + +echo "Hole woff2-URLs (Subset: $SUBSET, Weight: $WEIGHT) …" >&2 + +for FAMILY in "${FAMILIES[@]}"; do + API_URL="https://fonts.googleapis.com/css2?family=${FAMILY}:wght@${WEIGHT}&display=${DISPLAY}" + CSS="$(curl -s -H "User-Agent: ${UA}" "${API_URL}")" + + # bevorzugt den /* latin */-Block + URL="$(printf "%s\n" "$CSS" \ + | awk '/\/\* '"$SUBSET"' \*\//,/\}/' \ + | grep -o 'https://fonts.gstatic.com[^)]*\.woff2' \ + | head -n1 || true)" + + # Fallback: erste woff2-URL überhaupt + if [[ -z "${URL}" ]]; then + URL="$(printf "%s\n" "$CSS" \ + | grep -o 'https://fonts.gstatic.com[^)]*\.woff2' \ + | head -n1 || true)" + fi + + if [[ -z "${URL}" ]]; then + echo "WARN: Keine woff2-URL für ${FAMILY} gefunden" >&2 + continue + fi + + # CSV-Zeile + echo "${FAMILY},${URL}" >> font-src-urls.csv + + # @font-face Snippet + CSS_FAMILY="${FAMILY//+/ }" + cat >> fonts.css <&2 diff --git a/font-src-urls.csv b/font-src-urls.csv new file mode 100644 index 0000000..fa4a320 --- /dev/null +++ b/font-src-urls.csv @@ -0,0 +1,58 @@ +family,woff2_url +Abril+Fatface,https://fonts.gstatic.com/s/abrilfatface/v24/zOL64pLDlL1D99S8g8PtiKchq-dmjQ.woff2 +Alegreya,https://fonts.gstatic.com/s/alegreya/v38/4UacrEBBsBhlBjvfkQjt71kZfyBzPgNG9hU4-6qj.woff2 +Alfa+Slab+One,https://fonts.gstatic.com/s/alfaslabone/v20/6NUQ8FmMKwSEKjnm5-4v-4Jh2dJhew.woff2 +Almendra,https://fonts.gstatic.com/s/almendra/v27/H4ckBXKAlMnTn0CskxY9yL4.woff2 +Amatic+SC,https://fonts.gstatic.com/s/amaticsc/v27/TUZyzwprpvBS1izr_vOECuSf.woff2 +Andika,https://fonts.gstatic.com/s/andika/v26/mem_Ya6iyW-LwqgwarYQ.woff2 +Architects+Daughter,https://fonts.gstatic.com/s/architectsdaughter/v19/KtkxAKiDZI_td1Lkx62xHZHDtgO_Y-bvTYlg4w.woff2 +Audiowide,https://fonts.gstatic.com/s/audiowide/v21/l7gdbjpo0cum0ckerWCdlg_O.woff2 +Averia+Libre,https://fonts.gstatic.com/s/averialibre/v16/2V0aKIcMGZEnV6xygz7eNjESBanI.woff2 +Bebas+Neue,https://fonts.gstatic.com/s/bebasneue/v15/JTUSjIg69CK48gW7PXoo9Wlhyw.woff2 +Black+Ops+One,https://fonts.gstatic.com/s/blackopsone/v20/qWcsB6-ypo7xBdr6Xshe96H3aDvbtw.woff2 +Caveat,https://fonts.gstatic.com/s/caveat/v22/WnznHAc5bAfYB2QRah7pcpNvOx-pjfJ9eIWpYQ.woff2 +Cinzel+Decorative,https://fonts.gstatic.com/s/cinzeldecorative/v18/daaCSScvJGqLYhG8nNt8KPPswUAPni7TTMw.woff2 +Courgette,https://fonts.gstatic.com/s/courgette/v18/wEO_EBrAnc9BLjLQAUk1VvoK.woff2 +Dancing+Script,https://fonts.gstatic.com/s/dancingscript/v28/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup8.woff2 +Exo,https://fonts.gstatic.com/s/exo/v24/4UaZrEtFpBI4f1ZSIK9d4LjJ4lM3OwRmOw.woff2 +Fjalla+One,https://fonts.gstatic.com/s/fjallaone/v15/Yq6R-LCAWCX3-6Ky7FAFrOF6kg.woff2 +Germania+One,https://fonts.gstatic.com/s/germaniaone/v20/Fh4yPjrqIyv2ucM2qzBjeS3uywhP.woff2 +Glass+Antiqua,https://fonts.gstatic.com/s/glassantiqua/v25/xfu30Wr0Wn3NOQM2piC0uXOjrLj6Ng.woff2 +Gloria+Hallelujah,https://fonts.gstatic.com/s/gloriahallelujah/v23/LYjYdHv3kUk9BMV96EIswT9DIbW-MIS11zM.woff2 +Great+Vibes,https://fonts.gstatic.com/s/greatvibes/v20/RWmMoKWR9v4ksMfaWd_JN9XFiaQ.woff2 +Holtwood+One+SC,https://fonts.gstatic.com/s/holtwoodonesc/v22/yYLx0hLR0P-3vMFSk1TCq3Txg5BHdrz7.woff2 +Indie+Flower,https://fonts.gstatic.com/s/indieflower/v23/m8JVjfNVeKWVnh3QMuKkFcZVaUuH.woff2 +Italiana,https://fonts.gstatic.com/s/italiana/v21/QldNNTtLsx4E__B0XQmWaXw.woff2 +Jost,https://fonts.gstatic.com/s/jost/v19/92zPtBhPNqw79Ij1E865zBUv7myjJTVBNIg.woff2 +Kaushan+Script,https://fonts.gstatic.com/s/kaushanscript/v18/vm8vdRfvXFLG3OLnsO15WYS5DG74wNI.woff2 +Lato,https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wXg.woff2 +Metal+Mania,https://fonts.gstatic.com/s/metalmania/v22/RWmMoKWb4e8kqMfBUdPFJdXFiaQ.woff2 +Montserrat,https://fonts.gstatic.com/s/montserrat/v30/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw5aXo.woff2 +Neucha,https://fonts.gstatic.com/s/neucha/v17/q5uGsou0JOdh94bfvQlt.woff2 +Noto+Sans,https://fonts.gstatic.com/s/notosans/v39/o-0mIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjcz6L1SoM-jCpoiyD9A-9a6VI.woff2 +Open+Sans,https://fonts.gstatic.com/s/opensans/v43/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVI.woff2 +Orbitron,https://fonts.gstatic.com/s/orbitron/v34/yMJMMIlzdpvBhQQL_SC3X9yhF25-T1nyGy6BoWgz.woff2 +Oswald,https://fonts.gstatic.com/s/oswald/v56/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUZiZQ.woff2 +Pacifico,https://fonts.gstatic.com/s/pacifico/v22/FwZY7-Qmy14u9lezJ-6H6Mk.woff2 +Permanent+Marker,https://fonts.gstatic.com/s/permanentmarker/v16/Fh4uPib9Iyv2ucM6pGQMWimMp004La2Cfw.woff2 +Philosopher,https://fonts.gstatic.com/s/philosopher/v20/vEFV2_5QCwIS4_Dhez5jcWBuT00.woff2 +Playfair+Display,https://fonts.gstatic.com/s/playfairdisplay/v39/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtM.woff2 +Poppins,https://fonts.gstatic.com/s/poppins/v23/pxiEyp8kv8JHgFVrJJfecg.woff2 +Press+Start+2P,https://fonts.gstatic.com/s/pressstart2p/v15/e3t4euO8T-267oIAQAu6jDQyK3nVivM.woff2 +Questrial,https://fonts.gstatic.com/s/questrial/v18/QdVUSTchPBm7nuUeVf70viFl.woff2 +Quicksand,https://fonts.gstatic.com/s/quicksand/v36/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkP8o58a-wg.woff2 +Rajdhani,https://fonts.gstatic.com/s/rajdhani/v16/LDIxapCSOBg7S-QT7p4HM-Y.woff2 +Raleway,https://fonts.gstatic.com/s/raleway/v36/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2 +Righteous,https://fonts.gstatic.com/s/righteous/v18/1cXxaUPXBpj2rGoU7C9WiHGF.woff2 +Roboto,https://fonts.gstatic.com/s/roboto/v48/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAo.woff2 +Sacramento,https://fonts.gstatic.com/s/sacramento/v16/buEzpo6gcdjy0EiZMBUG4C0f_Q.woff2 +Satisfy,https://fonts.gstatic.com/s/satisfy/v22/rP2Hp2yn6lkG50LoCZOIHQ.woff2 +Space+Mono,https://fonts.gstatic.com/s/spacemono/v17/i7dPIFZifjKcF5UAWdDRYEF8RQ.woff2 +Spectral,https://fonts.gstatic.com/s/spectral/v14/rnCr-xNNww_2s0amA9M5kng.woff2 +Staatliches,https://fonts.gstatic.com/s/staatliches/v14/HI_OiY8KO6hCsQSoAPmtMYebvpA.woff2 +Stint+Ultra+Condensed,https://fonts.gstatic.com/s/stintultracondensed/v24/-W_gXIrsVjjeyEnPC45qD2NoFPtBE0xCh2AOrR8P.woff2 +Syncopate,https://fonts.gstatic.com/s/syncopate/v23/pe0sMIuPIYBCpEV5eFdCBfe_.woff2 +Ultra,https://fonts.gstatic.com/s/ultra/v25/zOLy4prXmrtY-uT9wrI.woff2 +Unica+One,https://fonts.gstatic.com/s/unicaone/v19/DPEuYwWHyAYGVTSmalsRcd3e.woff2 +Work+Sans,https://fonts.gstatic.com/s/worksans/v23/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K0nXBi8Jpg.woff2 +Yellowtail,https://fonts.gstatic.com/s/yellowtail/v24/OZpGg_pnoDtINPfRIlLohlvHwQ.woff2 diff --git a/fonts.css b/fonts.css new file mode 100644 index 0000000..4a34c77 --- /dev/null +++ b/fonts.css @@ -0,0 +1,456 @@ +@font-face { + font-family: 'Abril Fatface'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/abrilfatface/v24/zOL64pLDlL1D99S8g8PtiKchq-dmjQ.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Alegreya'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/alegreya/v38/4UacrEBBsBhlBjvfkQjt71kZfyBzPgNG9hU4-6qj.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Alfa Slab One'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/alfaslabone/v20/6NUQ8FmMKwSEKjnm5-4v-4Jh2dJhew.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Almendra'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/almendra/v27/H4ckBXKAlMnTn0CskxY9yL4.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Amatic SC'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/amaticsc/v27/TUZyzwprpvBS1izr_vOECuSf.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Andika'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/andika/v26/mem_Ya6iyW-LwqgwarYQ.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Architects Daughter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/architectsdaughter/v19/KtkxAKiDZI_td1Lkx62xHZHDtgO_Y-bvTYlg4w.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Audiowide'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/audiowide/v21/l7gdbjpo0cum0ckerWCdlg_O.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Averia Libre'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/averialibre/v16/2V0aKIcMGZEnV6xygz7eNjESBanI.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Bebas Neue'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/bebasneue/v15/JTUSjIg69CK48gW7PXoo9Wlhyw.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Black Ops One'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/blackopsone/v20/qWcsB6-ypo7xBdr6Xshe96H3aDvbtw.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Caveat'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/caveat/v22/WnznHAc5bAfYB2QRah7pcpNvOx-pjfJ9eIWpYQ.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Cinzel Decorative'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/cinzeldecorative/v18/daaCSScvJGqLYhG8nNt8KPPswUAPni7TTMw.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Courgette'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/courgette/v18/wEO_EBrAnc9BLjLQAUk1VvoK.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Dancing Script'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/dancingscript/v28/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7BMSo3Sup8.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Exo'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/exo/v24/4UaZrEtFpBI4f1ZSIK9d4LjJ4lM3OwRmOw.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Fjalla One'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/fjallaone/v15/Yq6R-LCAWCX3-6Ky7FAFrOF6kg.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Germania One'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/germaniaone/v20/Fh4yPjrqIyv2ucM2qzBjeS3uywhP.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Glass Antiqua'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/glassantiqua/v25/xfu30Wr0Wn3NOQM2piC0uXOjrLj6Ng.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Gloria Hallelujah'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/gloriahallelujah/v23/LYjYdHv3kUk9BMV96EIswT9DIbW-MIS11zM.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Great Vibes'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/greatvibes/v20/RWmMoKWR9v4ksMfaWd_JN9XFiaQ.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Holtwood One SC'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/holtwoodonesc/v22/yYLx0hLR0P-3vMFSk1TCq3Txg5BHdrz7.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Indie Flower'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/indieflower/v23/m8JVjfNVeKWVnh3QMuKkFcZVaUuH.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Italiana'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/italiana/v21/QldNNTtLsx4E__B0XQmWaXw.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Jost'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/jost/v19/92zPtBhPNqw79Ij1E865zBUv7myjJTVBNIg.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Kaushan Script'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/kaushanscript/v18/vm8vdRfvXFLG3OLnsO15WYS5DG74wNI.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wXg.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Metal Mania'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/metalmania/v22/RWmMoKWb4e8kqMfBUdPFJdXFiaQ.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/montserrat/v30/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Hw5aXo.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Neucha'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/neucha/v17/q5uGsou0JOdh94bfvQlt.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Noto Sans'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/notosans/v39/o-0mIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjcz6L1SoM-jCpoiyD9A-9a6VI.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/opensans/v43/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVI.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Orbitron'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/orbitron/v34/yMJMMIlzdpvBhQQL_SC3X9yhF25-T1nyGy6BoWgz.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Oswald'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/oswald/v56/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUZiZQ.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Pacifico'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/pacifico/v22/FwZY7-Qmy14u9lezJ-6H6Mk.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Permanent Marker'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/permanentmarker/v16/Fh4uPib9Iyv2ucM6pGQMWimMp004La2Cfw.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Philosopher'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/philosopher/v20/vEFV2_5QCwIS4_Dhez5jcWBuT00.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Playfair Display'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/playfairdisplay/v39/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtM.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Poppins'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/poppins/v23/pxiEyp8kv8JHgFVrJJfecg.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Press Start 2P'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/pressstart2p/v15/e3t4euO8T-267oIAQAu6jDQyK3nVivM.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Questrial'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/questrial/v18/QdVUSTchPBm7nuUeVf70viFl.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Quicksand'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/quicksand/v36/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkP8o58a-wg.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Rajdhani'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/rajdhani/v16/LDIxapCSOBg7S-QT7p4HM-Y.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Raleway'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/raleway/v36/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrE.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Righteous'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/righteous/v18/1cXxaUPXBpj2rGoU7C9WiHGF.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/roboto/v48/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAo.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Sacramento'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/sacramento/v16/buEzpo6gcdjy0EiZMBUG4C0f_Q.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Satisfy'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/satisfy/v22/rP2Hp2yn6lkG50LoCZOIHQ.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Space Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/spacemono/v17/i7dPIFZifjKcF5UAWdDRYEF8RQ.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Spectral'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/spectral/v14/rnCr-xNNww_2s0amA9M5kng.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Staatliches'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/staatliches/v14/HI_OiY8KO6hCsQSoAPmtMYebvpA.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Stint Ultra Condensed'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/stintultracondensed/v24/-W_gXIrsVjjeyEnPC45qD2NoFPtBE0xCh2AOrR8P.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Syncopate'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/syncopate/v23/pe0sMIuPIYBCpEV5eFdCBfe_.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Ultra'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/ultra/v25/zOLy4prXmrtY-uT9wrI.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Unica One'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/unicaone/v19/DPEuYwWHyAYGVTSmalsRcd3e.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Work Sans'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/worksans/v23/QGY_z_wNahGAdqQ43RhVcIgYT2Xz5u32K0nXBi8Jpg.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} +@font-face { + font-family: 'Yellowtail'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('https://fonts.gstatic.com/s/yellowtail/v24/OZpGg_pnoDtINPfRIlLohlvHwQ.woff2') format('woff2'); + /* subset: latin (aus Google Fonts CSS v2) */ +} diff --git a/pages/_app.js b/pages/_app.js index 20729b5..ac7ff0a 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -1,18 +1,6 @@ -// pages/_app.jsx -import "@/styles/tailwind.build.css"; // dein Tailwind‑Build -import { fonts } from "@/lib/fonts"; -import "../styles/local-fonts.css"; - -// CSS-Variablen für alle Fonts aus next/font/google -const allFontVars = Object.values(fonts) - .filter((f) => f?.variable) - .map((f) => f.variable) - .join(" "); +import "@/styles/tailwind.build.css"; // dein Tailwind-Build +import "../styles/globals.css"; export default function MyApp({ Component, pageProps }) { - return ( -
- -
- ); + return ; }