한선어(HanSeonO) 원본 수색 + 폰트 v10 복원 — 2026-07-03
개요
한선어 =
한글 표기에 부호를 붙여 전 세계 언어의 말소리(음소·성조·억양)를 표현하는 만국 음성표기 체계 (2026년 2월 제작, 한선씨 프로그래밍 언어와 별개). 재완성 프로젝트의 1단계로 원본을 전수 수색·복원했다.
수색 결과
원본 파일 위치 (2026-02-19~20 제작)
/Users/ef/DevProjects-local/백업 크라우니/ 안에:
hanseono-ime.html / hanseono-ime (1).html — 한선어 입력기(IME)
hanseono-preview.html, hanseono-distribution-audit.html
hanseono_font_gen.py, hanseono_Regular_v01.ttf
한선어v1.zip (= hanseono-v10-complete.html + hanseono_Regular_v10.ttf + hanseono_v10_gen.py)
한선어폰트초안.zip
⚠️ 문제: 전부 dataless (내용 소실)
- 위 폴더 17,537개 파일 중 8개만 판독 가능, 나머지는
compressed,dataless 플래그(내용 블록 없는 플레이스홀더). 읽기 시 "Operation timed out".
- Time Machine 없음, iCloud에 사본 없음, 로컬 스냅샷은 OS 업데이트용뿐.
✅ 복구 경로 1: claude.ai 원본 대화 (완전 복구 가능)
모든 한선어 파일의 출처(kMDItemWhereFroms)가
한 대화:
https://claude.ai/chat/626c2f23-3fca-4c75-a2af-afe31d3247c4
→ 이 대화를 열면
hanseono-v10-complete.html(완전판 스펙),
hanseono_v10_gen.py, IME 등 재다운로드 가능.
✅ 복구 경로 2: openclaw 아카이브에서 폰트 v10 실물 확보 (완료)
/Users/ef/openclaw-archive-2026-06-28/.openclaw-gemini/workspace/crowny-tvm/fonts/에서 판독 가능한 실물 발견:
hanseono_Regular_v10_gpos.ttf + .woff2 → /Users/ef/crowny-hanseono/fonts/로 확보
- 폰트 메타: 이름 "Hanseono", 부제 "한선어 구성 문자 체계 v1.0 — CrownyOS 전용 폰트 (세계 음소 완전판)", 저작 "김한선(Kim Han-seon), Copyright 2026 CrownyOS Project"
- unitsPerEm = 729 (3^6) — 폰트 좌표계까지 크라우니진법
- GSUB/GPOS/GDEF 포함 (결합 부호 배치 규칙 존재)
폰트 해부로 복원한 문자 체계 (73글리프, PUA 7블록)
| 블록 | 범위 | 수 | 시각 판독 (가설) |
|---|
| 1 | E001–E00E | 14 | 기본 획·자모 골격: ㅡ ㅣ < ╋ ▲ V Λ O ㅜ ㅏ ㅓ ㅌ Π Θ — 천지인 3요소+기본 자음 |
| 2 | E010–E01B | 12 | 점·고리 부호(1점/2점/소원/조합/물결/S) — 발성 부호(유성·기식·비음화 등 diacritic) |
| 3 | E020–E024 | 5 | = ≡ W M ㅠ — 겹침/쌍자음/중복 부호 |
| 4 | E030–E03C | 13 | 삼각·별·다이아 계열 — 모음/하늘(천) 계열 확장 |
| 5 | E040–E04A | 11 | 복합 기호(박스+획, 화살표, Θ↓, 고리+점) — 복합 조음 |
| 6 | E050–E05B | 12 | · ○ ─ / V \ - ~ ⌒ 훅 ↓ Λ — 성조·억양 곡선 12종 |
| 7 | E060–E065 | 6 | 하점, 꼬리점, 호+방울, ǃ형, <, ː형 — 흡착음(클릭)·장음 등 특수음 |
복원물:
/Users/ef/crowny-hanseono/복원/ (glyphs.json 전체 SVG 패스, hanseono-glyphs.html/png 시각표, 추출 스크립트 2종)
잔여 이슈
- 글리프↔음소 정확 매핑 문서가 없음 — 시각 판독은 가설. 정본은 claude.ai 대화의
hanseono-v10-complete.html에 있음 → 사용자가 위 링크에서 재다운로드하면 100% 복원. (다운로드 후 /Users/ef/crowny-hanseono/에 넣기)
- dataless 파일들은 로컬 복구 불가 판정 (Time Machine·iCloud·스냅샷 전무).
- 다음 단계: 재학습 → 표기체계 v2 설계(벡터형4상균형3진 음소벡터·방사형셀코어·크라우니진법) → 160언어 커버리지 체크 → 입력기 3종(천지인 확장/QWERTY/세벌식 코드).
관련 파일
- 프로젝트 홈:
/Users/ef/crowny-hanseono/
- 요청 문서:
2026-07-03-요청-한선어-전세계언어-표기-입력기.md
- 재사용 자산:
/Users/ef/CrownyOS/crownyc/apps/입력기.한선(한글↔4상3진 큐브 왕복 무손실), crowny-voice 한글음절조합.한선·자모분해(학습DB)
재다운로드 시도 결과 (2026-07-03, 스토리 기록)
- WebFetch로 claude.ai 대화(626c2f23) 접근 → 403 Forbidden (사용자 브라우저 인증 필요, 도구 권한으로 불가)
- Claude 데스크톱 앱 로컬 캐시(Application Support/Caches) grep → hanseono 흔적 0건
- 판정: 자동 재다운로드 불가. 완전판 복구는 사장님이 브라우저에서 위 대화를 열어 직접 다운로드하는 방법뿐.
- 스토리: 한선어는 2026-02-19~20 claude.ai 대화에서 v01→v10까지 제작(IME·프리뷰·배포감사·폰트생성기·완전판 스펙). 다운로드본은 "백업 크라우니" 폴더로 옮겨졌으나 폴더 전체가 dataless화(원인 미상 — iCloud 최적화 추정)로 내용 소실. 유일한 실물 생존본 = openclaw 워크스페이스에 배포됐던 폰트 v10 (CrownyOS.app 리소스). 이 폰트에서 73글리프 체계를 역공학 복원했고, 이를 토대로 v2 재작업을 진행한다 (정본 매핑 입수 시 대조·교정).
v2 재작업 1호 + 효율지표 (2026-07-03)
- 한선어음소코덱.한선 (
/Users/ef/crowny-hanseono/libs/): 한글자모+부호(폰트v10 PUA 가설매핑) ↔ 자질4벡터(위치11·방법9·발성·기식) 왕복 — 22/22 무손실(p b t d k g m n ng s z f v th dh sh l r + 중국어 4성). 방사형 셀ID=((위치12)+방법)9+(발성+1)3+(기식+1) 결정론 O(1), 균형3진 7트릿 표현. 학습DB 등록 완료.
- 양자도구 효율(양자실험실2.toau 2000큐비트 팩킹판): GHZ-40 0.07s/15MB, GHZ-2000 57.1s(3샷, ~19s/샷)/28.6MB/770B명령 — crowny-game CLAUDE.md의 "~1s/샷" 주장과 19배 차이(정직 기록). 지표:
/Users/ef/crowny-hanseono/docs/성능지표.psv
- 복합작업 병행 검증: 양자벤치(백그라운드) + 코덱 작성·컴파일·검증(포그라운드) 동시 수행 — 코덱 파이프라인은 컴파일 0.00s·실행 0.01s로 양자벤치와 무간섭.
v2.1 + 160언어 데이터 + 입력기 v0.1 (2026-07-03 계속)
- 코덱 v2.1 (한선어음소코덱.한선, 학습DB 갱신): 기류 축 추가(방출ʼ/내파ɓɗ/클릭ʘǃǁ=방법9) + 모음 자질평면(높이4·전후3·원순·비음·장단, 오프셋 6561). 46/46 왕복 무손실 + 41음소 셀ID 전수 무충돌. 자음ID 0~3563, 모음ID 6561+.
- 160언어 음소 인벤토리 (울트라 8 sonnet 병렬, 4분16초·287k토큰):
data/언어음소160.psv — 정확히 160언어, 고유 IPA 262기호, 성조언어 45, 특수음(권설35·비모음34·방출14·내파14·인두10·클릭5). 발견된 코덱 갭 = 이차조음 축(인두화 tˤ·경구개화 ʲ·연구개화 ˠ·순음화 ʷ) → v2.2에서 추가 예정.
- 천지인 확장 입력기 v0.1 (
web/천지인입력기.html, JS=브라우저 플랫폼락 더블·엔진로직은 코덱.한선과 동일): 천지인 12키(모음조합 ㅣㆍㅡ·자음 멀티탭) + 발성부호 12키 + 성조 6키, 복원 폰트 woff2로 부호 실렌더 확인. 음소 분석 패널(셀ID·균형트릿). 헤드리스 검증 캡처 완료.
- 다음: v2.2 이차조음 축 → IPA 262기호 전수 커버리지 매트릭스(.한선) → 입력기 QWERTY·세벌식 코드 타입.
순차 4단계 완료 (2026-07-03 — v2.2·커버리지·입력기 3종)
- 코덱 v2.2: 이차조음 축(경구개화ʲ·연구개화ˠ·인두화ˤ·순음화ʷ, ×5) 추가 — 자음ID 0~17819, 모음ID 17820+, 10트릿. tˤ·tʲ·kʷ·ɫ 포함 50/50 왕복 무손실·45음소 무충돌.
- 커버리지 매트릭스 (tools/커버리지매트릭스.한선, 순수 한선씨가 PSV 파싱→판정→결과 PSV 생성): 160/160 언어, 5374/5374 음소 토큰 100% 커버 (3.3초). 1차 99.2%에서 미지 7종(ɡ·ɝ·ᶮᶯ·͈경음·̺̻) 보강 후 완전 커버. 결과: data/커버리지결과.psv
- QWERTY 두벌식 입력기 (web/qwerty입력기.html): 표준 두벌식 조합(도깨비불·복모음·복종성, 학습DB fn_두벌식_ 로직 JS 더블) + 숫자키 발성부호 + shift 이차조음 + 성조. 음절→자질 실시간 분석(셀ID·10트릿).
- 동시코드 입력기 (web/코드입력기.html + libs/코드입력조합.한선 9/9 검증): 세벌식 원리(초·중·종 키그룹 분리)로 동시타 1회=음절 1개, 음절/분 실측 카운터 내장(속기식 — 말속도 초과 목표 계측 가능).
- 신규 VM 함정 등록:
x = x + 함수호출() 누적 조용히 소실 → 임시변수 분리 (메모리 feedback_hanseon_accum_funcall + 가드레일 템플릿 갱신).
- 입력기 3종(천지인/QWERTY/동시코드) v0.1 전부 라이브 파일 확보. 남은 심화: 실사용 속도 실측, 부호 GPOS 결합 렌더, 언어별 문자 변환기(한글소리→해당 문자).
소리문자변환기 v0.1 (2026-07-03 — 원요청 "한자입력기 방식" 조각)
- libs/소리문자변환기.한선 (11/11 검증, 학습DB 등록): [모드1] 한글소리→가타카나 결정론 규칙(음절분해→행렬 O(1), ㄱ 어중 유성화·ㅊ/ㅈ 요음 チャ/ジャ·종성 ン/ッ) — 아리가토→アリガト, 맛챠→マッチャ. [모드2] 한글독음→한자 후보 IME(사전 확장형) — 니하오→你好.
- web/변환기.html: 실시간 변환 데모(JS 더블, 한선 엔진과 7/7 동등 검증).
- 설계 원칙 준수: 가나=결정론(삼진구조), 한자=사전(향후 셀DB 확장). 확장 방향: 한자 독음사전 대량화(신자체/간체 선택), 키릴·아랍·데바나가리 대상 추가.
확장 단계(⑤) 스코핑 완료 (2026-07-03, 울트라 6 sonnet 병렬 6m22s·413k토큰)
상세: docs/확장스코핑-6축.md (26,788자). 핵심 종합:
- "미입력 문자" 실규모: 유니코드 미등재 ~131개(World's Writing Systems 집계, 출처별 편차) + 등재됐으나 입력기 부재 다수(전체 172 문자체계 중 고대문자 대부분+현대 소수문자 절반 추정). 등재 소요: 폰트·키보드 선행 시 1~2년(낙문다리), 방치 시 15년+(조우라이).
- 무문자 언어: 아시아·아프리카 2/3, PNG 단일국 840언어 중 ~475 무문자 추정. 대형 준무문자: 민난어 4600만?·우어 8000만·치타공 1300만·실헤티 1100만·비힐리 1040만·인도 부족어 460+개(1억명+).
- 한글 차용 선행사례 — 정직 판정: 공식 채택 0건. 시도 5건+(찌아찌아·오로첸·체팡·라후×2·아이마라) 전부 비공식/중단. 실패 5요인: ①현지 로마자 법제와 충돌 ②급조 표기법 ③지속 인력·예산 부재 ④'공식 채택' 과장 보도 ⑤외교 반발. → 한선어 포지셔닝 확정: '공식 문자 대체'가 아니라 보조적·디지털 음성표기 도구(현지 언어정책 무충돌).
- 신규 문자 성공 방법론: 오세이지(부족정부 자금+구글 협업=완전통합), 아들람(자생 창제→유니코드), 음왕궤고(다언어 공동 문자 — 한선어 지향과 동형), UNESCO IDIL 2022-2032 'Missing Scripts'와 연계 여지.
- 우선 적용 후보 (음소매칭·수요 교차): ①실헤티어(1100만 — 벵골문자가 성조 미반영, 기준 최적합) ②남부케추아·아이마라(평음/격음/경음 3중대립이 한글과 구조적 1:1 — 난이도 최저) ③로힝야(인도주의 수요) ④흐몽(8성조 — RPA 어말자음 트릭 대비 부호 직관성) ⑤나가어군(로마자 정서법의 성조 미표기 결함). 클릭 언어는 난이도 최상으로 별도 검토.
→
다음 작은 구현: 실헤티(성조 부호 실증) 또는 케추아(3중대립 1:1) 파일럿 표기안 + 코덱 검증.
파일럿 2종 완료 (2026-07-03 — 확장단계 첫 실증)
- 파일럿 1호 케추아 (pilots/케추아표기.한선, 29/29): 스코핑의 핵심 가설 "한글 평음/격음/경음 = 케추아 평음/유기음/방출음 1:1"을 코드로 실증 — p/t/ch/k/q 5계열 전부 기식·기류 축만 이동함을 자동 검증. 구개수음 q계열=ㄱ계열+구개수부호(E048 가설). 23자음 무충돌. 단어: t'anta(빵)=ㄷ̛ㅏㄴㄷㅏ, qhichwa=ㅋ̛ㅣㅈㅡㅘ.
- 파일럿 2호 실헤티 (pilots/실헤티표기.한선, 23/23): 벵골문자가 못 적는 실헤티 고/저 성조를 성조부호(E052/E055)로 최소대립쌍 표기·왕복 실증. 권설 ʈɖ·연구개마찰 x·유성 ɦ 포함 20자음 무충돌.
- 학습DB 등록 2건(케추아표기파일럿·실헤티표기파일럿). 누적 학습 +7건/세션.
- 다음: 파일럿 확대(로힝야·흐몽 8성조), 입력기에 케추아/실헤티 프로파일 탑재(자판 오버레이), 폰트 GPOS 결합 렌더 확인.
④ 서비스화 완료 — https://hanseono.crowny.org 라이브 (2026-07-03 10:04)
- 서버: 한선어서버.한선(순수 한선씨 TCP, 시간서버 라우터 패턴 재사용) :9702, LaunchAgent com.crowny.hanseono(KeepAlive). 경로: / /cheonjiin /qwerty /chord /convert /health (+한글 인코딩 별칭). 폰트는 data URI 인라인.
- 공개 절차 실기록: 포트선언(crowny-ports set) → 개별 cert 발급(certbot webroot, 전례 패턴) → gateway.yaml domain을 FQDN으로(bare면 stunnel 생성기가 스킵 — 함정) → stunnel_conf_gen.py에 hanseono lineage 추가(LINEAGE+PRIORITY+출력루프 3곳) → conf 재생성·교체 → SIGHUP은 리로드 안 됨(실측) → kill 후 443워치독 재기동(15s) → 전 경로 200.
- 이슈 실측 3건: ①cert-manager sync가 미보유 도메인을 "보유"로 오판(SAN 미대조 추정) ②stunnel SIGHUP 리로드 무효 → 워치독 재기동이 정식 경로 ③gwlive "[VM] 문자열 핸들 상한 480000 초과" crashloop 목격(기존 누수, 헬스워치독이 연명 — 근본수정 별도 과제). 외부IP 직접 테스트는 NAT hairpin으로 마스터 cert가 보임 — --resolve 127.0.0.1 검증이 정식.
- 파일럿 4호까지: 케추아 29/29·실헤티 23/23·로힝야 24/24(비모음·장모음 4단)·흐몽 25/25(8성조 곡선 1:1). 입력기 케추아/실헤티 프로파일(v0.2) + GPOS 실측(폰트내부 성조결합 작동·발성부호 spacing·한글은 나란히).
파일럿 5호 코사(클릭 극한) + 코덱 v2.3 (루프 2구간, 10:20)
- 코사어 19/19: 클릭 3위치(치ǀ·설측ǁ·후치경ǃ)×4발성(평/기식/비음/유성)=12종 + 방출·내파 전면 왕복·무충돌. 스코핑 "난이도 최상" 범주 통과 — 이로써 5대 최난 음소 범주(3중대립·성조8·비모음·이차조음·클릭) 전부 실증.
- 1차 검증이 충돌 3건을 정확히 적발(설측클릭 정보소실·ㄹ유성 전파) → 규칙 2건 보강: 설측클릭=방법10(예비칸), 클릭 적용 시 발성·기식 리셋 후 후행 부호로 재지정. 정본 코덱 v2.3에 동기화, 회귀 50/50 무결.
표기안생성기 v1.0 — 확장 파이프라인 원형 완성 (루프 4구간, 11:20)
- tools/표기안생성기.한선: IPA 음소 인벤토리 PSV → 한선어 표기표 자동 산출 (100%, LLM 0토큰, 3.1초). 매핑사전 ~190항목(정확/근사 판정 포함) + 접미부호 박리(ː ̃ ʲ ʷ ˠ ˤ ʼ ̥ ̪ ʰ) + 성분분해 폴백(이중모음 aɪ·이중조음 kp 자동). 산출: data/표기표160.psv 5,374행.
- 의미: "무문자 언어 한글적용"이 이제 음소 목록만 넣으면 표기안이 자동으로 나오는 결정론 도구가 됨 — 3000언어 확장의 임계경로 해소. 신규 언어 = 인벤토리 1행 추가.
- 1차 97.8% → 3보강(ˠ=U+02E0 코드 수정·전조합 비모음 NFC 등록·성분분해 폴백)으로 100%.
표기표 웹 노출 (루프 5구간, 12:05) — 라이브 5도구
- https://hanseono.crowny.org/table — 160언어 셀렉트→음소별 한선어 표기 조회(IPA 검색 포함). 복원 폰트 부호(인두화·구개수·치간·유성점 등) 실렌더 확인.
- VM 함정 신규 실측: 읽기()가 ~64KB에서 잘림 → 177KB PSV를 3분할(table0~2.psv) 후 클라이언트 병합. (+ macOS sed 치환문자열의 \n = 개행 삽입 함정 재확인 — python replace 사용)
글리프생성기 v0.1 — "고유 글 제작" 원리 실증 (루프 6구간, 12:20)
- tools/글리프생성기.한선: 자질벡터 → SVG 글리프 파라메트릭 생성 — 훈민정음 상형(위치→골격: 순음ㅁ·설음ㄴ·아음ㄱ·후음ㅇ·경구개ㅈ 확장 11종)+가획(기식=가로획·유성=점·마찰=지붕·전동=물결·방출=틱·내파=갈고리·클릭=중앙점) 원리를 자질공간 전체로 일반화. 24자 견본 전수 상호구분·시각검증(data/글리프견본.html).
- 의미: 언어별 음소 인벤토리 → (표기안생성기) 한글+부호 표기 → (글리프생성기) 그 언어만의 고유 문자 자동 설계까지 파이프라인이 원리 수준에서 연결됨. 잔여: 모음 글리프, 음절 조합 배치, 폰트화(TTF 생성).
글리프 라이브 + 모음 확장 (루프 7구간, 19:45)
- 모음글리프(천지인): 전후=축 선택(ㅣ세로/ㅡ가로), 높이=점 위치, 원순=점→고리. 자음24+모음8 = 32글리프 전체 겹침 0.
- https://hanseono.crowny.org/glyphs 라이브 — 사이트 7경로(/ cheonjiin qwerty chord convert table glyphs). 12:23 웨이크업이 맥 슬립으로 19:38 지연 발화했으나 서비스 7시간 무인 무중단 확인(LaunchAgent+워치독 체계 검증).