return true;
}
+static float Font_VirtualToRealSize(float sz)
+{
+ int vh, vw, si;
+ float sn;
+ if(sz < 0)
+ return sz;
+ vw = ((vid.width > 0) ? vid.width : vid_width.value);
+ vh = ((vid.height > 0) ? vid.height : vid_height.value);
+ // now try to scale to our actual size:
+ sn = sz * vh / vid_conheight.value;
+ si = (int)sn;
+ if ( sn - (float)si >= 0.5 )
+ ++si;
+ return si;
+}
+
static qboolean Font_LoadFile(const char *name, int _face, ft2_font_t *font);
static qboolean Font_LoadSize(ft2_font_t *font, float size, qboolean no_texture, qboolean no_kerning);
qboolean Font_LoadFont(const char *name, dp_font_t *dpfnt)
count = 0;
for (s = 0; s < MAX_FONT_SIZES; ++s)
{
- if (Font_LoadSize(fb, dpfnt->req_sizes[s], true, false))
+ if (Font_LoadSize(fb, Font_VirtualToRealSize(dpfnt->req_sizes[s]), true, false))
++count;
}
if (!count)
count = 0;
for (s = 0; s < MAX_FONT_SIZES; ++s)
{
- if (Font_LoadSize(ft2, dpfnt->req_sizes[s], false, false))
+ if (Font_LoadSize(ft2, Font_VirtualToRealSize(dpfnt->req_sizes[s]), false, false))
++count;
}
if (!count)
static void LoadFont_f(void)
{
dp_font_t *f;
- int i, si;
- float sz, sn;
+ int i;
const char *filelist, *c, *cm;
+ float sz;
char mainfont[MAX_QPATH];
if(Cmd_Argc() < 2)
sz = atof(Cmd_Argv(i+3));
if (IS_NAN(sz)) // do not use crap sizes
continue;
- // now try to scale to our actual size:
- if (vid.width > 0)
- sn = snap_to_pixel_y(sz, 0.5);
- else
- {
- sn = sz * vid_height.value / vid_conheight.value;
- si = (int)sn;
- if ( sn - (float)si >= 0.5 )
- ++si;
- sn = si * vid_conheight.value / vid_height.value;
- }
- if (!IS_NAN(sn))
- f->req_sizes[i] = sn;
- else
- f->req_sizes[i] = sz;
+ f->req_sizes[i] = sz;
}
}
LoadFont(true, mainfont, f);