Possible to change shared font during run-time?

The way scaleform is configured in UDK, there is a GFxUI.int file that defines what shared font library to use when loading a swf.

However I built my own localization system as UDK was built to define the language at install, which doesn’t work with the way Steam is setup (you upload the pre-installed game). So i’d like to be able to repoint my swf’s to use different font libraries during runtime.

Did you ever figure this out? I’m trying to change the font used based on which language the game is running in. Changing GFxUI.* doesn’t seem to work.

No i’m afraid not. I did manage to have all my swf movies using font’s from a single shared movie though.

With my CJK (Chinese/Japanese/Korean) languages, I actually just switch over to a different swfs that use a unicode font. So i have two versions of every swf. Kinda hacky, but it’s the best solution i could come up with, and i didn’t want to use the unicode for all, as I’m not so keen on the padding etc it uses.

Hey there, don’t mind me. I’m just stalking you through all your old posts. To update you on what I do now: In my expansion/sequel’s UI, I switched virtually all of my ActionScript textField.text references to textField.htmlText. In UnrealScript I assemble some html4 strings with <font> tags and the game now switches totally seamlessly from one language to another.
[Edit: I had written “<font> tags” above, but without the surrounding backticks originally, so it just looked like “tags” and the word “<font>” didn’t show up. ]

That is not switching fonts. That is just telling your textfield to parse html tags. It’s still using the same font.

The font I use for my primary languages does not support Chinese/Japanese/Korean characters (it is not unicode). The one you are using probably is using a unicode font.

UnrealScript:

class SRVLocalizationData extends Object;
var localized string htmlFont; // This string is different for every language
var localized string MenuName_Localized;
...
function LabelMenu()
{
	local string htmlString;
	local GFxObject MenuLabel;
	local GFxObject TextField;

	MenuLabel = MenuContainer.GetObject("menuNameLabel");
	TextField = MenuLabel.GetObject("textField");
	htmlString = "<font size=\"" $ LocalizationData.titleFontSize $ "\" face=\"" $ LocalizationData.htmlFont $ "\">" $ MenuName_Localized $ "</font>";
	TextField.SetString("htmlText", htmlString);
}

I promise you I’m switching fonts at runtime, using different fonts for English, Chinese, and Japanese, all without loading a new swf file.