diff --git a/public/assets/fonts/cache/accessoires-atom.gif b/public/assets/fonts/cache/accessoires-atom.gif deleted file mode 100644 index f8fb14ac9b..0000000000 Binary files a/public/assets/fonts/cache/accessoires-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/africa-atom.gif b/public/assets/fonts/cache/africa-atom.gif deleted file mode 100644 index 1a9d2a1acd..0000000000 Binary files a/public/assets/fonts/cache/africa-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/agenda-atom.gif b/public/assets/fonts/cache/agenda-atom.gif deleted file mode 100644 index df601dee65..0000000000 Binary files a/public/assets/fonts/cache/agenda-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/alhambra-atom.gif b/public/assets/fonts/cache/alhambra-atom.gif deleted file mode 100644 index 6599de9a2c..0000000000 Binary files a/public/assets/fonts/cache/alhambra-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/arctic-atom.gif b/public/assets/fonts/cache/arctic-atom.gif deleted file mode 100644 index b004f6e43e..0000000000 Binary files a/public/assets/fonts/cache/arctic-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/asian-atom.gif b/public/assets/fonts/cache/asian-atom.gif deleted file mode 100644 index c9ddb74995..0000000000 Binary files a/public/assets/fonts/cache/asian-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/asian_small-atom.gif b/public/assets/fonts/cache/asian_small-atom.gif deleted file mode 100644 index fe3cccbf34..0000000000 Binary files a/public/assets/fonts/cache/asian_small-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/base-atom.gif b/public/assets/fonts/cache/base-atom.gif deleted file mode 100644 index 29aa09f155..0000000000 Binary files a/public/assets/fonts/cache/base-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/basic-atom.gif b/public/assets/fonts/cache/basic-atom.gif deleted file mode 100644 index 76cdce87cf..0000000000 Binary files a/public/assets/fonts/cache/basic-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bathroom-atom.gif b/public/assets/fonts/cache/bathroom-atom.gif deleted file mode 100644 index 3a8818c41f..0000000000 Binary files a/public/assets/fonts/cache/bathroom-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/battleball-atom.gif b/public/assets/fonts/cache/battleball-atom.gif deleted file mode 100644 index 4fb85e4d95..0000000000 Binary files a/public/assets/fonts/cache/battleball-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/battlebanzai-atom.gif b/public/assets/fonts/cache/battlebanzai-atom.gif deleted file mode 100644 index c036171ff0..0000000000 Binary files a/public/assets/fonts/cache/battlebanzai-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bensalem-atom.gif b/public/assets/fonts/cache/bensalem-atom.gif deleted file mode 100644 index 16a9225ad5..0000000000 Binary files a/public/assets/fonts/cache/bensalem-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bensalem_sea-atom.gif b/public/assets/fonts/cache/bensalem_sea-atom.gif deleted file mode 100644 index c34854cc63..0000000000 Binary files a/public/assets/fonts/cache/bensalem_sea-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/beta-atom.gif b/public/assets/fonts/cache/beta-atom.gif deleted file mode 100644 index 3935e54fd9..0000000000 Binary files a/public/assets/fonts/cache/beta-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/beta_big-atom.gif b/public/assets/fonts/cache/beta_big-atom.gif deleted file mode 100644 index 5c04039133..0000000000 Binary files a/public/assets/fonts/cache/beta_big-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/beta_small-atom.gif b/public/assets/fonts/cache/beta_small-atom.gif deleted file mode 100644 index 7abc26554a..0000000000 Binary files a/public/assets/fonts/cache/beta_small-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/beta_small_old-atom.gif b/public/assets/fonts/cache/beta_small_old-atom.gif deleted file mode 100644 index 11e87c9297..0000000000 Binary files a/public/assets/fonts/cache/beta_small_old-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/black-atom.gif b/public/assets/fonts/cache/black-atom.gif deleted file mode 100644 index 163f46239f..0000000000 Binary files a/public/assets/fonts/cache/black-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bling-atom.gif b/public/assets/fonts/cache/bling-atom.gif deleted file mode 100644 index 9e96a28e2e..0000000000 Binary files a/public/assets/fonts/cache/bling-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bling_gold-atom.gif b/public/assets/fonts/cache/bling_gold-atom.gif deleted file mode 100644 index 4cb0bbbab6..0000000000 Binary files a/public/assets/fonts/cache/bling_gold-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bones-atom.gif b/public/assets/fonts/cache/bones-atom.gif deleted file mode 100644 index 2b33d62738..0000000000 Binary files a/public/assets/fonts/cache/bones-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/books-atom.gif b/public/assets/fonts/cache/books-atom.gif deleted file mode 100644 index 7e97a6e0a3..0000000000 Binary files a/public/assets/fonts/cache/books-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bots-atom.gif b/public/assets/fonts/cache/bots-atom.gif deleted file mode 100644 index 8fd02fdc46..0000000000 Binary files a/public/assets/fonts/cache/bots-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bubble-atom.gif b/public/assets/fonts/cache/bubble-atom.gif deleted file mode 100644 index b3b2999f47..0000000000 Binary files a/public/assets/fonts/cache/bubble-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bubble_blue-atom.gif b/public/assets/fonts/cache/bubble_blue-atom.gif deleted file mode 100644 index db7bc1548b..0000000000 Binary files a/public/assets/fonts/cache/bubble_blue-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bubble_orange-atom.gif b/public/assets/fonts/cache/bubble_orange-atom.gif deleted file mode 100644 index aedee32e67..0000000000 Binary files a/public/assets/fonts/cache/bubble_orange-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bunny_run-atom.gif b/public/assets/fonts/cache/bunny_run-atom.gif deleted file mode 100644 index 1ce0fae647..0000000000 Binary files a/public/assets/fonts/cache/bunny_run-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/bunny_run_blue-atom.gif b/public/assets/fonts/cache/bunny_run_blue-atom.gif deleted file mode 100644 index 9f12580fa8..0000000000 Binary files a/public/assets/fonts/cache/bunny_run_blue-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/buttons-atom.gif b/public/assets/fonts/cache/buttons-atom.gif deleted file mode 100644 index 57135e7c47..0000000000 Binary files a/public/assets/fonts/cache/buttons-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/candy-atom.gif b/public/assets/fonts/cache/candy-atom.gif deleted file mode 100644 index 35e32dc15e..0000000000 Binary files a/public/assets/fonts/cache/candy-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/collectibles-atom.gif b/public/assets/fonts/cache/collectibles-atom.gif deleted file mode 100644 index 9b1ae88df1..0000000000 Binary files a/public/assets/fonts/cache/collectibles-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/crystal-atom.gif b/public/assets/fonts/cache/crystal-atom.gif deleted file mode 100644 index 3d1c4be47b..0000000000 Binary files a/public/assets/fonts/cache/crystal-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/cubie-atom.gif b/public/assets/fonts/cache/cubie-atom.gif deleted file mode 100644 index 166b111b28..0000000000 Binary files a/public/assets/fonts/cache/cubie-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/dinner_blue-atom.gif b/public/assets/fonts/cache/dinner_blue-atom.gif deleted file mode 100644 index ff6d58d6fb..0000000000 Binary files a/public/assets/fonts/cache/dinner_blue-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/dinner_green-atom.gif b/public/assets/fonts/cache/dinner_green-atom.gif deleted file mode 100644 index 8ac2af66bf..0000000000 Binary files a/public/assets/fonts/cache/dinner_green-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/dinner_red-atom.gif b/public/assets/fonts/cache/dinner_red-atom.gif deleted file mode 100644 index acbf8207d8..0000000000 Binary files a/public/assets/fonts/cache/dinner_red-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/disco-atom.gif b/public/assets/fonts/cache/disco-atom.gif deleted file mode 100644 index c57f91540a..0000000000 Binary files a/public/assets/fonts/cache/disco-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/dreams-atom.gif b/public/assets/fonts/cache/dreams-atom.gif deleted file mode 100644 index 0d554310e5..0000000000 Binary files a/public/assets/fonts/cache/dreams-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/dreams_flat-atom.gif b/public/assets/fonts/cache/dreams_flat-atom.gif deleted file mode 100644 index dd07445cad..0000000000 Binary files a/public/assets/fonts/cache/dreams_flat-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/duckets-atom.gif b/public/assets/fonts/cache/duckets-atom.gif deleted file mode 100644 index 2502a4ec3d..0000000000 Binary files a/public/assets/fonts/cache/duckets-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/emo-atom.gif b/public/assets/fonts/cache/emo-atom.gif deleted file mode 100644 index 84daaeb35e..0000000000 Binary files a/public/assets/fonts/cache/emo-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/exchange-atom.gif b/public/assets/fonts/cache/exchange-atom.gif deleted file mode 100644 index ccdd0ac23b..0000000000 Binary files a/public/assets/fonts/cache/exchange-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/executive-atom.gif b/public/assets/fonts/cache/executive-atom.gif deleted file mode 100644 index f5e7c6dbb3..0000000000 Binary files a/public/assets/fonts/cache/executive-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/explore-atom.gif b/public/assets/fonts/cache/explore-atom.gif deleted file mode 100644 index b609d957e2..0000000000 Binary files a/public/assets/fonts/cache/explore-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/explore_big-atom.gif b/public/assets/fonts/cache/explore_big-atom.gif deleted file mode 100644 index e65095b0b1..0000000000 Binary files a/public/assets/fonts/cache/explore_big-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/explore_small-atom.gif b/public/assets/fonts/cache/explore_small-atom.gif deleted file mode 100644 index 847b59f79d..0000000000 Binary files a/public/assets/fonts/cache/explore_small-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/faq-atom.gif b/public/assets/fonts/cache/faq-atom.gif deleted file mode 100644 index a930d2007c..0000000000 Binary files a/public/assets/fonts/cache/faq-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/fbomb-atom.gif b/public/assets/fonts/cache/fbomb-atom.gif deleted file mode 100644 index 2638d6763a..0000000000 Binary files a/public/assets/fonts/cache/fbomb-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/festival-atom.gif b/public/assets/fonts/cache/festival-atom.gif deleted file mode 100644 index e254a37b1c..0000000000 Binary files a/public/assets/fonts/cache/festival-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/flags-atom.gif b/public/assets/fonts/cache/flags-atom.gif deleted file mode 100644 index 236d86ff90..0000000000 Binary files a/public/assets/fonts/cache/flags-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/freehand-atom.gif b/public/assets/fonts/cache/freehand-atom.gif deleted file mode 100644 index 4e9b81d70d..0000000000 Binary files a/public/assets/fonts/cache/freehand-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/fx-atom.gif b/public/assets/fonts/cache/fx-atom.gif deleted file mode 100644 index d89924d161..0000000000 Binary files a/public/assets/fonts/cache/fx-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/gallery-atom.gif b/public/assets/fonts/cache/gallery-atom.gif deleted file mode 100644 index 25f1575231..0000000000 Binary files a/public/assets/fonts/cache/gallery-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/gaming-atom.gif b/public/assets/fonts/cache/gaming-atom.gif deleted file mode 100644 index b043cf05e4..0000000000 Binary files a/public/assets/fonts/cache/gaming-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/gift-atom.gif b/public/assets/fonts/cache/gift-atom.gif deleted file mode 100644 index e04327ad9f..0000000000 Binary files a/public/assets/fonts/cache/gift-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/gold_big-atom.gif b/public/assets/fonts/cache/gold_big-atom.gif deleted file mode 100644 index e71c33f8e0..0000000000 Binary files a/public/assets/fonts/cache/gold_big-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/goldentemple-atom.gif b/public/assets/fonts/cache/goldentemple-atom.gif deleted file mode 100644 index d14f6dd961..0000000000 Binary files a/public/assets/fonts/cache/goldentemple-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/gravity-atom.gif b/public/assets/fonts/cache/gravity-atom.gif deleted file mode 100644 index 7a6ca14c98..0000000000 Binary files a/public/assets/fonts/cache/gravity-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbid_blue-atom.gif b/public/assets/fonts/cache/habbid_blue-atom.gif deleted file mode 100644 index 8f1e85cbad..0000000000 Binary files a/public/assets/fonts/cache/habbid_blue-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbid_red-atom.gif b/public/assets/fonts/cache/habbid_red-atom.gif deleted file mode 100644 index b146c47d6e..0000000000 Binary files a/public/assets/fonts/cache/habbid_red-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbnew-atom.gif b/public/assets/fonts/cache/habbnew-atom.gif deleted file mode 100644 index 82e41633ae..0000000000 Binary files a/public/assets/fonts/cache/habbnew-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo-atom.gif b/public/assets/fonts/cache/habbo-atom.gif deleted file mode 100644 index fd83c084f2..0000000000 Binary files a/public/assets/fonts/cache/habbo-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo_big-atom.gif b/public/assets/fonts/cache/habbo_big-atom.gif deleted file mode 100644 index 3e4827c1c2..0000000000 Binary files a/public/assets/fonts/cache/habbo_big-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo_blocky-atom.gif b/public/assets/fonts/cache/habbo_blocky-atom.gif deleted file mode 100644 index 6f73a64416..0000000000 Binary files a/public/assets/fonts/cache/habbo_blocky-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo_clicker-atom.gif b/public/assets/fonts/cache/habbo_clicker-atom.gif deleted file mode 100644 index 5b7aae6a84..0000000000 Binary files a/public/assets/fonts/cache/habbo_clicker-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo_new-atom.gif b/public/assets/fonts/cache/habbo_new-atom.gif deleted file mode 100644 index 0c16906e37..0000000000 Binary files a/public/assets/fonts/cache/habbo_new-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo_new_big-atom.gif b/public/assets/fonts/cache/habbo_new_big-atom.gif deleted file mode 100644 index fca39546d8..0000000000 Binary files a/public/assets/fonts/cache/habbo_new_big-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo_news-atom.gif b/public/assets/fonts/cache/habbo_news-atom.gif deleted file mode 100644 index ab74cfba91..0000000000 Binary files a/public/assets/fonts/cache/habbo_news-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo_old_big-atom.gif b/public/assets/fonts/cache/habbo_old_big-atom.gif deleted file mode 100644 index b387ccd1f1..0000000000 Binary files a/public/assets/fonts/cache/habbo_old_big-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo_oldschool-atom.gif b/public/assets/fonts/cache/habbo_oldschool-atom.gif deleted file mode 100644 index 10525cb6d5..0000000000 Binary files a/public/assets/fonts/cache/habbo_oldschool-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo_ribbon-atom.gif b/public/assets/fonts/cache/habbo_ribbon-atom.gif deleted file mode 100644 index 25764bd6b0..0000000000 Binary files a/public/assets/fonts/cache/habbo_ribbon-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo_runway-atom.gif b/public/assets/fonts/cache/habbo_runway-atom.gif deleted file mode 100644 index 849f262da0..0000000000 Binary files a/public/assets/fonts/cache/habbo_runway-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbo_tiny-atom.gif b/public/assets/fonts/cache/habbo_tiny-atom.gif deleted file mode 100644 index 9cc802d7d5..0000000000 Binary files a/public/assets/fonts/cache/habbo_tiny-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habboclub-atom.gif b/public/assets/fonts/cache/habboclub-atom.gif deleted file mode 100644 index 2185f04307..0000000000 Binary files a/public/assets/fonts/cache/habboclub-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habboclub_banner-atom.gif b/public/assets/fonts/cache/habboclub_banner-atom.gif deleted file mode 100644 index 7a9c053bb2..0000000000 Binary files a/public/assets/fonts/cache/habboclub_banner-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habboclub_complete-atom.gif b/public/assets/fonts/cache/habboclub_complete-atom.gif deleted file mode 100644 index cc99d44ee3..0000000000 Binary files a/public/assets/fonts/cache/habboclub_complete-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habboclub_silver-atom.gif b/public/assets/fonts/cache/habboclub_silver-atom.gif deleted file mode 100644 index 5495b99b90..0000000000 Binary files a/public/assets/fonts/cache/habboclub_silver-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbolife-atom.gif b/public/assets/fonts/cache/habbolife-atom.gif deleted file mode 100644 index 3e36874d7d..0000000000 Binary files a/public/assets/fonts/cache/habbolife-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbovip-atom.gif b/public/assets/fonts/cache/habbovip-atom.gif deleted file mode 100644 index 6c95900a23..0000000000 Binary files a/public/assets/fonts/cache/habbovip-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbovip_banner-atom.gif b/public/assets/fonts/cache/habbovip_banner-atom.gif deleted file mode 100644 index a2497be8e1..0000000000 Binary files a/public/assets/fonts/cache/habbovip_banner-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbowood-atom.gif b/public/assets/fonts/cache/habbowood-atom.gif deleted file mode 100644 index e92df26b1e..0000000000 Binary files a/public/assets/fonts/cache/habbowood-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habbowood_big-atom.gif b/public/assets/fonts/cache/habbowood_big-atom.gif deleted file mode 100644 index 4d21fa9575..0000000000 Binary files a/public/assets/fonts/cache/habbowood_big-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habjoy-atom.gif b/public/assets/fonts/cache/habjoy-atom.gif deleted file mode 100644 index d12eb476eb..0000000000 Binary files a/public/assets/fonts/cache/habjoy-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/habjoy_light-atom.gif b/public/assets/fonts/cache/habjoy_light-atom.gif deleted file mode 100644 index c42981f59d..0000000000 Binary files a/public/assets/fonts/cache/habjoy_light-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/halloween-atom.gif b/public/assets/fonts/cache/halloween-atom.gif deleted file mode 100644 index 1ef9d38eb0..0000000000 Binary files a/public/assets/fonts/cache/halloween-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/halloween_2-atom.gif b/public/assets/fonts/cache/halloween_2-atom.gif deleted file mode 100644 index eee1084ab0..0000000000 Binary files a/public/assets/fonts/cache/halloween_2-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/halloween_3-atom.gif b/public/assets/fonts/cache/halloween_3-atom.gif deleted file mode 100644 index 3a79109729..0000000000 Binary files a/public/assets/fonts/cache/halloween_3-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/hands-atom.gif b/public/assets/fonts/cache/hands-atom.gif deleted file mode 100644 index ff96ccad03..0000000000 Binary files a/public/assets/fonts/cache/hands-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/hc-atom.gif b/public/assets/fonts/cache/hc-atom.gif deleted file mode 100644 index 6f6db3a0fc..0000000000 Binary files a/public/assets/fonts/cache/hc-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/hc_big-atom.gif b/public/assets/fonts/cache/hc_big-atom.gif deleted file mode 100644 index 66609e57e9..0000000000 Binary files a/public/assets/fonts/cache/hc_big-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/hc_compact-atom.gif b/public/assets/fonts/cache/hc_compact-atom.gif deleted file mode 100644 index a4b51ffc4f..0000000000 Binary files a/public/assets/fonts/cache/hc_compact-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/hc_gold-atom.gif b/public/assets/fonts/cache/hc_gold-atom.gif deleted file mode 100644 index 162996a2b0..0000000000 Binary files a/public/assets/fonts/cache/hc_gold-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/hc_small-atom.gif b/public/assets/fonts/cache/hc_small-atom.gif deleted file mode 100644 index 2f6931108e..0000000000 Binary files a/public/assets/fonts/cache/hc_small-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/hello-atom.gif b/public/assets/fonts/cache/hello-atom.gif deleted file mode 100644 index bea6fc71b2..0000000000 Binary files a/public/assets/fonts/cache/hello-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/hma-atom.gif b/public/assets/fonts/cache/hma-atom.gif deleted file mode 100644 index 1f7aa46be8..0000000000 Binary files a/public/assets/fonts/cache/hma-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/horse-atom.gif b/public/assets/fonts/cache/horse-atom.gif deleted file mode 100644 index 2db8821d82..0000000000 Binary files a/public/assets/fonts/cache/horse-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/ice-atom.gif b/public/assets/fonts/cache/ice-atom.gif deleted file mode 100644 index 7ce84464e2..0000000000 Binary files a/public/assets/fonts/cache/ice-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/iced-atom.gif b/public/assets/fonts/cache/iced-atom.gif deleted file mode 100644 index 6bb396313e..0000000000 Binary files a/public/assets/fonts/cache/iced-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/iron-atom.gif b/public/assets/fonts/cache/iron-atom.gif deleted file mode 100644 index ced81a4e63..0000000000 Binary files a/public/assets/fonts/cache/iron-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/japan-atom.gif b/public/assets/fonts/cache/japan-atom.gif deleted file mode 100644 index 11a49c2ab5..0000000000 Binary files a/public/assets/fonts/cache/japan-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/jurrasic-atom.gif b/public/assets/fonts/cache/jurrasic-atom.gif deleted file mode 100644 index 6312128cdc..0000000000 Binary files a/public/assets/fonts/cache/jurrasic-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/lido-atom.gif b/public/assets/fonts/cache/lido-atom.gif deleted file mode 100644 index a022403612..0000000000 Binary files a/public/assets/fonts/cache/lido-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/love-atom.gif b/public/assets/fonts/cache/love-atom.gif deleted file mode 100644 index 4d596c8dda..0000000000 Binary files a/public/assets/fonts/cache/love-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/love_full-atom.gif b/public/assets/fonts/cache/love_full-atom.gif deleted file mode 100644 index 380b2da4b1..0000000000 Binary files a/public/assets/fonts/cache/love_full-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/marketplace_full-atom.gif b/public/assets/fonts/cache/marketplace_full-atom.gif deleted file mode 100644 index 9ed71f41bc..0000000000 Binary files a/public/assets/fonts/cache/marketplace_full-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/marketplace_red-atom.gif b/public/assets/fonts/cache/marketplace_red-atom.gif deleted file mode 100644 index 77584ad422..0000000000 Binary files a/public/assets/fonts/cache/marketplace_red-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/mini_white-atom.gif b/public/assets/fonts/cache/mini_white-atom.gif deleted file mode 100644 index fb6c545284..0000000000 Binary files a/public/assets/fonts/cache/mini_white-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/monkey-atom.gif b/public/assets/fonts/cache/monkey-atom.gif deleted file mode 100644 index 5dff0dce7f..0000000000 Binary files a/public/assets/fonts/cache/monkey-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/mushroom-atom.gif b/public/assets/fonts/cache/mushroom-atom.gif deleted file mode 100644 index 9bb646ecae..0000000000 Binary files a/public/assets/fonts/cache/mushroom-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/mushroom_green-atom.gif b/public/assets/fonts/cache/mushroom_green-atom.gif deleted file mode 100644 index 240917d094..0000000000 Binary files a/public/assets/fonts/cache/mushroom_green-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/neon_blue-atom.gif b/public/assets/fonts/cache/neon_blue-atom.gif deleted file mode 100644 index cc34dad851..0000000000 Binary files a/public/assets/fonts/cache/neon_blue-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/neon_green-atom.gif b/public/assets/fonts/cache/neon_green-atom.gif deleted file mode 100644 index ea3e6b8dde..0000000000 Binary files a/public/assets/fonts/cache/neon_green-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/neon_pink-atom.gif b/public/assets/fonts/cache/neon_pink-atom.gif deleted file mode 100644 index 262fdbb4eb..0000000000 Binary files a/public/assets/fonts/cache/neon_pink-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/occasional-atom.gif b/public/assets/fonts/cache/occasional-atom.gif deleted file mode 100644 index 0214f4c330..0000000000 Binary files a/public/assets/fonts/cache/occasional-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/palooza-atom.gif b/public/assets/fonts/cache/palooza-atom.gif deleted file mode 100644 index 2dde42a05c..0000000000 Binary files a/public/assets/fonts/cache/palooza-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/palooza_blue-atom.gif b/public/assets/fonts/cache/palooza_blue-atom.gif deleted file mode 100644 index 9556f6b291..0000000000 Binary files a/public/assets/fonts/cache/palooza_blue-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/paradise-atom.gif b/public/assets/fonts/cache/paradise-atom.gif deleted file mode 100644 index 6a23d0a6d0..0000000000 Binary files a/public/assets/fonts/cache/paradise-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/paradise_rounded-atom.gif b/public/assets/fonts/cache/paradise_rounded-atom.gif deleted file mode 100644 index 11bb347e51..0000000000 Binary files a/public/assets/fonts/cache/paradise_rounded-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/pets-atom.gif b/public/assets/fonts/cache/pets-atom.gif deleted file mode 100644 index 37243f2687..0000000000 Binary files a/public/assets/fonts/cache/pets-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/pillow_orange-atom.gif b/public/assets/fonts/cache/pillow_orange-atom.gif deleted file mode 100644 index c8e2f1b6dc..0000000000 Binary files a/public/assets/fonts/cache/pillow_orange-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/pillow_pink-atom.gif b/public/assets/fonts/cache/pillow_pink-atom.gif deleted file mode 100644 index 9db836facb..0000000000 Binary files a/public/assets/fonts/cache/pillow_pink-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/pipes-atom.gif b/public/assets/fonts/cache/pipes-atom.gif deleted file mode 100644 index e4ed64bb0c..0000000000 Binary files a/public/assets/fonts/cache/pipes-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/plants-atom.gif b/public/assets/fonts/cache/plants-atom.gif deleted file mode 100644 index e31b565157..0000000000 Binary files a/public/assets/fonts/cache/plants-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/plastic-atom.gif b/public/assets/fonts/cache/plastic-atom.gif deleted file mode 100644 index d5c834b553..0000000000 Binary files a/public/assets/fonts/cache/plastic-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/plastic_playful-atom.gif b/public/assets/fonts/cache/plastic_playful-atom.gif deleted file mode 100644 index acd4886f8b..0000000000 Binary files a/public/assets/fonts/cache/plastic_playful-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/reception-atom.gif b/public/assets/fonts/cache/reception-atom.gif deleted file mode 100644 index 04a6d45e31..0000000000 Binary files a/public/assets/fonts/cache/reception-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/recycle-atom.gif b/public/assets/fonts/cache/recycle-atom.gif deleted file mode 100644 index f413eda57a..0000000000 Binary files a/public/assets/fonts/cache/recycle-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/relax-atom.gif b/public/assets/fonts/cache/relax-atom.gif deleted file mode 100644 index dbd697243a..0000000000 Binary files a/public/assets/fonts/cache/relax-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/retropixel-atom.gif b/public/assets/fonts/cache/retropixel-atom.gif deleted file mode 100644 index 4b6a3b5f95..0000000000 Binary files a/public/assets/fonts/cache/retropixel-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/rugs-atom.gif b/public/assets/fonts/cache/rugs-atom.gif deleted file mode 100644 index 343b421d93..0000000000 Binary files a/public/assets/fonts/cache/rugs-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/sale-atom.gif b/public/assets/fonts/cache/sale-atom.gif deleted file mode 100644 index d8dc7fb002..0000000000 Binary files a/public/assets/fonts/cache/sale-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/scifi-atom.gif b/public/assets/fonts/cache/scifi-atom.gif deleted file mode 100644 index 6084babf2f..0000000000 Binary files a/public/assets/fonts/cache/scifi-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/shalimar-atom.gif b/public/assets/fonts/cache/shalimar-atom.gif deleted file mode 100644 index 7dde26b281..0000000000 Binary files a/public/assets/fonts/cache/shalimar-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/shalimar_big-atom.gif b/public/assets/fonts/cache/shalimar_big-atom.gif deleted file mode 100644 index 092fda2ead..0000000000 Binary files a/public/assets/fonts/cache/shalimar_big-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/shalimar_small-atom.gif b/public/assets/fonts/cache/shalimar_small-atom.gif deleted file mode 100644 index 3406bfc1aa..0000000000 Binary files a/public/assets/fonts/cache/shalimar_small-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/soccer-atom.gif b/public/assets/fonts/cache/soccer-atom.gif deleted file mode 100644 index 9f48312e3f..0000000000 Binary files a/public/assets/fonts/cache/soccer-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/soccer_big-atom.gif b/public/assets/fonts/cache/soccer_big-atom.gif deleted file mode 100644 index 7ffe0c0a77..0000000000 Binary files a/public/assets/fonts/cache/soccer_big-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/soccer_red-atom.gif b/public/assets/fonts/cache/soccer_red-atom.gif deleted file mode 100644 index 3d77a50d7c..0000000000 Binary files a/public/assets/fonts/cache/soccer_red-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/soccer_yellow-atom.gif b/public/assets/fonts/cache/soccer_yellow-atom.gif deleted file mode 100644 index bd9fdf7f8f..0000000000 Binary files a/public/assets/fonts/cache/soccer_yellow-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/space-atom.gif b/public/assets/fonts/cache/space-atom.gif deleted file mode 100644 index f483f49d2d..0000000000 Binary files a/public/assets/fonts/cache/space-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/spaces-atom.gif b/public/assets/fonts/cache/spaces-atom.gif deleted file mode 100644 index e75764546e..0000000000 Binary files a/public/assets/fonts/cache/spaces-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/special_offers-atom.gif b/public/assets/fonts/cache/special_offers-atom.gif deleted file mode 100644 index c9258d5346..0000000000 Binary files a/public/assets/fonts/cache/special_offers-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/steampunk-atom.gif b/public/assets/fonts/cache/steampunk-atom.gif deleted file mode 100644 index 34d3849631..0000000000 Binary files a/public/assets/fonts/cache/steampunk-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/straypixels-atom.gif b/public/assets/fonts/cache/straypixels-atom.gif deleted file mode 100644 index 34bf7ce54f..0000000000 Binary files a/public/assets/fonts/cache/straypixels-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/summer-atom.gif b/public/assets/fonts/cache/summer-atom.gif deleted file mode 100644 index ea927d9488..0000000000 Binary files a/public/assets/fonts/cache/summer-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/teleport-atom.gif b/public/assets/fonts/cache/teleport-atom.gif deleted file mode 100644 index 296782e6b0..0000000000 Binary files a/public/assets/fonts/cache/teleport-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/theater_lights-atom.gif b/public/assets/fonts/cache/theater_lights-atom.gif deleted file mode 100644 index a86f3b239c..0000000000 Binary files a/public/assets/fonts/cache/theater_lights-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/tribe-atom.gif b/public/assets/fonts/cache/tribe-atom.gif deleted file mode 100644 index d209723d46..0000000000 Binary files a/public/assets/fonts/cache/tribe-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/trophies-atom.gif b/public/assets/fonts/cache/trophies-atom.gif deleted file mode 100644 index e76c3dd67c..0000000000 Binary files a/public/assets/fonts/cache/trophies-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/unknown_blue-atom.gif b/public/assets/fonts/cache/unknown_blue-atom.gif deleted file mode 100644 index cd6230708d..0000000000 Binary files a/public/assets/fonts/cache/unknown_blue-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/unknown_blue_2-atom.gif b/public/assets/fonts/cache/unknown_blue_2-atom.gif deleted file mode 100644 index ef93d94519..0000000000 Binary files a/public/assets/fonts/cache/unknown_blue_2-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/unknown_metal-atom.gif b/public/assets/fonts/cache/unknown_metal-atom.gif deleted file mode 100644 index a1d84c5aa7..0000000000 Binary files a/public/assets/fonts/cache/unknown_metal-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/unknown_pillow_1-atom.gif b/public/assets/fonts/cache/unknown_pillow_1-atom.gif deleted file mode 100644 index cf808906d4..0000000000 Binary files a/public/assets/fonts/cache/unknown_pillow_1-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/unknown_pillow_2-atom.gif b/public/assets/fonts/cache/unknown_pillow_2-atom.gif deleted file mode 100644 index 26ce399b58..0000000000 Binary files a/public/assets/fonts/cache/unknown_pillow_2-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/unknown_white-atom.gif b/public/assets/fonts/cache/unknown_white-atom.gif deleted file mode 100644 index a0310eea94..0000000000 Binary files a/public/assets/fonts/cache/unknown_white-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/usva-atom.gif b/public/assets/fonts/cache/usva-atom.gif deleted file mode 100644 index 9b6f163fd9..0000000000 Binary files a/public/assets/fonts/cache/usva-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/valentine-atom.gif b/public/assets/fonts/cache/valentine-atom.gif deleted file mode 100644 index dcd2b66254..0000000000 Binary files a/public/assets/fonts/cache/valentine-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/volter-atom.gif b/public/assets/fonts/cache/volter-atom.gif deleted file mode 100644 index 0a6f3b528f..0000000000 Binary files a/public/assets/fonts/cache/volter-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/volter_modern-atom.gif b/public/assets/fonts/cache/volter_modern-atom.gif deleted file mode 100644 index b9c338cd46..0000000000 Binary files a/public/assets/fonts/cache/volter_modern-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/volter_modern_small-atom.gif b/public/assets/fonts/cache/volter_modern_small-atom.gif deleted file mode 100644 index 6738390d1f..0000000000 Binary files a/public/assets/fonts/cache/volter_modern_small-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/volter_shadow-atom.gif b/public/assets/fonts/cache/volter_shadow-atom.gif deleted file mode 100644 index c23a69905a..0000000000 Binary files a/public/assets/fonts/cache/volter_shadow-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/western-atom.gif b/public/assets/fonts/cache/western-atom.gif deleted file mode 100644 index 9b87b63dcc..0000000000 Binary files a/public/assets/fonts/cache/western-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/windows-atom.gif b/public/assets/fonts/cache/windows-atom.gif deleted file mode 100644 index 6cd8cee853..0000000000 Binary files a/public/assets/fonts/cache/windows-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/windows_blue-atom.gif b/public/assets/fonts/cache/windows_blue-atom.gif deleted file mode 100644 index d19e7ab47c..0000000000 Binary files a/public/assets/fonts/cache/windows_blue-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/windows_green-atom.gif b/public/assets/fonts/cache/windows_green-atom.gif deleted file mode 100644 index 8dbd741452..0000000000 Binary files a/public/assets/fonts/cache/windows_green-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/windows_jungle-atom.gif b/public/assets/fonts/cache/windows_jungle-atom.gif deleted file mode 100644 index 1c863cebda..0000000000 Binary files a/public/assets/fonts/cache/windows_jungle-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/windows_lowercase-atom.gif b/public/assets/fonts/cache/windows_lowercase-atom.gif deleted file mode 100644 index 9b0953decf..0000000000 Binary files a/public/assets/fonts/cache/windows_lowercase-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/windows_pink-atom.gif b/public/assets/fonts/cache/windows_pink-atom.gif deleted file mode 100644 index 644f75c3d9..0000000000 Binary files a/public/assets/fonts/cache/windows_pink-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/windows_purple-atom.gif b/public/assets/fonts/cache/windows_purple-atom.gif deleted file mode 100644 index 920c1df80c..0000000000 Binary files a/public/assets/fonts/cache/windows_purple-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/windows_red-atom.gif b/public/assets/fonts/cache/windows_red-atom.gif deleted file mode 100644 index dbbab1c1f9..0000000000 Binary files a/public/assets/fonts/cache/windows_red-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/windows_red_dark-atom.gif b/public/assets/fonts/cache/windows_red_dark-atom.gif deleted file mode 100644 index af27ec7570..0000000000 Binary files a/public/assets/fonts/cache/windows_red_dark-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/windows_yellow-atom.gif b/public/assets/fonts/cache/windows_yellow-atom.gif deleted file mode 100644 index cae96793aa..0000000000 Binary files a/public/assets/fonts/cache/windows_yellow-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/wood-atom.gif b/public/assets/fonts/cache/wood-atom.gif deleted file mode 100644 index 5b48abc270..0000000000 Binary files a/public/assets/fonts/cache/wood-atom.gif and /dev/null differ diff --git a/public/assets/fonts/cache/yellow_text-atom.gif b/public/assets/fonts/cache/yellow_text-atom.gif deleted file mode 100644 index 25d29993e5..0000000000 Binary files a/public/assets/fonts/cache/yellow_text-atom.gif and /dev/null differ diff --git a/public/assets/fonts/sheets/accessoires.gif b/public/assets/fonts/sheets/accessoires.gif new file mode 100644 index 0000000000..c11387ae41 Binary files /dev/null and b/public/assets/fonts/sheets/accessoires.gif differ diff --git a/public/assets/fonts/sheets/africa.gif b/public/assets/fonts/sheets/africa.gif new file mode 100644 index 0000000000..b30f6c0d0b Binary files /dev/null and b/public/assets/fonts/sheets/africa.gif differ diff --git a/public/assets/fonts/sheets/agenda.gif b/public/assets/fonts/sheets/agenda.gif new file mode 100644 index 0000000000..521f9ad1a5 Binary files /dev/null and b/public/assets/fonts/sheets/agenda.gif differ diff --git a/public/assets/fonts/sheets/alhambra.gif b/public/assets/fonts/sheets/alhambra.gif new file mode 100644 index 0000000000..8bbb06b53c Binary files /dev/null and b/public/assets/fonts/sheets/alhambra.gif differ diff --git a/public/assets/fonts/sheets/arctic.gif b/public/assets/fonts/sheets/arctic.gif new file mode 100644 index 0000000000..6afe08fb6b Binary files /dev/null and b/public/assets/fonts/sheets/arctic.gif differ diff --git a/public/assets/fonts/sheets/asian.gif b/public/assets/fonts/sheets/asian.gif new file mode 100644 index 0000000000..43e888a88e Binary files /dev/null and b/public/assets/fonts/sheets/asian.gif differ diff --git a/public/assets/fonts/sheets/asian_small.gif b/public/assets/fonts/sheets/asian_small.gif new file mode 100644 index 0000000000..95e5c1958e Binary files /dev/null and b/public/assets/fonts/sheets/asian_small.gif differ diff --git a/public/assets/fonts/sheets/base.gif b/public/assets/fonts/sheets/base.gif new file mode 100644 index 0000000000..38a4ba9900 Binary files /dev/null and b/public/assets/fonts/sheets/base.gif differ diff --git a/public/assets/fonts/sheets/basic.gif b/public/assets/fonts/sheets/basic.gif new file mode 100644 index 0000000000..df80f44615 Binary files /dev/null and b/public/assets/fonts/sheets/basic.gif differ diff --git a/public/assets/fonts/sheets/bathroom.gif b/public/assets/fonts/sheets/bathroom.gif new file mode 100644 index 0000000000..32232a52cb Binary files /dev/null and b/public/assets/fonts/sheets/bathroom.gif differ diff --git a/public/assets/fonts/sheets/battleball.gif b/public/assets/fonts/sheets/battleball.gif new file mode 100644 index 0000000000..3a94123372 Binary files /dev/null and b/public/assets/fonts/sheets/battleball.gif differ diff --git a/public/assets/fonts/sheets/battlebanzai.gif b/public/assets/fonts/sheets/battlebanzai.gif new file mode 100644 index 0000000000..fba958394a Binary files /dev/null and b/public/assets/fonts/sheets/battlebanzai.gif differ diff --git a/public/assets/fonts/sheets/bensalem.gif b/public/assets/fonts/sheets/bensalem.gif new file mode 100644 index 0000000000..390d96bc69 Binary files /dev/null and b/public/assets/fonts/sheets/bensalem.gif differ diff --git a/public/assets/fonts/sheets/bensalem_sea.gif b/public/assets/fonts/sheets/bensalem_sea.gif new file mode 100644 index 0000000000..541e81ab8b Binary files /dev/null and b/public/assets/fonts/sheets/bensalem_sea.gif differ diff --git a/public/assets/fonts/sheets/beta.gif b/public/assets/fonts/sheets/beta.gif new file mode 100644 index 0000000000..dc6dd5c8dd Binary files /dev/null and b/public/assets/fonts/sheets/beta.gif differ diff --git a/public/assets/fonts/sheets/beta_big.gif b/public/assets/fonts/sheets/beta_big.gif new file mode 100644 index 0000000000..b268168239 Binary files /dev/null and b/public/assets/fonts/sheets/beta_big.gif differ diff --git a/public/assets/fonts/sheets/beta_small.gif b/public/assets/fonts/sheets/beta_small.gif new file mode 100644 index 0000000000..9b5c318623 Binary files /dev/null and b/public/assets/fonts/sheets/beta_small.gif differ diff --git a/public/assets/fonts/sheets/beta_small_old.gif b/public/assets/fonts/sheets/beta_small_old.gif new file mode 100644 index 0000000000..5a90e5ac73 Binary files /dev/null and b/public/assets/fonts/sheets/beta_small_old.gif differ diff --git a/public/assets/fonts/sheets/black.gif b/public/assets/fonts/sheets/black.gif new file mode 100644 index 0000000000..e2ed631a63 Binary files /dev/null and b/public/assets/fonts/sheets/black.gif differ diff --git a/public/assets/fonts/sheets/bling.gif b/public/assets/fonts/sheets/bling.gif new file mode 100644 index 0000000000..b4f6a945ed Binary files /dev/null and b/public/assets/fonts/sheets/bling.gif differ diff --git a/public/assets/fonts/sheets/bling_gold.gif b/public/assets/fonts/sheets/bling_gold.gif new file mode 100644 index 0000000000..f7feea1b9a Binary files /dev/null and b/public/assets/fonts/sheets/bling_gold.gif differ diff --git a/public/assets/fonts/sheets/bones.gif b/public/assets/fonts/sheets/bones.gif new file mode 100644 index 0000000000..2363aba871 Binary files /dev/null and b/public/assets/fonts/sheets/bones.gif differ diff --git a/public/assets/fonts/sheets/books.gif b/public/assets/fonts/sheets/books.gif new file mode 100644 index 0000000000..eeeac96dc9 Binary files /dev/null and b/public/assets/fonts/sheets/books.gif differ diff --git a/public/assets/fonts/sheets/bots.gif b/public/assets/fonts/sheets/bots.gif new file mode 100644 index 0000000000..bcb8472f20 Binary files /dev/null and b/public/assets/fonts/sheets/bots.gif differ diff --git a/public/assets/fonts/sheets/bubble.gif b/public/assets/fonts/sheets/bubble.gif new file mode 100644 index 0000000000..7994c88d0e Binary files /dev/null and b/public/assets/fonts/sheets/bubble.gif differ diff --git a/public/assets/fonts/sheets/bubble_blue.gif b/public/assets/fonts/sheets/bubble_blue.gif new file mode 100644 index 0000000000..fdda3fa0ec Binary files /dev/null and b/public/assets/fonts/sheets/bubble_blue.gif differ diff --git a/public/assets/fonts/sheets/bubble_orange.gif b/public/assets/fonts/sheets/bubble_orange.gif new file mode 100644 index 0000000000..c612e2fe08 Binary files /dev/null and b/public/assets/fonts/sheets/bubble_orange.gif differ diff --git a/public/assets/fonts/sheets/bunny_run.gif b/public/assets/fonts/sheets/bunny_run.gif new file mode 100644 index 0000000000..66d3134cd8 Binary files /dev/null and b/public/assets/fonts/sheets/bunny_run.gif differ diff --git a/public/assets/fonts/sheets/bunny_run_blue.gif b/public/assets/fonts/sheets/bunny_run_blue.gif new file mode 100644 index 0000000000..750a19799b Binary files /dev/null and b/public/assets/fonts/sheets/bunny_run_blue.gif differ diff --git a/public/assets/fonts/sheets/buttons.gif b/public/assets/fonts/sheets/buttons.gif new file mode 100644 index 0000000000..eb54463175 Binary files /dev/null and b/public/assets/fonts/sheets/buttons.gif differ diff --git a/public/assets/fonts/sheets/candy.gif b/public/assets/fonts/sheets/candy.gif new file mode 100644 index 0000000000..047300bd5c Binary files /dev/null and b/public/assets/fonts/sheets/candy.gif differ diff --git a/public/assets/fonts/sheets/collectibles.gif b/public/assets/fonts/sheets/collectibles.gif new file mode 100644 index 0000000000..926e75f218 Binary files /dev/null and b/public/assets/fonts/sheets/collectibles.gif differ diff --git a/public/assets/fonts/sheets/crystal.gif b/public/assets/fonts/sheets/crystal.gif new file mode 100644 index 0000000000..1ec3932b82 Binary files /dev/null and b/public/assets/fonts/sheets/crystal.gif differ diff --git a/public/assets/fonts/sheets/cubie.gif b/public/assets/fonts/sheets/cubie.gif new file mode 100644 index 0000000000..a0ce76d263 Binary files /dev/null and b/public/assets/fonts/sheets/cubie.gif differ diff --git a/public/assets/fonts/sheets/dinner_blue.gif b/public/assets/fonts/sheets/dinner_blue.gif new file mode 100644 index 0000000000..4e1b105916 Binary files /dev/null and b/public/assets/fonts/sheets/dinner_blue.gif differ diff --git a/public/assets/fonts/sheets/dinner_green.gif b/public/assets/fonts/sheets/dinner_green.gif new file mode 100644 index 0000000000..4eeca09546 Binary files /dev/null and b/public/assets/fonts/sheets/dinner_green.gif differ diff --git a/public/assets/fonts/sheets/dinner_red.gif b/public/assets/fonts/sheets/dinner_red.gif new file mode 100644 index 0000000000..c3cede5692 Binary files /dev/null and b/public/assets/fonts/sheets/dinner_red.gif differ diff --git a/public/assets/fonts/sheets/disco.gif b/public/assets/fonts/sheets/disco.gif new file mode 100644 index 0000000000..4c6e1c39ba Binary files /dev/null and b/public/assets/fonts/sheets/disco.gif differ diff --git a/public/assets/fonts/sheets/dreams.gif b/public/assets/fonts/sheets/dreams.gif new file mode 100644 index 0000000000..afafc74d43 Binary files /dev/null and b/public/assets/fonts/sheets/dreams.gif differ diff --git a/public/assets/fonts/sheets/dreams_flat.gif b/public/assets/fonts/sheets/dreams_flat.gif new file mode 100644 index 0000000000..f77923725a Binary files /dev/null and b/public/assets/fonts/sheets/dreams_flat.gif differ diff --git a/public/assets/fonts/sheets/duckets.gif b/public/assets/fonts/sheets/duckets.gif new file mode 100644 index 0000000000..76cff6ec1d Binary files /dev/null and b/public/assets/fonts/sheets/duckets.gif differ diff --git a/public/assets/fonts/sheets/emo.gif b/public/assets/fonts/sheets/emo.gif new file mode 100644 index 0000000000..8004d0795f Binary files /dev/null and b/public/assets/fonts/sheets/emo.gif differ diff --git a/public/assets/fonts/sheets/exchange.gif b/public/assets/fonts/sheets/exchange.gif new file mode 100644 index 0000000000..78199dad06 Binary files /dev/null and b/public/assets/fonts/sheets/exchange.gif differ diff --git a/public/assets/fonts/sheets/executive.gif b/public/assets/fonts/sheets/executive.gif new file mode 100644 index 0000000000..bcb99e6c44 Binary files /dev/null and b/public/assets/fonts/sheets/executive.gif differ diff --git a/public/assets/fonts/sheets/explore.gif b/public/assets/fonts/sheets/explore.gif new file mode 100644 index 0000000000..e6c6d9461e Binary files /dev/null and b/public/assets/fonts/sheets/explore.gif differ diff --git a/public/assets/fonts/sheets/explore_big.gif b/public/assets/fonts/sheets/explore_big.gif new file mode 100644 index 0000000000..892e920da6 Binary files /dev/null and b/public/assets/fonts/sheets/explore_big.gif differ diff --git a/public/assets/fonts/sheets/explore_small.gif b/public/assets/fonts/sheets/explore_small.gif new file mode 100644 index 0000000000..f26dc380d5 Binary files /dev/null and b/public/assets/fonts/sheets/explore_small.gif differ diff --git a/public/assets/fonts/sheets/faq.gif b/public/assets/fonts/sheets/faq.gif new file mode 100644 index 0000000000..dfa6d1bfd3 Binary files /dev/null and b/public/assets/fonts/sheets/faq.gif differ diff --git a/public/assets/fonts/sheets/fbomb.gif b/public/assets/fonts/sheets/fbomb.gif new file mode 100644 index 0000000000..500bfc2b71 Binary files /dev/null and b/public/assets/fonts/sheets/fbomb.gif differ diff --git a/public/assets/fonts/sheets/festival.gif b/public/assets/fonts/sheets/festival.gif new file mode 100644 index 0000000000..a65445152b Binary files /dev/null and b/public/assets/fonts/sheets/festival.gif differ diff --git a/public/assets/fonts/sheets/flags.gif b/public/assets/fonts/sheets/flags.gif new file mode 100644 index 0000000000..b81e44aceb Binary files /dev/null and b/public/assets/fonts/sheets/flags.gif differ diff --git a/public/assets/fonts/sheets/freehand.gif b/public/assets/fonts/sheets/freehand.gif new file mode 100644 index 0000000000..8612bb93ea Binary files /dev/null and b/public/assets/fonts/sheets/freehand.gif differ diff --git a/public/assets/fonts/sheets/fx.gif b/public/assets/fonts/sheets/fx.gif new file mode 100644 index 0000000000..99655eeda8 Binary files /dev/null and b/public/assets/fonts/sheets/fx.gif differ diff --git a/public/assets/fonts/sheets/gallery.gif b/public/assets/fonts/sheets/gallery.gif new file mode 100644 index 0000000000..a0ee5d738a Binary files /dev/null and b/public/assets/fonts/sheets/gallery.gif differ diff --git a/public/assets/fonts/sheets/gaming.gif b/public/assets/fonts/sheets/gaming.gif new file mode 100644 index 0000000000..63421252c9 Binary files /dev/null and b/public/assets/fonts/sheets/gaming.gif differ diff --git a/public/assets/fonts/sheets/gift.gif b/public/assets/fonts/sheets/gift.gif new file mode 100644 index 0000000000..9562a984df Binary files /dev/null and b/public/assets/fonts/sheets/gift.gif differ diff --git a/public/assets/fonts/sheets/gold_big.gif b/public/assets/fonts/sheets/gold_big.gif new file mode 100644 index 0000000000..53016d27b6 Binary files /dev/null and b/public/assets/fonts/sheets/gold_big.gif differ diff --git a/public/assets/fonts/sheets/goldentemple.gif b/public/assets/fonts/sheets/goldentemple.gif new file mode 100644 index 0000000000..949d8df9e4 Binary files /dev/null and b/public/assets/fonts/sheets/goldentemple.gif differ diff --git a/public/assets/fonts/sheets/gravity.gif b/public/assets/fonts/sheets/gravity.gif new file mode 100644 index 0000000000..b849a68c7d Binary files /dev/null and b/public/assets/fonts/sheets/gravity.gif differ diff --git a/public/assets/fonts/sheets/habbid_blue.gif b/public/assets/fonts/sheets/habbid_blue.gif new file mode 100644 index 0000000000..d566bbd52f Binary files /dev/null and b/public/assets/fonts/sheets/habbid_blue.gif differ diff --git a/public/assets/fonts/sheets/habbid_red.gif b/public/assets/fonts/sheets/habbid_red.gif new file mode 100644 index 0000000000..1b1c6b8b67 Binary files /dev/null and b/public/assets/fonts/sheets/habbid_red.gif differ diff --git a/public/assets/fonts/sheets/habbnew.gif b/public/assets/fonts/sheets/habbnew.gif new file mode 100644 index 0000000000..ebb78ef522 Binary files /dev/null and b/public/assets/fonts/sheets/habbnew.gif differ diff --git a/public/assets/fonts/sheets/habbo.gif b/public/assets/fonts/sheets/habbo.gif new file mode 100644 index 0000000000..faf9dfb0d3 Binary files /dev/null and b/public/assets/fonts/sheets/habbo.gif differ diff --git a/public/assets/fonts/sheets/habbo_big.gif b/public/assets/fonts/sheets/habbo_big.gif new file mode 100644 index 0000000000..95a7699759 Binary files /dev/null and b/public/assets/fonts/sheets/habbo_big.gif differ diff --git a/public/assets/fonts/sheets/habbo_blocky.gif b/public/assets/fonts/sheets/habbo_blocky.gif new file mode 100644 index 0000000000..a908958a05 Binary files /dev/null and b/public/assets/fonts/sheets/habbo_blocky.gif differ diff --git a/public/assets/fonts/sheets/habbo_clicker.gif b/public/assets/fonts/sheets/habbo_clicker.gif new file mode 100644 index 0000000000..1cae81bb26 Binary files /dev/null and b/public/assets/fonts/sheets/habbo_clicker.gif differ diff --git a/public/assets/fonts/sheets/habbo_new.gif b/public/assets/fonts/sheets/habbo_new.gif new file mode 100644 index 0000000000..a59396b179 Binary files /dev/null and b/public/assets/fonts/sheets/habbo_new.gif differ diff --git a/public/assets/fonts/sheets/habbo_new_big.gif b/public/assets/fonts/sheets/habbo_new_big.gif new file mode 100644 index 0000000000..49063187e2 Binary files /dev/null and b/public/assets/fonts/sheets/habbo_new_big.gif differ diff --git a/public/assets/fonts/sheets/habbo_news.gif b/public/assets/fonts/sheets/habbo_news.gif new file mode 100644 index 0000000000..0c2ea0852e Binary files /dev/null and b/public/assets/fonts/sheets/habbo_news.gif differ diff --git a/public/assets/fonts/sheets/habbo_old_big.gif b/public/assets/fonts/sheets/habbo_old_big.gif new file mode 100644 index 0000000000..02584cb9b6 Binary files /dev/null and b/public/assets/fonts/sheets/habbo_old_big.gif differ diff --git a/public/assets/fonts/sheets/habbo_oldschool.gif b/public/assets/fonts/sheets/habbo_oldschool.gif new file mode 100644 index 0000000000..cc54afe66d Binary files /dev/null and b/public/assets/fonts/sheets/habbo_oldschool.gif differ diff --git a/public/assets/fonts/sheets/habbo_ribbon.gif b/public/assets/fonts/sheets/habbo_ribbon.gif new file mode 100644 index 0000000000..57237326e8 Binary files /dev/null and b/public/assets/fonts/sheets/habbo_ribbon.gif differ diff --git a/public/assets/fonts/sheets/habbo_runway.gif b/public/assets/fonts/sheets/habbo_runway.gif new file mode 100644 index 0000000000..ebd4ef3944 Binary files /dev/null and b/public/assets/fonts/sheets/habbo_runway.gif differ diff --git a/public/assets/fonts/sheets/habbo_tiny.gif b/public/assets/fonts/sheets/habbo_tiny.gif new file mode 100644 index 0000000000..30b50bb633 Binary files /dev/null and b/public/assets/fonts/sheets/habbo_tiny.gif differ diff --git a/public/assets/fonts/sheets/habboclub.gif b/public/assets/fonts/sheets/habboclub.gif new file mode 100644 index 0000000000..38047d6959 Binary files /dev/null and b/public/assets/fonts/sheets/habboclub.gif differ diff --git a/public/assets/fonts/sheets/habboclub_banner.gif b/public/assets/fonts/sheets/habboclub_banner.gif new file mode 100644 index 0000000000..0e9606b934 Binary files /dev/null and b/public/assets/fonts/sheets/habboclub_banner.gif differ diff --git a/public/assets/fonts/sheets/habboclub_complete.gif b/public/assets/fonts/sheets/habboclub_complete.gif new file mode 100644 index 0000000000..b0a44fe9b7 Binary files /dev/null and b/public/assets/fonts/sheets/habboclub_complete.gif differ diff --git a/public/assets/fonts/sheets/habboclub_silver.gif b/public/assets/fonts/sheets/habboclub_silver.gif new file mode 100644 index 0000000000..32e9de1e35 Binary files /dev/null and b/public/assets/fonts/sheets/habboclub_silver.gif differ diff --git a/public/assets/fonts/sheets/habbolife.gif b/public/assets/fonts/sheets/habbolife.gif new file mode 100644 index 0000000000..47fbfc4ba7 Binary files /dev/null and b/public/assets/fonts/sheets/habbolife.gif differ diff --git a/public/assets/fonts/sheets/habbovip.gif b/public/assets/fonts/sheets/habbovip.gif new file mode 100644 index 0000000000..108e806503 Binary files /dev/null and b/public/assets/fonts/sheets/habbovip.gif differ diff --git a/public/assets/fonts/sheets/habbovip_banner.gif b/public/assets/fonts/sheets/habbovip_banner.gif new file mode 100644 index 0000000000..b31b80af42 Binary files /dev/null and b/public/assets/fonts/sheets/habbovip_banner.gif differ diff --git a/public/assets/fonts/sheets/habbowood.gif b/public/assets/fonts/sheets/habbowood.gif new file mode 100644 index 0000000000..787fe2fdb8 Binary files /dev/null and b/public/assets/fonts/sheets/habbowood.gif differ diff --git a/public/assets/fonts/sheets/habbowood_big.gif b/public/assets/fonts/sheets/habbowood_big.gif new file mode 100644 index 0000000000..e107993829 Binary files /dev/null and b/public/assets/fonts/sheets/habbowood_big.gif differ diff --git a/public/assets/fonts/sheets/habjoy.gif b/public/assets/fonts/sheets/habjoy.gif new file mode 100644 index 0000000000..ad1b159663 Binary files /dev/null and b/public/assets/fonts/sheets/habjoy.gif differ diff --git a/public/assets/fonts/sheets/habjoy_light.gif b/public/assets/fonts/sheets/habjoy_light.gif new file mode 100644 index 0000000000..a141a7ead6 Binary files /dev/null and b/public/assets/fonts/sheets/habjoy_light.gif differ diff --git a/public/assets/fonts/sheets/halloween.gif b/public/assets/fonts/sheets/halloween.gif new file mode 100644 index 0000000000..75a4bbef64 Binary files /dev/null and b/public/assets/fonts/sheets/halloween.gif differ diff --git a/public/assets/fonts/sheets/halloween_2.gif b/public/assets/fonts/sheets/halloween_2.gif new file mode 100644 index 0000000000..139dd549d0 Binary files /dev/null and b/public/assets/fonts/sheets/halloween_2.gif differ diff --git a/public/assets/fonts/sheets/halloween_3.gif b/public/assets/fonts/sheets/halloween_3.gif new file mode 100644 index 0000000000..09fde7c210 Binary files /dev/null and b/public/assets/fonts/sheets/halloween_3.gif differ diff --git a/public/assets/fonts/sheets/hands.gif b/public/assets/fonts/sheets/hands.gif new file mode 100644 index 0000000000..6c510fafdb Binary files /dev/null and b/public/assets/fonts/sheets/hands.gif differ diff --git a/public/assets/fonts/sheets/hc.gif b/public/assets/fonts/sheets/hc.gif new file mode 100644 index 0000000000..28eb6a13f3 Binary files /dev/null and b/public/assets/fonts/sheets/hc.gif differ diff --git a/public/assets/fonts/sheets/hc_big.gif b/public/assets/fonts/sheets/hc_big.gif new file mode 100644 index 0000000000..5a78cd0362 Binary files /dev/null and b/public/assets/fonts/sheets/hc_big.gif differ diff --git a/public/assets/fonts/sheets/hc_compact.gif b/public/assets/fonts/sheets/hc_compact.gif new file mode 100644 index 0000000000..88f6e24f35 Binary files /dev/null and b/public/assets/fonts/sheets/hc_compact.gif differ diff --git a/public/assets/fonts/sheets/hc_gold.gif b/public/assets/fonts/sheets/hc_gold.gif new file mode 100644 index 0000000000..763beeccaa Binary files /dev/null and b/public/assets/fonts/sheets/hc_gold.gif differ diff --git a/public/assets/fonts/sheets/hc_small.gif b/public/assets/fonts/sheets/hc_small.gif new file mode 100644 index 0000000000..2538853f19 Binary files /dev/null and b/public/assets/fonts/sheets/hc_small.gif differ diff --git a/public/assets/fonts/sheets/hello.gif b/public/assets/fonts/sheets/hello.gif new file mode 100644 index 0000000000..dd815ac96b Binary files /dev/null and b/public/assets/fonts/sheets/hello.gif differ diff --git a/public/assets/fonts/sheets/hma.gif b/public/assets/fonts/sheets/hma.gif new file mode 100644 index 0000000000..fe27873b58 Binary files /dev/null and b/public/assets/fonts/sheets/hma.gif differ diff --git a/public/assets/fonts/sheets/horse.gif b/public/assets/fonts/sheets/horse.gif new file mode 100644 index 0000000000..b81fd014ff Binary files /dev/null and b/public/assets/fonts/sheets/horse.gif differ diff --git a/public/assets/fonts/sheets/ice.gif b/public/assets/fonts/sheets/ice.gif new file mode 100644 index 0000000000..5006a674bd Binary files /dev/null and b/public/assets/fonts/sheets/ice.gif differ diff --git a/public/assets/fonts/sheets/iced.gif b/public/assets/fonts/sheets/iced.gif new file mode 100644 index 0000000000..1ef71e1ece Binary files /dev/null and b/public/assets/fonts/sheets/iced.gif differ diff --git a/public/assets/fonts/sheets/iron.gif b/public/assets/fonts/sheets/iron.gif new file mode 100644 index 0000000000..9e2c0af63f Binary files /dev/null and b/public/assets/fonts/sheets/iron.gif differ diff --git a/public/assets/fonts/sheets/japan.gif b/public/assets/fonts/sheets/japan.gif new file mode 100644 index 0000000000..81a5f3987f Binary files /dev/null and b/public/assets/fonts/sheets/japan.gif differ diff --git a/public/assets/fonts/sheets/jurrasic.gif b/public/assets/fonts/sheets/jurrasic.gif new file mode 100644 index 0000000000..2328fc0fee Binary files /dev/null and b/public/assets/fonts/sheets/jurrasic.gif differ diff --git a/public/assets/fonts/sheets/lido.gif b/public/assets/fonts/sheets/lido.gif new file mode 100644 index 0000000000..f78a86b0ec Binary files /dev/null and b/public/assets/fonts/sheets/lido.gif differ diff --git a/public/assets/fonts/sheets/love.gif b/public/assets/fonts/sheets/love.gif new file mode 100644 index 0000000000..dff1ad32a3 Binary files /dev/null and b/public/assets/fonts/sheets/love.gif differ diff --git a/public/assets/fonts/sheets/love_full.gif b/public/assets/fonts/sheets/love_full.gif new file mode 100644 index 0000000000..d404b6d7c9 Binary files /dev/null and b/public/assets/fonts/sheets/love_full.gif differ diff --git a/public/assets/fonts/sheets/marketplace_full.gif b/public/assets/fonts/sheets/marketplace_full.gif new file mode 100644 index 0000000000..93a32cc7fa Binary files /dev/null and b/public/assets/fonts/sheets/marketplace_full.gif differ diff --git a/public/assets/fonts/sheets/marketplace_red.gif b/public/assets/fonts/sheets/marketplace_red.gif new file mode 100644 index 0000000000..7de79387cb Binary files /dev/null and b/public/assets/fonts/sheets/marketplace_red.gif differ diff --git a/public/assets/fonts/sheets/mini_white.gif b/public/assets/fonts/sheets/mini_white.gif new file mode 100644 index 0000000000..94ae443fa4 Binary files /dev/null and b/public/assets/fonts/sheets/mini_white.gif differ diff --git a/public/assets/fonts/sheets/monkey.gif b/public/assets/fonts/sheets/monkey.gif new file mode 100644 index 0000000000..1c3181c52d Binary files /dev/null and b/public/assets/fonts/sheets/monkey.gif differ diff --git a/public/assets/fonts/sheets/mushroom.gif b/public/assets/fonts/sheets/mushroom.gif new file mode 100644 index 0000000000..dcbfb574f4 Binary files /dev/null and b/public/assets/fonts/sheets/mushroom.gif differ diff --git a/public/assets/fonts/sheets/mushroom_green.gif b/public/assets/fonts/sheets/mushroom_green.gif new file mode 100644 index 0000000000..228c917eae Binary files /dev/null and b/public/assets/fonts/sheets/mushroom_green.gif differ diff --git a/public/assets/fonts/sheets/neon_blue.gif b/public/assets/fonts/sheets/neon_blue.gif new file mode 100644 index 0000000000..a4704cf82f Binary files /dev/null and b/public/assets/fonts/sheets/neon_blue.gif differ diff --git a/public/assets/fonts/sheets/neon_green.gif b/public/assets/fonts/sheets/neon_green.gif new file mode 100644 index 0000000000..ea19e53f52 Binary files /dev/null and b/public/assets/fonts/sheets/neon_green.gif differ diff --git a/public/assets/fonts/sheets/neon_pink.gif b/public/assets/fonts/sheets/neon_pink.gif new file mode 100644 index 0000000000..ab4719930e Binary files /dev/null and b/public/assets/fonts/sheets/neon_pink.gif differ diff --git a/public/assets/fonts/sheets/occasional.gif b/public/assets/fonts/sheets/occasional.gif new file mode 100644 index 0000000000..e3a6654f94 Binary files /dev/null and b/public/assets/fonts/sheets/occasional.gif differ diff --git a/public/assets/fonts/sheets/palooza.gif b/public/assets/fonts/sheets/palooza.gif new file mode 100644 index 0000000000..96aacd6284 Binary files /dev/null and b/public/assets/fonts/sheets/palooza.gif differ diff --git a/public/assets/fonts/sheets/palooza_blue.gif b/public/assets/fonts/sheets/palooza_blue.gif new file mode 100644 index 0000000000..d6f0f4e6ff Binary files /dev/null and b/public/assets/fonts/sheets/palooza_blue.gif differ diff --git a/public/assets/fonts/sheets/paradise.gif b/public/assets/fonts/sheets/paradise.gif new file mode 100644 index 0000000000..d5d7040498 Binary files /dev/null and b/public/assets/fonts/sheets/paradise.gif differ diff --git a/public/assets/fonts/sheets/paradise_rounded.gif b/public/assets/fonts/sheets/paradise_rounded.gif new file mode 100644 index 0000000000..5889c3a0aa Binary files /dev/null and b/public/assets/fonts/sheets/paradise_rounded.gif differ diff --git a/public/assets/fonts/sheets/pets.gif b/public/assets/fonts/sheets/pets.gif new file mode 100644 index 0000000000..9a8d46413e Binary files /dev/null and b/public/assets/fonts/sheets/pets.gif differ diff --git a/public/assets/fonts/sheets/pillow_orange.gif b/public/assets/fonts/sheets/pillow_orange.gif new file mode 100644 index 0000000000..4134546cae Binary files /dev/null and b/public/assets/fonts/sheets/pillow_orange.gif differ diff --git a/public/assets/fonts/sheets/pillow_pink.gif b/public/assets/fonts/sheets/pillow_pink.gif new file mode 100644 index 0000000000..20d9354457 Binary files /dev/null and b/public/assets/fonts/sheets/pillow_pink.gif differ diff --git a/public/assets/fonts/sheets/pipes.gif b/public/assets/fonts/sheets/pipes.gif new file mode 100644 index 0000000000..6fa819cdd9 Binary files /dev/null and b/public/assets/fonts/sheets/pipes.gif differ diff --git a/public/assets/fonts/sheets/plants.gif b/public/assets/fonts/sheets/plants.gif new file mode 100644 index 0000000000..06d8df4901 Binary files /dev/null and b/public/assets/fonts/sheets/plants.gif differ diff --git a/public/assets/fonts/sheets/plastic.gif b/public/assets/fonts/sheets/plastic.gif new file mode 100644 index 0000000000..bcbc86f434 Binary files /dev/null and b/public/assets/fonts/sheets/plastic.gif differ diff --git a/public/assets/fonts/sheets/plastic_playful.gif b/public/assets/fonts/sheets/plastic_playful.gif new file mode 100644 index 0000000000..9652d6e0ed Binary files /dev/null and b/public/assets/fonts/sheets/plastic_playful.gif differ diff --git a/public/assets/fonts/sheets/reception.gif b/public/assets/fonts/sheets/reception.gif new file mode 100644 index 0000000000..c73acefc97 Binary files /dev/null and b/public/assets/fonts/sheets/reception.gif differ diff --git a/public/assets/fonts/sheets/recycle.gif b/public/assets/fonts/sheets/recycle.gif new file mode 100644 index 0000000000..ebcb398e6c Binary files /dev/null and b/public/assets/fonts/sheets/recycle.gif differ diff --git a/public/assets/fonts/sheets/relax.gif b/public/assets/fonts/sheets/relax.gif new file mode 100644 index 0000000000..a258e0e5d7 Binary files /dev/null and b/public/assets/fonts/sheets/relax.gif differ diff --git a/public/assets/fonts/sheets/retropixel.gif b/public/assets/fonts/sheets/retropixel.gif new file mode 100644 index 0000000000..fc1a589b4a Binary files /dev/null and b/public/assets/fonts/sheets/retropixel.gif differ diff --git a/public/assets/fonts/sheets/rugs.gif b/public/assets/fonts/sheets/rugs.gif new file mode 100644 index 0000000000..d4c440c6af Binary files /dev/null and b/public/assets/fonts/sheets/rugs.gif differ diff --git a/public/assets/fonts/sheets/sale.gif b/public/assets/fonts/sheets/sale.gif new file mode 100644 index 0000000000..98ae4643d3 Binary files /dev/null and b/public/assets/fonts/sheets/sale.gif differ diff --git a/public/assets/fonts/sheets/scifi.gif b/public/assets/fonts/sheets/scifi.gif new file mode 100644 index 0000000000..3566137fd3 Binary files /dev/null and b/public/assets/fonts/sheets/scifi.gif differ diff --git a/public/assets/fonts/sheets/shalimar.gif b/public/assets/fonts/sheets/shalimar.gif new file mode 100644 index 0000000000..ffe1be652a Binary files /dev/null and b/public/assets/fonts/sheets/shalimar.gif differ diff --git a/public/assets/fonts/sheets/shalimar_big.gif b/public/assets/fonts/sheets/shalimar_big.gif new file mode 100644 index 0000000000..1d6cf8de08 Binary files /dev/null and b/public/assets/fonts/sheets/shalimar_big.gif differ diff --git a/public/assets/fonts/sheets/shalimar_small.gif b/public/assets/fonts/sheets/shalimar_small.gif new file mode 100644 index 0000000000..62dced41b7 Binary files /dev/null and b/public/assets/fonts/sheets/shalimar_small.gif differ diff --git a/public/assets/fonts/sheets/soccer.gif b/public/assets/fonts/sheets/soccer.gif new file mode 100644 index 0000000000..486cd33cc7 Binary files /dev/null and b/public/assets/fonts/sheets/soccer.gif differ diff --git a/public/assets/fonts/sheets/soccer_big.gif b/public/assets/fonts/sheets/soccer_big.gif new file mode 100644 index 0000000000..8d9bc3afb8 Binary files /dev/null and b/public/assets/fonts/sheets/soccer_big.gif differ diff --git a/public/assets/fonts/sheets/soccer_red.gif b/public/assets/fonts/sheets/soccer_red.gif new file mode 100644 index 0000000000..85e68f7c08 Binary files /dev/null and b/public/assets/fonts/sheets/soccer_red.gif differ diff --git a/public/assets/fonts/sheets/soccer_yellow.gif b/public/assets/fonts/sheets/soccer_yellow.gif new file mode 100644 index 0000000000..f3ccf2f923 Binary files /dev/null and b/public/assets/fonts/sheets/soccer_yellow.gif differ diff --git a/public/assets/fonts/sheets/space.gif b/public/assets/fonts/sheets/space.gif new file mode 100644 index 0000000000..cac148ee0b Binary files /dev/null and b/public/assets/fonts/sheets/space.gif differ diff --git a/public/assets/fonts/sheets/spaces.gif b/public/assets/fonts/sheets/spaces.gif new file mode 100644 index 0000000000..f8a11a5787 Binary files /dev/null and b/public/assets/fonts/sheets/spaces.gif differ diff --git a/public/assets/fonts/sheets/special_offers.gif b/public/assets/fonts/sheets/special_offers.gif new file mode 100644 index 0000000000..3c8a4f327e Binary files /dev/null and b/public/assets/fonts/sheets/special_offers.gif differ diff --git a/public/assets/fonts/sheets/steampunk.gif b/public/assets/fonts/sheets/steampunk.gif new file mode 100644 index 0000000000..5495a1051a Binary files /dev/null and b/public/assets/fonts/sheets/steampunk.gif differ diff --git a/public/assets/fonts/sheets/straypixels.gif b/public/assets/fonts/sheets/straypixels.gif new file mode 100644 index 0000000000..e8a9f6fb91 Binary files /dev/null and b/public/assets/fonts/sheets/straypixels.gif differ diff --git a/public/assets/fonts/sheets/summer.gif b/public/assets/fonts/sheets/summer.gif new file mode 100644 index 0000000000..fbd39f91ab Binary files /dev/null and b/public/assets/fonts/sheets/summer.gif differ diff --git a/public/assets/fonts/sheets/teleport.gif b/public/assets/fonts/sheets/teleport.gif new file mode 100644 index 0000000000..1028efe1bd Binary files /dev/null and b/public/assets/fonts/sheets/teleport.gif differ diff --git a/public/assets/fonts/sheets/theater_lights.gif b/public/assets/fonts/sheets/theater_lights.gif new file mode 100644 index 0000000000..862d9b2bb6 Binary files /dev/null and b/public/assets/fonts/sheets/theater_lights.gif differ diff --git a/public/assets/fonts/sheets/tribe.gif b/public/assets/fonts/sheets/tribe.gif new file mode 100644 index 0000000000..1b615cca63 Binary files /dev/null and b/public/assets/fonts/sheets/tribe.gif differ diff --git a/public/assets/fonts/sheets/trophies.gif b/public/assets/fonts/sheets/trophies.gif new file mode 100644 index 0000000000..4536160962 Binary files /dev/null and b/public/assets/fonts/sheets/trophies.gif differ diff --git a/public/assets/fonts/sheets/unknown_blue.gif b/public/assets/fonts/sheets/unknown_blue.gif new file mode 100644 index 0000000000..3bee16fb1e Binary files /dev/null and b/public/assets/fonts/sheets/unknown_blue.gif differ diff --git a/public/assets/fonts/sheets/unknown_blue_2.gif b/public/assets/fonts/sheets/unknown_blue_2.gif new file mode 100644 index 0000000000..fc31c0cceb Binary files /dev/null and b/public/assets/fonts/sheets/unknown_blue_2.gif differ diff --git a/public/assets/fonts/sheets/unknown_metal.gif b/public/assets/fonts/sheets/unknown_metal.gif new file mode 100644 index 0000000000..5796530e14 Binary files /dev/null and b/public/assets/fonts/sheets/unknown_metal.gif differ diff --git a/public/assets/fonts/sheets/unknown_pillow_1.gif b/public/assets/fonts/sheets/unknown_pillow_1.gif new file mode 100644 index 0000000000..23b84f1d57 Binary files /dev/null and b/public/assets/fonts/sheets/unknown_pillow_1.gif differ diff --git a/public/assets/fonts/sheets/unknown_pillow_2.gif b/public/assets/fonts/sheets/unknown_pillow_2.gif new file mode 100644 index 0000000000..bd08b85718 Binary files /dev/null and b/public/assets/fonts/sheets/unknown_pillow_2.gif differ diff --git a/public/assets/fonts/sheets/unknown_white.gif b/public/assets/fonts/sheets/unknown_white.gif new file mode 100644 index 0000000000..388a5372ff Binary files /dev/null and b/public/assets/fonts/sheets/unknown_white.gif differ diff --git a/public/assets/fonts/sheets/usva.gif b/public/assets/fonts/sheets/usva.gif new file mode 100644 index 0000000000..177267b323 Binary files /dev/null and b/public/assets/fonts/sheets/usva.gif differ diff --git a/public/assets/fonts/sheets/valentine.gif b/public/assets/fonts/sheets/valentine.gif new file mode 100644 index 0000000000..75a7c3c703 Binary files /dev/null and b/public/assets/fonts/sheets/valentine.gif differ diff --git a/public/assets/fonts/sheets/volter.gif b/public/assets/fonts/sheets/volter.gif new file mode 100644 index 0000000000..9f8a311f77 Binary files /dev/null and b/public/assets/fonts/sheets/volter.gif differ diff --git a/public/assets/fonts/sheets/volter_modern.gif b/public/assets/fonts/sheets/volter_modern.gif new file mode 100644 index 0000000000..3f797180ed Binary files /dev/null and b/public/assets/fonts/sheets/volter_modern.gif differ diff --git a/public/assets/fonts/sheets/volter_modern_small.gif b/public/assets/fonts/sheets/volter_modern_small.gif new file mode 100644 index 0000000000..a57a690e58 Binary files /dev/null and b/public/assets/fonts/sheets/volter_modern_small.gif differ diff --git a/public/assets/fonts/sheets/volter_shadow.gif b/public/assets/fonts/sheets/volter_shadow.gif new file mode 100644 index 0000000000..80d79841de Binary files /dev/null and b/public/assets/fonts/sheets/volter_shadow.gif differ diff --git a/public/assets/fonts/sheets/western.gif b/public/assets/fonts/sheets/western.gif new file mode 100644 index 0000000000..4e966d2875 Binary files /dev/null and b/public/assets/fonts/sheets/western.gif differ diff --git a/public/assets/fonts/sheets/windows.gif b/public/assets/fonts/sheets/windows.gif new file mode 100644 index 0000000000..b06dcaa51c Binary files /dev/null and b/public/assets/fonts/sheets/windows.gif differ diff --git a/public/assets/fonts/sheets/windows_blue.gif b/public/assets/fonts/sheets/windows_blue.gif new file mode 100644 index 0000000000..9552a00913 Binary files /dev/null and b/public/assets/fonts/sheets/windows_blue.gif differ diff --git a/public/assets/fonts/sheets/windows_green.gif b/public/assets/fonts/sheets/windows_green.gif new file mode 100644 index 0000000000..18e77b74ad Binary files /dev/null and b/public/assets/fonts/sheets/windows_green.gif differ diff --git a/public/assets/fonts/sheets/windows_jungle.gif b/public/assets/fonts/sheets/windows_jungle.gif new file mode 100644 index 0000000000..e23257120b Binary files /dev/null and b/public/assets/fonts/sheets/windows_jungle.gif differ diff --git a/public/assets/fonts/sheets/windows_lowercase.gif b/public/assets/fonts/sheets/windows_lowercase.gif new file mode 100644 index 0000000000..ae77ebee2d Binary files /dev/null and b/public/assets/fonts/sheets/windows_lowercase.gif differ diff --git a/public/assets/fonts/sheets/windows_pink.gif b/public/assets/fonts/sheets/windows_pink.gif new file mode 100644 index 0000000000..d4953d9069 Binary files /dev/null and b/public/assets/fonts/sheets/windows_pink.gif differ diff --git a/public/assets/fonts/sheets/windows_purple.gif b/public/assets/fonts/sheets/windows_purple.gif new file mode 100644 index 0000000000..cd351938f8 Binary files /dev/null and b/public/assets/fonts/sheets/windows_purple.gif differ diff --git a/public/assets/fonts/sheets/windows_red.gif b/public/assets/fonts/sheets/windows_red.gif new file mode 100644 index 0000000000..58b1e579e6 Binary files /dev/null and b/public/assets/fonts/sheets/windows_red.gif differ diff --git a/public/assets/fonts/sheets/windows_red_dark.gif b/public/assets/fonts/sheets/windows_red_dark.gif new file mode 100644 index 0000000000..5dfdccf495 Binary files /dev/null and b/public/assets/fonts/sheets/windows_red_dark.gif differ diff --git a/public/assets/fonts/sheets/windows_yellow.gif b/public/assets/fonts/sheets/windows_yellow.gif new file mode 100644 index 0000000000..23b4cb08c9 Binary files /dev/null and b/public/assets/fonts/sheets/windows_yellow.gif differ diff --git a/public/assets/fonts/sheets/wood.gif b/public/assets/fonts/sheets/wood.gif new file mode 100644 index 0000000000..88d6d2b186 Binary files /dev/null and b/public/assets/fonts/sheets/wood.gif differ diff --git a/public/assets/fonts/sheets/yellow_text.gif b/public/assets/fonts/sheets/yellow_text.gif new file mode 100644 index 0000000000..cd6ca6a759 Binary files /dev/null and b/public/assets/fonts/sheets/yellow_text.gif differ diff --git a/src/app/api/font/[style]/[text]/route.ts b/src/app/api/font/[style]/[text]/route.ts deleted file mode 100644 index d9af3cdf2f..0000000000 --- a/src/app/api/font/[style]/[text]/route.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { NextResponse } from "next/server"; -import { mkdir, writeFile, readFile } from "fs/promises"; -import { existsSync } from "fs"; -import path from "path"; - -export const dynamic = "force-dynamic"; - -const CACHE_DIR = "public/assets/fonts/cache"; - -const VALID_STYLES = new Set([ - "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", -]); - -export async function GET( - _request: Request, - { params }: { params: Promise<{ style: string; text: string }> }, -) { - const { style, text } = await params; - - if (!VALID_STYLES.has(style)) { - return new NextResponse("Invalid font style", { status: 400 }); - } - - const sanitized = text.replace(/[^a-z0-9+]/g, ""); - if (!sanitized) { - return new NextResponse("Invalid text", { status: 400 }); - } - - const cacheFile = `${style}-${sanitized}.gif`; - const cachePath = path.join(process.cwd(), CACHE_DIR, cacheFile); - - // Serve from cache if already fetched - if (existsSync(cachePath)) { - const bytes = await readFile(cachePath); - return new NextResponse(bytes, { - headers: { - "Content-Type": "image/gif", - "Cache-Control": "public, max-age=86400", - }, - }); - } - - // Fetch from habbofont.net and cache - const upstream = `https://habbofont.net/font/${style}/${sanitized}.gif`; - const res = await fetch(upstream); - - if (!res.ok) { - return new NextResponse("Font render error", { status: 502 }); - } - - const buffer = Buffer.from(await res.arrayBuffer()); - await mkdir(path.dirname(cachePath), { recursive: true }); - await writeFile(cachePath, buffer); - - return new NextResponse(buffer, { - headers: { - "Content-Type": "image/gif", - "Cache-Control": "public, max-age=86400", - }, - }); -} diff --git a/src/components/public/logo-generator.tsx b/src/components/public/logo-generator.tsx index 73988f5ff7..bc3f8eb48b 100644 --- a/src/components/public/logo-generator.tsx +++ b/src/components/public/logo-generator.tsx @@ -1,20 +1,22 @@ "use client"; -import { useCallback, useMemo, useState, useTransition } from "react"; +import { useCallback, useEffect, useMemo, useRef, useState, useTransition } from "react"; import { ContentCard } from "@/components/public/ui"; -import { saveLogoFromUrl } from "@/actions/save-logo"; -import { HABBO_FONT_GROUPS, buildFontUrl } from "@/components/public/habbo-fonts"; +import { saveLogo } from "@/actions/save-logo"; +import { HABBO_FONT_GROUPS } from "@/components/public/habbo-fonts"; +import { getFontInfo, measureText, renderToCanvas } from "@/components/public/sprite-font"; export default function LogoGenerator() { const [text, setText] = useState("Atom"); const [styleName, setStyleName] = useState("habbo"); const [search, setSearch] = useState(""); const [saveStatus, setSaveStatus] = useState<"idle" | "saving" | "done" | "error">("idle"); - const [imgError, setImgError] = useState(false); + const [fontLoaded, setFontLoaded] = useState(false); + const [fontError, setFontError] = useState(false); const [, startTransition] = useTransition(); + const canvasRef = useRef(null); const safeText = text.trim() || "Your hotel"; - const gifUrl = useMemo(() => buildFontUrl(styleName, safeText), [styleName, safeText]); const currentFont = useMemo( () => HABBO_FONT_GROUPS.flatMap((g) => g.fonts).find((f) => f.styleName === styleName), @@ -36,26 +38,63 @@ export default function LogoGenerator() { [search], ); + // Load font and render preview + useEffect(() => { + let cancelled = false; + setFontLoaded(false); + setFontError(false); + + getFontInfo(styleName) + .then((info) => { + if (cancelled) return; + const canvas = renderToCanvas(info.chars, info.h, info.sheet, safeText, 12); + if (canvas && canvasRef.current) { + canvasRef.current.width = canvas.width; + canvasRef.current.height = canvas.height; + const ctx = canvasRef.current.getContext("2d"); + ctx?.drawImage(canvas, 0, 0); + } + setFontLoaded(true); + }) + .catch(() => { + if (!cancelled) setFontError(true); + }); + + return () => { cancelled = true; }; + }, [styleName, safeText]); + const handleDownload = useCallback(() => { - window.open(gifUrl, "_blank"); - }, [gifUrl]); + const canvas = canvasRef.current; + if (!canvas) return; + canvas.toBlob((blob) => { + if (!blob) return; + const a = document.createElement("a"); + a.href = URL.createObjectURL(blob); + a.download = `${safeText.replace(/[^a-z0-9]+/gi, "_") || "logo"}.png`; + a.click(); + URL.revokeObjectURL(a.href); + }, "image/png"); + }, [safeText]); const handleSave = useCallback(() => { + const canvas = canvasRef.current; + if (!canvas) return; setSaveStatus("saving"); - startTransition(async () => { - const result = await saveLogoFromUrl( - `${window.location.origin}${gifUrl}`, - ); - setSaveStatus(result.success ? "done" : "error"); - setTimeout(() => setSaveStatus("idle"), 3000); - }); - }, [gifUrl, startTransition]); + canvas.toBlob((blob) => { + if (!blob) { setSaveStatus("error"); return; } + const file = new File([blob], "logo.png", { type: "image/png" }); + const fd = new FormData(); + fd.append("file", file); + startTransition(async () => { + const result = await saveLogo(fd); + setSaveStatus(result.success ? "done" : "error"); + setTimeout(() => setSaveStatus("idle"), 3000); + }); + }, "image/png"); + }, [startTransition]); const [zipping, setZipping] = useState(false); - const allFonts = useMemo( - () => HABBO_FONT_GROUPS.flatMap((g) => g.fonts), - [], - ); + const allFonts = useMemo(() => HABBO_FONT_GROUPS.flatMap((g) => g.fonts), []); const handleDownloadAll = useCallback(async () => { if (zipping) return; @@ -64,26 +103,26 @@ export default function LogoGenerator() { const JSZip = (await import("jszip")).default; const zip = new JSZip(); const folder = zip.folder(safeText.replace(/[^a-z0-9]+/gi, "_") || "logo")!; - const results = await Promise.allSettled( - allFonts.map(async (font) => { - const url = buildFontUrl(font.styleName, safeText); - const res = await fetch(url); - if (!res.ok) throw new Error(`HTTP ${res.status}`); - const blob = await res.blob(); - folder.file(`${font.styleName}.gif`, blob); - }), - ); + let fail = 0; + + for (const font of allFonts) { + try { + const info = await getFontInfo(font.styleName); + const canvas = renderToCanvas(info.chars, info.h, info.sheet, safeText, 12); + if (!canvas) { fail++; continue; } + const blob = await new Promise((r) => canvas.toBlob((b) => r(b), "image/png")); + if (blob) folder.file(`${font.styleName}.png`, blob); + else fail++; + } catch { fail++; } + } - const failed = results.filter((r) => r.status === "rejected").length; const content = await zip.generateAsync({ type: "blob" }); const a = document.createElement("a"); a.href = URL.createObjectURL(content); a.download = `${safeText.replace(/[^a-z0-9]+/gi, "_") || "logo"}-all-fonts.zip`; a.click(); URL.revokeObjectURL(a.href); - if (failed > 0) { - alert(`${allFonts.length - failed}/${allFonts.length} fonts downloaded. ${failed} failed.`); - } + if (fail > 0) alert(`${allFonts.length - fail}/${allFonts.length} fonts (${fail} failed)`); } catch { alert("Failed to create ZIP."); } finally { @@ -125,10 +164,7 @@ export default function LogoGenerator() { -