Last updated
Was this helpful?
Last updated
Was this helpful?
Font Family Tokens define typeface as an individual property to be composed within a . It is not intended to be applied to text elements directly.
Font Family defines a group of related fonts that vary in weight, style or width but maintain a consistent visual appearance and share the same design characteristics.
Font Family design decisions ensure that text elements are easy to read in a particular context while representing the visual style of the brand/product/service.
A design system will typically define which Font Family is to be used when text within a visual design calls for:
serif font
sans-serif font
mono-spaced font
decorative font
The Value of a Font Family Token must be identical to the text string value for the Font Family in the Figma design panel due to limitations from Figma (plugin API).
When writing the string value of a Font Family Token, pay close attention to:
Spelling
Spacing
Punctuation
Use of capital letters
To ensure your Font Family Token values are an exact match to what Figma has, you can:
Carefully type it out, paying attention to the syntax in Figma.
Save your Font Family and Font Weight pairs as text styles in Figma, then import them into the plugin to see how they appear.
Select the value from the Tokens Studio menu, pictured below.
When trying to reference another Token as the Value for a Font Family Token, you will see Tokens in the dropdown list that are:
Living in Token Sets that are currently active.
In the left menu on the plugin's Tokens page, a checkmark is visible next to the Token Set name.
Token Type is compatible:
The same = fontFamilies
"The typography's font. The value of this property MUST be a valid font family value or a reference to a font family token." - 9.7. Typography
In Tokens Studio, the Font Family Token has a unique syntax in code which identifies if the token is:
An independent property Token
Part of a Typography Composite Token
Looking at the JSON format, the "type"
is written in plural "fontFamilies
" when the Font Size Token is defined as an independent property Token.
This example shows a Font Family property Token named font-family-sans
with a value of Satoshi Variable (see line 4).
This is in contrast to the Typography Composite Token, which has the property Token "type"
written in the singular "fontFamily"
.
This example shows a Typography composite token with the Font Family Token named font-family-sans
referenced as the value (see line 4).
When transforming Font Family Tokens, there are specific configurations to be aware of.
The preprocessor in the SD-Transforms package will automatically convert the Tokens Studio specific Token Type of fontFamilies
to align with the DTCG Format Token Type of fontFamily
.
Font Family, as a part of Typography Composite Tokens, require the SD-Transforms option to expand composite Tokens into multiple Tokens
.
Mentioned in this doc:
Figma Learn - [Add a font in Figma](# Add a font to Figma design)
None
In this property is called font-family
.
Font Family is an official Token Type in the in the W3C Design Token Community Group specifications.( )
It is mentioned as a required part of a
→
SD-Transforms -
Style Dictionary -
Design Tokens Community Group -
Design Tokens Community Group -
Design Tokens Community Group -
Design in Figma -
MDN Web Docs -
Font Weight + Font Family Pairs explained by
Import Typography Styles from Figma into Tokens Studio -
Tokens Studio Plugin GitHub -
Engineers typically transform Tokens used in code with , which is tool-agnostic. Tokens coming from Tokens Studio require an additional step: , an npm package that prepares Tokens for Style Dictionary.
💡 Something to share?
Make sure you look at the generic SD-Transforms package to include this option, which allows you to further customize this transformation further using Style Dictionary.
→
However, like all Token Types, you can "force" a reference by manually entering the Token Name between curly brackets.
For example {token.name.here}
Jump to the guide on Token Values with References by selecting the card below to learn more.
🐞 If you are experiencing an issue not listed here, please reach out to us on the Troubleshooting channel of our , , or send us an email support@tokens.studio
💌 Visit to contribute or subscribe to updates.