작업을 하다 보면 한글을 나눔고딕, 영문/숫자는 OpenSans 이런식으로 서로 다르게 폰트를 설정해주어야 할떄가 있다.
아무것도 모르던 시절에는 각 클래스에 font를 다르게 적용시켰는데, 정말 쉬운 방법으로 unicode-range
를 알게 되었다.
@font-face로 정의된 폰트를 특정 character의 범위를 지정해줄 수 있다.
딱 한 단어에 속하는 유니코드도 지정해 줄 수 있다.
예를 들어 U+26(U+0026) 같은 경우는 특수 문자 '&'를 나타내는데,
이를 unicode-range에 지정해 준다면, &만 @font-face로 정의된 폰트가 적용된다.
예시 css 코드
/* Apple SD Gothic Neo */
@font-face {
font-family: 'Apple SD Gothic Neo';
font-style: normal;
font-weight: 400;
src: url(../font/AppleSDGothicNeoR.woff2) format("woff2");
unicode-range: U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF
}
@font-face {
font-family: 'Apple SD Gothic Neo';
font-style: normal;
font-weight: 300;
src: url(../font/AppleSDGothicNeoL.woff2) format("woff2");
unicode-range: U+1100-11FF,U+3130-318F,U+A960-A97F,U+AC00-D7A3,U+D7B0-D7FF
}
/* Poppins */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 800;
src: url(../font/Poppins-ExtraBold.woff2);
unicode-range: U+0030-0039,U+0041-005A,U+0061-007A
}
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 600;
src: url(../font/Poppins-Bold.woff2);
unicode-range: U+0030-0039,U+0041-005A,U+0061-007A
}
한글 전체 적용 유니코드 범위
unicode-range: U+1100-11FF, U+3130-318F, U+A960-A97F, U+AC00-D7A3, U+D7B0-D7FF;