UE4.6 DrawText scale option broken?

Is it just me or is the scale in DrawText (BP HUD) broken in 4.6?

(1) Create a new FirstPerson BP project

(2) Go to MyHUD

(3) Add a (Target is HUD) DrawText node to the graph

(4) In the DrawText node add some text, a colour, and any scale (even 0).

The text size does not change, regardless of whether a custom font or default font asset is used.

Update:
Fonts assets created with 4.5 and migrated to 4.6 will scale, but fonts assets created with 4.6 will not scale.

The UI for font asset creation is different in 4.6 so it may not be a bug as such. May be some new default parameter(s) that inhibit scaling?

I just figured out I can set the Font Cache Type property back to “OFFLINE” to get the old style ‘scalable’ fonts working again.

However, I would still like to know why Font Cache Type:RUNTIME inhibits font scaling in DrawText seeing as this it the way forward.

Hello ash22,

I was able to reproduce the issue that you described above. I have written up a a report (UE-6706) and I have submitted it to the developers for further consideration. I will provide updates with any pertinent information as it becomes available. Thank you for your time and information.

Make it a great day

Thanks Rudy.

I was able to enable scaling for fonts with Font Cache Type set to Runtime by editing the source.

In FCanvasTextItem::DrawStringInternal_RuntimeCache in CanvasItem.cpp, the FontScale is hardcoded to be 1.0f. You can change FontScale to be Scale.X, like this:

void FCanvasTextItem::DrawStringInternal_RuntimeCache( FCanvas* InCanvas, const FVector2D& DrawPos, const FLinearColor& InColor )
{
	DrawnSize = FVector2D::ZeroVector;

	// Nothing to do if no text
	const FString& TextString = Text.ToString();
	if( TextString.Len() == 0 )
	{
		return;
	}

	TSharedPtr<FSlateFontCache> FontCache = FEngineFontServices::Get().GetFontCache();
	if( !FontCache.IsValid() )
	{
		return;
	}
	
	//const float FontScale = 1.0f;
	const float FontScale = Scale.X;

However, this is causing my text to be cut off in some cases (eg, the bottom of this text, where I’m using a scale of 2.0):

25779-screen+shot+2015-01-06+at+12.38.54.png

Hopefully that hardcoding is the culprit to my Font Cache Type:RUNTIME scaling issue in a HUD blueprint.

Out of interest, the text clipping you mentioned also happens when I try to create OFFLINE fonts in 4.6.
I commented on the clipping a few days ago (see my last comment):

https://answers.unrealengine.com/questions/127415/drawtext-font-scaling-issue.html

UPDATE: Also affects Unreal Engine 4.7!

:((
I was waiting eagerly for this fix in 4.7.