From 9b927f65a6e5985b79e62fd556f1c0b9ae98e25f Mon Sep 17 00:00:00 2001 From: Junseong Park <39112954+jsparkdev@users.noreply.github.com> Date: Tue, 17 Mar 2026 11:28:27 +0900 Subject: [PATCH 1/4] i18n(ko-KR): update `fonts.mdx` --- src/content/docs/ko/guides/fonts.mdx | 350 ++++++++++++++++++++------- 1 file changed, 266 insertions(+), 84 deletions(-) diff --git a/src/content/docs/ko/guides/fonts.mdx b/src/content/docs/ko/guides/fonts.mdx index 44c2249dc774e..4201d1cb8ce3c 100644 --- a/src/content/docs/ko/guides/fonts.mdx +++ b/src/content/docs/ko/guides/fonts.mdx @@ -6,125 +6,307 @@ description: Astro 웹사이트에 사용자 정의 서체를 추가하려고 i18nReady: true --- import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'; -import { Steps } from '@astrojs/starlight/components' +import ReadMore from '~/components/ReadMore.astro'; +import { Steps, Tabs, TabItem } from '@astrojs/starlight/components'; -이 안내서는 프로젝트에 웹 글꼴을 추가하고 컴포넌트에서 사용하는 방법을 설명합니다. +이 안내서는 프로젝트에 [웹 글꼴](https://developer.mozilla.org/ko/docs/Learn_web_development/Core/Text_styling/Web_fonts)을 추가하고 컴포넌트에서 사용하는 방법을 설명합니다. -## 로컬 글꼴 파일 사용 +Astro는 통합되고, [완전히 사용자 정의 가능하며](/ko/reference/configuration-reference/#fonts), 타입 안정성을 갖춘 API를 통해 파일 시스템 및 다양한 글꼴 제공업체(예: Fontsource, Google)의 글꼴을 사용할 수 있는 방법을 제공합니다. -이 예시는 `DistantGalaxy.woff` 글꼴 파일을 사용하여 사용자 정의 글꼴을 추가하는 방법을 보여줍니다. +웹 글꼴은 로드 시간과 렌더링 시간 모두에서 페이지 성능에 영향을 미칠 수 있습니다. 이 API는 프리로드 링크, 최적화된 대체 글꼴, 정해진 기본값 등 자동 [웹 글꼴 최적화](https://web.dev/learn/performance/optimize-web-fonts)를 통해 사이트 성능을 유지하는 데 도움을 줍니다. [일반적인 사용 예시를 참조하세요](#예시). + +폰트 API는 글꼴을 다운로드하고 캐시하여 사이트에서 제공함으로써 성능과 개인 정보 보호에 중점을 둡니다. 이를 통해 사용자 데이터를 서드파티 사이트로 전송하는 것을 방지하고, 모든 방문자에게 일관된 글꼴 세트를 제공할 수 있습니다. + +## 사용자 정의 글꼴 구성 + +Astro 프로젝트에 사용자 정의 글꼴을 등록하는 것은 Astro 구성 파일의 [`fonts` 옵션](/ko/reference/configuration-reference/#fonts)을 통해 이루어집니다. + +사용하려는 각 글꼴에 대해 [이름](/ko/reference/configuration-reference/#fontname), [CSS 변수](/ko/reference/configuration-reference/#fontcssvariable), 그리고 Astro 글꼴 제공업체를 지정해야 합니다. + +Astro는 Adobe, Bunny, Fontshare, Fontsource, Google, Google Icons, NPM과 같은 [가장 인기 있는 글꼴 제공업체에 대한 내장 지원](/ko/reference/font-provider-reference/#built-in-providers)과 로컬 글꼴 파일 사용을 지원합니다. 또한 성능과 방문자 경험을 최적화하기 위해 [글꼴 구성을 추가로 사용자 정의할 수 있습니다](#세부적인-글꼴-구성). + + +### 로컬 글꼴 파일 사용 + +이 예시는 `DistantGalaxy.woff2` 글꼴 파일을 사용하여 사용자 정의 글꼴을 추가하는 방법을 보여줍니다. -1. `public/fonts/` 디렉터리에 글꼴 파일을 추가하세요. -2. CSS에 다음 `@font-face` 문을 추가하세요. CSS는 전역 `.css` 파일이거나, ` + + +1. [Fontsource의 카탈로그](https://fontsource.org/)에서 사용하고 싶은 글꼴을 찾으세요. 이 예시에서는 [Roboto](https://fontsource.org/fonts/roboto)를 사용합니다. + +2. Astro 설정 파일에서 [Fontsource 제공업체](/ko/reference/font-provider-reference/#fontsource)를 사용하여 새로운 글꼴 패밀리를 만듭니다. + + ```js title="astro.config.mjs" + import { defineConfig, fontProviders } from "astro/config"; + + export default defineConfig({ + fonts: [{ + provider: fontProviders.fontsource(), + name: "Roboto", + cssVariable: "--font-roboto", + }] + }); ``` +3. 이제 글꼴이 구성되었으며 프로젝트에서 사용할 수 있도록 [페이지 헤드에 추가](#사용자-정의-글꼴-적용)할 준비가 되었습니다. + -## Fontsource 사용 +## 사용자 정의 글꼴 적용 -[Fontsource](https://fontsource.org/) 프로젝트는 Google Fonts 및 기타 오픈 소스 글꼴 사용을 단순화합니다. 사용하려는 글꼴을 설치할 수 있는 npm 모듈을 제공합니다. +[글꼴이 구성된](#사용자-정의-글꼴-구성) 후에는 식별 CSS 변수와 함께 페이지 헤드에 추가해야 합니다. 그런 다음, 이 변수를 사용하여 페이지 스타일을 정의할 수 있습니다. -1. [Fontsource 카탈로그](https://fontsource.org/)에서 사용하고 싶은 글꼴을 찾아보세요. 이 예시에서는 [Twinkle Star](https://fontsource.org/fonts/twinkle-star)를 사용합니다. -2. 선택한 글꼴에 대한 패키지를 설치합니다. - - - - ```shell - npm install @fontsource/twinkle-star - ``` - - - ```shell - pnpm add @fontsource/twinkle-star - ``` - - - ```shell - yarn add @fontsource/twinkle-star - ``` - - - - :::tip - Fontsource 웹사이트의 각 글꼴 페이지에 있는 "Quick Installation" 섹션에서 올바른 패키지 이름을 찾을 수 있습니다. 패키지 이름은 `@fontsource/` 또는 `@fontsource-variable/`로 시작하고 그 뒤에 글꼴 이름이 있습니다. - ::: - -3. 글꼴을 사용하려는 컴포넌트에서 글꼴 패키지를 가져옵니다. 일반적으로 사이트 전체에서 글꼴을 사용할 수 있도록 공통 레이아웃 컴포넌트에서 이 작업을 수행할 수 있습니다. - - 가져오기는 글꼴을 설정하는 데 필요한 `@font-face` 규칙을 자동으로 추가합니다. - - ```astro title="src/layouts/BaseLayout.astro" + +1. 필요한 `cssVariable` 속성을 가진 [``](/ko/reference/modules/astro-assets/#font-) 컴포넌트를 페이지 헤드에 가져와 포함합니다. 일반적으로 전용 `Head.astro` 컴포넌트나 [레이아웃](/ko/basics/layouts/) 컴포넌트에 직접 포함합니다. + + ```astro title="src/layouts/Layout.astro" ins={2,7} --- - import '@fontsource/twinkle-star'; + import { Font } from "astro:assets"; --- + + + + + + + + + ``` -4. Fontsource 페이지의 `body` 예시에 나와있는 것처럼 `font-family` 값으로 글꼴의 이름을 사용하세요. 이는 Astro 프로젝트에서 CSS를 작성할 수 있는 모든 곳에서 작동합니다. +2. 해당 레이아웃으로 렌더링되는 모든 페이지(레이아웃 컴포넌트 자체 포함)에서 이제 글꼴의 `cssVariable`로 스타일을 정의하여 사용자 정의 글꼴을 적용할 수 있습니다. - ```css - h1 { - font-family: "Twinkle Star", cursive; - } + 다음 예시에서는 `

` 제목에 사용자 정의 글꼴이 적용되지만, 단락 `

`에는 적용되지 않습니다. + + ```astro title="src/pages/example.astro" ins={10-12} + --- + import Layout from "../layouts/Layout.astro"; + --- + +

In a galaxy far, far away...

+ +

Custom fonts make my headings much cooler!

+ + + ``` -
-웹사이트의 렌더링 시간을 최적화하기 위해 초기 페이지 표시에 필요한 글꼴을 미리 로드할 수 있습니다. -자세한 내용과 사용법은 [글꼴 사전 로드에 대한 Fontsource 가이드](https://fontsource.org/docs/getting-started/preload)를 참조하세요. +
## Tailwind에 글꼴 등록 -[Tailwind](/ko/guides/styling/#tailwind)를 사용하는 경우 이 페이지의 이전 방법 중 하나에 약간의 수정을 거쳐 글꼴을 설치할 수 있습니다. [로컬 글꼴에 대한 `@font-face` 문](#로컬-글꼴-파일-사용)을 추가하거나 [Fontsource의 `import` 전략](#fontsource-사용)을 사용하여 글꼴을 설치할 수 있습니다. +[Tailwind](/ko/guides/styling/#tailwind)를 사용하여 스타일링하는 경우, `font-face` CSS 속성으로 스타일을 적용하지 않습니다. -Tailwind에 글꼴을 등록하려면 다음 단계를 따르세요. +대신, [사용자 정의 글꼴을 구성](#사용자-정의-글꼴-구성)하고 [페이지 헤드에 추가](#사용자-정의-글꼴-적용)한 후에는 Tailwind 구성을 업데이트하여 글꼴을 등록해야 합니다. - -1. 위 안내 중 하나를 따르되, CSS에 `font-family`를 추가하는 마지막 단계는 건너뛰세요. -2. `src/styles/global.css`에 서체 이름을 추가하세요. + + + - 이 예시에서는 `Inter`를 sans-serif 글꼴 스택에 추가합니다. + ```css title="src/styles/global.css" ins={4} ins="inline" + @import "tailwindcss"; - ```css title="src/styles/global.css" ins={3-5} - @import 'tailwindcss'; - - @theme { - --font-sans: 'Inter', 'sans-serif'; + @theme inline { + --font-sans: var(--font-roboto); } ``` - 이제 프로젝트의 모든 sans-serif 글자 (Tailwind의 기본값)는 선택한 글꼴을 사용하고 `font-sans` 클래스도 Inter 글꼴을 적용합니다. - + + + + + ```js title="tailwind.config.mjs" ins={6-8} + /** @type {import("tailwindcss").Config} */ + export default { + content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], + theme: { + extend: {}, + fontFamily: { + sans: ["var(--font-roboto)"] + } + }, + plugins: [] + }; + ``` + + + + 자세한 내용은 [사용자 정의 글꼴 모음 추가에 대한 Tailwind 문서](https://tailwindcss.com/docs/font-family#using-custom-values)를 확인하세요. -## 더 많은 자료 +## 프로그래밍 방식으로 글꼴 데이터 접근 + +[`fontData`](/ko/reference/modules/astro-assets/#fontdata) 객체를 사용하면 하위 수준의 글꼴 패밀리 데이터를 프로그래밍 방식으로 가져올 수 있습니다. 예를 들어, 적절한 [형식](/ko/reference/configuration-reference/#fontformats) 구성과 결합하여 [satori](https://github.com/vercel/satori)를 사용하여 OpenGraph 이미지를 생성하기 위한 [API 라우트](/ko/guides/endpoints/#서버-엔드포인트-api-라우트)에서 사용할 수 있습니다: + +```tsx title="src/pages/og.png.ts" {2} "fontData[\"--font-roboto\"]" +import type{ APIRoute } from "astro"; +import { fontData } from "astro:assets"; +import satori from "satori"; +import { html } from "satori-html"; + +export const GET: APIRoute = async (context) => { + const data = fontData["--font-roboto"]; -- [MDN의 웹 글꼴 안내서](https://developer.mozilla.org/ko/docs/Learn/CSS/Styling_text/Web_fonts)에서 웹 글꼴이 작동하는 방식을 알아보세요. -- [Font Squirrel의 웹 글꼴 생성기](https://www.fontsquirrel.com/tools/webfont-generator)를 사용하여 글꼴에 맞는 CSS를 생성하세요. + const svg = await satori( + html`
hello, world
`, + { + width: 600, + height: 400, + fonts: [ + { + name: "Roboto", + data: await fetch( + new URL(data[0].src[0].url, context.url.origin), + ).then((res) => res.arrayBuffer()), + weight: 400, + style: "normal", + }, + ], + }, + ); + + // ... +} +``` + +## 세부적인 글꼴 구성 + +글꼴 패밀리는 굵기 및 스타일과 같은 속성(예: `weights: [500, 600]` 및 `styles: ["normal", "bold"]`)의 조합으로 정의되지만, 이 중 특정 조합만 다운로드하고 싶을 수 있습니다. + +다운로드할 글꼴 파일을 더 세부적으로 제어하려면, 동일한 글꼴(즉, 동일한 `cssVariable`, `name`, `provider` 속성)을 다른 조합으로 여러 번 지정할 수 있습니다. Astro는 결과를 병합하고 필요한 파일만 다운로드합니다. 예를 들어, 일반 `500`과 `600`을 다운로드하면서 이탤릭 `500`만 다운로드하는 것이 가능합니다. + +```js title="astro.config.mjs" +import { defineConfig, fontProviders } from "astro/config"; + +export default defineConfig({ + fonts: [ + { + name: "Roboto", + cssVariable: "--roboto", + provider: fontProviders.google(), + weights: [500, 600], + styles: ["normal"] + }, + { + name: "Roboto", + cssVariable: "--roboto", + provider: fontProviders.google(), + weights: [500], + styles: ["italic"] + } + ] +}); +``` + +## 캐싱 + +폰트 API의 캐싱 구현은 개발 환경에서는 실용적이고 프로덕션 환경에서는 효율적이도록 설계되었습니다. 빌드 중에는 폰트 파일이 `_astro/fonts` 출력 디렉터리로 복사되어 정적 자산의 HTTP 캐싱(일반적으로 1년) 혜택을 받을 수 있습니다. + +개발 환경에서 캐시를 지우려면 `.astro/fonts` 디렉터리를 제거하세요. 빌드 캐시를 지우려면 `node_modules/.astro/fonts` 디렉터리를 제거하세요. + +## 예시 + +Astro의 폰트 기능은 유연한 구성 옵션을 기반으로 합니다. 프로젝트의 폰트 구성은 단순화된 예시와 다를 수 있으므로, 프로덕션 환경에서 다양한 폰트 구성이 어떻게 보이는지 보여주기 위해 다음 예시가 제공됩니다. + +```js title="astro.config.mjs" +import { defineConfig, fontProviders } from "astro/config"; + +export default defineConfig({ + fonts: [ + { + name: "Roboto", + cssVariable: "--font-roboto", + provider: fontProviders.google(), + // 기본 포함: + // weights: [400] , + // styles: ["normal", "italic"], + // subsets: ["latin"], + // fallbacks: ["sans-serif"], + // formats: ["woff2"], + }, + { + name: "Inter", + cssVariable: "--font-inter", + provider: fontProviders.fontsource(), + // 실제로 사용되는 굵기를 지정합니다. + weights: [400, 500, 600, 700], + // 실제로 사용되는 스타일을 지정합니다. + styles: ["normal"], + // 페이지에서 사용되는 문자 전용 글꼴 파일만 다운로드합니다. + subsets: ["latin", "cyrillic"], + // 더 많은 글꼴 형식을 다운로드합니다. + formats: ["woff2", "woff"], + }, + { + name: "JetBrains Mono", + cssVariable: "--font-jetbrains-mono", + provider: fontProviders.fontsource(), + // 페이지에서 사용되는 문자 전용 글꼴 파일만 다운로드합니다. + subsets: ["latin", "latin-ext"], + // 의도한 모양과 일치하는 대체 글꼴 패밀리를 사용합니다. + fallbacks: ["monospace"], + }, + { + name: "Poppins", + cssVariable: "--font-poppins", + provider: fontProviders.local(), + options: { + // 굵기와 스타일이 지정되지 않았으므로 + // Astro가 각 변형에 대해 이를 추론하려고 시도합니다. + variants: [ + { + src: [ + "./src/assets/fonts/Poppins-regular.woff2", + "./src/assets/fonts/Poppins-regular.woff", + ] + }, + { + src: [ + "./src/assets/fonts/Poppins-bold.woff2", + "./src/assets/fonts/Poppins-bold.woff", + ] + }, + ] + } + } + ], +}); From d84243ef1751b131f802d13020bd22420588f91b Mon Sep 17 00:00:00 2001 From: Junseong Park <39112954+jsparkdev@users.noreply.github.com> Date: Tue, 17 Mar 2026 20:30:45 +0900 Subject: [PATCH 2/4] update --- src/content/docs/ko/guides/fonts.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/content/docs/ko/guides/fonts.mdx b/src/content/docs/ko/guides/fonts.mdx index 4201d1cb8ce3c..033e070d6d1e6 100644 --- a/src/content/docs/ko/guides/fonts.mdx +++ b/src/content/docs/ko/guides/fonts.mdx @@ -62,7 +62,7 @@ Astro는 Adobe, Bunny, Fontshare, Fontsource, Google, Google Icons, NPM과 같 Astro는 Google Fonts 및 기타 오픈 소스 글꼴 사용을 간소화하는 [Fontsource](https://fontsource.org/) 지원을 포함하여 [여러 글꼴 제공업체](/ko/reference/font-provider-reference/#built-in-providers)를 기본으로 지원합니다. -다음 예시에서는 Fontsource를 사용하여 사용자 정의 글꼴 지원을 추가하는 방법을 보여주지만, Astro의 내장 글꼴 제공업체(예: [Adobe](https://fonts.adobe.com/), [Bunny](https://fonts.bunny))에서도 과정은 비슷합니다. +다음 예시에서는 Fontsource를 사용하여 사용자 정의 글꼴 지원을 추가하는 방법을 보여주지만, Astro의 내장 글꼴 제공업체(예: [Adobe](https://fonts.adobe.com/), [Bunny](https://fonts.bunny.net/))에서도 과정은 비슷합니다. @@ -145,7 +145,7 @@ Astro는 Google Fonts 및 기타 오픈 소스 글꼴 사용을 간소화하는 @import "tailwindcss"; @theme inline { - --font-sans: var(--font-roboto); + --font-sans: var(--font-roboto); } ``` @@ -156,14 +156,14 @@ Astro는 Google Fonts 및 기타 오픈 소스 글꼴 사용을 간소화하는 ```js title="tailwind.config.mjs" ins={6-8} /** @type {import("tailwindcss").Config} */ export default { - content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], - theme: { + content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], + theme: { extend: {}, fontFamily: { - sans: ["var(--font-roboto)"] + sans: ["var(--font-roboto)"] } - }, - plugins: [] + }, + plugins: [] }; ``` @@ -171,7 +171,7 @@ Astro는 Google Fonts 및 기타 오픈 소스 글꼴 사용을 간소화하는 -자세한 내용은 [사용자 정의 글꼴 모음 추가에 대한 Tailwind 문서](https://tailwindcss.com/docs/font-family#using-custom-values)를 확인하세요. +자세한 내용은 [사용자 정의 글꼴 모음 추가에 대한 Tailwind 문서](https://tailwindcss.com/docs/font-family#using-a-custom-value)를 확인하세요. ## 프로그래밍 방식으로 글꼴 데이터 접근 From 2b759ae48badb3f374ec74e5e48ceec33d58fadb Mon Sep 17 00:00:00 2001 From: Junseong Park <39112954+jsparkdev@users.noreply.github.com> Date: Wed, 18 Mar 2026 10:12:35 +0900 Subject: [PATCH 3/4] update --- src/content/docs/ko/guides/fonts.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/ko/guides/fonts.mdx b/src/content/docs/ko/guides/fonts.mdx index 033e070d6d1e6..517508d20f5ce 100644 --- a/src/content/docs/ko/guides/fonts.mdx +++ b/src/content/docs/ko/guides/fonts.mdx @@ -100,7 +100,7 @@ Astro는 Google Fonts 및 기타 오픈 소스 글꼴 사용을 간소화하는 - + From 91a834503c02a035f3f5f10bb3ed7461222e53a1 Mon Sep 17 00:00:00 2001 From: Junseong Park <39112954+jsparkdev@users.noreply.github.com> Date: Wed, 18 Mar 2026 12:03:04 +0900 Subject: [PATCH 4/4] Remove precise anchors from links to temporarily fix errors --- src/content/docs/ko/guides/fonts.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/content/docs/ko/guides/fonts.mdx b/src/content/docs/ko/guides/fonts.mdx index 517508d20f5ce..c9173ad890517 100644 --- a/src/content/docs/ko/guides/fonts.mdx +++ b/src/content/docs/ko/guides/fonts.mdx @@ -11,7 +11,7 @@ import { Steps, Tabs, TabItem } from '@astrojs/starlight/components'; 이 안내서는 프로젝트에 [웹 글꼴](https://developer.mozilla.org/ko/docs/Learn_web_development/Core/Text_styling/Web_fonts)을 추가하고 컴포넌트에서 사용하는 방법을 설명합니다. -Astro는 통합되고, [완전히 사용자 정의 가능하며](/ko/reference/configuration-reference/#fonts), 타입 안정성을 갖춘 API를 통해 파일 시스템 및 다양한 글꼴 제공업체(예: Fontsource, Google)의 글꼴을 사용할 수 있는 방법을 제공합니다. +Astro는 통합되고, [완전히 사용자 정의 가능하며](/ko/reference/configuration-reference/), 타입 안정성을 갖춘 API를 통해 파일 시스템 및 다양한 글꼴 제공업체(예: Fontsource, Google)의 글꼴을 사용할 수 있는 방법을 제공합니다. 웹 글꼴은 로드 시간과 렌더링 시간 모두에서 페이지 성능에 영향을 미칠 수 있습니다. 이 API는 프리로드 링크, 최적화된 대체 글꼴, 정해진 기본값 등 자동 [웹 글꼴 최적화](https://web.dev/learn/performance/optimize-web-fonts)를 통해 사이트 성능을 유지하는 데 도움을 줍니다. [일반적인 사용 예시를 참조하세요](#예시). @@ -19,9 +19,9 @@ Astro는 통합되고, [완전히 사용자 정의 가능하며](/ko/reference/c ## 사용자 정의 글꼴 구성 -Astro 프로젝트에 사용자 정의 글꼴을 등록하는 것은 Astro 구성 파일의 [`fonts` 옵션](/ko/reference/configuration-reference/#fonts)을 통해 이루어집니다. +Astro 프로젝트에 사용자 정의 글꼴을 등록하는 것은 Astro 구성 파일의 [`fonts` 옵션](/ko/reference/configuration-reference/)을 통해 이루어집니다. -사용하려는 각 글꼴에 대해 [이름](/ko/reference/configuration-reference/#fontname), [CSS 변수](/ko/reference/configuration-reference/#fontcssvariable), 그리고 Astro 글꼴 제공업체를 지정해야 합니다. +사용하려는 각 글꼴에 대해 [이름](/ko/reference/configuration-reference/), [CSS 변수](/ko/reference/configuration-reference/), 그리고 Astro 글꼴 제공업체를 지정해야 합니다. Astro는 Adobe, Bunny, Fontshare, Fontsource, Google, Google Icons, NPM과 같은 [가장 인기 있는 글꼴 제공업체에 대한 내장 지원](/ko/reference/font-provider-reference/#built-in-providers)과 로컬 글꼴 파일 사용을 지원합니다. 또한 성능과 방문자 경험을 최적화하기 위해 [글꼴 구성을 추가로 사용자 정의할 수 있습니다](#세부적인-글꼴-구성). @@ -91,7 +91,7 @@ Astro는 Google Fonts 및 기타 오픈 소스 글꼴 사용을 간소화하는 -1. 필요한 `cssVariable` 속성을 가진 [``](/ko/reference/modules/astro-assets/#font-) 컴포넌트를 페이지 헤드에 가져와 포함합니다. 일반적으로 전용 `Head.astro` 컴포넌트나 [레이아웃](/ko/basics/layouts/) 컴포넌트에 직접 포함합니다. +1. 필요한 `cssVariable` 속성을 가진 [``](/ko/reference/modules/astro-assets/) 컴포넌트를 페이지 헤드에 가져와 포함합니다. 일반적으로 전용 `Head.astro` 컴포넌트나 [레이아웃](/ko/basics/layouts/) 컴포넌트에 직접 포함합니다. ```astro title="src/layouts/Layout.astro" ins={2,7} --- @@ -175,7 +175,7 @@ Astro는 Google Fonts 및 기타 오픈 소스 글꼴 사용을 간소화하는 ## 프로그래밍 방식으로 글꼴 데이터 접근 -[`fontData`](/ko/reference/modules/astro-assets/#fontdata) 객체를 사용하면 하위 수준의 글꼴 패밀리 데이터를 프로그래밍 방식으로 가져올 수 있습니다. 예를 들어, 적절한 [형식](/ko/reference/configuration-reference/#fontformats) 구성과 결합하여 [satori](https://github.com/vercel/satori)를 사용하여 OpenGraph 이미지를 생성하기 위한 [API 라우트](/ko/guides/endpoints/#서버-엔드포인트-api-라우트)에서 사용할 수 있습니다: +[`fontData`](/ko/reference/modules/astro-assets/) 객체를 사용하면 하위 수준의 글꼴 패밀리 데이터를 프로그래밍 방식으로 가져올 수 있습니다. 예를 들어, 적절한 [형식](/ko/reference/configuration-reference/) 구성과 결합하여 [satori](https://github.com/vercel/satori)를 사용하여 OpenGraph 이미지를 생성하기 위한 [API 라우트](/ko/guides/endpoints/#서버-엔드포인트-api-라우트)에서 사용할 수 있습니다: ```tsx title="src/pages/og.png.ts" {2} "fontData[\"--font-roboto\"]" import type{ APIRoute } from "astro";