├── CustomFontRenderingForm ├── CustomFontRenderingForm │ ├── obj │ │ ├── Debug │ │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ │ ├── CustomFontRenderingForm.exe │ │ │ ├── CustomFontRenderingForm.pdb │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── CustomFontRenderingForm.InputGUI.resources │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── CustomFontRenderingForm.csproj.GenerateResource.Cache │ │ │ ├── CustomFontRenderingForm.Properties.Resources.resources │ │ │ ├── CustomFontRenderingForm.csprojResolveAssemblyReference.cache │ │ │ └── CustomFontRenderingForm.csproj.FileListAbsolute.txt │ │ └── Release │ │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ │ ├── CustomFontRenderingForm.exe │ │ │ ├── CustomFontRenderingForm.pdb │ │ │ ├── CustomFontRenderingForm.InputGUI.resources │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── CustomFontRenderingForm.Properties.Resources.resources │ │ │ ├── CustomFontRenderingForm.csproj.GenerateResource.Cache │ │ │ └── CustomFontRenderingForm.csproj.FileListAbsolute.txt │ ├── Resources │ │ └── style.ico │ ├── bin │ │ ├── Debug │ │ │ ├── SharpFont.dll │ │ │ ├── freetype6.dll │ │ │ ├── CustomFontRenderingForm.exe │ │ │ ├── CustomFontRenderingForm.pdb │ │ │ ├── CustomFontRenderingForm.vshost.exe │ │ │ ├── CustomFontRenderingForm.exe.config │ │ │ ├── CustomFontRenderingForm.vshost.exe.config │ │ │ └── SharpFont.dll.config │ │ └── Release │ │ │ ├── SharpFont.dll │ │ │ ├── freetype6.dll │ │ │ ├── CustomFontRenderingForm.exe │ │ │ ├── CustomFontRenderingForm.pdb │ │ │ ├── CustomFontRenderingForm.exe.config │ │ │ └── SharpFont.dll.config │ ├── App.config │ ├── packages.config │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── Program.cs │ ├── InputGUI.cs │ ├── FontInfo.cs │ ├── CustomFontRenderingForm.csproj │ ├── InputGUI.resx │ ├── SpriteSheet.cs │ └── InputGUI.Designer.cs ├── packages │ ├── SharpFont.4.0.1 │ │ ├── SharpFont.4.0.1.nupkg │ │ ├── lib │ │ │ └── net45 │ │ │ │ ├── SharpFont.dll │ │ │ │ └── SharpFont.dll.config │ │ ├── config │ │ │ └── SharpFont.dll.config │ │ └── build │ │ │ └── SharpFont.props │ └── SharpFont.Dependencies.2.6 │ │ ├── bin │ │ ├── msvc10 │ │ │ ├── x64 │ │ │ │ └── freetype6.dll │ │ │ └── x86 │ │ │ │ └── freetype6.dll │ │ ├── msvc11 │ │ │ ├── x64 │ │ │ │ └── freetype6.dll │ │ │ └── x86 │ │ │ │ └── freetype6.dll │ │ ├── msvc12 │ │ │ ├── x64 │ │ │ │ └── freetype6.dll │ │ │ └── x86 │ │ │ │ └── freetype6.dll │ │ └── msvc9 │ │ │ ├── x64 │ │ │ └── freetype6.dll │ │ │ └── x86 │ │ │ └── freetype6.dll │ │ ├── SharpFont.Dependencies.2.6.nupkg │ │ └── build │ │ └── SharpFont.Dependencies.props └── CustomFontRenderingForm.sln ├── project.conf ├── chrome_extension ├── manifest.json ├── script.js └── jquery-3.1.1.min.js ├── .gitattributes ├── .gitignore ├── LICENSE ├── Roboto.mod.lua └── _.mod.lua ├── README.md └── _.mod.lua /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/Resources/style.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/Resources/style.ico -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/SharpFont.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/SharpFont.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/freetype6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/freetype6.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.4.0.1/SharpFont.4.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/packages/SharpFont.4.0.1/SharpFont.4.0.1.nupkg -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Release/SharpFont.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/bin/Release/SharpFont.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Release/freetype6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/bin/Release/freetype6.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.4.0.1/lib/net45/SharpFont.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/packages/SharpFont.4.0.1/lib/net45/SharpFont.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/CustomFontRenderingForm.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/CustomFontRenderingForm.exe -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/CustomFontRenderingForm.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/CustomFontRenderingForm.pdb -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.exe -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.pdb -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Release/CustomFontRenderingForm.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/bin/Release/CustomFontRenderingForm.exe -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Release/CustomFontRenderingForm.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/bin/Release/CustomFontRenderingForm.pdb -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/CustomFontRenderingForm.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/CustomFontRenderingForm.exe -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/CustomFontRenderingForm.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/CustomFontRenderingForm.pdb -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc10/x64/freetype6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc10/x64/freetype6.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc10/x86/freetype6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc10/x86/freetype6.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc11/x64/freetype6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc11/x64/freetype6.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc11/x86/freetype6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc11/x86/freetype6.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc12/x64/freetype6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc12/x64/freetype6.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc12/x86/freetype6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc12/x86/freetype6.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc9/x64/freetype6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc9/x64/freetype6.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc9/x86/freetype6.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/bin/msvc9/x86/freetype6.dll -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/CustomFontRenderingForm.vshost.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/CustomFontRenderingForm.vshost.exe -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/SharpFont.Dependencies.2.6.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/SharpFont.Dependencies.2.6.nupkg -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.InputGUI.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.InputGUI.resources -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/CustomFontRenderingForm.InputGUI.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/CustomFontRenderingForm.InputGUI.resources -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.Properties.Resources.resources -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/CustomFontRenderingForm.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/CustomFontRenderingForm.Properties.Resources.resources -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/CustomFontRenderingForm.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/CustomFontRenderingForm.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/CustomFontRenderingForm.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Release/CustomFontRenderingForm.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gskartwii/Rbx_CustomFont/HEAD/CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/CustomFontRenderingForm.vshost.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /project.conf: -------------------------------------------------------------------------------- 1 | { 2 | "Extensions" : { 3 | ".md" : true, 4 | ".py" : true 5 | }, 6 | "Files" : { 7 | "LICENSE" : true, 8 | "CustomFontRenderingForm" : true, 9 | "chrome_extension" : true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Debug/SharpFont.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.4.0.1/config/SharpFont.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/bin/Release/SharpFont.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.4.0.1/lib/net45/SharpFont.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /chrome_extension/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 2, 3 | 4 | "name": "Custom font atlas uploader", 5 | "description": "This extension allows users to upload multiple assets", 6 | "version": "1.0", 7 | 8 | "content_scripts": [ { 9 | "all_frames": true, 10 | "js": [ "jquery-3.1.1.min.js", "script.js" ], 11 | "matches": [ "*://*.roblox.com/build/upload*" ] 12 | } ], 13 | "permissions": [ "*://*.roblox.com/" ] 14 | } -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.4.0.1/build/SharpFont.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreserveNewest 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace CustomFontRenderingForm 8 | { 9 | static class Program 10 | { 11 | [STAThread] 12 | static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | Application.Run(new InputGUI()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/packages/SharpFont.Dependencies.2.6/build/SharpFont.Dependencies.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | PreserveNewest 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | 38 | # Directories potentially created on remote AFP share 39 | .AppleDB 40 | .AppleDesktop 41 | Network Trash Folder 42 | Temporary Items 43 | .apdisk 44 | [._]*.s[a-w][a-z] 45 | [._]s[a-w][a-z] 46 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomFontRenderingForm", "CustomFontRenderingForm\CustomFontRenderingForm.csproj", "{C6FBDF10-3F8A-488D-8548-2DEFB56056E8}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {C6FBDF10-3F8A-488D-8548-2DEFB56056E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {C6FBDF10-3F8A-488D-8548-2DEFB56056E8}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {C6FBDF10-3F8A-488D-8548-2DEFB56056E8}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {C6FBDF10-3F8A-488D-8548-2DEFB56056E8}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace CustomFontRenderingForm.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("CustomFontRenderingForm")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("CustomFontRenderingForm")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("c6fbdf10-3f8a-488d-8548-2defb56056e8")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Release/CustomFontRenderingForm.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Release\CustomFontRenderingForm.exe.config 2 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Release\SharpFont.dll.config 3 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Release\freetype6.dll 4 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Release\CustomFontRenderingForm.exe 5 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Release\CustomFontRenderingForm.pdb 6 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Release\SharpFont.dll 7 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Release\SharpFont.xml 8 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\obj\Release\CustomFontRenderingForm.InputGUI.resources 9 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\obj\Release\CustomFontRenderingForm.Properties.Resources.resources 10 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\obj\Release\CustomFontRenderingForm.csproj.GenerateResource.Cache 11 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\obj\Release\CustomFontRenderingForm.exe 12 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\obj\Release\CustomFontRenderingForm.pdb 13 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/obj/Debug/CustomFontRenderingForm.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Debug\CustomFontRenderingForm.exe.config 2 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Debug\SharpFont.dll.config 3 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Debug\freetype6.dll 4 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Debug\CustomFontRenderingForm.exe 5 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Debug\CustomFontRenderingForm.pdb 6 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Debug\SharpFont.dll 7 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\bin\Debug\SharpFont.xml 8 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\obj\Debug\CustomFontRenderingForm.csprojResolveAssemblyReference.cache 9 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\obj\Debug\CustomFontRenderingForm.Properties.Resources.resources 10 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\obj\Debug\CustomFontRenderingForm.csproj.GenerateResource.Cache 11 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\obj\Debug\CustomFontRenderingForm.exe 12 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\obj\Debug\CustomFontRenderingForm.pdb 13 | C:\Users\Michael\Documents\Visual Studio 2015\Projects\C# Projects\FormApplications\CustomFontRenderingForm\CustomFontRenderingForm\obj\Debug\CustomFontRenderingForm.InputGUI.resources 14 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace CustomFontRenderingForm.Properties 12 | { 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// Returns the cached ResourceManager instance used by this class. 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CustomFontRenderingForm.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// Overrides the current thread's CurrentUICulture property for all 56 | /// resource lookups using this strongly typed resource class. 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Roboto.mod.lua/_.mod.lua: -------------------------------------------------------------------------------- 1 | --[[ 2 | @Font Roboto 3 | @Sizes {96, 60, 48, 42, 36, 32, 28, 24, 18, 14, 12, 11, 10, 9, 8} 4 | @Author Christian Robertson 5 | @Link https://www.fontsquirrel.com/fonts/list/foundry/christian-robertson 6 | --]] 7 | 8 | local module = {}; 9 | 10 | module.atlases = { 11 | [1] = "rbxassetid://392953276"; 12 | [2] = "rbxassetid://392953280"; 13 | [3] = "rbxassetid://392953283"; 14 | [4] = "rbxassetid://392953290"; 15 | [5] = "rbxassetid://392953287"; 16 | [6] = "rbxassetid://392953282"; 17 | [7] = "rbxassetid://392953288"; 18 | [8] = "rbxassetid://392953301"; 19 | [9] = "rbxassetid://392953307"; 20 | [10] = "rbxassetid://392953298"; 21 | [11] = "rbxassetid://392953303"; 22 | [12] = "rbxassetid://392953305"; 23 | [13] = "rbxassetid://392953309"; 24 | [14] = "rbxassetid://392953313"; 25 | [15] = "rbxassetid://392953315"; 26 | [16] = "rbxassetid://392953317"; 27 | [17] = "rbxassetid://393140459"; 28 | [18] = "rbxassetid://393140480"; 29 | [19] = "rbxassetid://393140472"; 30 | [20] = "rbxassetid://393140476"; 31 | [21] = "rbxassetid://393140483"; 32 | [22] = "rbxassetid://393140490"; 33 | [23] = "rbxassetid://393140486"; 34 | [24] = "rbxassetid://393140499"; 35 | [25] = "rbxassetid://393140510"; 36 | [26] = "rbxassetid://392953353"; 37 | [27] = "rbxassetid://393140503"; 38 | [28] = "rbxassetid://392953351"; 39 | [29] = "rbxassetid://392953357"; 40 | [30] = "rbxassetid://392953363"; 41 | [31] = "rbxassetid://392953360"; 42 | [32] = "rbxassetid://392953362"; 43 | [33] = "rbxassetid://393055828"; 44 | [34] = "rbxassetid://392953667"; 45 | [35] = "rbxassetid://393055824"; 46 | [36] = "rbxassetid://392953669"; 47 | [36] = "rbxassetid://393055840"; 48 | [37] = "rbxassetid://392953672"; 49 | [37] = "rbxassetid://393055843"; 50 | [38] = "rbxassetid://393055845"; 51 | [39] = "rbxassetid://393055854"; 52 | [40] = "rbxassetid://393055846"; 53 | [41] = "rbxassetid://393055853"; 54 | [42] = "rbxassetid://393055869"; 55 | [43] = "rbxassetid://393055875"; 56 | [44] = "rbxassetid://393055866"; 57 | [45] = "rbxassetid://393055873"; 58 | [46] = "rbxassetid://393055880"; 59 | [47] = "rbxassetid://393055878"; 60 | [48] = "rbxassetid://393140507"; 61 | [49] = "rbxassetid://393140512"; 62 | [50] = "rbxassetid://393140514"; 63 | [51] = "rbxassetid://393055887"; 64 | }; 65 | 66 | module.font = { 67 | information = { 68 | family = "Roboto"; 69 | styles = {"Black", "Black Italic", "Bold", "Bold Italic", "Italic", "Light", "Light Italic", "Medium", "Medium Italic", "Regular", "Thin", "Thin Italic"}; 70 | sizes = {96, 60, 48, 42, 36, 32, 28, 24, 18, 14, 12, 11, 10, 9, 8}; 71 | useEnums = true; 72 | }; 73 | styles = { 74 | Black = require(script.Black); 75 | ["Black Italic"] = require(script.BlackItalic); 76 | Bold = require(script.Bold); 77 | ["Bold Italic"] = require(script.BoldItalic); 78 | Italic = require(script.Italic); 79 | Light = require(script.Light); 80 | ["Light Italic"] = require(script.LightItalic); 81 | Medium = require(script.Medium); 82 | ["Medium Italic"] = require(script.MediumItalic); 83 | Regular = require(script.Regular); 84 | Thin = require(script.Thin); 85 | ["Thin Italic"] = require(script.ThinItalic); 86 | }; 87 | }; 88 | 89 | 90 | 91 | return module; 92 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Looking for maintainers! Please see Issues. 2 | With many projects going on at once, I've been neglecting Rbx_CustomFont for a while now. If you're willing to take on the maintenance, please reply to the relevant issue. 3 | 4 | # Rbx_CustomFont 5 | 6 | ## Custom font system for Roblox 7 | 8 | [Roblox build available here](https://www.roblox.com/library/526316798/Gskartwii-Rbx-CustomFont-master), bundled with the Roboto font with full ASCII charset excluding control characters. 9 | 10 | This is a module built for Roblox studio to allow the usage of any OpenType (.otf) or TrueType (.ttf) font in Roblox by converting them into spritesheets and then wrapping normal GUI text objects so they work with the spiresheets. 11 | 12 | This allows you to greatly expand your UI design options. 13 | 14 | ![Example menu](http://i.imgur.com/qh6htfQ.png) 15 | 16 | If you are interested in using Rbx_CustomFont in you game(s) then please view the [API page.](https://github.com/EgoMoose/Rbx_CustomFont/wiki/API) 17 | 18 | I have included a few fonts that come with the module, but if you would like to create your own font you are going to need the latest [.NET Framework](https://msdn.microsoft.com/en-us/vstudio/aa496123.aspx) (sorry OSX users!). On that note if you have a mac and there is enough support (please send me a message if you are interested!), I may look into attempting to create a python version of the C# I have currently or I'll look into Mono. Otherwise, if you can run the .NET framework then you can read more about setting up your own font on the [setting up you own font wiki page.](https://github.com/EgoMoose/Rbx_CustomFont/wiki/Creating-your-own-font) 19 | 20 | ##License 21 | 22 | This project uses [Sharpfont](https://github.com/Robmaister/SharpFont) which is licensed under the MIT license. 23 | 24 | ``` 25 | Copyright (c) 2012-2016 Robert Rouhani 26 | 27 | SharpFont based on Tao.FreeType, Copyright (c) 2003-2007 Tao Framework Team 28 | 29 | Permission is hereby granted, free of charge, to any person obtaining a copy 30 | of this software and associated documentation files (the "Software"), to deal 31 | in the Software without restriction, including without limitation the rights 32 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 33 | copies of the Software, and to permit persons to whom the Software is 34 | furnished to do so, subject to the following conditions: 35 | 36 | The above copyright notice and this permission notice shall be included in all 37 | copies or substantial portions of the Software. 38 | 39 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 40 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 41 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 42 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 43 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 44 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 45 | SOFTWARE. 46 | ``` 47 | 48 | This project also uses FreeType (which is needed for sharpfont to run). 49 | It is redistributed under the FreeType License (FTL). 50 | 51 | ``` 52 | Portions of this software are copyright (c) 2016 The FreeType Project 53 | (www.freetype.org). All rights reserved. 54 | ``` 55 | 56 | Finally, the project itself is licensed under the MIT license which can be read [here.](https://github.com/Gskartwii/Rbx_CustomFont/blob/master/LICENSE) 57 | 58 | ## Contributors 59 | 60 | Original project by [EgoMoose](https://github.com/EgoMoose). Now maintained by [Gskartwii](https://github.com/Gskartwii). 61 | 62 | [AdarkTheCoder](https://github.com/AdarkTheCoder) made the GUI or whatever. 63 | -------------------------------------------------------------------------------- /CustomFontRenderingForm/CustomFontRenderingForm/InputGUI.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Windows.Forms; 4 | using System.Collections.Generic; 5 | using System.Diagnostics; 6 | using SharpFont; 7 | 8 | namespace CustomFontRenderingForm 9 | { 10 | public partial class InputGUI : Form 11 | { 12 | public static Library library = new Library(); 13 | 14 | private string[] fileNames; 15 | private int[] sizes = new int[] { 96, 60, 48, 42, 36, 32, 28, 24, 18, 14, 12, 11, 10, 9, 8 }; 16 | private int[] sizesdefault = new int[] { 96, 60, 48, 42, 36, 32, 28, 24, 18, 14, 12, 11, 10, 9, 8 }; 17 | 18 | private OpenFileDialog fontSelection = new OpenFileDialog(); 19 | private FolderBrowserDialog outputSelection = new FolderBrowserDialog(); 20 | 21 | public InputGUI() 22 | { 23 | InitializeComponent(); 24 | sizeBox.Text = string.Join(", ", sizes); 25 | outputBox.Text = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 26 | } 27 | 28 | // Private methods 29 | 30 | private void handleResolutions(TextBox child, string name, string backup) 31 | { 32 | int value = 0; 33 | if (!int.TryParse(child.Text, out value) | !(value > 0)) 34 | { 35 | MessageBox.Show(name + " must be a positive Integer!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 36 | child.Text = backup; 37 | } 38 | } 39 | 40 | // Events 41 | 42 | private void fontButton_Click(object sender, EventArgs e) 43 | { 44 | fontSelection.Filter = "TrueType font (.ttf)|*.ttf|OpenType font (.otf)|*.otf"; 45 | fontSelection.FilterIndex = 1; 46 | fontSelection.Multiselect = true; 47 | 48 | if (fontSelection.ShowDialog() == DialogResult.OK) 49 | { 50 | fileNames = fontSelection.FileNames; 51 | } 52 | else 53 | { 54 | fileNames = new string[] { }; 55 | } 56 | 57 | fontBox.Text = string.Join(", ", fileNames); 58 | Debug.WriteLine(fontBox.Text); 59 | } 60 | 61 | private void outputButton_Click(object sender, EventArgs e) 62 | { 63 | if (outputSelection.ShowDialog() == DialogResult.OK) 64 | { 65 | outputBox.Text = outputSelection.SelectedPath; 66 | } 67 | } 68 | 69 | private void widthBox_Leave(object sender, EventArgs e) 70 | { 71 | handleResolutions(widthBox, "Width", "1024"); 72 | } 73 | 74 | private void heightBox_Leave(object sender, EventArgs e) 75 | { 76 | handleResolutions(heightBox, "Height", "1024"); 77 | } 78 | 79 | private void sizeBox_Leave(object sender, EventArgs e) 80 | { 81 | string[] stringSizes = sizeBox.Text.Split(','); 82 | sizeBox.Text = string.Empty; 83 | 84 | List sizeList = new List(); 85 | foreach (string size in stringSizes) 86 | { 87 | int number; 88 | bool result = int.TryParse(size, out number); 89 | if (result && !sizeList.Contains(number) && number > 0) sizeList.Add(number); 90 | } 91 | 92 | if (sizeList.Count > 0) 93 | { 94 | sizeList.Sort(); 95 | sizeList.Reverse(); 96 | sizes = sizeList.ToArray(); 97 | } 98 | else 99 | { 100 | sizes = sizesdefault; 101 | } 102 | sizeBox.Text = string.Join(", ", sizes); 103 | } 104 | 105 | private void characterBox_Leave(object sender, EventArgs e) 106 | { 107 | characterBox.Text = string.Concat(characterBox.Text.OrderBy(c => c).Distinct()); 108 | } 109 | 110 | private void generateButton_Click(object sender, EventArgs e) 111 | { 112 | int count = 0; 113 | 114 | int w = 0, h = 0; 115 | int.TryParse(widthBox.Text, out w); 116 | int.TryParse(heightBox.Text, out h); 117 | 118 | string characters = characterBox.Text; 119 | if (characters.Length == 0) 120 | { 121 | for (int i = 32; i <= 126; i++) 122 | { 123 | characters += (char)i; 124 | } 125 | } 126 | 127 | string outputPath = string.Empty; 128 | if (System.IO.Directory.Exists(outputSelection.SelectedPath)) 129 | { 130 | outputPath = outputSelection.SelectedPath; 131 | } 132 | else 133 | { 134 | outputPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 135 | } 136 | 137 | if (fileNames != null) 138 | { 139 | Dictionary> families = new Dictionary>(); 140 | foreach (string path in fileNames) 141 | { 142 | Face face = new Face(library, path); 143 | if (families.ContainsKey(face.FamilyName)) 144 | { 145 | families[face.FamilyName].Add(face); 146 | } 147 | else 148 | { 149 | families[face.FamilyName] = new List { face }; 150 | } 151 | } 152 | 153 | // generate 154 | foreach (KeyValuePair> kvp in families) 155 | { 156 | SpriteSheet sprites = new SpriteSheet(kvp.Value.ToArray(), characters, sizes, kvp.Key); 157 | sprites.generateAtlases(outputPath, w, h, JSONCheckBox.Checked, RBXLuaCheckBox.Checked); 158 | count++; 159 | } 160 | 161 | outputMessage.Text = "Generated " + count + " font" + (count == 1 ? "" : "s") + "!"; 162 | } 163 | } 164 | 165 | private void outputMessage_Click(object sender, EventArgs e) 166 | { 167 | outputMessage.Text = string.Empty; 168 | } 169 | } 170 | } 171 | -------------------------------------------------------------------------------- /chrome_extension/script.js: -------------------------------------------------------------------------------- 1 | /* 2 | Quick tool for uploading multiple spritesheets from Rbx_CustomFont to the website. 3 | After uploading check the chrome dev console to get your asset ids. Credit for this mostly 4 | goes to Seranok as I took his plugin from the webstore and made slight adjustments to it to fit 5 | my purposes. 6 | 7 | This tool is likely error prone, but it's not meant to be perfect, just a quick way to automate this annoying 8 | aspect of uploading fonts. 9 | */ 10 | 11 | // assetId grabber 12 | 13 | function getProductInfo(id) { 14 | var request = new XMLHttpRequest(); 15 | request.open("GET", "https://api.roblox.com/Marketplace/ProductInfo?assetId=" + id, false); 16 | request.send(); 17 | var response = request.responseText; 18 | response = JSON.parse(response); 19 | return response; 20 | } 21 | 22 | function getAssetId(url, tries) { 23 | var matches = url.match(/\d+/g); 24 | var id = Number(matches[matches.length - 1]); 25 | var product = getProductInfo(id); 26 | function checkId(cid) { 27 | cproduct = getProductInfo(cid); 28 | if (cproduct.Name == product.Name && cproduct.AssetTypeId == 1 && cproduct.Creator.Id == product.Creator.Id) { 29 | return cid; 30 | } 31 | if (cid >= (id - tries)) { 32 | return checkId(cid - 1); 33 | } 34 | else { 35 | return "COULDN'T FIND ASSETID"; 36 | } 37 | } 38 | return checkId(id - 1); 39 | } 40 | 41 | // I took this from Seranok's plugin: 42 | // https://chrome.google.com/webstore/detail/roblox-upload-enhancer/hddnfljcdedbkkibhmiflkehjnnjmaib 43 | 44 | var assetTypeIds = [ 45 | '13' // Decals 46 | ]; 47 | var assetTypeId = document.getElementById('assetTypeId').value; 48 | var onDevelopPage = window.parent.location.pathname.indexOf('/develop') == 0; 49 | if (assetTypeIds.indexOf(assetTypeId) >= 0) { 50 | 51 | $('#upload-button') 52 | .parent() 53 | .append('