IAMBIT 거래소는 pretendard font를 메인으로 사용한다.
pretendard는 숫자의 가로길이가 가변적인 폰트이다.
때문에 아래 그림과 같은 문제가 발생한다.
이를 보고 디자이너님과 해결방안에 대해 이야기 나누어 보았다.
- 가변폭 pretendard를 유기하고 고정폭 폰트로 수정한다. => 디자이너 리소스 많이 소모
- 숫자만 고정폭 폰트로 수정 =>약간 짜친다, 디자이너 리소스 조금 소모
때문에 다른 대안이 있나 싶어 찾아보니 pretendard 뿐만 아닌 OpenType을 지원하는 모든 폰트에 고정폭을 적용할 수 있는 방법이 있었다.
nextjs, tailwindcss 환경에서 font OpenType 수정 방법이다.
- 먼저 tailwind.config.ts 파일에 새로운 클래스를 추가한다.
extend: {
fontVariantNumeric: {
'tabular-nums': 'tabular-nums',
},
},
- 그다음 nextjs의 localFont 선언부를 수정한다.
export const pretendard = localFont({
src: [
{
path: "../assets/fonts/Pretendard-Regular.woff",
weight: "400",
style: "normal",
},
{
path: "../assets/fonts/Pretendard-Medium.woff",
weight: "500",
style: "normal",
},
{
path: "../assets/fonts/Pretendard-Bold.woff",
weight: "700",
style: "normal",
},
],
variable: "--font-pretendard",
display: "swap",
fallback: ["sans-serif"],
preload: true,
declarations: [ // 이 부분 추가
{
prop: "font-feature-settings",
value: '"tnum" on, "lnum" on',
},
],
});
- 마지막으로, tabular-nums 스타일을 필요한 곳에 적용한다.
이렇게 하면 Pretendard 폰트에 font-variant-numeric: tabular-nums가 적용되어, 숫자들이 고정 폭으로 정렬된다.
'<frontend> > next.js' 카테고리의 다른 글
nextjs proxy 적용해서 cors 우회하기 (2) | 2024.09.21 |
---|---|
zero runtime css-in-js PandaCSS (2) | 2024.07.29 |
nextjs 렌더링 예제 (0) | 2024.07.29 |
nextjs에서 오래 걸리는 api를 최적화하기 (1) | 2024.07.01 |
nextjs api기능으로 목업api만들기 (0) | 2024.07.01 |