A Molten Giant
Join Date: Dec 2009
Posts: 784
|
Originally Posted by Aprikot
I've wrestled with the same issue as the OP. The FontObjects used in some of the Quest Log & Acheivements pane text (GameFontBlack, SystemFont_Small, QuestFont) will respond to all of the SetFont arguments, but do not respond to SetTextColor. This results in the unhappy, and mostly illegible, dark text with dark outline.
To my understanding, SetTextColor doesn't override anything; it only affects text not being colored by something else. I've being poking around the FrameXML files for what might be coloring SystemFont_Small text dark brown.
My workaround in the meantime is to remove the outline flag from the dark colored FontObjects. I use the method sacrife posted above, from Tukui, which lets you use different settings per object:
Lua Code:
-- author: Tukz local eventframe = CreateFrame("Frame", nil, UIParent) local SetFont = function(obj, font, size, style, r, g, b, sr, sg, sb, sox, soy) obj:SetFont(font, size, style) if sr and sg and sb then obj:SetShadowColor(sr, sg, sb) end if sox and soy then obj:SetShadowOffset(sox, soy) end obj:SetShadowOffset(1,-2) obj:SetShadowColor(0, 0, 0, .4) if r and g and b then obj:SetTextColor(r, g, b) elseif r then obj:SetAlpha(r) end end eventframe:RegisterEvent("PLAYER_ENTERING_WORLD") eventframe:SetScript("OnEvent", function(self, event, addon) local NORMAL = "Fonts\\ARIALN.ttf" local COMBAT = "Fonts\\ARIALN.ttf" local NUMBER = "Fonts\\ARIALN.ttf" local fSize = 14 UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT = 8 CHAT_FONT_HEIGHTS = {8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20} UNIT_NAME_FONT = NORMAL NAMEPLATE_FONT = NORMAL DAMAGE_TEXT_FONT = COMBAT STANDARD_TEXT_FONT = NORMAL -- Base fonts SetFont(GameFontBlack, NORMAL, fSize, "", 1, 0, 0, 1, 0, 0, 0, 0, 0); SetFont(GameFontHighlight, NORMAL, fSize, "THINOUTLINE", 1, 1, 1, 1, 0, 0, 0, 0, 0) SetFont(GameTooltipHeader, NORMAL, fSize, "THINOUTLINE") SetFont(NumberFont_OutlineThick_Mono_Small, NUMBER, fSize, "THINOUTLINE") SetFont(NumberFont_Outline_Huge, NUMBER, 28, "THINOUTLINE", 28) SetFont(NumberFont_Outline_Large, NUMBER, fSize+3, "THINOUTLINE") SetFont(NumberFont_Outline_Med, NUMBER, fSize, "THINOUTLINE") SetFont(NumberFont_Shadow_Med, NORMAL, fSize, "THINOUTLINE") SetFont(NumberFont_Shadow_Small, NORMAL, fSize, "THINOUTLINE") SetFont(QuestFont, NORMAL, fSize+2, "", 1, 1, 1, 1, 0, 0, 0, 0, 0) SetFont(QuestFont_Large, NORMAL, fSize+2, "THINOUTLINE", 1, 1, 1, 1, 0, 0, 0, 0, 0) SetFont(SystemFont_Large, NORMAL, fSize+2, "THINOUTLINE") SetFont(SystemFont_Med1, NORMAL, fSize-1, "THINOUTLINE") SetFont(SystemFont_Med3, NORMAL, fSize-1, "THINOUTLINE") SetFont(SystemFont_OutlineThick_Huge2, NORMAL, fSize+7, "THICKOUTLINE") SetFont(SystemFont_Outline_Small, NUMBER, fSize, "THINOUTLINE") SetFont(SystemFont_Shadow_Large, NORMAL, fSize+2, "THINOUTLINE") SetFont(SystemFont_Shadow_Med1, NORMAL, fSize, "THINOUTLINE") SetFont(SystemFont_Shadow_Med3, NORMAL, fSize, "THINOUTLINE") SetFont(SystemFont_Shadow_Outline_Huge2, NORMAL, fSize+7, "THINOUTLINE") SetFont(SystemFont_Shadow_Small, NORMAL, fSize, "THINOUTLINE") SetFont(SystemFont_Small, NORMAL, fSize, "", 1, 1, 1, 1, 0, 0, 0, 0, 0) SetFont(SystemFont_Tiny, NORMAL, fSize, "THINOUTLINE") SetFont(Tooltip_Med, NORMAL, fSize, "THINOUTLINE") SetFont(Tooltip_Small, NORMAL, fSize, "THINOUTLINE") SetFont(CombatTextFont, COMBAT, 25, "THINOUTLINE") SetFont(SystemFont_Shadow_Huge1, NORMAL, 20, "THINOUTLINE") SetFont(ZoneTextString, NORMAL, 32, "THINOUTLINE") SetFont(SubZoneTextString, NORMAL, 25, "THINOUTLINE") SetFont(PVPInfoTextString, NORMAL, 22, "THINOUTLINE") SetFont(PVPArenaTextString, NORMAL, 22, "THINOUTLINE") SetFont(ChatFrame1, NORMAL, fSize, "THINOUTLINE") SetFont = nil self:SetScript("OnEvent", nil) self:UnregisterAllEvents() self = nil end)
BTW, are "OUTLINE" & "THINOUTLINE" the same thing, and if so have they always been?
|
Didn't work that well
@ hank haven't tried it yet, so ^^
|