feat: Add expanded font list with common WoW fonts to Arrow and Tracker options

This commit is contained in:
Xurkon
2026-04-02 20:43:17 -05:00
parent d9f5022f27
commit 03a58e0c28
2 changed files with 68 additions and 6 deletions
@@ -15,6 +15,37 @@ local l10n = QuestieLoader:ImportModule("l10n")
local SharedMedia = LibStub("LibSharedMedia-3.0")
-- Build expanded font list from SharedMedia + common WoW fonts
local function GetExpandedFontList()
local fonts = {}
-- Add SharedMedia fonts
for _, name in ipairs(SharedMedia:HashTable("font")) do
fonts[name] = name
end
-- Add common WoW fonts not typically in SharedMedia
local wowFonts = {
["Friz Quadrata TT"] = "Friz Quadrata TT",
["Friz Quadrata"] = "Friz Quadrata",
["Arial Narrow"] = "Arial Narrow",
["Arial"] = "Arial",
["Skull"] = "Skull",
["Number Font"] = "Number Font",
["GameFontHighlight"] = "GameFontHighlight",
["GameFontNormal"] = "GameFontNormal",
["GameFontBold"] = "GameFontBold",
["GameFontLarge"] = "GameFontLarge",
["GameFontNormalSmall"] = "GameFontNormalSmall",
["ChatFontNormal"] = "ChatFontNormal",
["QuestFont"] = "QuestFont",
["QuestFont_Large"] = "QuestFont_Large",
["DialogNormal"] = "DialogNormal",
}
for _, name in ipairs(wowFonts) do
fonts[name] = name
end
return fonts
end
QuestieOptions.tabs.arrow = { ... }
function QuestieOptions.tabs.arrow:Initialize()
@@ -85,7 +116,7 @@ function QuestieOptions.tabs.arrow:Initialize()
type = "select",
dialogControl = 'LSM30_Font',
order = 7,
values = SharedMedia:HashTable("font"),
values = GetExpandedFontList(),
style = 'dropdown',
name = function() return l10n("Arrow Font") end,
desc = function() return l10n("The font used for the arrow distance and title text.") end,
@@ -29,6 +29,37 @@ local trackerOptions = {}
local SharedMedia = LibStub("LibSharedMedia-3.0")
-- Build expanded font list from SharedMedia + common WoW fonts
local function GetExpandedFontList()
local fonts = {}
-- Add SharedMedia fonts
for _, name in ipairs(SharedMedia:HashTable("font")) do
fonts[name] = name
end
-- Add common WoW fonts not typically in SharedMedia
local wowFonts = {
["Friz Quadrata TT"] = "Friz Quadrata TT",
["Friz Quadrata"] = "Friz Quadrata",
["Arial Narrow"] = "Arial Narrow",
["Arial"] = "Arial",
["Skull"] = "Skull",
["Number Font"] = "Number Font",
["GameFontHighlight"] = "GameFontHighlight",
["GameFontNormal"] = "GameFontNormal",
["GameFontBold"] = "GameFontBold",
["GameFontLarge"] = "GameFontLarge",
["GameFontNormalSmall"] = "GameFontNormalSmall",
["ChatFontNormal"] = "ChatFontNormal",
["QuestFont"] = "QuestFont",
["QuestFont_Large"] = "QuestFont_Large",
["DialogNormal"] = "DialogNormal",
}
for _, name in ipairs(wowFonts) do
fonts[name] = name
end
return fonts
end
function QuestieOptions.tabs.tracker:Initialize()
trackerOptions = {
name = function() return l10n('Tracker') end,
@@ -813,7 +844,7 @@ function QuestieOptions.tabs.tracker:Initialize()
type = "select",
dialogControl = 'LSM30_Font',
order = 2,
values = SharedMedia:HashTable("font"),
values = GetExpandedFontList(),
style = 'dropdown',
name = function() return l10n("Font for Active Quests Header") end,
desc = function() return l10n("The font used for the Active Quests Header.") end,
@@ -844,7 +875,7 @@ function QuestieOptions.tabs.tracker:Initialize()
type = "select",
dialogControl = 'LSM30_Font',
order = 4,
values = SharedMedia:HashTable("font"),
values = GetExpandedFontList(),
style = 'dropdown',
name = function() return l10n('Font for Zone Names') end,
desc = function() return l10n('The font used for zone names.') end,
@@ -878,7 +909,7 @@ function QuestieOptions.tabs.tracker:Initialize()
type = "select",
dialogControl = 'LSM30_Font',
order = 6,
values = SharedMedia:HashTable("font"),
values = GetExpandedFontList(),
style = 'dropdown',
name = function() return l10n('Font for Quest Titles') end,
desc = function() return l10n('The font used for Quest Titles.') end,
@@ -913,7 +944,7 @@ function QuestieOptions.tabs.tracker:Initialize()
type = "select",
dialogControl = 'LSM30_Font',
order = 8,
values = SharedMedia:HashTable("font"),
values = GetExpandedFontList(),
style = 'dropdown',
name = function() return l10n('Font for Objectives') end,
desc = function() return l10n('The font used for Objectives.') end,
@@ -933,7 +964,7 @@ function QuestieOptions.tabs.tracker:Initialize()
type = "select",
dialogControl = 'LSM30_Font',
order = 9.2,
values = SharedMedia:HashTable("font"),
values = GetExpandedFontList(),
style = 'dropdown',
width = 1.5,
name = function() return l10n("Font for All") end,