Automatically generate a list of all Roblox fonts, including local and cloud fonts.
You'll need to have Rokit installed. This is a toolchain manager and will automatically install the required tools for this project (Lune and StyLua).
Once you have Rokit installed, you can run the following command to install the required tools:
rokit installThen, you can run the following command to generate the font list:
lune generateThe font list will be written to build/FontList.lua in the current directory, and comes with built-in type definitions. A build/FontList.json file will also be generated (minified, enums shortened to a string; see the JSON preview below).
Here's a preview of the generated font list:
--!strict
-- This file is automatically generated by Font List Generate
-- by @cxmeel (cxmeels). Do not edit this file manually.
export type IFont = {
ContentUri: string,
Name: string,
PostScript: string,
Aliases: { string },
Weights: { Enum.FontWeight },
Styles: { Enum.FontStyle },
}
local fonts: { IFont } = {
-- Local fonts --
{
Name = "Accanthis ADF Std",
PostScript = "accanthis_adf_std",
Aliases = {},
ContentUri = "rbxasset://fonts/families/AccanthisADFStd.json",
Weights = { Enum.FontWeight.Regular },
Styles = { Enum.FontStyle.Normal },
},
{
Name = "Amatic SC",
PostScript = "amatic_sc",
Aliases = {},
ContentUri = "rbxasset://fonts/families/AmaticSC.json",
Weights = { Enum.FontWeight.Regular, Enum.FontWeight.Bold },
Styles = { Enum.FontStyle.Normal },
},
{
Name = "Arimo",
PostScript = "arimo",
Aliases = {},
ContentUri = "rbxasset://fonts/families/Arimo.json",
Weights = {
Enum.FontWeight.Bold,
Enum.FontWeight.Regular,
Enum.FontWeight.Medium,
Enum.FontWeight.SemiBold,
},
Styles = { Enum.FontStyle.Normal, Enum.FontStyle.Italic },
},
{
Name = "Arimo (Legacy)",
PostScript = "arimo_legacy",
Aliases = {},
ContentUri = "rbxasset://fonts/families/LegacyArimo.json",
Weights = { Enum.FontWeight.Regular, Enum.FontWeight.Bold },
Styles = { Enum.FontStyle.Normal },
},
{
Name = "Arimo (Legacy)",
PostScript = "arimo_legacy",
Aliases = {},
ContentUri = "rbxasset://fonts/families/LegacyArial.json",
Weights = { Enum.FontWeight.Regular, Enum.FontWeight.Bold },
Styles = { Enum.FontStyle.Normal },
},
{
Name = "Balthazar",
PostScript = "balthazar",
Aliases = {},
ContentUri = "rbxasset://fonts/families/Balthazar.json",
Weights = { Enum.FontWeight.Regular },
Styles = { Enum.FontStyle.Normal },
},
...
-- Cloud fonts --
{
Name = "Noto Sans",
PostScript = "noto_sans",
Aliases = {
"Noto Color Emoji",
"Noto Sans Symbols",
"Noto Sans Symbols2",
},
ContentUri = "rbxassetid://12187370747",
Weights = {
Enum.FontWeight.Bold,
Enum.FontWeight.SemiBold,
Enum.FontWeight.ExtraLight,
Enum.FontWeight.Thin,
Enum.FontWeight.ExtraBold,
Enum.FontWeight.Medium,
Enum.FontWeight.Light,
Enum.FontWeight.Regular,
Enum.FontWeight.Heavy,
},
Styles = { Enum.FontStyle.Normal, Enum.FontStyle.Italic },
},
...
}
return fonts[
{
"Aliases": {},
"ContentUri": "rbxasset://fonts/families/AccanthisADFStd.json",
"Name": "Accanthis ADF Std",
"PostScript": "accanthis_adf_std",
"Styles": [
"Normal"
],
"Weights": [
"Regular"
]
},
{
"Aliases": {},
"ContentUri": "rbxasset://fonts/families/AmaticSC.json",
"Name": "Amatic SC",
"PostScript": "amatic_sc",
"Styles": [
"Normal"
],
"Weights": [
"Regular",
"Bold"
]
},
...,
{
"Aliases": [
"Noto Color Emoji",
"Noto Sans Symbols",
"Noto Sans Symbols2"
],
"ContentUri": "rbxassetid://12187370747",
"Name": "Noto Sans",
"PostScript": "noto_sans",
"Styles": [
"Normal",
"Italic"
],
"Weights": [
"Bold",
"SemiBold",
"ExtraLight",
"Thin",
"ExtraBold",
"Medium",
"Light",
"Regular",
"Heavy"
]
},
...
]