From 4923af67b68e0d791193c19283c5695465e7ef93 Mon Sep 17 00:00:00 2001 From: Blitz54 Date: Thu, 16 Oct 2025 02:34:54 -0500 Subject: [PATCH] Fontin Small Caps and Italic Version --- engine/render.h | 9 ++++++--- engine/render/r_main.cpp | 3 +++ ui_api.cpp | 12 ++++++------ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/engine/render.h b/engine/render.h index 9eb2c5d..d3dbd9e 100644 --- a/engine/render.h +++ b/engine/render.h @@ -26,9 +26,12 @@ enum r_fontAlign_e { // Fonts enum r_fonts_e { - F_FIXED, // Monospaced: Bitsteam Vera Sans Mono - F_VAR, // Normal: Liberation Sans - F_VAR_BOLD, // Normal: Liberation Sans Bold + F_FIXED, // Monospaced: Bitsteam Vera Sans Mono + F_VAR, // Normal: Liberation Sans + F_VAR_BOLD, // Normal: Liberation Sans Bold + F_FONTIN_SC, // Normal: Fontin Small Caps + F_FONTIN_SC_ITALIC, // Normal: Fontin Small Caps Italic + F_FONTIN_ITALIC, // Normal: Fontin Italic F_NUMFONTS }; diff --git a/engine/render/r_main.cpp b/engine/render/r_main.cpp index b08e1bc..a346881 100644 --- a/engine/render/r_main.cpp +++ b/engine/render/r_main.cpp @@ -1089,6 +1089,9 @@ void r_renderer_c::Init(r_featureFlag_e features) fonts[F_FIXED] = new r_font_c(this, "Bitstream Vera Sans Mono"); fonts[F_VAR] = new r_font_c(this, "Liberation Sans"); fonts[F_VAR_BOLD] = new r_font_c(this, "Liberation Sans Bold"); + fonts[F_FONTIN_SC] = new r_font_c(this, "Fontin SmallCaps"); + fonts[F_FONTIN_SC_ITALIC] = new r_font_c(this, "Fontin SmallCaps Italic"); + fonts[F_FONTIN_ITALIC] = new r_font_c(this, "Fontin Italic"); sys->con->Printf("Renderer initialised in %d msec.\n", timer.Get()); } diff --git a/ui_api.cpp b/ui_api.cpp index 3dba0b1..82118d5 100644 --- a/ui_api.cpp +++ b/ui_api.cpp @@ -61,9 +61,9 @@ ** SetDrawColor(red, green, blue[, alpha]) / SetDrawColor("") ** DrawImage({imgHandle|nil}, left, top, width, height[, tcLeft, tcTop, tcRight, tcBottom][, stackIdx[, maskIdx]]) maskIdx: use a stack layer as multiplicative mask ** DrawImageQuad({imgHandle|nil}, x1, y1, x2, y2, x3, y3, x4, y4[, s1, t1, s2, t2, s3, t3, s4, t4][, stackIdx[, maskIdx]]) -** DrawString(left, top, align{"LEFT"|"CENTER"|"RIGHT"|"CENTER_X"|"RIGHT_X"}, height, font{"FIXED"|"VAR"|"VAR BOLD"}, "") -** width = DrawStringWidth(height, font{"FIXED"|"VAR"|"VAR BOLD"}, "") -** index = DrawStringCursorIndex(height, font{"FIXED"|"VAR"|"VAR BOLD"}, "", cursorX, cursorY) +** DrawString(left, top, align{"LEFT"|"CENTER"|"RIGHT"|"CENTER_X"|"RIGHT_X"}, height, font{"FIXED"|"VAR"|"VAR BOLD"|"FONTIN SC"|"FONTIN SC ITALIC"|"FONTIN ITALIC"}, "") +** width = DrawStringWidth(height, font{"FIXED"|"VAR"|"VAR BOLD"|"FONTIN SC"|"FONTIN SC ITALIC|"FONTIN ITALIC"}, "") +** index = DrawStringCursorIndex(height, font{"FIXED"|"VAR"|"VAR BOLD"|"FONTIN SC"|"FONTIN SC ITALIC|"FONTIN ITALIC"}, "", cursorX, cursorY) ** str = StripEscapes("") ** count = GetAsyncCount() ** @@ -1060,7 +1060,7 @@ static int l_DrawString(lua_State* L) ui->LAssert(L, lua_isstring(L, 5), "DrawString() argument 5: expected string, got %s", luaL_typename(L, 5)); ui->LAssert(L, lua_isstring(L, 6), "DrawString() argument 6: expected string, got %s", luaL_typename(L, 6)); static const char* alignMap[6] = { "LEFT", "CENTER", "RIGHT", "CENTER_X", "RIGHT_X", NULL }; - static const char* fontMap[4] = { "FIXED", "VAR", "VAR BOLD", NULL }; + static const char* fontMap[7] = { "FIXED", "VAR", "VAR BOLD", "FONTIN SC", "FONTIN SC ITALIC", "FONTIN ITALIC", NULL}; ui->renderer->DrawString( (float)lua_tonumber(L, 1), (float)lua_tonumber(L, 2), luaL_checkoption(L, 3, "LEFT", alignMap), (int)lua_tointeger(L, 4), NULL, luaL_checkoption(L, 5, "FIXED", fontMap), lua_tostring(L, 6) @@ -1077,7 +1077,7 @@ static int l_DrawStringWidth(lua_State* L) ui->LAssert(L, lua_isnumber(L, 1), "DrawStringWidth() argument 1: expected number, got %s", luaL_typename(L, 1)); ui->LAssert(L, lua_isstring(L, 2), "DrawStringWidth() argument 2: expected string, got %s", luaL_typename(L, 2)); ui->LAssert(L, lua_isstring(L, 3), "DrawStringWidth() argument 3: expected string, got %s", luaL_typename(L, 3)); - static const char* fontMap[4] = { "FIXED", "VAR", "VAR BOLD", NULL }; + static const char* fontMap[7] = { "FIXED", "VAR", "VAR BOLD", "FONTIN SC", "FONTIN SC ITALIC", "FONTIN ITALIC", NULL }; lua_pushinteger(L, ui->renderer->DrawStringWidth((int)lua_tointeger(L, 1), luaL_checkoption(L, 2, "FIXED", fontMap), lua_tostring(L, 3))); return 1; } @@ -1093,7 +1093,7 @@ static int l_DrawStringCursorIndex(lua_State* L) ui->LAssert(L, lua_isstring(L, 3), "DrawStringCursorIndex() argument 3: expected string, got %s", luaL_typename(L, 3)); ui->LAssert(L, lua_isnumber(L, 4), "DrawStringCursorIndex() argument 4: expected number, got %s", luaL_typename(L, 4)); ui->LAssert(L, lua_isnumber(L, 5), "DrawStringCursorIndex() argument 5: expected number, got %s", luaL_typename(L, 5)); - static const char* fontMap[4] = { "FIXED", "VAR", "VAR BOLD", NULL }; + static const char* fontMap[7] = { "FIXED", "VAR", "VAR BOLD", "FONTIN SC", "FONTIN SC ITALIC", "FONTIN ITALIC", NULL }; lua_pushinteger(L, ui->renderer->DrawStringCursorIndex((int)lua_tointeger(L, 1), luaL_checkoption(L, 2, "FIXED", fontMap), lua_tostring(L, 3), (int)lua_tointeger(L, 4), (int)lua_tointeger(L, 5)) + 1); return 1; }