Roblox UtilitiesDevlHub Roblox Documentation

Class

TextService

NotCreatableServiceNotReplicated
Inherits
Instance › Object
Memory category
Instances

Service internally responsible for handling the display of text.

TextService is internally responsible for handling the display of text.

Methods 6#

FilterAndTranslateStringAsyncFilters and translates a string.DeprecatedYields
FilterStringAsyncFilters a string being received from a user and returns aYields
GetFamilyInfoAsyncReturns a table containing the name and faces of a font family.Yields
GetTextBoundsAsyncComputes the Vector2 dimensions (in pixels) that will be taken up with text when using a GetTextBoundsParams object.Yields
GetTextSizeComputes the Vector2 dimensions (in pixels) that will be taken up with text when using the specified formatting parameters and size constraints.
GetTextSizeOffsetAsyncReturns the offset used to up-scale text based on the current GuiService.PreferredTextSize setting.Yields

FilterAndTranslateStringAsync(stringToFilter: string, fromUserId: int64, targetLocales: Array, textContext: TextFilterContext = PrivateChat): TextFilterTranslatedResult#

YieldsDeprecated

Deprecated. This method is no longer supported and should not be used. All calls return an empty object.

This method is no longer supported and should not be used. Translating chat messages is only available via TextChatService.

NameTypeDefaultDescription
stringToFilterstring
fromUserIdint64
targetLocalesArray
textContextTextFilterContextPrivateChat

FilterStringAsync(stringToFilter: string, fromUserId: int64, textContext: TextFilterContext = PrivateChat): TextFilterResult#

Yields

This method filters a string being received from a user and returns a TextFilterResult which can be used to distribute the correctly filtered text accordingly.

This method should be called once each time a user submits a message. If it fails, do not display the text to any user.

See text filtering for usage guidelines and examples.

Notes#

  • This method always yields to make a text filtering service call.
  • This method may throw if there is a service error that cannot be resolved. In such cases, do not retry the request, as this method implements its own retry logic internally.
  • This method currently throws if fromUserId is not online on the current server.
NameTypeDefaultDescription
stringToFilterstringThe text to be filtered.
fromUserIdint64The Player.UserId of the player filtering the text.
textContextTextFilterContextPrivateChatThe context that the filtered message will be used in. This parameter does not impact the filtered result of the query and is only used to improve Roblox's text filtering.
Returns

GetFamilyInfoAsync(assetId: ContentId): Dictionary#

Yields

Returns a table containing the name and faces of a font family. If the font family has already been loaded by a previous call to GetFamilyInfoAsync(), ContentProvider:PreloadAsync(), or a text object with the TextLabel.FontFace property set, then the method returns without yielding.

This method can fail because of network errors and should be wrapped in LuaGlobals.pcall() to catch and handle errors.

NameTypeDefaultDescription
assetIdContentIdAsset ID of the font family to look up.
Returns
  • Dictionary — The information about the font family.

GetTextBoundsAsync(params: GetTextBoundsParams): Vector2#

Yields

Computes the Vector2 dimensions (in pixels) that will be taken up with text when using parameters defined in a GetTextBoundsParams object. This method is similar to GetTextSize() but uses the Font object which has access to more fonts than Font.

This method is a useful alternative to the TextBounds property of the TextLabel/TextButton objects, since GetTextBoundsAsync() can calculate the dimensions required by a particular text string in a TextLabel or TextButton before such an object is created or text property set.

This is a yielding method because some fonts may need to be loaded in order to measure them. As a result, it should be wrapped in LuaGlobals.pcall() to catch and handle errors. If the font is already loaded, it will not yield; ContentProvider:PreloadAsync() can be used to make sure a font is loaded.

NameTypeDefaultDescription
paramsGetTextBoundsParamsA reference to a GetTextBoundsParams object.
Returns

GetTextSize(string: string, fontSize: int, font: Enum.Font, frameSize: Vector2): Vector2#

Computes the Vector2 dimensions (in pixels) that will be taken up with text when using the specified formatting parameters and size constraints.

This method is a useful alternative to the TextBounds property of the TextLabel/TextButton objects, since GetTextSize() can calculate the dimensions required by a particular text string in a TextLabel or TextButton before such an object is created or text property set.

This method is limited to fonts under Font. To access more fonts under Font, use GetTextBoundsAsync() instead.

NameTypeDefaultDescription
stringstringThe string for which the text size is to be calculated.
fontSizeintThe integer representing the font size used. Does not accept an FontSize value.
fontEnum.FontThe font used.
frameSizeVector2The GuiBase2d.AbsoluteSize of the text object to be used. Required to compute how the text will wrap.
Returns
  • Vector2 — The size of the space required, in pixels, by the string with the specified formatting.

GetTextSizeOffsetAsync(fontSize: int, font: Datatype.Font): float#

Yields

Returns the offset used to up-scale text based on GuiService.PreferredTextSize, a property which may change through the player's setting in the Roblox or in‑experience Settings menus.

This offset can be used as an additive value to adjust the core height value of a TextLabel or TextButton based on PreferredTextSize.

Note that, currently, the fontSize and font parameters do not affect the outcome and this method returns merely the offset as described above. Also note that this method can fail because of network errors and should be wrapped in LuaGlobals.pcall() to catch and handle errors.

NameTypeDefaultDescription
fontSizeintThe font size, in offsets. This parameter currently does not affect the returned offset.
fontDatatype.FontThe font. This parameter currently does not affect the returned offset.
Returns

Inherited members#

Inherited from Instance 58
Inherited from Object 6
Properties (2)

ClassName, className

Events (1)

Changed