AI 70+ 연구원
미래를 준비하자! 설 땅이 없다
[AI FONT] : 지능형 서체 합성 및 청정 뼈대(스켈레톤) 추출 최종 출고 교과서 (시리즈8)
[학습 가이드] INTELLIGENT CHARACTER SYNTHESIS & SKELETON MAPPING
자음·모음 구조적 통합과 주변부 파편 소거 마감 공정
구글 코랩 연산 가마에서 분리되어 있던 가로, 세로, 곡선, 사선 획들을 하나의 가상 공간 안에 유기적으로 조립하는 지능형 서체 합성 단계입니다. AI 가마가 자음과 모음의 조형적 균형을 스스로 연산하여 단단한 글자 구조를 만들고, 연산 과정에서 발생한 주변부의 미세한 하얀 먼지 잔상(노이즈)들을 수학적 마스크(Mask) 필터링으로 완벽하게 소거하는 고도화 공정을 실현했습니다.
초기 단계의 안개 같은 회색빛 아지랑이를 한 칼에 베어내고, 오직 글자의 중심축이 되는 단단한 뼈대(스켈레톤)선만 칠흑 같은 공간 속에 또렷하게 남겨 보따리로 패킹하는 감격적인 최종 마감 순간을 실전 코드와 스캔 이미지로 만나보겠습니다.
🗺️ AI 폰트 마스터 학습 로드맵 (Roadmap)
- Step 1. 지능형 획 결합: 낱개로 분리된 다형성 획들을 하나의 유기적 글자 구조로 합성 완료
- Step 2. 지능형 스켈레톤 추출: 형태학적 필터를 활용해 글자의 중심 뼈대선 정밀 스캔 및 고정
- Step 3. 청정 외곽선 필터링: 뼈대 주변부의 지저분한 하얀 파편 먼지를 수학적 마스크로 100% 소거
- Step 4. 마스터피스 종합 스캔: 배경 노이즈가 완벽히 차단된 무결점 청정 뼈대 서체의 최종 검수
- Step 5. 무결점 통합 패킹 및 배송: PNG 파일 변환 및 최종 마스터 ZIP 보따리 실제 PC 다운로드 준비 완료
🟢 STAGE 8 : 지능형 서체 합성 및 청정 뼈대 추출 마스터 파이프라인
코랩 공책 맨 아래에 + 코드 창을 추가하며 최종 고도화 자동화 스위치를 차례대로 온(ON) 해주십시오.
💡 [필수 체크] 구글 드라이브 보안 통문 개방하기
압축 명령을 내릴 때 코랩 화면에 “노트북에서 Google Drive 파일에 액세스하도록 허용하시겠습니까?”라는 승인 팝업창이 뜨면 당황하지 마시고 오른쪽 아래의 [Google Drive에 연결] 버튼을 클릭한 뒤, 이어서 계정 승인 창에서 [허용]을 선택해 주어야 일꾼이 창고 문을 열고 정상적으로 포장을 시작합니다.
1단계. 지능형 획 결합 및 중심 뼈대(스켈레톤) 추출
분리되어 있던 획들을 하나의 구조로 연결하고, 외곽의 펑퍼짐한 살점들을 다이어트하듯 깎아내어 일정한 굵기를 가진 순수 중심축 선을 끄집어내는 매핑 스크립트입니다.
# 지능형 획 합성 및 형태학적 뼈대 스캔 연산
import torch
import torch.nn as nn
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
IMAGE_SIZE = 256
# 가우시안 커널 기반 필터를 3회 반복 적용하여 형태학적 뼈대선 추출
for _ in range(3):
skeleton_line = torch.nn.functional.conv2d(skeleton_line, kernel_2d, padding=padding)
print("🟢 [성공] 지능형 스켈레톤 추출 완료: 구조적 중심 축 확인 완료")
🎬 [AI 시각화 매칭] 뼈대 추출 필터로 인해 초기 노이즈 파편(하얀 먼지)이 함께 증폭되어 나타난 1차 스캔 상태
[여기에 image_68fe5f.png 이미지 삽입 / 글자의 중심축 뼈대는 잡혔으나
배경 안개 잔상이 하얀 점 파편 형태로 사방에 깔려 있는 필터링 전 단계]
2단계. 청정 영역 마스킹 필터링 및 최종 마스터 보따리 출고
원본 글자 행렬을 마스크 지도로 삼아 영역 밖의 하얀 먼지들을 원천 소거하고, 칠흑 같은 청정 배경 위에 명품 뼈대만 남겨 `font_master_perfect_8.zip` 상자로 출고하는 피날레 스크립트입니다.
# 수학적 마스크 영역 연산을 통한 하얀 먼지 파편 소거
clean_mask = torch.where(raw_character > -0.5, torch.tensor(1.0), torch.tensor(0.0))
final_clean_font = clean_skeleton * clean_mask
# 배경 구역은 완전한 검은색(-1.0)으로 완벽 소거 처리
final_clean_font = torch.where(clean_mask == 0, torch.tensor(-1.0), final_clean_font)
print("[최종 완료] 청정 필터링 마감 및 마스터 보따리 'font_master_perfect_8.zip' 출고 완료!")
🎬 [AI 시각화 매칭] 사방의 흙먼지를 완전히 걷어내고 정갈하게 완성된 시리즈 8 마스터피스 청정 뼈대 서체
[여기에 image_690678.png 이미지 삽입 / 하얀 먼지 파편들이 단 1픽셀도 남지 않고
소거되어 칠흑 같은 공간 속에 순수 중심 뼈대만 굳건히 서 있는 최종 완료 상태]
📌 STAGE 8 마스터의 완벽 출고 핵심 포인트
- 유기적 구조 합성: 따로 흩어져 돌던 개별 획들을 하나의 256 연산 가마 안에서 결합하여 완벽한 하나의 ‘글자 조형미’를 정립했습니다.
- 청정 스켈레톤 제어: 가우시안 중심축 필터 and 영역 마스킹을 결합해 초기 연산 먼지를 100% 소거하고 일관된 굵기의 견고한 뼈대를 확보했습니다.
- 📥 최종 창고 확인: 코랩 왼쪽 메뉴판 열쇠(🔑) 아이콘 바로 밑의 ‘파일’ 방에서
font_master_perfect_8.zip보따리의 점 3개(⋮)를 눌러 실제 다운로드하시면 최종 출고가 완료됩니다. (학습자용 이정표)
📚 폰트마스터 시리즈 다시보기 (Navigation)
- 시리즈 1편: Generative AI 폰트 자동화 생성 엔진의 서막
- 시리즈 2편: 나노 단위 폰트 표본 데이터 가마 정제 요령
- 시리즈 3편: 인공지능 레이어(Generator) 설계도 매커니즘
- 시리즈 4편: GPU 고속 가속 장치 가동 및 오류 해결 지름길
- 시리즈 5편: 압축 보따리 로컬 드론 다운로드 파일 공정 성공
- 시리즈 6편: 256 고해상도 고도화 Epoch 및 칼날 선명도 검수 교과서
- 시리즈 7편: 다각화 서체 규칙 주입 및 선명도 임계치 필터링 제어 교과서
- 시리즈 8편: 지능형 서체 합성 및 청정 뼈대(스켈레톤) 추출 교과서 [현재 글]
STAGE 01. 60개의 원도, 이제 AI 실험을 시작한다
52개의 원도에서 시작해 최종 60개의 원도로 다시 다듬었다.
이제는 더 이상 원도를 늘리지 않는다.
이제부터는 이 60개의 글자가 AI와 함께 어디까지 갈 수 있는지 확인해 볼 차례다.
“드디어 첫 번째 실험이 시작된다.”
프롤로그 — 이제 정말 AI에게 원도를 보여준다 🤖
이상하게도 새로운 서체를 시작할 때마다 가슴이 설렌다.
하지만 이번에는 설렘만 있는 것이 아니다.
마음 한쪽에는 조심스러운 두려움이 있다.
나는 이미 한 번 경험했다.
AI에게 서체 제작을 맡겨보고, 나름대로 열심히 준비하고,
많은 시간을 투자하고, 수없이 결과를 수정했다.
처음에는 조금만 더 수정하면 될 것 같았다.
한 글자만 고치면 될 것 같았고,
원도를 조금 더 만들면 될 것 같았고,
AI에게 설명을 조금 더 자세하게 하면 될 것 같았다.
그러나 어느 순간 깨달았다.
“내가 지금 앞으로 가고 있는 것인가?
아니면 계속 제자리에서 맴돌고 있는 것인가?”
결국 많은 시간과 노력과 정렬을 소비한 뒤,
나는 다시 원점으로 돌아왔다.
그것은 단순한 실패가 아니었다.
다시 시작하는 데 필요한 용기까지 빼앗아 가는 경험이었다.
그래서 이번에는 다르게 시작한다.
“일단 내가 만든 원도를 AI에게 직접 보여주자.”
01. 이제 원도를 더 만들지 않는다
처음에는 원도가 많으면 많을수록 AI가 서체를 더 잘 이해할 것이라고 생각했다.
초성도 더 많이 보여주고,
중성도 더 많이 보여주고,
종성도 더 많이 보여주면
AI가 공통적인 구조와 규칙을 발견하기 쉬울 것 같았다.
하지만 원도를 하나 더 만드는 데에도 상당한 시간이 필요하다.
그리고 원도를 계속 늘리는 일이 반드시 AI의 이해도를 높인다고 장담할 수도 없다.
그래서 이번 프로젝트에서는 중요한 결정을 내렸다.
🧠 이제는 ‘추가 제작’보다 ‘실험’이 먼저다
최종적으로 다듬은 원도는 60자다.
이제 당분간 원도를 더 만들지 않는다.
이미 만들어 놓은 60개의 원도가 실제로 AI에게 어떤 정보를 제공할 수 있는지 먼저 확인한다.
02. 60개의 원도에는 이미 설계 규칙이 들어 있다
연구원이 만든 60개의 원도는 단순히 글자를 하나씩 그려 놓은 자료가 아니다.
모든 글자는 Adobe Illustrator에서 일정한 모눈 구조를 기준으로 설계되었다.
기본 작업 영역은
가로 52칸 × 세로 59칸이다.
그 안에서 초성, 중성, 종성이 글자 유형에 따라 서로 다른 공간을 차지한다.
세로 방향에서도 모든 글자가 똑같은 위치에 맞춰지는 것은 아니다.
초성과 중성이 들어가는 영역과 받침이 들어가는 영역은
자소의 형태와 글자 조합에 따라 가변적으로 배분된다.
예를 들어 ‘갈’처럼 받침 ‘ㄹ’이 넓은 공간을 필요로 하는 경우에는
받침 영역을 충분히 확보해야 한다.
그렇다면 위쪽의 ‘가’는 상대적으로 공간을 절약하면서 배치해야 한다.
💡 중요한 발견
이 서체의 핵심은 단순히 글자의 외형에만 있는 것이 아니다.
초성·중성·종성이 하나의 글자 안에서 차지하는 공간을 어떻게 조절하는가 역시 중요한 설계 원리다.
03. AI에게 규칙을 알려주는 이유
AI에게 60개의 원도만 보여주면 AI는 나름대로 공통점을 찾아낼 것이다.
하지만 여기에는 위험이 있다.
AI가 연구원의 의도와 다른 방식으로 원도를 해석할 수도 있기 때문이다.
AI는 원도를 보고 이렇게 판단할 수도 있다.
“이 글자들은 대체로 이런 모양의 스텐실 글자구나.
그렇다면 비슷한 모양으로 만들어 보자.”
하지만 연구원이 원하는 것은 단순히 ‘비슷하게 생긴 글자’가 아니다.
연구원이 만든 서체의 고유한 설계 원리를 유지하면서
새로운 글자를 만들어 내는 것이다.
🤖 AI에게 가르쳐야 할 것
- 원도의 외형
- 초성·중성·종성의 공간 배분
- 스텐실 브리지의 적용 원칙
- 브리지의 방향과 위치
- 글자 유형에 따른 가변적인 설계
- 새로운 글자를 만들 때 기존 원칙을 유지하는 방법
AI가 단순히 ‘비슷하게’ 만드는 것이 아니라,
같은 설계 원칙으로 새로운 글자를 만들 수 있는지 확인하는 것이 이번 실험의 목적이다.
04. 현재까지 발견한 스텐실 브리지 규칙
연구원은 60개의 원도를 만들면서 스텐실 서체에 적용되는 규칙을 하나씩 정리하고 있다.
현재까지 확인된 규칙은 다음과 같다.
📐 현재 정리된 브리지 규칙
① 스텐실 브리지를 적용하는 자음
ㄷ, ㄹ, ㅁ, ㅂ, ㅅ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ
② 스텐실 브리지를 적용하는 모음
ㅑ, ㅕ, ㅔ, ㅐ, ㅖ, ㅒ
모음의 브리지는 모두 가로 브리지다.
③ 세로 브리지를 사용하는 자음
ㄷ, ㄹ, ㅁ, ㅂ, ㅇ, ㅎ
④ 가변적인 자음
ㅅ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ은 글자 유형과 조합에 따라 가변적으로 판단한다.
하지만 이 규칙이 아직 완성된 것은 아니다.
앞으로 실제 글자를 만들고 AI의 결과를 확인하면서
새로운 규칙이 발견될 수도 있다.
⚠️ 규칙은 완성된 정답지가 아니다
지금까지 발견한 규칙을 가지고 먼저 실험한다.
실험하면서 AI가 잘못 이해하는 부분을 찾는다.
그리고 그 실패를 다시 새로운 규칙으로 정리한다.
05. 규칙을 완벽하게 만든 뒤에 시작할 것인가?
여기에서 또 하나의 고민이 생긴다.
규칙을 만드는 것은 중요하다.
그렇다면 모든 규칙을 완벽하게 정리할 때까지 AI 실험을 미뤄야 할까?
나는 그렇게 하지 않기로 했다.
글자를 만든다
문제를 찾는다
원인을 찾는다
원칙을 기록한다
다음 글자에 적용한다
“규칙을 만들면서 실험한다.
실험하면서 새로운 규칙을 발견한다.”
06. 첫 번째 AI 실험은 대표 5자로 시작한다
60개의 원도를 모두 준비했다고 해서 처음부터 60자 전체를 AI에게 맡길 필요는 없다.
오히려 첫 번째 실험은 작게 시작하는 것이 좋다.
먼저 60개의 원도를 전체적으로 분석한 뒤,
그 가운데 이 서체의 구조적 특징을 가장 잘 보여주는 대표 5자를 선정한다.
🧪 첫 번째 AI 실험
① 60개의 PNG 원도를 전체적으로 확인한다.
② 초성·중성·종성의 구성과 스텐실 구조를 분석한다.
③ 첫 번째 실험에 적합한 대표 5자를 선정한다.
④ AI가 원도를 어떻게 이해하는지 확인한다.
⑤ AI가 이해한 규칙을 검토한다.
⑥ AI가 새로운 글자를 만들어 보도록 한다.
⑦ 결과를 원도와 비교하고 실패 원인을 분석한다.
첫 번째 실험의 질문은 명확하다.
“AI는 연구원이 만든 60개의 원도에서
스텐실 서체의 고유한 설계 원칙을 이해할 수 있는가?”
07. 원본 60자는 PC에 그대로 보관한다
현재 단계에서는 원본 60자를 연구원의 PC에 그대로 보관한다.
원본 파일은 앞으로 진행될 모든 실험의 기준이 된다.
따라서 원본을 직접 수정하지 않고,
필요한 경우 복사본을 만들어 실험용으로 사용한다.
🔒 원본 60자는 안전하게 보존한다
- 원본 PNG는 그대로 보존한다.
- 원본 파일은 직접 수정하지 않는다.
- 실험이 필요하면 복사본을 사용한다.
- 원본과 실험 데이터를 분리한다.
- SVG 변환은 나중에 진행한다.
그리고 지금은 Google Drive에 올리는 것보다 먼저
이 대화에서 60개의 원도를 직접 확인하고 분석하는 것이 우선이다.
08. 이제 60개의 PNG 원도를 하나의 ZIP으로 준비한다
드디어 첫 번째 실험을 위한 실제 준비 단계다.
연구원의 PC에 있는 60개의 PNG 원도를 하나의 폴더에 정리한다.
그리고 그 폴더를 ZIP 파일로 압축한다.
📁 지금 준비할 파일
파일 형식: ZIP
포함 파일: 최종 60개의 PNG 원도
원본: 연구원님의 PC에 그대로 보관
목적: AI 실험을 위해 60개의 원도를 한 번에 확인하고 분석하기 위한 준비
이 단계에서는 아직 SVG로 변환하지 않는다.
아직 폰트 제작 프로그램을 결정하지도 않는다.
지금 가장 먼저 해야 할 일은 단 하나다.
“내가 만든 60개의 원도를 먼저 AI가 직접 보게 하자.”
09. 아직 SVG 변환은 서두르지 않는다
현재 60개의 원도는 PNG다.
최종적으로 폰트를 만들려면 벡터 기반의 글리프 데이터가 필요할 가능성이 높다.
하지만 지금 당장 SVG로 변환할 필요는 없다.
지금 가장 중요한 것은 원본을 안전하게 보존하는 것이다.
🔒 원본은 그대로 둔다
60개의 PNG 원도는 이 프로젝트의 출발점이다.
원본을 보존한 상태에서 실험하고,
필요한 경우 나중에 SVG나 다른 벡터 형식으로 변환한다.
10. 이번에는 AI에게 프로젝트를 맡기지 않는다
정확히 말하면,
AI에게 모든 것을 맡기지 않는다.
AI는 이 프로젝트의 주인이 아니다.
서체의 최종 판단은 연구원이 한다.
AI는 연구원을 대신하는 디자이너가 아니라,
함께 문제를 해결하는 연구 도구가 되어야 한다.
사람의 설계 의도
+
AI의 분석 능력
+
벡터·폰트 제작 기술
이 세 가지를 연결하는 것이 이번 프로젝트의 목표다.
🧠 이번 프로젝트의 핵심 원칙
AI가 결과를 만들더라도,
그 결과를 그대로 받아들이지 않는다.
AI가 왜 그렇게 만들었는지 확인한다.
그리고 연구원이 만든 원도와 규칙에 맞는지를 직접 검증한다.
11. 드디어 첫 번째 AI 실험이 시작된다
이제 연구원은 60개의 원도를 준비했다.
그리고 원도에 담긴 설계 규칙을 하나씩 정리하기 시작했다.
AI에게 무엇을 가르쳐야 하는지도 조금씩 명확해지고 있다.
하지만 아직 가장 중요한 질문에는 답하지 못했다.
60개의 원도에서 대표 5자를 선택한다
AI는 이 원도들을 보고
연구원의 스텐실 설계 의도를 이해할 수 있을 것인가?
어쩌면 이 프로젝트는 성공할 수도 있고,
중간에 또 다른 벽을 만날 수도 있다.
그러나 이번에는 한 가지 약속을 했다.
처음부터 끝까지 모든 과정을 기록하겠다.
60개의 원도에서 시작해서,
한 글자씩 만들어 보고,
실패하고,
다시 고치고,
규칙을 발견하고,
AI와 논쟁하고,
결국 하나의 폰트가 탄생하는 순간까지.
이제 더 이상 준비만 하지 않는다.
드디어 AI에게 60개의 원도를 보여준다.
AI 기반 한글 스텐실 서체 개발 프로젝트
60개의 원도에서 시작하여, 하나의 폰트가 완성될 때까지.
AI에게 새로운 한글 글자를 만들어 보라고 했다
60개의 원도에서 대표 글자를 선택하고,
AI에게 새로운 글자를 만들어 보라고 했다.
그리고 처음으로 생성된 글자를
내 눈으로 직접 검수했다.
프롤로그 — 드디어 첫 번째 결과물이 나왔다 🤖
60개의 원도를 준비했다.
원도의 구조를 분류했다.
잘못 분류된 글자를 다시 검수했다.
그리고 이제,
드디어 AI에게 새로운 글자를 만들어 보라고 했다.
이번 실험에서 중요한 것은
처음부터 완벽한 글자를 만드는 것이 아니었다.
내가 만든 원도를 바탕으로
AI가 새로운 한글 글자를 만들어 낼 수 있는지
직접 확인하는 것이 첫 번째 목표였다.
그 결과물이 화면에 나타났다.
나는 긴장하면서 글자를 하나씩 살펴보았다.
그리고 곧바로 이상한 점을 발견했다.
AI는 글자를 만들 수 있었다.
하지만 내가 만든 서체의 규칙을
그대로 이해한 것은 아니었다.
01. 대표 5자를 바탕으로 첫 번째 생성 실험
이번 실험에서는 대표 글자를 기준으로
새로운 한글 글자를 생성해 보았다.
첫 번째 생성 대상은 다음 5자였다.
이제 이 글자들이
내가 만든 원도의 구조와
얼마나 비슷하게 만들어졌는지 확인한다.
이번 단계에서는 아직
스텐실 규칙 전체를 완성하려는 것이 아니다.
먼저 글자의 기본 형태와
모눈 체계,
획의 방향,
자소의 배치부터 살펴본다.
그리고 그 결과를
사람의 눈으로 직접 검수한다.
02. 첫 번째 검수 — AI가 만든 글자는 원도와 달랐다
첫 번째 결과물을 확인한 순간,
가장 먼저 발견한 문제는
글자의 전체 비례였다.
5글자 모두
내가 정한 52×59 모눈 격자 체계를 따르지 않았다.
또한 글자의 기본 비례가
내가 설계한 서체와 달랐다.
내가 만든 원도는
기본적으로 가로보다 세로가 긴 구조를 갖는다.
그러나 AI가 생성한 글자는
이 기본적인 비례부터 지키지 못했다.
🔴 첫 번째 핵심 검수 결과
AI는 글자의 ‘모양’은 만들었지만,
내가 정한 ‘설계 체계’까지 지키지는 못했다.
03. 「고」를 검수하다
「고」에서는 초성 ㄱ과 중성 ㅗ의 구조를 살펴보았다.
ㄱ의 세로로 내려오는 부분은
현재 생성 결과에서도 크게 문제가 없었다.
세로 내림의 길이와
획의 두께도 적당한 수준이었다.
그러나 이것만으로 충분하지 않다.
앞으로 생성되는 글자도
이와 같은 비례를 유지해야 한다.
ㅗ는 위치가 중요하다.
현재 검수 결과에서는
ㅗ의 하단 위치가 57칸까지 내려가도록 배치해야 한다.
또한 ㅗ에는
현재 기준으로 스텐실 브리지를 적용하지 않는다.
💡 「고」에서 확인한 규칙
ㄱ의 세로 내림과 획 두께는 원도를 기준으로 유지한다.
ㅗ는 57칸까지 내려 배치한다.
ㅗ에는 스텐실을 적용하지 않는다.
04. 「가」를 검수하다
「가」에서는 ㄱ의 형태를 다시 확인했다.
AI가 만든 ㄱ의 삐침은
내가 원하는 형태와 달랐다.
내가 원하는 것은
직선으로 이루어진 삐침이다.
따라서 앞으로 AI가 ㄱ을 생성할 때에는
기존 원도의 ㄱ을 직접 참고해야 한다.
⚠️ 「가」 검수 규칙
ㄱ의 삐침은 곡선이나 임의의 변형이 아니라
직선 형태로 통일한다.
05. 「나」를 검수하다
「나」에서는 ㄴ의 끝부분을 확인했다.
AI가 만든 ㄴ은
위쪽으로 치솟는 형태가 나타났다.
그러나 내가 원하는 ㄴ은
그렇게 올라가지 않는다.
끝부분은
직선으로 자연스럽게 마무리해야 한다.
📐 「나」 검수 규칙
ㄴ의 끝부분은 위로 치솟지 않는다.
끝은 직선으로 마무리한다.
06. 「다」를 검수하다
「다」에서는 ㄷ의 끝부분을 확인했다.
ㄷ의 끝도
임의로 올라가거나 내려가는 형태가 아니라
직선으로 마무리해야 한다.
그리고 이번 검수에서
ㄷ의 스텐실 구조도 새롭게 확인했다.
ㄷ의 상단 좌측에는 세로 방향의 스텐실 브리지가 존재한다.
🤖 「다」에서 확인한 규칙
ㄷ의 끝부분은 직선으로 마무리한다.
ㄷ의 상단 좌측에는 세로 방향의 스텐실 브리지가 존재한다.
07. 「마」를 검수하다
「마」에서는 ㅁ의 구조를 자세히 확인했다.
ㅁ은 전체적으로
직선 구조로 통일한다.
그리고 이번 검수에서
매우 중요한 스텐실 규칙을 확인했다.
ㅁ에는 총 3개의 세로 방향 스텐실 브리지가 존재한다.
🧠 ㅁ의 스텐실 구조
① 우측 상단 모서리 — 세로 방향 브리지
② 좌측 하단 모서리 — 세로 방향 브리지
③ 나머지 1개의 브리지 — 세로 방향
즉,
ㅁ은 단순히 “스텐실 3개”가 아니라
“3개의 스텐실이 모두 세로 방향으로 존재한다”
는 것이 이번 검수에서 확인된 중요한 규칙이다.
AI가 앞으로 ㅁ을 생성할 때에는
기존 원도를 자세히 참고해야 한다.
08. 첫 번째 실험이 알려준 것
이번 실험은 성공과 실패를 동시에 보여주었다.
AI는 새로운 한글 글자를 만들 수 있었다.
그러나 그것만으로는 부족했다.
AI가 만들어낸 글자가
내가 만든 서체처럼 보이는 것과
내가 만든 서체의 설계 원칙을
정확하게 지키는 것은
전혀 다른 문제였다.
AI는 글자의 형태를 만들 수 있다.
그러나 서체의 규칙을 지키려면
더 정확한 학습 방법이 필요하다.
이번 실험에서 가장 중요한 발견은
바로 이것이다.
AI에게 원도를 보여주는 것만으로는 부족하다.
원도 속에 들어 있는
모눈, 비례, 획의 방향, 자소의 위치, 스텐실의 위치와 방향을
규칙으로 정리하여
AI에게 전달해야 한다.
09. AI 학습 방법을 한 단계 발전시키다
처음에는 원도를 보여주고,
AI가 새로운 글자를 생성한 뒤,
사람이 검수하는 방법을 생각했다.
그러나 이번 실험을 통해
더 발전된 방법이 필요하다는 것을 알게 되었다.
🧪 발전된 AI 학습 방법
① 원도를 분석한다.
② 글자의 구조 규칙을 정리한다.
③ 52×59 모눈과 비례 규칙을 적용한다.
④ 자소별 획의 방향과 형태를 정리한다.
⑤ 스텐실의 위치와 방향을 기록한다.
⑥ AI가 새로운 글자를 생성한다.
⑦ 사람이 직접 검수한다.
⑧ 오류를 새로운 규칙으로 기록한다.
⑨ 수정된 규칙을 다시 AI에게 적용한다.
⑩ 다음 글자로 넘어간다.
이제부터는
AI에게 단순히 “이 글자를 만들어라”라고 요구하지 않는다.
“이 글자는 이러한 규칙을 가지고 있으니,
그 규칙을 적용하여 만들어라.”
라고 가르치는 방향으로 발전시킨다.
10. STAGE 02에서 새롭게 확정된 검수 규칙
📋 이번 실험에서 추가된 규칙
- 모든 생성 글자는 기본적으로 52×59 모눈 체계를 따른다.
- 글자의 기본 비례는 가로보다 세로가 긴 구조를 유지한다.
- 고의 ㄱ은 세로 내림과 획 두께를 원도 기준으로 유지한다.
- 고의 ㅗ는 하단 위치를 57칸까지 내려 배치한다.
- ㅗ에는 현재 기준으로 스텐실을 적용하지 않는다.
- 가의 ㄱ 삐침은 직선으로 통일한다.
- 나의 ㄴ 끝부분은 위로 치솟지 않고 직선으로 마무리한다.
- 다의 ㄷ 끝부분은 직선으로 마무리한다.
- ㄷ의 상단 좌측에는 세로 방향의 스텐실이 존재한다.
- 마의 ㅁ은 직선 구조로 통일한다.
- ㅁ에는 총 3개의 스텐실이 존재하며 모두 세로 방향이다.
- ㅁ의 스텐실 위치는 기존 원도를 기준으로 정확하게 학습해야 한다.
11. 첫 번째 생성 실험의 결론
이번 실험은 실패라고만 할 수 없다.
오히려 중요한 것을 발견했다.
AI는 새로운 글자를 만들 수 있었다.
하지만 AI가 만든 글자를
그대로 받아들이면 안 된다.
사람이 직접 검수해야 한다.
그리고 그 검수 결과를
다시 규칙으로 만들어야 한다.
AI는 글자를 만들었지만,
연구원님의 규칙까지 완전히 이해한 것은 아니었다.
따라서 다음 실험에서는
원도 → 규칙 추출 → 생성 → 검수 → 규칙 보완의
순환 구조로 AI 학습 방법을 발전시킨다.
12. 다음 실험으로
이제 새로운 질문이 생겼다.
AI가 처음 만든 글자를
연구원님의 검수 결과를 반영하여 다시 만들면
이번에는 더 정확한 글자를 만들 수 있을까?
다음 단계에서는
한꺼번에 많은 글자를 생성하지 않는다.
한 글자씩 생성하고,
한 글자씩 검수하고,
오류가 발견되면 규칙을 추가하고,
다시 생성한다.
그 과정을 반복하면서
AI가 점점 연구원님의 서체 규칙을
정확하게 이해할 수 있는지 확인한다.
AI는 틀린 글자를
다시 올바르게 고칠 수 있을까?
첫 번째 생성은 끝났다.
그러나 진짜 학습은
지금부터 시작이다.
원도에서 규칙을 발견하고,
그 규칙으로 AI를 다시 가르친다.
한 글자를 만들고,
검수하고,
고치고,
다시 만든다.
이제 AI와 함께
한글 스텐실 서체의 규칙을 찾아가는
진짜 실험이 시작된다.
AI 기반 한글 스텐실 서체 개발 프로젝트 · STAGE 02
첫 번째 AI 생성과 검수의 기록
STAGE 01. 60개의 원도, 이제 AI 실험을 시작한다
60개의 원도에서 시작된 한 사람의 도전.
그리고 한 번의 실패를 경험한 뒤, 다시 AI에게 묻는다.
“이번에는 정말 할 수 있겠니?”
프롤로그 — 나는 다시 AI 앞에 앉았다 🤖
이상하게도 새로운 서체를 시작할 때마다 가슴이 설렌다.
하지만 이번에는 설렘만 있는 것이 아니다.
마음 한쪽에는 조심스러운 두려움이 있다.
나는 이미 한 번 경험했다.
AI에게 서체 제작을 맡겨보고, 나름대로 열심히 준비하고,
많은 시간을 투자하고, 수없이 결과를 수정했다.
그런데 결과는 기대와 달랐다.
처음에는 조금만 더 수정하면 될 것 같았다.
한 글자만 고치면 될 것 같았고,
원도를 조금 더 만들면 될 것 같았고,
AI에게 설명을 조금 더 자세하게 하면 될 것 같았다.
그러나 어느 순간 깨달았다.
“내가 지금 앞으로 가고 있는 것인가?
아니면 계속 제자리에서 맴돌고 있는 것인가?”
결국 많은 시간과 노력과 정렬을 소비한 뒤,
나는 다시 원점으로 돌아왔다.
그것은 단순한 실패가 아니었다.
다시 시작하는 데 필요한 용기까지 빼앗아 가는 경험이었다.
그래서 이번 프로젝트를 시작하면서 나는 AI에게 먼저 묻고 싶었다.
“ChatGPT, 너는 정말 할 수 있니?”
01. 이번에 만들려는 것은 평범한 한글 폰트가 아니다
이번 프로젝트의 대상은 일반적인 명조체도 아니고, 고딕체도 아니다.
예쁜 손글씨체도 아니다.
내가 만들고 싶은 것은 한글 스텐실 서체다.
스텐실 글자는 일반적인 폰트와 생각하는 방법부터 다르다.
글자의 모양만 아름답다고 끝나는 것이 아니다.
실제로 글자를 잘라내거나, 뚫어내거나, 페인트로 찍어내야 한다.
그러려면 글자의 어느 부분은 끊어져야 하고,
어느 부분은 반드시 연결되어 있어야 한다.
그런데 연결부를 너무 많이 만들면 글자가 둔해지고,
너무 적게 만들면 글자가 무너진다.
글자의 형태와 스텐실의 물리적 구조 사이에서
끊임없이 균형을 잡아야 한다.
💡 이것이 내가 AI에게 기대하는 것이다
단순히 “스텐실처럼 생긴 글자”를 만들어 달라는 것이 아니다.
내가 만든 설계 원칙을 이해하고,
그 원칙을 유지하면서 새로운 한글을 만들어내기를 바라는 것이다.
02. 처음에는 과거의 흔적부터 찾으려 했다
처음에는 대한민국의 옛 군용 스텐실 자료를 찾아보려 했다.
내가 만들려는 서체가 완전히 허공에서 나온 것이 아니라,
우리나라의 실제 역사 속에서 사용되었던 문자 형태와 연결되기를 바랐기 때문이다.
그래서 옛날 군부대 사진, 군용 차량, 창고, 정비시설,
산업시설, 철도시설, 공공기관의 페인트 글씨까지 찾아보았다.
그러나 현실은 생각보다 냉정했다.
자료가 없다.
정확히 말하면 자료가 전혀 없는 것은 아니다.
하지만 서체를 연구하고 재현할 만큼 체계적으로 남아 있는 자료는 너무 부족했다.
사진은 있어도 글자가 너무 작았다.
글자가 보여도 해상도가 낮았다.
한두 글자는 보이지만 전체적인 규칙을 파악하기 어려웠다.
그렇게 자료를 찾는 시간이 길어지면서
나는 한 가지 사실을 인정할 수밖에 없었다.
⚠️ 자료를 기다리다가는 서체를 만들지 못할 수도 있다
과거의 자료를 찾는 것은 중요하다.
그러나 자료가 충분해질 때까지 기다린다면,
이 프로젝트는 영원히 시작되지 않을 수도 있다.
03. 그래서 나는 방향을 바꾸었다
과거의 자료를 복원하는 데 모든 시간을 쓰는 대신,
내가 직접 만든 원도를 출발점으로 삼기로 했다.
그리고 이 결정은 이번 프로젝트의 가장 중요한 전환점이 되었다.
“자료를 먼저 완성하는 것이 아니라,
제작을 시작하면서 규칙을 발견하자.”
이것이 지금 내가 선택한 방법이다.
완벽한 규칙을 먼저 만들고 글자를 제작하는 것이 아니다.
글자를 하나씩 만들어 보면서 문제가 생기면 그때 규칙을 만든다.
글자를 만든다
문제를 찾는다
방법을 찾는다
원칙을 기록한다
다음 글자에 적용한다
04. 그리고 내 손에는 60개의 원도가 있었다
나는 이미 오랜 시간 동안 기본 글자를 만들고 있었다.
Adobe Illustrator에서 직접 글자를 설계했다.
하나하나의 획을 살피고, 글자의 공간을 살피고,
스텐실 구조를 고려하면서 기본 글자를 만들었다.
그렇게 만들어진 것이 바로 60개의 기본 스텐실 원도다.
이 60자는 단순한 연습용 글자가 아니다.
이 프로젝트의 출발점이자,
앞으로 만들어질 수많은 글자의 기준이 될 가능성이 있는 중요한 자료다.
📁 현재 60개 원도의 상태
- Adobe Illustrator에서 직접 제작
- 이미 스텐실 구조가 적용된 기본 원도
- 총 60자
- PNG 형식
- 한 폴더에 보관
- 바탕색과 명확하게 대비되는 검정색으로 제작
- 현재 PC에 보관 중
- 아직 Google Drive에는 업로드하지 않음
이 원도들을 보면 가슴이 설렌다.
“이것으로 정말 한글 스텐실 폰트를 만들 수 있을까?”
동시에 걱정도 된다.
“혹시 내가 만든 60자를 AI가 제대로 이해하지 못하면?”
05. 원도는 많을수록 AI가 잘 이해할까?
여기에서 또 하나의 고민이 생겼다.
AI에게 스텐실 서체의 규칙을 이해시키려면
원도가 많을수록 좋지 않을까?
초성도 더 많이 보여주고,
중성도 더 많이 보여주고,
종성도 더 많이 보여주면
AI가 공통적인 구조를 발견하기 쉬울 것 같다.
하지만 원도를 하나 더 만드는 데도 시간이 필요하다.
열 개를 더 만들면 열 배의 시간이 걸리는 것은 아니더라도,
분명히 상당한 시간과 노력이 들어간다.
“AI가 더 잘 이해하도록 원도를 더 만들어야 하는가?”
아니면,
“이미 만든 60자만으로 먼저 시험해 봐야 하는가?”
06. 나는 이미 한 번 실패했다
이 질문이 쉽게 결정되지 않는 이유가 있다.
나는 과거에 다른 AI를 이용하여 폰트 제작 실험을 한 적이 있다.
처음에는 기대가 컸다.
AI는 빠르게 무언가를 만들어냈다.
그래서 나도 더 많은 원도를 만들었다.
더 정확하게 설명하고,
더 많은 자료를 준비하고,
더 많은 시간을 투자했다.
하지만 결과는 생각처럼 되지 않았다.
AI가 만들어낸 글자는 얼핏 보면 비슷했다.
하지만 자세히 보면 내가 원하는 구조와 달랐다.
한 글자에서는 맞는 것 같았지만,
다른 글자에서는 규칙이 무너졌다.
다시 설명했다.
다시 수정했다.
다시 원도를 만들었다.
다시 정리했다.
그렇게 많은 시간을 소비했다.
그리고 결국 나는 원점으로 돌아왔다.
🧠 그래서 이번에는 다르게 시작한다
나는 AI에게 무조건 믿고 맡기지 않을 것이다.
먼저 AI가 내 원도를 이해할 수 있는지 시험할 것이다.
내가 만든 스텐실 규칙을 추출할 수 있는지 확인할 것이다.
그리고 새로운 글자를 만들었을 때,
그 결과가 정말 내가 만든 서체의 DNA를 이어받았는지 직접 확인할 것이다.
07. 그래서 ChatGPT에게 직접 물었다
나는 ChatGPT에게 솔직하게 물었다.
“너는 정말 이 일을 해낼 수 있니?”
이것은 단순한 호기심이 아니다.
내가 만든 60개의 원도를 AI에게 보여주면
AI는 그 글자의 모양을 볼 수 있을 것이다.
그러나 보는 것과 이해하는 것은 다르다.
이해하는 것과 재현하는 것도 다르다.
그리고 재현하는 것과
새로운 글자를 같은 원칙으로 만들어내는 것은 또 다른 문제다.
🤖 내가 AI에게 요구하는 진짜 능력
- 내가 만든 스텐실 구조를 이해할 것
- 글자의 공통적인 설계 원칙을 찾아낼 것
- 브리지와 끊김의 원리를 분석할 것
- 초성·중성·종성의 구조적 관계를 파악할 것
- 내가 의도하지 않은 변형을 멋대로 만들지 않을 것
- 새로운 글자를 만들 때 기존 원칙을 유지할 것
- 문제가 발생하면 그 이유를 설명할 것
08. AI는 ‘비슷하게’ 만드는 것과 ‘같은 규칙으로’ 만드는 것이 다르다
이것이 이번 프로젝트에서 가장 중요한 문제다.
AI가 스텐실처럼 보이는 글자를 만드는 것은 어렵지 않을 수도 있다.
하지만 내가 원하는 것은 그것이 아니다.
내가 원하는 것은,
“내가 만든 스텐실 서체의 DNA를 유지하면서
새로운 글자를 만들어내는 것”
이것은 전혀 다른 문제다.
예를 들어 하나의 글자에서는 브리지가 적절하게 보였는데,
다른 글자에서는 같은 규칙을 적용하면 글자의 판독성이 떨어질 수 있다.
그러면 AI는 단순히 “비슷하게 보이도록” 만들 것이 아니라,
왜 그 글자에서는 규칙을 수정해야 하는지 이해해야 한다.
이것이 바로 이번 프로젝트의 핵심 난제다.
09. 그래서 나는 AI를 시험하기로 했다
나는 더 이상 처음부터 수백 개의 원도를 만들고 싶지 않다.
먼저 시험해 보려고 한다.
이미 만들어 놓은 60개의 원도 중에서
스텐실 구조를 대표할 수 있는 몇 개를 선택한다.
그리고 AI에게 묻는다.
🧪 첫 번째 검증 실험
① 대표 원도 5개를 보여준다.
② AI가 글자의 구조를 분석한다.
③ AI가 내가 사용한 스텐실 설계 규칙을 추론한다.
④ AI가 추론한 규칙을 문서화한다.
⑤ 내가 그 규칙을 검토한다.
⑥ AI가 그 규칙을 이용해 새로운 글자를 만들어 본다.
⑦ 내가 결과를 평가한다.
⑧ 부족한 부분을 다시 수정한다.
이 실험의 결과는 세 가지 중 하나가 될 것이다.
중요한 것은 실패해도 좋다는 것이다.
지금 실패하는 것이 낫다.
5개의 원도를 가지고 실패하는 것이
500개의 원도를 만들고 실패하는 것보다 훨씬 낫다.
10. 아직 SVG 변환은 서두르지 않는다
현재 60개의 원도는 PNG다.
최종적으로 폰트를 만들려면 벡터 기반의 글리프 데이터가 필요할 가능성이 높다.
하지만 지금 당장 SVG로 변환할 필요는 없다.
먼저 중요한 것은 원본을 안전하게 보존하는 것이다.
PNG 원도는 그대로 유지한다.
필요하다면 나중에 SVG나 다른 벡터 형식으로 변환한다.
🔒 원본은 절대 서두르지 않는다
60개의 PNG 원도는 이 프로젝트의 출발점이다.
원본을 보존한 상태에서 실험하고,
변환본은 언제든 다시 만들 수 있도록 관리한다.
11. 이번에는 AI에게 프로젝트를 맡기지 않는다
정확히 말하면,
AI에게 모든 것을 맡기지 않는다.
AI는 이 프로젝트의 주인이 아니다.
서체의 최종 판단은 내가 한다.
AI는 나를 대신하는 디자이너가 아니라,
나와 함께 문제를 해결하는 연구 도구가 되어야 한다.
사람의 설계 의도
+
AI의 분석 능력
+
벡터·폰트 제작 기술
나는 이 세 가지를 연결해 보려고 한다.
이것이 성공한다면,
단순히 하나의 스텐실 폰트를 만드는 것 이상의 의미가 있을지도 모른다.
AI를 이용하여 한글 서체를 개발하는
새로운 제작 방법론이 될 수도 있기 때문이다.
12. 아직 나는 답을 모른다
솔직히 말하면,
이 프로젝트가 반드시 성공한다고 장담할 수 없다.
AI가 60개의 원도를 보고 내가 생각하는 것처럼 이해할지도 아직 모른다.
새로운 글자를 만들었을 때
내가 만족할 만큼 정확하게 규칙을 유지할지도 모른다.
그리고 최종적으로 실제 폰트 파일을 만들어
상용 수준으로 사용할 수 있을지도
아직은 실험을 해봐야 한다.
그러나 한 가지는 분명하다.
이번에는 결과만 기록하지 않을 것이다.
실패하는 과정까지 모두 기록할 것이다.
13. 이 웹사이트는 앞으로 하나의 연구 기록이 될 것이다
앞으로 이 프로젝트의 모든 과정은 기록으로 남길 예정이다.
잘된 결과만 보여주지 않을 것이다.
AI가 엉뚱한 결과를 만들면 그것도 기록한다.
원도를 다시 수정하면 그 이유도 기록한다.
규칙이 틀렸다면 왜 틀렸는지 기록한다.
작업을 중단했다가 다시 시작한다면 그 과정도 기록한다.
왜냐하면 이 프로젝트에서 가장 중요한 것은
최종적으로 만들어진 폰트 하나가 아닐 수도 있기 때문이다.
오히려 더 중요한 것은,
“한글 스텐실 서체를 AI와 함께 어떻게 만들어 갈 수 있었는가?”
그 답을 찾는 과정 자체가 하나의 연구가 될 것이다.
14. 그리고 이제, 진짜 실험이 시작된다
지금 내 컴퓨터에는 60개의 PNG 원도가 있다.
아직 Google Drive에도 올리지 않았다.
아직 SVG로 변환하지도 않았다.
아직 최종 폰트 제작 프로그램도 결정하지 않았다.
아직 완성된 규칙집도 없다.
그런데 이상하게도 나는 지금이 가장 설렌다.
이제부터는 진짜로 확인할 수 있기 때문이다.
AI는 정말 내가 만든 스텐실 글자를 이해할 수 있을까?
그리고 더 중요한 질문.
내가 만든 60개의 글자에서
새로운 한글을 만들어낼 수 있을까?
60개의 원도 중 대표 5자를 선택하다
AI는 이 5개의 글자를 보고
연구원님의 스텐실 설계 의도를 이해할 수 있을 것인가?
어쩌면 이 프로젝트는 성공할 수도 있고,
중간에 또 다른 벽을 만날 수도 있다.
그러나 이번에는 한 가지 약속을 했다.
처음부터 끝까지 모든 과정을 기록하겠다.
60개의 원도에서 시작해서,
한 글자씩 만들어 보고,
실패하고,
다시 고치고,
규칙을 발견하고,
AI와 논쟁하고,
결국 하나의 폰트가 탄생하는 순간까지.
이것은 아직 완성된 폰트에 대한 이야기가 아니다.
이제 막 시작된 한글 스텐실 서체 제작의 기록이다.
AI 기반 한글 스텐실 서체 개발 프로젝트
60개의 원도에서 시작하여, 하나의 폰트가 완성될 때까지.