UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FontMeasure.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5#include "Fonts/FontTypes.h"
7
9
12
14{
15public:
16
18
19public:
20
30
39 SLATECORE_API UE::Slate::FDeprecateVector2DResult Measure( const FText& Text, const FSlateFontInfo &InFontInfo, float FontScale = 1.0f ) const;
40
51 SLATECORE_API UE::Slate::FDeprecateVector2DResult Measure( FStringView Text, int32 StartIndex, int32 EndIndex, const FSlateFontInfo &InFontInfo, bool IncludeKerningWithPrecedingChar = true, float FontScale = 1.0f ) const;
52
62 SLATECORE_API int32 FindLastWholeCharacterIndexBeforeOffset( FStringView Text, const FSlateFontInfo& InFontInfo, const int32 HorizontalOffset, float FontScale = 1.0f ) const;
63
73 SLATECORE_API int32 FindLastWholeCharacterIndexBeforeOffset( const FText& Text, const FSlateFontInfo& InFontInfo, const int32 HorizontalOffset, float FontScale = 1.0f ) const;
74
86 SLATECORE_API int32 FindLastWholeCharacterIndexBeforeOffset( FStringView Text, int32 StartIndex, int32 EndIndex, const FSlateFontInfo& InFontInfo, const int32 HorizontalOffset, bool IncludeKerningWithPrecedingChar = true, float FontScale = 1.0f ) const;
87
97 SLATECORE_API int32 FindFirstWholeCharacterIndexAfterOffset( FStringView Text, const FSlateFontInfo& InFontInfo, const int32 HorizontalOffset, float FontScale = 1.0f ) const;
98
108 SLATECORE_API int32 FindFirstWholeCharacterIndexAfterOffset( const FText& Text, const FSlateFontInfo& InFontInfo, const int32 HorizontalOffset, float FontScale = 1.0f ) const;
109
121 SLATECORE_API int32 FindFirstWholeCharacterIndexAfterOffset( FStringView Text, int32 StartIndex, int32 EndIndex, const FSlateFontInfo& InFontInfo, const int32 HorizontalOffset, bool IncludeKerningWithPrecedingChar = true, float FontScale = 1.0f ) const;
122
134 SLATECORE_API int32 FindCharacterIndexAtOffset( FStringView Text, const FSlateFontInfo &InFontInfo, const int32 HorizontalOffset, float FontScale = 1.0f ) const;
135
147 SLATECORE_API int32 FindCharacterIndexAtOffset( const FText& Text, const FSlateFontInfo &InFontInfo, const int32 HorizontalOffset, float FontScale = 1.0f ) const;
148
162 SLATECORE_API int32 FindCharacterIndexAtOffset( FStringView Text, int32 StartIndex, int32 EndIndex, const FSlateFontInfo &InFontInfo, const int32 HorizontalOffset, bool IncludeKerningWithPrecedingChar = true, float FontScale = 1.0f ) const;
163
172 SLATECORE_API uint16 GetMaxCharacterHeight( const FSlateFontInfo& InFontInfo, float FontScale = 1.0f ) const;
173
185
194 SLATECORE_API int16 GetBaseline( const FSlateFontInfo& InFontInfo, float FontScale = 1.0f ) const;
195
197
198
199private:
200
202
203 enum ELastCharacterIndexFormat
204 {
205 // The last whole character before the horizontal offset
206 LastWholeCharacterBeforeOffset,
207 // The character directly at the offset
208 CharacterAtOffset,
209 // Not used
210 Unused,
211 };
212
228 FVector2f MeasureStringInternal( FStringView Text, int32 StartIndex, int32 EndIndex, const FSlateFontInfo& InFontInfo, bool IncludeKerningWithPrecedingChar, float FontScale, int32 StopAfterHorizontalOffset, ELastCharacterIndexFormat CharIndexFormat, int32& OutLastCharacterIndex ) const;
229
233 FMeasureCache* FindOrAddMeasureCache( const FSlateFontInfo& InFontInfo, const float InFontScale ) const;
234
235private:
238
240};
FPlatformTypes::int16 int16
A 16-bit signed integer.
Definition Platform.h:1123
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
class FLRUStringCache FMeasureCache
Definition FontMeasure.h:10
uint16_t uint16
Definition binka_ue_file_header.h:7
Definition ContainerAllocationPolicies.h:1660
Definition FontCacheUtils.h:15
Definition FontMeasure.h:14
SLATECORE_API void FlushCache()
Definition FontMeasure.cpp:335
SLATECORE_API int32 FindFirstWholeCharacterIndexAfterOffset(FStringView Text, const FSlateFontInfo &InFontInfo, const int32 HorizontalOffset, float FontScale=1.0f) const
Definition FontMeasure.cpp:102
SLATECORE_API int16 GetBaseline(const FSlateFontInfo &InFontInfo, float FontScale=1.0f) const
Definition FontMeasure.cpp:329
SLATECORE_API int8 GetKerning(const FSlateFontInfo &InFontInfo, float FontScale, TCHAR PreviousCharacter, TCHAR CurrentCharacter) const
Definition FontMeasure.cpp:323
SLATECORE_API int32 FindCharacterIndexAtOffset(FStringView Text, const FSlateFontInfo &InFontInfo, const int32 HorizontalOffset, float FontScale=1.0f) const
Definition FontMeasure.cpp:123
SLATECORE_API int32 FindLastWholeCharacterIndexBeforeOffset(FStringView Text, const FSlateFontInfo &InFontInfo, const int32 HorizontalOffset, float FontScale=1.0f) const
Definition FontMeasure.cpp:78
SLATECORE_API uint16 GetMaxCharacterHeight(const FSlateFontInfo &InFontInfo, float FontScale=1.0f) const
Definition FontMeasure.cpp:315
SLATECORE_API UE::Slate::FDeprecateVector2DResult Measure(FStringView Text, const FSlateFontInfo &InFontInfo, float FontScale=1.0f) const
Definition FontMeasure.cpp:59
Definition Text.h:385
Definition UnrealString.h.inl:34
Definition SharedPointer.h:153
FDeprecateSlateVector2D FDeprecateVector2DResult
Definition SlateVector2.h:469
Definition SlateFontInfo.h:147
Definition FontTypes.h:72
Definition FontMeasure.cpp:16