← 목록
기타 2026-07-03 12KB 읽기 10분

한선어 프로젝트 — 16시간 연속작업 종합보고 (2026-07-03)

한 줄 요약

소실됐던 한선어(만국 음성표기)를 폰트에서 역공학 복원하고, 코덱 v2.3·입력기 3종·소리변환기·160언어 표기표·글리프생성기까지 만들어 https://hanseono.crowny.org 로 공개했다. 사용자 원 요청 5단계(재학습→160언어 체크→입력기 3종→미입력 문자 확장→고유 글 제작) 전부 실증 단계 진입.

라이브 서비스 (7경로, 전부 HTTPS 200)

https://hanseono.crowny.org — 순수 한선씨 서버(:9702) + LaunchAgent + 개별 cert
경로도구
/허브 (검증 현황 포함)
/cheonjiin천지인 확장 입력기 (모바일 12키+부호+성조)
/qwertyQWERTY 두벌식 v0.3 (프로파일 4종: 케추아·실헤티·흐몽·코사)
/chord동시코드 속기 입력기 (음절/분 계측)
/convert소리문자변환기 (가나 결정론·한자 IME)
/table160언어 표기표 (5,374음소 조회)
/glyphs글리프생성기 견본 (자질→글자, 자음24+모음8)

핵심 검증 수치 (전부 실측)

  • 음소코덱 v2.3: 50/50 왕복 무손실, 10트릿 자질공간(위치11×방법12×발성×기식×기류×이차5)
  • 160언어 커버리지: 5,374/5,374 음소 토큰 100% (커버리지매트릭스.한선, 3.3s)
  • 표기안생성기: 160언어 자동표기 100% (정확 4,722·근사 652, 3.1s, LLM 0토큰) — "무문자 언어 한글적용" 파이프라인 원형
  • 파일럿 5언어 전승: 케추아 29/29(3중대립 1:1 실증)·실헤티 23/23(성조)·로힝야 24/24(비모음 4단)·흐몽 25/25(8성조 곡선 1:1)·코사 19/19(클릭 12종 — 최난도)
  • 글리프생성기: 상형+가획 파라메트릭, 자음24+모음8 전수 상호구분
  • 동시코드 엔진: 10,697 조합/초 (인간 속기 한계의 ~2000배 여유)
  • 폰트 v10 복원: 73글리프 7블록 + GPOS 성조결합 실작동 확인

발견·등록한 시스템 함정 (전 세션 공유 자산)

  1. 한선씨 x = x + 함수호출() 누적 조용히 소실 → 임시변수 분리 (메모리+가드레일 템플릿)
  2. 한선씨 읽기() ~64KB 조용히 잘림 → 분할 제공 (메모리)
  3. 게이트웨이: gateway.yaml domain FQDN 필수 / stunnel SIGHUP 무효→워치독 재기동 / cert-manager "보유" 오판 / NAT hairpin 검증법 (기존 메모리에 추가)
  4. macOS sed 치환문자열 \n=개행 삽입 → python replace 사용

스토리 기록 (소실→복원)

2월 원본(claude.ai 대화 626c2f23 산출)은 "백업 크라우니" 폴더 dataless화로 소실. openclaw 아카이브의 폰트 v10 실물에서 73글리프 체계를 역공학 복원해 재작업. 정본 매핑은 사장님이 대화 재다운로드 시 대조·교정. 한글 차용 선행사례 정직 판정: 공식 채택 0건 → 포지셔닝 = 보조적·디지털 음성표기 도구(법적 무충돌).

크라우니코드 학습 (이번 프로젝트 누적)

학습DB 등록 14건: 한선어음소코덱(v2.1/v2.3)·커버리지매트릭스·코드입력조합·소리문자변환기·케추아/실헤티/로힝야/흐몽/코사 파일럿·한선어서버(v1/v2)·표기안생성기·글리프생성기(2판). 전부 검증 통과 후 등록.

잔여 과제 큐 (다음 세션)

  1. 정본 대조: claude.ai 대화 파일 재다운로드 → 부호 가설 매핑 교정
  2. 폰트화: 글리프생성기 SVG → TTF 자동 빌드(폰트엔진.한선 연계), 한글+부호 GPOS 결합(자모 글리프 폰트 내장)
  3. 파일럿 실사용: 케추아/실헤티 원어민 검증 텍스트 샘플, 입력기 모바일 실기기 테스트
  4. 무문자 언어 확장: 표기안생성기에 신규 언어 인벤토리 대량 투입(스코핑의 PNG·인도 부족어군)
  5. gwlive VM 문자열 핸들 누수 근본수정 (게이트웨이 과제)
  6. 흐몽/코사 프로파일 천지인(모바일)판 이식

관련

  • 상세 로그: 2026-07-03-한선어-원본수색-폰트복원.md / 지표: crowny-hanseono/docs/성능지표.psv(23행) / 스코핑: crowny-hanseono/docs/확장스코핑-6축.md
  • 프로젝트 홈: /Users/ef/crowny-hanseono/ (libs 3·tools 3·pilots 5·web 6·public 12·fonts·data)

추가: 확장 단계 본작업 (루프 중단 후 지시 작업, 20:20~21:00)

  • 무문자·준무문자 40언어 수집(울트라 4병렬: 인도 부족어·PNG 고지대·에티오피아/수단·중남미 원주민 — 무문자 8·비표준 33) → 자동표기 99.9%(1,147/1,148, 잔여 1건=수집 오염 정직 미매핑). data/언어음소-무문자40.psv·표기표-무문자40.psv
  • 곤디어(298만, 비표준) 고유 문자 32자 자동 설계 — tools/고유문자생성기.한선(표기표→자질→글리프 3도구 연결). 권설=꼬리·유성=점·장모음=틱 체계 구분, 동형 2쌍 정직 보고. https://hanseono.crowny.org/gondi 라이브 — "각 언어에 맞는 고유 글 제작"의 첫 실물.
  • /table이 160+40언어 6,521음소로 확대(table3.psv). 생성기 v1.1 보강: 미파음 p̚=한글 받침 관례, 선성문화 ˀm, 연구개설측 ʟ, 무성 전비음 ᵐp(포레어).
  • 함정 추가 관찰: ①hanseonc 문자열 리터럴 내 괄호 오처리 의심(접두 포함매칭으로 회피, 추가 조사 필요) ②177KB 연결 문자열 인덱싱 불안정(파일별 처리로 회피) ③gwlive crashloop 재목격(문자열 핸들 누수 — 근본수정 과제 재확인).

잔여작업 계속 (21:15~): 곤디어 TTF 폰트화 완성

  • GondiHanseono-v01.ttf (6.4KB, 33글리프) — 크라우니폰트 폰트엔진.한선(순수 한선씨 TTF 생성기, 획팽창→아웃라인)을 재사용해 곤디어 자음22+모음10을 실폰트로 빌드. cmap U+E100~E11F, 실렌더·단어 조판 확인, HTTP/HTTPS 서빙 바이트 무결 검증(cmp 동일). https://hanseono.crowny.org/gondi 에 웹폰트 실조판 + TTF 다운로드.
  • 의미: 음소 인벤토리 → 표기안 → 고유 글리프 → 설치형 폰트까지 전 파이프라인이 결정론·순수 한선씨로 완결. 다음 언어는 자질 테이블 교체만으로 폰트 생산 가능.
  • 웨이브2(무문자 60언어: PNG 세픽·도서, 서·중부 아프리카, 아마존, 남아·동남아) 수집 진행 중.

웨이브2 통합 (07-04 00:20): 누적 260언어

  • 무문자·준무문자 60언어 추가 수집(PNG 세픽·도서·부건빌, 서아프리카 구르어군, 아마존, 남아시아) → 생성기 v1.2(접미부호 ˀ성문화·ʱ유성기식·̊무성·̟전설화 보강) 100% 자동표기. /table = 260언어 8,171음소.
  • 수집 하이라이트: 로토카스어(세계 최소 음소, 자음 6)·이마스어(마찰음 0, 화자 50명)·이아트물어(강세열 pː·성문화모음 aˀ)·도부어(순음화 ʔʷ)·모바어(4단 성조+비모음 7종) — 전부 표기 가능.

입력기-표기표 연동 (07-04): v0.4 — 260언어 동적 프로파일

  • /qwerty에 언어 셀렉트(259) 추가: 선택 시 그 언어의 음소 팔레트(IPA+한선어 표기 버튼) 자동 구성, 클릭=표기 삽입, 낱자모+부호 분석기 확장(자질·셀ID·트릿 표시). headless 검증: 곤디어 32버튼, ʈ 클릭→[5,0,-1,-1] id=8105 정확.
  • 의미: "중국어 소리를 한글로 대응"하던 원 구상이 260언어 어느 것이든 언어 선택만으로 전용 자판이 되는 범용 도구로 완성.

언어폰트 양산 + 크라우니도구 통합 (07-04, Opus)

  • 언어폰트양산기.한선 (곤디폰트 TTF기계 + 고유문자생성기 표기파싱 결합, 파라메트릭): 대상언어 변수만 교체→표기표 자질 파싱→획→TTF 자동생성. cmap endCode 동적화(57599+글리프총수). 곤디어 회귀 32글리프(수제판 일치).
  • 6언어 TTF 배치 생산: 곤디32·줄루40·코사39(클릭)·흐몽49(성조)·스와힐리27·케추아29(남부) = 216글리프. 전부 TTF 유효·바이트무결. https://hanseono.crowny.org/fonts 갤러리 + 6종 다운로드 라이브.
  • 크라우니도구(MCP) 적극 사용: trap_lint로 4파일 무환각 검증(전부 판정=티·함정0·감사재현 로그ID byte-identical) — 수동 함정회피가 정적린터로 무결 재확인. learn_add로 양산 패턴 래칫 등록(다음 토큰0). kps_search/learn_search MISS→학습으로 접지 시작.
  • 목표1≡목표3 수렴 발견: "미입력 4천 문자 입력화"는 각 언어 폰트+팔레트로 달성 — 6언어 216글리프 = 216문자 입력가능화. 100언어 전체 폰트화 시 ~3,500문자(목표1 근접).
  • 정정(격리검증): 괄호 리터럴 변수 x = "케추아어(남부)"정상(a==b·8자 동일). 앞서 "괄호 함정"으로 본 것은 오판 — 실제는 배치 2분 타임아웃(느린 컴파일)이 원인이었고 별도 실행 시 29글리프 정상. 교훈 재확인: 포함()은 매치인덱스 반환(0=발견, -1=없음) — 0을 거짓으로 오독 말 것.

셋 다 진행 (07-07, Opus) — 웨이브3 + 만국 고유글 + 팔레트 고유글

  • ① 웨이브3: 무문자 60언어 추가(호주원주민·시베리아·몬크메르산악·만데·뉴기니서부·아마존) → 자동표기 100%(미매핑1 ɯ̽→중설화 사전보강). 누적 319언어 9,928음소 /table 라이브(8분할 서빙). 하이라이트: 와어(무성공명음 m̥n̥ŋ̥)·아렌테어(기저모음 2개)·이텔멘어(방출음)·카야르딜드어(화자소멸).
  • ② 만국 고유글 폰트: 319언어 9,928음소가 286개 유니크 글리프로 수렴(featural script). 자질 동일=글자 동일. HanseonoUniversal-v01.ttf(54KB, 순수 한선씨 빌드). https://hanseono.crowny.org/universal 글자표 + 폰트 다운로드. 목표1(4천 미입력 문자)의 근본 해법 — 286 base 글리프가 무한 조합.
  • ③ 입력기 v0.5 고유글 팔레트: /qwerty 언어 선택→각 음소를 IPA(파랑)·한선어표기(한글+부호)·고유글(만국폰트) 3중 표시, 클릭=삽입. headless 검증(코사 39버튼·고유글 스팬 40). 만국폰트 data URI 자립.
  • 크라우니도구 계속 사용: trap_lint로 만국글리프폰트 검증(661티·함정0), learn_add 만국폰트 패턴 래칫. 감사재현 로그ID byte-identical.
  • 라이브 경로 10종: / table universal fonts gondi cheonjiin qwerty chord convert + TTF 8종.

계속 스케일업 (07-07, Opus) — 439언어 + 서버 리팩터

  • 웨이브4+5 동시(울트라 12 sonnet 병렬): 아프리카(나일사하라·오모·반투·차드·크와)·캅카스·티베트버마·드라비다소수·오스트로네시아소수·북미·메소아메리카 120언어 → 자동표기 100%. 누적 439언어 13,709음소.
  • 데이터 정규화 함정: W4는 쉼표구분, W5는 괄호주석, 캅카스는 타이바(t͜s U+035C) → 추출 시 괄호·쉼표·타이바 제거. 사전보강: ʵ(권설모음)·ᶬf(순치전비음).
  • 서버 동적청크 리팩터: /tablechunk_N.psv 프리픽스 라우팅 + /tables.json manifest. 표기표빌드.py가 data/표기표*.psv 전부를 64KB청크로 자동분할. 결과: +120언어에 서버 코드 수정 0 — 스케일업이 data 추가 → 표기표빌드.py 1회로 완전 자동화.
  • 만국 고유글 314글리프(59KB): 439언어 13,709음소가 314 유니크 글리프로 수렴. /universal 갱신.
  • 라이브 전 경로 HTTPS 200·폰트 바이트 무결. 크라우니도구 learn_add로 빌드 파이프라인 래칫.
  • 스케일업 궤도: 웨이브당 60언어/~175k토큰, 2웨이브 병렬 6분. 남은 ~2,560 무문자 언어 = ~43 웨이브(전부 결정론 통합·토큰0).