neue methode fonts zu laden
This commit is contained in:
parent
2d2c2db261
commit
69a825e613
|
|
@ -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 <<CSS
|
||||||
|
@font-face {
|
||||||
|
font-family: '${CSS_FAMILY}';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: ${WEIGHT};
|
||||||
|
font-display: ${DISPLAY};
|
||||||
|
src: url('${URL}') format('woff2');
|
||||||
|
/* subset: ${SUBSET} (aus Google Fonts CSS v2) */
|
||||||
|
}
|
||||||
|
CSS
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Fertig. Siehe font-src-urls.csv und fonts.css" >&2
|
||||||
|
|
@ -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
|
||||||
|
|
|
@ -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) */
|
||||||
|
}
|
||||||
|
|
@ -1,18 +1,6 @@
|
||||||
// pages/_app.jsx
|
import "@/styles/tailwind.build.css"; // dein Tailwind-Build
|
||||||
import "@/styles/tailwind.build.css"; // dein Tailwind‑Build
|
import "../styles/globals.css";
|
||||||
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(" ");
|
|
||||||
|
|
||||||
export default function MyApp({ Component, pageProps }) {
|
export default function MyApp({ Component, pageProps }) {
|
||||||
return (
|
return <Component {...pageProps} />;
|
||||||
<main className={allFontVars}>
|
|
||||||
<Component {...pageProps} />
|
|
||||||
</main>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue