A downloadable plugin
Create new fonts with Aseprite and load them in to be used in your projects!
All you'll need is a font atlas (i.e. a grid-based arrangement of the characters you'd like to use) and a simple .json file that describe the properties of the font.
Edit > Insert Text menu option. If you'd like to create font files based on a pixel map, check out this itch.io project!Ð, Þ, Æ, or others working?.png, .ase, or .aseprite!.json. The data has to be formatted in a special way, so I recommend using the example.json file you can find here as a stepping stool.Edit > FX > Use Custom Font and follow the dialog prompts to include text with your custom font in your Aseprite project!* next to them. DO NOT include the asterix in the key-names in your properties file (use example.json as a template).*alphabet - a list of all of the characters found in the font file. Due to technical reasons, the list of characters must match exactly the ordering found in the font file (left to right, top to bottom).*sprite_path - a pointer to the sprite file that contains the font. Valid file extensions are .png, .ase, or .aseprite. If a relative file name is given, the extension will look for a font file in the same directory as the property file (recommended). However, you can also give it an absolute file name anywhere on your computer to locate the font file, if desired.*atlas - an object containing information relevant to the construction of each character in the alphabet*rows - how many rows of letters exist in the font file*cols - how many columns of letters exist in the font file*grid_width - in pixels, how wide is exactly one letter*grid_height - in pixels, how tall is exactly one lettercommon_width - in pixels, how wide should most characters be rendered (will default to grid_width if not specified)character_widths - an object containing width information for particular letters (will default to grid_width if not specified)key in this object will be a single letter from the alphabet; every value in this object will be the number of pixels wide that this key should be rendered withdefault_spacing - in pixels, the default amount of space to be left in between each letter when rendering (will default to 1 if not specified)kerning - an object that specifies spacing between relationships of characters (will default to not use any kerning if not specified)key in this object will be a single letter from the alphabet; every value will be another object with the form:*paired_with - a list of all of the characters, that when appearing after key, will have their spacing adjusted by the amount spacing*spacing - in pixels, how much should the spacing be changed to accomodate the key : paired_with relationship (can be a negative value) when renderingThis extension was commissioned by dani boye on the Aseprite Discord server. He also provided the 6_by_9.png to use as an example font!
The json-parsing library, json.lua, was provided by rxi under the MIT License: https://github.com/rxi/json.lua
As an advocate of open-source software, feel free to suggest edits, or just fork this repository and make your own! The license on this software is open for commercial and private use. This extension will remain free forever; however, if you'd like to buy me a coffee, you can do so here: https://ko-fi.com/fletchmakesstuff
This extension requires a copy of Aseprite to be installed.
After downloading the extension, simply double-clicking the file should open Aseprite and install it automatically. If this does not work, you can instead: