Text+|Custom fonts & advanced control

Nice rework on the tutorial, also I’m just wondering on if you’re going to update the module soon. If yes can you tell me some ideas that you’ve planned to add in the module? I’m just wondering so I don’t expect much :).

I’m glad you like the new tutorial.

This resource is only 2 months old, yet since release there have been 9 major updates and many patches along the way. I’ve put a lot of work into this module, and now I have a few others I’m working on at the moment, mainly Tween+.

But it will of course keep getting maintained. There have been a few patches lately too, they just aren’t posted here as they are just fixes and minor changes.

The main issue is that I have no ideas left and it all works perfectly.
Feel free to let me know if you have any good ideas.

1 Like

I definitely agree that we don’t have any ideas left on this module lol. I’m happy that it’s working well. Good luck w/ your new module so yeah! :slight_smile:

1 Like

I don’t know if it’s an issue with the xml file, or the way I exported it, but the text looks like this:
image
Any idea why this may be?

Custom Font Module
return {
	Streetsofrage = {
		Size = 72,
		Image = 90956626510268,
		Characters = {
			[" "] = {0, 0, Vector2.new(0, 0), 0, 0, 22},
			["!"] = {6, 10, Vector2.new(66, 33), 2, -1, 8},
			["\""] = {8, 6, Vector2.new(55, 49), 1, -1, 8},
			["'"] = {5, 6, Vector2.new(66, 44), 2, -1, 8},
			["("] = {7, 10, Vector2.new(66, 11), 1, -1, 8},
			[")"] = {7, 10, Vector2.new(66, 0), 1, -1, 8},
			["*"] = {10, 10, Vector2.new(44, 66), -1, -1, 8},
			[","] = {6, 6, Vector2.new(55, 67), 1, 3, 8},
			["-"] = {9, 5, Vector2.new(55, 32), -1, 2, 8},
			["."] = {5, 5, Vector2.new(66, 51), 1, 3, 8},
			["0"] = {10, 10, Vector2.new(0, 0), -1, -1, 8},
			["1"] = {7, 10, Vector2.new(55, 56), 0, -1, 8},
			["2"] = {10, 10, Vector2.new(0, 11), -1, -1, 8},
			["3"] = {10, 10, Vector2.new(0, 22), -1, -1, 8},
			["4"] = {10, 10, Vector2.new(0, 33), -1, -1, 8},
			["5"] = {10, 10, Vector2.new(0, 44), -1, -1, 8},
			["6"] = {10, 10, Vector2.new(0, 55), -1, -1, 8},
			["7"] = {10, 10, Vector2.new(0, 66), -1, -1, 8},
			["8"] = {10, 10, Vector2.new(11, 0), -1, -1, 8},
			["9"] = {10, 10, Vector2.new(11, 11), -1, -1, 8},
			["<"] = {10, 9, Vector2.new(55, 0), -1, -1, 8},
			["?"] = {10, 10, Vector2.new(44, 55), -1, -1, 8},
			["@"] = {10, 10, Vector2.new(44, 44), -1, -1, 8},
			["a"] = {10, 10, Vector2.new(11, 22), -1, -1, 8},
			["b"] = {10, 10, Vector2.new(11, 33), -1, -1, 8},
			["c"] = {10, 10, Vector2.new(11, 44), -1, -1, 8},
			["d"] = {10, 10, Vector2.new(11, 55), -1, -1, 8},
			["e"] = {10, 10, Vector2.new(11, 66), -1, -1, 8},
			["f"] = {10, 10, Vector2.new(22, 0), -1, -1, 8},
			["g"] = {10, 10, Vector2.new(22, 11), -1, -1, 8},
			["h"] = {10, 10, Vector2.new(22, 22), -1, -1, 8},
			["i"] = {6, 10, Vector2.new(66, 22), 1, -1, 8},
			["j"] = {8, 10, Vector2.new(55, 38), 0, -1, 8},
			["k"] = {9, 10, Vector2.new(55, 10), 0, -1, 8},
			["l"] = {10, 10, Vector2.new(22, 33), -1, -1, 8},
			["m"] = {10, 10, Vector2.new(22, 44), -1, -1, 8},
			["n"] = {9, 10, Vector2.new(55, 21), 0, -1, 8},
			["o"] = {10, 10, Vector2.new(22, 55), -1, -1, 8},
			["p"] = {10, 10, Vector2.new(22, 66), -1, -1, 8},
			["q"] = {10, 10, Vector2.new(33, 0), -1, -1, 8},
			["r"] = {10, 10, Vector2.new(33, 11), -1, -1, 8},
			["s"] = {10, 10, Vector2.new(33, 22), -1, -1, 8},
			["t"] = {10, 10, Vector2.new(33, 33), -1, -1, 8},
			["u"] = {10, 10, Vector2.new(33, 44), -1, -1, 8},
			["v"] = {10, 10, Vector2.new(33, 55), -1, -1, 8},
			["w"] = {10, 10, Vector2.new(33, 66), -1, -1, 8},
			["x"] = {10, 10, Vector2.new(44, 0), -1, -1, 8},
			["y"] = {10, 10, Vector2.new(44, 11), -1, -1, 8},
			["z"] = {10, 10, Vector2.new(44, 22), -1, -1, 8},
			["~"] = {10, 10, Vector2.new(44, 33), -1, -1, 8}
		}
	}
}

Maybe the text you’ve inputted like “#” or something that doesn’t exist in your font module. That’s why it probably shows it like that.

1 Like

The question-mark symbols indicate a missing character. This means that the character at that point in the text string is not present in the Characters table in the custom fonts module.

I see that you only have lower-case characters in your custom fonts module. So if you’re trying to render any upper-case characters it will show that question-mark character, since it can’t find the character.

I had a feeling I was making a simple mistake… isn’t there a way I can convert the letters in a text to all caps/all lowercase?

Yep, simply use string.lower() or string.upper() to force the case in a string.

Thank you! It’s taken me way too long to figure this out.

1 Like

I’m sorry, but I’ve got another issue, the text is appearing black even though the image has color in the creator dashboard.
Edit: I had to change the color to white

Yea that’s simply because the color was black, as you found out.
The default color is black, that’s why.

:package: Version 1.10

:sparkles: New features:

  • Added MinimumSize and MaximumSize customization options. They are for limiting the scale-size result.

:hammer_and_wrench: Changes & fixes:

  • Fixed a few dynamic toggling bugs.
  • Simplified dynamic customization logic.
  • Simplified customization correction logic.
  • Simplified creation logic.
  • Avoided unnecessary loop attempt when customization is not provided on the first render.
  • Passed function directly to pcall when verifying a built-in font, avoiding an unnecessary extra function creation.
  • Merged return and if-statement in GetTextBounds by using the or operator.
  • Added missing punctation in GetCharacters description.
  • Comment changes and additions.
  • Minor library description change.
1 Like

I like the explosion, it’s quite nice. Overall, this module is quite useful!

2 Likes

hey, gonna use this for my game. How did you do the dialogue effect?

nevermind, i got it working! thanks!

how do i set the font? i tried SourceSans and it reverted to default.

1 Like

Can I see how you’re doing it in the code?

i just added Font = Enum.Font.SourceSans in the Customization table

Maybe you should read the documentation.
You’re supposed to use a Font object, not the Enum.

ah, i couldn’t understand. never heard of a Font object before, thanks

1 Like

would chat tags work? if so, how hard is it?