한국어

한글 자모 분리·조합기 — 자음 모음 분리, 유니코드 분해

자모 분리·조합, 글자별 유니코드 분해 표, 첫가끝 자모 변환

브라우저에서 처리 · 서버로 전송되지 않음

5글자 처리

결과

ㅎㅏㄴㄱㅡㄹ ㅈㅏㅁㅗ

소개

한글 자모 분리·조합기는 완성된 한글을 자음과 모음으로 나누고, 거꾸로 낱자 자모를 이어서 글자로 합쳐 주는 도구예요. ’한글’을 ’ㅎㅏㄴㄱㅡㄹ’로 바꾸거나 ’ㅇㅏㄴㄴㅕㅇ’을 ’안녕’으로 되돌릴 수 있어요. 분해 표에서는 글자마다 유니코드 값, 10진수 값, 초성·중성·종성과 그 번호, 그리고 실제 코드가 나오는 계산식을 한눈에 볼 수 있어서 한글 처리 코드를 짜거나 공부할 때 확인용으로 쓰기 좋아요. 이 밖에 글을 한 글자씩 줄을 바꿔 세로로 늘어놓는 기능과, 호환 자모와 첫가끝(조합형) 자모를 서로 바꾸는 기능도 들어 있어요. 모든 변환은 브라우저 안에서 바로 이루어지고 입력한 글은 어디에도 보내지 않아요.

사용법

  1. 변환할 글 칸에 한글이나 자모를 입력해요. 처음에는 예시로 ’한글 자모’가 들어 있어요.
  2. 변환 방식에서 분리, 조합, 분해 표, 한 글자씩, 첫가끝 자모 중 하나를 골라요.
  3. 분리에서는 ’겹모음·겹받침까지 나누기’를 켜거나 꺼서 ㅘ를 ㅗㅏ로 나눌지 그대로 둘지 정해요.
  4. 첫가끝 자모에서는 변환 방향을 고르고, 낱자 자음을 초성 형태로 바꿀지 받침 형태로 바꿀지 정해요.
  5. 결과 옆의 복사 버튼으로 결과를 복사해요. 분해 표는 탭으로 구분된 표로 복사돼서 스프레드시트에 바로 붙여 넣을 수 있어요.

기준

  • 음절 계산: 유니코드 표준 3.12절의 한글 음절 조합 규칙을 그대로 계산해요. 코드 = 0xAC00 + 초성 번호×588 + 중성 번호×28 + 종성 번호이고, 초성은 ㄱ(0)부터 ㅎ(18)까지 19개, 중성은 ㅏ(0)부터 ㅣ(20)까지 21개, 종성은 받침 없음(0)과 ㄱ(1)부터 ㅎ(27)까지 28가지예요. 처리하는 범위는 가(U+AC00)부터 힣(U+D7A3)까지 현대 한글 11,172자예요.
  • 분리: 음절을 초성·중성·종성의 호환 자모(U+3131~U+3163)로 바꿔요. ’겹모음·겹받침까지 나누기’가 켜져 있으면 ㅘ ㅙ ㅚ ㅝ ㅞ ㅟ ㅢ와 ㄳ ㄵ ㄶ ㄺ ㄻ ㄼ ㄽ ㄾ ㄿ ㅀ ㅄ를 두 낱자로 나누고, 입력에 따로 들어 있는 겹자모도 똑같이 나눠요. 된소리는 나누지 않아요. 완성형으로 적힌 글이라면 이 결과는 es-hangul 라이브러리의 disassemble 결과와 같아요.
  • 첫가끝(NFD)으로 들어온 글: macOS 파일 이름처럼 음절이 초성·중성·종성으로 풀려 저장된 글은 분리·조합·분해 표에서 먼저 유니코드 정규화 NFC로 완성형으로 합친 뒤 처리해요. 분해 표에는 입력의 원래 코드 포인트를 그대로 보여 주고, 계산식은 합친 완성형 코드로 적으며 ’첫가끝으로 들어온 글자’라고 따로 표시해요.
  • 조합: 두벌식 자판으로 칠 때와 같은 순서로 자모를 묶어요. 초성 뒤에 모음이 오면 글자가 되고, ㅗ+ㅏ처럼 합칠 수 있는 모음은 겹모음으로, ㄹ+ㄱ처럼 합칠 수 있는 받침은 겹받침으로 합쳐요. 받침 뒤에 모음이 오면 받침(겹받침이면 뒤쪽 자음)이 다음 글자의 초성으로 넘어가요. 이미 완성된 글자 뒤에 자모를 붙이면 이어서 조합하고, 글자를 이루지 못한 자모와 다른 문자는 그대로 남겨요.
  • 분해 표: 화면에 한 글자로 보이는 단위(Intl.Segmenter 그래핌)마다 한 줄을 만들어요. 완성형 음절이 아니면 코드 포인트만 나열해요. 표는 앞쪽 500글자까지 보여 줘요.
  • 한 글자씩: 그래핌마다 줄을 바꿔요. 원래 있던 줄바꿈은 빼고, 공백은 ’공백은 빼기’를 켜면 함께 빼요.
  • 첫가끝 자모: 완성형 음절은 유니코드 정규화 NFD로 초성(U+11001112)·중성(U+11611175)·종성(U+11A8~11C2)으로 풀어요. 낱자 자음은 기본으로 초성 형태가 되고, 옵션을 켜면 받침 형태가 돼요. 받침 형태가 없는 ㄸ ㅃ ㅉ는 초성으로, 초성 형태가 없는 겹받침은 받침으로 바꿔요. 반대 방향은 NFC로 합칠 수 있는 것은 완성형으로 합치고, 남은 첫가끝 자모를 호환 자모로 바꿔요.
  • 입력은 10,000글자까지 변환할 수 있어요.

예시

방식 입력 결과
분리(겹자모까지) 닭 ㄷㅏㄹㄱ
분리(겹자모 유지) 닭 ㄷㅏㄺ
분리(겹자모까지) 과 ㄱㅗㅏ
조합 ㅇㅏㄴㄴㅕㅇ 안녕
조합 ㄱㅗㅏ 과
조합 ㄷㅏㄹㄱㅏ 달가
분해 표 한 U+D55C, 54620, ㅎ 18 · ㅏ 0 · ㄴ 4
계산식 한 0xAC00 + 18×588 + 0×28 + 4 = 0xD55C

참고할 점

첫가끝 자모로 바꾼 결과는 화면에서 원래 글과 똑같이 보일 때가 많아요. 그래서 결과 아래에 코드 포인트를 함께 보여 주니, 실제로 바뀌었는지는 그 목록으로 확인하세요. 옛한글 자모(ㆍ, ㅿ 등)는 현대 한글 음절 계산 범위 밖이라 바꾸지 않아요.

자주 묻는 질문

ㄲ이나 ㅆ 같은 된소리도 ㄱㄱ으로 나눠지나요?

아니요. 된소리 ㄲ ㄸ ㅃ ㅆ ㅉ는 유니코드에서 자모 하나라서 그대로 둬요. '겹모음·겹받침까지 나누기'를 켜면 ㅘ, ㅢ 같은 겹모음과 ㄳ, ㄺ, ㅄ 같은 겹받침만 두 낱자로 나눠요.

조합에서 'ㄷㅏㄹㄱㅏ'는 왜 '닭아'가 아니라 '달가'가 되나요?

두벌식 자판으로 칠 때와 같은 규칙이라서 받침 뒤에 모음이 오면 받침의 마지막 자음이 다음 글자의 초성으로 넘어가요. '닭아'를 만들려면 'ㄷㅏㄹㄱㅇㅏ'처럼 ㅇ을 넣어야 해요.

분해 표의 계산식은 어떤 원리인가요?

유니코드 표준 3.12절에 나오는 한글 음절 배열이에요. 완성형 한글 11,172자는 가(0xAC00)부터 초성 19개 × 중성 21개 × 종성 28개 순서로 늘어서 있어서, 0xAC00 + 초성 번호×588 + 중성 번호×28 + 종성 번호로 코드가 정해져요.

첫가끝 자모와 호환 자모는 뭐가 다른가요?

호환 자모(U+3131~)는 자판으로 ㄱ, ㅏ를 낱자로 쓸 때 나오는 문자예요. 첫가끝 자모(U+1100~)는 초성·중성·종성이 따로 정해진 조합용 문자라서 이어 쓰면 한 글자로 합쳐져 보여요. macOS에서 만든 파일 이름처럼 NFD로 저장된 한글이 이 형태예요.

이모지나 한자를 넣어도 되나요?

네. 한글이 아닌 문자는 분리·조합에서 그대로 남고, 분해 표에서는 코드 포인트만 보여 줘요. 피부색이 들어간 이모지처럼 여러 코드 포인트로 된 글자는 한 줄에 모든 코드 포인트를 나열해요.

필요한 도구가 있나요?