diff --git a/public/assets/fonts/cache/accessoires-atom.gif b/public/assets/fonts/cache/accessoires-atom.gif new file mode 100644 index 0000000000..f8fb14ac9b Binary files /dev/null and b/public/assets/fonts/cache/accessoires-atom.gif differ diff --git a/public/assets/fonts/cache/africa-atom.gif b/public/assets/fonts/cache/africa-atom.gif new file mode 100644 index 0000000000..1a9d2a1acd Binary files /dev/null and b/public/assets/fonts/cache/africa-atom.gif differ diff --git a/public/assets/fonts/cache/agenda-atom.gif b/public/assets/fonts/cache/agenda-atom.gif new file mode 100644 index 0000000000..df601dee65 Binary files /dev/null and b/public/assets/fonts/cache/agenda-atom.gif differ diff --git a/public/assets/fonts/cache/alhambra-atom.gif b/public/assets/fonts/cache/alhambra-atom.gif new file mode 100644 index 0000000000..6599de9a2c Binary files /dev/null and b/public/assets/fonts/cache/alhambra-atom.gif differ diff --git a/public/assets/fonts/cache/arctic-atom.gif b/public/assets/fonts/cache/arctic-atom.gif new file mode 100644 index 0000000000..b004f6e43e Binary files /dev/null and b/public/assets/fonts/cache/arctic-atom.gif differ diff --git a/public/assets/fonts/cache/asian-atom.gif b/public/assets/fonts/cache/asian-atom.gif new file mode 100644 index 0000000000..c9ddb74995 Binary files /dev/null and b/public/assets/fonts/cache/asian-atom.gif differ diff --git a/public/assets/fonts/cache/asian_small-atom.gif b/public/assets/fonts/cache/asian_small-atom.gif new file mode 100644 index 0000000000..fe3cccbf34 Binary files /dev/null and b/public/assets/fonts/cache/asian_small-atom.gif differ diff --git a/public/assets/fonts/cache/base-atom.gif b/public/assets/fonts/cache/base-atom.gif new file mode 100644 index 0000000000..29aa09f155 Binary files /dev/null and b/public/assets/fonts/cache/base-atom.gif differ diff --git a/public/assets/fonts/cache/basic-atom.gif b/public/assets/fonts/cache/basic-atom.gif new file mode 100644 index 0000000000..76cdce87cf Binary files /dev/null and b/public/assets/fonts/cache/basic-atom.gif differ diff --git a/public/assets/fonts/cache/bathroom-atom.gif b/public/assets/fonts/cache/bathroom-atom.gif new file mode 100644 index 0000000000..3a8818c41f Binary files /dev/null and b/public/assets/fonts/cache/bathroom-atom.gif differ diff --git a/public/assets/fonts/cache/battleball-atom.gif b/public/assets/fonts/cache/battleball-atom.gif new file mode 100644 index 0000000000..4fb85e4d95 Binary files /dev/null and b/public/assets/fonts/cache/battleball-atom.gif differ diff --git a/public/assets/fonts/cache/battlebanzai-atom.gif b/public/assets/fonts/cache/battlebanzai-atom.gif new file mode 100644 index 0000000000..c036171ff0 Binary files /dev/null and b/public/assets/fonts/cache/battlebanzai-atom.gif differ diff --git a/public/assets/fonts/cache/bensalem-atom.gif b/public/assets/fonts/cache/bensalem-atom.gif new file mode 100644 index 0000000000..16a9225ad5 Binary files /dev/null and b/public/assets/fonts/cache/bensalem-atom.gif differ diff --git a/public/assets/fonts/cache/bensalem_sea-atom.gif b/public/assets/fonts/cache/bensalem_sea-atom.gif new file mode 100644 index 0000000000..c34854cc63 Binary files /dev/null and b/public/assets/fonts/cache/bensalem_sea-atom.gif differ diff --git a/public/assets/fonts/cache/beta-atom.gif b/public/assets/fonts/cache/beta-atom.gif new file mode 100644 index 0000000000..3935e54fd9 Binary files /dev/null and b/public/assets/fonts/cache/beta-atom.gif differ diff --git a/public/assets/fonts/cache/beta_big-atom.gif b/public/assets/fonts/cache/beta_big-atom.gif new file mode 100644 index 0000000000..5c04039133 Binary files /dev/null and b/public/assets/fonts/cache/beta_big-atom.gif differ diff --git a/public/assets/fonts/cache/beta_small-atom.gif b/public/assets/fonts/cache/beta_small-atom.gif new file mode 100644 index 0000000000..7abc26554a Binary files /dev/null and b/public/assets/fonts/cache/beta_small-atom.gif differ diff --git a/public/assets/fonts/cache/beta_small_old-atom.gif b/public/assets/fonts/cache/beta_small_old-atom.gif new file mode 100644 index 0000000000..11e87c9297 Binary files /dev/null and b/public/assets/fonts/cache/beta_small_old-atom.gif differ diff --git a/public/assets/fonts/cache/black-atom.gif b/public/assets/fonts/cache/black-atom.gif new file mode 100644 index 0000000000..163f46239f Binary files /dev/null and b/public/assets/fonts/cache/black-atom.gif differ diff --git a/public/assets/fonts/cache/bling-atom.gif b/public/assets/fonts/cache/bling-atom.gif new file mode 100644 index 0000000000..9e96a28e2e Binary files /dev/null and b/public/assets/fonts/cache/bling-atom.gif differ diff --git a/public/assets/fonts/cache/bling_gold-atom.gif b/public/assets/fonts/cache/bling_gold-atom.gif new file mode 100644 index 0000000000..4cb0bbbab6 Binary files /dev/null and b/public/assets/fonts/cache/bling_gold-atom.gif differ diff --git a/public/assets/fonts/cache/bones-atom.gif b/public/assets/fonts/cache/bones-atom.gif new file mode 100644 index 0000000000..2b33d62738 Binary files /dev/null and b/public/assets/fonts/cache/bones-atom.gif differ diff --git a/public/assets/fonts/cache/books-atom.gif b/public/assets/fonts/cache/books-atom.gif new file mode 100644 index 0000000000..7e97a6e0a3 Binary files /dev/null and b/public/assets/fonts/cache/books-atom.gif differ diff --git a/public/assets/fonts/cache/bots-atom.gif b/public/assets/fonts/cache/bots-atom.gif new file mode 100644 index 0000000000..8fd02fdc46 Binary files /dev/null and b/public/assets/fonts/cache/bots-atom.gif differ diff --git a/public/assets/fonts/cache/bubble-atom.gif b/public/assets/fonts/cache/bubble-atom.gif new file mode 100644 index 0000000000..b3b2999f47 Binary files /dev/null and b/public/assets/fonts/cache/bubble-atom.gif differ diff --git a/public/assets/fonts/cache/bubble_blue-atom.gif b/public/assets/fonts/cache/bubble_blue-atom.gif new file mode 100644 index 0000000000..db7bc1548b Binary files /dev/null and b/public/assets/fonts/cache/bubble_blue-atom.gif differ diff --git a/public/assets/fonts/cache/bubble_orange-atom.gif b/public/assets/fonts/cache/bubble_orange-atom.gif new file mode 100644 index 0000000000..aedee32e67 Binary files /dev/null and b/public/assets/fonts/cache/bubble_orange-atom.gif differ diff --git a/public/assets/fonts/cache/bunny_run-atom.gif b/public/assets/fonts/cache/bunny_run-atom.gif new file mode 100644 index 0000000000..1ce0fae647 Binary files /dev/null and b/public/assets/fonts/cache/bunny_run-atom.gif differ diff --git a/public/assets/fonts/cache/bunny_run_blue-atom.gif b/public/assets/fonts/cache/bunny_run_blue-atom.gif new file mode 100644 index 0000000000..9f12580fa8 Binary files /dev/null and b/public/assets/fonts/cache/bunny_run_blue-atom.gif differ diff --git a/public/assets/fonts/cache/buttons-atom.gif b/public/assets/fonts/cache/buttons-atom.gif new file mode 100644 index 0000000000..57135e7c47 Binary files /dev/null and b/public/assets/fonts/cache/buttons-atom.gif differ diff --git a/public/assets/fonts/cache/candy-atom.gif b/public/assets/fonts/cache/candy-atom.gif new file mode 100644 index 0000000000..35e32dc15e Binary files /dev/null and b/public/assets/fonts/cache/candy-atom.gif differ diff --git a/public/assets/fonts/cache/collectibles-atom.gif b/public/assets/fonts/cache/collectibles-atom.gif new file mode 100644 index 0000000000..9b1ae88df1 Binary files /dev/null and b/public/assets/fonts/cache/collectibles-atom.gif differ diff --git a/public/assets/fonts/cache/crystal-atom.gif b/public/assets/fonts/cache/crystal-atom.gif new file mode 100644 index 0000000000..3d1c4be47b Binary files /dev/null and b/public/assets/fonts/cache/crystal-atom.gif differ diff --git a/public/assets/fonts/cache/cubie-atom.gif b/public/assets/fonts/cache/cubie-atom.gif new file mode 100644 index 0000000000..166b111b28 Binary files /dev/null and b/public/assets/fonts/cache/cubie-atom.gif differ diff --git a/public/assets/fonts/cache/dinner_blue-atom.gif b/public/assets/fonts/cache/dinner_blue-atom.gif new file mode 100644 index 0000000000..ff6d58d6fb Binary files /dev/null and b/public/assets/fonts/cache/dinner_blue-atom.gif differ diff --git a/public/assets/fonts/cache/dinner_green-atom.gif b/public/assets/fonts/cache/dinner_green-atom.gif new file mode 100644 index 0000000000..8ac2af66bf Binary files /dev/null and b/public/assets/fonts/cache/dinner_green-atom.gif differ diff --git a/public/assets/fonts/cache/dinner_red-atom.gif b/public/assets/fonts/cache/dinner_red-atom.gif new file mode 100644 index 0000000000..acbf8207d8 Binary files /dev/null and b/public/assets/fonts/cache/dinner_red-atom.gif differ diff --git a/public/assets/fonts/cache/disco-atom.gif b/public/assets/fonts/cache/disco-atom.gif new file mode 100644 index 0000000000..c57f91540a Binary files /dev/null and b/public/assets/fonts/cache/disco-atom.gif differ diff --git a/public/assets/fonts/cache/dreams-atom.gif b/public/assets/fonts/cache/dreams-atom.gif new file mode 100644 index 0000000000..0d554310e5 Binary files /dev/null and b/public/assets/fonts/cache/dreams-atom.gif differ diff --git a/public/assets/fonts/cache/dreams_flat-atom.gif b/public/assets/fonts/cache/dreams_flat-atom.gif new file mode 100644 index 0000000000..dd07445cad Binary files /dev/null and b/public/assets/fonts/cache/dreams_flat-atom.gif differ diff --git a/public/assets/fonts/cache/duckets-atom.gif b/public/assets/fonts/cache/duckets-atom.gif new file mode 100644 index 0000000000..2502a4ec3d Binary files /dev/null and b/public/assets/fonts/cache/duckets-atom.gif differ diff --git a/public/assets/fonts/cache/emo-atom.gif b/public/assets/fonts/cache/emo-atom.gif new file mode 100644 index 0000000000..84daaeb35e Binary files /dev/null and b/public/assets/fonts/cache/emo-atom.gif differ diff --git a/public/assets/fonts/cache/exchange-atom.gif b/public/assets/fonts/cache/exchange-atom.gif new file mode 100644 index 0000000000..ccdd0ac23b Binary files /dev/null and b/public/assets/fonts/cache/exchange-atom.gif differ diff --git a/public/assets/fonts/cache/executive-atom.gif b/public/assets/fonts/cache/executive-atom.gif new file mode 100644 index 0000000000..f5e7c6dbb3 Binary files /dev/null and b/public/assets/fonts/cache/executive-atom.gif differ diff --git a/public/assets/fonts/cache/explore-atom.gif b/public/assets/fonts/cache/explore-atom.gif new file mode 100644 index 0000000000..b609d957e2 Binary files /dev/null and b/public/assets/fonts/cache/explore-atom.gif differ diff --git a/public/assets/fonts/cache/explore_big-atom.gif b/public/assets/fonts/cache/explore_big-atom.gif new file mode 100644 index 0000000000..e65095b0b1 Binary files /dev/null and b/public/assets/fonts/cache/explore_big-atom.gif differ diff --git a/public/assets/fonts/cache/explore_small-atom.gif b/public/assets/fonts/cache/explore_small-atom.gif new file mode 100644 index 0000000000..847b59f79d Binary files /dev/null and b/public/assets/fonts/cache/explore_small-atom.gif differ diff --git a/public/assets/fonts/cache/faq-atom.gif b/public/assets/fonts/cache/faq-atom.gif new file mode 100644 index 0000000000..a930d2007c Binary files /dev/null and b/public/assets/fonts/cache/faq-atom.gif differ diff --git a/public/assets/fonts/cache/fbomb-atom.gif b/public/assets/fonts/cache/fbomb-atom.gif new file mode 100644 index 0000000000..2638d6763a Binary files /dev/null and b/public/assets/fonts/cache/fbomb-atom.gif differ diff --git a/public/assets/fonts/cache/festival-atom.gif b/public/assets/fonts/cache/festival-atom.gif new file mode 100644 index 0000000000..e254a37b1c Binary files /dev/null and b/public/assets/fonts/cache/festival-atom.gif differ diff --git a/public/assets/fonts/cache/flags-atom.gif b/public/assets/fonts/cache/flags-atom.gif new file mode 100644 index 0000000000..236d86ff90 Binary files /dev/null and b/public/assets/fonts/cache/flags-atom.gif differ diff --git a/public/assets/fonts/cache/freehand-atom.gif b/public/assets/fonts/cache/freehand-atom.gif new file mode 100644 index 0000000000..4e9b81d70d Binary files /dev/null and b/public/assets/fonts/cache/freehand-atom.gif differ diff --git a/public/assets/fonts/cache/fx-atom.gif b/public/assets/fonts/cache/fx-atom.gif new file mode 100644 index 0000000000..d89924d161 Binary files /dev/null and b/public/assets/fonts/cache/fx-atom.gif differ diff --git a/public/assets/fonts/cache/gallery-atom.gif b/public/assets/fonts/cache/gallery-atom.gif new file mode 100644 index 0000000000..25f1575231 Binary files /dev/null and b/public/assets/fonts/cache/gallery-atom.gif differ diff --git a/public/assets/fonts/cache/gaming-atom.gif b/public/assets/fonts/cache/gaming-atom.gif new file mode 100644 index 0000000000..b043cf05e4 Binary files /dev/null and b/public/assets/fonts/cache/gaming-atom.gif differ diff --git a/public/assets/fonts/cache/gift-atom.gif b/public/assets/fonts/cache/gift-atom.gif new file mode 100644 index 0000000000..e04327ad9f Binary files /dev/null and b/public/assets/fonts/cache/gift-atom.gif differ diff --git a/public/assets/fonts/cache/gold_big-atom.gif b/public/assets/fonts/cache/gold_big-atom.gif new file mode 100644 index 0000000000..e71c33f8e0 Binary files /dev/null and b/public/assets/fonts/cache/gold_big-atom.gif differ diff --git a/public/assets/fonts/cache/goldentemple-atom.gif b/public/assets/fonts/cache/goldentemple-atom.gif new file mode 100644 index 0000000000..d14f6dd961 Binary files /dev/null and b/public/assets/fonts/cache/goldentemple-atom.gif differ diff --git a/public/assets/fonts/cache/gravity-atom.gif b/public/assets/fonts/cache/gravity-atom.gif new file mode 100644 index 0000000000..7a6ca14c98 Binary files /dev/null and b/public/assets/fonts/cache/gravity-atom.gif differ diff --git a/public/assets/fonts/cache/habbid_blue-atom.gif b/public/assets/fonts/cache/habbid_blue-atom.gif new file mode 100644 index 0000000000..8f1e85cbad Binary files /dev/null and b/public/assets/fonts/cache/habbid_blue-atom.gif differ diff --git a/public/assets/fonts/cache/habbid_red-atom.gif b/public/assets/fonts/cache/habbid_red-atom.gif new file mode 100644 index 0000000000..b146c47d6e Binary files /dev/null and b/public/assets/fonts/cache/habbid_red-atom.gif differ diff --git a/public/assets/fonts/cache/habbnew-atom.gif b/public/assets/fonts/cache/habbnew-atom.gif new file mode 100644 index 0000000000..82e41633ae Binary files /dev/null and b/public/assets/fonts/cache/habbnew-atom.gif differ diff --git a/public/assets/fonts/cache/habbo_big-atom.gif b/public/assets/fonts/cache/habbo_big-atom.gif new file mode 100644 index 0000000000..3e4827c1c2 Binary files /dev/null and b/public/assets/fonts/cache/habbo_big-atom.gif differ diff --git a/public/assets/fonts/cache/habbo_blocky-atom.gif b/public/assets/fonts/cache/habbo_blocky-atom.gif new file mode 100644 index 0000000000..6f73a64416 Binary files /dev/null and b/public/assets/fonts/cache/habbo_blocky-atom.gif differ diff --git a/public/assets/fonts/cache/habbo_clicker-atom.gif b/public/assets/fonts/cache/habbo_clicker-atom.gif new file mode 100644 index 0000000000..5b7aae6a84 Binary files /dev/null and b/public/assets/fonts/cache/habbo_clicker-atom.gif differ diff --git a/public/assets/fonts/cache/habbo_new-atom.gif b/public/assets/fonts/cache/habbo_new-atom.gif new file mode 100644 index 0000000000..0c16906e37 Binary files /dev/null and b/public/assets/fonts/cache/habbo_new-atom.gif differ diff --git a/public/assets/fonts/cache/habbo_new_big-atom.gif b/public/assets/fonts/cache/habbo_new_big-atom.gif new file mode 100644 index 0000000000..fca39546d8 Binary files /dev/null and b/public/assets/fonts/cache/habbo_new_big-atom.gif differ diff --git a/public/assets/fonts/cache/habbo_news-atom.gif b/public/assets/fonts/cache/habbo_news-atom.gif new file mode 100644 index 0000000000..ab74cfba91 Binary files /dev/null and b/public/assets/fonts/cache/habbo_news-atom.gif differ diff --git a/public/assets/fonts/cache/habbo_old_big-atom.gif b/public/assets/fonts/cache/habbo_old_big-atom.gif new file mode 100644 index 0000000000..b387ccd1f1 Binary files /dev/null and b/public/assets/fonts/cache/habbo_old_big-atom.gif differ diff --git a/public/assets/fonts/cache/habbo_oldschool-atom.gif b/public/assets/fonts/cache/habbo_oldschool-atom.gif new file mode 100644 index 0000000000..10525cb6d5 Binary files /dev/null and b/public/assets/fonts/cache/habbo_oldschool-atom.gif differ diff --git a/public/assets/fonts/cache/habbo_ribbon-atom.gif b/public/assets/fonts/cache/habbo_ribbon-atom.gif new file mode 100644 index 0000000000..25764bd6b0 Binary files /dev/null and b/public/assets/fonts/cache/habbo_ribbon-atom.gif differ diff --git a/public/assets/fonts/cache/habbo_runway-atom.gif b/public/assets/fonts/cache/habbo_runway-atom.gif new file mode 100644 index 0000000000..849f262da0 Binary files /dev/null and b/public/assets/fonts/cache/habbo_runway-atom.gif differ diff --git a/public/assets/fonts/cache/habbo_tiny-atom.gif b/public/assets/fonts/cache/habbo_tiny-atom.gif new file mode 100644 index 0000000000..9cc802d7d5 Binary files /dev/null and b/public/assets/fonts/cache/habbo_tiny-atom.gif differ diff --git a/public/assets/fonts/cache/habboclub-atom.gif b/public/assets/fonts/cache/habboclub-atom.gif new file mode 100644 index 0000000000..2185f04307 Binary files /dev/null and b/public/assets/fonts/cache/habboclub-atom.gif differ diff --git a/public/assets/fonts/cache/habboclub_banner-atom.gif b/public/assets/fonts/cache/habboclub_banner-atom.gif new file mode 100644 index 0000000000..7a9c053bb2 Binary files /dev/null and b/public/assets/fonts/cache/habboclub_banner-atom.gif differ diff --git a/public/assets/fonts/cache/habboclub_complete-atom.gif b/public/assets/fonts/cache/habboclub_complete-atom.gif new file mode 100644 index 0000000000..cc99d44ee3 Binary files /dev/null and b/public/assets/fonts/cache/habboclub_complete-atom.gif differ diff --git a/public/assets/fonts/cache/habboclub_silver-atom.gif b/public/assets/fonts/cache/habboclub_silver-atom.gif new file mode 100644 index 0000000000..5495b99b90 Binary files /dev/null and b/public/assets/fonts/cache/habboclub_silver-atom.gif differ diff --git a/public/assets/fonts/cache/habbolife-atom.gif b/public/assets/fonts/cache/habbolife-atom.gif new file mode 100644 index 0000000000..3e36874d7d Binary files /dev/null and b/public/assets/fonts/cache/habbolife-atom.gif differ diff --git a/public/assets/fonts/cache/habbovip-atom.gif b/public/assets/fonts/cache/habbovip-atom.gif new file mode 100644 index 0000000000..6c95900a23 Binary files /dev/null and b/public/assets/fonts/cache/habbovip-atom.gif differ diff --git a/public/assets/fonts/cache/habbovip_banner-atom.gif b/public/assets/fonts/cache/habbovip_banner-atom.gif new file mode 100644 index 0000000000..a2497be8e1 Binary files /dev/null and b/public/assets/fonts/cache/habbovip_banner-atom.gif differ diff --git a/public/assets/fonts/cache/habbowood-atom.gif b/public/assets/fonts/cache/habbowood-atom.gif new file mode 100644 index 0000000000..e92df26b1e Binary files /dev/null and b/public/assets/fonts/cache/habbowood-atom.gif differ diff --git a/public/assets/fonts/cache/habbowood_big-atom.gif b/public/assets/fonts/cache/habbowood_big-atom.gif new file mode 100644 index 0000000000..4d21fa9575 Binary files /dev/null and b/public/assets/fonts/cache/habbowood_big-atom.gif differ diff --git a/public/assets/fonts/cache/habjoy-atom.gif b/public/assets/fonts/cache/habjoy-atom.gif new file mode 100644 index 0000000000..d12eb476eb Binary files /dev/null and b/public/assets/fonts/cache/habjoy-atom.gif differ diff --git a/public/assets/fonts/cache/habjoy_light-atom.gif b/public/assets/fonts/cache/habjoy_light-atom.gif new file mode 100644 index 0000000000..c42981f59d Binary files /dev/null and b/public/assets/fonts/cache/habjoy_light-atom.gif differ diff --git a/public/assets/fonts/cache/halloween-atom.gif b/public/assets/fonts/cache/halloween-atom.gif new file mode 100644 index 0000000000..1ef9d38eb0 Binary files /dev/null and b/public/assets/fonts/cache/halloween-atom.gif differ diff --git a/public/assets/fonts/cache/halloween_2-atom.gif b/public/assets/fonts/cache/halloween_2-atom.gif new file mode 100644 index 0000000000..eee1084ab0 Binary files /dev/null and b/public/assets/fonts/cache/halloween_2-atom.gif differ diff --git a/public/assets/fonts/cache/halloween_3-atom.gif b/public/assets/fonts/cache/halloween_3-atom.gif new file mode 100644 index 0000000000..3a79109729 Binary files /dev/null and b/public/assets/fonts/cache/halloween_3-atom.gif differ diff --git a/public/assets/fonts/cache/hands-atom.gif b/public/assets/fonts/cache/hands-atom.gif new file mode 100644 index 0000000000..ff96ccad03 Binary files /dev/null and b/public/assets/fonts/cache/hands-atom.gif differ diff --git a/public/assets/fonts/cache/hc-atom.gif b/public/assets/fonts/cache/hc-atom.gif new file mode 100644 index 0000000000..6f6db3a0fc Binary files /dev/null and b/public/assets/fonts/cache/hc-atom.gif differ diff --git a/public/assets/fonts/cache/hc_big-atom.gif b/public/assets/fonts/cache/hc_big-atom.gif new file mode 100644 index 0000000000..66609e57e9 Binary files /dev/null and b/public/assets/fonts/cache/hc_big-atom.gif differ diff --git a/public/assets/fonts/cache/hc_compact-atom.gif b/public/assets/fonts/cache/hc_compact-atom.gif new file mode 100644 index 0000000000..a4b51ffc4f Binary files /dev/null and b/public/assets/fonts/cache/hc_compact-atom.gif differ diff --git a/public/assets/fonts/cache/hc_gold-atom.gif b/public/assets/fonts/cache/hc_gold-atom.gif new file mode 100644 index 0000000000..162996a2b0 Binary files /dev/null and b/public/assets/fonts/cache/hc_gold-atom.gif differ diff --git a/public/assets/fonts/cache/hc_small-atom.gif b/public/assets/fonts/cache/hc_small-atom.gif new file mode 100644 index 0000000000..2f6931108e Binary files /dev/null and b/public/assets/fonts/cache/hc_small-atom.gif differ diff --git a/public/assets/fonts/cache/hello-atom.gif b/public/assets/fonts/cache/hello-atom.gif new file mode 100644 index 0000000000..bea6fc71b2 Binary files /dev/null and b/public/assets/fonts/cache/hello-atom.gif differ diff --git a/public/assets/fonts/cache/hma-atom.gif b/public/assets/fonts/cache/hma-atom.gif new file mode 100644 index 0000000000..1f7aa46be8 Binary files /dev/null and b/public/assets/fonts/cache/hma-atom.gif differ diff --git a/public/assets/fonts/cache/horse-atom.gif b/public/assets/fonts/cache/horse-atom.gif new file mode 100644 index 0000000000..2db8821d82 Binary files /dev/null and b/public/assets/fonts/cache/horse-atom.gif differ diff --git a/public/assets/fonts/cache/ice-atom.gif b/public/assets/fonts/cache/ice-atom.gif new file mode 100644 index 0000000000..7ce84464e2 Binary files /dev/null and b/public/assets/fonts/cache/ice-atom.gif differ diff --git a/public/assets/fonts/cache/iced-atom.gif b/public/assets/fonts/cache/iced-atom.gif new file mode 100644 index 0000000000..6bb396313e Binary files /dev/null and b/public/assets/fonts/cache/iced-atom.gif differ diff --git a/public/assets/fonts/cache/iron-atom.gif b/public/assets/fonts/cache/iron-atom.gif new file mode 100644 index 0000000000..ced81a4e63 Binary files /dev/null and b/public/assets/fonts/cache/iron-atom.gif differ diff --git a/public/assets/fonts/cache/japan-atom.gif b/public/assets/fonts/cache/japan-atom.gif new file mode 100644 index 0000000000..11a49c2ab5 Binary files /dev/null and b/public/assets/fonts/cache/japan-atom.gif differ diff --git a/public/assets/fonts/cache/jurrasic-atom.gif b/public/assets/fonts/cache/jurrasic-atom.gif new file mode 100644 index 0000000000..6312128cdc Binary files /dev/null and b/public/assets/fonts/cache/jurrasic-atom.gif differ diff --git a/public/assets/fonts/cache/lido-atom.gif b/public/assets/fonts/cache/lido-atom.gif new file mode 100644 index 0000000000..a022403612 Binary files /dev/null and b/public/assets/fonts/cache/lido-atom.gif differ diff --git a/public/assets/fonts/cache/love-atom.gif b/public/assets/fonts/cache/love-atom.gif new file mode 100644 index 0000000000..4d596c8dda Binary files /dev/null and b/public/assets/fonts/cache/love-atom.gif differ diff --git a/public/assets/fonts/cache/love_full-atom.gif b/public/assets/fonts/cache/love_full-atom.gif new file mode 100644 index 0000000000..380b2da4b1 Binary files /dev/null and b/public/assets/fonts/cache/love_full-atom.gif differ diff --git a/public/assets/fonts/cache/marketplace_full-atom.gif b/public/assets/fonts/cache/marketplace_full-atom.gif new file mode 100644 index 0000000000..9ed71f41bc Binary files /dev/null and b/public/assets/fonts/cache/marketplace_full-atom.gif differ diff --git a/public/assets/fonts/cache/marketplace_red-atom.gif b/public/assets/fonts/cache/marketplace_red-atom.gif new file mode 100644 index 0000000000..77584ad422 Binary files /dev/null and b/public/assets/fonts/cache/marketplace_red-atom.gif differ diff --git a/public/assets/fonts/cache/mini_white-atom.gif b/public/assets/fonts/cache/mini_white-atom.gif new file mode 100644 index 0000000000..fb6c545284 Binary files /dev/null and b/public/assets/fonts/cache/mini_white-atom.gif differ diff --git a/public/assets/fonts/cache/monkey-atom.gif b/public/assets/fonts/cache/monkey-atom.gif new file mode 100644 index 0000000000..5dff0dce7f Binary files /dev/null and b/public/assets/fonts/cache/monkey-atom.gif differ diff --git a/public/assets/fonts/cache/mushroom-atom.gif b/public/assets/fonts/cache/mushroom-atom.gif new file mode 100644 index 0000000000..9bb646ecae Binary files /dev/null and b/public/assets/fonts/cache/mushroom-atom.gif differ diff --git a/public/assets/fonts/cache/mushroom_green-atom.gif b/public/assets/fonts/cache/mushroom_green-atom.gif new file mode 100644 index 0000000000..240917d094 Binary files /dev/null and b/public/assets/fonts/cache/mushroom_green-atom.gif differ diff --git a/public/assets/fonts/cache/neon_blue-atom.gif b/public/assets/fonts/cache/neon_blue-atom.gif new file mode 100644 index 0000000000..cc34dad851 Binary files /dev/null and b/public/assets/fonts/cache/neon_blue-atom.gif differ diff --git a/public/assets/fonts/cache/neon_green-atom.gif b/public/assets/fonts/cache/neon_green-atom.gif new file mode 100644 index 0000000000..ea3e6b8dde Binary files /dev/null and b/public/assets/fonts/cache/neon_green-atom.gif differ diff --git a/public/assets/fonts/cache/neon_pink-atom.gif b/public/assets/fonts/cache/neon_pink-atom.gif new file mode 100644 index 0000000000..262fdbb4eb Binary files /dev/null and b/public/assets/fonts/cache/neon_pink-atom.gif differ diff --git a/public/assets/fonts/cache/occasional-atom.gif b/public/assets/fonts/cache/occasional-atom.gif new file mode 100644 index 0000000000..0214f4c330 Binary files /dev/null and b/public/assets/fonts/cache/occasional-atom.gif differ diff --git a/public/assets/fonts/cache/palooza-atom.gif b/public/assets/fonts/cache/palooza-atom.gif new file mode 100644 index 0000000000..2dde42a05c Binary files /dev/null and b/public/assets/fonts/cache/palooza-atom.gif differ diff --git a/public/assets/fonts/cache/palooza_blue-atom.gif b/public/assets/fonts/cache/palooza_blue-atom.gif new file mode 100644 index 0000000000..9556f6b291 Binary files /dev/null and b/public/assets/fonts/cache/palooza_blue-atom.gif differ diff --git a/public/assets/fonts/cache/paradise-atom.gif b/public/assets/fonts/cache/paradise-atom.gif new file mode 100644 index 0000000000..6a23d0a6d0 Binary files /dev/null and b/public/assets/fonts/cache/paradise-atom.gif differ diff --git a/public/assets/fonts/cache/paradise_rounded-atom.gif b/public/assets/fonts/cache/paradise_rounded-atom.gif new file mode 100644 index 0000000000..11bb347e51 Binary files /dev/null and b/public/assets/fonts/cache/paradise_rounded-atom.gif differ diff --git a/public/assets/fonts/cache/pets-atom.gif b/public/assets/fonts/cache/pets-atom.gif new file mode 100644 index 0000000000..37243f2687 Binary files /dev/null and b/public/assets/fonts/cache/pets-atom.gif differ diff --git a/public/assets/fonts/cache/pillow_orange-atom.gif b/public/assets/fonts/cache/pillow_orange-atom.gif new file mode 100644 index 0000000000..c8e2f1b6dc Binary files /dev/null and b/public/assets/fonts/cache/pillow_orange-atom.gif differ diff --git a/public/assets/fonts/cache/pillow_pink-atom.gif b/public/assets/fonts/cache/pillow_pink-atom.gif new file mode 100644 index 0000000000..9db836facb Binary files /dev/null and b/public/assets/fonts/cache/pillow_pink-atom.gif differ diff --git a/public/assets/fonts/cache/pipes-atom.gif b/public/assets/fonts/cache/pipes-atom.gif new file mode 100644 index 0000000000..e4ed64bb0c Binary files /dev/null and b/public/assets/fonts/cache/pipes-atom.gif differ diff --git a/public/assets/fonts/cache/plants-atom.gif b/public/assets/fonts/cache/plants-atom.gif new file mode 100644 index 0000000000..e31b565157 Binary files /dev/null and b/public/assets/fonts/cache/plants-atom.gif differ diff --git a/public/assets/fonts/cache/plastic-atom.gif b/public/assets/fonts/cache/plastic-atom.gif new file mode 100644 index 0000000000..d5c834b553 Binary files /dev/null and b/public/assets/fonts/cache/plastic-atom.gif differ diff --git a/public/assets/fonts/cache/plastic_playful-atom.gif b/public/assets/fonts/cache/plastic_playful-atom.gif new file mode 100644 index 0000000000..acd4886f8b Binary files /dev/null and b/public/assets/fonts/cache/plastic_playful-atom.gif differ diff --git a/public/assets/fonts/cache/reception-atom.gif b/public/assets/fonts/cache/reception-atom.gif new file mode 100644 index 0000000000..04a6d45e31 Binary files /dev/null and b/public/assets/fonts/cache/reception-atom.gif differ diff --git a/public/assets/fonts/cache/recycle-atom.gif b/public/assets/fonts/cache/recycle-atom.gif new file mode 100644 index 0000000000..f413eda57a Binary files /dev/null and b/public/assets/fonts/cache/recycle-atom.gif differ diff --git a/public/assets/fonts/cache/relax-atom.gif b/public/assets/fonts/cache/relax-atom.gif new file mode 100644 index 0000000000..dbd697243a Binary files /dev/null and b/public/assets/fonts/cache/relax-atom.gif differ diff --git a/public/assets/fonts/cache/retropixel-atom.gif b/public/assets/fonts/cache/retropixel-atom.gif new file mode 100644 index 0000000000..4b6a3b5f95 Binary files /dev/null and b/public/assets/fonts/cache/retropixel-atom.gif differ diff --git a/public/assets/fonts/cache/rugs-atom.gif b/public/assets/fonts/cache/rugs-atom.gif new file mode 100644 index 0000000000..343b421d93 Binary files /dev/null and b/public/assets/fonts/cache/rugs-atom.gif differ diff --git a/public/assets/fonts/cache/sale-atom.gif b/public/assets/fonts/cache/sale-atom.gif new file mode 100644 index 0000000000..d8dc7fb002 Binary files /dev/null and b/public/assets/fonts/cache/sale-atom.gif differ diff --git a/public/assets/fonts/cache/scifi-atom.gif b/public/assets/fonts/cache/scifi-atom.gif new file mode 100644 index 0000000000..6084babf2f Binary files /dev/null and b/public/assets/fonts/cache/scifi-atom.gif differ diff --git a/public/assets/fonts/cache/shalimar-atom.gif b/public/assets/fonts/cache/shalimar-atom.gif new file mode 100644 index 0000000000..7dde26b281 Binary files /dev/null and b/public/assets/fonts/cache/shalimar-atom.gif differ diff --git a/public/assets/fonts/cache/shalimar_big-atom.gif b/public/assets/fonts/cache/shalimar_big-atom.gif new file mode 100644 index 0000000000..092fda2ead Binary files /dev/null and b/public/assets/fonts/cache/shalimar_big-atom.gif differ diff --git a/public/assets/fonts/cache/shalimar_small-atom.gif b/public/assets/fonts/cache/shalimar_small-atom.gif new file mode 100644 index 0000000000..3406bfc1aa Binary files /dev/null and b/public/assets/fonts/cache/shalimar_small-atom.gif differ diff --git a/public/assets/fonts/cache/soccer-atom.gif b/public/assets/fonts/cache/soccer-atom.gif new file mode 100644 index 0000000000..9f48312e3f Binary files /dev/null and b/public/assets/fonts/cache/soccer-atom.gif differ diff --git a/public/assets/fonts/cache/soccer_big-atom.gif b/public/assets/fonts/cache/soccer_big-atom.gif new file mode 100644 index 0000000000..7ffe0c0a77 Binary files /dev/null and b/public/assets/fonts/cache/soccer_big-atom.gif differ diff --git a/public/assets/fonts/cache/soccer_red-atom.gif b/public/assets/fonts/cache/soccer_red-atom.gif new file mode 100644 index 0000000000..3d77a50d7c Binary files /dev/null and b/public/assets/fonts/cache/soccer_red-atom.gif differ diff --git a/public/assets/fonts/cache/soccer_yellow-atom.gif b/public/assets/fonts/cache/soccer_yellow-atom.gif new file mode 100644 index 0000000000..bd9fdf7f8f Binary files /dev/null and b/public/assets/fonts/cache/soccer_yellow-atom.gif differ diff --git a/public/assets/fonts/cache/space-atom.gif b/public/assets/fonts/cache/space-atom.gif new file mode 100644 index 0000000000..f483f49d2d Binary files /dev/null and b/public/assets/fonts/cache/space-atom.gif differ diff --git a/public/assets/fonts/cache/spaces-atom.gif b/public/assets/fonts/cache/spaces-atom.gif new file mode 100644 index 0000000000..e75764546e Binary files /dev/null and b/public/assets/fonts/cache/spaces-atom.gif differ diff --git a/public/assets/fonts/cache/special_offers-atom.gif b/public/assets/fonts/cache/special_offers-atom.gif new file mode 100644 index 0000000000..c9258d5346 Binary files /dev/null and b/public/assets/fonts/cache/special_offers-atom.gif differ diff --git a/public/assets/fonts/cache/steampunk-atom.gif b/public/assets/fonts/cache/steampunk-atom.gif new file mode 100644 index 0000000000..34d3849631 Binary files /dev/null and b/public/assets/fonts/cache/steampunk-atom.gif differ diff --git a/public/assets/fonts/cache/straypixels-atom.gif b/public/assets/fonts/cache/straypixels-atom.gif new file mode 100644 index 0000000000..34bf7ce54f Binary files /dev/null and b/public/assets/fonts/cache/straypixels-atom.gif differ diff --git a/public/assets/fonts/cache/summer-atom.gif b/public/assets/fonts/cache/summer-atom.gif new file mode 100644 index 0000000000..ea927d9488 Binary files /dev/null and b/public/assets/fonts/cache/summer-atom.gif differ diff --git a/public/assets/fonts/cache/teleport-atom.gif b/public/assets/fonts/cache/teleport-atom.gif new file mode 100644 index 0000000000..296782e6b0 Binary files /dev/null and b/public/assets/fonts/cache/teleport-atom.gif differ diff --git a/public/assets/fonts/cache/theater_lights-atom.gif b/public/assets/fonts/cache/theater_lights-atom.gif new file mode 100644 index 0000000000..a86f3b239c Binary files /dev/null and b/public/assets/fonts/cache/theater_lights-atom.gif differ diff --git a/public/assets/fonts/cache/tribe-atom.gif b/public/assets/fonts/cache/tribe-atom.gif new file mode 100644 index 0000000000..d209723d46 Binary files /dev/null and b/public/assets/fonts/cache/tribe-atom.gif differ diff --git a/public/assets/fonts/cache/trophies-atom.gif b/public/assets/fonts/cache/trophies-atom.gif new file mode 100644 index 0000000000..e76c3dd67c Binary files /dev/null and b/public/assets/fonts/cache/trophies-atom.gif differ diff --git a/public/assets/fonts/cache/unknown_blue-atom.gif b/public/assets/fonts/cache/unknown_blue-atom.gif new file mode 100644 index 0000000000..cd6230708d Binary files /dev/null and b/public/assets/fonts/cache/unknown_blue-atom.gif differ diff --git a/public/assets/fonts/cache/unknown_blue_2-atom.gif b/public/assets/fonts/cache/unknown_blue_2-atom.gif new file mode 100644 index 0000000000..ef93d94519 Binary files /dev/null and b/public/assets/fonts/cache/unknown_blue_2-atom.gif differ diff --git a/public/assets/fonts/cache/unknown_metal-atom.gif b/public/assets/fonts/cache/unknown_metal-atom.gif new file mode 100644 index 0000000000..a1d84c5aa7 Binary files /dev/null and b/public/assets/fonts/cache/unknown_metal-atom.gif differ diff --git a/public/assets/fonts/cache/unknown_pillow_1-atom.gif b/public/assets/fonts/cache/unknown_pillow_1-atom.gif new file mode 100644 index 0000000000..cf808906d4 Binary files /dev/null and b/public/assets/fonts/cache/unknown_pillow_1-atom.gif differ diff --git a/public/assets/fonts/cache/unknown_pillow_2-atom.gif b/public/assets/fonts/cache/unknown_pillow_2-atom.gif new file mode 100644 index 0000000000..26ce399b58 Binary files /dev/null and b/public/assets/fonts/cache/unknown_pillow_2-atom.gif differ diff --git a/public/assets/fonts/cache/unknown_white-atom.gif b/public/assets/fonts/cache/unknown_white-atom.gif new file mode 100644 index 0000000000..a0310eea94 Binary files /dev/null and b/public/assets/fonts/cache/unknown_white-atom.gif differ diff --git a/public/assets/fonts/cache/usva-atom.gif b/public/assets/fonts/cache/usva-atom.gif new file mode 100644 index 0000000000..9b6f163fd9 Binary files /dev/null and b/public/assets/fonts/cache/usva-atom.gif differ diff --git a/public/assets/fonts/cache/valentine-atom.gif b/public/assets/fonts/cache/valentine-atom.gif new file mode 100644 index 0000000000..dcd2b66254 Binary files /dev/null and b/public/assets/fonts/cache/valentine-atom.gif differ diff --git a/public/assets/fonts/cache/volter-atom.gif b/public/assets/fonts/cache/volter-atom.gif new file mode 100644 index 0000000000..0a6f3b528f Binary files /dev/null and b/public/assets/fonts/cache/volter-atom.gif differ diff --git a/public/assets/fonts/cache/volter_modern-atom.gif b/public/assets/fonts/cache/volter_modern-atom.gif new file mode 100644 index 0000000000..b9c338cd46 Binary files /dev/null and b/public/assets/fonts/cache/volter_modern-atom.gif differ diff --git a/public/assets/fonts/cache/volter_modern_small-atom.gif b/public/assets/fonts/cache/volter_modern_small-atom.gif new file mode 100644 index 0000000000..6738390d1f Binary files /dev/null and b/public/assets/fonts/cache/volter_modern_small-atom.gif differ diff --git a/public/assets/fonts/cache/volter_shadow-atom.gif b/public/assets/fonts/cache/volter_shadow-atom.gif new file mode 100644 index 0000000000..c23a69905a Binary files /dev/null and b/public/assets/fonts/cache/volter_shadow-atom.gif differ diff --git a/public/assets/fonts/cache/western-atom.gif b/public/assets/fonts/cache/western-atom.gif new file mode 100644 index 0000000000..9b87b63dcc Binary files /dev/null and b/public/assets/fonts/cache/western-atom.gif differ diff --git a/public/assets/fonts/cache/windows-atom.gif b/public/assets/fonts/cache/windows-atom.gif new file mode 100644 index 0000000000..6cd8cee853 Binary files /dev/null and b/public/assets/fonts/cache/windows-atom.gif differ diff --git a/public/assets/fonts/cache/windows_blue-atom.gif b/public/assets/fonts/cache/windows_blue-atom.gif new file mode 100644 index 0000000000..d19e7ab47c Binary files /dev/null and b/public/assets/fonts/cache/windows_blue-atom.gif differ diff --git a/public/assets/fonts/cache/windows_green-atom.gif b/public/assets/fonts/cache/windows_green-atom.gif new file mode 100644 index 0000000000..8dbd741452 Binary files /dev/null and b/public/assets/fonts/cache/windows_green-atom.gif differ diff --git a/public/assets/fonts/cache/windows_jungle-atom.gif b/public/assets/fonts/cache/windows_jungle-atom.gif new file mode 100644 index 0000000000..1c863cebda Binary files /dev/null and b/public/assets/fonts/cache/windows_jungle-atom.gif differ diff --git a/public/assets/fonts/cache/windows_lowercase-atom.gif b/public/assets/fonts/cache/windows_lowercase-atom.gif new file mode 100644 index 0000000000..9b0953decf Binary files /dev/null and b/public/assets/fonts/cache/windows_lowercase-atom.gif differ diff --git a/public/assets/fonts/cache/windows_pink-atom.gif b/public/assets/fonts/cache/windows_pink-atom.gif new file mode 100644 index 0000000000..644f75c3d9 Binary files /dev/null and b/public/assets/fonts/cache/windows_pink-atom.gif differ diff --git a/public/assets/fonts/cache/windows_purple-atom.gif b/public/assets/fonts/cache/windows_purple-atom.gif new file mode 100644 index 0000000000..920c1df80c Binary files /dev/null and b/public/assets/fonts/cache/windows_purple-atom.gif differ diff --git a/public/assets/fonts/cache/windows_red-atom.gif b/public/assets/fonts/cache/windows_red-atom.gif new file mode 100644 index 0000000000..dbbab1c1f9 Binary files /dev/null and b/public/assets/fonts/cache/windows_red-atom.gif differ diff --git a/public/assets/fonts/cache/windows_red_dark-atom.gif b/public/assets/fonts/cache/windows_red_dark-atom.gif new file mode 100644 index 0000000000..af27ec7570 Binary files /dev/null and b/public/assets/fonts/cache/windows_red_dark-atom.gif differ diff --git a/public/assets/fonts/cache/windows_yellow-atom.gif b/public/assets/fonts/cache/windows_yellow-atom.gif new file mode 100644 index 0000000000..cae96793aa Binary files /dev/null and b/public/assets/fonts/cache/windows_yellow-atom.gif differ diff --git a/public/assets/fonts/cache/wood-atom.gif b/public/assets/fonts/cache/wood-atom.gif new file mode 100644 index 0000000000..5b48abc270 Binary files /dev/null and b/public/assets/fonts/cache/wood-atom.gif differ diff --git a/public/assets/fonts/cache/yellow_text-atom.gif b/public/assets/fonts/cache/yellow_text-atom.gif new file mode 100644 index 0000000000..25d29993e5 Binary files /dev/null and b/public/assets/fonts/cache/yellow_text-atom.gif differ diff --git a/scripts/precache-fonts.ts b/scripts/precache-fonts.ts new file mode 100644 index 0000000000..120fd0e7d2 --- /dev/null +++ b/scripts/precache-fonts.ts @@ -0,0 +1,77 @@ +import { mkdir, writeFile } from "fs/promises"; +import { existsSync } from "fs"; +import path from "path"; + +const CACHE_DIR = "public/assets/fonts/cache"; + +const FONT_STYLES = [ + "habbo_new","habbo_big","habbo_new_big","habbo_old_big","habbo", + "habbo_tiny","habbo_oldschool","habbo_blocky","habjoy","habjoy_light", + "paradise","paradise_rounded","habbnew","habbo_clicker","reception", + "accessoires","africa","alhambra","arctic","asian","asian_small", + "basic","base","bathroom","battlebanzai","bensalem","bensalem_sea", + "bling","bling_gold","bones","books","bots","bubble","bubble_blue", + "bubble_orange","bunny_run","bunny_run_blue","buttons","candy", + "collectibles","crystal","cubie","disco","dreams","dreams_flat", + "duckets","emo","exchange","executive","explore","explore_big", + "explore_small","faq","fbomb","festival","flags","fx","freehand", + "gaming","gallery","goldentemple","gravity","hma","gold_big", + "habbo_news","habbo_runway","habbid_red","habbid_blue","habbolife", + "habbowood","habbowood_big","hands","hello","horse","ice","iced", + "iron","japan","love","marketplace_red","monkey","mushroom", + "mushroom_green","neon_blue","neon_green","neon_pink","occasional", + "palooza","palooza_blue","pets","pillow_orange","pillow_pink","pipes", + "plants","plastic","recycle","retropixel","rugs","sale","shalimar", + "shalimar_big","shalimar_small","soccer","soccer_red","soccer_yellow", + "space","spaces","special_offers","straypixels","steampunk","scifi", + "summer","teleport","theater_lights","tribe","trophies","usva", + "unknown_blue","unknown_blue_2","unknown_metal","unknown_white", + "unknown_pillow_1","unknown_pillow_2","valentine","western","wood", + "yellow_text","jurrasic","halloween","halloween_2","halloween_3", + "plastic_playful","dinner_blue","dinner_green","dinner_red", + "battleball","lido","soccer_big","hc","hc_big","hc_small", + "hc_compact","hc_gold","habboclub","habboclub_banner","habbovip", + "habbovip_banner","agenda","mini_white","volter","volter_shadow", + "volter_modern","volter_modern_small","black","windows", + "windows_lowercase","windows_jungle","windows_blue","windows_green", + "windows_pink","windows_red","windows_red_dark","windows_yellow", + "windows_purple","beta_big","beta_small","beta_small_old","beta", + "habboclub_complete","gift","habboclub_silver","love_full", + "marketplace_full","relax","habbo_ribbon", +]; + +const text = process.argv[2]?.toLowerCase().replace(/\s/g, "+") || "atom"; + +async function main() { + const cacheDir = path.join(process.cwd(), CACHE_DIR); + await mkdir(cacheDir, { recursive: true }); + + let done = 0; + let failed = 0; + + for (const style of FONT_STYLES) { + const cacheFile = `${style}-${text}.gif`; + const cachePath = path.join(cacheDir, cacheFile); + if (existsSync(cachePath)) { + done++; + continue; + } + + const url = `https://habbofont.net/font/${style}/${text}.gif`; + try { + const res = await fetch(url); + if (!res.ok) { failed++; continue; } + const buffer = Buffer.from(await res.arrayBuffer()); + await writeFile(cachePath, buffer); + done++; + process.stdout.write(`✓ ${style}\n`); + } catch { + failed++; + process.stdout.write(`✗ ${style}\n`); + } + } + + console.log(`\nDone: ${done}/${FONT_STYLES.length} cached (${failed} failed)`); +} + +main();