Assemble Korean Input Method Editor. Easy to use and light.
npm install korean-ime-simple> Install using npm
```
npm install korean-ime-simple
`
import KoreanIme from 'Korean-ime-simple'
...
let value = KoreanIme( value, input );
`
``
npm run test
> ``
> Test success
>
> Korean-ime-simples principle is simpple and not complex.
- Assembled Korenn Unicode Rull
- All Korean element character located in sequentially.
- All of Korean is combined three method and that character is two of parts that called Jaeum, Moeum
- All Assembled Korean has rull that 3-dimensions for each syllable.
- Can Disassambling assembled Korean string to elements.
- All syllables have own combination. ( code using named Assembled )
- First Syllables
Normal Characters in Korean keyboard
```
ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎ
`
Possabled to assambling combination for First.
`
ㄲㄸㅃㅆㅉ
`
- Middle Syllable
Normal Characters in Korean keyboard
`
ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅛㅜㅠㅡㅣ
`
Combination
`
ㅘㅙㅚㅝㅞㅟㅠㅢ
`
- Assembled Last Syllable
Normal Characters in Korean keyboard
`
ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ
`
Combination
`
ㄲㄳㄵㄶㄺㄻㄼㄽㄾㄿㅀㅄㅆ
- IME
- Input character is only support single element.
- Check inputted character is Korean element.
- Check previus last character is Korean.
- Check previus character is element string or assembled or combinated element.
- Merger to previus string and inputted character.
- Return fully assembled string.
- first axis called Cho-Sung (초성)
> ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ
- second axis called Jung-Sung (중성)
> ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ
- third axis called Joing-Sung (종성)
> ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ
| | ㄱ | ㄲ | ㄴ | ㄸ | ... | ㅍ | ㅎ |
| --- | --- | --- | --- | --- | --- | --- | --- |
| ㅏ | 가 | 까 | 나 | 따 | ... | 파 | 하 |
| ㅐ | 개 | 깨 | 내 | 때 | ... | 패 | 해 |
| ㅑ | 갸 | 꺄 | 냐 | 땨 | ... | 퍄 | 햐 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| ㅣ | 기 | 끼 | 니 | 띠 | ... | 피 | 히 |
| | ㄱ | ㄲ | ㄴ | ㄸ | ... | ㅍ | ㅎ |
| --- | --- | --- | --- | --- | --- | --- | --- |
| ㅏ | 각 | 깍 | 낙 | 딱 | ... | 팍 | 학 |
| ㅐ | 객 | 깩 | 낵 | 땍 | ... | 팩 | 핵 |
| ㅑ | 갹 | 꺅 | 냑 | 댝 | ... | 퍅 | 햑 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| ㅣ | 긱 | 끽 | 닉 | 띡 | ... | 픽 | 힉 |
| | ㄱ | ㄲ | ㄴ | ㄸ | ... | ㅍ | ㅎ |
| --- | --- | --- | --- | --- | --- | --- | --- |
| ㅏ | 갛 | 깧 | 낳 | 땋 | ... | 팧 | 핳 |
| ㅐ | 갷 | 꺃 | 냏 | 땧 | ... | 팩 | 햏 |
| ㅑ | 갛 | 꺟 | 냫 | 닿 | ... | 퍅 | 핳 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| ㅣ | 깋 | 낗 | 닣 | 띻 | ... | 핗 | 힣 |
- Const
- R, SR, BR
- FIRST, MIDDLE, LAST
- FIRSTs, MIDDLEs, LASTs
- ASSEMBLED_MIDDLE, DISASSEMBLED_MIDDLE
- ASSEMBLED_LAST, DISASSEMBLED_LAST
- Utils
- assemble(first, middle || asambledMiddle, last || assembledLast )
- disassemble( a syllable )
- isKorean( a syllable )
- decrease( a syllable )
> NPM 을 이용하여 설치 합니다.
``
npm install korean-ime-simple
``
npm run test
> ``
> Test success
>
> 문자열 조합을 위하여 이전 문자열에 입력된 문자열을 조합하는 하나의 메소드만이 지원됩니다.
`
import KoreanIme from 'Korean-ime-simple'
...
let value = KoreanIme( value, input );
`
> Korean-ime-simple의 기본 원리.
- Unicode 한글 문자열 원리
- Unicode 상의 모든 한글 문자열은 순서에 맞게 나열 되어있다.
- 모든 한글 문자열은 세가지 방법으로 자음과 모음으로 불리우는 요소들의 결합이다.
- 모든 한글 문자열은 3 차원의 조합 방법을 이용하여 조합된다.
- 완성된 문자열은 기초 문자열로 분해가 가능하다.
- 모든 음절은 그 위치에 따라 조합 방법이 정해져있다.
- 초성
일반적인 한글 키보드에서 지원하는 초성 입력
``
ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎ
`
조합이 가능한 초성
`
ㄲㄸㅃㅆㅉ
`
- 중성
일반적인 한글 키보드에서 지원하는 중성 입력
`
ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅛㅜㅠㅡㅣ
`
조합이 가능한 중성
`
ㅘㅙㅚㅝㅞㅟㅠㅢ
`
- 종성
Normal Characters in Korean keyboard
`
ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ
`
Combination
``
ㄲㄳㄵㄶㄺㄻㄼㄽㄾㄿㅀㅄㅆ
- IME 동작
- 입력되는 문자는 오직 단일 요소여야한다.
- 입력된 문자가 한글인지 판단한다.
- 이전에 입력된 문자열의 마지막 문자가 한글로 합성이 가능한 문자열인지 판단.
- 마지막 문자가 개별 요소인지, 복합된 요소인지, 판단
- 마지막 문자열의 요소와 입력된 글자를 합친다.
- 완성된 문자열을 반환한다.
- 첫번째 축 초성
> ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ
- 두번째 축 중성
> ㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣ
- 세번째 축 종성
> ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ
| | ㄱ | ㄲ | ㄴ | ㄸ | ... | ㅍ | ㅎ |
| --- | --- | --- | --- | --- | --- | --- | --- |
| ㅏ | 가 | 까 | 나 | 따 | ... | 파 | 하 |
| ㅐ | 개 | 깨 | 내 | 때 | ... | 패 | 해 |
| ㅑ | 갸 | 꺄 | 냐 | 땨 | ... | 퍄 | 햐 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| ㅣ | 기 | 끼 | 니 | 띠 | ... | 피 | 히 |
| | ㄱ | ㄲ | ㄴ | ㄸ | ... | ㅍ | ㅎ |
| --- | --- | --- | --- | --- | --- | --- | --- |
| ㅏ | 각 | 깍 | 낙 | 딱 | ... | 팍 | 학 |
| ㅐ | 객 | 깩 | 낵 | 땍 | ... | 팩 | 핵 |
| ㅑ | 갹 | 꺅 | 냑 | 댝 | ... | 퍅 | 햑 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| ㅣ | 긱 | 끽 | 닉 | 띡 | ... | 픽 | 힉 |
| | ㄱ | ㄲ | ㄴ | ㄸ | ... | ㅍ | ㅎ |
| --- | --- | --- | --- | --- | --- | --- | --- |
| ㅏ | 갛 | 깧 | 낳 | 땋 | ... | 팧 | 핳 |
| ㅐ | 갷 | 꺃 | 냏 | 땧 | ... | 팩 | 햏 |
| ㅑ | 갛 | 꺟 | 냫 | 닿 | ... | 퍅 | 핳 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| ㅣ | 깋 | 낗 | 닣 | 띻 | ... | 핗 | 힣 |