Shubham Fonts
Key Required

Shubham Fonts

Brookhaven ๐ŸกRPyadavshubham92413yadavshubham92413 668 views 4K executesUpdated Oct 5, 2026
5.0/ 5(3 votes)
30100% Positive
Lua Scriptโ€ข724 lines (17803 chars)
--========================================================
-- โšก SHUBU FONTS CHAT :D
-- SAFE / ROBLOX STUDIO VERSION
-- Put this LocalScript in:
-- StarterPlayer > StarterPlayerScripts
--========================================================

local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local TextChatService = game:GetService("TextChatService")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

--========================================================
-- SETTINGS
--========================================================

local GUI_NAME = "SHUBU_FONTS_CHAT"
local NOTIFICATION_TIME = 5

--========================================================
-- SAFE STYLE ENGINE
-- No mathematical Unicode fonts.
-- This prevents โ–ก missing-glyph characters.
--========================================================

local styles = {}

local function addStyle(name, formatter)
	table.insert(styles, {
		Name = name,
		Format = formatter
	})
end

-- Basic
addStyle("Normal", function(t)
	return t
end)

addStyle("Spaced", function(t)
	local result = ""

	for _, code in utf8.codes(t) do
		result ..= utf8.char(code) .. " "
	end

	return result
end)

addStyle("Wide", function(t)
	local result = ""

	for _, code in utf8.codes(t) do
		local c = utf8.char(code)

		if c == " " then
			result ..= "  "
		else
			result ..= c .. " "
		end
	end

	return result
end)

-- Safe decorations
local decorations = {
	{"Stars", "โ˜… ", " โ˜…"},
	{"Spark", "โœฆ ", " โœฆ"},
	{"Lightning", "โšก ", " โšก"},
	{"Diamond", "โ—† ", " โ—†"},
	{"Circle", "โ— ", " โ—"},
	{"Arrow", "โžค ", ""},
	{"DoubleArrow", "ยป ", " ยซ"},
	{"Crown", "โ™› ", " โ™›"},
	{"Music", "โ™ช ", " โ™ช"},
	{"Dot", "โ€ข ", " โ€ข"},
	{"Plus", "โœš ", " โœš"},
	{"Cross", "โœง ", " โœง"},
	{"Dash", "โ€” ", " โ€”"},
	{"Question", "? ", " ?"},
	{"Exclaim", "! ", " !"},
	{"Slash", "/ ", " /"},
	{"Hash", "# ", " #"},
	{"Equal", "= ", " ="},
	{"Gaming", "ไน‚ ", " ไน‚"},
	{"Aura", "ไบ— ", " ไบ—"},
	{"Fire", "๐Ÿ”ฅ ", " ๐Ÿ”ฅ"},
	{"Cool", "๐Ÿ˜Ž ", " ๐Ÿ˜Ž"},
	{"Love", "โค ", " โค"},
	{"Game", "๐ŸŽฎ ", " ๐ŸŽฎ"},
	{"Rocket", "๐Ÿš€ ", " ๐Ÿš€"},
	{"Star", "โญ ", " โญ"},
	{"Boom", "๐Ÿ’ฅ ", " ๐Ÿ’ฅ"},
}

for _, data in ipairs(decorations) do
	local name = data[1]
	local left = data[2]
	local right = data[3]

	addStyle(name, function(t)
		return left .. t .. right
	end)
end

-- Bracket styles
local brackets = {
	{"Round", "(", ")"},
	{"Square", "[", "]"},
	{"Curly", "{", "}"},
	{"Angle", "<", ">"},
	{"Double", "<<", ">>"},
	{"Triple", "<<<", ">>>"},
	{"Dash", "- ", " -"},
	{"Equals", "= ", " ="},
	{"Slash", "/ ", " /"},
	{"Backslash", "\\ ", " \\"},
	{"Pipe", "| ", " |"},
}

for _, data in ipairs(brackets) do
	local name = data[1]
	local left = data[2]
	local right = data[3]

	addStyle(name, function(t)
		return left .. t .. right
	end)
end

-- Combination styles
for _, deco in ipairs(decorations) do
	for _, bracket in ipairs(brackets) do
		local name = deco[1] .. " + " .. bracket[1]

		addStyle(name, function(t)
			return deco[2] .. bracket[2] .. t .. bracket[3] .. deco[3]
		end)
	end
end

-- More combinations
for _, deco1 in ipairs(decorations) do
	for _, deco2 in ipairs(decorations) do

		if #styles < 1000 then
			addStyle(
				deco1[1] .. " + " .. deco2[1],
				function(t)
					return deco1[2] .. t .. deco1[3]
						.. " "
						.. deco2[2] .. deco2[3]
				end
			)
		end
	end

	if #styles >= 1000 then
		break
	end
end

--========================================================
-- EMOJIS
--========================================================

local emojis = {
	"๐Ÿ˜€","๐Ÿ˜ƒ","๐Ÿ˜„","๐Ÿ˜","๐Ÿ˜†","๐Ÿ˜…","๐Ÿ˜‚","๐Ÿคฃ","๐Ÿ˜Š","๐Ÿ˜‡",
	"๐Ÿ™‚","๐Ÿ™ƒ","๐Ÿ˜‰","๐Ÿ˜","๐Ÿฅฐ","๐Ÿ˜˜","๐Ÿ˜Ž","๐Ÿคฉ","๐Ÿฅณ","๐Ÿ˜",
	"๐Ÿ˜ฑ","๐Ÿค”","๐Ÿคจ","๐Ÿ˜","๐Ÿ˜‘","๐Ÿ™„","๐Ÿ˜ด","๐Ÿคฏ","๐Ÿ˜ก","๐Ÿ˜ค",
	"๐Ÿ˜ญ","๐Ÿ˜ข","๐Ÿฅบ","๐Ÿ˜ณ","๐Ÿคช","๐Ÿ˜œ","๐Ÿ˜","๐Ÿค“","๐Ÿ˜ˆ","๐Ÿ‘ฟ",
	"๐Ÿ’€","๐Ÿ‘ป","๐Ÿค–","๐Ÿ‘ฝ","๐Ÿ—ฟ","๐Ÿซก","๐Ÿค","๐Ÿ‘","๐Ÿ™","๐Ÿ’ช",
	"๐Ÿ‘","๐Ÿ‘Ž","๐Ÿ”ฅ","โšก","โœจ","๐Ÿ’ซ","โญ","๐ŸŒŸ","๐Ÿ’ฅ","๐Ÿ’ฏ",
	"โค๏ธ","๐Ÿ–ค","๐Ÿ’™","๐Ÿ’š","๐Ÿ’œ","๐Ÿฉท","๐Ÿค","๐Ÿฉต","๐Ÿงก","๐Ÿ’›",
	"๐Ÿ‘‘","๐Ÿ’Ž","๐ŸŽฎ","๐ŸŽฏ","๐Ÿ†","๐Ÿš€","๐ŸŒˆ","โ˜ ๏ธ","๐ŸŽ‰","๐ŸŽŠ",
	"๐ŸŽต","๐ŸŽถ","๐Ÿ€","๐ŸŒ™","โ˜€๏ธ","๐ŸŒธ","๐ŸŒน","๐Ÿ•","๐Ÿ”","๐ŸŸ"
}

--========================================================
-- GUI
--========================================================

local gui = Instance.new("ScreenGui")
gui.Name = GUI_NAME
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.Parent = playerGui

--========================================================
-- MAIN GUI
--========================================================

local main = Instance.new("Frame")
main.Name = "Main"
main.Size = UDim2.fromOffset(480,350)
main.Position = UDim2.new(0.5,-240,0.5,-175)
main.BackgroundColor3 = Color3.fromRGB(12,12,18)
main.BorderSizePixel = 0
main.Parent = gui

local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0,18)
mainCorner.Parent = main

local outline = Instance.new("UIStroke")
outline.Thickness = 2
outline.Parent = main

-- RGB border
task.spawn(function()
	local hue = 0

	while gui.Parent do
		hue = (hue + 0.004) % 1
		outline.Color = Color3.fromHSV(hue,0.9,1)
		task.wait()
	end
end)

--========================================================
-- TITLE
--========================================================

local title = Instance.new("TextLabel")
title.BackgroundTransparency = 1
title.Position = UDim2.fromOffset(18,8)
title.Size = UDim2.new(1,-70,0,38)
title.Text = "โšก SHUBU FONTS CHAT :D"
title.TextColor3 = Color3.new(1,1,1)
title.TextSize = 19
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = main

--========================================================
-- CLOSE
--========================================================

local close = Instance.new("TextButton")
close.BackgroundTransparency = 1
close.Position = UDim2.new(1,-48,0,8)
close.Size = UDim2.fromOffset(36,36)
close.Text = "ร—"
close.TextColor3 = Color3.new(1,1,1)
close.TextSize = 27
close.Font = Enum.Font.GothamBold
close.Parent = main

--========================================================
-- INPUT
--========================================================

local input = Instance.new("TextBox")
input.Position = UDim2.fromOffset(18,55)
input.Size = UDim2.new(1,-36,0,42)
input.BackgroundColor3 = Color3.fromRGB(24,24,32)
input.BorderSizePixel = 0
input.Text = ""
input.PlaceholderText = "TYPE YOUR W SHUBHAM LETTER:P"
input.PlaceholderColor3 = Color3.fromRGB(145,145,155)
input.TextColor3 = Color3.new(1,1,1)
input.TextSize = 15
input.Font = Enum.Font.Gotham
input.ClearTextOnFocus = false
input.Parent = main

local inputCorner = Instance.new("UICorner")
inputCorner.CornerRadius = UDim.new(0,11)
inputCorner.Parent = input

--========================================================
-- PREVIEW
--========================================================

local preview = Instance.new("TextLabel")
preview.Position = UDim2.fromOffset(18,101)
preview.Size = UDim2.new(1,-36,0,38)
preview.BackgroundTransparency = 1
preview.Text = "SHUBHAM"
preview.TextColor3 = Color3.new(1,1,1)
preview.TextSize = 17
preview.Font = Enum.Font.GothamBold
preview.TextTruncate = Enum.TextTruncate.AtEnd
preview.Parent = main

--========================================================
-- TABS
--========================================================

local fontTab = Instance.new("TextButton")
fontTab.Position = UDim2.fromOffset(18,143)
fontTab.Size = UDim2.fromOffset(105,30)
fontTab.Text = "๐Ÿ”ค FONTS"
fontTab.TextSize = 13
fontTab.Font = Enum.Font.GothamBold
fontTab.TextColor3 = Color3.new(1,1,1)
fontTab.BackgroundColor3 = Color3.fromRGB(38,38,50)
fontTab.Parent = main

local emojiTab = Instance.new("TextButton")
emojiTab.Position = UDim2.fromOffset(130,143)
emojiTab.Size = UDim2.fromOffset(105,30)
emojiTab.Text = "๐Ÿ˜€ EMOJI"
emojiTab.TextSize = 13
emojiTab.Font = Enum.Font.GothamBold
emojiTab.TextColor3 = Color3.new(1,1,1)
emojiTab.BackgroundColor3 = Color3.fromRGB(24,24,32)
emojiTab.Parent = main

for _,button in ipairs({fontTab,emojiTab}) do
	local corner = Instance.new("UICorner")
	corner.CornerRadius = UDim.new(0,9)
	corner.Parent = button
end

--========================================================
-- SEARCH
--========================================================

local search = Instance.new("TextBox")
search.Position = UDim2.new(1,-195,0,143)
search.Size = UDim2.fromOffset(177,30)
search.BackgroundColor3 = Color3.fromRGB(24,24,32)
search.BorderSizePixel = 0
search.PlaceholderText = "๐Ÿ”Ž Search..."
search.PlaceholderColor3 = Color3.fromRGB(140,140,150)
search.TextColor3 = Color3.new(1,1,1)
search.TextSize = 12
search.Font = Enum.Font.Gotham
search.ClearTextOnFocus = false
search.Parent = main

local searchCorner = Instance.new("UICorner")
searchCorner.CornerRadius = UDim.new(0,9)
searchCorner.Parent = search

--========================================================
-- SCROLL LIST
--========================================================

local scroll = Instance.new("ScrollingFrame")
scroll.Position = UDim2.fromOffset(18,181)
scroll.Size = UDim2.new(1,-36,0,105)
scroll.BackgroundTransparency = 1
scroll.BorderSizePixel = 0
scroll.ScrollBarThickness = 4
scroll.CanvasSize = UDim2.new()
scroll.Parent = main

local layout = Instance.new("UIListLayout")
layout.Padding = UDim.new(0,5)
layout.Parent = scroll

--========================================================
-- SELECTED STYLE
--========================================================

local selectedStyle = styles[1]
local currentMode = "Fonts"

local function refreshPreview()
	local text = input.Text

	if text == "" then
		text = "SHUBHAM"
	end

	preview.Text = selectedStyle.Format(text)
end

--========================================================
-- LIST RENDER
--========================================================

local function clearList()
	for _,child in ipairs(scroll:GetChildren()) do
		if not child:IsA("UIListLayout") then
			child:Destroy()
		end
	end
end

local function renderFonts(filter)
	clearList()

	local count = 0

	for index,style in ipairs(styles) do
		local matches =
			filter == ""
			or string.find(
				string.lower(style.Name),
				string.lower(filter),
				1,
				true
			)

		if matches then
			count += 1

			local button = Instance.new("TextButton")
			button.Size = UDim2.new(1,-5,0,30)

			-- IMPORTANT:
			-- Button itself uses normal Roblox font.
			-- No unsupported Unicode mathematical glyphs.
			button.Text = style.Name .. "  โ€ข  SHUBHAM"
			button.TextColor3 = Color3.new(1,1,1)
			button.TextSize = 13
			button.Font = Enum.Font.Gotham
			button.BackgroundColor3 = Color3.fromRGB(24,24,32)
			button.BorderSizePixel = 0
			button.Parent = scroll

			local corner = Instance.new("UICorner")
			corner.CornerRadius = UDim.new(0,8)
			corner.Parent = button

			button.MouseButton1Click:Connect(function()
				selectedStyle = style
				refreshPreview()
			end)
		end
	end

	scroll.CanvasSize = UDim2.fromOffset(0,count * 35)
end

local function renderEmoji(filter)
	clearList()

	local count = 0

	for _,emoji in ipairs(emojis) do
		if filter == "" or string.find(emoji,filter,1,true) then
			count += 1

			local button = Instance.new("TextButton")
			button.Size = UDim2.new(1,-5,0,30)
			button.Text = emoji .. "   Add Emoji"
			button.TextColor3 = Color3.new(1,1,1)
			button.TextSize = 16
			button.Font = Enum.Font.Gotham
			button.BackgroundColor3 = Color3.fromRGB(24,24,32)
			button.BorderSizePixel = 0
			button.Parent = scroll

			local corner = Instance.new("UICorner")
			corner.CornerRadius = UDim.new(0,8)
			corner.Parent = button

			button.MouseButton1Click:Connect(function()
				input.Text ..= emoji
				refreshPreview()
			end)
		end
	end

	scroll.CanvasSize = UDim2.fromOffset(0,count * 35)
end

fontTab.MouseButton1Click:Connect(function()
	currentMode = "Fonts"
	renderFonts(search.Text)
end)

emojiTab.MouseButton1Click:Connect(function()
	currentMode = "Emoji"
	renderEmoji(search.Text)
end)

search:GetPropertyChangedSignal("Text"):Connect(function()
	if currentMode == "Fonts" then
		renderFonts(search.Text)
	else
		renderEmoji(search.Text)
	end
end)

input:GetPropertyChangedSignal("Text"):Connect(refreshPreview)

renderFonts("")

--========================================================
-- SEND
--========================================================

local send = Instance.new("TextButton")
send.Position = UDim2.new(1,-140,1,-48)
send.Size = UDim2.fromOffset(122,35)
send.Text = "โšก SEND"
send.TextColor3 = Color3.new(1,1,1)
send.TextSize = 14
send.Font = Enum.Font.GothamBold
send.BackgroundColor3 = Color3.fromRGB(35,35,45)
send.BorderSizePixel = 0
send.Parent = main

local sendCorner = Instance.new("UICorner")
sendCorner.CornerRadius = UDim.new(0,10)
sendCorner.Parent = send

local function sendMessage(message)
	local channels = TextChatService:FindFirstChild("TextChannels")

	if not channels then
		return
	end

	local general = channels:FindFirstChild("RBXGeneral")

	if general then
		general:SendAsync(message)
	end
end

send.MouseButton1Click:Connect(function()
	if input.Text == "" then
		return
	end

	local message = selectedStyle.Format(input.Text)
	sendMessage(message)
end)

--========================================================
-- PHONE NOTIFICATION
--========================================================

local notification = Instance.new("Frame")
notification.Size = UDim2.fromOffset(310,65)
notification.Position = UDim2.new(1,330,0,18)
notification.BackgroundColor3 = Color3.fromRGB(18,18,24)
notification.BorderSizePixel = 0
notification.Parent = gui

local notificationCorner = Instance.new("UICorner")
notificationCorner.CornerRadius = UDim.new(0,16)
notificationCorner.Parent = notification

local notificationStroke = Instance.new("UIStroke")
notificationStroke.Thickness = 1.5
notificationStroke.Parent = notification

local notificationText = Instance.new("TextLabel")
notificationText.BackgroundTransparency = 1
notificationText.Position = UDim2.fromOffset(12,7)
notificationText.Size = UDim2.new(1,-24,1,-14)
notificationText.Text = "๐Ÿ˜  SHUBHAM KA HAI YE BHAI!!"
notificationText.TextColor3 = Color3.new(1,1,1)
notificationText.TextSize = 15
notificationText.Font = Enum.Font.GothamBold
notificationText.TextWrapped = true
notificationText.Parent = notification

local function showNotification()
	notification.Position = UDim2.new(1,330,0,18)

	TweenService:Create(
		notification,
		TweenInfo.new(
			0.45,
			Enum.EasingStyle.Quint,
			Enum.EasingDirection.Out
		),
		{
			Position = UDim2.new(1,-325,0,18)
		}
	):Play()

	task.delay(NOTIFICATION_TIME,function()
		TweenService:Create(
			notification,
			TweenInfo.new(
				0.4,
				Enum.EasingStyle.Quint,
				Enum.EasingDirection.In
			),
			{
				Position = UDim2.new(1,330,0,18)
			}
		):Play()
	end)
end

--========================================================
-- FLOATING BUTTON
--========================================================

local floating = Instance.new("TextButton")
floating.Size = UDim2.fromOffset(55,55)
floating.Position = UDim2.new(1,-70,0.5,-27)
floating.Text = "โšก"
floating.TextSize = 25
floating.Font = Enum.Font.GothamBold
floating.TextColor3 = Color3.new(1,1,1)
floating.BackgroundColor3 = Color3.fromRGB(20,20,28)
floating.BorderSizePixel = 0
floating.Visible = false
floating.Parent = gui

local floatingCorner = Instance.new("UICorner")
floatingCorner.CornerRadius = UDim.new(1,0)
floatingCorner.Parent = floating

local floatingStroke = Instance.new("UIStroke")
floatingStroke.Thickness = 2
floatingStroke.Parent = floating

--========================================================
-- OPEN / CLOSE
--========================================================

local function openGUI()
	floating.Visible = false
	main.Visible = true

	main.Size = UDim2.fromOffset(480,0)

	TweenService:Create(
		main,
		TweenInfo.new(
			0.45,
			Enum.EasingStyle.Back,
			Enum.EasingDirection.Out
		),
		{
			Size = UDim2.fromOffset(480,350)
		}
	):Play()

	showNotification()
end

local function closeGUI()
	local tween = TweenService:Create(
		main,
		TweenInfo.new(
			0.3,
			Enum.EasingStyle.Quint,
			Enum.EasingDirection.In
		),
		{
			Size = UDim2.fromOffset(480,0)
		}
	)

	tween:Play()
	tween.Completed:Wait()

	main.Visible = false
	main.Size = UDim2.fromOffset(480,350)
	floating.Visible = true
end

close.MouseButton1Click:Connect(closeGUI)
floating.MouseButton1Click:Connect(openGUI)

--========================================================
-- DRAG SYSTEM
--========================================================

local function makeDraggable(object)
	local dragging = false
	local dragStart
	local startPosition

	object.InputBegan:Connect(function(inputObject)
		if inputObject.UserInputType == Enum.UserInputType.MouseButton1
			or inputObject.UserInputType == Enum.UserInputType.Touch then

			dragging = true
			dragStart = inputObject.Position
			startPosition = object.Position

			inputObject.Changed:Connect(function()
				if inputObject.UserInputState == Enum.UserInputState.End then
					dragging = false
				end
			end)
		end
	end)

	UserInputService.InputChanged:Connect(function(inputObject)
		if not dragging then
			return
		end

		if inputObject.UserInputType == Enum.UserInputType.MouseMovement
			or inputObject.UserInputType == Enum.UserInputType.Touch then

			local delta = inputObject.Position - dragStart

			object.Position = UDim2.new(
				startPosition.X.Scale,
				startPosition.X.Offset + delta.X,
				startPosition.Y.Scale,
				startPosition.Y.Offset + delta.Y
			)
		end
	end)
end

makeDraggable(main)
makeDraggable(floating)

--========================================================
-- START
--========================================================

task.wait(0.8)

sendMessage(
	"________________________SHUBHAM FONT CHAT EXECUTED :D"
)

showNotification()

print("โšก SHUBU FONTS CHAT :D loaded successfully!")
print("Styles available:", #styles)

Features & Information

In This Font/bypasser You Can Bypass Roblox Tagz So Enjoy There Is 1000+ Fonts In This With Different Style
#Fonts#Bypass#Bypasser#Roblox Fonts

Community Comments (1)

stepixhub09stepixhub09Oct 11, 2026

Its good

More Scripts for Brookhaven ๐ŸกRP