Summary
- 글리프 디자인 방법 스킬.
- SVG 글리프 좌표계·경로 규약, 획 구성법, 시각 보정 원리, 디자인 언어 스펙(JSON) 포맷, 자가 검증 체크리스트를 제공. 자모·음절·라틴 글리프를 SVG로 그리거나 수정하는 모든 작업 전에 반드시 이 스킬을 읽을 것.
revfactory/font-harness · Archived
글리프 디자인 방법 스킬. SVG 글리프 좌표계·경로 규약, 획 구성법, 시각 보정 원리, 디자인 언어 스펙(JSON) 포맷, 자가 검증 체크리스트를 제공. 자모·음절·라틴 글리프를 SVG로 그리거나 수정하는 모든 작? 전에 반드시 이 스킬을 읽을 것.
npx skills add revfactory/font-harness --skill glyph-design
This repository is archived — consider an actively maintained alternative.
한글 폰트 제작 하네스 오케스트레이터. 콘? 요청 시 반드시 이 스킬을 사용할 것. 폰트와 무관한 일…
1 installs한글 모아쓰기 구조 지식 스킬. 자모 체계(초성 19·중성 21·?
1 installs폰트 시안(스펙시멘) 페이지 제작 스킬. 글리프 SVG를 모아 피드백용 HTML 시안을 만들고 Artifact로 …
1 installs폰트 빌드·릴리스 스킬. SVG 글리프를 fontTools로 컴파일해 설치 가능한 TTF 폰트 파일을 생성 — 번…
1 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existi…
866.4K installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsDebug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe …
568.9K installsOther skills from revfactory/font-harness.
npx skills add revfactory/font-harness
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Parsed from SKILL.md frontmatter.
Files included with this skill beyond the listing page.
SKILL.md
5,233 B
SUMMARY.md
336 B
모든 글리프는 이 규약을 따라야 폰트로 컴파일된다. 규약 위반은 빌드 단계에서 조용히 사라지는 버그가 된다.
자모 조합 시스템이 구축된 콘셉트(천지인)에서는 개별 음절 SVG를 직접 그리거나 고치지 말 것. 자모 정의(JSON)를 수정하고 재생성하라 — hangul-composition 스킬의 "자모 조합 시스템" 섹션 참조. 이 문서의 SVG 규약은 신규 콘셉트 탐색·시스템이 없는 글리프(라틴 등)에 적용된다. 시스템 엔진의 출력도 이 규약을 따른다.
<svg viewBox="0 0 1000 1000">, y축은 아래로 증가 (SVG 표준)y' = 880 − y로 폰트 좌표(y-up)로 변환된다 — 디자이너는 신경 쓸 필요 없음stroke 속성 금지. 이유: 폰트 글리프는 채워진 아웃라인만 존재한다. stroke로 그린 획은 컴파일 시 완전히 사라진다. 획은 반드시 두께를 가진 닫힌 도형으로 그린다.<path> 요소만 사용한다. <rect> <circle> <g> transform 속성 <defs> <use> 금지 — 컴파일러가 path의 d 속성만 읽는다.fill="currentColor"를 지정한다 — 시안 페이지의 다크/라이트 테마 대응.프리핸드 곡선을 즉흥으로 그리지 말고, 스켈레톤 → 아웃라인 순서로 작업한다:
M {c-w/2} y1 L {c+w/2} y1 L {c+w/2} y2 L {c-w/2} y2 Z명시적 좌표 계산이 어림짐작보다 항상 낫다. 각 획의 좌표를 주석이 아닌 숫자로 확정하고 그려라.
| 현상 | 보정 |
|---|---|
| 곡선·사선은 같은 크기여도 작아 보임 | 오버슈트: 기준선을 1.5~2.5% 넘겨 그림 (ㅇ·ㅅ 등) |
| 수평획은 수직획과 같은 굵기여도 굵어 보임 | 수평획을 6~10% 가늘게 |
| 획이 많은 글자(ㅃ·겹받침)는 검게 뭉침 | 해당 글리프만 굵기 5~15% 축소 (밀도 보정) |
| 획 교차부가 뭉쳐 보임 | 교차부에서 한쪽 획을 살짝 가늘게 (잉크트랩적 처리) |
적용한 보정값은 manifest.json에 기록해 다른 디자이너가 같은 논리를 재사용하게 한다.
콘셉트마다 concept.md에 아래 JSON을 포함한다. 모든 디자이너는 이 값을 공유 상수로 사용한다:
{
"concept": "콘셉트명",
"unitsPerEm": 1000,
"strokeMain": 90,
"strokeHorizontalRatio": 0.92,
"contrast": 1.0,
"terminals": "round | flat | cut | ...",
"joins": "miter | round | 콘셉트 고유 규칙",
"counters": "open | closed",
"primitives": ["콘셉트를 구성하는 기본 도형/획 단위"],
"rules": ["형태 규칙을 문장으로 — 예: 모든 획의 시작은 원호로 연다"],
"unresolved": ["아직 규칙이 성립하지 않는 블록 유형/자모"]
}
좌표 검산만으로는 오독을 못 잡는다 (예: 브리지 위치가 다른 자모의 곁줄기로 읽히는 경우). 번들 스크립트로 렌더링해 눈으로 확인하라:
python3 .claude/skills/glyph-design/scripts/render_contactsheet.py _workspace/concepts/{콘셉트}/glyphs --out sheet.png
생성된 PNG를 Read 도구로 열어 각 글자가 의도한 음절로 읽히는지 확인한다.
grep stroke *.svg로 확인)