요청: crowny-fonts-cif-vector-aa
- 날짜: 2026-06-18 13:06:04
- 작업 경로: /Users/ef/crowny-fonts
요청 본문
CrownyOS용 CIF구조 벡터형폰트 생성. 안티앨리어싱=벡터 아웃라인 밖 연한 줄 추가. 필요한 중간과정은 울트라병렬로.
관련 산출
(클로드가 작업 결과를 이어 기록)
완료 (2026-06-18) — CrownyOS CIF 벡터폰트 + AA (울트라병렬)
- CIF = 벡터 트릿-트리 이미지 포맷(씨앗=27트릿 큐브, 균일영역=사각형). 글자를 AA grayscale 래스터→트릿트리 인코딩하면 가장자리가 연한 회색 씨앗=AA.
- "아웃라인 밖 연한 줄" = 헤일로.py(거리기반 연한 회색 R겹) + image서버 /png?smooth=1 경계평활. 사용자 의도 그대로 구현.
- 파이프라인: build/글리프그리드(AA 래스터)→헤일로.py(연한줄)→/encode(rasterToCIFv3)→/png?smooth=1(AA렌더). 헬퍼 build/만들기cif.sh.
- 울트라병렬 Workflow(crowny-cif-aa-fonts): 9패밀리 haiku 병렬 생성+PNG 육안검증+튜닝, sonnet 종합. 10에이전트/394K토큰/67초.
- 결과: catalog-cif/ 9종 .cif + AA .png, 9/9 가독, 평균 압축 132×(Display 153~Brush 100), 씨앗 평균 5830. 비교=catalog-cif/CIF비교.png, 쇼케이스=catalog-cif/CIF쇼케이스.md
- 잔여: Script/Brush 복잡윤곽 압축률 낮음(트릿트리 최적화 여지), Cute halo 약간 과다. image서버 :9872 재사용(crowny-image).
- CrownyOS 사용: CIF를 image서버 /png?smooth=1로 렌더 or 가져오기 "CIF.한선" 디코더. crownyc.c에 CIF 벡터폰트 110글리프 기존 내장.
배치 완료 (2026-06-18) — 100종 전체 CIF 변환
- build/배치cif.sh: 카탈로그 100 TTF → 각 "크라우니 한글" 샘플 CIF 벡터 + AA PNG. 100/100 성공, 0 실패.
- 평균 씨앗 5084 · 평균 압축 135.4× · 총 30MB. 매니페스트 catalog-cif/배치.psv. 스팟체크 catalog-cif/CIF배치비교.png
- 분별: 결정적 변환이라 LLM 에이전트 아닌 병렬 배치셸 사용(토큰 절약). image서버 :9872 인코더 재사용.
글자별 CIF 폰트 (2026-06-19) — CrownyOS 텍스트 조판
- 샘플단어 CIF → 글자별 CIF 글리프 폰트로 확장. 각 글자=개별 .cif 벡터(72×84 AA셀→헤일로→트릿트리), cmap=폰트.psv(코드|id|cif).
- 렌더: 텍스트 각 글자→폰트.psv 조회→GET /png?smooth=1→좌우 조판(build/가로조판). "크라우니 한글 폰트 가나다 ABC 123" 22글자 조판 성공(고딕+명조).
- 포맷/도구: cifont/README.md, build/cifont만들기.py(TTF→글자별CIF), cifont렌더.py(조판), 가로조판.c. 데모 cifont/CrownyGothic·CrownyMyeongjo(각 128글리프=ASCII95+한글33).
- 확장: 전체 11,172 한글=추가한글 인자에 전달(같은 루프), 100종=배치. 비례조판=advance 추가(현재 고정셀).