ref: f54dc8ce055dcb952cfef3803c3ef70994016d06
parent: 0324d1532b185fd149a809ab24ff9bb0554884eb
author: Clownacy <Clownacy@users.noreply.github.com>
date: Fri Sep 11 19:35:56 EDT 2020
Ramble about the broken font sizes
--- a/src/Draw.cpp
+++ b/src/Draw.cpp
@@ -817,6 +817,23 @@
// Get font size
unsigned int width, height;
+ // Let me tell you why these font sizes are unfortunate...
+ // 6x12 is a good font size - fonts use high-quality bitmaps at that
+ // size, and it works with Cave Story's internal assumption that
+ // characters are spaced 6 pixels apart.
+ // The sad part is the 10x20 size: you might be wondering why Pixel
+ // didn't use 12x24 instead. Well, that's because fonts don't use
+ // bitmaps at that size - instead you get ugly low-res vector
+ // renders. So, Pixel had to use 10x20 instead. But there's a
+ // problem: this means the characters are spaced 5 pixels apart
+ // instead. This normally isn't a problem because the game usually
+ // hardcodes it, but this isn't the case when either <SAT is used, a
+ // texture is regenerated, or when the game prints the name of the
+ // map. This causes the font to render with incorrect spacing.
+ // There's really not much of a solution to this, especially when
+ // you consider that the English translation was specifically built
+ // around the broken spacing.
+
switch (mag)
{
case 1: