Font loading behavior is very inconsistent - WoWInterface
Thread Tools Display Modes
06-25-16, 10:10 PM   #1
A Fallenroot Satyr
Cybeloras's Avatar
AddOn Author - Click to view addons
Join Date: Dec 2009
Posts: 28
Font loading behavior is very inconsistent

X-posting this from the thread that Nevcairiel started at http://us.battle.net/wow/en/forum/topic/20743805540

Including Nev's post for context:
Originally Posted by Nevcairiel
Trying to use custom fonts in AddOns has somewhat .. unexpected results.

In my case, I've been using Shadowed Unit Frames, which comes with its own custom font, and then later also installed Skada, which also has its own custom font.

Running only Shadowed UF had the appropriate behavior, its font gets used in the unit frames.
Installing Skada on top however results in the Skada Font to take over font in the Unit Frames as well.

Disabling Skada and restarting the Beta Client returns the UF font to the expected look.

This can be continued onward, later for development I installed the WowLua addon, which also has its own font, which then took over both ShadowedUF and Skada.

An easy way to see this is also installing "SharedMedia" which comes with a collection of fonts, and looking at it in a font selection widget, ie. in ShadowedUF config. Most of the fonts look the same, instead of having their own look, while some few have their proper look.

Something fishy is going on there, and having this resolved would be great.

There is indeed something very strange going on. I also tested with SUF, but in theory it should be the same with any addon that uses AceGUI-3.0-SharedMediaWidgets for its font config. Here's what happens for me:

My own addon, TellMeWhen, does not use AceGUI-3.0-SharedMediaWidgets for its font config - it uses its own dropdown which display the available fonts in an essentially identical way. Both LSM widgets and TMW's config set their fonts by calling fontString:SetFont(fontFile, ...).

When I open TMW's font dropdown, only a small handful of fonts show up with the correct font face - the ones that are correct seem to be all the ones that I use elsewhere in my UI. The rest show up with a default font face. Opening it repeatedly ( :SetFont() is called each time it is opened on each item in the list) does not change the results. However, when I open SUF's config and open its font selection dropdown, the game freezes for a split second while the fonts are loaded, and then the dropdown appears with all fonts using themselves for their listing. When I go back to TMW, all the fonts are suddenly showing up correctly.

It seems that there is some condition under which when you call :SetFont(), the specified font face will not be loaded, neither immediately nor once the FontString actually needs to be rendered. For reasons that I cannot determine, LSM Widgets seems to be doing this "correctly", but I am not doing it "correctly" in TellMeWhen. However, this goes against what Nev is reporting - LSM Widgets in SUF's config is not working correctly for him. So, I really can't begin to guess what the issue might be since we're seeing different behavior in the exact same library/addon combo.
06-26-16, 08:28 AM   #2
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,290
The pointers are probably messed up with the new fileID system.
07-02-16, 03:10 AM   #3
Premium Member
Premium Member
AddOn Author - Click to view addons
Join Date: Aug 2006
Posts: 62
My issue was long fixed in a build long ago, FWIW.
07-15-16, 05:02 PM   #4
A Fallenroot Satyr
Cybeloras's Avatar
AddOn Author - Click to view addons
Join Date: Dec 2009
Posts: 28
Ok. It sounded like it could have the same root cause as my issue, but I guess not. My issue still persists.

WoWInterface » Site Forums » Archived Beta Forums » Legion Beta archived threads » Font loading behavior is very inconsistent

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off