Jump to content

GUI font problems


eraz0r

Recommended Posts

Since this is my first post here, I'd like to thank the author LUK! and all the beta team members for the excellent software ImgBurn!! It does rule the world of burning applications.

 

Now, my little problem :) Up to version 2.4.2.0 ImgBurn used the Microsoft Sans Serif as the GUI font, which looks just perfect on LCD-type monitors with ClearType enabled. I've just installed the latest version, and see that this has been changed (also checked the "whatsnew" section on the homepage to confirm my findings). Now ImgBurn uses the font which is selected for 'ToolTip' item (found under Display Properties-->Appearance-->Advanced-->ToolTip Windows settings) as the default GUI font. I have Segou UI font set for the ToolTip item and with this setting all ImgBurn controls & GUI strings look just terrible. I don't get why it now reads font from there, because as I wrote above previous versions didn't. I played with different font settings for different Windows GUI elements, the only one that affects ImgBurn GUI is this ToolTip thing.

 

Is there any way to force ImgBurn use Microsoft Sans Serif or maybe I can change it via some registry settings (I mean for the program)?

 

Many thanks in advance.

Link to comment
Share on other sites

Can you not use Sans Serif as tootip under Display Properties-->Appearance-->Advanced-->ToolTip Windows settings ?

If thats where ImgBurn as you say is getting it from, I cannot find that info in changelog (but then I am terrible with changelogs and finding text) ;lol. I just cannot seem to find anything now :lol

Link to comment
Share on other sites

Can you not use Sans Serif as tootip under Display Properties-->Appearance-->Advanced-->ToolTip Windows settings ?

If thats where ImgBurn as you say is getting it from, I cannot find that info in changelog (but then I am terrible with changelogs and finding text) ;lol. I just cannot seem to find anything now :lol

 

Thank you for the follow-up.

 

Yeah, sure thing I can use Microsoft Sans Serif as a tooltip font, but that's not a "right" solution, some sort of a workaround. Moreover I just love Segou UI, I don't really want to change it. And here are the pieces of changelog, that you're talking about:

 

Changed/Fixed: When running Win 9x and the (default) Tahoma font is not available, the substituted GUI font was pretty awful! Now it'll attempt to use the system default (probably 'MS Sans Serif') if that's the case.

 

Fixed: None of the automatic string truncation stuff (making them fit in the available space within the window) was working properly when the font being used was anything but 'Tahoma' (XP default). I blame Borland/CodeGear because changing a control's font doesn't update the canvas's font!

 

I believe the above two items are the reason why ImgBurn now gets default GUI font from someplace else than before.

Link to comment
Share on other sites

Changed/Fixed: When running Win 9x and the (default) Tahoma font is not available, the substituted GUI font was pretty awful! Now it'll attempt to use the system default (probably 'MS Sans Serif') if that's the case.

 

it will use MS Sans Serif though is that not what you said you had been using

Link to comment
Share on other sites

Changed/Fixed: When running Win 9x and the (default) Tahoma font is not available, the substituted GUI font was pretty awful! Now it'll attempt to use the system default (probably 'MS Sans Serif') if that's the case.

 

it will use MS Sans Serif though is that not what you said you had been using

 

What concerns me is the word "probably" in the changelog entry above, as in fact it's NOT MS Sans Serif by default. You can check it for yourself, if you're on WinXP (not sure about other OSes). Change the ToolTip font to something funny & unusual and load ImgBurn to see how it affects its GUI.

Link to comment
Share on other sites

On Vista it changes the status bar font, both when using aero or windows standard :blink:

 

Aha, interesting. Thanks for the input.

 

I still can't see any connection between the ToolTip settings and ImgBurn default GUI font. Is this how it's supposed to be from version 2.4.4.0 on? :(

 

 

BTW, what is the program GUI font on Vista?

Link to comment
Share on other sites

Segoe UI is default on Vista.

 

I've looked at the code and the only change I made to the function that determins which font should be used as the default one by all the forum is pretty much the same as it's been for over a year.

 

I say 'pretty much' because it's is slightly different now if you're running an OS dating back to before v5.0 (v5.0 = Windows 2000 so anything before it would be Win 9x, Me and NT)

 

On XP and Vista there's no difference.

 

When the program picks which font to use, it calls with SystemParametersInfo ( http://msdn.microsoft.com/en-us/library/ms724947.aspx ) with 'uiAction' set to 'NONCLIENTMETRICS' ( http://msdn.microsoft.com/en-us/library/ms724506(VS.85).aspx ).

 

Assuming that call succeeds, it then uses the font names from (and in this order):

 

lfMessageFont

lfStatusFont

lfMenuFont

 

'lfMessageFont' is supposed to be the one used by message boxes etc.

 

If you want more info on what's happening, open HKCU\Software\ImgBurn in RegEdit, find 'GENERAL_ProgramDebugMode' and change it to 1.

 

Now run the program, look in the log window and copy+paste everything you see.

 

You should notice that it tells you which font was selected etc and it'll give us a clue about which function / value is actually being used to set it.

 

W 23:35:45 Program 'Debug Mode' has been Enabled!

D 23:35:45 Font - DefaultFontName: Tahoma

D 23:35:45 Font - lfMessageFont: Segoe UI

D 23:35:45 Font - GUI: Segoe UI

D 23:35:45 Font on 'frmSplashScreen' changed from 'Tahoma' to 'Segoe UI'.

D 23:35:45 Font on 'frmMain' changed from 'Tahoma' to 'Segoe UI'.

D 23:35:45 Font on 'frmLog' changed from 'Tahoma' to 'Segoe UI'.

D 23:35:45 Font on 'frmBurnNextDisc' changed from 'Tahoma' to 'Segoe UI'.

D 23:35:45 Font on 'frmPrepareImage' changed from 'Tahoma' to 'Segoe UI'.

D 23:35:45 Font on 'frmBuildImageTree' changed from 'Tahoma' to 'Segoe UI'.

D 23:35:45 Font on 'frmReplaceFile' changed from 'Tahoma' to 'Segoe UI'.

D 23:35:45 Font on 'frmBurnQueue' changed from 'Tahoma' to 'Segoe UI'.

D 23:35:45 Font on 'frmDropZone' changed from 'Tahoma' to 'Segoe UI'.

I 23:35:45 ImgBurn Version 2.4.4.1 Beta started!

Link to comment
Share on other sites

Segoe UI is default on Vista.

 

I've looked at the code and the only change I made to the function that determins which font should be used as the default one by all the forum is pretty much the same as it's been for over a year.

I say 'pretty much' because it's is slightly different now if you're running an OS dating back to before v5.0 (v5.0 = Windows 2000 so anything before it would be Win 9x, Me and NT)

On XP and Vista there's no difference.

 

 

'lfMessageFont' is supposed to be the one used by message boxes etc.

 

If you want more info on what's happening, open HKCU\Software\ImgBurn in RegEdit, find 'GENERAL_ProgramDebugMode' and change it to 1.

 

Now run the program, look in the log window and copy+paste everything you see.

 

 

Thanks a lot for your detailed reply, very much appreciated.

 

Segoe UI font is not available on XP by default, I just added it manually. As about the code changes you made, there is still something that has been changed, because I have 2 desktops both running XP Pro w/SP2 but different versions of ImgBurn:

 

1) XP Pro w/SP2 ENG + ImgBurn 2.4.2.0

2) XP Pro w/SP2 RUS + ImgBurn 2.4.4.0

 

and if I make any changes to the ToolTip font settings on the first machine it doesn't affect the way ImgBurn's GUI look like, i.e. main window, settings window, driver order load window, etc. Of course the tooltip pop-ups within ImgBurn do reflect the changes. I mean, that the main program GUI font is still Microsoft Sans Serif, which I believe is the default Windows GUI font on XP, at least I have all standard dialog boxes, windows, etc. displayed with it.

 

Now, if I do the same on the second machine, ImgBurn picks up the font I set for the ToolTip and uses it as the default one. Everything else on both machines is the same in regards to the Display Properties-->Appearance settings, so it's not me messing up with the font parameters :)

 

I turned the debug mode on, and here is my log:

 

W 15:28:49 Program 'Debug Mode' has been Enabled!

D 15:28:49 Font - DefaultFontName: Tahoma

D 15:28:49 Font - lfFaceName: Segoe UI

D 15:28:49 Font - GUI: Segoe UI

D 15:28:49 Font on 'frmSplashScreen' changed from 'Tahoma' to 'Segoe UI'.

D 15:28:49 Font on 'frmMain' changed from 'Tahoma' to 'Segoe UI'.

D 15:28:49 Font on 'frmLog' changed from 'Tahoma' to 'Segoe UI'.

D 15:28:49 Font on 'frmBurnNextDisc' changed from 'Tahoma' to 'Segoe UI'.

D 15:28:49 Font on 'frmPrepareImage' changed from 'Tahoma' to 'Segoe UI'.

D 15:28:49 Font on 'frmBuildImageTree' changed from 'Tahoma' to 'Segoe UI'.

D 15:28:49 Font on 'frmReplaceFile' changed from 'Tahoma' to 'Segoe UI'.

D 15:28:49 Font on 'frmBurnQueue' changed from 'Tahoma' to 'Segoe UI'.

D 15:28:49 Font on 'frmDropZone' changed from 'Tahoma' to 'Segoe UI'.

I 15:28:49 ImgBurn Version 2.4.4.0 started!

I 15:28:49 Microsoft Windows XP Professional (5.1, Build 2600 : Service Pack 2)

 

 

However, please note that it says "lfFaceName: Segoe UI" and not 'lfMessageFont' as you wrote above and according to your log information. I changed the font once again for ToolTip and here is how ImgBurn reports about it now:

 

W 16:08:45 Program 'Debug Mode' has been Enabled!

D 16:08:45 Font - DefaultFontName: Tahoma

D 16:08:45 Font - lfFaceName: Courier New

D 16:08:45 Font - GUI: Courier New

D 16:08:45 Font on 'frmSplashScreen' changed from 'Tahoma' to 'Courier New'.

D 16:08:45 Font on 'frmMain' changed from 'Tahoma' to 'Courier New'.

D 16:08:45 Font on 'frmLog' changed from 'Tahoma' to 'Courier New'.

D 16:08:45 Font on 'frmBurnNextDisc' changed from 'Tahoma' to 'Courier New'.

D 16:08:45 Font on 'frmPrepareImage' changed from 'Tahoma' to 'Courier New'.

D 16:08:45 Font on 'frmBuildImageTree' changed from 'Tahoma' to 'Courier New'.

D 16:08:45 Font on 'frmReplaceFile' changed from 'Tahoma' to 'Courier New'.

D 16:08:45 Font on 'frmBurnQueue' changed from 'Tahoma' to 'Courier New'.

D 16:08:45 Font on 'frmDropZone' changed from 'Tahoma' to 'Courier New'.

I 16:08:45 ImgBurn Version 2.4.4.0 started!

I 16:08:45 Microsoft Windows XP Professional (5.1, Build 2600 : Service Pack 2)

 

 

Please let me know if any other info is required.

Link to comment
Share on other sites

Can I ask why you're still using service pack 2?

 

I have almost all the updates that were released prior the SP3, so I didn't install it when it became available.

 

I don't think it has something to do with the issue I described. Do you?

Link to comment
Share on other sites

Ah see the lfFaceName is a fallback if the function 'SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, &ncm, 0)' fails (or all the values appear to be blank strings).

 

When that fails, it's asks the status bar which font it's using and uses that.

 

So the question is, why is it failing on your machine?

 

....I think I know and I'm working on a solution right this second :)

Link to comment
Share on other sites

Ah see the lfFaceName is a fallback if the function 'SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, &ncm, 0)' fails (or all the values appear to be blank strings).

 

When that fails, it's asks the status bar which font it's using and uses that.

 

So the question is, why is it failing on your machine?

 

....I think I know and I'm working on a solution right this second :)

 

Aha, I see now as well :) and the status bar font is the font which corresponds to ToolTip setting or vice versa :) That's why when I change it in one place I'm able to see the changes in ImgBurn's look.

 

I've got no clue why it's failing on my machine. There haven't been any changes to the settings/installed apps on it for months, I mean it's a pretty clean install of WinXP + a dozen of apps I need, that's it.

Link to comment
Share on other sites

I don't think it has something to do with the issue I described. Do you?

 

Not at all. I'm merely curious. Many of us (myself included) have been learning from Lightning_UK for a long time. Around 7 years for me, I think. I've found that it's best to have the latest of everything just incase any problem encountered has already been fixed by an update or upgrade.

Link to comment
Share on other sites

I don't think it has something to do with the issue I described. Do you?

 

Not at all. I'm merely curious. Many of us (myself included) have been learning from Lightning_UK for a long time. Around 7 years for me, I think. I've found that it's best to have the latest of everything just incase any problem encountered has already been fixed by an update or upgrade.

 

OK, I got your point. Thanks for letting me know. I'll get my hands on the SP3 stuff really soon :thumbup:

Link to comment
Share on other sites

What you have to remember is that a service pack is more than just hotfixes.

They'll no doubt drop support for anything prior to SP3 soon just as they did with things prior to SP2 not so long ago.

 

Yep. Completely agree with you on that.

 

Just wondering, have you been able to figure out where the catch is? ;)

 

Once again, many thanks for your instant replies!

Link to comment
Share on other sites

Ah see the lfFaceName is a fallback if the function 'SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, &ncm, 0)' fails (or all the values appear to be blank strings).

When that fails, it's asks the status bar which font it's using and uses that.

So the question is, why is it failing on your machine?

 

Look, I just realized, could it be because of the localized Windows version (namely russian) being used on my machine? However, I have all the regional settings set to English anyway. I'm not a programmer myself, so don't know a lot about all those System API calls and stuff.

Link to comment
Share on other sites

FYI, I've fixed the issue that caused your odd GUI fonts problem.

 

The SystemParametersInfo(SPI_GETNONCLIENTMETRICS...) function was failing because it was being called with its structure size set to a value that's not supported on any OS prior to Vista.

 

I also took this opportunity to make the GUI font a configurable option (although it always was, via a certain registry key).

Link to comment
Share on other sites

FYI, I've fixed the issue that caused your odd GUI fonts problem.

 

The SystemParametersInfo(SPI_GETNONCLIENTMETRICS...) function was failing because it was being called with its structure size set to a value that's not supported on any OS prior to Vista.

 

I also took this opportunity to make the GUI font a configurable option (although it always was, via a certain registry key).

 

That's an excellent news indeed!

 

Question: Can I fix it somehow (maybe temporarily?) on my local machine (e.g. via a certain registry key) or should I wait for the next version which will fix it for me?

 

Thank you.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.