๐จ ํฐํธ ์๋ธ์ ์ถ์ถ: ์น ์ฑ๋ฅ ์ต์ ํ์ ์จ์ ๋ฌด๊ธฐ
์น์ฌ์ดํธ๋ฅผ ์ด ๋ ํฐํธ ๋ก๋ฉ ์๊ฐ์ด ๊ธธ์ด์ง๋ฉด ์ฌ์ฉ์๋ ๋ถํธํจ์ ๋๋ผ๊ฒ ๋ฉ๋๋ค. ํนํ ๋ค์ํ ์ธ์ด๋ฅผ ์ง์ํ๋ ํฐํธ๋ฅผ ์ฌ์ฉํ ๋, ์ ์ฒด ํฐํธ๋ฅผ ๋ค์ด๋ก๋ํ๋ ค๋ฉด ์๊ฐ์ด ๋ ๊ฑธ๋ฆฌ์ฃ . ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ธ์ ์ถ์ถ(Subset Extraction)์ ํ์ฉํ๋ฉด ํฐํธ ์ฑ๋ฅ์ ํ๊ธฐ์ ์ผ๋ก ๊ฐ์ ํ ์ ์์ด์. ์ด๋ฒ ๊ธ์์๋ ํฐํธ ์๋ธ์ ์ถ์ถ์ด ๋ฌด์์ธ์ง, ์ ํ์ํ์ง, ๊ทธ๋ฆฌ๊ณ ์ค๋ฌด์์ ์ด๋ป๊ฒ ๊ตฌํํ๋์ง ๋ค๋ค๋ณผ๊ฒ์.
1. ํฐํธ ์๋ธ์ ์ถ์ถ์ด๋?
โ๏ธ ์๋ธ์ ์ถ์ถ(Subsetting)
์๋ธ์ ์ถ์ถ์ ํฐํธ ํ์ผ์์ **ํน์ ๊ธ๋ฆฌํ(๋ฌธ์)**๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง๋ฅผ ์ ๊ฑฐํ๋ ์์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์์ด ์ํ๋ฒณ๋ง ์ฌ์ฉํ๋ ์ฌ์ดํธ์์๋ ํ๊ธ, ์ผ๋ณธ์ด, ์ค๊ตญ์ด ๋ฑ์ ๊ธ๋ฆฌํ๋ฅผ ์ ๊ฑฐํ ๊ฒฝ๋ ํฐํธ ํ์ผ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๐ฏ ์ ์๋ธ์ ์ถ์ถ์ด ํ์ํ๊ฐ?
1. ์ฑ๋ฅ ์ต์ ํ
ํฐํธ ํ์ผ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ํฐํธ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ๋ค์ด๋ก๋ํ๊ณ ๋ ๋๋งํฉ๋๋ค.
2. ์ฌ์ฉ์ ๊ฒฝํ ๊ฐ์
์ฒซ ํ๋ฉด์์ “FOUT(Flash of Unstyled Text)” ๋ฌธ์ ๋ฅผ ์ค์ด๊ณ , ํ ์คํธ๋ฅผ ๋ ๋นจ๋ฆฌ ๋ณด์ฌ์ค ์ ์์ต๋๋ค.
3. ๋ถํ์ํ ๋ฐ์ดํฐ ์ ๊ฐ
๊ธ๋ก๋ฒ ํฐํธ์๋ ์์ฒ ๊ฐ์ ๋ฌธ์๊ฐ ํฌํจ๋๋๋ฐ, ๋๋ถ๋ถ์ ์น์ฌ์ดํธ์์๋ ๊ทธ์ค ์ผ๋ถ๋ง ์ฌ์ฉ๋ฉ๋๋ค.
2. ํฐํธ ์๋ธ์ ์ถ์ถ์ ์๋ ์๋ฆฌ
๐งฉ ์ ์ฒด ํฐํธ ํ์ผ์ ๊ตฌ์กฐ
ํฐํธ ํ์ผ(TTF, OTF ๋ฑ)์ ๋ค์๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํฉ๋๋ค:
• ๊ธ๋ฆฌํ ๋ฐ์ดํฐ: ๊ฐ ๋ฌธ์(์ํ๋ฒณ, ์ซ์, ํน์๋ฌธ์)์ ๋ชจ์ ์ ๋ณด.
• ๋ฉํธ๋ฆญ์ค: ๊ฐ ๊ธ๋ฆฌํ์ ํฌ๊ธฐ์ ๊ฐ๊ฒฉ ์ ๋ณด.
• ์ปค๋ ์ ๋ณด: ๊ธ๋ฆฌํ ๊ฐ์ ๊ฐ๊ฒฉ ์กฐ์ ์ ๋ณด.
์๋ธ์ ์ถ์ถ์ ํ์ํ์ง ์์ ๊ธ๋ฆฌํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ์ฌ ๊ฒฝ๋ํ๋ ํฐํธ ํ์ผ์ ์์ฑํฉ๋๋ค.
โ๏ธ Subset์ ์์ฑํ๋ ๊ณผ์
1. ์ฌ์ฉํ ๋ฌธ์ ์งํฉ ์ ์: ์๋ฅผ ๋ค์ด, A-Z, a-z, 0-9, ๊ทธ๋ฆฌ๊ณ ๋ช ๊ฐ์ง ํน์ ๋ฌธ์๋ฅผ ํฌํจ.
2. ํฐํธ ํ์ผ ์ถ์ถ: ์ ์๋ ๋ฌธ์๋ง ํฌํจ๋ ์ ํฐํธ ํ์ผ ์์ฑ.
3. ์น์ฌ์ดํธ์ ์ ์ฉ: ์ต์ ํ๋ ์๋ธ์ ํฐํธ๋ฅผ ์ฌ์ฉํด ํฐํธ ๋ก๋ฉ ์ฑ๋ฅ ๊ฐ์ .
3. ์๋ธ์ ์ถ์ถ ๋๊ตฌ
๐ ๏ธ 1) Google Fonts Subsetting Tool
Google Fonts์์ ํฐํธ๋ฅผ ์ ํํ๋ฉด Customize ํญ์์ ์ฌ์ฉํ ๋ฌธ์ ์งํฉ์ ์ ํํ ์ ์์ต๋๋ค.
• ์ง์ ๋ฌธ์ ์งํฉ: ๊ธฐ๋ณธ ๋ผํด, ํ์ฅ ๋ผํด, ํ๊ธ, ์ผ๋ณธ์ด ๋ฑ.
• ์ฅ์ : ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ , Google Fonts์ ํตํฉ๋์ด ์์.
๐ ๏ธ 2) Glyphhanger
CLI ๊ธฐ๋ฐ ๋๊ตฌ๋ก, HTML ํ์ผ์์ ์ฌ์ฉ๋ ๊ธ๋ฆฌํ๋ฅผ ์๋์ผ๋ก ์ถ์ถํ๊ณ ์๋ธ์ ์ ์์ฑํฉ๋๋ค.
์ฌ์ฉ๋ฒ
1. Glyphhanger ์ค์น:
npm install -g glyphhanger
2. HTML์์ ์ฌ์ฉ๋ ๋ฌธ์ ์ถ์ถ:
glyphhanger ./index.html --whitelist=A-Z,a-z,0-9
3. ํฐํธ ํ์ผ ์์ฑ:
glyphhanger --subset=./path/to/font.ttf --output=./path/to/subset.ttf
๐ ๏ธ 3) FontForge
ํฐํธ ํธ์ง๊ธฐ ๋๊ตฌ๋ก, GUI ํ๊ฒฝ์์ ์๋ธ์ ์ถ์ถ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
์ฌ์ฉ๋ฒ
1. FontForge๋ฅผ ์ด๊ณ ํฐํธ ํ์ผ ๋ก๋.
2. ํ์ํ ๊ธ๋ฆฌํ๋ง ์ ํ.
3. “Export”๋ฅผ ํตํด ์๋ธ์ ํฐํธ ์ ์ฅ.
4. ์ค๋ฌด์์์ ํฐํธ ์๋ธ์ ์ถ์ถ
๐ 1) Tailwind CSS ํ๋ก์ ํธ์ ์๋ธ์ ํฐํธ ์ ์ฉ
1. ํฐํธ ์๋ธ์ ์ถ์ถ ํ, woff2 ํ์์ผ๋ก ์ ์ฅ.
2. Tailwind CSS์ ์ปค์คํ ํฐํธ ์ค์ :
// tailwind.config.js
module.exports = {
theme: {
extend: {
fontFamily: {
sans: ['MySubsetFont', 'sans-serif'],
},
},
},
};
3. ์คํ์ผ ํ์ผ์ ํฐํธ ์ ์ฉ:
@font-face {
font-family: 'MySubsetFont';
src: url('/fonts/MySubsetFont.woff2') format('woff2');
font-weight: normal;
font-style: normal;
}
๐งช 2) React์์ ํฐํธ ์๋ธ์ ์ ์ฉ
1. ํฐํธ ํ์ผ์ public ํด๋์ ์ ์ฅ.
2. index.css ๋๋ ์คํ์ผ ํ์ผ์ ์ ์ฉ:
@font-face {
font-family: 'MySubsetFont';
src: url('/fonts/MySubsetFont.woff2') format('woff2');
}
body {
font-family: 'MySubsetFont', Arial, sans-serif;
}
5. ์๋ธ์ ์ถ์ถ๊ณผ ์ฑ๋ฅ ๋น๊ต
ํฐํธ ํ์ผ ์ฉ๋ ๋ก๋ฉ ์๊ฐ
๊ธฐ๋ณธ ํฐํธ 500KB 1.5์ด
์๋ธ์ ํฐํธ 50KB 0.3์ด
๐ฏ ๊ฒฐ๋ก : ์๋ธ์ ์ถ์ถ์ ์ฑ๋ฅ ์ต์ ํ์ ํ์์ !
6. ์๋ธ์ ์ถ์ถ ์ ์ฃผ์์ฌํญ
1. ์ฌ์ฉํ ๋ฌธ์ ์๋ณ: ํ๋ก์ ํธ์ ํ์ํ ๋ฌธ์๋ฅผ ๋ช ํํ ์ ์ํ์ธ์.
2. ํ ์คํธ: ์๋ธ์ ํฐํธ๊ฐ ์ ๋๋ก ๋ ๋๋ง๋๋์ง ํ์ธํ์ธ์.
3. ๋ธ๋ผ์ฐ์ ํธํ์ฑ: ์๋ธ์ ํฐํธ ํ์ผ ํ์(woff2)์ด ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ์ง์๋๋์ง ํ์ธํ์ธ์.
๊ฒฐ๋ก : ์๋ธ์ ์ถ์ถ๋ก ํฐํธ ์ต์ ํํ๊ธฐ
ํฐํธ ์๋ธ์ ์ถ์ถ์ ์ฑ๋ฅ ์ต์ ํ์ ์ฌ์ฉ์ ๊ฒฝํ ๊ฐ์ ์ ์ค์ํ ์ด์ ์ ๋๋ค.
๋ถํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๊ณ ํ์ํ ๊ฒ๋ง ๋จ๊ฒจ ์น์ฌ์ดํธ๋ฅผ ๊ฐ๋ณ๊ณ ๋น ๋ฅด๊ฒ ๋ง๋์ธ์.
๐ท์ ์ค์ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ด ์๋น!๐ท
๐๏ธ Font Subset ์ถ์ถ: ์น ์ฑ๋ฅ์ ์ํ ์ค๋งํธํ ์ ํ
์น ํ์ด์ง์์ ํฐํธ๋ ์๊ฐ์ ์์ฑ๋๋ฅผ ๋์ด๋ ์ค์ํ ์์์์. ํ์ง๋ง, ํฐํธ ํ์ผ์ด ํฌ๊ฑฐ๋ ๋ถํ์ํ ๊ธ๋ฆฌํ(๋ฌธ์์ ์ฌ๋ณผ)๊น์ง ํฌํจ๋์ด ์๋ค๋ฉด ํ์ด์ง ๋ก๋ฉ ์๋๊ฐ ๋๋ ค์ง ์ ์์ด์. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Font Subset ์ถ์ถ์ ์ฌ์ฉํ๋ฉด ํฐํธ ์ฑ๋ฅ ์ต์ ํ์ ํฐ ๋์์ ์ค ์ ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ Font Subset์ด ๋ฌด์์ธ์ง, ์ ์ค์ํ์ง, ์ด๋ป๊ฒ ์ถ์ถํ๋์ง ๋ฑ์ ์์ธํ ๋ค๋ค๋ณผ๊ฒ์! ๐ง
1. Font Subset ์ถ์ถ์ด๋?
Font Subset์ด๋?
Font Subset์ ํฐํธ ํ์ผ์์ ํน์ ๊ธ๋ฆฌํ(๋ฌธ์, ๊ธฐํธ ๋ฑ)๋ง ์ถ์ถํ์ฌ ํฌ๊ธฐ๋ฅผ ์ค์ธ ํฐํธ๋ฅผ ๋งํฉ๋๋ค. ์ฆ, ํ์ด์ง์์ ์ค์ ๋ก ์ฌ์ฉ๋๋ ๋ฌธ์๋ง ํฌํจ๋ ํฐํธ๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ด์์.
์๋ฅผ ๋ค์ด, ํ๊ธ ํฐํธ์๋ ์ฝ 11,000์ฌ ๊ฐ์ ๊ธ์๊ฐ ํฌํจ๋์ด ์์ง๋ง, ์น ํ์ด์ง์์ ๊ทธ์ค ๋ช๋ฐฑ ๊ฐ๋ง ์ฌ์ฉํ๋ค๋ฉด ๋๋จธ์ง ๊ธ๋ฆฌํ๋ ๋ถํ์ํ ๋ฆฌ์์ค๊ฐ ๋ฉ๋๋ค.
์ ์ค์ํ๊ฐ์?
1. ๋ก๋ฉ ์๋ ๊ฐ์
ํฐํธ ํ์ผ ํฌ๊ธฐ๊ฐ ์์์ง๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ํฐํธ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ๋ค์ด๋ก๋ํ ์ ์์ด ํ์ด์ง ๋ก๋ฉ ์๋๊ฐ ๋นจ๋ผ์ ธ์.
2. ์ฌ์ฉ์ ๊ฒฝํ ํฅ์
๋ก๋ฉ ์๊ฐ์ด ์งง์์ง๋ฉด ํฐํธ๊ฐ ์ ์ฉ๋๊ธฐ ์ ์ “FOUT(Flash of Unstyled Text)” ํ์์ด ์ค์ด๋ญ๋๋ค.
3. ๋ฐ์ดํฐ ๋น์ฉ ์ ๊ฐ
๋ชจ๋ฐ์ผ ํ๊ฒฝ์์ ํฐํธ ๋ฐ์ดํฐ๋ฅผ ์ค์ด๋ฉด ์ฌ์ฉ์์ ๋ฐ์ดํฐ ๋น์ฉ์ ์ ์ฝํ ์ ์์ต๋๋ค.
4. SEO ๊ฐ์
๋ก๋ฉ ์๋๋ ๊ฒ์ ์์ง ์ต์ ํ(SEO)์๋ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋ ๋น ๋ฅธ ๋ก๋ฉ ์๋๊ฐ ๋ ๋์ SEO ๊ฒฐ๊ณผ๋ก ์ด์ด์ง ์ ์์ด์.
2. Font Subset ์ถ์ถ์ ์๋ ์๋ฆฌ
1. ํ ์คํธ ๋ถ์
ํ์ด์ง์์ ์ฌ์ฉํ๋ ํ ์คํธ๋ฅผ ๋ถ์ํด ํ์ํ ๋ฌธ์๋ง ์๋ณํฉ๋๋ค.
2. ํฐํธ ํ์ผ ์ฒ๋ฆฌ
์๋ณธ ํฐํธ ํ์ผ์์ ํ์ํ ๋ฌธ์๋ง ํฌํจํ ์ ํฐํธ๋ฅผ ์์ฑํฉ๋๋ค.
3. ์น ํ์ด์ง์ ์ ์ฉ
์ถ์ถ๋ ํฐํธ๋ฅผ ํ์ด์ง์ ๋ก๋ํ์ฌ ์ต์ ํ๋ ํฐํธ ๋ ๋๋ง์ ์ ๊ณตํฉ๋๋ค.
3. Font Subset ์ถ์ถ ๋ฐฉ๋ฒ
1) Google Fonts ์ฌ์ฉํ๊ธฐ
Google Fonts๋ ์๋์ผ๋ก ์ฌ์ฉ๋ ๊ธ๋ฆฌํ๋ง ํฌํจ๋ ์๋ธ์ ์ ์ ๊ณตํฉ๋๋ค.
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400&display=swap" rel="stylesheet">
Google Fonts๋ ์๋์ผ๋ก ์๋ธ์ ์ ์ ๊ณตํ์ง๋ง, ๋ชจ๋ ์ํฉ์ ๋ง์ถ๊ธฐ์ ํ๊ณ๊ฐ ์์ ์ ์์ด์.
2) Font Subsetter ๋๊ตฌ ์ฌ์ฉ
1. Pyftsubset (FontTools)
FontTools๋ Python ๊ธฐ๋ฐ์ ๋๊ตฌ๋ก, ํฐํธ ์๋ธ์ ์ถ์ถ์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ค์น
pip install fonttools
์ฌ์ฉ๋ฒ
pyftsubset your-font.ttf --text="Hello World" --output-file=subset-font.ttf
• --text: ํฐํธ์์ ์ฌ์ฉํ ํ ์คํธ๋ฅผ ์ง์ ํฉ๋๋ค.
• --output-file: ์ถ์ถ๋ ํฐํธ์ ์ ์ฅ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค.
2. Glyphhanger
Glyphhanger๋ ํ์ด์ง์์ ์ฌ์ฉ๋ ๊ธ๋ฆฌํ๋ฅผ ์๋์ผ๋ก ๋ถ์ํ๊ณ ํฐํธ ์๋ธ์ ์ ์์ฑํฉ๋๋ค.
์ค์น
npm install -g glyphhanger
์ฌ์ฉ๋ฒ
glyphhanger --subset=*.woff2 --US-ascii https://your-website.com
์ด ๋ช ๋ น์ด๋ ์น์ฌ์ดํธ์์ ์ฌ์ฉ๋ ๊ธ๋ฆฌํ๋ง ํฌํจ๋ WOFF2 ํฐํธ๋ฅผ ์์ฑํฉ๋๋ค.
3. Transfonter
Transfonter๋ ๋ธ๋ผ์ฐ์ ์์ ์๋ํ๋ ๋ฌด๋ฃ ์จ๋ผ์ธ ์๋ธ์ ์์ฑ ๋๊ตฌ์ ๋๋ค.
1. ์น์ฌ์ดํธ์ ์ ์.
2. ํฐํธ ํ์ผ ์ ๋ก๋.
3. ์ฌ์ฉํ ๋ฌธ์(๊ธ๋ฆฌํ) ์ ํ.
4. ์๋ธ์ ํฐํธ ๋ค์ด๋ก๋.
3) ์ง์ ์ฝ๋ ์์ฑ
JS๋ CSS์์ ์ง์ ํฐํธ๋ฅผ ๊ด๋ฆฌํ๊ณ ํ์ํ ๊ธ๋ฆฌํ๋ง ์ฌ์ฉํ๋๋ก ์ค์ ํ ์๋ ์์ต๋๋ค.
CSS @font-face ์ฌ์ฉ ์์
@font-face {
font-family: 'MyFont';
src: url('/path-to-fonts/subset-font.woff2') format('woff2');
unicode-range: U+0041-005A, U+0061-007A; /* A-Z, a-z */
}
unicode-range๋ฅผ ์ฌ์ฉํด ํ์ํ ๊ธ๋ฆฌํ ๋ฒ์๋ฅผ ๋ช ์์ ์ผ๋ก ์ง์ ํฉ๋๋ค.
4. Font Subset ํ์ฉ ์ฌ๋ก
1. ๋ค๊ตญ์ด ์น์ฌ์ดํธ
๊ฐ ์ธ์ด๋ณ๋ก ์๋ธ์ ํฐํธ๋ฅผ ์์ฑํด ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์์ด๋ ๋ก๋ง์๋ง ํฌํจ๋ ํฐํธ๋ฅผ ์ฌ์ฉํ๊ณ , ํ๊ธ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ธ๋ฆฌํ๋ง ํฌํจ๋ ํฐํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
2. ์ฑ๊ธ ํ์ด์ง ์ ํ๋ฆฌ์ผ์ด์ (SPA)
์ด๊ธฐ ๋ก๋์ ํ์ํ ์ต์ ๊ธ๋ฆฌํ๋ง ํฌํจ๋ ํฐํธ๋ฅผ ๋ก๋ํ๊ณ , ๋๋จธ์ง๋ Lazy Loading์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
3. ๋ชจ๋ฐ์ผ ํผ์คํธ ๋์์ธ
๋ชจ๋ฐ์ผ์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ ๊ธ๋ฆฌํ๋ง ํฌํจ๋ ๊ฒฝ๋ ํฐํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
5. Font Subset์ ์ฅ๋จ์
๐ ์ฅ์
• ๋น ๋ฅธ ๋ก๋ฉ: ๋ถํ์ํ ๊ธ๋ฆฌํ๋ฅผ ์ ๊ฑฐํด ํฐํธ ํ์ผ ํฌ๊ธฐ๋ฅผ ๋ํญ ์ค์ผ ์ ์์.
• ๋ฐ์ดํฐ ์ ์ฝ: ๋ชจ๋ฐ์ผ ํ๊ฒฝ์์ ํนํ ์ ๋ฆฌ.
• SEO: ๋ก๋ฉ ์๋ ๊ฐ์ ์ผ๋ก ๊ฒ์ ์์ง ์์ ์์น.
๐ ๋จ์
• ์ด๊ธฐ ์์ ํ์: ๊ธ๋ฆฌํ๋ฅผ ์๋ณํ๊ณ ์ถ์ถํ๋ ๊ณผ์ ์ด ํ์ํจ.
• ๋ค๊ตญ์ด ์ง์ ์ด๋ ค์: ๋ชจ๋ ์ธ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด ์๋ธ์ ๊ด๋ฆฌ๊ฐ ๋ณต์กํด์ง ์ ์์.
6. Font Subset๊ณผ ๊ด๋ จ๋ ์ฃผ์ ์ฉ์ด
• WOFF/WOFF2: ์น์ ์ต์ ํ๋ ํฐํธ ํ์. ์๋ธ์ ์์ฑ ์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋จ.
• Unicode Range: ํน์ ๋ฌธ์์ ์ ๋์ฝ๋ ๋ฒ์๋ฅผ ์ง์ ํ์ฌ ํฐํธ ์๋ธ์ ์ ์์ฑ.
• Glyph: ํฐํธ์ ๊ฐ๋ณ ๋ฌธ์, ์ฌ๋ณผ, ์์ด์ฝ ๋ฑ์ ์๋ฏธ.
• Fallback Font: ํฐํธ ๋ก๋ฉ ์ ์ ์์๋ก ํ์๋๋ ๊ธฐ๋ณธ ํฐํธ.
๊ฒฐ๋ก
Font Subset ์ถ์ถ์ ์น ์ฑ๋ฅ ์ต์ ํ์ ํต์ฌ ์์ ์ค ํ๋์ ๋๋ค.
ํ์ด์ง์์ ์ฌ์ฉํ๋ ๊ธ๋ฆฌํ๋ง ํฌํจ๋ ํฐํธ๋ฅผ ์์ฑํ๋ฉด ๋ก๋ฉ ์๋, ์ฌ์ฉ์ ๊ฒฝํ, ๋ฐ์ดํฐ ์ฌ์ฉ๋ ๋ฑ ๋ค์ํ ์ธก๋ฉด์์ ํฐ ๊ฐ์ ์ ๋ณผ ์ ์์ต๋๋ค.
์ง๊ธ ๋ฐ๋ก Font Subset์ ๋์ ํด ๋ ๋น ๋ฅด๊ณ ์ต์ ํ๋ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค์ด๋ณด์ธ์!
๐ท์ ์ค์ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ด ์๋น!๐ท
'Front-end > Optimizing' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Prefetching vs Preloading vs Prerendering (0) | 2025.03.16 |
---|---|
โจ GPU ๊ฐ์ ํ์ฉ๊ณผ CSS ์์ฑ ์ต์ ํ: transform, opacity, ๊ทธ๋ฆฌ๊ณ 3D ๋ณํ ๐ฎ (0) | 2025.03.11 |
์ด๋ฏธ์ง ์ต์ ํ์ ๊ด๋ จ๋ ์ฉ์ด ์ ๋ฆฌ (0) | 2025.03.04 |
AVIF: ์ฐจ์ธ๋ ์ด๋ฏธ์ง ํฌ๋งท์ ํ๋ช ๐ผ๏ธโจ (0) | 2025.03.02 |
[Optimizing] WebP: ์ฐจ์ธ๋ ์ด๋ฏธ์ง ํฌ๋งท์ ๋ชจ๋ ๊ฒ ๐ผ๏ธ (1) | 2025.01.25 |