Story theme - Add a custom font
In this tutorial, we will go through the steps of adding a free font, Gotham Bold which is not included in the theme. You can apply the same concept for your own font files.
- 1
-
Download your font
This font is available from external font repositories like Fonts Geek. For this tutorial, we are going to install Gotham Bold but you can use any font from fontsgeek.com:
http://fontsgeek.com/fonts/Gotham-Bold-Regular
The downloaded font will be in a .zip archive and contain a TrueType version of Gotham Bold. Unzip the font file and have it ready for conversion in the next step.
- 2
-
Convert the font
Use a font conversion service like Transfonter.org to create web ready fonts:
Steps to convert:
(1) Upload the unzipped Gotham Bold Regular.ttf font file.
(2) Choose all options except TTF (the file is already in TTF format).
(3) Finally, use the convert button and download the new converted fonts.
Press the green Convert button:
Use the Download link and save the converted fonts:
Important: After you download the .zip file to your computer - You'll need to unzip the file.
Both Mac and Windows should have built-in tools to uncompress the .zip file into a folder.
- 3
-
Skip steps 1 and 2, download all font files from Dropbox for Gotham Bold
Steps 1 and 2 are helpful if you're using a different font. For the rest of this tutorial, we'll use these already converted font files for Gotham Bold.
Use the Download button and choose Direct download:
This will download a folder to your computer called GothamBold.
- 4
-
Add font files to your theme
Open your Code Editor.
In the Assets folder, choose Add a new asset:
One by one, upload each of the 4 font files from the GothamBold folder from your computer:
Be sure to upload all 4 files.
- 5
-
Edit Story's CSS stylesheet
Code to use:
/* -- code to use Gotham font-family in theme -- */ @font-face { font-family: 'Gotham'; src: url('{{ "Gotham-Bold.eot" | asset_url }}'); src: url('{{ "Gotham-Bold.eot" | asset_url }}#iefix') format("embedded-opentype"), url('{{ "GothamBold.woff" | asset_url }}') format("woff"), url('{{ "GothamBold.woff2" | asset_url }}') format("woff2"), url('{{ "GothamBold.svg" | asset_url }}#GothamBold') format("svg"); font-weight: bold; font-style: normal; } /* - end - */
If you're not using Gotham and downloaded a different font file, then in the folder where you extracted the .ZIP file, you'll have a file called stylesheet.css:
Open that and it will have the code you need - Example:
You can use that instead.
Use this link to learn where exactly to add this code snippet:
Where to add your CSS style code
- 6
-
Modify CSS assignments
Still in theme.scss.liquid file, use the Find feature on the right code side (Command-F on Mac or Control-F in Windows) and search for (1):
font.family
You'll find three main results to work with.
If you want to assign your custom font (in our example Gotham) to replace the theme heading font, work with line 479 in the above screenshot.
Change the code to:
$font-stack-heading: {{ heading_font.family }}, {{ heading_font.fallback_families }};
Change to:
$font-stack-heading: 'Gotham', sans-serif;
Code Change Examples
From:
To:
Note: The first portion is the font-family name from the downloaded font instructions. After the comma is the fallback font-family. If you're unsure what the fallback font-family is, check with your custom font's instructions or use Google to find your font-family fallback.
Save the file:
Heading Result Examples
After:
Before: