일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- bfs
- MariaDB
- git
- netlify
- Java
- Secret
- 상속
- 메모이제이션
- 클라우드
- 다형성
- GOF
- PostgreSQL
- 디자인 패턴
- 객체지향
- dfs
- package
- npm
- azure
- 서브셋폰트
- 캡슐화
- process.env
- 추상화
- AOP
- Solid
- mock
- CSS
- DP
- dotenv
- 동적계획법
- github
Archives
- Today
- Total
이것저것 해보기🌼
NotoSansKR 폰트 경량화하기 (서브셋 폰트 공유) 본문
웹페이지의 리소스가 늘어나다보면 폰트를 불러오는 용량도 네트워크 비용을 많이 잡아먹는 경우가 생긴다.
이때는 폰트를 woff로 경량화하거나, 거기에서 추가로 서브셋 폰트로까지 경량화를 해주면 좋다.
NotoSans 폰트는 자주 쓰이는 웹 폰트이지만 생각보다 큰 용량을 갖고 있기 때문에, 서브셋 폰트라고 하는 경량화 폰트로 쓰는 경우가 많다.
서브셋 폰트는 한국어에서 거의 쓰이지 않는 문자집합을 제외한 폰트를 말한다.
서브셋 폰트를 만드는 방법에는 몇가지가 있는데, 그중에 fonttools 라는 파이썬 라이브러리를 사용하는 방법을 공유한다.
fonttools 다운로드
https://github.com/fonttools/fonttools
fonttools 로 서브셋 만드는 방법
https://www.44bits.io/ko/post/optimization_webfont_with_pyftsubnet
위 블로그가 상세한 가이드를 잘 설명하고 있다. 이 방법으로 추출하되, 각자가 원하는 문자집합을 잘 지정하면 된다.
문자집합
한글의 경우 대부분 KS X 1001 표준 2350자로 커버된다.
https://raw.githubusercontent.com/nacyot/korean_subset_glyphs/master/ksx1001_korean_2350.txt
위 파일에 있는 한글을 복사해서 쓰면 된다.
NotoSansKR 서브셋 폰트 다운로드
https://github.com/hui3363/NotoSansKR-subset-fonts.git
- 위에서 소개한 fonttools 를 사용하였음
- 문자집합은 아래와 같음
- KS X 1001 표준의 2,350자
- KS X 1001의 특수문자, 한글 자모, 알파벳, 숫자, 구두점, KS 코드 완성형 한글의 추가 글자 제안’에서 추가 제안한 224자
- 폰트 목록 :
NotoSansKR-Bold NotoSansKR-ExtraBold NotoSansKR-Medium NotoSansKR-Regular NotoSansKR-SemiBold