Custom font
Loading fonts from the web
To use a font from hosters like Google Fonts. First make a css file under src
root
└─src
├─scenes/
├─motion-canvas.d.ts
├─project.meta
├─project.ts
+ └─global.css
Inside global.css
, import the font using @import url(your link)
.
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&display=swap');
Then, in project.ts
, import the css file.
import {makeProject} from '@motion-canvas/core';
import example from './scenes/example?scene';
import './global.css'; // <- import the css
export default makeProject({
scenes: [example],
});
Now you can reference the fonts in the fontFamily
property in this project.
<Txt fontFamily={'Fira Code'}>Fira Code</Txt>
Loading fonts from local
For local fonts, make a directory fonts
and put your font inside it.
root
└─public
+ └─fonts *
+ └─CASCADIACODE.TTF
Inside global.css
, import the font using @font-face
.
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&display=swap');
@font-face {
font-family: 'Cascadia Code';
src:
local('Cascadia Code'),
url(public/fonts/CASCADIACODE.TTF) format('truetype');
}
Notice the name of the font will match the string in @font-face/font-family
from the css.
<Layout direction={'column'} alignItems={'center'} layout>
<Txt fontFamily={'Fira Code'}>Fira Code</Txt>
<Txt fontFamily={'Cascadia Code'}>Cascadia Code</Txt>
</Layout>