← 목록
기타 2026-07-12 3KB 읽기 2분

크라우니워드프로세서 — 문단배치 도구 (도메인 7/10)

개요

크라우니워드프로세서 기초도구 100개 중 도메인 "문단배치" 10함수를 완전 한선씨(hanseonc_high)로 작성·검증 완료. 설계서: /Users/ef/crowny-word/설계서.md

무엇을 했는지

파일: /Users/ef/crowny-word/도구/문단배치.한선 (임포트 없음, 자기완결)

구현 함수 10개 + 내부 헬퍼 2개:

  • 문단나눔(텍스트) — \n 기준 줄분리 → 빈줄 경계로 문단 그룹핑(같은 문단 내 줄은 공백 연결)
  • 정렬설정(정렬들,문단번호,값) — 배열 부족분 "좌"로 패딩 후 설정() 빌트인으로 인덱스 갱신
  • 워드랩(텍스트,폭) — 표시폭 기준 단어랩, 폭 초과 단어는 강제분할()로 절단
  • 글자폭(한글자) — 코드값()<128 → 1(ASCII), else 2
  • 표시폭(문자열) — 글자폭 합산
  • 줄높이(글꼴크기) — 크기*3/2 (자연반올림, 테스트값은 정확히 나눠떨어짐)
  • 번호목록(문단배열) — "N. " 접두
  • 글머리목록(문단배열) — "• " 접두
  • 페이지나눔(총줄수,페이지당줄수) — 각 페이지 시작줄 인덱스 배열
  • 문단병합(문단배열,i) — i·i+1 공백 연결(경계 초과 시 원본 그대로 반환, no-op)
  • 내부 헬퍼: 단어분리(텍스트)(공백코드32 분리), 강제분할(단어,폭)(표시폭 누적 절단)

검증

  • 컴파일: hanseonc_high → 2336토큰/5982큐브, 경고 없음
  • 실행: crownyc run검사: PASS 35/35 (전부 통과, 수정 0회 — 1차 작성으로 전부 통과)
  • 자체시험 범위: 한글+ASCII 혼합 워드랩(폭 준수), 강제분할 단어경계 절단, 페이지 경계(0/빈입력 포함), 정렬 배열 패딩, 문단병합 경계 no-op 등

크라우니코드 학습

~/.claude/scripts/crownycode-learn.sh add로 10함수 전부 학습DB 등재 완료(intent: 문단배치_문단나눔/정렬설정/워드랩/글자폭/표시폭/줄높이/번호목록/글머리목록/페이지나눔/문단병합). 사전 조회: search "워드랩" → HIT 1건(editor_텍스트레이아웃_워드랩_단어경계강제절단, 학습DB에는 주석 1줄만 저장돼 실사용 불가 — 신규 생성 후 재학습으로 실코드 확보).

잔여 이슈

  • 다른 9개 도메인(텍스트버퍼·커서선택·편집연산·실행취소·검색치환·서식런·문서파일·한글통계·클립보드뷰) 아직 미착수.
  • 다음 단계(설계서 명시): 100도구 완성 후 편집기코어.한선 통합 → 크라우니AI 워드 UI 바인딩.