이 도구는 어떻게 작동하나
한글의 음절은 자모가 합쳐진 한 블록 (가-힣, 유니코드 U+AC00..U+D7A3) 입니다. 이 도장은 Intl.Segmenter의 granularity: 'grapheme' 모드로 텍스트를 grapheme 단위로 나눈 뒤, 한글 음절 블록만 골라 카운트합니다. 단순한 str.length는 결합 문자(예: 자모 분리 입력)나 이모지를 잘못 세지만, Intl.Segmenter는 UAX#29 표준에 따라 정확히 셉니다.
여섯낱말 형식은 granularity: 'word' + isWordLike 필터로 어절 단위를 셉니다. 이 역시 단순 split(' ')이 다국어/구두점에서 깨지는 문제를 우회합니다. 한국어 문장 분할에는 따로 granularity: 'sentence'도 쓸 수 있지만 이 데모에서는 사용하지 않습니다.
형식 통과 검사는 사용자 텍스트의 음절/단어 수를 직접 세서 비교합니다. 특정 단어나 키워드 매칭이 아니므로 우회 불가능 — 시조의 종장처럼 첫 어구 강제는 두문시(첫 글자 일치) 외에는 적용하지 않아 창작 자유를 우선했습니다. 저장된 시는 브라우저 localStorage에 머무르며, 외부로 나가지 않습니다. PNG 내보내기는 단일 Canvas로 직접 그립니다.