← 목록
OS 2026-06-22 4KB 읽기 5분

CrownyOS — 100 크라우니 폰트 적용 + 다운로드/실행(PWA+ZIP) + 서버복구

개요

사용자: "크라우니OS 다시 보기. os.crowny.org·cowork.crowny.org에서 다운받아 실행 가능하도록. v4 창 폰트 이상함. CIF 폰트 100개 적용해 테스트(병렬)". 폰트 적용·테스트모드·PWA/ZIP 배포·서버복구를 병렬 서브에이전트 + 메인 통합으로 완수.

진단

  • os.crowny.org=:9150(crowny-os, os-site 정적서빙) 서버가 죽어있었음(000) → 그래서 "다시 보기"에서 OS가 안 보임.
  • os-site 셸 7종(index/boot/desktop/world-desktop/village/twin/deacon)은 시스템 폰트 폴백 → "폰트 이상함".
  • "v4" 문자열은 코드 어디에도 없음(셸은 전부 v1.0). 사용자가 본 v4 창은 다른 세션 네이티브 창/라벨 추정. 폰트 수정은 어느 셸이든 동일 적용으로 해결.
  • ★**crowny-fonts/web/*.woff2 100개는 실제 TTF 바이트(magic 00010000, 확장자만 woff2). format('woff2')로 걸면 브라우저가 거부→폴백 지속. → format('truetype')로 해결.

1. 폰트 적용 (정본 한선씨 생성기)

  • os-site/폰트적용.한선crowny-fonts.css(112 @font-face: 100 서술형 + 통합 Gothic 7가중 + Myeongjo 5가중, format('truetype')**, :root --cf-pick 변수). web/*.woff2 100개 → os-site/fonts/ 복사.
  • 7셸 <head><link crowny-fonts.css> 주입 + 오버라이드 html,body,...{font-family:var(--cf-pick,'Crowny Gothic')...} (인라인 style 뒤 로드→승리). 시스템 폴백 제거.

2. 폰트 테스트 모드

  • os-site/폰트테스트.한선fonts.html(100종 라이브 미리보기 한글+영문, "본문/제목 적용" 버튼→localStorage).
  • cf-apply.js(전셸 주입): localStorage crowny.cf-pick → :root --cf-pick 설정 → 고른 폰트가 OS 전역 즉시 반영. world-desktop에 "폰트" 앱 추가.

3. 다운로드/실행 (PWA + 오프라인 ZIP) — 서브에이전트

  • manifest.webmanifest(standalone, 골드 테마) + sw.js(127 자산 프리캐시, cache-first, 디스크 404 0건) + icons/(왕관 SVG 192/512).
  • zip빌드.shcrownyos-web.zip(127파일 5.7MB 자체완결: 셸+100폰트+wasm+cif) → os-site/downloads/ + cowork/public/downloads/.
  • 7셸에 manifest 링크 + SW 등록 주입. index.html 랜딩에 [실행][설치PWA][오프라인ZIP][폰트100종] 버튼 + beforeinstallprompt.
  • cowork: 신규 public/crownyos.html(충돌 회피, 135활성세션) — 실행→os.crowny.org / ZIP 다운로드. server.js가 .zip 정적서빙.

4. 서버 복구 + 영속화

  • ~/Library/LaunchAgents/com.crowny.os.plist(node server.js, KeepAlive) 생성·로드 → :9150 영속 기동.

검증 (병렬 테스트)

  • 폰트 CSS 112 @font-face, 100 woff2 누락 0. PWA manifest 유효+아이콘 2. SW 프리캐시 127 디스크 404 0. 7셸 4종 주입 완전. woff2 magic=00010000(TTF)→format truetype 정합.
  • 라이브 :9150 / · crowny-fonts.css · fonts.html · woff2 · zip · manifest · sw · world-desktop 전부 200. cowork :9720 crownyos.html·zip 200.

관련 파일

  • os-site/폰트적용.한선·폰트테스트.한선(정본 생성기) → crowny-fonts.css·fonts.html
  • os-site/cf-apply.js·manifest.webmanifest·sw.js·zip빌드.sh·icons/·fonts/(100)·downloads/crownyos-web.zip
  • os-site/*.html(7셸 링크/스크립트 주입, index 버튼, world-desktop 폰트앱)
  • crowny-cowork/public/crownyos.html(신규) + downloads/crownyos-web.zip
  • ~/Library/LaunchAgents/com.crowny.os.plist

함정 (학습)

  • **web/*.woff2 = TTF 바이트** → @font-face format('truetype'). [[feedback_crowny_fonts_woff2_is_ttf]]
  • 한선씨 파일목록() 비정상(3271/0) → 읽기()+목록파일 우회.
  • 인라인 style 뒤에 link 로드해야 폰트 오버라이드 승리.

잔여 이슈

  • "CrownyOS v4" 창 정체 미확인(코드에 v4 없음) — 다른 세션 네이티브 창일 가능. 사용자 확인 필요.
  • index.html은 빌드 시 마을 부팅 생성기가 덮어씀 — 다운로드 버튼/폰트링크를 생성기(시작화면생성/마을월드.한선)에도 반영하면 영속(현재 os-site 배포본엔 적용됨).
  • web/*.woff2를 진짜 woff2로 변환하면 용량↓(현재 TTF 2.5MB).