Font Subsetting API allows you to easily subset fonts using REST API. Use our API to get the range subsets and use the ranges in the subet call..
http://font.rest/
Currently we support API Key based authentication. Please set a request header 'X-EverythingFonts-Api-Secret' with value of your API key. Alternatively you can also pass api_key= as a request parameter, though we strongly discourage this mode of passing the key.
To do any operations on a font file it has to be added to our system first. This will exist in your account and no one else can see or access this resource. Once you add the file you can refer to the font using the id returned from the API call.
Add the font to the system.
ParametersParameter Name | Parameter Type | Description |
---|---|---|
font | binary | Font file to upload. |
To add a font to the system do a post with the font file attached to the following url.
http://font.rest/font.json
Here is an example of adding a font using CURL to post to the API
curl -v -i -X POST -H 'X-EverythingFonts-Api-Secret: <api_key>' -F font=@myraid.ttf http://font.rest/font.json
The above call if successful will return a json response something like this.
{ "success": { "total": 1 }, "contents": { "id": "BMruFarhaMcvj6oGeAb62itgeF" } }The id in the contents is the font id that you should use in any of the subsequent calls.
To list the fonts in the system use the following API.
http://font.rest/font/list.json
By using the parameter "start" you can browse all the fonts(that you have added before) in the system. Use the parameter "public" to control whether to include public fonts or not in your list.
http://font.rest/font/list.json?start=10&public=0
Here is an example of listing the fonts using curl.
curl -X GET -H 'X-Everythingfonts-Api-Secret:' "http://font.rest/font/list?start=10&public=0"
The above command will return a result something like the following.
{ "success": { "total": "75", "count": 11, "range": { "start": 10, "end": 21 } }, "contents": { "contents": [ { "name": "IM FELL French Canon PRO Regular", "id": "RQMdiZs_C7IdyHPBV_FpGAeF", "private": "1", "created_on": "2014-12-18 19:20:23" }, { "name": "IM FELL French Canon PRO Italic", "id": "i79KlUe2mpnLKg2I9kAWIAeF", "private": "1", "created_on": "2014-12-18 19:20:23" } ... ] } }
Get the subset unicode ranges.
ParametersParameter Name | Parameter Type | Description |
---|
http://font.rest/font/subset/ranges.jsonHere is an example of getting the subset ranges using CURL.
curl -v -i -X GET -H 'X-EverythingFonts-Api-Secret: <api_key>' http://font.rest/font/subset/ranges.json
Subset the font.
ParametersParameter Name | Parameter Type | Description |
---|---|---|
glyphs | string | Required. Comma seperated glyph ranges or single glyphs. e.g 0x61-0x7A,0x30-0x39 |
binaryresult | boolean | Return converted file in binary format, the default is base64 json response. |
custom_glyphs | string | A literal string whose value will be converted to unicode values. If the paramater use_cssrange is set to true this will be treated as CSS unicode ranges. |
use_cssrange | boolean | Affects how the custom_glyphs string is processed. Default is set to false. |
http://font.rest/font/{fontid}/subset.jsonHere is an example of subsetting the above ttf font. Since binaryresult is set to 0 the converted file will be returned as part of a json object as base64 encoded string.
curl -v -i -X POST -H 'X-EverythingFonts-Api-Secret: <api_key>' -d glyphs=0x61-0x7A,0x30-0x39 -d binaryresult=1 -o subset.zip http://font.rest/font/BMruFarhaMcvj6oGeAb62itgeF/subset.json
1 API Key |
1000 API Calls / day |
Best in class backend tools |
Easy to use REST API |
Immediate provisioning |
1 API Key |
4000 API Calls / day |
Best in class backend tools |
Easy to use REST API |
Immediate provisioning |
1 API Key |
12000 API Calls / day |
Best in class backend tools |
Easy to use REST API |
Immediate provisioning |