Google Fonts ๋ทฐ์–ด

Google Fonts๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋ฏธ๋ฆฌ๋ณด๊ธฐํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ํฐํŠธ๋ฅผ ์ฐพ์•„ ์›น ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณด์„ธ์š”.

ํฐํŠธ ๊ฒ€์ƒ‰
์›ํ•˜๋Š” ํฐํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ฑฐ๋‚˜ ํ•„ํ„ฐ๋งํ•˜์„ธ์š”.

ํฐํŠธ๋ฅผ ์„ ํƒํ•˜์—ฌ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”

๐Ÿ“š Google Fonts ์™„๋ฒฝ ๊ฐ€์ด๋“œ

Google Fonts๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์„ธ์š”

๐ŸŽจ๐ŸŽจ Google Fonts๋ž€?

Google Fonts๋Š” ๊ตฌ๊ธ€์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฌด๋ฃŒ ์›นํฐํŠธ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

  • 1,400๊ฐœ ์ด์ƒ์˜ ์˜คํ”ˆ์†Œ์Šค ํฐํŠธ ํŒจ๋ฐ€๋ฆฌ
  • ์ƒ์—…์  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฌด๋ฃŒ ๋ผ์ด์„ ์Šค
  • ๋น ๋ฅธ CDN์„ ํ†ตํ•œ ์ „ ์„ธ๊ณ„ ๋ฐฐํฌ
  • ๋‹ค์–‘ํ•œ ์–ธ์–ด์™€ ๋ฌธ์ž ์ฒด๊ณ„ ์ง€์›
  • ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ์— ์ตœ์ ํ™”

โšกโšก ์›นํฐํŠธ ์‚ฌ์šฉ๋ฒ•

1. HTML์—์„œ ์‚ฌ์šฉ

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;700&display=swap" rel="stylesheet">

2. CSS์—์„œ ์ ์šฉ

body {
  font-family: 'Noto Sans KR', sans-serif;
}

๐Ÿš€๐Ÿš€ ์„ฑ๋Šฅ ์ตœ์ ํ™” ํŒ

  • font-display: swap ์‚ฌ์šฉ์œผ๋กœ FOIT ๋ฐฉ์ง€
  • preconnect๋กœ DNS ์กฐํšŒ ์‹œ๊ฐ„ ๋‹จ์ถ•
  • ํ•„์š”ํ•œ font-weight๋งŒ ์„ ํƒ์  ๋กœ๋“œ
  • subset ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฌธ์ž ์ง‘ํ•ฉ ์ œํ•œ
  • ๋กœ์ปฌ ํฐํŠธ fallback ์„ค์ •

์ตœ์ ํ™”๋œ ๋กœ๋“œ ์˜ˆ์‹œ:

<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;700&display=swap&subset=korean" rel="stylesheet">

๐Ÿ“ฑ๐Ÿ“ฑ ๋ฐ˜์‘ํ˜• ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ

๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค์—์„œ ์ตœ์ ์˜ ๊ฐ€๋…์„ฑ์„ ์œ„ํ•œ ์„ค์ •:

/* ๋ฐ˜์‘ํ˜• ํฐํŠธ ํฌ๊ธฐ */
.responsive-text {
  font-size: clamp(1rem, 2.5vw, 2rem);
  line-height: 1.6;
}

/* ๋””๋ฐ”์ด์Šค๋ณ„ ํฐํŠธ ์Šคํƒ */
.font-stack {
  font-family: 
    'Noto Sans KR', 
    -apple-system, 
    BlinkMacSystemFont, 
    'Segoe UI', 
    sans-serif;
}
  • ๋ชจ๋ฐ”์ผ: 16px ์ด์ƒ ๊ถŒ์žฅ
  • ํƒœ๋ธ”๋ฆฟ: 18px ์ด์ƒ ๊ถŒ์žฅ
  • ๋ฐ์Šคํฌํ†ฑ: 20px ์ด์ƒ ๊ถŒ์žฅ

๐ŸŽฏ๐ŸŽฏ ํฐํŠธ ์„ ํƒ ๊ฐ€์ด๋“œ

์šฉ๋„๋ณ„ ์ถ”์ฒœ ํฐํŠธ:

  • ๋ณธ๋ฌธ์šฉ: Noto Sans KR, Spoqa Han Sans
  • ์ œ๋ชฉ์šฉ: Noto Serif KR, Gowun Dodum
  • ์ฝ”๋“œ์šฉ: Fira Code, JetBrains Mono
  • ์žฅ์‹์šฉ: Jua, Gamja Flower

์„ ํƒ ๊ธฐ์ค€:

  • ๋ธŒ๋žœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ์™€์˜ ์ผ์น˜์„ฑ
  • ๊ฐ€๋…์„ฑ๊ณผ ์ ‘๊ทผ์„ฑ
  • ๋‹ค๊ตญ์–ด ์ง€์› ๋ฒ”์œ„
  • ๋กœ๋”ฉ ์„ฑ๋Šฅ

๐Ÿ”ง๐Ÿ”ง ๊ณ ๊ธ‰ ํ™œ์šฉ๋ฒ•

Variable Fonts ์‚ฌ์šฉ:

/* Variable Font ๋กœ๋“œ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');

/* ๋™์  weight ์กฐ์ ˆ */
.dynamic-weight {
  font-family: 'Inter', sans-serif;
  font-weight: var(--font-weight, 400);
  font-variation-settings: 'wght' var(--font-weight, 400);
}

CSS Custom Properties ํ™œ์šฉ:

:root {
  --font-primary: 'Noto Sans KR', sans-serif;
  --font-heading: 'Noto Serif KR', serif;
  --font-mono: 'Fira Code', monospace;
}

h1, h2, h3 { font-family: var(--font-heading); }
body { font-family: var(--font-primary); }
code { font-family: var(--font-mono); }

๐Ÿ›ก๏ธ๐Ÿ›ก๏ธ ์ ‘๊ทผ์„ฑ ๊ณ ๋ ค์‚ฌํ•ญ

  • ์ถฉ๋ถ„ํ•œ ๋Œ€๋น„์œจ: WCAG ๊ธฐ์ค€ 4.5:1 ์ด์ƒ
  • ์ ์ ˆํ•œ ์ค„ ๊ฐ„๊ฒฉ: 1.4~1.6 ๊ถŒ์žฅ
  • ์ฝ๊ธฐ ์‰ฌ์šด ํฐํŠธ ํฌ๊ธฐ: ์ตœ์†Œ 16px
  • dyslexia ์นœํ™”์ : OpenDyslexic ๋“ฑ ๊ณ ๋ ค

์ ‘๊ทผ์„ฑ CSS ์˜ˆ์‹œ:

.accessible-text {
  font-size: max(16px, 1rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
  word-spacing: 0.1em;
}

๐Ÿ”๐Ÿ” ๋””๋ฒ„๊น… ๋ฐ ํ…Œ์ŠคํŠธ

ํฐํŠธ ๋กœ๋”ฉ ํ™•์ธ:

  • ๊ฐœ๋ฐœ์ž ๋„๊ตฌ Network ํƒญ์—์„œ ํฐํŠธ ํŒŒ์ผ ํ™•์ธ
  • Computed ์Šคํƒ€์ผ์—์„œ ์‹ค์ œ ์ ์šฉ๋œ ํฐํŠธ ํ™•์ธ
  • font-display ๋™์ž‘ ํ…Œ์ŠคํŠธ

์„ฑ๋Šฅ ์ธก์ • ๋„๊ตฌ:

  • Google PageSpeed Insights
  • WebPageTest
  • Lighthouse ํฐํŠธ ์ตœ์ ํ™” ์ ๊ฒ€

ํฐํŠธ fallback ํ…Œ์ŠคํŠธ:

/* ๋„คํŠธ์›Œํฌ ์ฐจ๋‹จ ์‹œ fallback ํ™•์ธ */
font-family: 'Custom Font', 
             'Apple SD Gothic Neo', 
             'Malgun Gothic', 
             sans-serif;

๐Ÿ’ก๐Ÿ’ก ์‹ค๋ฌด ํ™œ์šฉ ํŒ

ํ”„๋กœ์ ํŠธ ์„ค์ •:

  • ๋””์ž์ธ ์‹œ์Šคํ…œ์— ํฐํŠธ ๊ทœ์น™ ์ •์˜
  • ํฐํŠธ ๋กœ๋”ฉ ์ „๋žต ์ˆ˜๋ฆฝ
  • fallback ํฐํŠธ ์Šคํƒ ๊ตฌ์„ฑ
  • ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ์„ค์ •

์œ ์ง€๋ณด์ˆ˜:

  • ํฐํŠธ ๋ฒ„์ „ ๊ด€๋ฆฌ
  • ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” weight ์ •๋ฆฌ
  • ์ •๊ธฐ์ ์ธ ์„ฑ๋Šฅ ์ ๊ฒ€
  • ์ƒˆ๋กœ์šด ํฐํŠธ ์—…๋ฐ์ดํŠธ ํ™•์ธ