1. A computer-implemented method for providing a font, the method comprising: receiving a request from a client device to download a font; accessing the requested font, wherein the accessed font comprises a requested character map and a requested glyph table; creating a supported character list and a modified font based on the requested character map, wherein the modified font comprises a modified character map and a modified glyph table, and wherein the modified character map comprises placeholder data for at least one character of the accessed font; compressing the modified font; sending the supported character list and the compressed modified font to the client device; sending, to the client device after sending the supported character list and the compressed modified font to the client device, character data comprising character map data for the at least one character in the modified font, and glyph data for the at least one character in the modified font, and location data for the character map data and the glyph data; wherein the character map data is for filling in the placeholder data for the at least one character in the modified character map in the modified font based on the location data; and wherein the glyph data is for merging the at least one character into the modified glyph table based on the location data.