Yes. For each of the fonts you have you will need a @font-face. More specifically, one for each font file you have downloaded. Let's say you have one font with three different files, one for regular, one for light and another for bold:
@font-face {
font-family: font-regular;
src: url('/font-regular.woff');
}
@font-face {
font-family: font-light;
src: url('/font-light.woff');
}
@font-face {
font-family: font-bold;
src: url('/font-bold.woff');
}
You can add more than one file for your font-face for browser compatility purposes, by adding the keyword format
after the url. This however is not a workaround for having one font-face for multiple fonts. It only states to the browser that the same font can be found in other formats in other urls:
@font-face {
font-family: "Open Sans";
src: url("/fonts/OpenSans-Regular-webfont.woff2") format("woff2"),
url("/fonts/OpenSans-Regular-webfont.woff") format("woff");
}
See more in the official documentation: MDN