fancytextstuff/lib/fonts.js

325 lines
9.1 KiB
JavaScript

// lib/fonts.js
import {
Montserrat,
Open_Sans,
Roboto,
Lato,
Raleway,
Poppins,
Work_Sans,
Jost,
Noto_Sans,
Quicksand,
Averia_Libre,
Philosopher,
Pacifico,
Caveat,
Sacramento,
Dancing_Script,
Indie_Flower,
Amatic_SC,
Kaushan_Script,
Architects_Daughter,
Neucha,
Great_Vibes,
Satisfy,
Yellowtail,
Gloria_Hallelujah,
Courgette,
Almendra,
Oswald,
Bebas_Neue,
Anton,
Ultra,
Stint_Ultra_Condensed,
Playfair_Display,
Abril_Fatface,
Permanent_Marker,
Alfa_Slab_One,
Black_Ops_One,
Germania_One,
Holtwood_One_SC,
Exo,
Orbitron,
Audiowide,
Rajdhani,
Space_Mono,
Questrial,
Syncopate,
Unica_One,
Italiana,
Staatliches,
Press_Start_2P,
Righteous,
Metal_Mania,
Alegreya,
Spectral,
Fjalla_One,
Glass_Antiqua,
Cinzel_Decorative,
Andika,
} from "next/font/google";
function createFont(fontFn, name) {
return {
...fontFn,
className: `font-${name.toLowerCase().replace(/\s+/g, "")}`,
};
}
// 🔤 Modern Fonts
const montserrat = Montserrat({
subsets: ["latin"],
variable: "--font-montserrat",
});
const opensans = Open_Sans({ subsets: ["latin"], variable: "--font-opensans" });
const roboto = Roboto({ subsets: ["latin"], variable: "--font-roboto" });
const lato = Lato({ subsets: ["latin"], variable: "--font-lato" });
const raleway = Raleway({ subsets: ["latin"], variable: "--font-raleway" });
const poppins = Poppins({ subsets: ["latin"], variable: "--font-poppins" });
const worksans = Work_Sans({ subsets: ["latin"], variable: "--font-worksans" });
const jost = Jost({ subsets: ["latin"], variable: "--font-jost" });
const notosans = Noto_Sans({ subsets: ["latin"], variable: "--font-notosans" });
const quicksand = Quicksand({
subsets: ["latin"],
variable: "--font-quicksand",
});
const averialibre = Averia_Libre({
subsets: ["latin"],
variable: "--font-averialibre",
});
const philosopher = Philosopher({
subsets: ["latin"],
variable: "--font-philosopher",
});
// ✍️ Handwriting
const pacifico = Pacifico({ subsets: ["latin"], variable: "--font-pacifico" });
const caveat = Caveat({ subsets: ["latin"], variable: "--font-caveat" });
const sacramento = Sacramento({
subsets: ["latin"],
variable: "--font-sacramento",
});
const dancingscript = Dancing_Script({
subsets: ["latin"],
variable: "--font-dancingscript",
});
const indieflower = Indie_Flower({
subsets: ["latin"],
variable: "--font-indieflower",
});
const amaticsc = Amatic_SC({ subsets: ["latin"], variable: "--font-amatic" });
const kaushanscript = Kaushan_Script({
subsets: ["latin"],
variable: "--font-kaushan",
});
const architectsdaughter = Architects_Daughter({
subsets: ["latin"],
variable: "--font-architects",
});
const neucha = Neucha({ subsets: ["latin"], variable: "--font-neucha" });
const greatvibes = Great_Vibes({
subsets: ["latin"],
variable: "--font-greatvibes",
});
const satisfy = Satisfy({ subsets: ["latin"], variable: "--font-satisfy" });
const yellowtail = Yellowtail({
subsets: ["latin"],
variable: "--font-yellowtail",
});
const gloriahallelujah = Gloria_Hallelujah({
subsets: ["latin"],
variable: "--font-gloria",
});
const courgette = Courgette({
subsets: ["latin"],
variable: "--font-courgette",
});
const almendra = Almendra({ subsets: ["latin"], variable: "--font-almendra" });
// 🧑‍🎤 Statement
const oswald = Oswald({ subsets: ["latin"], variable: "--font-oswald" });
const bebasneue = Bebas_Neue({
subsets: ["latin"],
variable: "--font-bebasneue",
});
const anton = Anton({
subsets: ["latin"],
weight: "400",
variable: "--font-anton",
});
const ultra = Ultra({ subsets: ["latin"], variable: "--font-ultra" });
const stintultracondensed = Stint_Ultra_Condensed({
subsets: ["latin"],
variable: "--font-stint",
});
const playfair = Playfair_Display({
subsets: ["latin"],
variable: "--font-playfair",
});
const abril = Abril_Fatface({
subsets: ["latin"],
weight: "400",
variable: "--font-abril",
});
const permanentmarker = Permanent_Marker({
subsets: ["latin"],
weight: "400",
variable: "--font-permanentmarker",
});
const alfaslab = Alfa_Slab_One({
subsets: ["latin"],
weight: "400",
variable: "--font-alfaslab",
});
const blackops = Black_Ops_One({
subsets: ["latin"],
weight: "400",
variable: "--font-blackops",
});
const germania = Germania_One({
subsets: ["latin"],
weight: "400",
variable: "--font-germania",
});
const holtwood = Holtwood_One_SC({
subsets: ["latin"],
weight: "400",
variable: "--font-holtwood",
});
// 🚀 Futuristic
const exo = Exo({ subsets: ["latin"], variable: "--font-exo" });
const orbitron = Orbitron({
subsets: ["latin"],
weight: "400",
variable: "--font-orbitron",
});
const audiowide = Audiowide({
subsets: ["latin"],
weight: "400",
variable: "--font-audiowide",
});
const rajdhani = Rajdhani({ subsets: ["latin"], variable: "--font-rajdhani" });
const spacemono = Space_Mono({
subsets: ["latin"],
variable: "--font-spacemono",
});
const questrial = Questrial({
subsets: ["latin"],
variable: "--font-questrial",
});
const syncopate = Syncopate({
subsets: ["latin"],
variable: "--font-syncopate",
});
const unicaone = Unica_One({ subsets: ["latin"], variable: "--font-unicaone" });
const italiana = Italiana({ subsets: ["latin"], variable: "--font-italiana" });
const staatliches = Staatliches({
subsets: ["latin"],
weight: "400",
variable: "--font-staatliches",
});
// 🧢 Aesthetic
const pressstart2p = Press_Start_2P({
subsets: ["latin"],
variable: "--font-pressstart2p",
});
const righteous = Righteous({
subsets: ["latin"],
weight: "400",
variable: "--font-righteous",
});
const metalmania = Metal_Mania({
subsets: ["latin"],
weight: "400",
variable: "--font-metalmania",
});
const alegreya = Alegreya({ subsets: ["latin"], variable: "--font-alegreya" });
const spectral = Spectral({ subsets: ["latin"], variable: "--font-spectral" });
const fjallaone = Fjalla_One({
subsets: ["latin"],
variable: "--font-fjallaone",
});
const glassantiqua = Glass_Antiqua({
subsets: ["latin"],
variable: "--font-glassantiqua",
});
const cinzeldecorative = Cinzel_Decorative({
subsets: ["latin"],
variable: "--font-cinzeldecorative",
});
const andika = Andika({
subsets: ["latin"],
weight: "400",
variable: "--font-andika",
});
export const fonts = {
Montserrat: createFont(montserrat, "montserrat"),
"Open Sans": createFont(opensans, "opensans"),
Roboto: createFont(roboto, "roboto"),
Lato: createFont(lato, "lato"),
Raleway: createFont(raleway, "raleway"),
Poppins: createFont(poppins, "poppins"),
"Work Sans": createFont(worksans, "worksans"),
Jost: createFont(jost, "jost"),
"Noto Sans": createFont(notosans, "notosans"),
Quicksand: createFont(quicksand, "quicksand"),
"Averia Libre": createFont(averialibre, "averialibre"),
Philosopher: createFont(philosopher, "philosopher"),
Pacifico: createFont(pacifico, "pacifico"),
Caveat: createFont(caveat, "caveat"),
Sacramento: createFont(sacramento, "sacramento"),
"Dancing Script": createFont(dancingscript, "dancingscript"),
"Indie Flower": createFont(indieflower, "indieflower"),
"Amatic SC": createFont(amaticsc, "amatic"),
"Kaushan Script": createFont(kaushanscript, "kaushan"),
"Architects Daughter": createFont(architectsdaughter, "architects"),
Neucha: createFont(neucha, "neucha"),
"Great Vibes": createFont(greatvibes, "greatvibes"),
Satisfy: createFont(satisfy, "satisfy"),
Yellowtail: createFont(yellowtail, "yellowtail"),
"Gloria Hallelujah": createFont(gloriahallelujah, "gloria"),
Courgette: createFont(courgette, "courgette"),
Almendra: createFont(almendra, "almendra"),
Oswald: createFont(oswald, "oswald"),
"Bebas Neue": createFont(bebasneue, "bebasneue"),
Anton: createFont(anton, "anton"),
Ultra: createFont(ultra, "ultra"),
"Stint Ultra Condensed": createFont(stintultracondensed, "stint"),
"Playfair Display": createFont(playfair, "playfair"),
"Abril Fatface": createFont(abril, "abril"),
"Permanent Marker": createFont(permanentmarker, "permanentmarker"),
"Alfa Slab One": createFont(alfaslab, "alfaslab"),
"Black Ops One": createFont(blackops, "blackops"),
"Germania One": createFont(germania, "germania"),
"Holtwood One SC": createFont(holtwood, "holtwood"),
Exo: createFont(exo, "exo"),
Orbitron: createFont(orbitron, "orbitron"),
Audiowide: createFont(audiowide, "audiowide"),
Rajdhani: createFont(rajdhani, "rajdhani"),
"Space Mono": createFont(spacemono, "spacemono"),
Questrial: createFont(questrial, "questrial"),
Syncopate: createFont(syncopate, "syncopate"),
"Unica One": createFont(unicaone, "unicaone"),
Italiana: createFont(italiana, "italiana"),
Staatliches: createFont(staatliches, "staatliches"),
"Press Start 2P": createFont(pressstart2p, "pressstart2p"),
Righteous: createFont(righteous, "righteous"),
"Metal Mania": createFont(metalmania, "metalmania"),
Alegreya: createFont(alegreya, "alegreya"),
Spectral: createFont(spectral, "spectral"),
"Fjalla One": createFont(fjallaone, "fjallaone"),
"Glass Antiqua": createFont(glassantiqua, "glassantiqua"),
"Cinzel Decorative": createFont(cinzeldecorative, "cinzeldecorative"),
Andika: createFont(andika, "andika"),
};
export const getFontData = (key) => fonts[key] ?? fonts["Anton"];