Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -13,6 +13,7 @@ class Config:
|
|
| 13 |
HF_TOKEN = os.getenv('HF_TOKEN')
|
| 14 |
|
| 15 |
# --- FONT DATA ---
|
|
|
|
| 16 |
FONT_DATA = [
|
| 17 |
{
|
| 18 |
"name": "Playfair Display",
|
|
@@ -74,6 +75,138 @@ FONT_DATA = [
|
|
| 74 |
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Pacifico&display=swap",
|
| 75 |
"description": "Surfing, California, retro, casual script font with beach vibes and laid-back summer feeling"
|
| 76 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
]
|
| 78 |
|
| 79 |
# --- CORE LOGIC ---
|
|
|
|
| 13 |
HF_TOKEN = os.getenv('HF_TOKEN')
|
| 14 |
|
| 15 |
# --- FONT DATA ---
|
| 16 |
+
|
| 17 |
FONT_DATA = [
|
| 18 |
{
|
| 19 |
"name": "Playfair Display",
|
|
|
|
| 75 |
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Pacifico&display=swap",
|
| 76 |
"description": "Surfing, California, retro, casual script font with beach vibes and laid-back summer feeling"
|
| 77 |
},
|
| 78 |
+
{
|
| 79 |
+
"name": "Source Code Pro",
|
| 80 |
+
"family": "monospace",
|
| 81 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;600&display=swap",
|
| 82 |
+
"description": "Technical, programming, coding, monospaced font designed for developers and technical documentation"
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"name": "Merriweather",
|
| 86 |
+
"family": "serif",
|
| 87 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700&display=swap",
|
| 88 |
+
"description": "Traditional, readable, pleasant serif designed for comfortable reading on screens and in print"
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"name": "Abril Fatface",
|
| 92 |
+
"family": "serif",
|
| 93 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap",
|
| 94 |
+
"description": "Bold, dramatic, high-contrast display serif inspired by French and Italian typography, perfect for headlines"
|
| 95 |
+
},
|
| 96 |
+
{
|
| 97 |
+
"name": "Great Vibes",
|
| 98 |
+
"family": "script",
|
| 99 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap",
|
| 100 |
+
"description": "Elegant, formal, calligraphic script with sophisticated curves, ideal for luxury and premium branding"
|
| 101 |
+
},
|
| 102 |
+
{
|
| 103 |
+
"name": "Raleway",
|
| 104 |
+
"family": "sans-serif",
|
| 105 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;600&display=swap",
|
| 106 |
+
"description": "Sophisticated, thin, elegant sans-serif with distinctive 'W', perfect for fashion and high-end design"
|
| 107 |
+
},
|
| 108 |
+
{
|
| 109 |
+
"name": "Fredoka One",
|
| 110 |
+
"family": "display",
|
| 111 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Fredoka+One&display=swap",
|
| 112 |
+
"description": "Friendly, rounded, playful display font perfect for children's content, toys, and fun applications"
|
| 113 |
+
},
|
| 114 |
+
{
|
| 115 |
+
"name": "Libre Baskerville",
|
| 116 |
+
"family": "serif",
|
| 117 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap",
|
| 118 |
+
"description": "Classic, traditional, scholarly serif based on American Type Founder's Baskerville, perfect for academic texts"
|
| 119 |
+
},
|
| 120 |
+
{
|
| 121 |
+
"name": "Poppins",
|
| 122 |
+
"family": "sans-serif",
|
| 123 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap",
|
| 124 |
+
"description": "Geometric, modern, friendly sans-serif with circular forms, popular for contemporary web design"
|
| 125 |
+
},
|
| 126 |
+
{
|
| 127 |
+
"name": "Lobster",
|
| 128 |
+
"family": "script",
|
| 129 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Lobster&display=swap",
|
| 130 |
+
"description": "Bold, retro, vintage script font with a 1950s diner feel, perfect for nostalgic and Americana designs"
|
| 131 |
+
},
|
| 132 |
+
{
|
| 133 |
+
"name": "Open Sans",
|
| 134 |
+
"family": "sans-serif",
|
| 135 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600&display=swap",
|
| 136 |
+
"description": "Neutral, friendly, optimistic sans-serif designed for legibility across interfaces, print, and web"
|
| 137 |
+
},
|
| 138 |
+
{
|
| 139 |
+
"name": "Shadows Into Light",
|
| 140 |
+
"family": "handwriting",
|
| 141 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Shadows+Into+Light&display=swap",
|
| 142 |
+
"description": "Casual, handwritten, personal font that feels like natural handwriting with a marker or pen"
|
| 143 |
+
},
|
| 144 |
+
{
|
| 145 |
+
"name": "Creepster",
|
| 146 |
+
"family": "display",
|
| 147 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Creepster&display=swap",
|
| 148 |
+
"description": "Horror, scary, Halloween, gothic font with dripping effect, perfect for spooky and thriller themes"
|
| 149 |
+
},
|
| 150 |
+
{
|
| 151 |
+
"name": "Righteous",
|
| 152 |
+
"family": "display",
|
| 153 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Righteous&display=swap",
|
| 154 |
+
"description": "Futuristic, sci-fi, technology, bold display font with unique character shapes for modern designs"
|
| 155 |
+
},
|
| 156 |
+
{
|
| 157 |
+
"name": "Satisfy",
|
| 158 |
+
"family": "script",
|
| 159 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Satisfy&display=swap",
|
| 160 |
+
"description": "Casual, relaxed, handwritten script with natural flow, perfect for personal and informal communications"
|
| 161 |
+
},
|
| 162 |
+
{
|
| 163 |
+
"name": "Anton",
|
| 164 |
+
"family": "sans-serif",
|
| 165 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Anton&display=swap",
|
| 166 |
+
"description": "Bold, condensed, impactful sans-serif perfect for headlines, posters, and attention-grabbing text"
|
| 167 |
+
},
|
| 168 |
+
{
|
| 169 |
+
"name": "Courgette",
|
| 170 |
+
"family": "script",
|
| 171 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Courgette&display=swap",
|
| 172 |
+
"description": "French, bistro, café, elegant script font with continental European charm and sophistication"
|
| 173 |
+
},
|
| 174 |
+
{
|
| 175 |
+
"name": "Indie Flower",
|
| 176 |
+
"family": "handwriting",
|
| 177 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Indie+Flower&display=swap",
|
| 178 |
+
"description": "Indie, hipster, handwritten font with quirky personality, perfect for creative and artistic projects"
|
| 179 |
+
},
|
| 180 |
+
{
|
| 181 |
+
"name": "PT Serif",
|
| 182 |
+
"family": "serif",
|
| 183 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=PT+Serif:wght@400;700&display=swap",
|
| 184 |
+
"description": "Russian, Cyrillic, transitional serif with excellent readability for both Latin and Cyrillic scripts"
|
| 185 |
+
},
|
| 186 |
+
{
|
| 187 |
+
"name": "Questrial",
|
| 188 |
+
"family": "sans-serif",
|
| 189 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Questrial&display=swap",
|
| 190 |
+
"description": "Simple, clean, minimal sans-serif with subtle quirks, perfect for modern and understated designs"
|
| 191 |
+
},
|
| 192 |
+
{
|
| 193 |
+
"name": "Bangers",
|
| 194 |
+
"family": "display",
|
| 195 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Bangers&display=swap",
|
| 196 |
+
"description": "Comic book, superhero, pop art font inspired by mid-20th century comic books and advertisements"
|
| 197 |
+
},
|
| 198 |
+
{
|
| 199 |
+
"name": "Sacramento",
|
| 200 |
+
"family": "script",
|
| 201 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Sacramento&display=swap",
|
| 202 |
+
"description": "Monoline, cursive script with vintage charm, perfect for elegant and sophisticated branding"
|
| 203 |
+
},
|
| 204 |
+
{
|
| 205 |
+
"name": "Bitter",
|
| 206 |
+
"family": "serif",
|
| 207 |
+
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Bitter:wght@400;700&display=swap",
|
| 208 |
+
"description": "Contemporary, slab serif with slight contrast, designed for comfortable reading in long texts"
|
| 209 |
+
}
|
| 210 |
]
|
| 211 |
|
| 212 |
# --- CORE LOGIC ---
|