KR20180098964A - 하나의 버튼에 5개 미만의 알파벳에 배치된 버튼에서의 방향성드래그에 의한 입력방법 및 그 장치 - Google Patents

하나의 버튼에 5개 미만의 알파벳에 배치된 버튼에서의 방향성드래그에 의한 입력방법 및 그 장치 Download PDF

Info

Publication number
KR20180098964A
KR20180098964A KR1020170025822A KR20170025822A KR20180098964A KR 20180098964 A KR20180098964 A KR 20180098964A KR 1020170025822 A KR1020170025822 A KR 1020170025822A KR 20170025822 A KR20170025822 A KR 20170025822A KR 20180098964 A KR20180098964 A KR 20180098964A
Authority
KR
South Korea
Prior art keywords
input
vowel
button
alphabet
vowels
Prior art date
Application number
KR1020170025822A
Other languages
English (en)
Inventor
김민겸
Original Assignee
김민겸
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김민겸 filed Critical 김민겸
Priority to KR1020170025822A priority Critical patent/KR20180098964A/ko
Publication of KR20180098964A publication Critical patent/KR20180098964A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/018Input/output arrangements for oriental characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text

Abstract

현대 한국어와 한글 고어의 입력을 동시에 처리할 수 있는 기술을 제시하였다. 더불어 한국어모드에서 숫자 및 영어 알파벳까지 입력할 수 있는 기술을 제시하였다.

Description

하나의 버튼에 5개 미만의 알파벳에 배치된 버튼에서의 방향성드래그에 의한 입력방법 및 그 장치{.}
본 발명은 키패드에서의 알파벳 입력장치 및 그 방법에 관한 것으로서, 특히 전화기 자판과 같은 적은 수의 키를 지닌 키패드에서의 알파벳 입력장치 및 그 방법에 관한 것이다.
.
이동 통신의 발전에 따라, 음성 통화 위주의 휴대용 단말기에 문자 등의 디 지털 정보를 송수신하는 기능이 추가되었다. 따라서, 초기에는 전화번호 입력을 목적으로 휴대용 단말기에 구비된 키패드는 문자를 입력하는 수단도 포함하게 되 었다. 그런데, 휴대용 단말기의 입력 수단으로 사용되는 키패드의 크기가 점점 작아지므로 키패드에 포함된 버튼의 수는 그 한계를 지니게 된다. 한편, 각 언어 의 알파벳은 키패드에 포함된 12개의 키의 수를 크게 상회하고 있다. 따라서, 전 화기 키패드를 이용하여 하나의 알파벳을 입력하기 위해서는 키패드 상의 버튼들 을 하나 또는 2 이상 조합하여 그 알파벳을 표현하여야 한다.
.
현대 한국어와 한글 고어의 입력을 동시에 처리할 수 있는 기술을 제시하였다. 더불어 한국어모드에서 숫자 및 영어 알파벳까지 입력할 수 있는 기술을 제시하였다.
도1-1. 영어의 표준키패드를 이용하여 기준키패드를 구성한 일례
도1-2. 약 3개의 알파벳을 각 버튼에 배정시, 중앙의 알파벳을 대표알파벳 으로 정하고 좌우에 배치된 알파벳을 후속알파벳으로 후속키패드를 구성한 일례
도1-3. 3~4개의 알파벳을 각 버튼에 배정시, 기준키패드를 구성한 일례
도2-1. 일본어의 후속키패드를 구성한 일례 (1)
도2-2. 일본어의 후속키패드를 구성한 일례 (2)
도2-3. 2차원재활용컨트롤처리방법의 그래프
도2-4. 2차원교차컨트롤처리방법의 그래프
도3-1. 후속키패드를 구성한 일례 (아랍어)
도3-2. 후속키패드를 구성한 일례 (아랍어, 2개의 컨트롤버튼 이용)
도3-3. 약 3개의 알파벳을 각 버튼에 배정시, 중앙의 알파벳을 대표알파벳 으로 정하고 좌우에 배치된 알파벳을 후속알파벳으로 후속키패드를 구성한 일례
도4-1. 기본자음과 기본모음을 쌍으로 각 버튼에 배정한 일례1 (한국어)
도4-2. 기본자음과 기본모음을 쌍으로 각 버튼에 배정한 일례2 (한국어)
도4-3. 기본자음과 기본모음을 쌍으로 각 버튼에 배정한 일례3 (한국어)
도4-4. 기본자음과 기본모음을 반복선택방법으로 입력하는 경우의 흐름도 (한국어의 일례)
도4-5. 3개 모음요소를 적용한 사례
도4-6. 도4-5를 4개 모음요소를 이용한 반복선택방법 적용 관점에서 풀어 표현한 사례
도4-7. 4개 모음요소를 4개의 버튼에 배정한 사례
도4-8. 도4-7을 반복선택방법 적용 관점에서 풀어 표현한 사례
도4-9. 도4-5의 변형 표시 사례
도4-10. 현대 한국어 모음 "ㅡ", "ㅏ", "ㅣ"를 이용한 사례
도4-11. 도6의 변형 표시 사례
도4-12. 도4-10의 변형 표시 사례 ("+"형)
도4-13. 도4-10의 변형 표시 사례 ("-ㅏ"형)
도4-14. 도4-10의 변형 표시 사례 ("H"형)
도4-15. 도4-10의 변형 표시 사례 ("ㅏㅓ"형)
도4-16. 3*4 키패드에서 4행의 버튼을 1행으로 변형한 사례 (1)
도4-17. 3*4 키패드에서 4행의 버튼을 1행으로 변형한 사례 (2)
도4-18. 현대 한국어 모음 "ㅡ", "ㅏ", "ㅓ", "ㅣ"를 이용한 사례
도4-19. 도4-12의 변형 표시 사례
도4-20. 현대 한국어 모음 "ㅡ", "ㅏ", "ㅣ"를 이용하여 모음을 조합하는 사례 (그래프)
도4-21. 현대 한국어 모음 "ㅡ", "ㅏ", "ㅣ"를 이용하여 모음을 조합하는 사례 (그래프2)
도4-22. 키패드 한국어입력 처리과정의 흐름도
도4-23. 2벌식 키보드에서의 한국어 입력 처리과정의 흐름도
도4-24. 키패드 한국어입력 처리과정의 흐름도 (자음입력에 반복선택방법流 의 방법 적용시)
도4-25. 키패드 한국어입력 처리과정의 흐름도 (자음입력에 특정버튼조합 적용시)
도4-26. 키패드 한국어입력 처리과정의 흐름도 (일반)
도4-27. 키패드 한국어입력 처리과정의 흐름도 (글자완성버튼 적용시 추가)
도5-1. 병음사전과 병음을 이용한 한자의 입력
도5-2. 전제연관심플코드를 이용한 영어의 텍스트 입력 사례
도5-3. 병행입력방법에서 입력값을 약속된 심플코드로 처리하는 사례 (1)
도5-4. 병행입력방법에서 입력값을 약속된 심플코드로 처리하는 사례 (2)
도5-5. 클라이언트와 서버를 통한 병행입력방법 적용 사례
도5-6. 색인에 저장된 어구(단어 혹은 구절)의 그룹핑 사례
도6-1. 클라이언트로부터 전송받은 심플코드를 서버(중개서버)가 해석하고, 심플코드를 해석하여 얻은 정보를 그 정보를 필요로 하는 제3서버로 전송하는 사 례
도7-1. 컨트롤처리방법에 의하여 각종 기호를 입력할 수 있는 후속키패드의 일례 (영어키패드)
도7-2. 컨트롤처리방법에 의하여 각종 기호를 입력할 수 있는 후속키패드의 일례 (한국어키패드)
도8-1. 3*4 숫자키패드 윗쪽에 각종 기능버튼이 배치된 기존 휴대폰의 사례
도8-2. 3*4 숫자키패드 아랫쪽에 각종 기능버튼이 배치된 사례1
도8-3. 3*4 숫자키패드 아랫쪽에 각종 기능버튼이 배치된 사례2
도8-4. 3*4 숫자키패드 좌/우측에 각종 기능버튼이 배치된 사례
도8-5. 각종 기능버튼을 컨트롤버튼으로 활용하는 사례1
도8-6. 각종 기능버튼을 컨트롤버튼으로 활용하는 사례2
도8-7. 각종 기능버튼을 컨트롤버튼으로 활용하는 사례3
도8-8. 각종 기능버튼을 컨트롤버튼으로 활용하는 사례4
도9-1. 상하좌우 이동버튼을 가감승제버튼으로 활용시, 각 버튼에 대응되는 기능을 아이콘화하여 액정에 표시한 사례
도9-2. 각 숫자버튼에 연관된 기호를 아이콘화하여 액정에 표시한 사례
도10-1 ~ 10-4. 로마알파벳을 이용하는 언어에 있어서 자모음분리키패드의 사례
도10-5. 자모음분리키패드에서 단축입력방법 사례 및 병행입력방법에서 입 력값을 약속된 심플코드로 처리하는 사례
도10-6. 로마알파벳을 이용하는 언어에 있어서 자모음분리키패드의 사례 (5)
도10-7. 자모음분리키패드에서 언어제한입력방법을 적용한 흐름도 (1)
도10-8. 자모음분리키패드에서 언어제한입력방법을 적용한 흐름도 (2)
도10-9. 불완전 자모음분리키패드에서 언어제한입력방법을 적용한 흐름도
도10-10. (모든 단어를 구비하고 있는 시스템에서) 병행입력방법 적용사례 (1)
도10-11. (모든 단어를 구비하고 있는 시스템에서) 병행입력방법 적용사례 (2)
도10-12. (모든 단어를 구비하고 있는 시스템에서) 병행입력방법 적용 흐름 도 (1)
도10-13. (모든 단어를 구비하고 있는 시스템에서) 언어제한 병행입력방법 적용 흐름도 (2)
도10-14. 풀코드를 시스템에서 풀입력방법 (및 병행입력방법) 적용 사례
도10-15. 대표알파벳만으로 이루어진 어구(단어 혹은 구절)의 색인을 구비 한 시스템에서의 병행입력방법 적용 사례 (1)
도10-16. 대표알파벳만으로 이루어진 어구(단어 혹은 구절)의 색인을 구비 한 시스템에서의 병행입력방법 적용 사례 (2)
도10-17. 권설음 입력을 1차적으로 심플코드(단축입력값)으로 처리하는 사 례
도11-1. 입력값이 클라이언트측에서 해석되는 경우의 시스템 구성도 사례
도11-2. 입력값이 서버측에서 해석되는 경우의 시스템 구성도 사례
도11-3 ~ 11-10. (병행입력방법에서) 심플코드를 처리하는 사례
도11-11. 심플코드(즉, 단축코드 또는 단축입력값) 유형의 사례
도12-1. 컨트롤처리방법에 의하여 기능을 입력하는 사례
도12-2. 액정화면에 각 버튼에 배정된 컨트롤을 표시한 사례
도13-1 ~ 13-4. 입력값의 일부를 풀코드로 처리하고, 다른 일부를 심플코드 로 처리하는 사례
도14-1 ~ 14-2. 길게누름을 이용한 컨트롤처리방법의 사례
도14-3. 길게 누름 후 짧게 누름을 이용한 사례
도14-4. 짧게 누름 후 길게 누름을 이용한 사례
출원인의 선출원(출원번호 10-2000-0031879 및 PCT/KR00/00601)에서 제시하 였던, 발명을 요약하면 다음과 같다.
먼저 "부분전체선택방법"에 의하면, 키패드 상의 각 버튼에 키패드 내의 전 체 버튼들의 배치에 대응하는 형태로 소정수의 격자들을 구성하여 알파벳들을 격 자들에 배치하고, 입력하고자 하는 알파벳(이하 "타겟알파벳"으로 약칭)이 배치된 제1 버튼와 제1 버튼의 격자들에서 그 알파벳의 배치 위치에 대응하여 키패드 상 의 제2 버튼를 조합하여 누름으로써, 원하는 알파벳을 입력하게 된다. 예를 들 어 도1-1에서 "A = [1]+[2] 로 입력하는 것이다.
버튼의 격자들 중에서 제1버튼과 제2버튼이 동일하게 되는 기준격자를 포함 하여 일부의 격자를 사용하는 것, 일부의 격자를 사용하되, 제1버튼과 제2버튼의 조합의 편리도가 높은 순서의 격자를 우선 사용하는 것이 부분전체선택방법의 핵 심이었다. 이렇게 부분전체선택방법의 핵심은 기준격자에 있고, 기준격자의 개 념을 활용할 수 있는 키패드를 "기준키패드"라고 이름 붙였다.
다음으로 기준반복선택방법은 부분전체선택방법을 적용할 수 있도록 구성된 기준키패드에서 기준격자위치의 알파벳으로부터 기준격자에 가까운 순서(부분전체 선택방법에서의 버튼조합의 편리도 순서)로 버튼의 누름횟수에 따라 알파벳이 선 택되도록 하는 방법이었다. 기준반복선택방법은 기준키패드에서 반복선택방법을 적용하는 것인데, 기준키패드를 반복선택방법 전용화하는 것을 "단순키패드"라고 이름 붙였으며, 편의상 기존에 사용되고 있는 것처럼 단순키패드에서 반복선택방 법을 적용하는 것을 단순반복선택방법 이라고 이름 붙였다.
그리고 "컨트롤처리방법"이 있었으며, 여기에는 "첨자컨트롤처리방법" 그리 고 "후속컨트롤처리방법"이 있었다. 첨자컨트롤처리방법은 첨자와 기본알파벳으 로 이루어진 변형알파벳 입력시, 이를 첨자컨트롤과 기본알파벳을 조합하여 변형 알파벳을 입력할 수 있도록 하는 방법이었다. 후속컨트롤처리방법은 어느 버튼에 배정되는 한 그룹의 알파벳들을 대표알파벳과 후속알파벳의 관계로 설정하고, 후 속알파벳 입력시, 대표알파벳과 대표알파벳에 부속된 부속순위를 조합하여 후속알 파벳을 입력할 수 있도록 하는 것이었다. 예를 들어 도4-1에서 "ㅋ = ㄱ+[*]" 로 입력할 수 있는 것이다.
첨자컨트롤처리와 후속알파벳컨트롤처리는 본질적으로 유사하며 후속컨트롤 처리가 더 일반적인 것으로 보면된다. 첨자컨트롤처리의 경우도 특정 알파벳 그 룹에서 기본알파벳에 변형알파벳이 일정한 순서로 부속되어 있는 것으로 볼 수 있 기 때문이다. 단 첨자컨트롤처리의 경우 변형알파벳이 첨자와 기본알파벳으로 분 해될 수 있기 때문에, 알파벳 그룹이 그 모양에 있어서 강한 연관을 가지고 있는 경우인 것이고 후속컨트롤은 그 순서 혹은 발음 등에 있어서 강한 연관을 가지고 있는 경우이다.
컨트롤처리방법을 적용하는 장점은 기본알파벳과 후속알파벳(혹은 변형알파 벳)과의 연관관계를 통하여 후속알파벳(혹은 변형알파벳)을 키패드상에 표시하지 않음으로, 키패드의 배치를 단순화 시킬 수 있는 것과, 컨트롤처리를 통하여 모호 성없이 알파벳을 입력할 수 있는 것이었다. 후속알파벳을 생략하여 단순화한 키 패드를 "후속키패드"라 하였고, 변형알파벳을 생략하여 단순화한 키패드를 "간략 키패드"라 하였고 양자를 합하여 "간략화키패드"라 하였다. 후속알파벳(혹은 변 형알파벳)을 모두 표시한 키패드를 간략화키패드에 대비하여 "전체표시키패드"라 하였다.
전체표시키패드에서도 컨트롤처리방법을 통하여 후속알파벳(혹은 변형알파 벳)을 입력할 수 있다고 하였고, 반대로 간략화키패드에서도 전체표시키패드의 배 치를 기억하고 있는 사용자는 전체표시키패드에서의 입력방법을 이용할 수 있다고 하였다. 이렇게 간략화키패드를 확장하여 전체표시키패드를 구성할 수 있고, 전 체표시키패드에서도 사용자의 편리에 따라 컨트롤처리방법을 통하여 후속알파벳을 입력할 수 있는 호환성이 선출원의 특징 중의 하나였다.
컨트롤처리방법을 적용하는 효과 중의 하나는, 모호성을 제거할 수 있는 효 과 이외에도, 선출원에서 보여준 바와 같이 대표알파벳과 후속알파벳과의 연관관 계를 통하여 후속알파벳을 키패드상에 표시하지 않고 "은닉"함으로써, 키패드를 단순화할 수 있는 것이다. 이를 편의상 "은닉형 컨트롤처리방법"이라고 부른다. 그러나 선출원에서 언급한 바와 같이 후속알파벳(혹은 변형알파벳)을 키패드상에 표시한 전체표시키패드에서도 후속알파벳을 컨트롤처리방법을 통하여 입력할 수도 있다. 이를 편의상 "비은닉형 컨트롤처리방법"이라고 부른다.
본 발명의 특성상 구체적인 예를 들어 설명하는 것이 필수적이기 때문에, 상세한 내용은 실시예를 통하여 설명한다.
먼저 각 언어별로 선출원의 내용을 보완하면 다음과 같다. 이하에서 어느 한 언어에서 언급하는 내용중 타 언어에 적용할 수 있는 내용은 타 언어에서 특별 히 언급하지 않아도 이를 타 언어에 적용할 수 있음은 자명하다.
1. 공통 보완 사항
1.1 선출원 및 본 발명에서의 키패드의 활용범위
선출원 및 본 발명에서 제시한 키패드는 이동단말기 혹은 표준키보드의 숫 자키패드 혹은 스크린상에 소프트웨어적으로 구성되는 키패드 혹은 도어록 등 전 화기자판 형태의 모든 분야에 응용될 수 있음은 자명하다. 또한 표준키보드에 구 비된 숫자키패드는 선출원 및 본발명에서 제시한 키패드와 숫자 버튼의 배치가 다 르나, 선출원 및 본 발명에서의 키패드 버튼상의 배치를 키보드에 구비된 키패드 에도 적용할 수 있음은 자명하다. 예를 들어 선출원 및 본 발명에서 [1] 버튼에 배치된 알파벳을 키보드에 구비된 숫자 키패드의 [1] 버튼에 배치하고, 이하 마찬 가지 방법으로 배치하여 알파벳입력, 심플코드의 활용 및 각종 코드의 암기용으로 활용할 수 있다.
1.2 연타지연시간 및 이타(離打)지연시간의 설정
한국어, 힌디어 등과 같이 자음과 모음이 번갈아 등장하는 언어에 있어서, 대표자음과 대표모음의 쌍을 각 버튼에 배정하고, 자음은 1타 모음은 2타로 선택 하는 방법을 적용함에 있어서, 일정 지연시간(예를 들어 0.1초) 간격 이내에 입력 된 동일버튼 2타를 1차적으로 모음으로 인식하도록 알고리즘을 구현하면, 사용자 에 거부감을 줄이면서 효율적으로 구현이 가능하다. 이 지연시간은 같은 버튼을 연속적으로 누르는 경우 보편적으로 일정시간 눌러지는 시간간격을 고려하여 결정 되어야 할 것이다. 이러한 지연시간을 편의상 "연타지연시간"이라고 부른다. 더 불어 일정 지연시간(예를 들어 1초) 간격 이상으로 입력된 동일버튼 2타를 1차적 으로 2개의 자음으로 인식하도록 구현할 수 있다. 이러한 지연시간을 편의상 "이 타(離打)지연시간"이라고 부른다. 이는 동일버튼을 3타 이상 누르는 경우에도 적 용될 수 있다.
예를 들어 도4-1 혹은 도4-2에서 [1] + [1] 이 만약 0.08초의 지연시간을 가지고 입력되었을 경우, 이를 모음 "ㅗ"로 1차적으로 인식하고, 만약 1.1 초 지 연시간을 가지고 입력되었을 경우 1차적으로 2개의 자음("ㄱ", "ㄱ")으로 인식하 는 것이다. 만약 0.5초의 시간지연을 가지고 입력되었을 경우는, 해당언어의 자 음과 모음의 출현구조를 통하여 하나의 모음이 입력된 것인지 혹은 두개의 자음이 입력된 것인지를 판단할 수 있다. 또한 0.08초 혹은 1.1초의 지연시간으로 입력 되었을 경우에도, 해당언어의 자음과 모음의 출현구조를 통하여 하나의 모음이 입 력된 것인지 혹은 두개의 자음이 입력된 것인지를 판단할 최종적으로 판단할 수 있다.
기존에는 일정 시간간격(예를 들어 1초) 한가지만을 설정하여, 해당 시간 이내에 동일버튼이 연속하여 입력되면 연속 2타로, 해당 시간 이상 지연되어 동일 버튼 2타가 입력되면 각기 1타씩으로 인식하도록 되어 있었다. 차이는 연속 2타 로 판단하는 기준 시간지연값(예. 0.1초)과 각기 1타씩으로 판단하는 시간지연값 (예. 1초)을 다르게 둔 것이다.
보통의 경우 선출원의 부분전체선택방법과 반복선택방법중 입력의 편리도 면에서 반복선택방법이 우수하다고 볼 수 있다. 따라서 이는 반복선택방법의 장 점(입력규칙의 단순성과 편리성)을 활용하면서, 자음과 모음이 번갈아 출현하는 특정언어의 구조를 이용하여 모호성을 대폭회피할 수 있는 것을 의미하며, 연타지 연시간과 이타지연시간을 각각 다르게 설정하고, 사용자로 하여금 지정할 수 있도 록 함으로써, 알고리즘의 구현을 단순화할 수 있는 장점이 있다.
1.3 체인형 컨트롤처리방법
선출원에서 첨자컨트롤처리방법은 본질적으로 후속컨트롤처리방법과 같으며 후속컨트롤처리방법이 더 일반적인 방법이라고 하였다. 즉 선출원의 한국어의 예 에서 ㄱ, ㅋ, ㄲ 의 관계를 대표알파벳과 변형알파벳의 관계로 설명하여, ㅋ = ㄱ +{격음}, ㄲ = ㄱ+{경음}으로 설명하였으나, ㄱ(대표알파벳), ㅋ(2nd), ㄲ(3rd)와 같이 대표알파벳과 후속알파벳의 관계로 두어도 결과는 마찬가지이기 때문이다.
도2-1의 일본어의 경우, 후속컨트롤처리방법에 의한 입력예를 다시 보이면 다음과 같다. あ(대표알파벳), い(2nd), う(3rd), え(4th), お(5th) 와 같이 대 표알파벳과 후속알파벳의 관계를 두고, あ 를 [1] 버튼 1타로 선택(あ=[1])할 수 있으며, 2nd, 3rd, 4th, 5th 컨트롤을 임의의 컨트롤버튼(예. [*])에 두고 버튼의 누름횟수에 따라 반복선택하여 대표알파벳과 후속알파벳의 조합으로 후속알파벳을 입력할 수 있다. 편의상 컨트롤을 선택한 상태를 중괄호로 표기하여 예를 들면, 컨트롤 후입력을 적용시, あ=[1], い = あ+{2nd} = [1]+[*], う = あ+{3rd} = [1]+[*]+[*], え = あ+{4th} = [1]+[*]+[*]+[*], お = あ+{5th} = [1]+[*]+[*]+[*]+[*] 와 같이 되는 것이다.
여기서 다시 あ(대표알파벳), い(2nd), う(3rd), え(4th), お(5th) 와 같이 대표알파벳과 후속알파벳의 관계를 두되, 컨트롤버튼에 후속컨트롤을 배치하고 반 복선택방법으로 선택하는 것으로 하지 않고, 단지 "후속" 혹은 "다음" 컨트롤을 특정 컨트롤버튼(예. [*])을 한번 눌러 선택할 수 있도록 하고, 2차후속알파벳(예. い)을 입력시 대표알파벳과 "다음컨트롤"의 조합으로 입력하고 (즉 い = あ+{다음} = あ+[*]), 3차후속알파벳 え 입력시 선행알파벳(2차후속알파 벳)을 3차후속알파벳에 대한 새로운 대표알파벳(2차대표알파벳)으로 간주하여 2차 후속알파벳과 "다음컨트롤"을 조합하여 입력할 수 있다. 즉 う = い+{다음} = [1]+[*] + [*] 이 되는 것이다. 마찬가지로 4차후속알파벳 え 입력시 바로 앞의 선행알파벳(3차후속알파벳) う 를 4차후속알파벳에 대한 새로운 대표알파벳(3차대 표알파벳)으로 간주하여 え 입력시 え = う+{다음} = [1]+[*]+[*] + [*] 와 같이 입력할 수 있다. 5차후속알파벳에 대해서도 마찬가지이다.
이 결과는 컨트롤버튼에 부속순위 컨트롤(2nd, 3rd, 4th, 5th, ...)을 배치 하고 이를 반복선택방법에 의하여 선택하도록 하면서, 대표알파벳과 부속순위컨트 롤을 조합하여 입력하는 것이나 같은 결과이다. 여기서 1차대표알파벳 あ 를 모 호성 없이 선택할 수 있으면, 2차후속알파벳 い 도 모호성 없이 입력할 수 있는 것을 쉽게 알 수 있으며, 나머지 후속알파벳에 대해서도 같다. 즉 え = い+{다음} = [1]+[*] + [*] 와 같이 되는데, い 를 모호성없이 입력할 수 있었고, い 역시 "다음컨트롤"과 조합되는 형태이므로 결과적으로 모호성 없이 후속알파벳 인 え를 입력할 수 있는 것이다.
이렇게 대표알파벳과 후속알파벳의 연관관계에서, 컨트롤버튼에 부속순위컨 트롤을 두지않고, "다음" 컨트롤 하나만 둔 것으로 하고, 후속알파벳 입력시 선행 알파벳을 새로운 대표알파벳으로 간주하여 이 선행알파벳과 "다음" 컨트롤을 조합 하여 입력하는 방법을 편의상 "체인형 후속컨트롤처리방법"이라고 부른다. 선출 원에서 부속순위컨트롤을 후속컨트롤버튼상에 표시하지 않아도, 사용자는 특정 버 튼이 후속컨트롤버튼인 것을 인지하고 있으면 된다고 하였으나, 이러한 체인형 후 속컨트롤처리방법의 장점은 "다음 컨트롤"을 컨트롤버튼상에 표시하더라도 그 표 시가 간략해 질 수 있는 것이다. 본 발명에서는 선출원에서 설명한 "후속컨트롤 처리방법"과 "체인형 후속컨트롤처리방법"의 결과가 같으므로 이를 혼용하여 사용 한다.
1.4 건너뛰기 컨트롤처리방법
첨자컨트롤처리방법에서 ".. + e" 로 이루어진 변형알파벳 ё을 입력함에 있어서 이를 .. 과 e 를 각각 조합하여 입력할 수 있음을 보였다. 혹은 e 를 기 본알파벳으로 두고 이와 모양 혹은 순위 등에서 연관성을 가지고 있는 나머지 부 속된 알파벳을 후속알파벳으로 두어, 부속순위와 기본알파벳의 조합으로 입력할 수도 있었다(예를 들어 e(기본알파벳), /e(2nd), ^e(3rd), . . . ). 또한 이렇게 알파벳(즉 특정 숫자버튼)과 조합하여야만 의미를 가질 수 있는 컨트롤들이 배치 되는 컨트롤 버튼은 반복적으로 사용하여도 모호성 없이 변형알파벳 혹은 후속알 파벳을 입력할 수 있었다.
로마자의 경우 프랑스어에서 11개(/e, ^e, `e, ё, `a, ^a, ^i, `u, ^u, c, ^o)의 변형알파벳이 사용되며, 변형알파벳에 사용된 윗점의 종류는 5가지(/, ^, `, .., s) 이다. 첨자컨트롤의 선택순서를 /, ^, `, .., s 로 하였을 경우, ^a = a+[*]+[*] 로 입력하여야 한다. 그러나, 프랑스어에서 알파벳 a 에는 첨자 "`"와 "^"의 두가지 밖에 결합할 수 없으므로, 첨자 "/" 가 붙을 수 없고, 이를 건너뛰 어 결합이 가능한 첨자 "^"이 선택되도록 하면, ^a = a+[*] 로 입력할 수 있다. 이를 편의상 "건너뛰기 컨트롤처리방법"이라 부른다. 즉 이는 a (기본알파벳), `a(2nd), ^a(3rd) 와 같이 후속알파벳의 부속순위를 두고 컨트롤처리방법으로 후 속알파벳(혹은 변형알파벳)을 입력하는 것과 같다.
마찬가지로 일본어에서 장음이 존재하는 행은 あ행, や행의 알파벳과 た행 의 알파벳 중 つ 뿐이고, 탁음이 존재하는 행은 か행, さ행, た행, ほ행의 알파벳 뿐이고, 반탁음은 오직 ほ행의 알파벳에만 존재한다. 결국, 알파벳 つ 에는 장음 과 탁음의 2가지 변형알파벳이 존재하고, ほ행의 알파벳에는 탁음과 반탁음의 2가 지 변형알파벳이 존재하는 것을 알 수 있다. 따라서, 2가지 변형알파벳이 존재하 는 6개의 알파벳을 제외한 나머지 알파벳의 변형알파벳 입력시 첨자컨트롤버튼을 1번 누름으로써 가능하도록 할 수 있다. 예를 들어, 컨트롤버튼을 [*] 버튼으로 두고, 컨트롤 후입력을 적용시, ぁ = あ+[*], が = か+[*] 와 같이 할 수 있는 것 이다. 2가지 변형알파벳이 존재하는 6개의 알파벳의 경우 변형알파벳 입력시는 변형알파벳의 사용빈도순으로 컨트롤이 선택되도록 할 수 있다. 예를 들어, 예를 들어, 컨트롤버튼을 [*] 버튼으로 두고, 컨트롤 후입력을 적용시, っ = つ+[*], づ = つ+[*]+[*], ぼ = ほ+[*], ぽ = ほ+[*]+[*] 와 같이 할 수 있는 것이다. 즉 이는 컨트롤 선택에 있어서, 기본알파벳과 결합할 수 없는 컨트롤은 그 효력을 발 생시키지 않도록 하는 것이다. 예를 들어 が = か+[*] 로 하여도 [*]이 장음컨트 롤이 아닌 탁음컨트롤을 선택한 것으로 처리할 수 있는 것은 컨트롤과 결합되는 기본알파벳 か에는 장음이 없으므로 장음컨트롤을 선택한 것으로 하지 않고, 건너 뛰어 탁음컨트롤을 선택한 것으로 하기 때문이다.
컨트롤의 선택을 엄격하게 적용할 경우의 장점은 실제로 사용되지 않는 알 파벳의 입력도 가능하도록 할 수 있는 것이다. 예를 들어 프랑스어 알파벳 b 에 첨자 ".." 이 붙은 알파벳은 존재하지 않으나, 이러한 알파벳의 입력도 가능하도 록 할 수 있으며, 일본어 알파벳 あ에 탁점이 붙은 알파벳은 존재하지 않으나 그 러한 알파벳도 입력이 가능하도록 할 수 있는 것이다.
컨트롤을 반복선택방법으로 선택하더라도 컨트롤처리를 통하여 입력시, 자 판에 표시된 대표알파벳을 모호성 없이 입력할 수 있으면(예를 들어 자판에 표시 된 대표알파벳이 하나뿐이거나 다수이어도 부분전체선택방법 등 모호성 없는 방식 을 적용할 경우), 나머지 후속알파벳도 모호성 없이 입력될 수 있다. 이는 컨트 롤처리를 통하여 모호성이 제거되기 때문인데, 컨트롤은 단독으로 특정 알파벳을 나타내지 못하고, 다른 알파벳과 결합하여야 하기 때문인 점에 기인한다.
1.5 숫자 및 영어 알파벳의 컨트롤처리방법에 의한 입력
선출원에서 제시하였던 바, "기준격자에 가까운 순서"로 자국어 알파벳을 배치하고, 다음으로 숫자 그리고 영어알파벳을 배치할 수 있음을 설명하였고, 기 준반복선택방법 적용시 역시 기준격자에 가까운 순서로 이를 자국어 알파벳, 숫자 가 선택되도록 할 수 있음을 설명하였다. 마찬가지로 후속컨트롤처리방법을 적용 함에 있어서, 특정버튼에 속한 자국어 알파벳 뿐만아니라, 숫자, 영어알파벳(로마 자 계열언어가 아닌 경우)도 후속컨트롤처리방법을 통하여 입력할 수 있다.
숫자 혹은 영어알파벳을 자국어 후속알파벳에 이어 후속알파벳으로 둘 수도 있다. 편의상 일본어의 경우를 예로 들면, あ(대표알파벳), い(2nd), う(3rd), え(4th), お(5th), 1(6th), .(7th), q(8th), z(9th) 와 같이 둘 수 있는 것이다. 또한 숫자 혹은 영어알파벳을 컨트롤처리하기 위한 가용한 버튼이 있다면, あ(대 표알파벳), い(2nd), う(3rd), え(4th), お(5th) 를 위한 컨트롤버튼을 임의의 버 튼(예를 들어 [*] 버튼)으로 두고, 다른 버튼(예를 들어 [#] 버튼)을 숫자 혹은 영어알파벳을 위한 버튼으로 두어 あ(대표알파벳), 1(2nd), .(3rd), q(4th), z(5th) 의 관계를 두어 숫자 혹은 영어 알파벳을 입력할 수 있다. 예를 들어 1 = あ+[#] = [1]+[#], . = あ+[#]+[#] = [1]+[#]+[#], q = あ+[#]+[#]+[#] = [1]+[#]+[#]+[#] 과 같이 된다. 컨트롤버튼이 가용하다면, 숫자입력을 위한 컨트 롤버튼 그리고 영어알파벳을 위한 컨트롤버튼을 별도로 둘 수도 있다.
이는 타 언어에 있어서도 적용될 수 있고, 후술하는 각종 기호의 입력에도 적용될 수 있다.
1.6 영어알파벳의 발음에 따른 그룹핑
선출원에서 각 언어의 키패드를 구성함에 있어서, 컨트롤처리방법의 적용 및 암기용으로의 사용을 고려하여, 유사 발음군으로 알파벳을 그룹핑하여 각 숫자 버튼에 배정하였다. 영어의 경우 현재 사전순서에 따라 3 혹은 4개씩 알파벳을 그룹핑하여 각 그룹을 각 숫자버튼에 배정한 방법이 널리 사용되고 있으나, 마찬 가지로 발음의 유사성을 고려하여 그룹핑하고 각 숫자버튼에 배정하는 것이 가능 하다. 다음은 발음의 유사성에 따라 영어의 자음을 9개의 그룹으로 그룹핑한 몇 가지 사례이다.
B P / C S X / D T / F V H / G K Q / J Z / L R / M N / W Y
B P V / C S X / D T / F H / G K Q / J Z / L R / M W / N Y
영어의 자음을 8개 그룹으로 그룹핑한 사례를 들면 다음과 같다.
B F P V / C G K Q / S X / D T / J Z / L R / M W H / N Y
B F P V / C G K Q / S X / D T / J Z / L R / M N / W Y H
위의 사례 이외에 많은 변형이 가능하다. 5개의 모음은 2개씩 그룹핑된 그 룹에 적절히 넣으면 된다. 이는 추후 설명하는 심플코드를 이용한 단축입력방법 적용시 편리를 줄 수 있다. 비영어권 언어의 경우, 이렇게 그룹핑된 영어 알파벳 을 각 버튼에 배정함에 있어서, 자국어 발음군과의 유사성을 고려하여 배정할 수 있다. 예를 들어 한국어의 경우 G, K, Q 그룹을 발음이 유사한 알파벳 "ㄱ"이 배 정된 버튼에 배정하는 것이다. 일본어의 경우 G, K, Q 그룹을 발음이 유사한 알 파벳 "か" 가 배정된 버튼에 배정하는 것이다. 따라서 영어알파벳의 그룹핑에 있 어서도, 각 언어의 자국어 알파벳 그룹핑을 고려하여 그룹핑할 수 있다.
2. 각 언어별 보완사항
*이하에서 각 언어별로 선출원의 내용을 보완하고 발전된 사항을 기술하면 다음과 같다. 각 언어별 보완사항에서 기술된 내용중에도 어느 한 언어에서 설명 한 내용이 타 언어에 적용될 수 있는 경우, 이를 특별히 지적하지 않아도 타 언어 에서 적용될 수 있음은 자명하다.
2.1 영어
선출원에서 전체표시키패드에서 컨트롤처리방법을 통하여 후속알파벳을 입 력할 수 있는 것처럼, 영어의 경우에도 대표알파벳 이외의 알파벳을 자판상에 표 시하고도 컨트롤처리를 통하여 입력하는 것이 가능하다. 영어의 경우 후속컨트롤 (2nd, 3rd)들은 같은 컨트롤버튼상에 배치될 수도 있고(예를 들어 [#] 버튼), 각 각을 다른 버튼에 분리하여 배치할 수도 있다(예를 들어 [*], [#] 버튼). 영어의 경우에 ABC가 하나의 버튼에 배치되어 있을 때, A를 대표알파벳으로 하면 B, C가 각각 후속컨트롤처리를 통하여 입력이 되고, B를 대표알파벳으로 하면, A, C가 각 각 후속컨트롤처리를 통하여 입력되는 것이다. 선출원에서 언급한 바와 같이 대 표알파벳과 후속알파벳의 부속순위는 사용빈도 등을 고려하여 정해질 수 있다.
예를 들어 A, B, C 그룹에서 A를 대표알파벳으로 하고, 2nd, 3rd 컨트롤을 [*] 버튼에 두고, 컨트롤 후 입력을 적용하면, B = A+{2nd} = [2]+[*], C = A+{3rd} = [2]+[*]+[*] 이 된다. 만약 B 를 대표알파벳으로 하고, 2nd, 3rd 컨트 롤을 각각 [*] 버튼과 [#] 버튼에 두고, 컨트롤 후 입력을 적용하면, A = B+{2nd} = [2]+[*], C = B+{3rd} = [2]+[#] 이 된다. 도1-2는 더욱 알파벳의 식별성을 용 이하게 하기 위하여 각 그룹의 알파벳 중 중앙의 알파벳을 대표알파벳으로 하여 중앙에 두고 좌우에 각각 후속알파벳을 배치한 사례이다. D = E+{2nd} = [3]+[*] 이 된다.
이렇게 대표알파벳만을 대표알파벳이 속한 버튼 1타로 입력하고 나머지 알 파벳을 컨트롤처리방법에 의하여 입력하는 것을 편의상 “대표알파벳제외 컨트롤 처리방법(CPMERC : Control Processing Method Except Representative Chanracter)”라고 부르기로 한다.
또한 P, Q, R, S 4개 알파벳이 [7] 버튼에 배정되고, W, X, Y, Z 4개의 알파벳이 [9] 버튼에 배정되는 경우, 선출원의 한국어의 실시예에서 지적한 바와 같이, 4개의 알파벳 중 한 개의 알파벳을 상하인접조합을 이루는 격자에 배치하여 부분전체선택방법을 적용할 수 있다. 도1-3을 참고한다.
2.2 일본어
선출원에서 일본어의 경우에 있어서, 50음도를 기준으로 알파벳을 그룹핑하 고, あ단의 알파벳(あ, か, さ, …)을 대표알파벳으로 하고 나머지 알파벳을 후속 알파벳으로 하여 후속컨트롤처리할 수 있음을 선출원에서 밝혔다. 선출원에서 제 시한 후속알파벳의 부속순위를 적용함에 있어서 선출원의 방법3과 거의 유사하게 다음의 표와 같이 50음도표를 단순히 적용할 수도 있다. 이는 부속순위의 단순성 으로 사용자에 친근감을 줄 수 있다. ん은 선출원에서와 마찬가지로 임의의 대표 알파벳에 부속된 것으로 간주하여 처리할 수 있다. 또한 や행 혹은 わ행의 비어 있는 곳에는 50음도의 알파벳(예를 들어, い, う, え)이 부속되어 있는 것으로 혹 은 ん이 부속되어 있는 것으로 간주할 수도 있다.
선출원의 방법3 50음도 단순활용 방법
기준 격자 2nd 3rd 4th 5th 기준 격자 2nd 3rd 4th 5th
선출원에서 일본어의 경우에 편의상 가장 대표성을 가진다고 볼 수 있는 1 번째 단의 알파벳을 대표알파벳으로 하였는데, 이 역시 임의의 단의 알파벳을 대 표알파벳으로 할 수도 있고, 각 그룹에서 임의의 알파벳을 대표알파벳으로 할 수 도 있다. 또한 각 행의 알파벳을 그룹으로하여 각 버튼에 배정함에 있어서도, 선 출원에서 언급한 바와 같이 키패드상 버튼의 행을 기준([1], [2], [3], [4], . . . )으로 배정할 수도 있고, 열을 기준([3], [6], [9], [2], [5], . . . )으로 배 정할 수도 있다. 마찬가지로 행을 기준으로 혹은 열을 기준으로 배정하지 않고, 임의로 배정할 수도 있다.
또한 선출원의 일본어의 예에서 "ん"을 [0]버튼의 기준격자위치에 두고, [*]버튼과 [#] 버튼에 각각 2nd, 3rd 그리고 4th, 5th 컨트롤을 둔 경우, [0] 버 튼을 장음/탁음/반탁음 입력을 위한 컨트롤버튼으로 활용하기 위하여, "ん"을 [0]버튼이 아닌 임의의 숫자버튼에 배정된 것으로 가정하였던 바 있다. 그러나 이 경우는 [0]버튼의 기준격자 위치에 "ん"을 두고, 기준격자에 가까운 순서로 장 음/탁음/반탁음 컨트롤을 추가적으로 배치하고 컨트롤 선택에 반복선택방법을 적 용하여도 된다. 왜냐하면 "ん"은 한개의 단어에서 연속하여 등장하는 경우가 없 기 때문이다. 도2-1를 참고한다. 이렇게 연속하여 등장하지 않는 알파벳을 해당 알파벳이 배치된 버튼 1타에 선택하도록 하고, 2타, 3타, … 에 다른 컨트롤들을 선택할 수 있도록 하는 것은 다른 모든 언어의 경우에도 적용될 수 있다. 후술하 는 한국어의 모음요소를 활용한 방법에서도 이러한 성질을 활용하고 있다.
2.3 아랍어
아랍어에는 28개의 자음이 존재한다. 선출원에서 숫자의 의미를 가지는 아 랍어 자음을 다음과 같이 그룹핑하고 키패드 버튼상에 배정하고, 각 알파벳을 가 장 작은 숫자의 의미를 가지는 알파벳을 각 그룹의 대표알파벳으로 하여 기준격자 의 위치에 배치하고 나머지 알파벳을 작은 숫자의 의미를 가지는 알파벳으로부터 기준격자에 가까운 순서(선출원에서 설명)로 키패드상에 배치하는 방안을 제시한 바 있다. 또한 선출원에서 일본어, 로마자계열 언어, 한국어, 인도어, 아랍어 등 의 경우에 컨트롤 처리에 의하여 알파벳을 입력하는 방법을 제시한 바 있다. 아 랍어의 경우에 있어서도, 별로 사용되지 않는 모음을 첨자로 간주하여 첨자컨트롤 처리하는 방법을 제시한 바 있다.
여기서는 아랍어의 자음을 컨트롤처리(후속컨트롤처리)하는 방법을 제시하 고자 한다. 다음은 선출원에서 아랍어의 자음을 그룹핑하고 각 버튼에 배정한 예 이다.
Figure pat00001
[1] 버튼에 배정된 1, 10, 100의 의미를 가지는 알파벳 중 1의 의미를 가지 는 알파벳을 대표알파벳으로 하여 키패드상 표시하고 나머지 10, 100의 의미를 가 지는 알파벳을 후속컨트롤처리할 수 있다. 컨트롤버튼은 선출원에서와 같이 임의 의 버튼을 사용할 수 있다. 후속컨트롤버튼을 [*] 버튼을 사용하고, 2nd, 3rd 컨 트롤을 배치할 경우, 자음 입력에 있어서 평균 입력타수는 2타가 된다. 버튼당 하나의 알파벳만이 배치되므로 버튼에 표시된 알파벳을 선택함에 있어서는 부분전 체선택방법으로 선택할 필요는 없다. 알파벳의 배치는 개념적인 것이므로 다음에 설명하는 바와 같이 키패드상에 알파벳을 배치하지 않을 수도 있다.
다시 선출원의 일본어의 경우처럼 후속컨트롤을 다른 버튼으로 분리할 수 있다. 예를 들어 [#] 버튼에 3rd 컨트롤 분산하여 배정한다면, 평균입력타수 약 1.7타((1+2+2)/3)가 되며 28개 자음을 선출원에서 제시한 바와 같이 모호성 없이 입력할 수 있게 된다.
본 출원에서는 각 단위의 알파벳의 사용빈도와 상관없이 숫자의 의미가 적 은 알파벳을 각 그룹의 대표알파벳으로 하고 나머지 단위의 알파벳에 있어서도, 적은 숫자의 의미를 가진 알파벳을 먼저 선택할 수 있도록 하는 예를 보인다. 컨 트롤은 선입력 혹은 후입력될 수 있다.
후속컨트롤을 모두 [*] 버튼에 배치하고, 1단위의 알파벳을 대표알파벳으로 하고, 10단위알파벳 선택시 컨트롤 버튼 선입력을 적용하면,
Figure pat00002
= [*] +
Figure pat00003
가 되고,
Figure pat00004
= [*] + [*] +
Figure pat00005
가 된다. 나머지 알파벳에 대해서도 동일하다. 이 경우 [#]버튼을 모음컨트롤처리를 위해 사용할 수도 있다.
1000의 의미를 가지는 알파벳 하나만을 [0] 버튼에 배치하면, 입력시
Figure pat00006
= [0] 이 된다. 1000의 의미를 가지는 알파벳을 1그룹알파벳으로 처리할 수도 있다. 이 경우
Figure pat00007
= [*]+[*]+[*]+
Figure pat00008
가 될 것이다. 혹은 1000의 의미를 가지 는 알파벳이 70의 의미를 가지는 알파벳(
Figure pat00009
)에 윗점이 붙은 형태이므로, 윗점컨 트롤을 각종 모음컨트롤에 앞서 선택되도록 하여 컨트롤처리하는 것도 가능하다. 즉 윗점컨트롤 선입력시
Figure pat00010
= [윗점컨트롤] +
Figure pat00011
로 입력할 수 있는 것이다. 윗점이 붙어 이루어진 다른 알파벳에도 이러한 윗점컨트롤처리를 다른 입력방법과 병행하여 허용할 수 있다. 이 경우 [0] 버튼을 다른 용도의 컨트롤버튼(예를 들 어 모음컨트롤버튼)으로 활용하는 것이 용이하게 된다.
만약 컨트롤을 분리하여 3rd 컨트롤(여기서는 100단위컨트롤)을 [#] 버튼으 로 하면 200의 의미를 가지는 알파벳
Figure pat00012
= [#] +
Figure pat00013
가 된다. 이 경우도 선출 원의 일본어의 경우와 같이 입력시,
Figure pat00014
= [*] + [*] +
Figure pat00015
을 병행하여 허용 할 수 있다. 1000의 의미를 가지는 알파벳을 1그룹알파벳에 속하게 할 경우, 경 우
Figure pat00016
= [*]+[*]+[*]+
Figure pat00017
혹은
Figure pat00018
= [#]+[#]+
Figure pat00019
가 된다. 즉 [*] 버튼에 2nd, 3rd, 4th 컨트롤이 배치되어 있는 것으로 그리고 [#] 버튼에 3rd, 4th 컨트 롤이 배치되어 있는 것으로 생각하면 된다. 아랍인들이 우에서 좌로 가로쓰기를 하는 점을 고려하여, 즉 [#] 버튼에 2nd, 3rd, 4th 컨트롤을 배정하고, [*] 버튼 에 3rd, 4th 컨트롤을 배치하는 것도 가능하다.
이는 아랍어에 있어서, 주로 사용되는 자음을 평균 약 1.7타에 모호성 없이 입력할 수 있는 의미가 있고, 또한 아랍인들은 자국어 알파벳이 가지고 있는 숫자 의 의미를 알고 있으므로, 굳이 키패드상에 알파벳(예에서, 1단위알파벳 즉 대표 알파벳)을 표시하지 않고도, 알파벳을 입력할 수 있는 매우 큰 장점이 있다. 다 시 말하면, 숫자만이 표시된 키패드를 통하여 본 출원에서의 방법을 적용시, 대표 알파벳이 어느 단위의 알파벳 인지, 컨트롤버튼이 어느 단위의 알파벳을 위한 컨 트롤버튼인지, 후속컨트롤이 하나의 컨트롤버튼을 사용한다면, 각 후속컨트롤의 선택순서는 어떤지, 컨트롤버튼을 선입력하는지 등의 규칙만 숙지하면, 실제 생활 에서 필요한 대부분의 알파벳(아랍어 자음)을 입력할 수 있는 것이다.
선출원에서 지적한 바와 같이 모음을 역시 컨트롤처리할 수 있는데, [#]과 [*]을 모두 자음컨트롤처리를 위해 사용하는 경우, 선출원의 일본어에서와 같이 1000의 의미를 가지는 알파벳을 [0] 버튼에 배치하지 않고, [1] 버튼에 배치하여 컨트롤 처리하여, [0]버튼을 모음처리용 컨트롤 버튼으로 지정하고 반복선택방법 에 의해 첨자형태의 모음(모음컨트롤, 첨자컨트롤)을 선택할 수 있다. 방법은 마 찬가지로 사용빈도순으로 버튼의 누름횟수에 따라 모음컨트롤(첨자형태의 모음)이 선택되는 것이다. 자음용 후속컨트롤버튼으로 [*] 하나만 사용된다면, 모음용 컨 트롤버튼으로 [#]을 사용할 수도 있고, [#]과 [0]을 모두 사용할 수도 있다.
도3-1, 도3-2의 예시에서는 1 ~ 9의 의미를 가지는 알파벳(1단위 알파벳)을 각 그룹의 대표알파벳으로 하였으나, 각 그룹에서 가장 사용빈도가 많은 알파벳을 대표알파벳으로 할 수도 있다. 그리고 혼동을 줄이기 위하여 1단위알파벳(1 ~ 9 의미를 가지는 알파벳), 10단위알파벳(10 ~ 90의미를 가지는 알파벳), 100단위알 파벳(100 ~ 900의미를 가지는 알파벳) 중 임의의 단위의 알파벳을 대표알파벳으로 할 수도 있다. 도3-3은 10단위알파벳을 대표알파벳으로 하여 각 그룹의 중앙에 두고 나머지 좌우에 배정된 알파벳(100단위알파벳, 1단위알파벳)을 좌우측에 배정 된 컨트롤버튼을 이용하여 컨트롤처리방법에 의하여 입력하는 사례이다.
마찬가지로 후속컨트롤에 의하여 선택되는 알파벳도 사용빈도에 따른 각 단 위의 알파벳으로 할 수 있다. 예를 들어 100단위알파벳이 가장 사용빈도가 많아, 이를 대표알파벳으로 하고, 그 다음으로 1단위알파벳이 사용빈도가 많다면, 2nd 컨트롤(즉 여기서는 1단위컨트롤)과 대표알파벳을 조합하여 입력할 수 있도록 하 고, 10단위알파벳을 3rd 컨트롤(즉, 10단위컨트롤)과 대표알파벳을 조합하여 입력 할 수 있도록 하는 것이다.
선출원에서 전체표시키패드에서도 후속알파벳을 컨트롤처리방법을 통하여 입력하는 것이 가능하다고 하였으므로, 마찬가지로 선출원의 키패드에서도 자음을 후속컨트롤처리방법에 의하여 입력하고, 모음을 첨자컨트롤처리방법에 의하여 입 력하는 것이 가능하다. 3*4 키패드 내에서, 모음용 첨자컨트롤버튼을 [0] 버튼으 로 하면, 자음 입력을 위한 컨트롤버튼을 [*] 버튼과 [#] 버튼에 분산하는 것이 가능하다.
2.4 한국어
2.4.1 각종 컨트롤의 적용
도4-1 ~ 도4-3은 한국어의 기본자음과 기본모음을 쌍으로 각 버튼에 배정하 고, 키패드상 표시된 기본자음과 기본모음을 반복선택방법에 의하여 입력하는 방 법이다. 도4-1 에서 격음, 경음 그리고 확장모음을 컨트롤처리방법에 의하여 입 력하도록 하였고, 도4-2에서는 격음과 경음만을 컨트롤처리방법에 의하여 입력하 도록 하였다. 도4-3은 격음, 경음, 기본모음, 그리고 확장모음을 컨트롤처리방법 에 의하여 입력하도록 한 사례이다.
2.4.2 프로그램 구현
도4-4는 단지 구현을 위한 흐름도의 일례일 뿐이고 좀 더 효율적인 프로그 래밍이 가능하다. 예를 들어 도4-4에서 받침의 자음부분이 왔을 경우 이중받침을 이룰 수 있는 자음인가를 앞서 체크함으로써, 약간 더 효율적인 구현이 가능하다.
선출원에서 제시한 한국어의 예는 유사한 특징(자음과 모음이 번갈아 출현 하는 구조)을 가지는 타 언어에 있어서도 응용될 수 있다. 타 언어의 경우에는 타 언어의 자모출현 특성을 반영하면 된다.
예를 들어 기본자음과 기본모음의 쌍을 이용하여 힌디어 입력시스템을 구성 하고자 하면, 힌디어의 특성을 반영하여 한국어의 경우와 유사하게 구현할 수 있 으며, 힌디어의 경우 한국어의 경우보다 자음과 모음의 출현규칙이 간단하므로 더 쉽게 구현할 수 있다.
2.5 힌디어
출원인의 선출원에서 힌디어 자음을 9개의 그룹으로 그룹핑하여 [1] ~ [9] 버튼에 배정함으로써, [0] 버튼에 배정된 모음은 [0]버튼 1타로 선택하게 되는데, 일관성을 위하여 자음을 10개의 그룹으로 그룹핑하고 항상 대표자음은 1타로 선택 되고 10개의 모음은 2타로 선택되도록 할 수 있다. 키패드상에 배치되지 않고 자 주 쓰이지 않는 모음 ___(ri)는 컨트롤처리방법에 의하여 처리할 수 있다. 자음 을 10개의 그룹으로 그룹핑 하는데 있어서는 선출원에서 제시한 바와 같이 발음의 유사성을 고려하여 그룹핑하는 방법이 가능하다. 10개의 그룹으로 그룹핑하는 일 례를 들면 다음과 같다.
Figure pat00020
그리고 힌디어의 첫번째 모음 ___(a) 는 자음과 자음 사이에서 생략될 수 있다고 한다. 즉 자음이 연속하여 나오게 되는 것이다. 이러한 경우 "자음 + ___(a) + 자음" 으로 입력하더라도 "자음 + 자음" 으로 표시되도록 하는 것은 매 우 용이한 일이다. 물론 직접 "자음 + 자음"을 입력하는 것도 가능하나 이 경우 동일한 대표자음이 연속하여 선택되어 두개의 자음이 하나의 모음으로 인식될 수 있는 가능성이 많아진다. 따라서 양자(모음 ___(a)를 자동 생략 혹은 사용자가 생략 입력)를 모두 허용할 수 있다.
2.6 미얀마어
미얀마어에는 다음의 33개 자음이 존재한다. 이를 힌디어의 예와 같이 9개 혹은 10개의 그룹으로 그룹핑하고 대표알파벳을 정하고, 나머지 자음을 후속컨트 롤처리방법에 의하여 입력할 수 있다.
Figure pat00021
3. 다차원 교차 컨트롤처리방법
도2-2는 위의 표에 의하여 "あ"단의 알파벳을 대표알파벳으로 하여 각 버튼 에 사전순서로 배정한 사례이다. 선출원의 사례에서 2nd, 3rd 컨트롤이 배정된 컨트롤버튼에 4nd, 5rd 컨트롤이 추가로 배정될 수도 있었으나, 여기서는 입력타 수를 최소화하고, 컨트롤버튼을 최대한 활용하기 위하여 2nd, 3rd 컨트롤만을 배 정한 사례를 보인다.
도2-2에서 후속알파벳을 입력하는 방법은 선출원에서 제시한 바와 같다. 예를 들어, 컨트롤 후입력 적용시 い = あ+[*] 와 같이 된다. 다음으로 각 알파 벳의 변형알파벳인 장음, 탁음, 반탁음을 입력하는 방법을 보인다. 도2-2에서 컨 트롤버튼으로 가용한 버튼([*] 버튼, [#] 버튼)이 모두 후속컨트롤버튼으로 사용 되고 있는 상태이다. 따라서 변형알파벳을 위한 컨트롤버튼이 없는 상태이다. 그러나, 타겟알파벳의 기본알파벳이 후속알파벳인 경우 그 후속알파벳 입력후 후 속컨트롤버튼으로 사용되지 않은 후속컨트롤버튼을 변형알파벳컨트롤버튼(이를 편 의상 "반대편 컨트롤버튼"이라고 부름)으로 활용하여 입력할 수 있다.
예를 들어, ぃ = い + "반대편 컨트롤버튼" = あ+[*] + [#], ご = こ + "반 대편 컨트롤버튼" = か+[#]+[#] + [*] 과 같이 된다. 이는 ぃ를 기본알파벳 い 의 변형알파벳으로 간주하여 컨트롤처리방법을 적용함에 있어서, ぃ를 입력하기 위하여 후속컨트롤버튼으로 사용되지 않은 반대편 컨트롤버튼을 변형알파벳컨트롤 버튼으로 활용하는 것으로 볼 수 있다. 예에서와 같이 여기서도 선출원의 건너뛰 기 컨트롤처리방법을 적용할 수 있다. 이를 체인형 컨트롤처리방법의 관점에서 보면, 반대편 컨트롤버튼을 1번 누름으로써, 기 입력된 알파벳(예에서 こ)의 변형 알파벳(예에서 ご)을 입력하기 위한 "다음 컨트롤"을 선택하는 것으로 볼 수 있다.
は행의 알파벳에는 변형알파벳이 탁음과 반탁음의 2가지가 있으므로 장음의 경우는 반대편 컨트롤버튼을 1번 누르고 반탁음의 경우는 반대편 컨트롤을 2번 누 르도록 할 수 있다. 즉 ぶ = ふ + "반대편 컨트롤버튼" = は+[*]+[*] + [#],ぷ = ふ + "반대편 컨트롤버튼 2번누름" = は+[*]+[*] + [#]+[#] 과 같이 된다.
다음으로 타겟알파벳의 기본알파벳이 대표알파벳인 경우는 위의 방법을 그 대로 적용할 수 없다. 이 경우 후속컨트롤버튼 중 임의의 버튼에 추가로 대표알 파벳의 변형알파벳을 후속알파벳으로 두어 타겟알파벳을 입력하도록 할 수 있다.
예를 들어, [*] 버튼을 사용하여 대표알파벳의 변형알파벳(장음, 탁음, 반 탁음)을 입력하는 경우 あ = あ+[*]+[*]+[*] 와 같이 된다. 즉 대표알파벳의 변 형알파벳(장음, 탁음, 반탁음)을 [*] 버튼을 이용하여 입력할 수 있는 4th 후속알 파벳으로 간주하는 것이다. 이상의 내용을 정리하면 다음과 같이 된다.
Figure pat00022
이렇게 반대편 컨트롤버튼을 활용하여 컨트롤버튼의 용도를 확장하고, 더 많은 알파벳 혹은 기타의 입력에 활용하는 것을 편의상 "교차 컨트롤처리방법" 혹 은 "지그재그 컨트롤처리방법" 혹은 "다차원 교차 컨트롤처리방법"이라고 부른다. 이는 3개 이상의 버튼을 컨트롤버튼으로 사용하는 경우에도 적용될 수 있다.
위의 표에서 첫번째 컬럼의 칸을 제외한 나머지 컬럼의 칸 역시 다른 알파 벳 혹은 각종의 기호를 입력하기 위한 용도로 활용할 수 있음은 자명하다. 위의 예에서는 반대편 컨트롤버튼을 한번 적용한 것이다. 즉 ぷ 입력시 ぷ = ふ + "반 대편 컨트롤버튼 2번누름" = は+[*]+[*] + [#]+[#] 와 같이 반대편 컨트롤버튼을 반복적으로 사용하여 후속컨트롤버튼으로 사용된 [*] 버튼에 대하여 반대편 컨트 롤버튼([#] 버튼)을 한번만 적용한 것이다. 이를 편의상 "2차원 교차컨트롤처리" 혹은 "2단계 교차컨트롤처리" 라고 한다.
즉 하나의 알파벳 입력을 위하여 하나의 컨트롤버튼만을 사용하는 경우 이 를 "1차원 컨트롤처리"라고 할 수 있다. 이는 컨트롤버튼을 "1차원적"으로 사용 한다고 볼 수 있는 것이다. 그런데 2차원 (교차)컨트롤처리방법에서는 하나의 알 파벳 입력을 위하여 다른 컨트롤버튼이 2개 사용된다. 즉 ご 입력시 ご 를 こ의 변형알파벳으로 간주하여, ご = こ + "반대편 컨트롤버튼" = か+[#]+[#] + [*] 으 로 입력하였는데, 여기서 반대편컨트롤버튼은 이미 대표알파벳 か 의 1st, 2nd 후 속알파벳인 き, く를 입력하기 위한 컨트롤 버튼으로 정의되어 있었음에도, 마치 반대편 컨트롤버튼([*] 버튼)을 こ의 변형알파벳 ご 를 입력하기 위한 변형알파벳 컨트롤버튼과 같이 활용할 수 있는 것이다. 이는 마치 하나의 알파벳 입력을 위 하여 하나의 컨트롤버튼을 1차원적으로 사용하는 것에 비하여 2개의 컨트롤버튼을 "2차원적"으로 사용하는 것으로 볼 수 있다.
ぷ = ふ + "반대편 컨트롤버튼1번 누름" + "앞의 컨트롤버튼에 대하여 반대 편 컨트롤버튼 1번 누름" = は+[*]+[*] + [#]+[*] 과 같이 입력할 수도 있다. 즉 ぶ 의 입력에 최종적으로 사용된 컨트롤버튼(예에서 [#] 버튼)을 반복적으로 사용 하여 변형알파벳을 입력하는 것이 가용하지 않을 경우 마찬가지 방법으로 반대편 컨트롤버튼에 대한 반대편 컨트롤버튼을 다시 이용하여 다른 변형알파벳 혹은 후 속알파벳을 입력할 수 있는 것이다. 이를 편의상 "3차원 교차컨트롤처리" 혹은 "3단계 교차컨트롤처리"라고 부른다. 이는 교차 컨트롤처리방법을 이용하여 키패 드내에서 입력할 수 있는 알파벳 혹은 기타 알파벳 입력과 관련된 것들의 가능한 입력갯수를 무한히 확장할 수 있음을 의미한다. 더구나 선 입력된 알파벳과 관련 성을 가진 후속알파벳 혹은 변형알파벳을 자연스럽게 컨트롤처리방법에 의하여 입 력할 수 있는 큰 의미가 있다.
이상의 내용을 2가지의 변형알파벳(탁음, 반탁음)이 존재하는 は 행의 예를 들어 그래프의 형태로 설명하면 도2-3과 같다. 도2-3에서 흐린 색으로 동그라미 에 ". . ."으로 표시된 것은, 위의 표에서 빈 공간에 다른 알파벳 혹은 기호를 입 력하는데 이용할 수 있는 것과 마찬가지로, 만약 필요시 추가로 입력하고자 하는 것(알파벳 혹은 기호)를 다차원 컨트롤처리방법에 의하여 입력하게 할 수 있음을 의미한다. 도2-3에서 [*] 버튼과 [#] 버튼은 각기 직각 방향으로 사용되고 있다.
선출원에서 [*] 버튼에 50음도의 알파벳 중 대표알파벳이 아닌 2nd, 3rd, 4th, 5th 컨트롤을 배정하고, [*] 버튼을 장음, 탁음, 반탁음 등의 변형알파벳을 입력하기 위한 컨트롤버튼으로 활용하는 방법과 비교해 보면 선출원의 방법에서도 2차원 컨트롤처리가 적용되고 있음을 알 수 있다. 즉 ぃ = い+{변형} = い +[*]+[#] 으로 입력되는데 2개의 컨트롤버튼이 사용되기 때문이다. 차이는 선출 원에서는 컨트롤버튼의 용도가 후속컨트롤(2nd, 3rd, 4th, 5th )버튼으로만 그리 고 변형알파벳(장음, 탁음, 반탁음) 컨트롤버튼으로만 사용되었고, 본 발명의 2차 원 컨트롤처리에서는 후속알파벳 입력후 후속컨트롤버튼이 다시 변형알파벳컨트롤 버튼으로 사용된 것이다. 이렇게 주용도의 컨트롤버튼(예에서 후속컨트롤버튼)을 다시 변형알파벳컨트롤버튼으로 활용하는 것을 선출원의 2차원 컨트롤처리방법과 구별하기 위하여 편의상 "2차원 재활용컨트롤처리방법" 혹은 "2차원 다용도컨트롤 처리방법"이라 부르기로 한다.
선출원의 방법은 입력방법이 단순하고 일관성 있는 장점이 있으나, 상대적 으로 입력타수가 약간 더 많아지는 단점이 있다. 본 발명과의 차이을 쉽게 보이 기 위하여 선출원에서 컨트롤버튼을 각각 후속컨트롤(2nd, 3rd, 4th, 5th )버튼으 로만 그리고 변형알파벳(장음, 탁음, 반탁음) 컨트롤버튼으로만 사용하였던 경우 를 그래프로 나타내면 도2-4와 같다. 도2-3, 도2-4에서도 흐린색으로 표시된 부 분을 확장하여 적용할 수 있다.
위에서 교차 컨트롤처리방법을 적용함에 있어서, 컨트롤 후입력의 예를 보 였는데, 이 역시 선출원에서 컨트롤처리방법을 적용함에 있어서 컨트롤 선입력 혹 은 후입력을 적용할 수 있는 것과 마찬가지로, 컨트롤 선입력에 의하여 입력할 수 도 있다. 예를 들어 ぃ = "반대편 컨트롤버튼" + い = [#] + [*]+あ 와 같이 된 다. 그러나 교차 컨트롤처리방법을 적용함에 있어서는 컨트롤을 후입력하는 것이 편리할 것이다.
이는 일본어의 경우뿐만 아니라 다른 모든 언어에 있어서도 동일하게 적용 될 수 있다. 예를 들어, 아랍어에서 대표알파벳제외 컨트롤처리방법을 적용하여, 후속알파벳을 입력하기 위하여 [*]과 [#]이 사용되는 경우, 첨자형태의 모음을 입 력하기 위하여 다차원 교차컨트롤처리방법을 사용할 수 있다. 또한 태국어에서 [*] 버튼과 [#] 버튼을 각각 후속자음과 후속모음을 입력하기 위한 컨트롤버튼으 로 활용하는 경우에도, 성조부호를 입력하는데, 다차원 교차컨트롤처리방법을 사 용할 수 있는 것이다.
4. 한국어입력방법
4.1. 한국어에서 모음요소를 활용한 방법
과거 알파벳을 구성하는 획소를 각 버튼에 배정하고, 각 획소(예. →, ↓, ↙, ↘, ⊃, O 등등)의 조합으로 알파벳을 입력하는 방법이 있었다. 또한 현재 한국에서 한국어의 모음만을 3개의 모음요소(ㅡ, ., ㅣ=> 즉, 획소)로 분리하여 각 모음요소의 조합으로 키패드에서 알파벳을 입력하는 사례가 있었다.
한국어에 있어서 모음은 몇개의 모음요소(획소)로 나누어질 수 있다. 예를 들어 ㅡ, ., ㅣ 3개의 모음요소(편의상 간단히 "3모음"으로도 부름)로 나누어 생 각할 수 있고, ㅡ, ., :, ㅣ 의 4개 모음요소(편의상 간단히 "4모음"으로도 부 름)로 나누어 생각할 수 있으며, 그 중에서 ㅡ, ㅣ는 모음 자체로 존재하므로, 키 패드에서의 한국어 입력방법에서 모음요소를 활용하는 것을 생각할 수 있다. 한 국어의 모음을 3개의 모음요소를 조합하여 혹은 4개 모음요소를 조합하여 한국어 의 모든 다양한 모음을 입력할 수 있는 것은 한국어를 아는 사람이면 누구나 알 수 있다.
이하에서 실시예를 통하여 상세히 설명한다.
4.1.1. 10자음 3모음법
먼저 한국어를 입력하기 위한 기본 알파벳으로 10개의 자음평음(기본자음) 과 3개의 모음요소와 경음과 격음을 컨트롤처리방법(기본자음과 컨트롤의 조합으 로 입력)에 의하여 입력하기 위한 경음컨트롤, 격음컨트롤 등의 15가지 요소를 생 각할 수 있다. 이를 12개의 버튼을 구비한 3*4키패드에 배정하고 입력하여야 하 므로, 9개의 버튼에 10개의 기본자음 중 경음과 격음이 존재하지 않는 기본자음( 편의상 "9버튼 탈락자음" 혹은 "10-9자음" 혹은 더 간단히 "-9자음" 이라 부름)을 제외하고 나머지 9개의 기본자음을 9개의 버튼에 배정하고, 3개의 모음요소 하나 하나와 격음컨트롤, 경음컨트롤, 9버튼탈락자음 3가지를 임의로 2개씩 그룹핑하여 나머지 3개의 버튼에 배정할 수 있다. 9개의 버튼에 배정된 기본자음은 배정된 버튼 1타로 입력하고, 모음요소를 배정된 버튼 1타로 입력하고, 모음요소 "."과 함께 그룹핑된 컨트롤 혹은 9버튼 탈락자음은 배정된 버튼 3타로 입력할 수 있다. 이를 편의상 "격음/경음 컨트롤처리 10자음 3모음법" 혹은 "경음/격음 컨트롤처리 3모음법"이라 부르기로 한다. 여기서 모음요소 "."과 함께 그룹핑된 컨트롤 혹은 9버튼 탈락자음을 배정된 버튼 3타로 선택하는 것은 후술하는 바, 반복선택방법을 적용하는 것으로 볼 수 있다.
여기서 한국어 키패드를 암기용으로 활용하기 위하여 10개의 각 숫자버튼에 10개의 기본자음이 각각 배정되는 것이 바람직함은 물론이다. 도4-5는 이러한 일 실시예를 보여주고 있다. 도4-5에서 "ㅎ"이 9버튼 탈락자음으로 모음요소 "."과 함께 그룹핑되어 숫자버튼인 [0] 버튼에 배정되었는데, 이는 "ㅎ"이 격음 및 경음 이 존재하지 않고, 가장 사용빈도가 낮아 배정된 버튼 1타로 입력하지 못하더라도 불편을 덜 주면서, 순서로도 가장 마지막에 있어 한국인에게 자연스러움을 줄 수 있기 때문이다. 도4-5에서 나머지 기본자음 역시 사전순서대로 각 숫자버튼에 배 정되었으므로, 사용자에게 좋은 위치식별성(가독성)을 제공하는 장점이 있다.
컨트롤 후입력 적용시 ㅋ = ㄱ + {격음(컨트롤)} = [1]+[*]+[*] 으로, ㄲ = ㄱ + {경음(컨트롤)} = [1]+[#]+[#] 으로 입력할 수 있다. 이는 출원인의 선출원 에서 일본어의 사례에서와 처럼 한국어에서 모음 "ㅡ"와 "ㅣ"가 연속하여 나오지 않는 성질을 이용하여 반복선택방법으로 격음컨트롤과 격음컨트롤을 선택할 수 있 도록 한 것이다. "ㅔ" 혹은 "ㅖ"의 경우에는 모음 "ㅣ"가 연속하여 나오기도 하 나, 앞에 모음요소 "." 이 선행하므로 "##"을 누른 것이 컨트롤을 선택한 것이 아 니고 모음을 입력한 것임을 시스템이 알 수 있다. 선출원에서 컨트롤을 굳이 버 튼에 표시하지 않더라도 사용자가 단지 해당버튼을 눌러 컨트롤을 선택할 수 있음 을 인지하고 있으면 된다고 하였는데, 격음컨트롤을 모음 "ㅡ"와 함께 그룹핑하여 배정함으로써, 사용자는 직관적으로 모음 "ㅡ"가 배정된 버튼을 2번 눌러 격음컨 트롤을 선택하는 것을 기억할 수 있고, 마찬가지로 경음컨트롤을 모음 "ㅣ"와 함 께 배정함으로써, 사용자는 직관적으로 모음 "ㅣ"가 배정된 버튼을 2번 눌러 경음 컨트롤을 선택함을 알 수 있는 장점이 있는데, 이러한 성질 역시 출원인 발명에서 권리로써 보호받고자 하는 요소 중의 하나이며, 후술하는 4모음법에서도 동일하게 적용된다. 이는 출원인이 제시한 실시예에서만 국한되지 않고, 다른 응용에서도 동일하게 사용될 수 있으며, 이 역시 출원인의 발명의 권리 범주에 포함됨은 자명 하다. 이를 편의상 "선모양 모음요소("ㅡ", "ㅣ") 버튼 이용 격음/경음 컨트롤처 리방법"이라 부르기로 한다.
도4-5의 사례에서 모음요소 "."을 [0] 버튼에 배정하고, 숫자 "0"안에 암시 적으로 배치(숫자 "0" 안의 빨간점)함으로써, 모음요소 "."을 암시적을 배치할 수 있다. 결국 외형적으로 키패드상 단 하나의 알파벳만을 간결하게 배치하여 한국 어 입력시스템을 구성할 수 있는 것이다. 마찬가지로 도4-9와 같이 "ㅎ = . + ㅡ + ㅇ"으로 이루어져 있는데, "ㅎ"의 "."을 빨간색으로 표시하여 외형적으로 단하 나의 자소만을 배정함으로써, 간결한 키패드를 구성할 수 있다.
격음/경음컨트롤처리 10자음 3모음법에서 격음만을 컨트롤처리방법에 의하 여 입력하지 않고, 격음의 기본자음이 배정된 버튼을 2번 누름으로써(즉, 은닉형 반복선택방법에 의하여) 입력할 수 있다. 이를 편의상 "격음반복선택 경음컨트롤 처리 3모음법"이라 부르기로 한다. 혹은 경음만을 컨트롤처리방법에 의하지 않고, 경음의 기본자음이 배정된 버튼을 2번 누름으로써(즉, 은닉형 반복선택방법 에 의하여) 입력할 수 있다(이는 경음, 즉 쌍자음을 기본자음의 조합으로 입력하 는 것으로 볼 수도 있다). 이를 편의상 "경음반복선택 경음컨트롤처리 반복선택 방법"이라 부르기로 한다. 또는 격음과 경음 모두를 컨트롤처리방법에 의하여 입 력하지 않고, 반복선택방법에 의하여 입력할 수 있다. 격음과 경음 모두를 반복 선택방법에 의하여 입력할 경우, 반복선택순서는 기본자음(1타) - 경음(2타) - 격 음(3타)로 되도록 할 수도 있고(이는 경음, 즉 쌍자음을 기본자음의 조합으로 입 력하고, 격음을 기본자음이 속한 버튼 3타로 입력하는 것으로 볼 수도 있다), 기 본자음(1타) - 격음(2타) - 경음(3타) 로 되도록 할 수도 있다. 편의상 전자의 경우를 "先경음 반복선택 3모음법" 이라 부르기로 하고, 후자의 경우를 "先격음 반복선택 3모음법"이라 부르기로 한다. 본 단락에서 설명한 몇가지를 통칭하여 편의상 "격음/경음 반복선택 3모음법" 이라 부르기로 한다.
또한 격음/경음 컨트롤처리 3모음법을 유지하면서, "격음/경음 반복선택 3 모음법"을 적용할 수도 있으며, 반대로 격음/경음 반복선택 3모음법을 유지하면서, 격음/경음 컨트롤처리 3모음법을 적용할 수도 있다. 격음/경음 컨트 롤처리 3모음법을 유지하면서, 격음만의 반복선택방법을 적용할 수도 있고, 혹은 경음만의 반복선택방법을 적용할 수도 있고, 선경음 반복선택방법을 적용할 수도 있고, 선격음 반복선택방법을 적용하는 등 다양한 조합이 가능하다. 반대로 격음 /경음 반복선택 3모음법을 유지하면서, 격음만의 컨트롤처리방법을 적용할 수도 있고, 경음만의 컨트롤처리방법을 적용할 수도 있고, 경음, 격음 모두의 컨트롤처 리방법을 적용할 수도 있다. 혹은 경음은 컨트롤처리방법으로만 입력하고, 격음 은 반복선택방법으로만 입력할 수도 있으며, 반대로 격음은 컨트롤처리방법으로만 입력하고, 경음은 반복선택방법(즉, 기본자음의 조합)으로만 입력할 수도 있다. 예시한 바와 유사한 조합이 더 존재할 수도 있으며, 이를 편의상 "격음/경음 컨트 롤처리 반복선택 혼용 3모음법"이라 부르기로 한다. 격음과 경음의 입력방식을 특별히 지정하지 않은 경우를 일반적으로 지칭하여, 편의상 "10자음 3모음법"이라 하기로 한다. 경음과 격음의 입력에 있어서 사용자로 하여금 편리한 입력방법을 설정할 수 있도록 할 수도 있다.
격음과 경음의 입력에 모두 반복선택방법을 적용하는 "격음/경음 반복선택 3모음법" 적용시에 발생하는 모호성의 빈도는 약 140 글자에 한 글자꼴로 삼성전 자社의 입력시스템에서 약 15글자에 한글자 꼴로 발생하는 것보다 훨씬 더 적게 발생한다. 격음 혹은 경음을 반복선택방법에 의하여 입력하던, 컨트롤처리방법에 의하여 입력하던, 각 숫자버튼에 격음 혹은 경음을 추가로 배정하고 배치할 수도 있으며, 이 역시 본 발명의 범주에 포함됨은 물론이다.
4.1.2. 10자음 4모음법
도4-5 및 도4-9 의 사례를 풀어 도4-6에서와 같이 표현할 수 있다. 도4- 6에서도 도4-5에서와 동일한 입력방법을 적용할 수 있는데, 도4-6에서 보듯이 이 는 한국어의 모음 "ㅕ" 혹은 "ㅛ" 등을 입력시 필요한 모음요소 ":(경우에 따라 수평방향 혹은 수직방향의 획으로 작용하나 여기서는 편의상 수평방향의 획 ':' 으로 표시)" 를 모음요소 "."과 함께 그룹핑하여 같은 버튼에 배정하고, 모음요소 ".", ":" 을 각각 반복선택방법에 의하여 배정된 버튼 1타, 2타로 각각 선택하되, 모음요소 ":"을 명시적으로 버튼상에 배치하지 않는 것으로 볼 수 있다. 물론 도 4-6에서와 같이 명시적으로 배정하고 반복선택방법에 의하여 키패드에 표시된 알 파벳을 선택하도록 하더라도 결과는 같다. 그러나 모음요소 ":"을 굳이 버튼상에 표시하지 않더라도, 사용자는 직관적으로 모음요소 "."의 조합(즉 ":" = "." + "." = [0]+[0])으로 입력하는 것으로 생각할 수 있다. 결국 도4-5 역시 4개의 모 음요소("ㅡ", ".", ":", "ㅣ")를 이용하되, 격음컨트롤, 경음컨트롤, 9버튼탈락자 음 3가지 중의 하나를 모음요소 "."과 모음요소 ":" 와 함께 그룹핑하여 임의의 버튼에 배정하고, ".", ":" 그리고 함께 배정된 9버튼 탈락자음(도4-5의 사례에서)을 각각 반복선택방법에 의하여 선택하되, 모음요소 ":"을 버튼상에 표 시하지 않은 것으로 볼 수 있다. 이는 전술한 "10자음 3모음법"과 같은 결과이나, 편의상 "10자음 점(點)모음요소 반복선택 3모음법" 혹은 "10자음 점(點)모음요소 반복선택 4모음법" 혹은 "10자음 점(點)모음요소 반복선택 모음요 소법"이라 부른다. 경음과 격음은 전술한 여러가지 방법에 의하여 입력될 수 있 다. 사실상 같은 결과이나 특별히 별도의 명칭을 붙여 설명하는 것은 도4-5역시 4개의 모음요소를 활용하고, 반복선택방법을 적용하되, 모음요소 ":"를 단지 버튼 상 표시하지 않은 것으로 볼 수 있다는 것을 말하려 함이고(도4-5와 같이 표시하 지 않더라도 입력방법과 입력시스템을 구성하는 알고리즘은 도4-6에서와 동일), 이는 기존의 삼성전자社의 한글입력시스템이 단지 3개의 모음요소만을 활용하는 접근방법 이었음에 반하여, 출원인이 제시한 입력시스템은 다른 관점(4개의 모음 요소 활용)에서 볼 수 있는 것을 강조하고자 함이다.
도4-7은 모음요소 ":"을 모음요소 "."과 함께 그룹핑하지 않고, 각기 다른 그룹으로 그룹핑한 경우를 보여준다. 즉 4개의 모음요소("ㅡ", ".", ":", "ㅣ") 가 각각 다른 버튼에 배정되며, 이를 편의상 "10자음 4모음법" 혹은 "4모음법"이 라 부르기로 한다. 4모음법은 3모음법과 통하는 점이 많으므로 비교적 간단히 설 명하며, 3모음법에서 설명한 내용중 4모음법에 적용할 수 있는 내용은 4모음법에 서 그대로 적용될 수 있는 것은 자명하다. 용어 역시 3모음법에서 사용한 용어를 유사하게 사용할 수 있다.
4모음법에서 마찬가지로 10개의 기본자음 중 격음과 경음이 존재하지 않는 2개의 기본자음을 제외한 나머지 자음을 8개의 버튼에 각각 배정하고, 4개의 모음 요소 하나하나와 격음컨트롤, 경음컨트롤, 8개의 버튼에 배정되지 않은 2개의 자 음(편의상 "8버튼 탈락자음" 혹은 "10-8자음" 혹은 더 간단히 "-8자음" 이라 부름)을 각각 2개씩 그룹핑하여 모음요소는 배정된 버튼 1타로 입력하고, 함께 배 정된 컨트롤 혹은 탈락자음들은 배정된 버튼 2타로 입력(즉, 반복선택방법에 의하 여 입력)할 수 있다.
여기서도 10개의 기본자음이 각 숫자버튼에 배정되도록 함으로써 암기용으 로의 활용을 가능하게 할 수 있다. 또한 모음요소 "."을 모양이 유사한 [0] 버튼 에 배정하고, 숫자 "0" 안에 표시함으로써 버튼상 간결한 배치를 가능하게 할 수 있으며(혹은 숫자안의 표시를 생략해도 모양이 유사하므로 사용자는 이를 쉽게 인 지할 수 있음), 모음요소 ":"을 모양이 유사한 [8] 버튼에 배정하고, 숫자 "8" 내 부에 표시함으로써(혹은 숫자안의 표시를 생략해도 모양이 유사하므로 사용자는 이를 쉽게 인지할 수 있음) 버튼당 외형적으로 단 하나의 알파벳만을 배치할 수 있는 장점이 있다. 도4-7에서와 같이 모음 "ㅡ", "ㅣ"가 배정되는 버튼이 [*] 버 튼 및 [#] 버튼인 경우 한국어의 다양한 모음을 입력시 인접한 버튼을 누르게 되 어 운지거리를 적게하는 효과가 있다.
4모음법의 경우도 격음과 경음의 입력에 있어서, 3모음법의 경우와 마찬가 지로 반복선택방법을 적용할 수 있으며, 이를 통칭하여 편의상 "격음/경음 반복선 택 4모음법"이라 부른다. 또한 3모음법에서의 사례와 같이 반복선택방법을 혼용 하여 적용할 수 있으며, 이를 통칭하여 편의상 "격음/경음 컨트롤처리 반복선택 혼용 4모음법"이라 한다.
도4-7의 키패드 역시 반복선택방법 관점에서 도4-8와 같이 풀어 표현할 수 있다. 도4-6과 도4-8를 비교해 보면, 도4-5와 도4-7의 차이를 명확히 알 수 있게 된다. 도4-8는 도4-6에서 [0]버튼 2타로 선택하던 모음요소 ":"을 [8]버튼으로 옮 겨 1타로 입력하도록 한 것과 같은 결과이다(물론 기본자음의 배치는 도4-6과 도4-8가 약간 다르지만 이는 통일하면 되므로). 또한 점2개로 이루어진 모음요소 ":"을 수평방향의 모음요소 ":"와 수직방향의 모음요소 ".."로 나누어 적용할 수 도 있으며, 굳이 이름을 붙인다면 5개 모음요소("ㅡ", ".", ":", "..", "ㅣ")를 이용한 "5모음법"이라 할 수 있을 것이다. 그러나 도4-7의 4모음법에 비하여, 입 력타수, 인식능력 향상 등의 면에서 우수한 점이 별로 없으므로 본 발명에서 더 이상 언급하지 않는다.
모음요소 "." 과 ":"을 [*] 버튼 및 [#] 버튼에 배정할 수도 있으나, 이 경 우는 도4-7에서와 같이 모음요소를 숫자 안에 표시함으로써, 표면적으로 단 하나 의 알파벳만 배치할 수 없게 된다.
도4-7을 기준으로 입력예를 들면 ㅕ = : + ㅣ = [8]+[#], ㅑ = ㅣ + : = [#]+[8], ㅠ = ㅡ + : = [*]+[8] 이 되며, 8버튼 탈락자음을 반복선택방법에 의하 여 입력시, ㅁ = [8]+[8], ㅎ = [8]+[8] 이 된다. 만약 모음요소 ":"을 모음요소 "." 이 배치된 버튼 2타로 입력하는 것을 허용하면, "ㅎ"은 선출원에서와 마찬가 지로 "."이 배정된 버튼 3타로 입력하도록 하면 된다.
입력예로, "워" 혹은 "웨"의 경우 모음 "ㅡ"와 "ㅣ" 사이의 점모양의 모음 요소 ".."은 모음요소 ":"으로 입력하면 된다. 시스템에서 일시적으로 "유 + ..." 를 입력한 것으로 인식될 수 있으나 "유" 다음에 모음 "ㅣ"가 나올 수 없으 므로 시스템은 "워"를 입력한 것으로 인식할 수 있다. "10자음 점(點)모음요소 반복선택 3모음법"에서도 "워"의 경우 "ㅡ"와 "ㅣ" 사이의 점모양의 모음요소를 입력시 모음요소 "."을 두번 입력하는 것으로 혹은 모음요소 ":"을 한번 입력하는 것으로 이해할 수 있다.
위에서 설명한 내용중의 일부를 다시 설명하면 다음과 같다. 먼저 반복선 택방법을 적용하여 키패드에서 한국어를 입력함에 있어서, 3개의 모음요소(ㅡ, ., ㅣ)를 이용한 방법은 10개의 자음평음과 3개의 모음요소, 그리고 2개의 컨트롤(경 음, 격음) 도합 15개의 요소를 4*3 키패드 내에 그룹핑하고 배정하여 반복선택방 법을 적용하되, "3개의 모음요소"와 "2개의 컨트롤 및 1개의 자음평음(9버튼 탈락 자음)"을 각기 그룹핑하여 배정한 것이다.
4개의 모음요소(ㅡ, ., :, ㅣ)를 이용한 방법은, 10개의 자음평음과 4개의 모음요소, 그리고 2개의 컨트롤 도합 16개 요소를 4*3 키패드 내에 그룹핑하고 배 정하여 반복선택방법을 적용하되, "4개의 모음요소"와 "2개의 컨트롤 및 2개의 자 음평음(8버튼 탈락자음)"을 각기 그룹핑하여 배정한 것이다.
두가지 방법 모두에서 심플코드(특히 음절기준 이니셜코드)의 자연스러운 활용을 위하여 10개의 자음평음이 10개의 숫자버튼에 배정되도록 배려한 사례를 보였다.
출원인이 제시한 3모음법(앞에서 제목을 붙인 여러가지 3모음법을 통칭)과 4모음법은 특정언어(여기서는 한국어)의 여러가지 특성을 이용하여 반복선택방법 을 적용하여도 거의 모호성 없이 혹은 전혀 모호성없이 입력할 수 있는 방법을 제 시한 것이다. 이는 키패드에 표시된 알파벳을 반복선택방법을 이용하여 입력함에 있어서, 특히 한국어를 입력함에 있어서, 출원인이 선출원에서 제시한 "언어제한 입력방법" 중에서도 "언어제한 반복선택방법" 중에서도 "한국어제한 반복선택방법"에 최적화된 한국어 입력방법을 제시한 것으로 볼 수 있다.
이는 사실상 선출원에서 출원인이 제시한 바, 한국어등에 있어서, 기본자음 과 기본모음의 쌍을 각 버튼에 배정하고 반복선택방법을 적용시, 한국어의 자음과 모음의 출현규칙(즉, 단어생성규칙, 알파벳 결합규칙)을 이용하여 반복선택방법에 서의 모호성을 대폭 줄일 수 있음을 보인 것과 같은 맥락인 것이다. 한국어의 3 개 모음요소 혹은 4개 모음요소를 이용한 도4-5 ~ 도4-8에서 한국어의 모음(요소) "ㅡ", "ㅣ" 가 연속하여 나오지 않으며, 연속하여 나오는 경우(선출원의 예시에서 "ㅖ")에도 모음을 입력한 것인지 컨트롤을 입력한 것인지를 알 수 있는 성질을 이 용하여 모음요소와 함께 배정된 경음컨트롤, 격음컨트롤을 반복선택방법에 의하여 선택할 수 있도록 한 것도 유사한 관점에서 이해할 수 있다.
4.1.3. 완전컨트롤처리 3모음법/4모음법 및 탈락자음배정버튼이용 완전컨트 롤처리 3모음법/4모음법
도4-5에서 격음과 경음을 컨트롤처리방법에 의하여 입력하더라도, "이허 <=> 아히", "이혀 <=> 아허 <=> 야히" 와 같은 경우에 모호성이 발생할 수 있다 (양자의 풀코드 값은 모두 같으므로). 예시에서 모음 "ㅣ" 대신 "ㅡ"가 사용된 경우도 같으며, 이와 유사한 다른 경우도 한국어를 아는 사람이면 알 수 있을 것 이다. 그러나, 실제 단어에서 이러한 경우가 다수 발생하는 것은 아니며, 선출원 에서 언급한 "연타지연시간"과 "이타지연시간"의 설정을 통하여 효과적으로 극복 할 수 있다. 도4-7의 4모음법에서도 이와 유사한 경우가 있을 수 있다. 도4-7에 서는 "아허 <=> 야히"와 같은 경우는 없으나, "이며 <=> 야미" 와 같은 경우가 있 을 수 있다. 그러나 이 역시 많은 경우는 아니며 시간지연을 통하여 극복할 수 있다. 발생횟수는 실제 한국어 자음과 모음의 사용빈도에 기초하여 조사해 볼 수 있으나, 수백 글자에 한글자 꼴로 발생할 것으로 예상되므로, 사실상 이로 인하여 모호성이 발생하는 경우는 거의 없는 것으로 볼 수 있다.
물론 선출원에서 언급한 바와 같이 도4-5와 같은 3모음법에서 9버튼 탈락자 음(예시 도면에서 "ㅎ")을 "ㅇ"의 변형알파벳(경음 혹은 격음)으로 간주하여 입력 하면 모호성없이 입력이 가능하다. 예를 들어 ㅎ = ㅇ + {격음} = [8]+[*]+[*] 으로 입력하는 것이었다. 이를 편의상 "완전컨트롤처리 3모음법"이라 부르기로 한다. 마찬가지로 5와 유사한 형태의 4모음법에서도 8버튼 탈락자음(예시 도면에 서 "ㅎ"과 "ㅁ")을 컨트롤 처리방법에 의하여(설명한 바와 같이 예를 들어 "ㅁ"을 "ㄴ"의 변형알파벳으로, "ㅎ"을 "ㅇ"의 변형알파벳으로 간주) 모호성 없이 입력할 수 있다. 편의상 "완전컨트롤처리 4모음법"이라 부를 수 있을 것이다.
그러나 완전컨트롤처리 3모음법 / 4모음법에 의하여 9버튼/8버튼 탈락자음 을 입력하는 것은 심플코드의 활용과 관련하여 자연스러움을 저해하게 된다. 따 라서 본 발명에서는 3모음법에서 9버튼 탈락자음(예에서 "ㅎ")을 해당 알파벳이 배정된 버튼과 컨트롤의 조합으로 입력하는 것을 제시한다(컨트롤 후입력의 경우 만 적용되며 예시 설명). 예를 들어 도4-5의 3모음법에서 ㅎ = . + {격음} = [0]+[*]+[*] 으로 입력하는 것이다. 이는 마치 9버튼 탈락자음을 해당 알파벳이 배정된 버튼 1타로 입력되는 모음요소 "." 의 변형알파벳 처럼 입력하는 것이다. 이 방법 역시 모호성을 완전히 제거할 수 있으면서, "ㅎ"의 입력에 [0] 버튼을 사 용함으로써, 심플코드의 활용에 자연스러움을 유지할 수 있다. 이를 편의상 "탈 락자음배정버튼이용 완전컨트롤처리 3모음법"이라 부르기로 한다. 이는 4모음법 에서도 동일하게 적용할 수 있다. 이 방법을 적용하면, "ㅎ"을 앞 글자가 종자음 (받침)이 있는 글자로 끝나고(예. "각") 그 다음에 "ㅎ" 입력시, 일시적으로 "가 고+ㅡ"로 인식될 수 있으나, 역시 모음 "ㅡ"+"ㅡ"에 대하여 연속하여 나올 수 없 으므로, 시스템은 사용자가 컨트롤을 선택한 것으로 인식할 수 있으며, "고"의 모 음요소 "."이 격음컨트롤과 결합할 수 없으므로 ".+ㅡ+ㅡ"가 "ㅎ"을 입력한 것으 로 시스템이 인식할 수 있다. 만약 앞글자가 종자음 없이 모음요소 "."과 결합할 수 있는 모음(예. "ㅣ", "ㅡ", "ㅏ", "ㅜ" 등)으로 끝난 경우는 "ㅎ"을 입력하기 위하여 입력된 값 "0**" 에서 "0"는 일시적으로 앞 모음과 결합되고, 모음 "ㅡ" +"ㅡ"가 입력된 것으로 시스템이 일시적으로 인식할 수 있으나, 마찬가지로 시스 템이 "**" 입력값이 컨트롤을 선택한 것을 알 수 있고, 선행하는 모음요소 "."과 결합할 수 없으므로, 시스템은 "ㅎ"을 입력한 것을 알 수 있게된다. 조금 더 나 아가 앞 글자가 모음요소 "."과 결합할 수 없는 모음(예. "ㅣ", "ㅏ", "ㅜ" 를 제 외한 나머지 모음)으로 글자가 끝난 경우는 [0] 버튼 입력시 "ㅎ"을 입력한 것으 로 시스템이 간주하고 사용자에게 표시하여 줄 수도 있다. 또한 [0] 다음 "**" 이 입력되더라도 결국 "ㅎ"을 입력한 것으로 간주할 수 있다.
여기서 탈락자음배정버튼이용 완전컨트롤처리 3모음법(4모음법도 포함)에서 탈락자음을 입력하기 위한 컨트롤버튼으로는 모음 "ㅡ"가 배정된 버튼이 이용되어 야만 하는 것을 알 수 있다. 선출원에서 언급한 바와 같이 "ㅔ", "ㅖ"의 경우가 한국어에 존재하기 때문이다. 탈락자음배정버튼이용 완전컨트롤처리 4모음법 역 시 동일하다. 마찬가지로 도4-7에서 [8] 버튼에 배정된 "ㅁ"을 입력시, ㅁ = [8]+[*]+[*] 로 입력할 수 있다. 탈락자음배정버튼이용 완전컨트롤처리 4모음법 에서의 입력 사례는 동일하므로 생략한다.
4.2. 일시적 언어제한해제 지연시간
선출원에서 "연타지연시간"과 "이타지연시간" 을 하나의 버튼에 3개 이상의 알파벳이 배정된 경우에도 적용할 수 있다고 하였다. 예를 들어 표준 영어키패드 에서 연타지연시간을 0.1초로 설정하여 [2] 버튼이 0.1초 이내에 2번 눌러지면, B 를 입력한 것으로 시스템이 간주할 수 있도록 할 수 있다.
마찬가지로 [2] 버튼이 연속 3번 눌러졌을 때(즉, [2]+[2]+[2]), 첫번째 입 력값과 두번째 입력값(즉, 첫번째 [2] 버튼과 두번째 [2] 버튼) 사이의 지연시간 간격이 연타지연시간으로 설정된 시간(예. 0.1 초) 이내이고, 두번째 입력값과 세 번째 입력값 사이의 지연시간 간격이 연타지연시간으로 설정된 시간(예. 0.1초) 이내이면(즉 [2] + 0.1초 이내 + [2] + 0.1초 이내 + [2]), C 를 입력한 것으로 시스템이 인식하도록 할 수 있다. 혹은 [2] 버튼이 연속 3번 눌러졌을 때(즉, [2]+[2]+[2]) 전체 입력시간이 연타지연시간의 2배(예. 0.2초) 이내이면, C 를 입 력한 것으로 시스템이 인식하도록 할 수도 있다.
선출원 및 본출원에서 언급한 각종의 지연시간을 정리하면 다음과 같다.
연타지연시간 ≤ 이타지연시간 ≤ 일시적 언어제한해제 지연시간
3가지 지연시간은 모두 같게 설정될 수도 있으나, 연타지연시간보다는 이타 지연시간을 길게, 그리고 이타지연시간보다는 일시적 언어제한해제 지연시간을 길 게 설정하는 것이 바람직할 것이다.
4.3. 클라이언트 시스템과 서버 시스템간의 호응
선출원(우선권 주장을 통한 2000년 출원)에서 키패드에서의 알파벳 입력 프 로그램은 단말기(클라이언트)측에 탑재될 수도 있고, 서버측에 탑재될 수도 있다 고 하였다. 서버측에 탑재되는 경우는 클라이언트측에서 숫자로된 입력값을 서버 측에 전송하고 서버측에서 입력값을 해석하는 것이다. 클라이언트(단말기)와 서 버로 이루어진 전체 시스템에서 클라이언트측에서 입력값을 해석하여 문자열을 서 버측으로 전송하는 형태도 가능하다고 하였다. 이 역시 출원인의 모든 문자입력 방법에 대하여 마찬가지로 적용할 수 있음은 자명하다.
4.4. 4*3 키패드 외의 별도의 버튼의 사용
앞에서 4*3키패드내에서 한국어의 입력을 완벽하게 처리할 수 있는 방법을 제시하였다. 그런데, 4*3 키패드 이외의 별도의 버튼을 이용하여 모음요소 혹은 모음요소의 일부를 배정할 수 있다. 예를 들어 도4-5에서 모음요소 "."을 별도의 버튼에 배정하게되면 함께 배정된 탈락자음 "ㅎ"은 배정된 버튼 1타로 선택하게 된다. 마찬가지로 도4-7에서 모음요소 "."과 ":"을 별도의 버튼(하나의 버튼에 2 개를 둘 수도 있고, 각각을 2개의 버튼에 둘 수도 있음)에 배정하면, 8버튼 탈락 자음 "ㅁ"은 배정된 버튼 1타로 선택할 수 있다.
또한 별도의 버튼을 이용하되, 문자입력모드에서 자주사용되지 않는 상이동 버튼, 하이동버튼, 혹은 좌이동버튼을 사용할 수도 있다.
4.5. 한국어 고어 알파벳의 입력
본 발명에서는 여기에서 더 나아가 한국어의 고어를 키패드를 통하여 입력 할 수 있도록 하는 방법을 제시한다.
한국어에 있어서 현대에 거의 사용되지 않는 고어(소실 알파벳)로는 모음은 아래아("ㆍ"으로 표시), 자음은 반치음(삼각형 "ㅿ"으로 표시), 여린 히읗("ㅎ"에 서 점이 없는 상태로 "ㆆ"로 표시), 옛이응("ㅇ"에 위에 점이 붙은 모양으로 "ㆁ"로 표시), 순경음("ㅂ"아래에 원이 붙은 모양으로 "ㅸ"으로 표시") 등이 있 다.
고어중에서 모음 아래아의 경우는 비교적 현대어에 있어서도 자주 사용되고 있다. 예를 들어 "ㄱ.ㅁ.고을"이라는 상호에서, 또 한글과 컴퓨터사에서 만든 유 명한 워드프로세서 "ㅎ.ㄴ글" 등에서 사용되는 모습을 볼 수 있다("ㄱ.ㅁ.고을"에 서 "ㄱ+."이 한 글자이고 "ㅁ+."이 한 글자이며, "ㅎ.ㄴ글"에서 "ㅎ+.+ㄴ"이 한 글자이나 특허청 편집기에서 아래아를 지원하지 않아 이와 같이 표기함). 예에서 와 같이 모음 아래아는 각종 상호에서 많이 사용되므로 전화번호부 등의 입력에 있어서 유용하게 사용될 수 있다.
출원인의 선출원에서 모음 아래아는 모음요소 "."과 동일한 모양이므로 모 음요소 "."이 배정된 버튼 1타로 아래아를 입력할 수 있도록 하면 자연스럽게 모 음 아래아를 입력할 수 있다. 모음 아래아 다음에 연속하여 다른 모음이 나오는 경우는 없으므로 입력규칙은 변화가 없다(만약 그러한 경우가 있다고 하더라도 고 어의 모음 아래아가 자주 사용되지 않으므로 아래아 다음에 연속하여 다른 모음이 나오지 않는 것으로 하면 된다). 물론 모음요소 "."이 배정된 버튼이 두번 눌려 지면, 이는 모음 아래아가 두번 연속하여 입력되는 것이 아니라 "ㅕ" 혹은 "ㅖ"를 입력하기 위한 것으로 시스템이 인식할 수 있다. 마찬가지로 모음 "ㅣ" 다음에 모음요소 "."이 두번 연속하여 눌러지면, 모음 "ㅑ" 혹은 모음 "ㅒ"를 입력하기 위한 것으로 시스템이 인식할 수 있다.
고어의 자음 역시 기본자음(자음 평음)의 변형알파벳으로 간주하여 입력할 수 있다. 예를 들어 반치음 "ㅿ" 는 "ㅅ"의 변형알파벳(예. 격음)으로 간주하고, 여린 히읗 "ㆆ"은 "ㅇ"의 변형알파벳(예. 격음 혹은 경음)으로 간주하고, 옛이응 "ㆁ"는 "ㅇ"의 변형알파벳(격음 혹은 경음)으로 간주하여 입력하도록 할 수 있다. 순경음 "ㅸ"의 경우도 입력방법을 정의할 수 있으나(예. "ㅂ"과 "ㅇ"의 조합을 가 능하게 하는 오토마타 처리), 현대 한국어에서 사실상 사용되지 않는 알파벳이고 또 "ㅂ"의 변형알파벳으로 경음 "ㅃ"과 격음 "ㅍ"이 모두 존재하므로 본 발명에서 는 더 이상 자세히 언급하지 않는다.
다만 한가지 예를 든다면, "ㅸ = ㅂ+**** = 6****" 혹은 "ㅸ = ㅂ+#### = 6####"으로 입력할 수 있을 것이다. 각종 기호의 입력에서 언급한 바와 같이 컨 트롤버튼을 반복하여 사용하여 유효한 알파벳을 입력하되, 컨트롤버튼을 반복하여 누름으로써, 각종 기호를 입력하는 것과 같다. "6*** = 프" 가 되나, "6****" 로 고어("ㅂ"의 변형알파벳으로써의 고어)를 입력할 수 있는 것이다. 마찬가지로 컨 트롤버튼(여기서는 모음 "ㅡ", "ㅣ"가 배정된 [*], [#] 버튼)을 반복하여 사용함 으로써 각종의 기호를 입력할 수 있을 것이다.
고어의 자음을 입력하는 것은 출원인의 다른 선출원에서도 동일하게 적용할 수 있다. 단 출원인의 선출원 중 모음요소(ㅡ, ., ㅣ)를 이용하는 방법에서는 모 음 아래아를 자연스럽게 그리고 용이하게 입력할 수 있는 장점이 있는 것이다.
본 발명을 통하여 키패드를 통하여 현대 한국어에서 간헐적으로 사용되는 고어 알파벳까지 입력하도록 할 수 있다. 현재 모음요소를 활용한 국내 삼성전자 社의 입력방법에서도 모음 아래아를 입력할 수 있도록 지원되지 않고 있다. 따라 서 본 발명에서 비교적 현대어에서도 특별한 경우에 사용되고 있는 모음 아래아를 입력할 수 있도록 한 것이 가장 큰 차이라고 할 수 있다.
4.6. 병행입력방법 적용시의 특성
선출원에서 "단축/풀 병행입력방법" 혹은 간단히 "병행입력방법"에 대하여 설명하였다. 이는 예를 들어, 풀입력방법을 기본입력모드로 하는 병행입력방법 적용시, 매 입력값이 입력될 때마다 시스템이 입력값을 조사하여, 입력값이 특정 풀입력방법의 풀코드를 이루지 못하는 것을 시스템이 인식하는 순간, 시스템이 입 력값을 심플코드로 간주하여 처리하는 것이다(이를 편의상 "풀우선 병행입력방법" 이라함). 혹은 반대로 단축입력방법을 기본입력모드로하는 병행입력방법 적용시, 매 입력값이 입력될 때마다 시스템이 입력값을 조사하여, 입력값이 검색대상이 되 는 심플코드의 색인에 더 이상 존재하지 않는 것을 시스템이 확인하는 순간, 시스 템이 입력값을 풀코드로 간주하여 처리하는 것 이었다(이를 편의상 "단축우선 병 행입력방법"이라 함).
풀입력방법으로 "부분전체선택방법"을 사용시, 풀우선 병행입력방법에서 입 력값이 풀코드생성규칙을 위배하는 순간 입력값을 단축코드로 간주하여 처리하는 것이 쉽게 가능함을 설명하였다.
풀입력방법으로 반복선택방법을 적용시, 풀우선 병행입력방법에서 입력값이 풀코드를 위반하는지 명시적으로 알 수 없다. 그러나 풀입력방법으로 언어제한 반복선택방법 적용시 입력값이 특정언어의 단어생성규칙을 위배하는 순간 시스템 이 입력값을 단축코드로 간주하여 처리하도록 할 수 있다.
한국어의 3개 모음요소(ㅡ, ., ㅣ)를 활용한 방법(도4-5의 사례)에서, 음절 기준 이니셜코드를 단축코드로 하는(즉, 검색대상이 되는 심플코드의 색인에 사용 된 심플코드가 음절기준 이니셜코드라는 의미) 풀우선 병행입력방법 적용시, 입력 값으로 "12~"가 입력되면, 두번째 입력값 "2"가 입력되는 순간, 입력값이 한국어 음절(글자)를 형성하는 풀코드를 이루지 못하는 것을 시스템이 인지할 수 없으므 로, 시스템이 입력값을 심플코드로 간주하여 처리할 수 있다고 하였다. 한국어를 아는 사람은 모두 쉽게 인지할 수 있는 것이지만, 도4-5와 유사한 형태에서 풀우 선 병행입력방법 적용시 사용자가 심플코드(음절기준 이니셜코드)를 입력하면, 대 부분의 경우 2번째 입력값이 입력되는 순간 입력값이 심플코드인 것을 알 수 있는 좋은 특성이 있는 것이다.
이 역시 한국어의 3개 모음요소를 활용한 한국어제한 입력방법에서 입력값 이 한국어의 단어생성규칙을 위배하는 순간 시스템이 입력값을 심플코드( 단축코드)로 간주하여 처리하는 것과 같은 맥락이다. 한국어의 3개 모음요소를 이용한 도4-5에서 입력값으로 "100~"이 입력되면(풀우선 병행입력방법), 시스템은 사용자가 "겨" 혹은 "교" 등을 입력하기 위하여 "ㄱ+.."을 입력한 것으로 인식하 고 이를 출력할 수도 있으나, 4번째 입력값이 모음요소 "ㅡ" 혹은 "ㅣ"가 입력되 지 않고 숫자버튼이 입력되면, 입력값이 풀코드를 이룰 수 없으므로 그 순간 입력 값을 심플코드(단축코드)로 인식하고 심플코드 색인을 참조하여 입력값에 대응되 는 어구를 출력(시각적 수단 혹은 청각적 수단)할 수 있다. 결국 도4-5와 유사한 형태에서 풀우선 병행입력방법 적용시 최대 4번째 입력값이 입력되면 시스템은 입 력값이 풀코드인지 심플코드인지를 알 수 있게된다(경음/격음 컨트롤처리 3모음법 적용시).
마찬가지로 4개의 모음요소(ㅡ, ., :, ㅣ)를 이용한 도4-7에서, 풀우선 병 행입력방법 적용시, 사용자가 "18~" 을 입력하면, 시스템은 "거" 혹은 "고" 를 입 력하기 위하여 "ㄱ+."을 입력한 것으로 인식하고 출력할 수 있으나, 3번째 입력값 으로 숫자버튼(자음에 대응되는)이 입력되면, 입력값이 풀코드를 이룰 수 없으므 로, 시스템은 입력값을 심플코드로 간주하여 처리할 수 있는 것이다. 최대 3개의 버튼이 입력되면, 시스템은 입력값이 풀코드인지 심플코드인지를 알 수 있게 되는 좋은 특성이 있다(경음/격음 컨트롤처리 4모음법 적용시).
도4-5와 도4-7에서 기본자음(자음평음)의 각 숫자버튼 배정이 다르게 되어 있으나, 도4-5와 도4-7은 단지 예시일 뿐이므로 자음평음의 배치를 동일하게 유지 할 수 있다. 도4-5에서는 [0] 버튼에 "ㅎ"을 암시적으로 배정하였고, 도4-7에서 는 모음요소 "."을 숫자 "0" 안에 암시적으로 배정하였으나, 이 역시 동일한 것임 을 지적하였다. 편의상 도4-5와 유사하게 3개의 모음요소를 활용한 입력방법을 "3모음 한국어 입력방법(더 간단히는 3모음방법 혹은 3모음법)"이라 부르고, 도4-7과 유사하게 "4개의 모음요소를 활용한 입력방법을 "4모음 한국어 입력방법 (더 간단히는 4모음방법 혹은 4모음법)"이라 부르기로 한다.
4.7. 3모음법 키패드와 4모음법 키패드간의 호환성 및 암기용키패드와 숫자 만 표시된 일반키패드에서의 적용
도4-5의 키패드와 도4-7의 키패드에서 기본자음이 배정된 버튼이 조금 다르 게 되어 있으나, 양자의 기본자음배치를 동일하게 할 수 있으며, 따라서 이 경우 동일한 키패드에서 10자음 3모음법(예. 도4-5에서 설명한 방법) 혹은 10자음 4모 음법(예. 도4-7에서 설명한 방법) 중에서 사용자로 하여금 자신에 편리한 방법을 선택하여 사용하도록 할 수 있는 좋은 특성(양자간의 호환성)이 있다. 더 나아가 각 숫자버튼에 한국어 자음평음을 배정한 "암기용" 키패드에서도 사용자는 10자음 3모음법, 혹은 10자음 4모음법을 사용할 수 있다. 여기서 한 걸음 더 나아가 3모 음방법 혹은 4모음방법에 익숙한 사용자는 키패드에 자음평음이 표시되어 있지 않 는 키패드에서도 심플코드의 활용 및 3모음법 또는 4모음법에 의한 한국어 입력이 가능할 것이다. 숫자만 표시된 키패드혹은 암기용으로 10개의 숫자버튼에 자음평 음만이 표시된 키패드에서 심플코드를 활용하는 것, 그리고 3모음방법 4모음방법 에 의한 한국어 입력을 이용하는 것 등이 출원인의 발명의 보호범위에 포함됨은 자명한 것이다.
4.8. 탈락자음의 입력
선출원에서 3모음법에서의 탈락자음 "ㅎ"을 입력하는 방법으로 완전컨트롤 처리방법을 적용시(컨트롤 후입력적용), "ㅎ = 0** = .ㅡㅡ = ㅗㅡ"로 모호성 없 이 입력할 수 있다고 하였다. 또한 이를 개선하여 단어의 처음에 탈락자음 "ㅎ" 이 나오는 경우는 [0] 버튼 1타로 입력하는 것이 가능하다고 하였다 (단어의 처음 에 모음요소 '.' 이 나오지 않으므로). 더불어 모음요소 "."이 결합할 수 없는 모음 (즉 모음요소 '.'이 결합할 수 있는 모음인 'ㅡ', 'ㅣ', 'ㅏ', 'ㅜ'를 제외 한 모음) 다음에 오는 "ㅎ"은 [0] 버튼 1타로 입력할 수 있다고 하였다.
"ㅎ"을 [0]버튼 3타로 입력시, 모음요소 "." 이 결합할 수 있는 모음('.결 합가능모음') 다음에 "ㅎ"이 오는 경우는 설명한 바와 같이 "이혀 <=> 아허 <=> 야히" 와 같이 모호성이 발생할 수 있음을 지적하였고, 모호성 없이 입력하기 위 해서는 완전컨트롤처리방법을 적용하여 "ㅎ = 0**" 혹은 "ㅎ = 0*"로 입력할 수 있다고 하였다. 더불어 모호성없이 입력할 경우, 입력방식의 규칙성을 위하여 "0*" 보다는 "0**" 로 입력하는 것을 권장하였다. 여기서 탈락자음 "ㅎ"을 입력 함에 있어서 탈락자음이 배정된 버튼을 이용하여 반복선택방법 적용시 ".결합가능 모음" 다음에 "ㅎ"이 오는 경우 중에서도 "ㅎ" 다음에 "."이 오는 매우 특별한 경 우에만 모호성이 발생할 수 있음을 알 수 있다. 반대로 자음 다음에 "ㅎ"이 오는 경우는 [0] 버튼 3타로 모호성없이 "ㅎ"을 입력할 수 있다. 즉 자음 다음에 "ㅎ"을 입력하는 경우 "0**" 혹은 "000" 중 어느 방법을 적용하여도 모호성없이 "ㅎ"을 입력할 수 있는 것이다.
여기서 ".결합가능모음" 다음에 "ㅎ"이 오는 경우는 "0*"로 입력이 가능한 것을 알 수 있다. (결합불가능 모음 다음에 'ㅎ' 이 오는 경우는 [0] 버튼 1타로 입력이 가능하므로) 한국어에서 ".결합가능모음" 다음에 ".+ㅡ"가 결합되는 경 우는 없기 때문이다.
이상의 내용을 정리하면, 탈락자음 "ㅎ"의 입력을 최대한 편리하게 하기 위 하여 단어의 첫머리 및 ".결합불가능모음" 다음에 "ㅎ"이 나올때는 탈락자음이 배 정된 버튼 1타로 입력하고, ".결합가능모음" 다음의 "ㅎ"은 "0*"로 혹은 "0**"로 입력하고, 또 자음 다음에 "ㅎ"이 나올때는 "000"으로 입력가능한 것이다.
물론 입력방식의 규칙성을 위하여 항상 "ㅎ = 0**" 로 입력하도록 할 수도 있다. 이때 위에서 정리한 "ㅎ"의 입력방식과 병존하는 것도 가능하다. 예를 들 어 단어의 첫머리에서 "0 = ㅎ" 이 되고, 다음으로 "*"이 눌러지면 "0* = 흐"가 되고, 한번 더 "*" 이 눌러지면 다시 "0** = ㅎ"이 되는 것이다. 여기서 다시 "*" 이 더 눌러지면 "0*** = 흐"가 되고, 다시 "*" 이 더 눌러지면 "0**** = 흐ㅡ"가 되는 것이다.
마찬가지로 ".결합가능모음" 다음에 "ㅎ"을 입력하기 위하여 "0*"을 누르고 나서, 다시 "*" 이 눌러지면 동일하게 "0** = ㅎ"가 되고(입력방식을 동일하게 '0** = ㅎ'으로 적용하므로), 다시 "*"이 눌러지면 "0*** = 흐"가 될 수도 있다.
위의 내용은 후술하는 한국어의 3개의 모음(예. "ㅡ", "ㅏ", "ㅣ") 을 이용하는 사례에도 동일하게 적용될 수 있음은 자명하며, 다음에 언급하는 내용 역시 마찬가지이다. 또한 "ㅎ = .+ㅡ+ㅡ = 0**" 로 입력하는 것은 "ㅎ = ㅗ+ㅇ"의 형상으로 이루어져 있는데, 마치 "ㅎ"을 써 나가는 느낌으로 입력할 수 있도록 하는 것이라고 하였다. 더 나아가 "." (한국어의 3개 모음 이용시는 "ㅏ" 등) 와 결합할 수 있는 모음이 입력된 다음에 "ㅎ"을 입력할 경우에도 입력규칙의 일관성을 위하여 "ㅎ = .+ㅡ+ㅡ" 로 입력하도록 할 수 있는데", 사용자의 편의를 위하여 ".+ㅡ"까지 입력되었을 때, "ㅗ"로 표시도록 할 수 있다. 이를 편의상 "ㅎ중ㅗ 입력"이라 부른다. 예를 들어, 도4-*을 기준으로 "기히 = 1#0**#" 에서 "1#0" 까지 입력되면 "가" 가 표시되고, 한번 더 "*"이 입력되면, "가ㅡ"가 된다. 그러나 위에서 언급한 "ㅎ중ㅗ 입력"을 적용하면, "1#0*" 까지 입력되었을 때, "기ㅗ" 가 표시되고 한번 더 "*" 이 눌러지면, "기ㅎ(unicode 에서는 'ㅎ'이 받침으로, KSC5601에서는 'ㅎ'이 다음 글자의 첫자음으로 됨)"이 되고 "#"이 더 눌러지면, "기히"가 되는 것이다. 차이는 "." (3개모음 이용시는 "ㅏ" 등) 로 끝나는 모음이 입력되고 나서 "ㅡ"가 입력되었을 때, "ㅡ"와 "ㅡ" 직전에 입력된 "." 을 낱자모음 "ㅗ"로 인식하고 처리하는 것이다. "1#0* = 기ㅗ" 가 입력되고 나서 삭제 버튼이 눌러지면 "1#0" 상태인 "가"로 되도록 할 수 있다. 이는 특별한 경우에 입력중간에 표시되는 형태만 다를 뿐 "ㅎ = .+ㅡ+ㅡ" 로 입력하는 것은 동일하다.
위의 내용을 조금 더 범용하게 정리하면, 특정 입력방법에서 "ㅗ = X+Y" 로 조합하여 입력하는 것으로 정의되어 있고, 일련의 모음 입력후 입력된 "X"가 그 입력방법에서의 약속된 특정 자소(모음)를 이루고, 그 다음에 연속하여 입력된 "Y"가 약속된 특정 모음을 이루지 못할 경우 최종 입력된 "X+Y"를 낱자모음 "ㅗ"로 인식하고 처리하는 것이다. "X"는 예시한 바와 같이 모음요소 "."이 될 수도 있고, 후술하는 한국어 3개 모음을 이용한 방법에서와 같이 "ㅏ", "ㅓ", "ㅜ", ... 등등이 될 수 있으며, "Y"는 "ㅡ"가 될 수 있다.
위의 결과로 볼 때, 결국 낱자모음 "ㅗ" 가 입력된 다음에 "ㅡ" 가 입력되면, "ㅗ+ㅡ"를 "ㅎ"으로 처리하는 것을 알 수 있다. 즉, 단어의 처음에 "ㅎ"이 배정된 [0]버튼을 이용하여 "ㅎ"을 입력하는 것을 적용하지 않고, 단어시작 상태에서 "0*" 로 "ㅗ"를 입력한 후 "ㅡ (=*)"가 입력되면, "0**"을 "ㅎ" 으로 인식하고 처리할 수 있다. 여기서 한걸음 더 나아가 낱자 모음 "ㅗ" 가 입력된 다음에 "ㅇ"이 입력되면 "ㅗ(낱자모음)+ㅇ"을 "ㅎ"으로 인식하고 처리할 수 있다. 이 역시 "ㅗㅇ"이 정상적인 한글 글자가 아니므로 "ㅗㅇ"의 조합을 "ㅎ"으로 처리하는 것이다. 그러나 "공부" 와 같은 단어에서와 같이 "ㅗ"가 낱자모음이 아닌 경우는 "ㅗ+ㅇ" 이 "ㅎ"으로 되지는 않는다. 위에서 예시한 "기히"의 경우는 "1#0* = 기ㅗ"가 되므로, 다음에 연속하여 "ㅇ (= 8)" 이 입력되면 "기ㅎ(unicode 에서는 'ㅎ'이 받침으로, KSC5601에서는 'ㅎ'이 다음 글자의 첫자음으로 됨)"으로, 다시 "ㅣ (= #)"가 입력되면 "기히"로 인식하고 처리할 수 있는 것이다. 예시에서 "ㅎ"의 입력을 들었으나, 위의 수단으로 임의의 자소를 입력할 수 있다. 그러나, 형상적으로 연관성이 있는 "ㅎ"을 입력하는 것이 자연스러울 것이다.
위에서 3모음법을 위주로 설명하였으나, 4모음법에서도 탈락자음 입력에 대 하여 동일하게 적용할 수 있다. 도4-7, 도4-8에서 [8] 버튼에 ".."과 함께 배정 된 "ㅁ"을 입력함에 있어서, 단어의 첫머리에 탈락자음 "ㅁ"이 올때는 해당버튼 [1]타로 입력할 수 있고, 함께 배정된 모음요소 ".."이 결합할 수 없는 모음(즉, 모음 'ㅡ', 'ㅣ'를 제외한 모음 및 모음요소) 다음에 "ㅁ"이 올 때는 [8] 버튼 1 타로 입력할 수 있는 것이다. 마찬가지로 자음 다음에 탈락자음 "ㅁ"이 올 경우 는 해당 버튼 2타로 모호성없이 "ㅁ"을 입력할 수 있다. 또한 함께 배정된 모음 요소가 결합할 수 있는 모음 다음에 탈락자음 "ㅁ"이 오는 경우는 "8*"로 입력할 수 있다. 물론 4모음법의 경우에도 탈락자음 입력에 있어서, 단순히 탈락자음배 정버튼이용 완전컨트롤처리방법의 적용 및 탈락자음을 타 기본자음의 변형알파벳 (격음 혹은 경음)으로 간주하는 컨트롤처리방법의 적용이 가능하다.
더불어 기호의 입력에 있어서, 격음/경음이 존재하지 않는 기본자음을 이용 하여 컨트롤처리방법을 적용하는 것이 가능하다.
4.9. 기호의 입력예
기호의 입력에 있어서 가능한한, 격음/경음이 존재하지 않는 기본자음이 배 정된 버튼과 모음요소 버튼(특히, 컨트롤버튼처럼 활용할 수 있는 "ㅡ", "ㅣ" 버 튼)을 조합하여 입력하도록 하는 것이 편리할 것이다. 즉, 격음/경음의 입력방법 을 응용하는 것으로 볼 수 있다.
예를 들어 도4-5를 기준으로 다음과 같이 각종의 기호를 입력할 수 있으며, 이하의 내용은 이미 선출원에서 제시된 내용이며, 본 발명에서 제시한 문자입력방 법에서 뿐만 아니라 타 문자입력시스템에서도 유사하게(즉, 컨트롤처리방법 이용) 적용할 수 있음은 자명하다.
▶ 느낌표(!) = 2** : "느낌표"의 "느 = 2*..."에서 쉽게 연상 가능
▶ 슬레시(/) = 2## : "나누기"의 "나 = 2#..."에서 쉽게 연상 가능
▶ 물결표(~) = 4** : "ㄹ"자의 모양 및 "르" 발음에서 물결모양 연상
▶ 골뱅이(@) = 4## : "@" 기호의 회돌이 모양에서 "ㄹ+ㅣ"를 연상
▶ 물음표(?) = 5** : "물음표"의 "물 = 5*..."에서 쉽게 연상 가능
▶ 마침표(.) = 5## : "마침표"의 "마 = 5#..."에서 쉽게 연상 가능
▶ 쉽표(,) = 5### : "마침표" 입력후 "#"을 한번 더 누름
▶ 콜론(:) = 5#### : "쉼표" 입력후 "#"을 한번 더 누름
▶ 세미콜론(:) = 5##### : "콜론" 입력후 "#"을 한번 더 누름
만약 [*] 버튼 혹은 [#] 버튼을 모음버튼으로 활용하지 않는 문자입력시스 템에서는 "ㄴ"이 배정된 버튼과 컨트롤버튼(예. [*] 버튼)을 조합하여, 느낌표를 입력할 수 있을 것이다. [*] 버튼 혹은 [#] 버튼이 모음버튼이 아닌 컨트롤버튼 으로 활용되는 입력시스템에서도 컨트롤버튼으로 활용되는 시스템에서도 순경음 입력에서 설명한 바와 같이, "ㄴ"이 배정된 버튼과 컨트롤버튼의 반복누름을 조합 하여 느낌표를 입력할 수 있을 것이다. 예를 들어 고어보다 우선하는 현대어를 입력하는데, "ㄴ"이 배정된 버튼과 임의의 컨트롤버튼(예. [*] 버튼)이 최대 2번 눌러진다면, "느낌표 = ㄴ+***" 로 입력될 수 있다.
마침표(.)+"ㅣ" = 쉼표(,) 로 되었는데, 이 역시 특정기호(예에서 마침표) 다음에 모음 "ㅣ"가 정상적으로 결합될 수 없는 성질을 이용한 것이다. 만약 마 침표 다음에 모음 "ㅣ"를 입력하고 싶다면, 마침표(.) 입력후 일정시간(예. 언어 제한해제 지연시간 만큼)이 경과하도록 하여 마침표를 확정한 후 "ㅣ"를 입력하거 나, 마침표(.) 입력후 특정 버튼(예. 오른쪽 화살표, 혹은 '공백+삭제')을 눌러 마침표를 확정한 후 모음 "ㅣ"를 입력하여 ".ㅣ"를 입력할 수 있을 것이다. 이는 기 설명한 고어 한글의 입력에 있어서도 마찬가지이다.
위에서 느낌표 이외의 다른 기호의 경우에도 타 입력시스템에서 유사하게 적용(연상이 가능한 한글 자음이 배정된 버튼과 컨트롤버튼의 조합)될 수 있음은 자명하며, 위의 내용의 연장선상에서 다양한 다른 기호의 입력이 가능하다.
이상에서 본 발명에서 제시한 한글입력방법에 최적화된 기호입력사례를 보 였다. 즉 가능한한 격음/경음이 존재하지 않는 자음버튼과 모음버튼(모음 "ㅡ", "ㅣ"가 배정된 버튼)을 이용하여 각종의 기호를 입력한 것이다. 그러나, 이미 순 경음 "ㅸ = 6****" 혹은 "ㅸ = 6####" 으로 입력하는 것을 보인 것과 같이 격음/ 경음이 존재하는 자음버튼을 이용하여서도 고어자모 혹은 각종의 기호를 입력할 수 있다.
더 아나가 아래의 10, 11 에서 설명하는 사례와 같이 모음버튼이 반복적으 로 눌러져 여러가지 모음이 선택/입력되는 경우에도 기호 등의 입력이 가능하다. 예를 들어 도4-5에서 모음"ㅡ"가 배정된 [*] 버튼 1타로 "ㅡ"가 선택되고, 2타로 "ㅜ"가 선택되고, 3타로 "ㅠ"가 선택되는 경우 (즉, 모음 "ㅡ", "ㅜ", "ㅠ"의 순 서로 해당 버튼의 반복누름횟수에 따라 선택되는 경우), "5*** = 뮤"가 된다.
보통 특정 버튼의 반복누름에 따라 특정 자소가 선택되는 방법에 있어서, "최대가능반복수"(예. [*] 버튼이 3회 눌러진 경우) 다시 처음 상태(즉, 한번눌 러져서 "ㅡ"가 선택된 상태 순환하도록 하는 경우가 많다. 즉 "5**** = 므" 가 되는 것이다. 이는 주로 오타에 의하여 원하는 횟수보다 더 많이 눌러졌을 경우 를 배려한 것이다. (그러나 이는 굳이 그렇게 하지 않더라도 출원인의 선출원에 서 제시한 입력값 단위의 삭제 기능을 활용하면 충분하다) 혹은 "5**** = 5*** + * = 뮤ㅡ" 가 되도록 하는 경우가 보통일 것이다. 그러나 순경음 "ㅸ"의 입력에 서 보인 바와 같이 결합할 수 없는 알파벳(모음)이 입력된 것을 시스템이 감지하 여, 입력값 전체를 하나의 특정 알파벳(예. 대응 격자음, 고어 혹은 특정 기호)로 인식할 수 있다.
즉 이 경우(모음 "ㅡ", "ㅜ", "ㅠ"의 순서로 해당 버튼의 반복누름횟수에 따라 선택되는 경우 - 여기서 실제로 3개의 모음이 [*]버튼에 표시되어 있는 경우 와 일부의 모음(예. 모음 "ㅡ")만 표시되어 있는 경우를 모두 포함함), "물음표 (?) = 5****" 로 입력할 수 있는 것이다. "5****" 다음에 연속하여 [*] 버튼이 눌러졌을 때, 위의 예에서 마침표(.)가 입력된 후 다음에 [#]이 눌려졌을 때, 일 련의 기호(위 예에서, 콤마(,), 콜론(:), 세미콜론(;) 등으로 넓은 의미로는 각종 알파벳)를 인식할 수 있는 것과 마찬가지로, 약속된 기호로 인식될 수 있다. 따 라서 기호가 아닌 예로, 격자음 "ㅋ = 1****" 로, "키 = 1*****"과 같이 입력될 수 있을 것이다.
이는 모음 "ㅡ"가 배정된 [*] 버튼의 반복누름 횟수에 따라 약속된 "ㅡ", "ㅜ", "ㅠ"가 선택되도록 하고, 더불어 연속된 반복누름횟수에 따라 " 기호컨트롤1", "기호컨트롤2", "기호컨트롤3", ... 이 선택되도록 하는 것과 같은 맥락으로 볼 수 있다. 즉 "5+{기호컨트롤1} = 5**** = 물음표(?)" 로 하는 것과 같다. 마찬가지로 모음 "ㅡ"가 배정된 [*] 버튼의 반복누름 횟수에 따라 약속된 "ㅡ", "ㅜ", "ㅠ"가 선택되도록 하고, 더불어 연속된 반복누름횟수에 따라 "2nd", "3rd", "5th"... 등의 후속컨트롤이 선택되도록 하는 것과 같다. 예를 들어 "5+{2nd} = 5**** = 물음표(?)" 가 되도록 하는 것이다. 즉, [5]버튼에는 "ㅁ" 이 대표알파벳으로 "?" 가 {2nd} 후속알파벳으로 암시적으로 정하여져 있는 것이 다. 이는 출원인의 선출원(출원번호는 굳이 명시하지 않는다)에서 제시한 바, 모 음버튼을 컨트롤버튼으로 활용하는 사례를 보인 것과 유사한 맥락으로 볼 수 있다.
모음 "ㅡ"가 배정된 버튼이 "ㅡ"의 입력으로만 사용되는 경우, 자음 다음에 나온 모음 "ㅡ"의 최대가능반복수는 1회이므로, "물음표(?) = 5**" 로 입력이 가 능한 것으로 볼 수 있다. 이를 확대하여 최대가능반복수가 1회 이상인 경우(위 예에서 3회인 경우)에도, 각종의 기호를 입력할 수 있는 것이다. 물론 여기서 자 음버튼과 조합하여 기호를 인식하지 않더라도, 모음버튼의 입력만을 기호로 인식 할 수도 있다. 예를 들어 "ㅡ" 가 배정된 [*] 버튼의 반복누름에 따라 "ㅡ", "ㅜ", "ㅠ"와 같이 3개의 모음이 입력되는 경우 "5**** = ?" 로 하지 않고 "**** = ?" 로 하여 특정 알파벳(예. 기호)를 인식할 수 있다. 그러나 이는 [*] 버튼을 이용하여 하나의 기호와 [*] 버튼이 연속눌러졌을 때의 약속된 기호들만 입력할 수 있어 좋은 방법은 아니다. 자음버튼과 조합으로 인식하는 경우, 예에서의 [5] 버튼과의 조합 뿐만 아니라 다른 버튼(예. 자음이 배정된 숫자버튼)과의 조합을 특정 기호(알파벳도 가능)로 인식할 수 있으므로 더 적은 입력타수로 다양한 기호 의 입력을 구현할 수 있는 것은 자명하다.
이상의 내용은 출원인이 선출원에서 언급한 바, 모음이 배정된 버튼을 컨트 롤버튼처럼 활용하는 것으로 볼 수 있으며, 입력규칙을 정하기에 따라 컨트롤버튼 은 선입력될 수도 있고 후 입력될 수도 있다. 즉 "물음표(?) = 5**" 로 입력하도 록 할 수도 있고, "**5" 로 입력되도록 할 수도 있는 것이다. 예를 들어 "가"가 입력되고 나서 "**5"가 입력되면, "가+ㅡ+ㅡ+ㅁ"에서 마지막 "ㅁ"이 입력되는 순 간 시스템은 입력값을 "가?"로 인식하게 된다. "감" 다음에 "**5"가 입력되면, "가므ㅡㅁ"에서 마지막 "ㅁ"이 입력되는 순간 최종 입력된 "5**"을 감지하여 입력값을 "감?"으로 인식할 수 있다. 나머지 경우에도 마찬가지이다.
이상을 정리하면, 특정 모음버튼이 반복적으로 사용되어 누름횟수에 따라 정해진 알파벳이 선택되는 방법에서, 모음버튼의 최대가능반복수 이상으로 입력되 는 순간을 시스템이 감지하여 눌러진 일련의 모음버튼 입력값과 특정 (자음)버튼 과의 조합(정해진 바에 따라 일련의 모음버튼이 선입력 혹은 후입력될 수 있음)을 약속된 알파벳(기호)의 입력으로 처리하는 것이다.
이는 알파벳(기호 포함) 뿐만 아니라 각종의 기능 입력에도 적용될 수 있다. 기능의 입력에 적용시 출원인의 선출원의 "다차원 교차컨트롤처리방법"에 서 보인바(N차원 교차 컨트롤처리방법으로 알파벳을 입력시, N+1회 컨트롤버튼의 교차 조합으로 기능을 입력)와 같이, 특정 기능의 입력은 컨트롤버튼의 반복누름 에 의하여 각종 알파벳(기호 등)이 입력되도록 하고, 마지막에 이루어지도록 정하 는 것이 바람직하다. (예. 5**** = 물음표(?), 5***** = 느낌표(!), 5****** = 엔터기능 활성화)
만약 "5***** = 엔터기능 활성화" 이고 "5****** = 느낌표(!)" 라면, "5*****"에 의하여 엔터기능이 활성화 되고 나서 다시 [*] 버튼이 눌러졌을 때, 시스템이 실행된 엔터기능을 무효화(취소)하고 전체 입력값 "5******" 을 느낌표(!)로 해석하는 것은 구현상으로도 부자연스럽고 사용자에게도 혼란스럽기 때문이다. 이는 각종의 알파벳(기호 포함) 입력시 컨트롤버튼으로 사용되는 모음 버튼이 최대 N회 사용되었을 때, 그 이상(즉, N+1회)의 반복누름을 이용하여 기능 을 입력하도록 하는 것이 바람직하다는 의미이다.
4.10. 모음요소 "."을 이용한 임의의 모음(예. 모음 "ㅏ")의 입력
모음요소 "."을 이용하여 고어 "아래아"를 자연스럽게 입력할 수 있음을 보 였다. 모음요소 "."은 모양에 있어서도 아래아와 유사하므로 사용자에게 친화감 을 줄 수 있다. 아래아를 모음요소 "."으로 입력시, 모음조합과정(즉, 모음처리 과정)에서 모음조합시작(예. 자음 입력후) 에서 모음조합종료(예. 다음 자음 입력 혹은 공백등 모음종료를 줄 수 있는 기능의 활성화) 사이에 [0] 버튼만이 눌러졌 으면 이를 아래아로 처리하는 것이다.
기본적으로 모음요소를 이용하여 모음을 입력하는 것은 모음요소의 조합으 로 어떤 단일모음을 형성해 내는 것이다. 모음조합과정이란 모음조합시작에서 모 음조합종료 까지를 의미한다. 모음조합시작 상태는 자음입력후, 공백등의 기능 활성화 후, 혹은 기 인식된 모음에 현재 입력된 모음이 결합되지 않는 것이 인식 되었을 때 등을 의미한다. 예를 들어 모음 입력값 "1#*... = 기ㅡ ..." 에서 "*" 이 눌러졌을 때, 기 인식된 모음 "ㅣ" 다음에 모음요소 "ㅡ"가 결합하여 다른 단 일모음을 형성할 수 없으므로 새로이 모음조합시작 상태로 인식하게 되는 것이다. 마찬가지로 모음결합종료 상태는 새로이 자음이 인식된 때, 공백 등의 기능 활성 화가 인식된 때 등등을 의미한다. 아래의 설명예에서는 편의상 자음과 자음사이 에서의 모음조합과정(모음조합시작에서 모음조합종료까지)을 예로 들어 설명한다.
예를 들어 "105 = ㄱ + . + ㅁ"으로 아래아를 모음으로 하는 하나의 글자로 될 것이다. "1"이 눌러져서 자음이 인식되고 나서 "0"이 눌러지면, 시스템은 1차 적으로 모음조합과정의 시작을 인식하게 된다. 입력값 "10~"에 대해서, 시스템은 "ㄱ+." ("거", "겨", "고", 혹은 "교"를 입력하는 과정)으로 인식할 수 있다. 그 러나 "5"가 눌러져서 자음처리과정이 시작되고 모음조합과정이 종료되는 것을 인 식하면, 입력값 "0"을 아래아로 처리할 수 있는 것이다. 즉 입력값 "105"에 대하 여 "ㄱ => ㄱ+. => ㄱ+.+ㅁ"으로 인식된다. 여기서 "+" 기호를 써서 나타낸 것은 고어 아래아(즉, '.')를 모음으로 하는 하나의 글자로 나타나게 되는 것을 의미한 다.
3모음법에서 이용된 3개의 모음요소 "ㅡ", ".", "ㅣ" 중에서 "ㅡ"와 "ㅣ"는 그 자체로 모음으로 존재하나 모음요소 "."만이 다른 모음요소와 조합되어 현대 한국어 모음을 표현한다. 여기서는 모음요소 "."을 이용하여 현대 한국어에서 거 의 사용되지 않는 아래아를 입력하지 않고, 현대어에서 자주 사용되는 단일 모음 (예. "ㅏ")을 입력할 수 있음을 보인다.
모음요소 "."이 배정된 [0] 버튼을 이용하여 현대 한국어의 단일모음을 입 력함에 있어서 가장 사용빈도가 높고 아래아와 발음도 유사한(사실상 같은) 현대 한국어 모음 "ㅏ"를 입력하도록 하는 것이 바람직할 것이다.
모음요소 "."이 배정된 버튼으로 모음 "ㅏ"를 입력하도록 하는 것은, 모음 요소 "."이 배정된 버튼으로 아래아를 입력하는 것과 유사하다. 예를 들어 "105" 입력시 "1"이 눌러졌을 때, 시스템은 자음 "ㄱ"으로 인식하고, 다음 "0"이 눌러지 면, 시스템은 1차적으로('0**' 혹은 '000' 이 입력되면 자음처리과정이 되므로) 모음조합과정을 수행한다. 입력값 "10"에 대하여 마찬가지로 시스템은 "ㄱ+." ) "거", "겨", "고", 혹은 "교"를 입력하는 중간 단계로 인식할 수 있으나, 다음에 자음입력 "5"가 입력되면(혹은 모음조합과정의 종료를 줄 수 있는 공백 및 기타 기능의 활성화), 시스템은 모음조합과정이 종료되고, 입력값 "0"을 약속된 모음 "ㅏ"로 인식할 수 있는 것이다. 즉 입력값 "105"에 대하여, "ㄱ => ㄱ+. => 감" 으로 인식하게 된다. 여기서 다른 모음(예. 'ㅣ')이 입력되면, 전체 입력값 "105# = 가미"와 같이 되는 것은 자명하다.
예시한 "105 = 감"으로 되는 처리과정은 사실상, "1#05"에 대하여 "ㄱ => 기 => 가 => 감"으로 처리하는 과정과 동일하다. "1#0" 후 "5"가 눌러지면, 모음 조합과정의 종료를 인식하고 입력값 "#0"에 대하여 모음 "ㅏ"로 확정하는 것이다. 다만 "ㅏ = ㅣ+. = #0"으로 입력시 시스템이 입력값의 입력에 따라 출력하는 형태 가 모음 "ㅏ"를 필기하는 과정과 유사하므로 사용자에게 친화감을 주는 것 뿐이다.
이렇게 모음요소 "."으로 자주 사용되는 모음 "ㅏ"를 입력하는 것은, 모음 요소 "ㅣ"와 "."을 순차적으로 결합하여 입력하는 것보다 자연스러움면에서 미흡 한 것이 사실이다. 그러나 모음요소 "." 만으로 모음 "ㅏ"를 입력하는 것과 동시 에 "ㅣ"와 "."의 결합(즉 도면에서 '#0')으로 "ㅏ"를 입력할 수도 있으므로 문제 가 되지는 않는다.
여기서 고어 아래아의 입력은 "00"으로 입력하도록 할 수 있다. 마찬가지 예를 들면, "100" 까지 눌러지면, 시스템은 "교" 혹은 "겨"를 입력하는 과정에서 "ㄱ+.+." 으로 인식할 수 있으나, 다음 입력값으로 결합가능한 모음버튼이 오지 않고 자음 혹은 기타 모음조합과정의 종료를 줄 수 있는 기타 기능의 활성화가 인 식되면, 시스템은 "100"을 "ㄱ+아래아"로 인식하게 된다. "1005" = "ㄱ+아래아+ ㅁ"으로 인식하게 된다. 역시 고어 아래아 입력의 필요성이 적다면, 사용빈도가 많은 모음 "ㅓ" 등의 다른 모음을 [0] 버튼 2타로 입력하도록 할 수 있다.
사용자에 따라서는 모음요소 "."으로 아래아를 입력하지 않고 "ㅏ"를 입력 하는 점에 대하여 직관이 부족하여 덜 선호할 수도 있다. 이러한 사용자를 위하 여 [0] 버튼 1타로 아래아를 입력하도록 하고, [0]버튼 2타로 모음 "ㅏ"를 입력하 도록 할 수 있다. 처리과정은 앞에서 설명한 바와 동일하므로 생략한다. 이 경 우에도 동시에 "ㅏ = ㅣ+. = #0"으로 입력할 수 있도록 할 수 있을 것이다. 모음 요소 "."이 배정된 [0] 버튼 2타(즉 '00')로 모음 "ㅏ"를 입력하는 것 역시 입력 의 편리도 면에서는 "ㅣ+. = #0"으로 입력하는 것보다 편리도가 높다.
위에서 제시한 모음요소 "."이 배정된 버튼(예시 도면에서 [0]버튼) 1타로 "ㅏ"를 입력하도록 할 것인지 혹은 1타로 고어 아래아를 입력하고 2타로 "ㅏ"를 입력하도록 할 것인지를 사용자의 기호대로 설정하도록 할 수 있다. 더 나아가 "ㅏ"가 아닌 다른 모음을 입력하도록 하는 것도 가능하며, 이 역시 사용자가 설 정하도록 할 수 있을 것이다.
모음 "ㅏ"는 한국어에서 압도적으로 사용빈도가 높은 모음이므로 모음요소 "."을 이용하여 현대어에서 사용하는 임의의 모음을 입력할 수 있도록 함에 있어 서 다른 모음보다도 "ㅏ"를 입력하는 것이 바람직하다. 모음 "ㅏ"는 한국어 모음 전체 중 약 22% 정도의 사용빈도를 가지고 있다. 또한 사용빈도는 "ㅏ", "ㅣ", "ㅡ" 순이면 이 세가지 모음이 한국어 전체 사용빈도의 약 50% 이다. 즉 모음요 소 "."으로 "ㅏ"를 입력할 수 있도록 함으로써, 실제 사용되는 모음의 약 절반을 각각 특정 버튼 1타로 입력할 수 있다는 의미를 가진다.
이상에서 3모음법을 기준으로 설명하였으나, 4모음법에서도 동일하게 적용 될 수 있다. 즉 도4-7, 도4-8에서 모음결합과정(모음결합시작 ~ 모음결합종료)에 서 모음요소 "." 만이 인식되면 이를 약속된 모음(예. 'ㅏ')로 처리할 수 있고, 모음요소 ".."이 인식되면(즉, [8]버튼 입력) 이를 약속된 다른 단일모음(예. 아 래아 혹은 'ㅓ')으로 처리할 수 있다. 뿐만 아니라 현재 한국에서 사용되고 있는 모음요소를 이용한 입력시스템에서도 적용될 수 있음은 물론이다.
모음결합과정이 모음조합시작에서 모음조합종료까지를 의미한다고 하였으므 로, 이러한 모음입력에 부가하여 다른 모음을 조합할 수 없다. "10"으로 모음 " 가"를 입력하고 다시 여기에 모음요소 "ㅣ"를 조합하여 "개"를 입력할 수 없다는 의미이다. "10#"은 "ㅓ"가 되는데, "0"이 입력되었을 때 모음조합과정이 시작되 었고 "#"이 눌러졌을 때 모음조합과정이 계속되고 있기 때문이다. 즉, 앞에서 설 명한 내용은 추가적으로 모음요소가 결합하여 변화하는 모음이 아닌 단독으로 사 용되는 모음 입력에 대해서만 적용될 수 있는 것이다 (예. "감"에서 모음 "ㅏ" 혹 은 "가+단어종료"에서 "ㅏ").
여기서 모음요소 중 원래 단독으로 모음으로 존재하지 못하는 모음요소 "."은 모음요소로, 또 단독으로 모음으로 존재하되 추가적으로 모음요소(혹은 요 소모음)이 결합할 수 있는 모음(예. 자체로 모음으로 존재하는 "ㅡ", "ㅣ" 및 모 음요소 결합에 의하여 생성된 모음으로써 "ㅏ", "ㅑ" ... 등과 같이 추가적으로 모음요소 결합에 의하여 변화할 수 있는 모음)을 "요소모음"이라 부른다. 여기서 "ㅡ", "ㅣ"는 모음요소이기도 하고 동시에 요소모음이기도 하다.
이상에서 한국어 모음요소 "ㅡ", ".", "ㅣ" 를 이용하여 모음을 입력하되, 모음조합을 시작하는 [.] 버튼의 입력에 대하여, "ㅏ"로 처리하는 것과, [.]버튼의 2번 눌러짐에 대하여 "ㅓ"로 처리하는 것을 설명하였다. 본 발명에서의 한국어 키패드는 호환성을 가지므로, 하기(4.11)에서의 현대 한국어의 3개 모음 (예. "ㅏ", "ㅣ", "ㅡ") 를 이용한 모음입력에서 적용한 내용을 추가적으로 적용할 수 있다. 즉, "ㅘ = .+ㅡ+." 으로, "ㅙ = .+ㅡ+.+ㅣ" 으로, "ㅝ = ㅡ+.+.+."으로, "ㅞ = ㅡ+.+.+.+ㅣ" 으로 입력되도록 할 수 있는 것이다.
4.11. 현대 한국어의 3개 모음 (예. "ㅏ", "ㅣ", "ㅡ") 을 이용한 모음입력 방법 및 이를 이용한 한국어 입력시스템
한국어에서 가장 많이 사용되는 모음은 "ㅏ", "ㅣ", "ㅡ" 의 순으로 3개의 모음이라고 한다. 특히 모음 "ㅏ" 가장 많이 사용되는 모음이다. 이하에서는 " ㅡ", "ㅣ"와 임의의 한개 모음(예시에서는 모음 "ㅏ")를 포함하는 3개의 모음을 이용하여 한국어 모음을 처리하는 방법을 보인다. 선출원에서 선보인대로 한국어 의 10개 평자음과 "ㅏ", "ㅣ", "ㅡ" 3개의 모음의 13개 알파벳을 기본알파벳으로 이용하므로 12개 버튼을 구비한 키패드에서는 하나의 버튼에 하나의 자음과 하나 의 모음을 구비하는 사례를 예시 한다. 단, 이러한 예시와는 별개로, 다음에 제 시되는 모음을 조합하여 처리하는 것은 다른 경우(선출원에세 제시한 각종 자음입 력방법, 타 시스템에서의 자음입력방법 뿐만 아니라 향후 출현할 어떠한 새로운 자음입력방법)에서도 동일하게 적용될 수 있다. 이하에서 본 출원의 다른 장(章, Chapter)에서 언급한 내용은 다음에서도 적용가능 함은 자명하다.
선출원에서의 발명을 고려하여, 도4-10, 도4-11은 모음 "ㅏ"와 자음 "ㅎ"을 하나의 버튼에 구비한 사례이다. 도4-10에서는 키패드를 간결하게 유지하기 위하 여, [0]버튼의 숫자 "0" 안에 모음 "ㅏ"를 표시하였으며, 도4-11과 같은 의미이다. 도4-10의 사례에서 모음 "ㅡ", "ㅏ", "ㅣ" 는 각각 [*]버튼, [0]버튼, [#]버튼에 의하여 선택/입력될 수 있다. 물론 이는 하나의 사례일 뿐이며, 변형 이 가능함은 쉽게 알 수 있다. 편의상 이하에서 [*]버튼을 [*]버튼 혹은 모음 " ㅡ"버튼, [0]버튼을 [0]버튼 혹은 모음 "ㅏ"버튼, [#]버튼을 [#]버튼 혹은 모음 "ㅣ"버튼이라고 부르기로 한다. 특히 자음 "ㅎ"이 함께 배정된 [0]버튼은 경우 에 따라 "ㅎ" 버튼이라고도 부르기로 한다.
이하에서 도4-10, 도4-11에서 [0] 버튼은 1차적으로 "ㅏ"버튼으로 적용되므 로, "ㅏ"가 배정된 버튼에 자음(예시 도면에서 "ㅎ")이 함께 배정되지 않은 경우 도 동일하다. 또한 나머지 모음버튼에 자음이 함께 배정된 경우 혹은 임의의 컨 트롤과 함께 배정된 경우에도 적용될 수 있다. 단, 모음 "ㅡ", "ㅣ" 와 함께 배 정된 자음의 입력이 모음의 입력에 영향을 주지 않아야 한다 ("ㅋ = ㄱ+ㅡ+ㅡ = 1**" 로 입력하는 것은 "자음+ㅡ" 다음에 모음 "ㅡ"가 연속하여 나오지 않는 성질 을 이용한 것으로 모음의 입력에 결과적으로 영향을 주지 않는다 - 언급한대로 " 결정적"으로 처리되는 성질).
다음에서 본 발명에서 제시하는 3개 모음을 이용하여 나머지 모음을 입력하 는 사례를 보이면 표1과 같다.
Figure pat00023
표1의 내용은 3개의 모음요소 "ㅡ", ".", "ㅣ"를 이용하여 한국어 모음을 입력하되, "." 가 배정된 버튼1타로 모음 "ㅏ"를 입력하는 것과 동일하다. 표1 에서 예를 들어, "ㅜ = ㅡ+ㅏ"로 정의되어 있는데, 이는 한국어에서 모음 "ㅡ" 다 음에 모음 "ㅏ"가 연속하여 나오지 않는 성질을 이용하여 전체 입력값("ㅡ+ㅏ")을 모음 "ㅜ"로 시스템이 인식하도록 정의한 것으로 생각할 수 있다. 모음 "ㅐ"의 경 우 "ㅏ"와 "ㅣ"로 분해되므로, "0#"으로 입력하는 것이 자연스러울 수 있으나, 모 음 "ㅓ = 0#"으로 정의되어 있으므로, "ㅐ = #0#"으로 입력하도록 정의한 것이다. 나머지 모음에 대하여 조합을 정의한 것도 유사하게 생각할 수 있다. 표1의 정의 에 따라, 한국어의 21개 모음을 모호성 없이 입력할 수 있게 된다.
표1에서 어느 하나의 모음버튼이 눌러짐을 인식하여 모음처리과정(즉, 모음 조합과정)이 개시되는 상태에서 표1의 입력값 중 해당하는 입력값이 감지되었을 때, 시스템은 해당모음을 식별하게 된다. 예를 들어 도4-10에서 [1] ~ [9]의 자 음버튼 중 하나의 버튼이 눌러진 후에, 혹은 일련의 입력으로 자음의 입력이 인식 된 후(예. "1** = ㅋ") 에 모음버튼(도4-10에서 [#], [0], [#] 버튼) 중 하나의 버튼이 눌러지면, 시스템은 모음처리과정이 시작됨을 인식하고 해당 모음버튼의 입력과 그 이후의 일련의 입력값(모음버튼)의 입력을 감지하여 표1에 따라 해당 입력값에 대응되는 모음을 식별해 낼 수 있게 된다.
그러나, 표1에서 (모음)확정(가능)여부에 동그라미가 표시된 모음의 경우는 해당 입력값의 입력에 대하여 해당 모음임을 확정할 수 있으나, 나머지의 경우는 다음 입력값에 따라 다른 모음으로 될 수 있다. 예를 들어, "0#"이 눌러지면, 시 스템은 표1에 따라, "ㅓ"의 입력을 인식할 수 있으나, 다음에 "#"이 한번 더 눌러 지면, 시스템은 전체 입력값 "0##"을 모음 "ㅔ"로 인식하게 되는 것이다. 표1에 서 "0##" 다음에 다른 입력값이 추가되어 전체 입력값을 다른 입력값으로 시스템 이 인식하게 되는 경우가 없으므로, 시스템은 입력값 "0##"에 대하여 모음 "ㅔ"로 확정적으로 인식할 수 있다.
마찬가지로 표1에서 확정(가능)여부란에 동그라미 표시가 없는 모음의 경우 는 다음 입력값에 따라 다른 모음으로 인식될 수 있다. 모음 "ㅏ = 0" 역시 다음 입력에 따라 "ㅓ", "ㅕ", "ㅗ", "ㅛ", ... 등의 모음이 될 수 있으므로, 자음 다 음에 모음 [0] 버튼이 눌러졌을 때 (예를 들어 "10"), 출력되는 형태는 "ㄱ
Figure pat00024
" 혹 은 "ㄱㆍ" 혹은 "ㄱ@" 혹은 "가" 등의 형태 중의 임의의 한가지로 출력될 수 있다. 다음 입력으로 자음버튼이 입력되거나 자음의 입력이 인식되면(예를 들어 "1" 이 추가로 입력), 전체 입력값 "101"에서 중간에 입력된 "0"을 모음 "ㅏ"로 확정적으로 인식하고, "각"을 출력할 수 있는 것이다. 여기서 "ㅏ = 0" 으로 입 력하도로 하였으나, "#0" 으로 역시 "ㅏ"를 입력할 수 있도록 하는 것을 허용할 수 있다.
여기서 시스템이 특정한 일련의 입력값에 대하여 해당하는 모음을 "인식"( 일시적으로 인식 확정적으로 인식하는 경우 모두 포함)하는 문제와 인식된 내용을 "출력(예. 액정 등에 표시)"하는 것과는 완전히 별개의 문제이다. (시스템에 따 라서는 인식된 내용을 출력할 필요가 없는 경우도 있을 수 있으며, 인식된 내용을 출력할지, 말지는 선택적인 문제임) 일시적으로 인식된 내용(여기서는 인식된 모 음)에 대하여, 예시한 바와 같이, 다음 입력값에 따라 달라질 수 있는 것을 고려 하여 적절한 형태로 출력(예. "ㄱ
Figure pat00025
") 하여 줄 수 있으며, 확정적으로 인식되는 순간 다시 적절하게 표시(예. "각")하여 줄 수 있는 것이다. 마찬가지로 "10"이 입력된 후 단어의 종료(예. 공백, 입력의 종료 등)가 인식되면, 시스템은 기 입력 된 "10 = 가"로 확정적으로 인식할 수 있는 것이다. 표1에서는 일부의 경우만 입 력중 출력형태를 예시하였다.
도11-1은 출원인의 선출원에서 제시한 도면으로 단말기(client)내에서 키패 드를 통하여 입력된 입력값을 제어부(controller)에서 메모리를 참조하여 해석하 고, 해석된 결과(문자열)을 표시부(display unit)에 표시하거나, 혹은 송출부 (sender)를 통하여 서버측으로 전송하는 것을 나타낸다. 여기서 해석된 문자열을 표시부(예. 액정 등)에 표시하는 문제 및 서버측에 전송하는 문제는 입력값을 해 석하는 과정과는 별개로 선택적인 문제이다. 하드웨어 적인 구성에 있어서도, 예 시 도면과 다르게 제어부에서 메모리까지 포함하여 가지고 있을 수도 있는 문제이 며, 절대적인 것인 아닌 것이다. 도11-2 역시 선출원에서 제시된 도면으로 입력 값을 클라이언트측에서 서버측으로 전송하고, 서버측에서 입력값을 해석하는 사례 를 보여준다.
여기서 모음 "ㅡ" 대신에 우향 화살표 "→"가 적용되고, 모음 "ㅣ" 대신에 하향 화살표 "↓"가 적용되는 것도 가능하며 유사한 효과를 주게 된다. <표1>에 서 모음 "ㅡ", "ㅣ" 대신에 화살표 "→"와 "↓"가 각각 적용되면 된다. 모음 " ㅡ", "ㅣ" 대신에 "→"와 "↓"가 각각 키패드 버튼상에 표시되는 것 보다는 모음 "ㅡ", "ㅣ"가 표시되는 것이 사용자 친화적인 면에서 더욱 좋을 것이다. 이는 후 술하는 "4개 모음을 이용한 모음입력방법"에서도 동일하다. 더 나아가 모음 " ㅡ", "ㅣ"와 유사한 수평선, 수직선 등의 형상을 이용하는 것도 가능하다.
출원인이 선출원에서 제시한 바, 도4-5에서 [0] 버튼에 배정된 "."으로 모 음 아래아를 입력하도록 하는 것은 결국 [0] 버튼을 "아래아 버튼"으로 사용하는 것이고, 나머지 모음의 조합에 있어서, 3개의 모음 "ㅡ", "ㅣ", ".(아래아)" 버튼 을 조합하여 입력하도록 하는 것이다. 3개의 모음 "ㅡ", "ㅏ", "ㅣ"로 모든 모음 을 입력하는 방법 역시, 모음 아래아(도면에서 "."으로 표시됨) 가 배정된 버튼( 도4-5, 도4-9에서의 [0]버튼)으로 가장 자주 사용되는 모음 "ㅏ"를 입력하도록 한 사례와 본질적으로 같다.
따라서 출원인의 선출원에서 제시한 여러가지 성질을 이용할 수 있음은 자 명하다. 예를 들어, 기본자음이 배정된 버튼의 반복누름에 의한 격자음/경자음의 입력, 모음버튼의 반복누름에 의한 모음의 입력, 컨트롤처리방법에 의한(즉, 모음 버튼과 조합하는) 격자음/경자음의 입력, 모음과 함께 배정된 자음(예. "ㅎ")의 입력 등등을 들 수 있다. 또한 모음처리과정 개시와 함께 연속 입력된 "00"을 약 속된 모음으로 처리하는 것도 가능하다.
예를 들어, [0]버튼 2회 입력이 모음 "ㅓ"로 약속되어 있다면, "1001" 입력 시 처음의 "1"입력시 "ㄱ"으로 인식하고, 2번째의 "0" 입력시 모음처리과정이 시 작된 것으로 인식하고, 다시 3번째 "0"입력시 모음 "ㅓ"로 일시적으로 인식하고, 4번째 "1" 입력이 입력되면 모음처리과정의 종료를 인식하여 연속입력된 "00"을 "ㅓ"로 확정적으로 인식하여, 입력값 "1001"에 대하여 "걱"으로 인식할 수 있다. 도4-10, 도4-11에서 격자음 입력에 있어서, 컨트롤 후입력을 적용한 컨트롤처리방 법에 의하여, "ㅋ = ㄱ+{격음컨트롤} = ㄱ+ㅡ+ㅡ = 1**" 로 입력하도록 할 수 있 다. "1*"까지 입력되면, 시스템은 "그"로 인식하나 그 다음에 연속하여 입력되는 "*"을 보아 전체 입력값 "1** = ㅋ"으로 결정적(deterministic)으로 시스템이 인 식할 수 있는 것이다. 만약 "101" 다음에 4번째 입력값으로 "*"이 입력되면, 시 스템은 입력값을 "가그"로 인식하게 된다. 이는 2벌식 키보드에서의 한글오토마 타로써 너무나 당연한 것이다. 다음으로 5번째 입력값으로 "*"이 입력되면, "...1**"에서 마지막에 입력된 "1**"을 "ㅋ"으로 인식하고 확정하게 되므로, 전체 입력값 "101**"에 대하여 "가+ㅋ"으로 인식하게 된다. (註 : 유니코드체계 이용 시, 'ㅋ'이 '가'의 종성받침으로 하나의 글자로 표시되어야 하나 특허청 전자문서 편집기에서 KSC 5601 완성형만을 지원하므로 '가+ㅋ'으로 표시함) 결정적 (deterministic)이라는 의미는 일련의 입력값 "...1**" 중에서 "1**"이 감지되는 순간, "1**"을 "ㅋ"으로, 즉, 마치 PC키보드에서 [ㅋ] 버튼이 입력된 것처럼 처리 하고 인식할 수 있다는 의미이다.
마찬가지로 경자음 입력에 있어서, "ㄲ = ㄱ+{경음컨트롤} = 1## = ㄱ+ㅣ+ ㅣ"으로 할 수 있다. "ㅎ"의 입력 역시, "ㅎ"을 "ㅇ"의 변형알퍄벳(격자음)으로 간주하여 "ㅎ = ㅇ+{격음컨트롤} = ㅇ+ㅡ+ㅡ = 8**" 로 입력하거나, 혹은 "ㅎ"을 "ㅏ"의 변형알파벳으로 간주하여 "ㅎ = ㅏ+ㅡ+ㅡ = 0**"로 모호성없이 입력할 수 있다. 또한 단어의 시작 상태에서는 "ㅎ"을 [0]버튼 1타로, 그리고 "ㅡ", 'ㅣ", "ㅏ", "ㅜ", "ㅚ" 등의 모음(모음 "ㅏ" - 즉 예시에서 [0]버튼 - 가 결합하여 다 른 모음으로 될 수 있는 모음) 이외의 모음이 식별된 다음에는 [0] 버튼 1타로 " ㅎ"을 입력할 수 있는 것은 이미 타 실시예에서 설명한 것과 동일하다. 더 나아 가 "ㅎ"이 배정된 버튼 1타로 "ㅎ"을 입력할 수 있는 경우에도 "0**" 혹은 "8**" 이 "ㅎ"으로 인식될 수 있도록 하는 것 역시 가능하다. 마찬가지로 변형알파벳을 3타 이상으로 입력하는 변형알파벳 "3+타" 입력방법을 적용할 수도 있다 (예. "ㄱ = 1", "ㅋ = 111", "ㄲ = 1111" 또는 "ㄱ = 1", "ㄲ = 111", "ㅋ = 1111". 이 경 우는 매우 드물지만 모호성이 있을 수 있다). 또한 앞에서 언급한 바와 같이 격 자음, 경자음 또는 탈락자음(기본알파벳의 변형알파벳으로 간주하는 자음, 예를 들어 기본자음 "ㅇ"에 대하여 탈락자음 "ㅎ", 기본자음 "ㄴ"에 대하여 탈락자음 "ㄹ")의 입력에 소정의 선택순서에 의한 단순반복선택방법을 적용할 수 있는 것 도 자명하다 예를 들어, ㄱ = 1, ㅋ = 11, ㄲ = 111 또는 ㄱ = 1, ㄲ = 11, ㅋ = 111 또는 ㄴ = ㄴ, ㄹ = ㄴ+ㄴ ("ㄹ"을 "ㄴ"의 변형알파벳(격자음 또는 경자음)으 로 간주하는 경우) 또는 ㅇ = ㅇ, ㅎ = ㅇ+ㅇ (도4-10을 기준으로 ㅇ = 8, ㅎ = 88) 로 되는 것이다. 그러나 컨트롤처리방법에 의하여 모호성없이 입력하는 경우 에 비하여, 변형알파벳(격자음, 경자음, 탈락자음 등) "3+"타 입력방법 및 단순반 복선택방법에 의하여 입력하는 것은 모호성이 발생하면서, 입력타수의 면에서도 큰 차이가 없는 등 장점이 없다. 제시하는 모음입력기술은 본 발명에서 언급한 또는 언급하지 않은 특정 자음입력기술의 적용과 별개로 적용될 수 있음은 물론이 며, 이상의 내용은 앞에서 설명한, 모음요소 "."으로 "ㅏ"를 입력하는 내용에서도 동일하게 적용될 수 있는 것은 자명하다.
위의 자음과 모음의 입력방식 적용시 입력값에 대하여 "결정적(deterministic)으로" 자음과 모음을 식별할 수 있으므로, 자음과 모음을 결합하여 한글 음절(덩어리 글자)를 구성하는 것은 기존의 기술(예. 2벌식 키보드 에서의 자모음 결합 오토마타)을 적용하여 쉽게 처리할 수 있다. 이상의 내용을 적용시 결정적(deterministic) 입력방법으로, 자음과 모음을 시스템이 식별할 수 있고, 이를 이해하는데 어려움이 없으므로, 굳이 흐름도는 제시하지 않는다.
"ㅓ"를 특정 모음 버튼의 반복누름에 의하여 [ㅏ]버튼(즉, [0]버튼) 2회누 름에 의하여 입력되는 것으로 할 수 있다고 하였다. 즉, "00 = ㅓ" 또는 "0# = ㅓ"로 되는 것이다. 만약 "ㅓ"를 "00"으로만 입력하도록 한다면, "0#"을 "ㅓ"가 아닌 "ㅐ"로만 정의하고, "ㅐ = 0#"으로 입력할 수 있을 것이다. 단 "0## = ㅔ" 인데, "0#"까지 눌려졌을 때, "ㅔ"와 모양이 다른 "ㅐ"가 표시될 수 있는 점이 있 다. 예를 들어, "10#"까지 눌러지면, "개"로 인식 (및 표시) 되고, "#"이 한번 더 눌러지면, "10## = 게"로 인식될 것이다. 이때 사용자는 "개"입력 후 "ㅣ"를 한번 더 눌러주어 "ㅐ"의 가운데 점(또는 작은 수평선 획)이 안쪽으로 밀려 "ㅔ" 가 되는 것으로 연상할 수 있다. 선출원에서 언급한 바와 같이 "ㅑ"의 입력을 " ㅏ" 버튼의 연속2번 눌러짐으로, 즉 "ㅑ = ㅏ+ㅏ"로 정의할 수도 있으나, 이렇게 하면 여기서 "ㅐ = ㅏ+ㅣ"로 입력하도록 하는 것이 어렵게 된다 (여기서 "ㅓ = ㅏ +ㅣ"로 입력해야 하므로).
표1에서 "ㅘ = ㅏ+ㅡ+ㅣ+ㅏ = 0*#0" 으로 정의되어 있는데, 더불어 "ㅘ = [ㅗ+ㅏ] = ㅏ+ㅡ+ㅏ = 0*0" 로 정의할 수도 있다. "[ ... ]" 안에 표시한 것은 이해를 돕기 위하여 복모음을 분해하여 표시한 것이다. 단 이를 적용하면, 모음 "ㅗ = ㅏ+ㅡ = 0* (아래아, 즉 '.'이 결합할 수 없는 모음 "ㅗ")"다음에 [0]버튼 이 눌러졌을 때, [0]버튼과 함께 배정된 자음(예에서 "ㅎ")을 [0]버튼 1타로 입력 하도록 하는 것이 어렵게 된다. 그러나 기 제시한 다른 수단(예. 0**, 8**, 0*, .. 등)으로 "ㅎ"을 입력하는 것이 가능하다. 마찬가지로 "ㅙ = [ㅗ+ㅐ] = ㅏ+ㅡ + ㅏ+ㅣ = 0*0#"으로 정의하는 것도 가능하다. "ㅘ = ㅏ+ㅡ+ㅏ(= 0*0)"로 정의하 는 것과 "ㅙ = ㅏ+ㅡ+ㅏ+ㅣ(= 0*0#)"로 정의하는 것은 표1에서 "ㅘ = ㅏ+ㅡ+ㅣ+ㅏ (= 0*#0)"로, "ㅙ = ㅏ+ㅡ+ㅣ+ㅏ+ㅣ(= 0*#0#)"로 정의한 것과 동시에 적용될 수 있으며, 어느 하나만 선택적으로 적용될 수도 있으며, 사용자의 선택에 따라 설정 하도록 할 수도 있다. "ㅘ = ㅏ+ㅡ+ㅏ(= 0*0)"로 정의하는 것과 "ㅙ = ㅏ+ㅡ+ㅏ+ ㅣ(= 0*0#)"로 정의하는 것이 입력타수가 더 적으므로 우선 적용하고, 추가적으로 (선택적으로) "ㅘ = ㅏ+ㅡ+ㅣ+ㅏ(= 0*#0)"로, "ㅙ = ㅏ+ㅡ+ㅣ+ㅏ+ㅣ(= 0*#0#)"로 입력할 수 있도록 하는 것이 바람직할 것이다. "ㅘ = ㅏ+ㅡ+ㅏ(= 0*0)"로 정의하 는 것과 "ㅙ = ㅏ+ㅡ+ㅏ+ㅣ(= 0*0#)"로 정의하는 것은 "ㅓ = ㅏ+ㅏ(= 00)"로 정의 하는 것과는 별개로(즉, "ㅓ = ㅏ+ㅏ(= 00)"로 정의되어 있지 않더라도) 가능하다.
참고로, 선출원에서 예시한 도4-5의 한국어 키패드에서 모음요소가 "ㅡ", ".", "ㅣ"의 순서로 좌측에서 우측으로 배치되어 있는데, 이는 입력의 자연스러움 을 증가시키는 역할을 한다. "ㅡ", ".", "ㅣ" 를 자세히 보면, 복모음 "ㅢ", " ㅟ", "ㅝ", "ㅞ", . . .등의 복모음의 모양을 관찰할 수 있다. 그러나 반대로 삼 성전자社의 키패드에서처럼 "ㅣ", ".", "ㅡ"의 순서로 배치되어 있다면, 복모음이 잘 관찰되지 않는다. 또한 복모음의 입력에 있어서도 좌측에서 우측으로 흐르듯 이 자연스럽게 입력하지 못하는 단점이 있다. 마찬가지로 한걸음 더 나아가, "ㅘ = ㅏ+ㅡ+ㅏ(= 0*0)"로 입력하는 것은 "ㅘ = ㅏ+ㅡ+ㅣ+ㅏ(= 0*#0)"로 입력하는 것 보다 타수를 줄이는 의미도 있지만, 입력의 자연스러움을 증가시킨다. 예시한 도4-10의 한국어 키패드에서 한국어 모음이 "ㅡ", "ㅏ", "ㅣ"의 순서로 좌측에서 우측으로 배치되어 있는데, "...#0"을 입력하는 것은 우측 버튼([#]버튼)을 누른 후 좌측 버튼([0]버튼)을 누르게 되어 자연스러움을 저해하는 것이다.
더 나아가 "ㅓ = 00"으로 하여, "ㅏ = 0"의 경우와 마찬가지로 이를 "ㅝ", "ㅞ" 등의 복모음 입력에 응용할 수 있다. 예를 들어, 표1에서 "ㅝ = ㅡ+ㅏ+ㅏ+ ㅣ = *00#" 로 정의되어 있으나, "ㅝ"에 있는 "ㅓ"를 "ㅏ+ㅏ = 00"으로 하여, "ㅝ = [ㅜ+ㅓ] = ㅡ+ㅏ+ㅏ+ㅏ = *000" 로 할 수 있는 것이다. 역시 표1에서 "ㅞ = ㅡ +ㅏ+ㅏ+ㅣ+ㅣ"로 정의되어 있으나, "ㅞ"에 있는 "ㅓ"를 "ㅏ+ㅏ = 00"으로 하여, "ㅞ = [ㅜ+ㅓ+ㅣ] = ㅡ+ㅏ+ㅏ+ㅏ+ㅣ = *000#"로 할 수 있다. "ㅘ", "ㅙ"의 경우 와 마찬가지로 "ㅝ = ㅡ+ㅏ+ㅏ+ㅏ(= *000)"로 "ㅞ = ㅡ+ㅏ+ㅏ+ㅏ+ㅣ(= *000#)"로 하는 것은 "ㅓ = ㅏ+ㅏ = 00"으로 정의하는 것과는 별개로 가능하며, 표1에서 "ㅝ", "ㅞ"를 정의한 것과 동시에 적용될 수도 있고, 선택적으로 한가지만 적용되 도록 할 수도 있다. 만약 "ㅓ" 의 입력을 "ㅓ = ㅏ+ㅣ (= 0#)" 가 아닌 "ㅓ = ㅏ +ㅏ (= 00)" 으로만 정의한다면, "ㅐ = ㅏ+ㅣ (= 0#)" 으로 입력하도록 할 수 있 을 것이다.
"ㅝ = ㅡ+ㅏ+ㅏ+ㅏ(= *000)", "ㅞ = ㅡ+ㅏ+ㅏ+ㅏ+ㅣ(= *000#)"를 적용시, "1*00"까지 눌려지면, "규"로 인식하게 되나, [0] 버튼이 한번더 눌러지면, "궈" 로 인식하게 된다. [#]이 한번 더 눌러지면, "궤"로 인식하게 되는 것이다. 마 찬가지로 이 경우도 "*000"이 정상적인 모음(즉, "ㅝ")의 입력을 의미하므로 모음 "ㅠ(=*00)" 다음에 "ㅎ(즉, [0]버튼에 모음과 함께 배정된 자음)"이 배정된 버튼 1타로 "ㅎ"을 입력되지 못하는 것은 자명하다.
유사하게 "ㅏ"는 "ㅏ" 가 배정된 [ㅏ]버튼(도면에서 [0]버튼)으로 입력할 수 있고, "ㅏ = ㅣ+ㅏ (=#0)" 으로 입력될 수도 있다 (4.10절 및 4.11절). "ㅓ = ㅏ+ㅏ (= 00)" 으로만 입력시 "ㅓ = ㅏ+ㅣ (= 0#)"으로 하지 않고 "ㅐ = ㅏ+ㅣ (= 0#)" 으로 하는 것과 마찬가지로, "ㅏ = ㅣ+ㅏ (= #0)" 으로 하지 않고 "ㅏ = ㅏ (= 0)"으로 만 정의한다면, "ㅣ+ㅏ"의 조합으로 다른 알파벳을 입력하는 것이 가 능하다. 예를 들어 "ㅑ = ㅣ+ㅏ+ㅏ (= #00)"으로 정의되어 있는데, "ㅑ = ㅣ+ㅏ (= #0)"으로 입력하도록 입력규칙을 정의할 수 있다. 모음 "ㅑ"의 음가(音價)가 "ㅣ+ㅏ" 인 것은 일정수준이상의 교육을 받은 사람이면 알고 있는 내용이다. 다 만 가장 사용빈도가 많은 모음인 모음 "ㅡ", "ㅏ", "ㅣ"를 이용하여 모음을 입력 하되, 모음 "ㅏ" 가 배정된 버튼(즉 예시 도면에서
Figure pat00026
- 숫자 '0' 안에 'ㅏ' - 가 배치) 을 "아래아(.)"처럼 연상하여 나머지 모음을 입력할 수 있는데, "ㅑ"는 음 가를 기준으로 조합하여 입력하게 되는 점이 있다. 마찬가지로 표1에서 "ㅒ = ㅣ +ㅏ+ㅏ+ㅣ (=#00#)" 으로 되어 있으나, 이를 "ㅒ = [ㅑ+ㅣ] = ㅣ+ㅏ+ㅣ (= #0#)" 으로 정의하여 입력할 수 있다 ("ㅐ = ㅣ+ㅏ+ㅣ"가 아닌 "ㅐ = ㅏ+ㅣ"로 입력한다 는 전제). 마찬가지로 모음 "ㅑ = ㅣ+ㅏ+ㅏ"로 하는 것과 "ㅑ = ㅣ+ㅏ"로 하는 것, 그리고 모음 "ㅒ = ㅣ+ㅏ+ㅏ+ㅣ"로 하는 것과 "ㅒ = ㅣ+ㅏ+ㅣ"로 하는 것은 동시에 적용될 수도 있고 선택적으로 적용될 수도 있다. "ㅑ = ㅣ+ㅏ"로 "ㅒ = ㅣ+ㅏ+ㅣ"로 하면 모음 "ㅑ"와 "ㅒ"의 입력타수가 표1의 경우보다 1타씩 줄어들게 된다. 이 내용을 선출원에서 기술하지 않은 이유는 모음 "ㅑ"와 "ㅒ"는 사용빈도 가 많지 않은 모음이므로 입력타수 감소에는 많은 영향이 없기 때문이다.
"ㅡ", ".", "ㅣ" 3개의 모음요소를 이용한 모음 입력에서는 임의의 자음(예. "ㄱ") 다음에 "."버튼이 입력되면 일시적으로 "ㄱ."으로 표시되고, 다음 에 "ㅡ"가 입력되면 ".+ㅡ"를 "ㅗ"로 인식하여 "고" 가 표시되게 된다. 즉 입력 중간에 완전한 형태의 한글이 표시되지 못하는 단점에 있다. 그러나 현대 한국어 모음(본 예에서 "ㅡ", "ㅏ", "ㅣ") 를 조합하여 모음을 입력하는 경우 임의의 자 음(예. "ㄱ") 다음에 "ㅏ"가 배정된 버튼이 눌러졌을 때, "가"와 같이 완전한 형 태의 한글이 표시될 수 있는 장점이 있다. "ㅓ = ㅏ+ㅏ"를 적용하는 경우에도 "10" 입력에 대하여 "가"로 표시되고, "0"이 한번 더 눌러지면 "거"와 같이 완전 한 형태의 한글이 표시될 수 있다. 물론 특정 절차(알고리즘)에 의하여 특정 알 파벳(또는 한글 글자)를 인식하고 식별하는 문제와 이 인식된 특정 알파벳(또는 한글 글자)를 표시하는 문제는 별개의 문제이다.
또한 입력방법(입력절차)과 그 입력방법을 위한 키패드버튼상에 어떻게 적 절한 형태로 한글자소 또는 한글자소를 표상하는 부호형태를 표기할지의 문제는 별개의 문제임은 당연하다. 예를들어 도4-5에서와 같이 [0]버튼에 모음요소 "." 이 표기(숫자 "0" 안에 빨간색 점)된 키패드에서 [0] 버튼을 "ㅏ"버튼으로 간주하 여 모음을 입력하는 것이 가능한 것처럼, 키패드 버튼상의 표기 형태는 변형이 가 능하다. 극단적으로 한글자소가 표기(marking)되지 않은 키패드에서도 본 입력방 식을 적용할 수 있음을 선출원에서 언급한 바 있다. 몇가지 키패드 표기의 변형 형태의 예를 들면 도4-12과 같다. 도4-12는 숫자 "0(Zero)" 안에 "+"를 넣어 모 음 "ㅏ"와 "ㅓ"를 동시에 표상할 수 있도록 표시한 키패드이고, 도4-13는 역시 숫 자 "0(zero)" 안에 "-ㅏ"형상을 넣어 "ㅏ"를 "ㅓ"에 우선하여 연상할 수 있도록 한 키패드 사례이다. 또한 도4-14에서와 같이 숫자 "0(zero)" 안에 "ㅏ"와 "ㅓ" 를 좌우에 두고 붙여 놓은 형태인 "H" 형상을 넣어 "ㅏ"와 "ㅓ"를 연상하도록 한 키패드 사례이다. 입력중 일시적으로 표시되는 형태 역시 이와 같이 다양할 수 있는 것도 마찬가지 이다. 도4-15는 "ㅏ"와 "ㅓ"를 각기 표시한 사례이다. 다른 경우에서도 도4-15에서와 같이 숫자 "0"은 따로 표시되어도 상관없으며, 이외에도 다양한 변형이 가능함과 더불어 본 발명의 모음조합방법을 응용하는 한 이외의 모 든 변형 형태 역시 본 발명의 범주임은 자명하다. 예시 도면에서 "ㅎ"이 흐린회 색으로 표시된 것은 언급한대로 "ㅎ"이 표기되지 않을 수도 있음을 의미하는 것이 다.
특정 버튼(예. [0]버튼)을 이용하여 "1상하향모음 (ㅏ, ㅓ, ㅗ, ㅜ)" 중 하나 또는 하나 이상을 입력하는 경우, 버튼상에 표시될 수 있는 형태를 추가로 제시하면 다음과 같다. 도4-13 에서 제시한 "-ㅏ" 형태의 변형으로
Figure pat00027
를 표시할 수 있다 (도 4-13 에서와 마찬가지로 "ㅏ"를 우선 연상할 수 있도록 하여 좌측 왼편의 수평선을 회색으로 한 사례로 회색으로 표시된 부분이 없는 경우도 포함함). 또는 해당버튼을 이용하여 1상하향모음을 입력하는 경우
Figure pat00028
형태를 버튼상에 표시할 수 있다. 다른 경우에서와 마찬가지로 입력 중간에 표시되는 형태로 사용될 수도 있음은 마찬가지이다. 해당 버튼을 이용하여 우선적으로 입력되는 모음에 따라 첫번째 제시한
Figure pat00029
형태의 좌우대칭형 또는 두번째 제시한
Figure pat00030
형태의 상하대칭형이 이용될 수 있다. (이러한 형상이 [0] 버튼에 표시될 경우) 다른 사례에서와 마찬가지로 숫자 "0" 이 함께 표시되거나 함께 표시되지 않을 수 있고, 역시 "ㅎ" 도 함께 표시되거나 표시되지 않을 수도 있다. 제시하는 형상은 어느 광고에 나오는 "우주의 질서와 땅의 조화" 또 거기에 인간중심(人間中心)의 사상을 담고자 한 것이다.
Figure pat00031
형태 또는
Figure pat00032
형태에서 각각 왼쪽, 아래쪽에 흐린 회색으로 표현된 분은, 다른 키패드 도면에서 "ㅎ"을 표시할 수도 있고 표시하지 않을 수도 있다고 한 것처럼, 표시될 수도 있고 표시되지 않을 수도 있음은 쉽게 알 수 있다.
Figure pat00033
형태에서 좌측의 회색부분을 제외하면, 도4-10 에서 동그라미 또는 숫자 "0" 안에 "ㅏ" 가 있는 형상과 유사하게, "ㅏ"에 동그라미 또는 숫자 "0"이 걸쳐있는 형상이 된다.
Figure pat00034
형태는 도4-13에서 "-ㅏ" 에 동그라미 또는 숫자"0"이 걸쳐 있는 모양인데, 마찬가지로 도4-12의 "+"에 동그라미 또는 숫자 "0"이 걸쳐있는 모양으로 변형될 수도 있음은 자명하다.
언급한대로 한글의 특성상 평자음(예. "ㄱ") 그리고 그 평자음에 대응되는 격자음(예. "ㅋ")과 경자음(예. "ㄲ")을 대표할 수 있고 발음과 모양에 있어서 유 사성이 있으므로 변형알파벳을 키패드상에 표시하지 않고 은닉하고 평자음(예. " ㄱ") 만을 키패드에 표시하고 나머지 자음을 자연스럽게 연상하고 입력(예. 컨트 롤처리방법, 반복선택방법, 변형알파벳 3+타 입력방법 등등을 포함한 모든 방법) 할 수 있다. 지구상에 존재하는 가장 과학적인 문자체계인 한글의 특성을 살려 예 시한 바와 같이 자연스럽게 간결한 키패드(최소한의 자소를 버튼상에 배치)를 구 성할 수 있는 것 역시 한글의 위대한 특성 중의 하나라고 할 수 있음은 물론이다. 그러나 경우에 따라 변형알파벳(격자음, 경자음, 탈락자음)을 기본자음(평자음)과 함께 배정되는 키패드도 본 발명의 범주에 포함됨은 자명하다. 탈락자음 "ㅎ"을 "ㅇ"의 변형알파벳(격자음 또는 경자음)으로 간주하는 경우 "ㅇ"과 "ㅎ"이 함께 키패드상에 표시될 수 있으며, 탈락자음 "ㄹ"을 "ㄴ"의 변형알파벳으로 간주하는 경우(선출원에서 언급한 대로 이 경우는 "ㅎ"이 기본자음이 될 수 있음) "ㄴ"과 "ㄹ"이 함께 표시될 수 있다. 이렇게 예시한 도면에서 평자음과 함께 변형알파 벳을 병기하여 키패드 버튼상에 표기한 키패드를 적용하는 것도 역시 본 발명의 범주에 속하는 것은 자명하다. 즉, 격자음과 경자음중 격자음만을 평자음과 함께 키패드상에 표시하는 것도 가능하며, 경자음만을 평자음과 함께 키패드 버튼상에 표시하는 것도 가능하며, 평자음, 격자음, 경자음을 모두 표시하는 것도 가능하다. 더불어 격자음중 일부의 격자음만 평자음과 함께 추가로 표시되는 경 우, 또는 경자음 중 일부의 경자음만이 평자음과 함께 표시되는 경우 등 모든 경 우도 본 발명의 범주에 포함됨은 자명하다.
출원인이 선출원 및 본출원에서 제시한 모든 한국어 키패드는 호환성을 가 질 수 있음을 설명하였다. 한글의 구성체계는 왼쪽에 자음 오른쪽에 모음 (즉, 좌자우모형), 그리고 윗쪽에 자음 아랫쪽에 모음 (즉, 상자하모형) 으로 구성되어 있다. 그리고 한국 사람들의 관념 속에는 "ㄱ"은 숫자 "1"에, "ㄴ"은 숫자 "2" 에, 그리고 "ㄷ"은 숫자 "3"에 대응되는 생각을 가지고 있다. 이는 항목 분류를 위한 연번 구성시 (1), (2), (3), (4), … 와 같이 숫자를 쓰기도 하고, "가", " 나", "다", "라", … 또는 ㉠, ㉡, ㉢, ㉣, … 을 쓰기도 하는 데서도 쉽게 알 수 있다. "ㄱ", "ㄴ", "ㄷ", … 을 연번에 이용하기 위한 원문자 ㉠, ㉡, ㉢, … 이 KSC5601 문자세트에 존재하는 것 역시 이를 증명한다고 할 수 있다. 즉 숫자 1, 2, 3, 4 … 버튼에 순서대로 "ㄱ", "ㄴ", "ㄷ", "ㄹ" … 을 배정하는 것이 우리 의 문자와 수적 관념에 부합하는 최적형태임은 자명하다.
또 다른 예로 조선시대 초보적인 형태의 암호문에서 한글 자음위치에 숫자 (아라비아 숫자가 아닌, 당시 사용된 한자 一, 二, 三, 四, 五, …)를 사용한 경 우가 있었다. 예를 들어 "시" 를 "七ㅣ"로 "머"를 "五ㅓ"로 표시하는 것이다. 실제로 한글의 자음 위치에 대응하는 숫자를 표시한 단어 또는 문구를 보고 그 원 래의 문장을 알아내는 것은 한국사람으로써 매우 용이한 일이다. 이는 이러한 규 칙을 알지 못하는 사람에게도 해당된다. 일례로 서바이벌역사퀴즈라는 TV프로그 램에서 조선시대 쓰여진 문장중에 "三ㅐ 五ㅓ 四ㅣ" 를 보여주고 무슨 뜻인지 물 었을 때, 원래의 문장이 "대머리"인 것을 "모든" 참가자가 맞추었다. (물론 퀴즈 참가자들은 첫자음을 숫자로 표시하였다는 규칙을 알지 못하는 상태였다)
따라서 출원인이 제시한 도면에서와 같이 숫자 버튼에 평자음을 (순서대로) 배정하고 하단의 버튼에 모음을 배정하는 것이 자음과 연관된 우리나라 사람들의 수적관념에도 부합하고 "상자하모형" 한글 구성에도 부합하는 것은 자명하다. 그 러나 현재 우리나라에서는 3개의 모음요소 "ㅡ", ".", "ㅣ"를 이용한 삼성전자社 의 자판이 널리 사용되고 있다. 거대기업인 삼성전자社 자판의 영향으로 일부의 업체들은 모음버튼(또는 모음요소버튼 또는 요소모음버튼)을 자음보다 상단에 두 고자 하는 욕구가 있다. 결코 바람직하지는 않으나 키패드 하단의 [*], [0], [#] 버튼을 [1], [2], [3] 숫자 버튼의 상단에 배치하여 도4-16, 도4-17 와 같은 형태 의 자판을 구성할 수 있다. 상자하모형 자모배치는 위배되었지만, 자음을 순서대 로 숫자버튼에 배정할 수 있다. 예시 도면 역시 출원인의 선출원 범주에 포함되 는 것은 자명하다. 그리고 예시 도면에서 "한글"의 "한" 또는 "ㅎ.ㄴ ('.'은 아 래아)" 글자를 볼 수 있다. "ㅎ"이 흐린 회색으로 표현된 것은 언급한 바 "ㅎ"이 표시되지 않을 수도 있는 것을 의미한다. 다만 "ㅎ"을 [0] 버튼에 표시함으로써, 10개의 평자음을 10개의 숫자버튼([1] ~ [0] 버튼)에 배치하는 것은 現 대한민국 표준 키패드(KSC-xxxx)를 수용하는 의미를 갖는다.
이상의 내용은 한국어에서 가장 사용빈도가 높은(전체 모음사용빈도의 약 50%) 3개의 모음 "ㅏ", "ㅡ", "ㅣ"를 이용하여 모든 모음을 입력하는 사례를 보인 것으로, 이를 변형한 유사한 모든 경우에 동일하게 적용될 수 있음은 자명하다. 예를 들어, "ㅏ" 대신 "ㅡ", "ㅣ", "ㅏ"를 제외한 임의의 모음 (예. "ㅓ" 혹은 " ㅗ" 등을 비롯한 다른 임의의 모음)을 적용하는 것을 포함한다. "ㅏ" 대신 "ㅓ" 를 적용시 "ㅠ = ㅡ+ㅓ+ㅓ"로 될 수 있으며, 위에서 제시한 표에서 모음 "ㅏ"를 대체되는 모음("ㅓ")을 이용하여 모음의 조합을 구성하면 된다. 그러나 모음 " ㅏ"가 타 모음에 비하여 압도적으로 사용빈도가 많으므로(언급한 바, 모음 전체 사용빈도의 22%) 모음 "ㅏ"를 이용하는 경우보다 그렇지 않은 경우가 입력효율면 에서 좋지 않다.
표1을 조금 더 일반화하여 (요소)모음 "ㅡ", "ㅣ", "X" 의 3개 모음 (및 3 개 모음버튼)을 이용하여 모음을 처리하는 것은 다음과 같이 할 수 있다. 아래의 표에서 한국어의 21개 모음중 모음 "ㅡ", "ㅣ"를 제외한 19개 모음중 모음 "X"로 사용되는 모음은 모음 "X"가 배정된 버튼(즉, [X]버튼) 1타로 입력될 수 있음은 자명하다.
모음 조합되는 3개모음
X X
1 ㅣ+X
2 ㅣ+ X +ㅣ
3 ㅣ+ X + X
4 ㅣ+ X + X +ㅣ
5 X +ㅣ
6 X +ㅣ+ㅣ
7 X + X +ㅣ
8 X + X +ㅣ+ㅣ
9 X +ㅡ
10 X +ㅡ+ㅣ+ X
11 X +ㅡ+ㅣ+ X +ㅣ
12 X +ㅡ+ㅣ
13 X + X +ㅡ
14 ㅡ+ X
15 ㅡ+ X + X +ㅣ
16 ㅡ+ X + X +ㅣ+ㅣ
17 ㅡ+ X +ㅣ
18 ㅡ+ X + X
19
20 ㅡ+ㅣ
21
이를 더 일반화하여 한국어의 임의의 3개 모음버튼을 사용하여 위의 표와 유사한 조합에 의하여 모음을 입력할 수 있다. 예를 들어, 모음 "A", "B", "X" 를 요소모음으로 하고 다음과 유사하게 나머지 모음을 조합에 의하여 입력할 수 있다. 모음 "A", "B", "X" 는 각각의 모음이 배정된 버튼 1타로 입력될 수 있음 은 또한 자명하다. 사용자의 편리성 및 입력타수의 최소화를 위해 "ㅡ", "ㅣ" 와 "ㅏ" 를 포함하는 3개의 모음을 이용하는 것이 바람직할 것이다.
모음 조합되는 3개모음
X X
A A
B B
1 B+X
2 B+ X +B
3 B+ X + X
4 B+ X + X +B
5 X +B
6 X +B+B
7 X + X +B
8 X + X +B+B
9 X +A
10 X +A+B+ X
11 X +A+B+ X +B
12 X +A+B
13 X + X +A
14 A+ X
15 A+ X + X +B
16 A+ X + X +B+B
17 A+ X +B
18 A+ X + X
19
20 A+B
21
제시한 바와 같이 한국어의 3개 모음 ("ㅏ", "ㅡ", "ㅣ") (및 3개 모음버튼)을 이용하여 모음을 효율적으로 입력할 수 있는데, 이렇게 현대 한국어 의 3개 모음을 이용하는 모음입력방법의 사례를 추가적으로 제시하면 다음과 같다. 다음의 사례는 모음 "ㅓ", "ㅡ", "ㅣ"를 이용하는 사례이다. 여기서는 편 의상 자음의 입력에는 컨트롤처리방법을 적용하지 않는 것으로 한다. (아래의 사 례에서 모음 입력 규칙에 "ㅡ" 또는 "ㅣ"가 연속하여 나오는 경우가 있기 때문임)
모음 모음
분해
조합되는 3개모음 (B)적용시, 적용 불가
(A) (B)
1 ㅣ+ㅣ ㅣ+ㅡ or ㅓ+ㅓ
2 ㅣ+ㅓ
(ㅣ+ㅣ+ㅣ (X))
ㅣ+ㅡ+ㅣ
3 ㅣ+ㅣ+ㅣ ㅣ+ㅡ+ㅡ or
ㅣ+ㅣ+ㅡ
4 ㅑ+ㅣ
ㅏ+ㅓ
ㅣ+ㅣ+ㅣ+ㅣ or
ㅣ+ㅣ+ㅓ
ㅣ+ㅡ+ㅡ+ㅣ or
ㅣ+ㅣ+ㅡ+ㅣ
5
6 ㅓ+ㅣ ㅓ+ㅣ ㅡ+ㅣ+ㅣ ㅟ(B), ㅠ(B)
7 ㅡ+ㅓ
(ㅡ+ㅡ+ㅣ (X))
8 ㅕ+ㅣ ㅡ+ㅓ+ㅣ
9 ㅣ+ㅡ or
ㅓ+ㅓ
10 ㅗ+ㅏ ㅣ+ㅡ+ㅣ+ㅣ ㅣ+ㅡ+ㅣ+ㅡ
11 ㅘ+ㅣ
ㅚ+ㅓ
ㅣ+ㅡ+ㅣ+ㅣ+ㅣ
ㅣ+ㅡ+ㅣ+ㅓ
ㅣ+ㅡ+ㅣ+ㅡ+ㅣ
ㅣ+ㅡ+ㅣ+ㅓ
12 ㅗ+ㅣ ㅣ+ㅡ+ㅣ
13 ㅣ+ㅣ+ㅡ
14 ㅡ+ㅡ
15 ㅜ+ㅓ ㅡ+ㅡ+ㅓ
ㅡ+ㅣ+ㅡ or
ㅡ+ㅣ+ㅡ+ㅣ
ㅞ(B-1)
16 ㅝ+ㅣ ㅡ+ㅡ+ㅓ+ㅣ or
ㅡ+ㅡ+ㅓ+ㅓ
ㅡ+ㅣ+ㅡ+ㅣ or
ㅡ+ㅣ+ㅡ+ㅣ+ㅣ
ㅝ(B-2)
17 ㅜ+ㅣ ㅡ+ㅡ+ㅣ ㅡ+ㅣ+ㅣ ㅔ(B), ㅠ(B)
18 ㅡ+ㅡ+ㅡ ㅡ+ㅣ+ㅣ ㅔ(B), ㅟ(B)
19
20 ㅡ+ㅣ
21
위에서 "모음분해"란에 복모음을 분해하여 적은 것은 이해를 돕기위하여 표 기한 것이다. (A), (B) 및 "or" 로 하나의 모음에 대하여 몇가지(다수)의 입력규 칙을 제시한 것은 다양한 사례가 가능함을 보여주는 것이다.
위 사례의 특징 중의 한가지는 모음 "ㅣ" 버튼의 반복누름으로 "ㅏ", "ㅑ" 를 입력하고, 모음 "ㅡ" 버튼의 반복누름으로 "ㅜ", "ㅠ"를 입력하는 것이다. 즉, "ㅡ" 버튼을 1번 누르면 "ㅡ"가 되고, 2번누르면 "ㅜ"가 되고, 3번 누르면 " ㅠ"가 된다. (출원인의 선출원에서 설명한 바와 같이 같은 버튼을 반복하여 누르 는 편리함과 함께 버튼의 누름에 따라 획이 추가되는 느낌을 가질 수 있으므로 입 력의 자연스러움을 제공한다)
또 한가지 특징은 모음 "ㅡ"와 "ㅣ" 의 수평선형태와 수직선형태를 이용하 여 나머지 모음을 입력하는 것이다. 이때, "ㅓ", "ㅢ", "ㅜ" 가 모두 "수평선형 태와 수직선형태"의 조합이된다. 이들 모음중 "ㅢ = ㅡ+ㅣ"로 입력하는 것이 타 당하다. 모음 "ㅓ"는 자체로 "ㅓ"가 배정된 버튼 1타로 입력할 수 있고, 모음 " ㅜ"는 "ㅡ"버튼의 반복누름으로 자연스럽게 입력할 수 있다. 또한 모음 "ㅟ = [ ㅜ+ㅣ]"와 "ㅕ" 의 경우도 "ㅡ+ㅡ+ㅣ"로 표현될 수 있으나, ("ㅟ"의 "ㅜ = ㅡ+ㅡ" 로 하면) 이때에도 "ㅕ = ㅡ+ㅡ+ㅣ"로 하지 않고 "ㅕ = ㅡ+ㅓ"로 함으로써, "ㅟ = ㅡ+ㅡ+ㅣ"로 할 수 있게 된다. "ㅐ" 역시 "ㅐ = ㅣ+ㅣ+ㅣ" 로 하지 않고 "ㅐ = ㅣ+ㅓ"로 함으로써, "ㅑ = ㅣ+ㅣ+ㅣ"로 하는 것이다.
위의 사례의 특징은 모음 "ㅓ"가 포함된 모음 (예를 들어, ㅔ, ㅕ, ㅖ, ㅝ, ㅞ, 그리고 더 나아가 "ㅐ", "ㅒ", "ㅙ" 등의 모음) 을 자연스럽게 입력할 수 있 는 것이다. "ㅕ"의 경우도 "ㅡ+ㅡ+ㅣ"로 입력한다면, 타수도 3타가 될 뿐더러, "ㅟ = [ㅜ+ㅣ] = ㅡ+ㅡ+ㅣ" 를 입력하기 어려워진다. 물론 "ㅟ = ㅡ+ㅣ+ㅣ"로 한다면, "ㅕ = ㅡ+ㅡ+ㅣ" 로 할 수도 있지만, "ㅟ"에 포함되어 있는 "ㅜ"를 모음 "ㅜ"의 입력방법(ㅜ = ㅡ+ㅡ)과 다른 방법으로 입력하게 되어 입력규칙의 단순성 및 사용자 편의성, WYSWYG 등의 측면에서 좋지 않다고 보인다.
위 표에서 "(B)적용시 적용불가"의 의미는, 모음 "ㅔ", "ㅟ", "ㅠ" 의 (B) 는 모두 "ㅡ+ㅣ+ㅣ"로 되어 있으므로, 한가지 모음에 대해서만 적용할 수 있다는 것을 의미한다.
위의 사례를 변형하여 "ㅡ" 버튼의 반복누름에 따라 "ㅗ", "ㅛ"로 되거나, "ㅣ" 버튼의 반복누름에 따라 "ㅓ", "ㅕ"로 되도록 변형할 수도 있다. (양자 중 한한가지 또는 두가지 모두) 그러나 위의 사례에서 보인 것보다 입력의 자연스러 움 그리고 사용자의 편의성 면에서는 좋지 않을 것이다.
위의 사례에서 모음처리과정의 시작시에 모음 "ㅡ" 또는 "ㅣ" 가 연속하여 나오는 입력사례를 제외한 나머지 입력방법은, 변형알파벳(격/경자음 등)을 컨트 롤처리방법에 의하여 입력하는 경우에도 선택적으로 적용될 수 있다 (단, 변형알 파벳을 컨트롤처리방법에 의하여 입력하는 사례의 입력규칙과 충돌되지 않는 한에 서). 마찬가지로 <표1> 등에서의 입력사례 중 위의 사례와 충돌되지 않는 (즉, 다른 모음에 대하여 동일하게 정의되지 않는) 한에서 위의 사례와 선택적으로 적 용할 수 있다. 이는 본발명 전체에서 적용가능함은 자명하다.
다음은 위와 유사하게 모음 "ㅡ", "ㅣ"의 반복누름에 의하여 "ㅓ", "ㅕ" 및 "ㅏ", "ㅑ" 등을 입력하고, 모음 "ㅡ", "ㅣ"의 수평선형태 및 수직선형태의 조합 을 이용하여 나머지 모음을 입력하되, "ㅏ", "ㅡ", "ㅣ"의 3개 모음버튼을 이용하 는 경우의 사례이다.
모음 모음
분해
조합되는 3개모음 (B)적용시, 적용불 가
(A) (B)
1 ㅣ+ㅣ ㅛ(A), ㅑ(A-4)
2 ㅏ+ㅣ ㅣ+ㅡ+ㅣ
3 ㅏ+ㅡ or
ㅣ+ㅣ+ㅣ or
ㅣ+ㅣ+ㅡ or
ㅣ+ㅣ
ㅣ+ㅡ+ㅡ
4 ㅑ+ㅣ ㅏ+ㅡ+ㅣ ㅣ+ㅡ+ㅡ+ㅣ
5 ㅏ+ㅏ
6 ㅓ+ㅣ ㅏ+ㅏ+ㅣ ㅡ+ㅣ+ㅣ ㅟ(B), ㅠ(B)
7 ㅡ+ㅏ or
ㅡ+ㅏ+ㅏ or
ㅏ+ㅏ+ㅏ or
ㅡ+ㅡ+ㅣ ㅟ(A)
8 ㅕ+ㅣ ㅡ+ㅡ+ㅣ+ㅣ or
ㅏ+ㅏ+ㅏ+ㅏ
9 ㅣ+ㅡ
10 ㅗ+ㅏ ㅣ+ㅡ+ㅏ
11 ㅘ+ㅣ ㅣ+ㅡ+ㅏ+ㅣ
12 ㅗ+ㅣ ㅣ+ㅡ+ㅣ
13 ㅣ+ㅣ+ㅡ
14 ㅡ+ㅡ
15 ㅜ+ㅓ ㅡ+ㅡ+ㅏ or
ㅡ+ㅣ+ㅡ
ㅡ+ㅡ+ㅏ+ㅏ or
ㅡ+ㅣ+ㅡ+ㅣ
ㅞ(A-2)
16 ㅝ+ㅣ ㅡ+ㅡ+ㅏ+ㅣ or
ㅡ+ㅣ+ㅡ+ㅣ
ㅡ+ㅡ+ㅏ+ㅏ+ㅣ or
ㅡ+ㅣ+ㅡ+ㅣ+ㅣ
17 ㅜ+ㅣ ㅡ+ㅡ+ㅣ ㅡ+ㅣ+ㅣ ㅔ(B), ㅠ(B)
18 ㅡ+ㅡ+ㅡ ㅡ+ㅣ+ㅣ ㅔ(B), ㅟ(B)
19
20 ㅡ+ㅣ
21
모음 "ㅓ", "ㅡ", "ㅣ"의 사용빈도는 전체모음 사용빈도의 약 40%이고, 모 음 "ㅏ", "ㅡ", "ㅣ"의 사용빈도는 약 50% 이므로, "ㅏ", "ㅡ", "ㅣ"를 사용하는 것이 입력타수면에서는 효율적일 수 있다. 그리고 모음 "ㅏ"가 포함된 모음 (예. "ㅐ", "ㅑ", "ㅒ", "ㅘ", "ㅙ" 등) 의 입력을 자연스럽게 할 수 있는 장점이 있다. 그러나 "ㅟ = ㅡ+ㅡ+ㅣ" 로 입력하기 위해서는 "ㅕ = ㅡ+ㅡ+ㅣ"로 입력하 지 못하는 등의 단점이 있다. 따라서 "ㅕ = ㅏ+ㅏ+ㅏ" 로 입력한다면, "ㅏ" 버튼 의 누름에 따라 "ㅏ", "ㅓ", "ㅕ" 로 되는 것이다.
하나의 모음에 대한 입력방법중 한가지만을 적용하거나 여러가지를 동시에 적용할 수 있음은 설명한 바와 같다. 그러나 마찬가지로, 동일한 입력값(위 사례 에서 동일한 모음조합)을 갖는 모음이 다수인 경우 한가지만 가능하도록 하면 된 다.
"ㅝ" 입력의 (A)에서 "ㅝ = ㅡ+ㅡ+ㅏ"로 한 것은 모음 "ㅜ" 다음에 "ㅏ"가 조합되는 한국어 모음이 없으므로, "ㅝ = ㅡ+ㅡ+ㅏ"로 하여 입력타수를 줄일 수 있음을 보인 것이다. 그러나 입력규칙의 단순성, 일관성 면에서는 단점이 된다. 따라서 "ㅝ = ㅡ+ㅡ+ㅏ"와 동시에 "ㅝ" 입력의 (B)에서와 같이 "ㅝ = [ㅜ+ㅓ] = ㅡ+ㅡ+ㅏ+ㅏ" 로도 입력되도록 할 수 있는 것이다. 동시에 "ㅝ" 의 입력에 모음 "ㅡ", "ㅣ"의 수평선 및 수직선 형태의 조합을 이용하는 것도 가능함을 보여주고 있다.
또한 앞에서 언급한 바와 같이 도4-*의 키패드 간의 호환성이 있음은 자명 하다. (예를 들어, 4-10에서 설명한 입력방식을 4-9에서 적용가능)
유사한 사례로 역시 현대 한국어의 3개 모음을 이용하고, 그중에서도 모음 "ㅏ", "ㅡ", "ㅣ"를 사용하면서, "ㅣ"버튼의 반복누름으로 "ㅓ", "ㅕ", "ㅖ" 를 입력하고, "ㅡ" 버튼의 반복누름으로 "ㅜ", "ㅠ"를 입력하고, "ㅑ"는 "ㅏ" 버튼의 반복누름으로 입력하고, "ㅗ", "ㅛ"는 수평선/수직선 형태의 모음인 "ㅡ"와 "ㅣ" 의 조합으로 (즉, "ㅗ = ㅣ+ㅡ", "ㅛ = ㅣ+ㅣ+ㅡ") 10개 기본모음(즉, ㅏ, ㅑ, ㅓ, ㅕ, ㅗ, ㅛ, ㅜ, ㅠ)을 입력하고, 나머지 모음은 이들 모음들의 조합으로 입 력하는 사례를 보인다.
모음 모음
분해
조합되는 3개모음 (B)적용시, 적용불 가
(A) (B)
1
2 ㅏ+ㅣ
3 ㅏ+ㅏ
4 ㅑ+ㅣ ㅏ+ㅏ+ㅣ
5 ㅣ+ㅣ
6 ㅓ+ㅣ ㅡ+ㅣ+ㅣ
7 ㅣ+ㅣ+ㅣ
8 ㅕ+ㅣ ㅣ+ㅣ+ㅣ+ㅣ
9 ㅣ+ㅡ
10 ㅗ+ㅏ ㅣ+ㅡ+ㅏ
11 ㅘ+ㅣ ㅣ+ㅡ+ㅏ+ㅣ
12 ㅗ+ㅣ ㅣ+ㅡ+ㅣ
13 ㅣ+ㅣ+ㅡ
14 ㅡ+ㅡ
15 ㅜ+ㅓ
ㅠ+ㅣ
ㅡ+ㅡ+ㅣ+ㅣ or
ㅡ+ㅡ+ㅡ+ㅣ
16 ㅝ+ㅣ
ㅠ+ㅣ+ㅣ
ㅡ+ㅡ+ㅣ+ㅣ+ㅣ or
ㅡ+ㅡ+ㅡ+ㅣ+ㅣ
17 ㅜ+ㅣ ㅡ+ㅡ+ㅣ
18 ㅡ+ㅡ+ㅡ
19
20 ㅡ+ㅣ
21
위의 사례에서 10개 기본모음 중 "ㅡ" 버튼의 반복누름으로 입력하지 않는 "ㅗ", "ㅛ"에만 모음 "ㅡ"와 "ㅣ"의 조합이 이용되었다. 그리고 "ㅔ" 의 입력에 도 "ㅔ = ㅡ+ㅣ+ㅣ" 로 수평선/수직선 형태의 모음인 "ㅡ"와 "ㅣ"의 조합이 이용 되었다. 만약 "ㅕ = ㅣ+ㅣ+ㅣ"로 하지 않고 모음 "ㅡ"와 "ㅣ"의 조합으로 하여 "ㅕ = ㅡ+ㅡ+ㅣ"로 한다면, "ㅔ = [ㅓ+ㅣ] = "ㅣ+ㅣ+ㅣ"로 할 수 있을 것이다. 10개 기본모음 이외의 모음은 모두 위에서 입력되는 10개 기본모음의 조합으로 입 력하고 있다. 단 "ㅞ = [ㅜ+ㅔ] = ㅡ+ㅡ+ㅣ+ㅣ+ㅣ" 로 "ㅞ"에 포함된 "ㅔ"를 "ㅣ +ㅣ+ㅣ"로 하고 있다. 전체적으로 인지하기 쉬운 입력규칙이 적용되고 있음을 알 수 있다.
위에서 "ㅗ", "ㅛ", "ㅔ" 등을 비롯하여 수평선 수직선 형태의 모음인 "ㅡ"와 "ㅣ"의 조합이 이용된 모음의 입력에 있어서 <표1>에서와 같은 입력규칙 을 선택적으로 적용할 수 있음은 물론이다.
한국어의 3개 모음 (및 3개 모음버튼)을 이용하여 한국어 모음을 입력하는 사례를 추가로 제시하면 다음과 같다. 먼저 현대 한국어에서 사용되는 21개 모음 을 편의상 수직/수평 형태에 따라 분류하면 다음과 같다.
"ㅡ"를 편의상 "수평 모음"이라 하고, "ㅣ"를 편의상 "수직 모음"이라 한부 른다. "ㅡ"와 "ㅣ"가 포함된 "ㅘ", "ㅙ", ㅚ", "ㅝ", "ㅞ", "ㅟ", "ㅢ"를 "수직 수평 모음" 이라고 부른다. "ㅡ"를 포함하여 작은 획이 추가된 형태의 "ㅗ", " ㅛ", "ㅜ", "ㅠ" 를 "수평(기본)형 모음"이라 한다. 그리고 "ㅣ"를 포함하여 작 은 획이 추가된 형태의 "ㅏ", "ㅐ", "ㅑ", "ㅒ", "ㅓ", "ㅔ", "ㅕ", "ㅖ" 를 "수 직(기본)형 모음"이라 한다.
또한 10개 기본모음(ㅏ, ㅑ, ㅓ, ㅕ, ㅗ, ㅛ, ㅜ, ㅠ, ㅡ, ㅣ)를 방향에 따 라 분류하면 다음과 같다. "ㅏ", "ㅑ" 는 우향(右向)모음, "ㅓ", "ㅕ"는 좌향(左 向)모음, "ㅗ", "ㅛ"는 상향(上向)모음, "ㅜ", "ㅠ"는 하향(下向)모음, 그리고 기 본이 되는 "ㅡ", "ㅣ"는 무향(無向)모음 이라고 할 수 있다. 더욱 나눈다면 오른 쪽방향으로 하나의 작은 획이 추가된 "ㅏ"는 "1-우향모음", 오른쪽으로 2개의 작 은 획이 추가된 "ㅑ"는 "2-우향모음" 이라고 할 수 있으며, 나머지 모음(ㅓ, ㅕ, ㅗ, ㅛ, ㅜ, ㅠ)에 대해서도 마찬가지로 부를 수 있다. 상향모음과 하향모음을 합하여 "상하향모음" 이라고 할 수 있으며, 우향모음과 상향모음을 합하여 "우상 향모음"이라고 할 수 있으며, 나머지 방향의 모음에 대해서도 유사하게 부를 수 있다. 모음 "ㅗ", "ㅜ" 를 통칭하여 "1-상하향모음"이라고 할 수 있으며, 모음 "ㅏ", "ㅓ"를 통칭하여 "1-좌우향모음"이라고 할 수 있다. 마찬가지로 "ㅛ", "ㅠ"를 합하여 "2-상하향모음"이라고 할 수 있으며, "ㅑ", "ㅕ"를 통칭하여 "2-좌 우향모음"이라고 할 수 있다. 10개 기본모음 이외의 모음중 "ㅔ", "ㅖ" 등도 유 사하게 분류할 수 있다.
*무향모음인 "ㅡ", "ㅣ"를 기본으로하여 "ㅡ"가 배정된 버튼의 반복누름에 따라 상향모음이 입력되도록 할 수 있고, 하향모음이 입력되도록 할 수 있고, 1- 상하향모음이 입력되도록 할 수 있고, 상하향모음이 모두 입력되도록 할 수도 있 다. 마찬가지로 무향모음인 "ㅣ"가 배정된 버튼의 반복누름에 따라 좌향모음이 입 력되도록 할 수 있고, 우향모음이 입력되도록 할 수 있고, 1-좌우향모음이 입력되 도록 할 수 있고, 좌우향모음이 모두 입력되도록 할 수도 있다. 반복누름에 따른 선택순서는 사전순서 또는 사용빈도 등을 고려하여 정할 수 있음은 당연한 것이다. 참고로 한국어 모음의 사용빈도 순서는 "ㅏ, ㅣ, ㅡ, ㅓ, ㅗ, ㅜ, ㅕ, ㅐ, ㅔ, ㅢ, ㅘ, ㅚ, ㅛ, ㅑ, ㅝ, ㅟ, ㅠ, ㅖ, ㅙ, ㅞ, ㅒ" 의 순서라고 하며, 상 위 9개 모음이 전제 사용빈도의 90%를 점하고 있다.
먼저 도4-5 를 기준으로 "ㅡ", ".", "ㅣ"의 3개 모음요소를 이용하여 모음 을 조합하는 방법은 현재 널리 사용되고 있다. 물론 [0]버튼에 "ㅎ"을 둘 수도 있고 두지 않을 수도 있다. 현재의 방법(삼성전자社에서 사용하는 모음획조합에 의한 방법)에서는 "고", "교", "거", "겨" 등의 글자를 입력시 입력중간에 완전한 한글글자가 이루어지지 않는 단점이 있다고 하였다. (예. "교" 입력시 "ㄱ => ㄱ. => ㄱ.. => 교" 로 됨) 즉, 좌상향모음(좌향모음과 상향모음)의 입력시 이러 한 현상이 발생한다. 따라서 "ㅡ", "ㅣ"의 반복누름으로 상향모음 및 좌향모음을 입력하도록 하여 이러한 문제를 해결할 수 있다. 예를 들어 "ㅡ"가 배정된 버튼 의 반복누름에 따라 상향모음이 입력되도록 정의 하면 해당버튼의 반복누름에 따 라 "ㅡ" => "ㅗ" => "ㅛ" 로 되는 것이다. "1***"을 누르면 "ㄱ => 그 => 고 => "교" 로 된다. 이는 기존의 방법에서와 같이 입력중간에 "ㄱㆍ", "ㄱㆍㆍ"과 같은 형태가 나오지 않게 되는 것을 의미한다. 마찬가지로 "ㅣ"가 배정된 버튼의 반복 누름으로 좌향모음을 입력하게 하면, 해당버튼의 반복누름에 따라 "ㅣ => ㅓ => ㅕ"로 되도록 할 수 있다. 좌우의 버튼을 조합하여 "ㅗ", "ㅓ" 등을 입력하는 기 존의 방법에서보다 입력의 편리도가 더 높아지는 것을 알 수 있다. 나머지 모음 의 입력에 대해서는 기존의 방법, 선출원 또는 본 발명에서 제시하는 방법을 선택 적으로 적용할 수 있다. 그러나 좌향모음의 입력에 "ㅣ"버튼의 반복누름을 이용 하는 경우 "ㅔ", "ㅖ" 등의 입력이 자연스럽지 못한 단점이 있다. 굳이 입력한다 면 수직/수평형 모음의 조합을 이용하여 "ㅔ = ㅡ+ㅣ+ㅣ (입력 중간의 "ㅡ+ㅣ = ㅢ"로 됨)"로 "ㅖ = ㅡ+ㅡ+ㅣ+ㅣ"로 할 수 있을 것이다.
"ㅡ"가 배정된 버튼의 반복누름으로 "상하향모음"을 입력하도록 할 수 있다. 예를 들어 "ㅡ"가 배정된 버튼의 반복누름에 따라 "ㅡ => ㅗ => ㅜ" (=> "ㅛ => ㅠ") 와 같이 되도록 하는 것이다. 반복누름에 따라 "상하향모음"이 선 택되는 순서는 임의로 정해질 수 있다. 사전순서 및 사용빈도 등을 고려하여 결 정할 수 있다. 사용빈도가 적은 "2-상하향모음"보다 상대적으로 사용빈도가 많은 "1-상하향모음"이 먼저 선택되도록 하는 것이 바람직할 것이다. 특정 모음을 입 력하기 위하여 반복누름의 횟수가 너무 많아지는 것은 입력의 편리성과 직관성을 위하여도 좋지 않으므로, "2-상하향모음"에 대하여는, 대응되는 1-상하향모음과 "ㆍ"의 조합으로 입력하도록 할 수 있다. 예를 들어 "ㅛ = [ㅗ+ㆍ] = ㅡ+ㅡ+ㆍ (= **0)" 으로 할 수 있다. 역시 [ . . . ] 에 표시한 것은 이해를 돕기 위하여 모음을 분해하여 표시한 것이다. 여기서 "ㆍ"은 모음요소로 생각해도 되고, 후속 컨트롤로 생각해도 된다. 즉 "ㅗ"의 후속알파벳으로 "ㅛ"가 있다고 생각하는 것 은 자연스럽다. 즉 "ㅗ"를 입력한 후 후속컨트롤을 선택(예에서는 [0]버튼 1타) 하여 "ㅗ"의 후속알파벳을 입력하는 것이다 (참고 컨트롤처리방법, 체인형 컨트롤 처리방법). "ㅛ = [ㆍ+ㅗ] =ㆍ+ㅡ+ㅡ (=0**)" 로 할 수도 있지만 도4-5를 기준으 로 할 때, 입력중간에 "ㆍ"이 표시되어 완전한 한글글자가 표시되지 않는 점이 있 다. "ㅠ = [ㅜ+ㆍ] = ㅡ+ㅡ+ㅡ+ㆍ (= ***0)" 으로 할 수 있다. 기존의 입력방법 에서 보다 "ㅠ" 입력의 타수가 1타 늘어났지만 "ㅠ"는 사용빈도가 별로 많지 않은 모음이므로 전체 입력타수 증가에 많은 영향을 주지 않는다.
마찬가지로 "ㅡ"가 배정된 버튼의 반복누름으로 상향모음이 입력되도록 할 수 있으며, "ㅡ"가 배정된 버튼의 반복누름으로 하향모음이 입력되도록 할 수도 있다. 상향모음이 입력되도록 한다면, "ㅡ"가 배정된 버튼의 반복누름에 대응하 여 "ㅡ" => "ㅗ", => "ㅛ" 로 되고, 하향모음이 입력되도록 한다면, "ㅡ" => "ㅜ" => "ㅠ" 가 되는 것이다. 동일하게 "ㅣ"가 배정된 버튼의 반복누름에 의하여 좌 향모음 또는 우향모음이 입력되도록 할 수 있다.
"ㅣ"가 배정된 버튼에 대해서도 마찬가지로 적용할 수 있다. 즉 "ㅣ" 가 배정된 버튼의 반복누름에 따라 좌우향모음이 입력되도록 하면, "ㅣ => ㅏ => ㅓ" (=> "ㅑ => ㅕ") 와 같이 되는 것이다. 예를 들어 입력값을 표시하여 보면, "ㅣ = #", "ㅏ = ##", "ㅓ = ###", . . . 과 같이 된다. "ㅑ", "ㅕ"를 괄호안에 둔 것은 입력하도록 할 수도 있고 그렇지 않을 수 있음을 의미한다. 여기서 많은 사 용빈도로 사용되는 모음 "ㅓ"의 입력에 3타가 소요("###")되고 있다. "ㅑ" 의 입 력에 있어서도 "ㅑ = [ㅏ+ㆍ] = ㅣ+ㅣ+ㆍ (= ##0)" 으로 "ㅕ = [ㅓ+ㆍ] = ㅣ+ㅣ+ ㅣ+ㆍ (= ###0)" 으로 할 수 있다. 또 "ㅔ", "ㅐ" 및 "ㅖ", "ㅒ" 등의 입력이 자 연스럽지 못한 단점이 있다. 물론 "ㅔ", "ㅐ" 및 "ㅖ", "ㅒ" 등의 입력에 기존의 입력방법(삼성전자社 방식) 또는 수직/수평 모음의 조합을 적용할 수 있으나, 사 용자가 숙지해야 할 입력규칙이 많아진다. 수평/수직 모음의 조합을 이용한다면, "ㅔ = ㅡ+ㅣ+ㅣ"로 하고, "ㅐ = ㅣ+ㅡ+ㅣ"로 할 수 있으나, 작은 획 또는 짧은 획 ("ㅔ"에서 첫획, "ㅐ"에서 중간획)을 "ㅡ"로 조합하는 데 대한 약간의 부자연스러 움이 있게 된다. 이를 타개하기 위하여 "ㅣ"가 배정된 버튼의 반복누름에 따라 "ㅣ" => "ㅏ" => "ㅓ" => "ㅐ" => "ㅔ" 로 되도록 할 수도 있으며, "ㅒ", "ㅖ"는 각각 "ㅐ", "ㅔ"와 "ㆍ"의 조합으로 입력하도록 할 수 있다. 역시 하나의 모음 (예. "ㅔ") 이면서 많이 사용되는 모음의 입력에 반복누름의 횟수(예. 5회)가 지 나치게 많아지는 단점이 있다. 또한 "ㅐ" 및 "ㅔ"의 입력에 있어서 "ㅐ = [ㅏ+ㅣ] = . . . " 로, "ㅔ = [ㅓ+ㅣ] = . . ."로 입력하도록 하는 것이 자연스러 움에도 그렇게 하지 못하는 단점도 있다.
위의 추가사례에서는 모음버튼의 반복누름을 이용하여 모음을 입력하므로 변형알파벳(격자음, 경자음, 탈락자음)의 입력에 컨트롤처리방법을 적용하려면, 평자음과 모음버튼을 조합함에 있어서, 모음생성을 위한 최대반복횟수에 1타를 더 하여 입력하여야 한다. 예를 들어 "ㅡ" 버튼의 반복누름으로 "ㅡ" => "ㅗ" => " ㅜ" 로 된다면(즉 모음입력에 최대 3타 소요된다면), "ㅋ = ㄱ+ㅡ+ㅡ+ㅡ+ㅡ (= 1****)" 로 되는 것이다. 이는 다른 실시예에서도 마찬가지이다. 역시 하나의 자소를 입력하는데 많은 횟수의 반복누름이 소요되는 단점이 있다. 반복선택방법 과 같이 자음버튼의 반복누름으로 자음을 입력하는 것은 언제나 가능하다.
다음에 기술하는 내용이 본 출원의 핵심임을 밝힌다. 현재 삼성전자社의 입력방식과 키패드가 널리 사용되고 있고 삼성전자社가 우리나라의 최대의 기업인 관계로 "한국어 3개모음 및 그 조합"을 이용한 출원인의 선출원 기술이 삼성전자 社와의 기존 기술과 전혀 저촉되지 않음에도 불구하고 특허에 관한 전문지식이 없 는 중소기업들이 출원인의 기술을 채용하고 싶어도 이를 채용하는데 대하여 우려 하고 있는 현실이다. 이에 다음의 추가 사례를 제시한다.
위에서 추가로 제시한 "ㅡ", "ㆍ", "ㅣ"의 모음요소를 이용한 사례에서 " ㅐ", "ㅔ"의 입력이 자연스럽지 못한 점을 지적하였다. 또한 "ㅡ", "ㅣ" 버튼의 반복누름으로 상하향모음 및 좌우향모음을 입력시 기존보다 입력타수가 늘어나는 점도 있었다. 다음의 사례에서 현대 한국어 모음 "ㅡ", "ㅏ", "ㅣ" 또는 "ㅡ", "ㅓ", "ㅣ"를 이용하고 또한 모음버튼의 반복누름을 이용하여 자연스럽고 모음을 조합하여 입력할 수 있는 사례를 보인다. 도4-*의 모든 키패드는 호환성이 있다 고 하였다. 특히 [0]버튼에 "ㆍ"을 표시한 도면과 "ㅏ"를 표시(또는 "ㅏ"의 변형 으로 "+", "-ㅏ", "H", "ㅏㅓ" 등등을 표시)한 도면에서도 "ㆍ"이 표시된 [0]버튼 을 "ㅏ"가 표시된 버튼으로 생각할 수 있고, "0"안에 "ㅏ"가 표시된 [0]버튼을 사 용자는 "ㆍ" 처럼 인식하여 사용할 수 있는 것이다. "모음요소" 또는 "후속컨트 롤"처럼 간주될 수 있는 "ㆍ"을 입력하는데 예시 도면에서 "ㅏ" 등이 표시된 [0] 버튼이 이용됨을 밝힌다.
본 실시예를 설명하기 위하여 제시한 "ㅡ", "ㆍ", "ㅣ"를 이용한 사례에서 와 동일한 부분은 설명을 피하고, 단점으로 지적한 사례를 극복하는 부분을 위주 로 기술한다. 먼저 "ㅡ", "ㅏ", "ㅣ"를 이용한 사례이다. "ㅣ" 버튼의 반복누름 으로 "ㅐ", "ㅔ"를 입력하도록 할 수 있다. "ㅣ" 버튼의 반복누름에 의하여 선택 되는 순서는 임의로 정해질 수 있다. 예를 들어 "ㅐ"를 먼저 선택되도록 한다면, "ㅐ = ㅣ+ㅣ (= ##)" 이 되고, "ㅔ = ㅣ+ㅣ+ㅣ (= ###)" 이 된다. "ㅐ"를 "ㅣ+ㅣ"로 입력하도록 하는 것은 "ㅐ"의 형상에서 2개의 수직선 모양을 볼 수 있 으므로 사용자의 입장에서 자연스럽게 적응이 가능하다. 언급하였듯이 "ㅐ" 다음 에 "ㅣ"를 한번 더 눌러 "ㅐ" 중간의 작은획이 왼쪽으로 밀려나오는 것으로 사용 자는 연상할 수 있다. 입력예로 "개 = 1##"이 되고, "게 = 1###"이 된다.
"ㅒ"는 "ㅐ"와 "ㆍ"의 조합으로 입력(역시 조합되는 순서는 임의로 정해질 수 있음)하고, "ㅖ"는 "ㅔ"와 "ㆍ"의 조합으로 자연스럽게 입력하도록 할 수 있다. 예를 들어 도4-5를 기준으로 하면 "ㅒ = [ㅐ+ㆍ] = ㅣ+ㅣ+ㆍ (= ##0)" 이 되고, "ㅖ = [ㅔ+ㆍ] = ㅣ+ㅣ+ㅣ+ㆍ (= ###0)" 이 된다. 도4-10 ~ 도4-13을 기준 으로 하면 "ㅒ = [ㅐ+ㆍ] = ㅣ+ㅣ+ㅏ (= ##0)" 이 되고, "ㅖ = [ㅔ+ㆍ] = ㅣ+ㅣ+ ㅣ+ㅏ (= ###0)" 이 된다. 사용자는 도4-10 ~ 도4-13에서 원 또는 숫자 "0" 안에 "ㅏ"가 들어 있는 [0] 버튼을 "ㆍ" 또는 "후속컨트롤(즉, "ㅒ"를 "ㅐ"의 후속알파 벳) 버튼" 처럼 의식하여 입력하면 되는 것을 쉽게 알 수 있다. 이는 이하에서도 같다. 다른 사례로 "ㅒ = [ㅐ+ㅡ] = ㅣ+ㅣ+ㅡ (= ##*)" 이 되고, "ㅖ = [ㅔ+ㅡ] = ㅣ+ㅣ+ㅣ+ㅡ (= ###*)" 로 할 수도 있다. 이 역시 "ㅡ"버튼을 컨트롤버튼(첨자 컨트롤 또는 후속컨트롤) 처럼 이용하는 것을 알 수 있다. 마찬가지로 "ㅡ"버튼 과 조합되는 순서는 다른 모음의 입력값과 충돌되지 않는 한에서, "ㅡ"버튼 선입 력 또는 후입력하는 것으로 될 수 있는 것도 같다. 이는 동일버튼의 반복누름에 의하여 입력되는 모음 이외의 복모음은 다양한 조합방법에 의하여 입력될 수 있음 을 보여주는 것이다.
"ㅏ" 가 배정된 버튼의 반복누름으로 "ㅏ" => "ㅓ" (=> "ㅑ" => "ㅕ") 와 같이 입력되도록 할 수 있다. 즉, "ㅏ"가 배정된 버튼의 반복누름으로 "1-좌우향 모음" 또는 "좌우향모음"이 입력되도록 하는 것이다. 반복누름에 따른 선택순서 는 사전순서 및 사용빈도 등을 고려하여 정해질 수 있다. "1-좌우향모음(즉, "ㅏ", "ㅓ")"까지 입력되도록 하면 이는 기 제시한 <표1> 및 도4-20, 도4-21의 입 력방법과 유사하게 된다. 반복누름에 의하여 입력되는 모음의 사용빈도를 고려하 여 "ㅏ"가 배정된 버튼의 반복누름에 따라 "ㅏ" => "ㅓ" => "ㅕ" => "ㅑ" 로 되도 록 할 수도 있음은 물론이다. 여기서도 "ㅑ", "ㅕ" 등의 모음을 입력시 반복누름 횟수가 많아지게 되는 점이 있다. 이때 다른 실시예 제시한 "ㅑ", "ㅕ" 의 입력 을 이용하여 "ㅑ = [ㅏ+ㅡ] (= 0*)" 로, "ㅕ = [ㅓ+ㅡ] (= 00*) 로 할 수도 있다. 이렇게 "ㅏ"가 배정된 버튼의 반복누름을 이용하여 "좌우향모음"을 입력하는 것은 "ㅡ", "ㅓ", "ㅣ" 3개의 모음을 이용하여 입력하는 경우에도 동일하게 적용될 수 있다. 예를 들어 "ㅓ"가 배정된 버튼의 반복누름을 이용하여 "ㅓ" => "ㅏ" (=> "ㅕ" => "ㅑ") 와 같이 입력되도록 하는 것이다. 이렇게 "ㅏ" (또는 "ㅓ")가 배 정된 버튼의 반복누름으로 버튼에 배정된 모음을 포함하여 "좌우향모음"을 입력할 수 있도록 하는 것은 "ㅣ"가 배정된 버튼의 반복누름으로 다른 모음을 입력할 수 있게 하는 의미를 가진다. 또한 모양에 있어서 유사성을 가지는 모음을 입력할 수 있도록 함으로써, 최소의 자소를 키패드에 배치하면서, 자연스러운 입력을 가 능하게 한다. 예를 들어, "ㅏ"가 배정된 버튼을 한번 누르면 "ㅏ"가 입력되고, 두번 눌러서 "ㅓ"가 되므로, 즉 "ㅏ"가 배정된 버튼을 두번 누르면 기 입력된 "ㅏ"가 수직선을 중심으로 좌우가 바뀐 형태인 "ㅓ"가 입력되게 되므로, 사용자는 "ㅏ" 버튼 2회 입력시 좌우 대칭형으로 바뀌는 규칙을 쉽게 연상할 수 있다.
이렇게 "ㅏ" (또는 "ㅓ")가 배정된 버튼의 반복누름으로 좌우향모음 또는 좌향모음 또는 1-좌우향모음을 입력하는 것을 그래프 형태로 나타내면 도4-28과 같다. 기존의 모음요소를 조합하는 입력방식에 비하여 사용빈도가 많은 모음인 "ㅏ"는 1타에 입력할 수 있으면서, 비교적 사용빈도가 적은 모음인 "ㅕ" (또는 선택순서를 지정하기에 따라 "ㅑ") 의 입력타수가 1타 늘어난 정도이므로 전체 입 력타수는 기존 모음조합방법에 비하여 훨씬 적음을 알 수 있다. 또한 동일버튼의 반복누름에 의하여 모음을 입력할 수 있으므로 입력의 편리도 또한 증가된다고 할 수 있다. 마찬가지로 모음 "ㅏ" 대신 모음 "ㅗ" 또는 모음 "ㅜ"가 사용되는 경우 에는 해당버튼의 반복누름으로 상하향모음 (또는 1-상하향모음) 이 입력되도록 할 수 있음은 쉽게 알 수 있다.
"ㅏ" (또는 "ㅓ")가 배정된 버튼의 반복누름으로 2-좌우향모음("ㅑ", "ㅕ")까지 입력되도록 하면 하나의 모음을 입력하기 위하여 반복누름으로 눌러지 는 횟수가 많아지는 단점이 있다. 여기서 선출원에서 제시한 바와 같이 "ㅑ = [ ㅏ+ㅡ] = ㅏ+ㅡ (=0*)" 로, "ㅕ = [ㅓ+ㅡ] = ㅏ+ㅏ+ㅡ (= 00*)" 로 할 수 있다. 이는 기본적으로 반복누름에 의하여 입력되는 모음("ㅏ", "ㅓ") 이외의 모음의 조 합은 다양하게 나타날 수 있는 것을 보여주는 것이다.
모음 "ㅘ"의 입력에 있어서, "ㅘ = [ㅗ+ㅏ] = ㅡ+ㅡ+ㅏ (= **0)" 로 할 수 있음은 쉽게 이해할 수 있다. "ㅡ" 버튼의 반복누름을 이용하여 상향모음 또는 상하향모음 또는 1-상하향모음을 입력할 수 있는 것은 기 설명한 바와 같다. "상 향모음 또는 상하향모음" 은 "상(하)향모음"과 같이 표기한다. 마찬가지로 여기 서 "ㅡ" 가 배정된 버튼의 반복누름으로 "ㅡ" => "ㅗ" => "ㅜ" 와 같이 1-상하향 모음을 입력할 경우 2-상하향모음인 "ㅛ"는 "ㅗ"와 "ㆍ"의 조합으로 하여 "ㅛ = [ㅗ+ㆍ] = ㅡ+ㅡ+ㅏ (= **0)" 로, "ㅠ = [ㅜ+ㆍ] = ㅡ+ㅡ+ㅡ+ㅏ (= ***0)" 으로 입력시 "ㅛ (= 00*)" 는 "ㅘ (= 00*)"와 동일한 코드값을 가지므로 충돌하게 된다. 따라서 "ㅡ" 버튼의 반복누름에 의하여 상향모음을 입력하도록 하여 "ㅡ" => "ㅗ" => "ㅛ" 로 되도록 할 수 있다. 즉 "ㅛ = ㅡ+ㅡ+ㅡ (= ***)" 이 되어 " ㅘ = **0"과 충돌하거나 중복되지 않는다. 하향모음은 선출원에서 제시한 바(예. <표1> 및 기타 실시예)에서와 같이 입력하면 된다. 예를 들어 "ㅜ = ㅡ+ㅏ (= *0)" 으로 "ㅠ = ㅡ+ㅏ+ㅏ (= *00)" 과 같이 할 수 있다.
나머지 모음의 입력에 있어서, "ㅟ = [ㅜ+ㅣ] = ㅜ+ㅣ = *0#" 으로, "ㅝ = [ㅜ+ㅓ] = ㅜ+ㅓ (= *0 00)" 으로, "ㅞ = [ㅜ+ㅓ+ㅣ] = ㅜ+ㅓ+ㅣ (= *000#) 으로 할 수 있다. "ㅡ"가 배정된 버튼으로 상하향모음을 모두 입력하게 하는 경우, " ㅡ" 가 배정된 버튼의 반복누름에 따라 "ㅡ" => "ㅗ" => "ㅜ" => "ㅛ" => "ㅠ" 로 된다. "ㅛ", "ㅠ" 등의 입력에 입력타수가 많아지는 단점이 있으나, 이렇게 할 경우 모음 "ㅝ" 의 입력에 있어서 "ㅝ = [ㅜ+ㅓ] = ㅡ+ㅡ+ㅡ+ㅏ+ㅏ (= ***00)" 인 데, "ㅜ" 입력 후 "ㅏ"가 나오는 모음이 없으므로 "ㅝ = [ㅜ+ㅓ] = ㅡ+ㅡ+ㅡ+ㅓ (= ***00)" 가 아닌 "ㅝ = [ㅜ+ㅓ] = ㅡ+ㅡ+ㅡ+ㅏ (= ***0)" 으로 할 수 있는 장 점도 있다. 즉 "ㅜ" 입력 후 "ㅏ" 가 배정된 버튼을 한번 눌러 "ㅝ"를 입력하는 것이다. "ㅏ"가 배정된 버튼에 "ㅏ", "ㅓ"를 동시에 연상할 수 있는 "+", "-ㅏ", "H" 등이 표시된 도4-12 ~ 도4-14 의 경우 더 자연스럽게 "ㅝ"를 입력할 수 있는 장점이 있다. "ㅛ", "ㅠ" 의 입력에 선출원의 실시예에서 제시한 바와 같이 수직 /수평 형태의 모음 "ㅡ", "ㅣ"의 조합으로 입력하도록 할 수도 있다. 예를 들어 "ㅛ = ㅣ+ㅣ+ㅡ (= ##*)" 으로, "ㅠ = ㅡ+ㅣ+ㅣ (= *##)" 으로 되는 것이다.
이상의 내용중 일부를 표형식으로 정리하면 다음과 같으며 그래프 형식으로 정리하면 도4-29 와 같다. 하나의 모음을 입력하는데 동일버튼의 반복입력이 3회 를 넘지 않는 일부의 모음입력 사례만을 정리하였다. 모든 설명을 표로 정리한 것 은 아니며 또한 표의 모든 내용을 도면으로 정리한 것은 아니다. 본 실시예에서 의 가장 중요한 특징은 3개 모음요소 버튼의 반복누름에 의하여 모음을 입력하는 규칙을 정의하고자 하였을 때, 가장 부자연스럽고 처리가 어려웠던 "ㅐ", "ㅔ" 의 입력을 "ㅣ"버튼의 반복누름에 의하여 자연스럽게 입력할 수 있도록 한 점, "ㅏ" 버튼의 반복누름을 이용하여 "ㅏ" "ㅓ" 등을 입력할 수 있도록 한 점, 또는 "ㅡ" 버튼의 반복누름으로 "ㅡ", "ㅗ", "ㅛ" 등을 입력할 수 있도록 한 점 등을 들 수 있다. 본 실시예에서 핵심적인 부분인 모음버튼의 반복누름에 의하여 입력되는 모음에 대해서는 그래프에서 회색채움으로 표시하였다. 이렇게 반복누름에 의하 여 입력할 수 있는 이들 모음을 이용하여 나머지 모음들을 자연스럽게 입력할 수 있는 것을 보였고, 나머지 모음의 입력에 있어서는 하나의 모음에 대해서도 다양 한 조합방법이 가능함을 보였다. 특정 모음의 입력에 있어서 충돌하지 않는 한 다른 실시예에서의 모음조합이 선택적으로 또는 추가적으로 적용될 수 있으며, 많 은 변형이 있을 수 있음은 당 업자에게 자명하다.
모음 모음
분해
조합되는 3개모음 4-* 예시키패드에서의 버 튼입력값
1 0
2 ㅣ+ㅣ ##
3
ㅏ+ㅡ
ㅏ+ㅏ+ㅏ or
ㅏ+ㅡ
000 or
0*
4 ㅑ+ㅣor
ㅐ+ㆍor
ㅐ+ㅡ
ㅏ+ㅏ+ㅏ+ㅣ or
ㅣ+ㅣ+ㅏ or
ㅣ+ㅣ+ㅡ
000# or
##0 or
##*
5 ㅏ+ㅏ 00
6 ㅣ+ㅣ+ㅣ ###
7
ㅓ+ㅡ
ㅏ+ㅏ+ㅏ+ㅏ or
ㅏ+ㅏ+ㅡ
0000
00*
8 ㅔ+ㆍ or
ㅔ+ㅡ
ㅣ+ㅣ+ㅣ+ㅏ or
ㅣ+ㅣ+ㅣ+ㅡ
###0 or
###*
9 ㅡ+ㅡ **
10 ㅗ+ㅏ ㅡ+ㅡ+ㅏ **0
11 ㅘ+ㅣ ㅡ+ㅡ+ㅏ+ㅣ **0#
12 ㅗ+ㅣ ㅡ+ㅡ+ㅣ **#
13 ㅡ+ㅡ+ㅡ ***
14 ㅡ+ㆍ ㅡ+ㅏ *0
15 ㅜ+ㅓ ㅡ+ㅏ+ㅏ+ㅏ *000
16 ㅜ+ㅓ+ㅣ ㅡ+ㅏ+ㅏ+ㅏ+ㅣ *000#
17 ㅜ+ㅣ ㅡ+ㅏ+ㅣ *0#
18 ㅡ+ㅏ+ㅏ *00
19 *
20 ㅡ+ㅣ ㅡ+ㅣ *#
21 #
다른 실시예를 추가로 제시하면 다음과 같다 위의 실시예에서 "ㅣ" 버튼의 반복누름으로 "ㅐ"를 입력하고, "ㅓ"를 "ㅏ"버튼의 반복누름으로 입력하였는데, "ㅡ", "ㅏ", "ㅣ"가 배정된 키패드에서 "ㅐ = [ㅏ+ㅣ] = . . ." 로 입력하는 것 을 자연스럽게 생각할 수 있다. 물론 표7과 관련된 실시예에서도 "ㅐ = [ㅏ+ㅣ] = . . ." 로 입력할 수도 있다. 그러나 "ㅐ = [ㅏ+ㅣ] = . . ." 로 입력할 수 있 으므로 "ㅣ" 가 배정된 버튼의 반복누름으로 "ㅣ" => "ㅓ" (=> "ㅔ") 로 입력되도 록 할 수 있다. 즉 "ㅣ"의 반복누름으로 "1-좌향모음"을 입력하는 것이다. 여기 서 "ㅓ = ㅣ+ㅣ (= ##)" 이므로, "ㅔ"는 "ㅓ"와 "ㅣ"의 조합으로 자연스럽게 "ㅔ = [ㅓ+ㅣ] = ㅓ+ㅣ (= ###)" 이 된다. 예를 들어 "1##" 의 입력에 대하여 "ㄱ => 기 => 거"와 같이 되므로 사용자는 "ㅣ" 가 배정된 버튼 2타로 "ㅣ"의 좌측(즉 자 음쪽) 작은획이 채워지는 입력규칙을 숙지하면 된다.
마찬가지로 다음으로 "ㅡ"버튼의 반복누름으로 상향모음을 입력하는 것으로 한다. 즉 "ㅡ" 버튼의 반복누름에 따라 "ㅡ" => "ㅗ" => "ㅛ" 가 입력되는 것이 다. "1**" 입력에 대하여 "ㄱ => 그 => 고" 로 되므로, 역시 사용자는 "ㅡ"가 배 정된 버튼의 반복누름으로 상측(즉 자음쪽) 작은획이 채워지는 입력규칙만을 숙지 하면 된다. 하향모음인 "ㅜ", "ㅠ"의 입력은 역시 선출원 및 다른 실시예(예. 표1)에서 설명한 방법으로 입력할 수 있다. 예를 들어 "ㅜ = ㅡ+ㅏ (= *0)" 으로 "ㅠ = ㅡ+ㅏ+ㅏ (= *00)" 과 같이 할 수 있다.
"ㅐ"의 입력에 대하여 "ㅐ = [ㅏ+ㅣ] = ㅏ+ㅣ (= 0#)" 로 하면 된다. "ㅕ", "ㅒ", "ㅖ", 의 입력은 각각 "ㅓ", "ㅐ", "ㅔ"와 "ㆍ(예시 키패드에서 " 0"안에 "ㅏ"가 배정된 버튼)"을 조합하여 입력하는 것으로 할 수 있다. 즉 "ㅕ = [ㅓ+ㆍ] = ㅣ+ㅣ+ㅏ (= ##0)" 으로, "ㅒ = [ㅐ+ㆍ] = ㅏ+ㅣ+ㅏ (= 0#0)" 으로, " ㅖ = [ㅔ+ㆍ] = ㅣ+ㅣ+ㅣ+ㆍ (= ###0)"으로 할 수 있는 것이다. 여기서 "ㅕ = [ㅓ+ㅡ] = ㅣ+ㅣ+ㅡ (= ##*)" 으로, "ㅒ = [ㅐ+ㅡ] = ㅏ+ㅣ+ㅡ (= 0#*)" 으로, " ㅖ = [ㅔ+ㅡ] = ㅣ+ㅣ+ㅣ+ㅡ (= ###*)" 과 같이 다양한 조합이 가능하다. "ㅑ"는 "ㅏ"의 변형알파벳 또는 후속알파벳을 반복선택방법에 의하여 입력하는 것으로 하 여 "ㅏ"가 배정된 버튼의 2타로 입력할 수 있다. 즉 "ㅑ = ㅏ+ㅏ (= 00)" 이 된 다. 여기서 "ㅒ = [ㅑ+ㅣ] = ㅏ+ㅏ+ㅣ (= 00#)"로도 할 수 있는 것도 알 수 있다. 나머지 모음(복모음)은 기 설명한 모음입력의 조합으로 쉽게 입력할 수 있 다. 즉 "ㅘ = [ㅗ+ㅏ] = ㅡ+ㅡ+ㅏ (= **0)" 으로 "ㅚ = [ㅗ+ㅣ] = ㅡ+ㅡ+ㅣ (= **#)" 으로, "ㅙ = [ㅗ+ㅏ+ㅣ] = ㅡ+ㅡ+ㅏ+ㅣ (= *0#)" 으로 "ㅟ = [ㅜ+ㅣ] = ㅡ+ ㅏ+ㅣ (=*0#)" 으로, "ㅝ = [ㅜ+ㅓ] = ㅡ+ㅏ+ㅣ+ㅣ (= *0##)" 으로 "ㅞ = [ㅜ+ㅓ+ ㅣ] = ㅡ+ㅏ+ㅣ+ㅣ+ㅣ (= *0###)" 으로 할 수 있다.
이상의 실시예에서 핵심적인 내용을 정리하면 "ㅡ", "ㅏ", "ㅣ" 3개 모음을 이용하여 모음을 입력하되 "ㅣ"가 배정된 버튼의 반복누름으로 "ㅣ", "ㅓ", "ㅔ" 를 또는 "ㅣ", "ㅓ" 를("ㅔ = ㅓ+ㅣ" 이므로 역시 "###"으로 할 수 있으므로) 입 력하도록 하고, "ㅏ"가 배정된 버튼의 반복누름으로 "ㅏ", "ㅑ"를 입력할 수 있도 록 하고, "ㅡ"가 배정된 버튼의 반복누름으로 "ㅡ", "ㅗ", "ㅛ" 등을 입력하여 전 체적으로 단순하고 숙지하기 용이한 모음입력방법을 제시한 것이다. 결국 "ㅡ", "ㆍ", "ㅣ" 를 이용하고, 반복누름으로 모음을 입력하는 데 있어서 입력이 부자연 스러웠던 "ㅔ", "ㅐ" 등을 "ㅡ", "ㅏ", "ㅣ"의 3개 현대 한국어 모음의 조합을 이 용하고 또한 반복누름을 이용하면서 나머지 모음도 자연스럽게 입력할 수 있음을 보였다. 사용자는 "ㅡ" 입력후 "ㅡ"가 배정된 버튼을 반복적으로 한번 더 눌러 "ㅗ"를 입력하는 것과 "ㅣ"입력후 "ㅣ"가 배정된 버튼을 한번 더 눌러 "ㅓ"가 입 력되는 것이 일관성이 있으므로 숙지하는데 용이하다. 반복누름에 의하여 입력되 는 모음 이외의 모음도 다양한 방법으로 숙지하기 쉽고 자연스럽게 입력할 수 있 었다. 또 나머지 모음은 기본이 되는 모음과 후속컨트롤버튼([0]버튼)의 조합으 로 입력할 수 있었다. 사용자는 "ㅏ"가 배정된 버튼(예시 도면에서 숫자 "0"안에 "ㅏ"가 표시된 버튼)은 경우에 따라 "ㆍ"처럼 연상하여 사용할 수 있음은 이미 설 명하였다. 이상의 내용중 일부를 표 형식으로 정리하면 표8 과 같으며, 그래프 형태로 정리하면 도4-30 과 같다. 모든 설명을 표로 정리한 것은 아니며 또한 표 의 모든 내용을 도면으로 정리한 것은 아니다. 도4-30 에서 가장 핵심적인 부분 인 반복누름에 의하여 입력되는 모음은 회색채움으로 표시하였다. 동일한 모음의 입력에 여러가지 방법이 있는 경우는 모두 적용될 수 있거나, 선택적으로 적용될 수 있음을 나타낸다. 입력방법의 직관성을 위해 하나의 자소입력에 동일버튼이 3 회이상 눌러지는 경우는 피한 내용을 정리하였으며, 특정 모음의 입력에 있어서, 타 실시예의 모음입력방법과 중복되거나 충돌되지 않는 한에서 타 실시예에서의 방법이 선택적으로 적용될 수 있음도 자명하다.
모음 모음
분해
조합되는 3개모음 4-* 예시키패드에서의 버 튼입력값
1 0
2 ㅏ+ㅣ ㅏ+ㅣ 0#
3 ㅏ+ㅏ 00
4 ㅑ+ㅣor
ㅐ+ㆍ or
ㅐ+ㅡ
ㅏ+ㅏ+ㅣ or
ㅏ+ㅣ+ㅏ or
ㅏ+ㅣ+ㅡ
00# or
0#0 or
0#*
5 ㅣ+ㅣ ##
6 ㅓ+ㅣ ㅣ+ㅣ+ㅣ ###
7 ㅓ+ㆍ or
ㅓ+ㅡ
ㅣ+ㅣ+ㅏ or
ㅣ+ㅣ+ㅡ
##0 or
##*
8 ㅔ+ㆍ or
ㅔ+ㅡ
ㅣ+ㅣ+ㅣ+ㅏ or
ㅣ+ㅣ+ㅣ+ㅡ
###0 or
###*
9 ㅡ+ㅡ **
10 ㅗ+ㅏ ㅡ+ㅡ+ㅏ **0
11 ㅘ+ㅣ ㅡ+ㅡ+ㅏ+ㅣ **0#
12 ㅗ+ㅣ ㅡ+ㅡ+ㅣ **#
13 ㅡ+ㅡ+ㅡ ***
14 ㅡ+ㆍ ㅡ+ㅏ *0
15 ㅜ+ㅓ ㅡ+ㅏ+ㅣ+ㅣ *0##
16 ㅜ+ㅔ =
ㅜ+ㅓ+ㅣ
ㅡ+ㅏ+ㅣ+ㅣ+ㅣ *0###
17 ㅜ+ㅣ ㅡ+ㅏ+ㅣ *0#
18 ㅡ+ㅏ+ㅏ *00
19 *
20 ㅡ+ㅣ ㅡ+ㅣ *#
21 #
다음으로 "ㅡ", "ㅓ", "ㅣ" 3개의 모음을 이용하여 모음을 조합하는 사례를 추가적으로 보인다. "ㅡ", "ㅏ", "ㅣ"를 적용한 실시예 중 표8 및 관련 실시예와 유사하므로 자세한 설명은 피한다. 사례로 제시한 4-*의 도면에서 [0]버튼에 " ㅓ"가 배치되어 있는 것으로 간주한다 (즉, [0]버튼은 "ㅓ"버튼).
모음 "ㅓ"를 "ㅓ"가 배정된 버튼 1타로 입력할 수 있으므로 "ㅣ"가 배정된 버튼의 반복누름으로 "ㅣ" => "ㅏ" (=> "ㅐ") 가 입력되도록 할 수 있다. "ㅐ = [ㅏ+ㅣ]" 이므로 "ㅏ = ㅣ+ㅣ (= ##)"로 입력되도록 한다면, 자연히 "ㅐ = [ㅏ+ㅣ] = ㅣ+ㅣ+ㅣ (= ###)" 이 된다. 모음 "ㅔ = [ㅓ+ㅣ] = ㅓ+ㅣ (= 0#)" 로 자연스럽게 입력할 수 있다. 기 설명한 실시예에서와 마찬가지로 "ㅖ = [ㅔ+ㆍ] = ㅓ+ㅣ+ㅓ (= 0#0)" 으로, "ㅒ = [ㅐ+ㆍ] = ㅣ+ㅣ+ㅣ+ㅓ (= ###0)" 으로 할 수 있다. "ㅕ"는 "ㅓ"가 배정된 버튼의 반복누름으로 입력할 수 있다. "ㅚ = [ㅗ+ ㅣ] = ㅡ+ㅡ+ㅣ (= **#)" 으로, "ㅘ = [ㅗ+ㅏ] = ㅡ+ㅡ+ㅣ+ㅣ (= **##)" 으로 "ㅙ = [ㅗ+ㅏ+ㅣ] = ㅡ+ㅡ+ㅣ+ㅣ+ㅣ (= **###)" 할 수 있다. "ㅠ = [ㅡ+ㆍ+ㆍ] = ㅡ+ ㅓ+ㅓ (= *00)" 으로 하면, "ㅝ = [ㅜ+ㅓ] = ㅡ+ㅓ+ㅓ = (= *00)" 과 충돌하게 된 다. 이 경우 "ㅠ"를 수평/수직 형태의 모음의 조합으로 "ㅠ = ㅡ+ㅣ+ㅣ (= *##)" 으로 할 수 있다. 모음 "ㅠ"의 입력에 "ㅠ = ㅡ+ㅣ+ㅣ (= *##)" 로 하는 것은 다 른 실시예에서도 적용할 수 있다.
다른 방법으로는 앞에서 제시한 바와 같이 "ㅡ"가 배정된 버튼의 반복누름 으로 "ㅡ => ㅗ => ㅜ => ㅛ => ㅠ" 로 상하향모음이 입력되도록 하고, "ㅘ = [ ㅗ+ㅏ] = ㅗ+ㅏ (= **##)" 으로, "ㅝ = [ㅜ+ㅓ] = ㅜ+ㅓ = ***0" 하는 것이다. 나머지 복모음은 복모음을 구성하는 모음들의 입력으로 처리할 수 있으며 자세한 설명은 피한다.
나머지 모음의 입력에 있어서는 타 실시예의 사례를 유사하게 이용할 수 있 다. 이상의 내용을 표로 정리하면 표9와 같으며, 그래프 형태로 정리하면 도4-31 과 같다. 이상의 실시예의 가장 큰 특징은 "ㅡ", "ㅓ", "ㅣ" 3개의 모음을 이용 하여 나머지 모음을 조합시, "ㅣ"가 배정된 버튼의 반복누름으로 "ㅣ" => "ㅏ" => "ㅐ" 를 입력하도록 한 점, "ㅓ"가 배정된 버튼의 반복누름으로 "ㅓ", "ㅕ" 를 입 력한 점 등, 그리고 그로 인하여 전체적으로 자연스러운 모음조합방법을 제시한 점을 들 수 있다. 나머지 모음은 한번 누름 및 반복누름에 의하여 입력되는 모음 을 이용하여 다양한 방법으로 입력할 수 있음을 보였다.
모음 모음
분해
조합되는 3개모음 4-* 예시키패드에서의 버 튼입력값
1 ㅣ+ㅣ ##
2 ㅏ+ㅣ ㅣ+ㅣ+ㅣ ###
3 ㅏ+ㆍ ㅣ+ㅣ+ㅓ ##0
4 ㅑ+ㅣor
ㅐ+ㆍ
ㅣ+ㅣ+ㅏ+ㅣ or
ㅣ+ㅣ+ㅣ+ㅓ
##0# or
###0
5 0
6 ㅓ+ㅣ 0#
7 ㅓ+ㅓ 00
8 ㅔ+ㆍ ㅓ+ㅣ+ㅓ 0#0
9 ㅡ+ㅡ **
10 ㅗ+ㅏ ㅡ+ㅡ+ㅣ+ㅣ **##
11 ㅘ+ㅣ ㅡ+ㅡ+ㅣ+ㅣ+ㅣ **###
12 ㅗ+ㅣ ㅡ+ㅡ+ㅣ **#
13 ㅡ+ㅡ+ㅡ ***
14 ㅡ+ㆍ ㅡ+ㅓ *0
15 ㅜ+ㅓ ㅡ+ㅓ+ㅓ+ㅓ *000
16 ㅜ+ㅓ+ㅣ ㅡ+ㅓ+ㅓ+ㅓ+ㅣ *000#
17 ㅜ+ㅣ ㅡ+ㅓ+ㅣ *0#
18 ㅡ+ㅣ+ㅣ *##
19 *
20 ㅡ+ㅣ ㅡ+ㅣ *#
21 #
"ㅡ", "ㅓ", "ㅣ"를 이용한 표9과 관련된 실시예는 "ㅡ", "ㅏ", "ㅣ"를 이 용한 실시예 중 표8 의 내용과 관련된 실시예에 대응되는 실시예이다. "ㅡ", ㅓ', "ㅣ"를 이용한 실시예로써 표7와 관련되는 실시예는 표7 의 내용과 유사한 부분이 많으므로 자세한 설명은 피하고 간단히 언급한다. "ㅓ"가 배정된 버튼의 반복누름으로 "ㅓ => ㅏ (=> ㅕ => ㅑ)" 가 되도록 할 수 있다. 즉 "ㅓ" 배정 버 튼의 반복누름으로 좌우향모음이 입력되는 것이다. "ㅣ"가 배정된 버튼의 반복누 름으로 "ㅣ => ㅐ (=> ㅔ)" 가 되도록 하는 것은 마찬가지이다. 다만 "ㅔ = [ㅓ+ ㅣ] = ㅓ+ㅣ (= 0#)" 으로 되도록 할 수 있으므로, "ㅣ"가 배정된 버튼의 반복누 름으로 "ㅣ => ㅐ => ㅒ" 가 되도록 할 수 있다. "ㅡ"가 배정된 버튼의 반복누름 으로 "ㅡ => ㅗ => ㅛ" 가 되거나(즉, 상향모음 입력), "ㅡ => ㅗ => ㅜ (=> ㅛ => ㅠ)" 가 되면(즉, (1-)상하향모음 입력), "ㅘ = [ㅗ+ㅏ] = ㅡ+ㅡ+ㅏ (= **00)" 이 되어야 하나, "ㅗ" 다음에 "ㅓ" 가 결합하는 모음이 없으므로 "ㅘ = **0" 로 할 수 있다. 나머지 모음의 입력은 유사하게 적용할 수 있으며 표와 그래프는 생 략한다.
위에서 제시한 실시예(표7, 표8, 표9 및 관련 설명)의 특징을 요약하면 다 음과 같다. "ㅡ", "ㅏ", "ㅣ" 3개의 모음을 이용하여 모음을 입력하되, "ㅏ" 가 배정된 버튼의 반복누름으로 좌우향모음 (또는 1-좌우향모음)을 입력한 점, "ㅣ" 가 배정된 버튼의 반복누름으로 "ㅣ", "ㅓ", "ㅔ"를 입력하거나 "ㅣ", "ㅐ", "ㅔ"를 입력한 점 등을 들 수 있다. 또한 "ㅡ", "ㅓ", "ㅣ" 3개 모음을 이용하 여 모음을 입력하는데 있어서, "ㅓ"가 배정된 버튼으로 좌우향모음 (또는 1-좌우 향모음)을 입력한 점, "ㅣ"가 배정된 버튼의 반복누름으로 "ㅣ", "ㅏ", "ㅐ"를 입 력하거나 "ㅣ", "ㅐ", "ㅒ"를 입력한 점을 들 수 있다. 또한 "ㅡ", "X", "ㅣ"를 이용하여 모음을 입력하되, "ㅡ"가 배정된 버튼의 반복누름으로 상향모음 (또는 상하향모음 또는 1-상하향모음)을 입력한 점 등등을 정리할 수 있다.
표7, 표8, 표9 및 관련 실시예에서 "ㅡ", "ㅏ", "ㅣ" 또는 "ㅡ", "ㅓ", "ㅣ" 가 배정된 버튼의 한번 누름 또는 반복누름으로 입력되는 모음 이외의 모음 은 다른 실시예에서의 모음입력과 출돌되지 않는 한 적절히 선택적으로 사용될 수 있다고 하였다. 예를 들어 표8 에서 "ㅜ"를 입력한 후("ㅜ"의 입력방법은 여러가 지 방법이 적용될 수 있다), "ㅣ"가 배정된 버튼(예에서 [#]버튼)을 한번 눌러 " ㅟ"를 입력하였고 또 한번 더 눌러 "ㅝ"를 입력하였고, 또 한번 더 눌러 "ㅞ"를 입력하였다. 이는 표8에서 "ㅣ" 가 배정된 버튼의 반복누름에 의하여 "ㅣ", "ㅓ", "ㅔ"를 입력하므로 당연한 것이다. 마찬가지로 표9에서 "ㅗ" 입력후(역시 "ㅗ"의 입력방법은 표9에서의 방법이외의 방법이 될 수도 있다), "ㅣ"가 배정된 버튼을 한번 눌러 "ㅚ"를 입력하였고, 한번 더 눌러 "ㅘ"를 입력하였고, 또 한번 더 눌러 "ㅙ"를 입력하였다. 역시 표9관련 실시예에서 "ㅣ"가 배정된 버튼의 반 복누름으로 "ㅣ", "ㅏ", "ㅐ"가 입력되므로 당연한 것이다. 이렇게 복모음 입력 에 있어서 좌우 버튼의 누름보다 반복누름이 이용되는 것은 입력의 편리도 향상에 도움이 될 수 있다. 표9 관련 실시예에서의 "ㅚ", "ㅘ", "ㅙ" 입력방법이 표8관 련 실시예에서의 "ㅚ", "ㅘ", "ㅙ" 입력방법과 충돌하지 않으므로, 표8관련 실시 예에서도 표9관련 실시예에서의 "ㅚ", "ㅘ", "ㅙ" 입력방법을 적용할 수 있다. 마찬가지로 표8 관련 실시예에서의 "ㅟ", "ㅝ", "ㅞ" 입력방법이 표8관련 실시예 에서의 "ㅟ", "ㅝ", "ㅞ" 입력방법과 충돌하지 않으므로, 표8관련 실시예에서도 표9관련 실시예에서의 "ㅟ", "ㅝ", "ㅞ" 입력방법을 적용할 수 있다.
여기서 "ㅡ"가 배정된 버튼의 반복누름으로 "1-상하향모음"을 입력하게 하 면, "ㅡ"가 배정된 버튼의 반복누름으로 "ㅡ => ㅗ => ㅜ"로 된다. 표8에서 표9 의 "ㅘ" 입력방법("ㅘ = [ㅚ+ㅣ] = …")을 적용한다고 하면, 표8에서와 같이 "ㅘ = [ㅗ+ㅏ] = ㅡ+ㅡ+ㅏ (= **0)" 로 할 필요가 없으므로, "ㅛ = [ㅗ+ㆍ] = ㅡ+ㅡ+ ㅏ (= **0)" 으로 할 수 있다. 마찬가지로 "ㅠ = [ㅜ+ㆍ] = ㅡ+ㅡ+ㅡ+ㅏ (= ***0)" 으로 할 수 있다. 표8 및 관련 실시예에서는 "ㅕ = [ㅓ+ㆍ] = ㅣ+ㅣ+ㅏ (= ##0)" 으로 하고 있다. 또한 "ㅑ"는 "ㅏ" 버튼의 반복누름(2회누름)으로 입력 하고 있는데, 이를 풀어 보면 "ㅑ = [ㅏ+ㆍ] = ㅏ+ㅏ (=00)" 으로 볼 수 있으므로, 전체적으로 2-상하좌우향모음 4가지 (ㅑ, ㅕ, ㅛ, ㅠ) 을 입력하는데 있어서, 각 2-상하좌우향모음에 대응되는 1-상하좌우향모음(즉, ㅏ, ㅓ, ㅗ, ㅜ) 과 변형알파벳컨트롤 또는 후속컨트롤을 조합하여 규칙성 있게 입력하는 것을 알 수 있다. 물론 컨트롤버튼으로는 "ㅏ"가 배정된 버튼 (예시 키패드에서 "0"안에 "ㅏ" 등이 표시된 [0]버튼)이 활용되었다. 표8에서 "ㅖ", "ㅒ" 등은 이미 대응되 는 모음 "ㅔ", "ㅐ" 와 "ㆍ(변형알파벳컨트롤 또는 후속컨트롤)"을 조합하는 것으 로 일관성 있게 입력되고 있었으므로 전체적으로 단순한 입력규칙에 의하여 입력 하는 것을 알 수 있다. (물론 "ㅒ = [ㅑ+ㅣ] = …" 로도 입력할 수 있었음) 편 의상 "ㅔ", "ㅐ" 를 "2-수직모음" 이라 부르고, "ㅔ" 를 "1-좌향+2-수직모음" 이 라 부른다. "ㅖ" 는 "2-좌향+2수직모음" 이라고 부를 수 있다. 또한 "ㅐ"를 "1- 중향+2수직모음"이라 부르고 "ㅒ"를 "2-중향+2수직모음"이라 부른다.
"ㅣ" 입력 후 한번 더 눌러 "ㅓ"가 되는 것과 "ㅡ" 버튼을 한번 눌러 "ㅡ" 입력후 한번 더 눌러 "ㅗ"가 되는 것이 일관성이 있으므로, 굳이 키패드 버튼상에 특정버튼의 반복누름으로 입력되는 모음을 함께 표시하지(예. [*] 버튼에 "ㅡ ㅗ ㅜ" 를 함께 표시하지) 않아도 된다. 물론 반복누름으로 입력되는 모음의 전부 또는 일부가 함께 키패드 버튼상에 표시되는 것도 본 발명의 범주에 속함은 자명 하다. 사용자는 단지 "ㅣ"가 배정된 버튼의 반복누름으로 "ㅣ", "ㅓ", ("ㅔ") 를 입력할 수 있는 점, "ㅡ"가 배정된 버튼의 반복누름으로 "ㅡ", "ㅗ", "ㅜ" 를 입 력할 수 있는 점, 1-상하좌우향 모음과 예시 도면에서의 [0]버튼("ㆍ"처럼 생각) 의 조합으로 2-상하좌우향모음을 입력할 수 있는 점, "ㅚ" 다음에 "ㅣ" 버튼을 반 복적으로 눌러 "ㅘ", "ㅙ" 를 입력할 수 있는 점, "ㅟ" 다음에 "ㅣ" 버튼의 반복 누름으로 "ㅘ", "ㅙ" 를 입력할 수 있는 점 등을 인지하고 있으면 된다.
이상의 내용을 표형태로 정리하면 다음과 같으며 그래프로 정리하면 도4-32와 같다. 설명한 모든 내용을 표에 정리하지는 않았으며 표의 모든 내용을 그래프로 정리한 것은 아니다. 표9관련 실시예에서 표8관련 실시예에서의 "ㅚ", "ㅘ", "ㅙ" 입력방법을 적용하고, "ㅡ"가 배정된 버튼의 반복누름으로 1-상하향모 음(즉, "ㅗ", "ㅠ")을 입력하고, 2-상하좌우향모음을 대응되는 1-상하좌우향모음 과 후속컨트롤버튼(예에서 "ㅏ"가 배정된 [0]버튼)의 조합으로 입력하면 표10과 거의 유사하게 된다. 다만 "ㅓ"가 배정된 버튼의 반복누름으로 "ㅓ => ㅕ"를 입 력하는 부분, "ㅏ", "ㅑ"를 입력하는 부분 정도만 다르게 된다. 굳이 표와 그래 프 형태로 제시하지 않는다. 언급한 바와 같이 "ㅏ"가 "ㅓ"보다 사용빈도가 훨씬 더 많으므로 표10 및 관련 실시예에서 보다 좋지 않게 된다.
표10 및 관련 실시예에서 "ㅜ" 입력에 3타("ㅡ" 가 배정된 버튼 3타)가 소 요되고 있지만, 동일버튼의 반복누름이므로(운지거리 zero), 입력의 편리도 면에 서는 큰 차이가 없다고 볼 수 있다. 또한 사용빈도의 상위 약 90%를 점하고 있는 9개 모음(ㅏ, ㅣ, ㅡ, ㅓ, ㅗ, ㅜ, ㅕ, ㅐ, ㅔ) 중에서 "ㅕ", "ㅐ" 를 제외한 나 머지 모음(전체사용빈도의 약 80% 이상)을 특정 모음버튼의 한번 누름 또는 반복 누름으로 입력하고 나머지 모음(전제사용빈도의 약 20%)의 입력에 인접버튼의 조 합을 이용하므로 모음 입력의 운지거리를 대폭 줄인 것을 알 수 있다. 또한 전체 사용빈도의 50%를 차지하는 "ㅡ", "ㅏ", "ㅣ"를 1타에 입력할 수 있으므로 최소한 의 버튼(3개 버튼)을 이용하여 입력타수 또한 최소의 입력타수를 유지할 수 있는 것을 알 수 있다.
모음 모음
분해
조합되는 3개모음 4-* 예시키패드에서의 버 튼입력값
1 0
2 ㅏ+ㅣ ㅏ+ㅣ 0#
3 ㅏ+ㅏ 00
4 ㅑ+ㅣor
ㅐ+ㆍ or
ㅐ+ㅡ
ㅏ+ㅏ+ㅣ or
ㅏ+ㅣ+ㅏ or
ㅏ+ㅣ+ㅡ
00# or
0#0 or
0#*
5 ㅣ+ㅣ ##
6 ㅓ+ㅣ ㅣ+ㅣ+ㅣ ###
7 ㅓ+ㆍ or
ㅓ+ㅡ
ㅣ+ㅣ+ㅏ or
ㅣ+ㅣ+ㅡ
##0 or
##*
8 ㅔ+ㆍ or
ㅔ+ㅡ
ㅣ+ㅣ+ㅣ+ㅏ or
ㅣ+ㅣ+ㅣ+ㅡ
###0 or
###*
9 ㅡ+ㅡ **
10 ㅚ+ㅣ ㅡ+ㅡ+ㅣ+ㅣ **##
11 ㅘ+ㅣ ㅡ+ㅡ+ㅣ+ㅣ+ㅣ **###
12 ㅗ+ㅣ ㅡ+ㅡ+ㅣ **#
13 ㅗ+ㆍ ㅡ+ㅡ+ㅏ **0
14 ㅡ+ㅡ+ㅡ ***
15 ㅟ+ㅣ ㅡ+ㅡ+ㅡ+ㅣ+ㅣ ***##
16 ㅝ+ㅣ ㅡ+ㅡ+ㅡ+ㅣ+ㅣ+ㅣ ***###
17 ㅜ+ㅣ ㅡ+ㅡ+ㅡ+ㅣ ***#
18 ㅜ+ㆍ ㅡ+ㅡ+ㅡ+ㅏ ***0
19 *
20 ㅡ+ㅣ ㅡ+ㅣ *#
21 #
이상에서 상위 사용빈도 90%에 속하는 9개 모음 중 일부의 모음 (예. 실시 예에 따라 "ㅜ", "ㅐ" 등 일부 모음) 을 제외하고는 동일버튼의 반복누름으로 입 력하도록 함으로써 모음입력의 운지거리를 줄이고 입력의 편리도를 향상시켰다. 예시 도면에서 특정 모음버튼의 반복누름에 의하여 입력되는 모음을 해당 버튼에 병기한 키패드 역시 적용할 수 있으며 본 발명의 범주에 포함됨은 자명하다. 예 를 들어 "ㅡ, "ㅏ", "ㅣ" 를 이용한 실시예에서, "ㅣ"가 배정된 버튼의 반복누름 으로 "ㅣ", "ㅓ" 를 입력하는 경우 [#]버튼에 "ㅣ ㅓ" (또는 "ㅣ ㅓ ㅔ")를 표시 하고, "ㅏ" 가 배정된 버튼의 반복누름으로 "ㅏ", "ㅑ"를 입력하는 경우 [0] 버튼 에 "ㅏ ㅑ"를 표시하고, "ㅡ" 가 배정된 버튼의 반복누름으로 "ㅡ", "ㅗ", "ㅛ"를 입력하는 경우 "ㅡ ㅗ" (또는 "ㅡ ㅗ ㅛ")를 표시하는 것이다. 그러나 기하학적 인 형태를 취하고 있는 한국어 모음 중, 사용빈도가 많으면서도 기본적인 형태의 모음 "ㅡ" 및 "ㅣ" 만(각 실시예에 따라 "ㅏ" 또는 "ㅓ"까지)을 각 버튼상에 표시 하고 반복누름에 의하여 입력되는 모음을 은닉하여 간결한 키패드를 구성하면서도 입력규칙을 숙지하기 쉽도록 한 것이 본 발명의 특징중의 하나, 또한 이렇게 할 수 있는 것이 우리 한글의 놀라운 점이기도 한 것이다.
격자음, 경자음 입력에 있어서 평자음과 모음입력을 위한 최대반복가능횟수 +1타를 조합하여 입력할 수 있다고 하였다. 예를 들어 "ㅣ" 버튼의 반복누름으로 "ㅣ", "ㅓ", "ㅔ"가 입력된다고 하면, 모음 입력에 최대 3회가 소요되므로 "ㄲ = ㄱ+ㅣ+ㅣ+ㅣ+ㅣ = 1####" 이 되는 것이다. 그러나 입력의 하나의 자소를 입력하 기 위한 반복누름의 횟수가 너무 많아지고 부자연스러워지므로, 자음중 변형알파 벳(격자음, 경자음, 탈락자음)의 입력은 해당하는 평자음이 배정된 버튼의 반복누 름에 의한 반복선택방법 또는 변형알파벳3+타 입력방법 등을 적용할 수 있다. 물 론 후술하는 "길게누름"을 이용하여 "ㄲ = ㄱ+ㅣ長 = 1#~" 으로 할 수도 있으나, 보통의 한글입력에 필요한 자소를 길게누름에 의하여 입력하는 것은 입력의 흐름 을 방해하므로 좋지 않다. (예에서 "ㅣ長" 은 "ㅣ"를 길게누름이고 "#~"은 [#]버 튼을 길게누름임)
탈락자음 "ㅎ"의 입력은 표8 ~ 표10의 실시예에서 "0*" 로 입력하는 모음이 없는 것을 알 수 있다. 따라서 [0]버튼에 "ㅎ"이 배정된 경우 "ㅎ = [ㆍ+ㅡ+( ㅇ)] = ㅏ+ㅡ (= 0*)" 로 입력할 수 있다. 물론 탈락자음 "ㅎ"은 반복선택방법을 적용하여 기본알파벳으로 간주하는 자음인 "ㅇ"이 배정된 버튼의 반복누름으로 입 력("ㅇ"이 배정된 버튼 2타)할 수도 있으며 이 경우는 모호성이 있을 수 있다. 표7에서 "ㅑ = [ㅏ+ㅡ] = ㅏ+ㅡ (= 0*)" 로 하고 있는데, 이를 적용하지 않으면( 표7에서 "ㅑ" 입력에 다른 방법도 있으므로), 역시 탈락자음 "ㅎ = 0*"로 모호성 없이 입력할 수 있으며, "ㅑ = 0*"로 한다면, "ㅎ = 0**"로 모호성없이 입력할 수 있다. [0]버튼 3타로 입력하는 모음이 없으면, "ㅎ"의 입력에 [0]버튼 3타를 이 용할 수 있는 것은 선출원에서 설명하였으며 이 경우 역시 모호성이 발생할 수도 있다. 예로 든 탈락자음 "ㅎ"은 반드시 "ㅎ"만이 될 수 있는 것은 아니며, 선출 원에서 언급하였듯이 격자음과 경자음이 존재하지 않는 자음중 "ㄴ"을 기본알파벳 으로 두고 "ㄹ"를 변형알파벳 (또는 후속알파벳) 으로 간주하여 "ㄹ"을 탈락자음 으로 둘 수 있다. 결국 "ㅏ" 가 배정된 버튼에 함께 배정된 자음의 입력을 모음 입력값으로 존재하지 않는 "0*"로 입력할 수 있다는 의미이다.
일반화된 2벌식 키보드의 한글오토마타에서도 "ㅢ"는 "ㅡ"입력후 "ㅣ"를 입 력함으로써 조합하여 입력하고 있다. 다만, 키보드에서는 다수의 모음버튼을 구 비하고 있으므로 "ㅢ", "ㅝ", "ㅞ", "ㅘ", "ㅙ" 등의 일부의 모음만을 모음버튼의 조합으로 입력하는 것(즉, 모음조합규칙)만이 차이일 뿐이다. 3개의 모음("ㅡ", "ㅣ", "ㅏ" 혹은 "ㅡ", "ㅣ", ".(아래아)"를 이용한 모음조합은 보다 많은 모음이 약속된 조합에 따라 입력되는 차이가 있을 뿐이다. 도4-20는 표1을 기준으로 모 음조합에 따른 모음처리과정을 그래프형식을 보여주는 도면이다. 도4-20에서 "시 작"은 모음처리과정의 시작을 의미한다. 예를 들어 "10*..."이 눌러지면, 자음( 즉, "ㄱ = 1") 다음 눌러진 모음인 "0"에서 모음 처리과정이 시작되는 것이다. 이는 현재 사용되는 2벌식 키보드에서 [ㄱ]+[ㅡ]가 입력되면, 조합이 가능한 모음 버튼인 [ㅡ]버튼이 눌러졌을 때, 모음조합과정이 시작되는 것으로 시스템이 인식 하고 다음 입력값이 [ㅣ]가 눌러졌을 때 전체입력값을 "긔"로 인식하는 것과 같은 것이다. [ㄱ]+[ㅡ] 다음에 [ㄱ] 이 눌러지면, [ㅡ]의 입력으로 부터 시작된 모음 조합과정의 종료를 인식하고 전체 입력값을 "극"으로 인식하게 되는 것은 자명하 다.
이상에서 설명한 내용중 표1과 다른부분을 포함하여 그래프 형태로 다시 정 리하면 도4-21과 같다. 도4-21에서 점선으로 표시된 모음과 회색채움으로 표시된 모음은 중복되고 있는데, 회색채움으로 표시된 모음입력방법이 제시한 바와 같이 더 입력효율이 개선된 내용이므로 우선적용하고 점선으로 표시된 내용은 선택적으 로 적용하거나 적용하지 않을 수 있다. 도4-21에서 회색채움으로 표시된 모의 입 력시에만 단일모음(예. "감"에서 "ㅏ") 또는 요소모음(예. "과"에서 "ㅏ") 중 일 부에 포함된 모음 "ㅏ"를 "ㅏ"로 인식하여 입력하고, 나머지 경우에 사용된 모음 "ㅏ"는 ㆍ(아래아) 를 연상하여 입력하면 되는 것을 알 수 있다. [0]버튼에
Figure pat00035
로 표시된 것은 ㆍ(아래아) 와 "ㅏ"를 동시에 연상시킬 수 있는 장점이 있음도 쉽 게 알 수 있다.
프로그램 구현에 있어서, 키패드에서의 입력값에 의하여 인식되는 자음과 모음을 2벌식 키보드 한글오토마타 프로그램의 입력값으로 주어 처리하는 것도 구 현상 가능할 것이나, 문자입력시스템의 인프라적인 성격 및 다양한 응용에 비추어, 정밀한 구현을 위하여는 그리 바람직하지 않음을 지적한다.
이상에서 당업계의 종사자가 아니더라도 한글을 알고 있고 소프트웨어에 기 본적인 지식이 있는 사람이면 충분히 본 시스템을 이해할 수 있도록 설명하였으나, 노파심에서 흐름도를 간단히 제시하고자 한다. 자음(즉, 탈락자음)과 함께 배정된 모음버튼(예. [0]버튼)은 편의상 "(탈락)자음배정 모음 버튼"으로 부른다. 격자음과 경자음을 컨트롤처리방법에 의하여 입력(컨트롤 후 입력 적용, "ㅋ = ㄱ+ㅡ+ㅡ", "ㄲ = ㄱ+ㅡ+ㅡ")하고, 탈락자음(예. "ㅎ")을 역시 컨트롤처리방법에 의하여 입력(예. "ㅎ = ㅇ+ㅡ+ㅡ" 또는 "ㅎ = ㅏ+ㅡ+ㅡ" 또는 "ㅎ = .+ㅡ+ㅡ")하는 것으로 한다.
도4-22의 흐름도에서, (1) ~ (4) 부분은 기존의 일반화되어 있는 2벌식 키 보드에서의 한글오토마타와 동일하고, 회색으로 표시한 (A), (B) 부분만이 본 입 력시스템에 따른 입력방식의 특성을 반영한 부분임을 알 수 있다. (B)부분은 일 련의 모음버튼이 입력된 후 조합이 불가능한 자음배정 모음버튼(예. [0]버튼)이 눌러지면, 그 모음버튼에 배정된 자음의 입력이 인식되는 것을 나타낸다. 도4-22 에서 (B) 부분이 점선으로 표시된 것은 생략될 수도 있음을 의미한다. 도4-22에 서 첫번째 입력값이 탈락자음배정 모음버튼이면, 그 모음버튼에 배정된 탈락자음 의 입력으로 처리하는 것은 매우 간단한 사항이므로 흐름도를 간결하게 유지하기 위하여 표현하지 않았다. 마찬가지로 최초 입력값으로 모음버튼이 눌러졌을 때, 낱자로써의 모음조합과정이 진행되는 것도 편의상 구분하여 표시하지 않았다. 도 4-22의 흐름도는 가능한한 단순하게 본 발명에서 제시하는 한글입력기술 그리고 모음입력기술이 작동될 수 있음을 가능한한 이해하기 쉽게 개괄적으로 보여주는 것으로, 실제 구현에 있어서는 세부적인 부분이 달라지고 변형될 수 있음은 물론 이며, 이 역시 본 발명의 범주에 포함됨은 자명하다. 예를 들어 현재 완성형 문 자체계를 쓰는 컴퓨팅 환경에서 "유니코드"체계를 사용하는지 "KSC5601 완성형" 체계만을 사용할 것인지에 따라서도 세부적인 내용은 조금씩 달라질 수 있음은 물 론이다. 참고로 도4-23는 도4-22에서 본 입력방식에서의 특성부분((A), (B)부 분)을 제거한 도면으로 일반화되어있는 2벌식 키보드에서의 한글오토마타 처리과 정을 보여준다. 다만 도4-22의 (3)부분에서 "모음조합규칙" 에 대응되는 모음이 존재하는지 체크하는 부분에서는 본 발명에서 제시한 모음조합규칙(표1, 각종 그 래프 및 본 발명의 설명에서 제시)이 적용되는 것은 너무나 당연하다.
출원인이 본 발명에서 제시한 모음입력방법(모음조합방법)은 특정 자음입력 방법과 상관없이 적용될 수 있음을 밝혔으나, 역시 노파심에서 자음입력에 있어서 반복선택방법을 적용한 경우의 흐름도를 보이면 도4-24와 같다. 출원인이 본 발 명 및 선출원에서 제시한 반복선택방법(평자음-격자음-경자음 순으로 선택, 평자 음-경자음-격자음 순으로 선택) 또는 변형알파벳 3+타 입력방법 등이 적용되는 경 우 뿐만 아니라 이와 유사한(자음버튼의 반복누름으로 자음이 식별 - 자음버튼의 입력이 모음버튼의 조합에 영향을 주지 않음) 모든 자음입력방법과 함께 적용되는 경우에도 동일하게 될 수 있음은 자명하다. (4)부분에서 자음을 식별하는데 있어 서 특정 자음입력기술에 특정한 절차에 따라 자음을 식별해내면 된다. (B)부분은 물론 없어도 된다. 흐름도를 간결하게 유지하기 위하여 모호성이 발생하는 경우 에 우화살표 [>]버튼 또는 특정 기능버튼을 이용하여 기 입력된 글자를 확정하여 주는 부분은 표현하지 않았으나 이미 일반화되어 널리 사용되고 있는 내용으로 당 업계의 종사자가 아니더라도 누구나 알고 있으므로 굳이 표시하지 않는다. 마찬 가지로 반복선택방법에 의하여 자음을 입력하고 있는 삼성전자社의 자음입력방법 과 함께 사용되는 것도 가능함을 물론이다.
마찬가지로 현재 LG전자社에서 채용하고 있는 한글입력시스템에서 자음버튼 과 "가획버튼" 그리고 "병서버튼"을 조합하여 자음을 식별(예. "ㄷ = ㄴ+가획")하 고 있는데, 이와 유사하게 자음버튼과 특정 기능버튼의 조합에 의하여 자음을 식 별하는 자음입력기술에서도 본 발명에서 제시한 모음입력기술이 적용될 수 있음은 자명하다. 마찬가지로 자음버튼 및 특정 기능버튼의 입력이 모음조합에 영향을 주지 않는다. 역시 노파심에 이 경우의 흐름도를 간단히 제시하면 도4-25와 같다.
지금까지 충분히 설명되었으리라 믿지만, 한국어(한글)의 자음과 모음을 인 식하여 한국어 글자를 처리하는 시스템에서, 선출원에서 언급한 바와 같이 특정 자음입력기술과 상관없이 본 발명에서 제시한 모음조합기술을 이용할 수 있음은 자명하다. 역시 노파심에 흐름도를 제시하면 도4-26와 같다. 매우 당연한 것이 지만, 도4-26에서 자음버튼 또는 모음버튼 또는 특정 기능버튼이 눌러졌을 때, 특 정 자음입력방식의 자음이 식별될 수 있는 경우에도 본 발명의 모음조합기술이 적 용(도4-26의 (4)부분에서)될 수 있음을 보여준다. 마찬가지로 자음과 모음이 혼 합되어 배정된 어떠한 형태의 키패드에서 한국어의 3개 모음(예. "ㅡ", "ㅏ", "ㅣ")을 조합하여 한국어 모음을 조합하는 모든 방법에도 적용가능함은 자명하다. 예를들어 예시 도면에서 [0]버튼 3타로 탈락자음 "ㅎ"을 입력하는 것을 적용하는 경우(모호성이 발생하는 경우가 있음은 이미 지적, 즉 자음 "ㅎ"의 입력이 모음입 력에 영향을 미치는 경우임 : 약속된 시간지연 또는 [>]버튼 등 이용 글자확정으 로 해결가능)에도 본 발명의 모음조합방법이 적용가능함은 자명한 것이다. 이렇 게 자음과 모음이 함께 배정되어 있는 경우 그리고 자음조합이 모음조합에 영향을 미치는 경우에도 이미 널리 쓰이고 있는 바 약속된 시간지연 또는 특정 기능버튼 (예. 우 화살표[>]버튼)의 입력으로 기 입력된 글자를 의도적으로 확정하고, 단어 시작상태에서 입력이 이루어지는 것으로 처리하는 것으로 본 발명의 모음조합방법 을 적용할 수 있는 것은 너무나 자명한 것이다. 도4-26의 흐름도에서 "글자종료 버튼"이 눌러졌을 때, 기 입력중인 내용을 확정적으로 인식하고 "시작" 상태에서 부터 진행하면 되는 것으로 이미 널리 알려져 있는 내용이다. 다시 노파심에 흐 름도 형태로 제시하면 도4-27과 같으며 도4-26에서 글자완성버튼의 눌러짐을 체크 하는 부분만 추가된 도면이다.
이는 본 출원에서 어느 한 부분(실시예)에서 설명한 내용중 다른 부분(실시 예)에서 적용가능함을 명시한 내용으로 볼 수 있으며, 이 내용 또한 본 발명의 다 른 부분(예. 4개 모음을 이용한 모음조합방법 등)에서 적용될 수 있음은 물론이다. 예를 들어 기 언급한 바와 같이 변형알파벳(격자음, 경자음, 탈락자음 등)의 입력에 반복선택방법, 변형알파벳 3+타 입력방법, 컨트롤처리방법 등이 모 두 적용되거나 일부의 자음의 입력에 일부의 방법이 선택적으로 적용될 수 있는 것(예. 격자음은 컨트롤처리방법으로 입력, 경자음은 반복선택방법으로 입력 등등)도 본 모음조합방법과 함께 적용될 수 있는 것도 자명한 것이다. 역시 아래 에 기술되는 바 특정 버튼의 "길게누름"을 이용하여 특정 자음(약속된 자음)을 식 별하는 입력시스템에서도 적용가능한 것은 쉽게 알 수 있다. 마찬가지로 LG전자 社가 채용하고 있는 입력시스템에서와 같이 일부의 자음을 가획버튼과 조합하여 입력하고 일부의 자음을 반복선택방법에 의하여 입력하는 경우(자음입력이 모음조 합에 영향을 미치지 않음)에도 본 발명의 모음조합방법이 적용가능한 것도 너무나 자명한 것이다. LG전자社가 채용하고 있는 입력시스템의 자음입력방법을 조금 변 형하여 "ㅂ"을 별도의 버튼에 배치하고 그 버튼 1타로 입력하는 경우도 역시 마찬 가지이다. (현재 LG전자社 채용 시스템에서는 "ㅂ = ㅁ+가획"으로 입력하고 있음)
4.12. 현대 한국어의 4개 모음 (예. "ㅏ", "ㅣ", "ㅡ", "ㅓ") 을 이용한 모 음입력 방법 및 이를 이용한 한국어 입력시스템
마찬가지로 도4-18, 도4-19에서와 같이 "ㅡ", "ㅣ"를 포함하여 임의의 4개 모음의 조합을 이용하여 모음을 처리하는 한국어 입력시스템을 구성할 수 있다. 예를 들어 사용빈도가 많은 모음 "ㅏ"와 "ㅓ"를 포함하여 4개의 모음을 이용할 수 있다. 이들 4개 모음은 전체의 모음중 약 60%의 사용빈도를 갖는다. 표11는 4개 모음의 조합을 이용하는 사례이다.
Figure pat00036
3개모음을 이용하는 경우에서 설명한 내용과 거의 동일하게 적용할 수 있으 므로, 자세한 설명은 하지 않는다. 도4-18에서는 모음 "ㅓ"를 숫자 "8"안에 표시 하였고, 도4-19에서는 밖에 표시하였으나, 앞에서와 같이 이는 같은 의미의 도면 이다. 도4-18, 도4-19에서의 예시와 같이 [8]버튼 [0]버튼에 자음이 함께 배정되 어 있지 않은 경우, 반대로 "ㅡ", "ㅣ"가 배정된 버튼에 자음이 배정되어 있는 경 우에도 유사하게 적용될 수 있음은 앞에서 설명한 바와 같다.
도4-18, 도4-19에서 모음 "ㅏ"와 "ㅓ"의 위치(배정된 버튼)는 서로 바뀔 수 도 있다. 또한 도4-18, 도4-19의 도면을 기준으로 4개 모음에 의하여 조합되는 모음의 정의는 표11에서 "ㅏ", "ㅓ"가 서로 바뀐 조합으로 정의될 수도 있다.
사용자는 모음 "ㅏ"가 배정된 [0]버튼을 마치 아래아 버튼처럼 사용하여 조 작할 수 있고, 모음 "ㅓ"가 배정된 [8]버튼을 마치 2개의 아래아가 있는 버튼처럼 사용할 수 있다. 숫자 "0"의 모양과 숫자 "8"의 모양에서 이를 연상하기 용이하 다. 시스템은 모음처리과정의 시작 상태를 감지하고 나서, 표11에서 정해진 규칙 에 따라 입력값을 모음으로 해석하면 된다.
앞에서 설명한 바와 유사하게 "ㅏ"의 입력에 있어서, "#0"역시 "ㅏ"로 인식 되도록 할 수 있으며, "ㅓ"의 입력에 있어서, "0#" 도 "ㅓ"로 인식되도록 할 수 있다. 마찬가지로 "ㅏ", "ㅓ" 대신에 임의의 모음 (예. 모음 "ㅗ", "ㅜ")이 모음 "ㅡ", "ㅣ"와 함께 4개의 모음으로 사용된 경우에도 같다.
모음 "ㅡ", "ㅣ"와 임의의 모음 "X", "Y" 를 포함하는 4개의 모음버튼을 이 용하여, 현대 한국어에서 사용되는 4개의 모음버튼을 조합하여 모음을 입력하는 사례는 다음의 표와 같이 될 수 있다. 다음의 표에서 한국어의 21개 모음중 모음 "ㅡ", "ㅣ"를 제외한 19개 모음중 모음 "X", "Y"로 사용되는 모음은 모음 "X"와 "Y"가 각각 배정된 버튼(즉, [X]버튼, [Y]버튼) 1타로 각기 입력될 수 있음은 자 명하다.
모음 조합되는 4개모음
X
Y
1 ㅣ+X
2 ㅣ+X+ㅣ
3 ㅣ+Y
4 ㅣ+Y+ㅣ
5 X+ㅣ
6 X+ㅣ+ㅣ
7 Y+ㅣ
8 Y+ㅣ+ㅣ
9 X+ㅡ
10 X+ㅡ+ㅣ+X
11 X+ㅡ+ㅣ+X+ㅣ
12 X+ㅡ+ㅣ
13 Y+ㅡ
14 ㅡ+X
15 ㅡ+Y+ㅣ
or ㅡ+X+X+ㅣ
16 ㅡ+Y+ㅣ+ㅣ
or ㅡ+X+X+ㅣ+ㅣ
17 ㅡ+X+ㅣ
18 ㅡ+Y
19
20 ㅡ+ㅣ
21
이를 더 일반화하여 한국어의 임의의 3개 모음버튼을 사용하여 위의 표와 유사한 조합에 의하여 모음을 입력할 수 있다. 예를 들어, 모음 "A", "B", "X", "Y" 를 요소모음으로 하고 위와 유사하게 나머지 모음을 조합에 의하여 입력할 수 있다. 모음 "A", "B", "X", "Y" 는 각각의 모음이 배정된 버튼 1타로 입력될 수 있음은 또한 자명하다. 사용자의 편리성 및 입력타수의 최소화를 위해 "ㅡ", " ㅣ" 와 "ㅏ", "ㅓ" 를 포함하는 4개의 모음을 이용하는 것이 바람직할 것이다.
도4-12, 도4-13에서 자음의 입력에 있어서도, "ㅎ = 0** = ㅏ+ㅡ+ㅡ"로, " ㅇ = 8** = ㅓ+ㅡ+ㅡ"로 입력할 수 있는 점은 같다. 여기서 사용빈도가 많은 자 음 "ㅇ"이 모음 "ㅓ"와 함께 [8]버튼에 배정되어 입력에 불편함이 있으나, 자음 "ㅇ"의 배치는 적절히 변형될 수 있다.
현대 한국어의 4개 모음을 이용하는 모음입력방법의 사례를 추가로 제시하 면 다음과 같다. 3개 모음을 이용하는 사례에서 "ㅣ"의 반복누름으로 "ㅏ", "ㅑ"를 입력하고, "ㅣ" 버튼의 반복누름으로 "ㅜ", "ㅠ"를 입력하면서, 모음 " ㅡ" 와 "ㅣ"의 수평선, 수직선 형태의 조합을 이용하여 나머지 모음을 입력하는 사례이다. 다음의 사례에서 입력규칙의 자연스러움을 확보하기 위하여 모음 " ㅓ", "ㅗ", "ㅡ", "ㅣ" 4개의 모음을 이용하는 사례를 간단히 보이면 다음과 같다. "ㅗ" 또는 "ㅓ"를 포함하고 있는 모음들을 자연스럽게 입력할 수 있다. 3개 모음을 이용하는 사례에서와 유사하므로 자세한 설명은 피한다.
모음 모음
분해
조합되는 4개모음 (B)적용시, 적용 불가
(A) (B)
1 ㅣ+ㅡ ㅣ+ㅣ ㅑ(A-3)
2 ㅏ+ㅣ ㅣ+ㅡ+ㅣ
3 ㅣ+ㅣ+ㅣ or
ㅣ+ㅣ+ㅡ or
ㅣ+ㅣ
ㅣ+ㅡ+ㅡ
4 ㅑ+ㅣ
ㅏ+ㅓ
ㅣ+ㅣ+ㅓ or
ㅣ+ㅣ+ㅡ+ㅣ
ㅣ+ㅡ+ㅡ+ㅣ
5
6 ㅓ+ㅣ ㅓ+ㅣ ㅡ+ㅣ+ㅣ ㅟ(B), ㅠ(B)
7 ㅡ+ㅓ
8 ㅕ+ㅣ ㅡ+ㅓ+ㅣ
9
10 ㅗ+ㅏ ㅗ+ㅣ+ㅣ
11 ㅘ+ㅣ ㅗ+ㅣ+ㅣ+ㅣ
12 ㅗ+ㅣ ㅗ+ㅣ
13 ㅣ+ㅗ
14 ㅡ+ㅡ
15 ㅜ+ㅓ ㅡ+ㅡ+ㅓ ㅡ+ㅣ+ㅡ or
ㅡ+ㅣ+ㅡ+ㅣ
16 ㅝ+ㅣ ㅡ+ㅡ+ㅓ+ㅣ ㅡ+ㅣ+ㅡ+ㅣ or
ㅡ+ㅣ+ㅡ+ㅣ+ㅣ
17 ㅜ+ㅣ ㅡ+ㅡ+ㅣ ㅡ+ㅣ+ㅣ ㅔ(B), ㅠ(B)
18 ㅡ+ㅡ+ㅡ ㅡ+ㅣ+ㅣ ㅔ(B), ㅟ(B)
19
20 ㅡ+ㅣ
21
4.13. 특정 모음요소(혹은 요소모음)가 배정된 특정 버튼의 연속입력으로 특정 (단일)모음을 입력하는 방법
예시한 도면들(도4-5 ~ 도4-9)에서 모음요소 버튼에 격음/경음 컨트롤 및 탈락자음이 배정되어 있지 않고, 순수하게 모음요소 버튼으로만 사용되는 상태를 전제로 한다. 따라서 별도의 컨트롤버튼이 있거나 혹은 격음 및 경음은 기본자음 이 배정된 버튼을 반복하여 누름으로써 선택되는 것으로 또 탈락자음은 기본자음 으로 간주하는 자음이 배정된 버튼을 반복하여 누름으로써 선택되는 것으로 가정 한다.
한국어의 모음의 사용빈도는 "ㅏ", "ㅣ", "ㅡ", "ㅓ", "ㅗ", 그리고 "ㅜ" 의 순이며, 이 6개의 모음이 전체의 약 77%를 차지한다. 모음요소를 이용한 입력 방법에서 자체로 모음으로 존재하지 않는 모음요소 "."을 이용하여 특정 단일모음 을 입력할 수 있음을 보였다. 더 나아가 모음결합과정(모음결합시작 ~ 모음결합 종료까지)에서 동일한 모음요소버튼만의 연속입력을 감지하여 약속된 어떤 단일모 음이 인식되도록 할 수 있다.
모음요소 "ㅡ"가 배정된 버튼을 한번 누르면 모음 "ㅡ"가 인식되고 연속하 여 한번 더 눌러지면, "ㅜ"가 인식되도록 할 수 있다. 예를 들어 "굼"를 입력함 에 있어서, 모음요소의 조합으로 "1*05"으로 입력할 수도 있지만, "1**5"으로 입 력할 수도 있는 것이다. 마찬가지로 모음요소 "ㅣ"가 배정된 버튼을 한번 눌러지 면 "ㅣ"가 인식되고 한번 더 눌러지면, "ㅏ"가 인식되도록 할 수 있다. 예를 들 어 "감"를 입력함에 있어서 "1#05"으로 할 수도 있고 혹은 "1##5"으로 할 수도 있 다는 의미이다.
앞에서 설명한 바와 같이 모음요소 "."이 배정된 버튼을 이용하여 단일모음 을 입력시에는 모음 "ㅓ", "ㅕ", "ㅗ", "ㅛ" 등을 입력하는 중간과정으로 인식하 므로 모음결합과정의 종료를 인식하기 전까지는 단지 "." 으로 출력될 수 있을 것 이다. 그러나 모음요소 "ㅡ"와 "ㅣ"가 배정된 버튼을 이용할 경우에는 격음/경음 의 컨트롤처리방법에서 설명한 바와 같이 자음 다음(즉, 모음결합과정시작 상태) 에 모음요소(혹은 요소모음) "ㅡ"가 연속하여(즉 'ㅡ+ㅡ') 나오지 않고, 또 모음 요소 "ㅣ"가 연속하여(즉 "ㅣ+ㅣ") 나오지 않는 성질을 이용하여, 모음조합과정이 종료되기 전에도 약속된 모음을 확정적으로 인식하고 출력할 수 있다. 예를 들어 "1##(5)" 입력시 입력에 따라 "ㄱ => 기 => 가 (=> 감)" 로 표시될 수 있는 것이 다. 이렇게 확정적으로 인식될 수 있는 경우는 모음요소 조합에 의하여 입력된 경우처럼 추가적으로 다른 모음요소가 결합되도록 할 수 있다. 즉 예시한 도4- 5에서 "1**# = 귀" 로, "1### = 개"로 되도록 할 수 있는 것이다. 이렇게 모음요 소가 배정된 버튼을 반복누름에 의하여 특정 모음이 인식되고 나서 또 다른 모음 요소가 조합되어 다른 모음으로 될 수 있는 경우에는, 결합될 수 없는 모음요소의 입력을 인식하는 순간 그 이전 입력값까지를 모음조합과정종료로 인식하고 현재의 입력값에 대하여 모음조합과정시작 상태로 인식할 수 있다.
또 모음요소가 배정된 버튼을 3번이상 눌러서 다른 단일모음을 입력하는 것 도 가능하다. 예를 들어 "ㅡ"가 배정된 버튼이 3번 눌려지면 "ㅠ"를 인식하도록 할 수도 있을 것이다 (여기서 "궈"를 "규+ㅣ= 1***#"로 입력하도록 할 수도 있 음). 마찬가지로 "ㅣ"가 배정된 버튼이 3번 눌러지면 언급한 바와 같이 "ㅐ"기 인식되도록 할 수도 있고, 아니면 "ㅑ"가 인식되도록 할 수도 있다 (당연히 여기 서 'ㅐ'와 'ㅑ'는 양립하지 못하며, 'ㅐ'를 3타로 입력한다면, 'ㅑ'를 4타로 입력 하도록 할 수 있음). 또 마찬가지로 "." 이 배정된 버튼 3타로 "ㅕ"를 4타로 "ㅛ" 를 입력하도록 할 수 있다. (여기서는 모음요소 "."이 배정된 버튼에 탈락 자음이 함께 배정되지 않고 모음요소만이 배정되어 있는 상태임을 전제로 하였음) 탈락자음의 입력에서 언급했듯이 모음조합시작 상태에서, 도4-5를 기준으로 모음 요소 "."이 연속하여 3번 이상 나올 수 없는 성질을 이용하여 "1000 = 겨"로, "10000 = 교"로 확정적으로 인식할 수 있다. 그러나 3회 이상의 입력에 있어서는 모음요소의 조합으로 입력하는 것이나 입력의 편리도면에서 큰 차이가 없고, 또 입력방법의 직관성 면에서 부족하다.
위의 결과는 사용빈도가 많은 일부 모음의 입력 편리도를 높인 것을 알 수 있다. 다시 정리하면, "ㅡ" 의 후속모음으로 모양의 유사성이 있는 특정 모음( ㅜ, ㅠ, ...)을 두고 반복선택방법을 적용한 것으로 볼 수 있다. 마찬가지로 " ㅣ"의 후속모음으로 특정 모음(예, ㅏ, ㅐ, ㅑ, ... 혹은 ㅏ, ㅑ, ㅐ)을 두고 반 복선택방법을 적용한 것으로 볼 수 있다. 또 마찬가지로 "."이 배정된 버튼을 이 용하여 특정 모음(예. ㅓ, ㅗ, ㅕ, ㅛ, ...)을 반복선택방법에 의하여 입력할 수 있도록 한 것으로 볼 수 있다. 4개의 모음요소를 사용하는 방법에 있어서는 모음 요소 "."이 배정된 버튼의 반복누름에 의하여 "ㅓ", "ㅗ"를 입력하도록 하고, 모 음요소 ".."이 배정된 버튼의 반복누름에 의하여 "ㅕ", "ㅛ"를 입력하도록 할 수 도 있다.
모음요소 "ㅡ"이 배정된 버튼을 이용하여 "ㅡ, ㅜ, ㅠ, ..."의 순서로, " ㅣ"에 대하여 "ㅣ, ㅏ, ㅐ,..." 혹은 "ㅣ, ㅏ, ㅑ, ㅐ, ..."의 순서로, 또 모음요 소 "."이 배정된 버튼을 이용하여 모음요소 "."으로 시작하는 모음 "ㅓ", "ㅗ"를 입력하도록 한 것도 사용자에게 친화감을 주기 위한 것이나, 예시일 뿐이고, 다른 특정모음들이 다른 순서에 의하여 입력될 수 있다.
여기서 한걸음 더 아나가 3개 혹은 4개의 모음요소를 이용하는 방법이 아닌 방법에 있어서도 본 발명의 개념이 활용될 수 있다. 예를 들어 6개의 모음버튼에 "ㅡ", "ㅣ", "ㅏ", "ㅓ", "ㅗ", "ㅜ" 등 6개의 요소모음이 각각 배정되어 있는 입 력시스템에서 "ㅑ"는 [ㅏ] 버튼 2타로, "ㅕ"는 [ㅓ] 버튼 2타로, "ㅛ"는 [ㅗ] 버 튼 2타로, 그리고 "ㅠ"는 [ㅜ] 버튼 2타로 입력하도록 할 수 있다. 마찬가지로 [ㅏ]버튼 2타로 보다 사용빈도가 많은 "ㅐ"를 입력하도록 할 수 있다. 이 역시 모음 "ㅏ", "ㅓ", "ㅗ", "ㅜ" 중 같은 모음이 연속하여 나오는 경우가 없으므로 입력즉시 확정적으로 인식될 수 있다. 이렇게 10개의 기본모음을 입력할 수 있으 면, 나머지 모음은 이 10개 모음의 조합으로 입력할 수 있다 (예. 'ㅝ = ㅜ+ㅓ' 혹은 'ㅝ = ㅠ+ㅣ', 'ㅞ = ㅜ+ㅓ+ㅣ'). 마찬가지로 특정모음버튼 3타 이상으로 이외의 모음(예. 복합모음, 확장모음)을 입력하도록 할 수 있다.
이는 모음요소 "."이 배정된 버튼을 두지 않고, 모음 "ㅑ"를 "ㅏ"를 기본모 음으로 하는 후속알파벳으로 하여 반복선택방법에 의하여 입력할 수 있는 것을 의 미한다. 이 역시 모호성없이 반복누름에 의한 입력이라는 편리함과 함께, 버튼의 누름에 따라 마치 필기해 나가는 과정과 유사한 입력으로 사용자에게 친화감을 줄 수 있다. 더불어 모음요소 "."이 배정된 버튼을 별도로 추가하여 7개의 모음버튼 을 구비한 입력시스템에서도 요소모음버튼의 반복누름 혹은 모음요소 "."과의 조 합에 의하여 입력할 수 있음은 물론이다. 예를 들어 "ㅕ"는 [ㅓ]버튼 2타 혹은 [.] 버튼과 [ㅓ] 버튼과 조합으로 입력할 수 있는 것이다.
5. 색인을 통하여 모호성을 극복하는 방법
반복선택방법 적용시 여러 단어가 하나의 코드로 표현되어 모호성이 발생할 수 있다. 도4-1의 입력예에서 "고이"가 "굉"으로 "굉"이 "고이"로 인식될 수 있 는 모호성이 있음을 지적했다. 그런데 보통은 단어단위로 단어를 입력하는데, 예 를 들어 "굉장히" 라는 단어는 존재하지만 "고이장이"라는 단어는 존재하지 않는 다. 도4-1에서 양자는 모두 같은 코드값을 갖는다. 따라서 이에 대하여 단말기 (클라이언트) 혹은 서버측에 특정 키패드와 특정 알파벳입력방법에 대하여 모호성 이 발생할 수 있는 단어들에 대한 색인을 준비하고 이를 등록해 둔다. "굉장히" 혹은 "고이장이"가 입력이 되었을 때 시간지연 등에 의해서도 양자를 구별할 수 없을 때, 색인에 "굉장히"가 올바른 단어로 등록이 되어 있다면, 사용자가 입력을 원하는 단어(이하에서 편의상 "타겟단어"라고 함)는 "굉장히"인 것을 알 수 있는 것이다. 이는 시스템이 구별할 수 없는 모호성이 발생했을 경우만 적용되며, 시 스템(단말기측 혹은 서버측 시스템)에서 정의한 시간지연값 혹은 사용자가 정의한 시간지연값에 의하여 구별이 가능한 경우는 그에 따라야 함은 당연하다. 즉 사용 자가 의도적으로 끊어(시간지연 혹은 공백 혹은 우측진행 버튼 혹은 기타의 특정 버튼을 사용하여) "고이장이"를 입력하였다면 비록 의미상 그른 단어라 할지라도 그 단어가 타겟단어이므로 "고이장이"를 출력하여야 한다.
색인을 준비하는 방법은 모호성이 발생할 수 있는 경우의 단어에 대하여 올 바른 단어(예에서 "굉장히")만을 등록해 둘 수도 있고, 그른 단어(예에서 "고이장 이")만을 등록해 둘 수도 있다. 또한 올바른 단어와 그른 단어를 모두 등록해 두 어도 무방하며, 단지 시스템은 색인의 어떤 단어가 올바른 단어인지 그른 단어인 지에 대한 정보를 가지고 있으면 된다.
이는 키패드에서 반복선택방법을 적용하는 모든 경우에 적용될 수 있다. 예 를 들어 한국의 삼성전자사의 입력방법에서 "국가 <=> 구카" 와 같은 모호성이 발 생하는데 여기에도 마찬가지로 적용될 수 있다. 뿐만아니라 도4-1와 유사하게 자 모의 쌍을 각 버튼에 배치하고 자음1타, 격음2타, 경음3타, 모음1타로 선택할 수 있게 하면서, 음절(글자) 단위로 음절완성 버튼을 누르는 경우에도 적용될 수 있 다. 사용자가 "굉장히"를 입력시, 일시적으로 "고이장이"가 출력되더라도, 단어 종료되는 순간(예를 들어 공백입력 등)에 색인을 참조하여 이를 "굉장히"로 수정 할 수 있다.
이때, 단어의 색인이 클라이언트측과 서버측에 모두 존재할 경우 1차적으로 클라이언트측의 색인을 검색하여 올바른 단어의 식별을 시도하고, 식별실패시 2차 적으로 서버측의 색인을 검색하여 최종적으로 올바른 단어를 식별하도록 할 수 있 다.
단어의 단위를 구별하는 것은 누구나 생각할 수 있듯이 단어와 단어를 구분 해 주는 요소에 의해서 식별하면 된다. 예를 들어 공백과 공백사이, 단어시작과 공백사이, 공백과 입력끝 사이, 공백과 모드전환 사이 등등의 경우를 생각할 수 있다. 색인을 참조하여 올바른 단어를 결정하는 것은 단어 단위로 이루어지므로 단어의 구분을 주는 요소 입력시 색인참조가 이루어지고 올바른 단어가 결정될 수 있다.
이는 반복선택방법을 적용하여 모호성이 발생하는 모든 경우에 적용될 수 있다. 예를 들어 현재 한국에서 사용되고 있는 삼성전자社의 방법에서 종성과 초 성이 같은 버튼에 속한 자음인 경우 모호성이 발생할 수 있다. "국가" <=> "구카" 를 예로 들 수 있다. 알파벳 별로 코드를 두어 입력시, 음절(글자) 단위 를 인식하지 않고 입력하므로 사실상 많은 경우에 무의식 적으로 "국가"를 입력하 면 "구카"로 된다. 이 경우도 시간지연 등에 의하여도 두 단어중의 어느 단어가 타겟단어인지를 알 수 없으면, 시스템(단말기 혹은 서버)은 색인을 참조하여 타겟 단어를 알아낼 수 있다. 단 이 경우는 "국"의 종성 "ㄱ"과 "가"의 초성 "ㄱ"이 연속하여 눌러졌다고 하더라도, 대부분의 경우 타겟단어는 "국가"인 경우가 많으 므로, 시간지연에 상관없이 색인을 참조하여 타겟단어를 식별해 내는 방법도 효율 적일 수 있다.
또한 이는 한국어에만 국한되지 않고 반복선택방법을 사용하는 경우의 모든 언어에 적용될 수 있는 것임은 자명하다. 예를 들어 영어입력에 있어서 혹은 다 른 언어 키패드의 영어모드에서, [2]-[2]-[2]를 입력한 것이 "AB" 인지 "BA" 인지 알 수 없는 모호성이 발생한 경우에 "AB" 가 올바른 단어로 색인에 등록이 되어 있다면, 이를 인식하여 사용자에게 타겟단어로 제공할 수 있는 것이다. 만약 모 호성이 발생하는 복수의 단어가 모두 올바른 단어로 색인에 등록이 되어 있다면, 사용빈도가 많은 단어를 사용자에 1차적으로 제공하고 사용자로 하여금 최종적으 로 타겟단어를 확정하도록 할 수 있다.
만약 어떤 단어의 입력에 대하여 모호성이 있을 경우, 색인을 참조하여도 그 입력에 해당하는 단어들이 모두 올바른 단어로 인식된다면, 사용자에게 적절한 방법(시각적, 청각적)에 의한 피드백을 주어 선택하게 하면 된다.
사용자로 하여금 타겟단어를 확정하게 하는 방법은 디스플레이창에 올바른 단어로 인식된 복수의 단어를 사용빈도순서(혹은 우선순위순서)로 나열하고 상하 스크롤에 의하여 혹은 디스플레이된 순서에 해당하는 숫자버튼을 이용하여 사용자 로 하여금 타겟단어를 확정하도록 할 수 있다. 다른 방법으로는 사용빈도가 높은 단어만을 표시하고 타겟단어가 아닌 경우 다음 단어를 표시되도록 할 수 있는 컨 트롤(편의상 "다음단어컨트롤"이라 함)을 선택함으로써 다음으로 사용빈도가 많은 단어를 표시되도록 하고, 역시 타겟단어가 아닌 경우 마찬가지로 다음단어컨트롤 을 다시 선택함으로써 계속해서 타겟단어를 검색하도록 할 수 있다. 이 경우 타 겟단어를 검색한 후 임의의 다른 버튼의 입력(예를 들어 다른 알파벳의 선택 혹은 공백, 모드전환 등 다음단어컨트롤 선택의 선택이 아닌 일체의 버튼 입력)으로 타 겟단어가 확정되도록 할 수 있다.
다음단어컨트롤의 선택은 선출원에서 기술한 "부분전체선택방법" 혹은 "반 복선택방법(기준/단순)" 모두 적용될 수 있다. 특정 버튼의 기준격자의 위치에 다음단어컨트롤이 배치되어 있는 것으로 한다면, 그 특정 버튼 1타로 다음단어컨 트롤이 선택될 것이다.
6. 심플코드 활용방법 및 단축입력방법/병행입력방법
6.1 알파벳 연관 심플코드 생성방법
정보통신 단말기를 사용하여 정보시스템에 접근할 경우 알파벳의 입력이 필 수적이다. 혹은 입력하여야 할 알파벳을 숫자코드화 하여 입력할 수 있다. 소형 화된 정보통신 단말기에서는 보통 키패드 형태의 인터페이스를 채용하고 있는 경 우가 많다. 여기서 말하는 코드란 모든 종류의 코드를 말하는 것으로 대표적인 예를 들면 전화번호, 증권종목(상장회사)코드, 도시코드, 부서코드, 전철역코드, 은행코드 등 헤아릴 수 없이 많다. 각종의 명칭을 코드화하여 입력하는 잇점은 입력을 단순화 할 수 있다는 것이다.
정보통신 단말기란 PC, 이동통신기기, 스마트폰, PDA, 양방향 문자 송수신 기기, ATM기(자동 입출금기) 등 모든 형태의 정보통신 단말기를 포함한다. 뿐만 아니라 전자수첩과 같이 통신기능이 없는 단말기까지 망라한다. 정보시스템이란 GUI통하여 시각적으로 접근할 수 있는 시스템뿐만 아니라 ARS와 같이 소리로만 접 할 수 있는 시스템 등 모든 형태의 시스템을 포함한다. 또한 시스템은 좁게는 서 버측 시스템을 의미하며, 넓게는 서버 시스템과 호응하는 단말기의 클라이언트 소 프트웨어도 포함한다.
키패드상 배치된 알파벳을 이용하여 각종 코드의 암기용으로 유용하게 사용 할 수 있다. 코드의 암기용으로 사용함에 있어서, 심플네이밍, 이니셜네이밍, 풀 네이밍에 의한 방법이 있을 수 있다. 그 내용을 간단히 요약하면 다음과 같다.
심플네이밍은 코드화 하고자 하는 단어 혹은 구절(단어 혹은 구절을 통칭하 여 이하에서 간단히 "어구"라 함)과 연관된 숫자를 코드로 지정하는 것이다. 예 를 들어, 한국어의 경우, 기업명코드의 경우, 도4-2을 기준으로 "가산전자"의 코 드를 ㄱ, ㅅ, ㅈ, ㅈ 과 연관된 "1799"를 심플코드로 하는 것이다. 이 경우 "가 산전자"에서 심플코드 "1799"와 연관된 ㄱ, ㅅ, ㅈ, ㅈ 을 부각하여 표시함으로써 특정 단어의 심플코드를 더욱 쉽게 알 수 있도록 할 수 있으며, 더 나아가 그러한 어구로 부터 심플코드를 추출해 낼 수도 있다. 심플네이밍의 경우 코드화 하고자 하는 단어에 속한 어떤 알파벳과 연관된 숫자를 코드로 정하는 것이므로, 예로 든 "가산전자"의 코드를 반드시 "1799"로 할 필요는 없다. 예를 들어 "주식이란"의 심플코드를 ㅈ, ㅅ, ㅣ, ㄹ 과 연관된 값을 심플코드로 할 수 있듯이, 가산전자의 경우 다른 예를 들면, ㄱ, ㅅ, ㄴ, ㅈ 과 연관된 "1729"로 할 수도 있고, ㄱ, ㅅ, ㅓ, ㅈ 과 연관된 "1749"로 할 수도 있고, "가산전자"를 구성하는 전체 알파벳과 연관된 "13294293"으로 할 수도 있다. 어구를 구성하는 전체 알파벳과 연관된 코 드를 심플코드로 하는 것을 편의상 "전체연관 심플네이밍"이라고 하고 특정 어구 의 일부 알파벳과 연관하여 심플코드를 지정하는 것을 편의상 "일부연관 심플네이 밍"이라고 부른다. 어떤 경우이든 심플네이밍(즉 심플코드)은 어구단위로 그 어 구를 구성하는 알파벳에 연관되어 코드를 지정하는 것으로 볼 수 있다. 이는 한 국어 이외의 언어에도 마찬가지로 적용할 수 있다. 예를 들어 "captain"에서 자 음 "CPTN" 과 연관되는 "2786"를 심플코드로 할 수 있는데 이는 일부연관 심플코 드이며, 이를 특히 편의상 "자음연관 심플코드"라고 부르기로 한다.
"escape"와 같이 모음으로 시작하는 단어에 대하여 자음연관 심플코드를 생 성하면, "SCP"에 해당하는 "727"이 되는데, 이는 "scape"의 자음연관 심플코드와 동일하게 된다. 따라서 축약된 심플코드를 사용하되, 정의되는 심플코드와 심플 코드 대응어구의 중복을 최소화하고, 사용상의 편리를 더하기 위하여 첫모음과 자 음을 연관한 심플코드를 생각할 수 있다. 이를 편의상 "첫모음+자음기준 심플코 드"라 이름붙인다. 이러한 첫모음+자음연관 심플코드 역시 다른 심플코드와 마찬 가지로 특정 단어에 대하여 심플코드를 기계적으로 생성해 낼 수 있는 장점이 있 다.
단어뿐 아니라 구절 역시 심플네이밍에 의하여 코드화될 수 있다. 선출원 에서 예를 든 "어디로 가려는가"라는 어구에서 의미를 가장 잘 함축하고 있는 글 자(음절)을 활용하여 ㅇ, ㄷ, ㄱ, ㄹ 에 매핑되는 "8314"를 심플코드로 할 수 있 다. 영어의 경우 선출원에서 예를 든 "date tonight" 에서 음가를 가지고 있는 d, t, t, n 에 연관되는 "3886"을 심플코드로 할 수 있다.
이니셜네이밍은 일부연관 심플네이밍의 특별한 경우이다. 한국어의 경우 이니셜네이밍은 음절(글자)을 기준으로 초성(첫자음)에 매핑되는 숫자를 코드로 지정하는 방법이 있을 수 있다. 이를 편의상 "음절(글자)기준 이니셜네이밍"이라 고 한다. "가산전자"의 경우 음절기준 이니셜네이밍에 의한 이니셜코드는 각 음 절(글자)의 자음초성에 연관된 "1799"가 된다. 음절기준 이니셜네이밍의 경우도 한국어 이외의 언어에 대해서도 적용할 수 있다. 예를 들어 영어의 경우, "entertainment" 라는 단어의 음절기준 이니셜네이밍에 의한 이니셜코드를 e, t, t, m 에 연관되는 "3886"으로 할 수 있다. 음절기준 이니셜네이밍은 한 음절이 하나의 글자를 이루는 한국어의 경우에 더욱 유용하게 사용될 수 있다. 한국어 뿐만 아니라 한국어와 마찬가지로 한 음절이 하나의 글자를 이루는 중국어, 일본 어 등의 다른 언어에 있어서도 유용하게 사용될 수 있다. 중국어의 경우 北京 (Beijing : 첫번째 ‘e’에는 4성조부호가, 마지막 ‘i’에는 2성조부호가 붙음) 의 음절기준 이니셜코드는 도1-1을 기준으로 b, j 에 연관되는 “25”가 되며, 도 10-1 ~ 10-4 를 기준으로는 “14”가 된다.
마찬가지로 구절에 대해서도 이니셜 네이밍이 가능한데, 선출원에서 예를 든 "어디로 가려는가" 라는 구절에서 각 단어의 첫 알파벳인 ㅇ, ㄱ 과 연관된 "81"을 이니셜 코드로 할 수 있다. 영어의 경우 선출원에서 예를 든 "dance with the wolf" 라는 어구에 대하여 단어기준 이니셜네이밍의 이니셜코드는 d, w, t, w 와 연관된 "3979"가 이니셜코드가 된다. 단어기준 이니셜네이밍은 구절 전체에 대하여 코드를 부여할 경우 모든 언어에서 유용하게 사용될 수 있다.
심플코드(전체연관 심플코드 부분연관 심플코드)와 이니셜코드(음절기준 이 니셜코드, 단어기준 이니셜코드)를 통틀어 편의상 "심플코드(즉 넓은 의미의 심플 코드)" 혹은 "단축코드"라고 부르기로 한다. 전체연관 심플코드, 자음연관 심플 코드, 음절기준 이니셜코드, 단어기준 이니셜코드는 특히 그 코드 생성에 있어서 규칙성이 있으므로, 이를 범용하게 사용할 수 있으며, 타인이 그러한 규칙으로 심 플코드를 생성해 놓은 경우에도 쉽게 사용할 수 있다.
풀네이밍은 특정 문자입력방법에 의해 코드화하고자 하는 어구의 입력값이 다. 따라서 이는 적용되는 문자입력방법에 따라 달라질 수 있으며, 알파벳단위로 어떤 어구에 해당하는 숫자값을 코드로 하는 것으로 볼 수 있다. 선출원에서 예 를 든 "서울"의 경우 도4-2을 기준으로 부분전체선택방법(선출원에서 언급)에 의 한 풀코드는 "7745888944"가 된다. 만약 기준반복선택방법(선출원에서 언급)에 의한 풀코드는 "7448884" 가 된다. 만약 도4-2와 다른 키패드를 적용하거나 또 다른 알파벳 입력방법을 적용할 경우는 그에 따른 풀코드 값이 있게 될 것이다.
6.2 기존의 중국어 한자 입력방법
중국어의 입력 방법은 한글에서의 한자 입력방법과 같이, 중국어 발음에 해 당하는 영문을 입력하고 "한자 변환키"를 사용하여 변환가능한 한자가 되시되면 해당하는 한자를 선택하여 입력하는 것이 일반적인 형태이다. 즉, 로마알파벳으 로 한어병음을 입력하면, 시스템에서 이에 대응되는 한자를 검색하여 사용자에게 제공하는 방식이었다. 도5-1을 참고한다. 중국어에 있어서 풀코드는 중국어의 영어발음을 기준으로 정할 수 있다.
6.3 유니크化 심플코드
심플코드의 해독이 클라이언트측에서 이루어질 수 있는 경우(즉, 클라이언 트측에서 특정 어구와 그 특정어구에 해당하는 심플코드값을 가지고 있는 경우)는, 입력된 심플코드에 대응하는 어구를 서버측에 전달할 수 있다. 클라이 언트측에서 심플코드를 해독할 수 있는 경우에도 어플리케이션의 성격에 따라 서 버측에서 심플코드를 요하는 경우는 심플코드자체(즉, 숫자나열)를 서버측으로 전 송하면 된고 서버측에서 이 심플코드를 해석하면 된다. 이것이 심플코드의 해독 이 클라이언트측에서 혹은 서버측에서 이루어질 수 있다고 한 것이다.
다수의 어구에 대하여 심플코드를 정의하여 사용할 경우, 동일한 심플코드 에 대응되는 어구가 다수 존재할 수 있다. 이렇게 심플코드간에 발생할 수 있는 모호성을 편의상 "2차모호성"이라 한다. 이 경우 시스템내부에서는 동일한 값을 갖는 심플코드에 일련번호를 덧붙여 유일한 코드값을 만들어 저장할 수 있을 것이 나, 사용자는 주로 특정 어구와 연관된 심플코드를 사용하게 되므로 2차모호성이 발생하게 된다. 이러한 경우, 그러한 어구들을 사용 우선순위에 따라 시스템이 사용자에게 추천하여 줄 수 있어야 함은 당연하다. 다른 어구이면서 동일한 심플 코드를 갖는 경우, 시스템내부에서 심플코드에 어구의 사용빈도에 따른 우선순위 에 따라 일련번호를 붙이므로써, 일련번호를 사용자에게 추천하여 주는 우선순위 로 활용할 수 있다. 물론 반드시 일련번호를 붙여야만 하는 것은 아니고, 우선순 위 정보를 시스템이 별도로 가지고 있어도 되며, 단지 그렇게 할 수 있는 예를 보 인 것이다.
예를 들어, "증권정보"의 심플코드를 음절기준이니셜코드인 "9196" 과 "주 권정보"의 심플코드를 역시 음절기준이니셜코드인 "9196"로 같다면 각 단어의 상 용빈도에 따라 일련번호를 붙이고 그 일련번호를 사용자에게 추천하여 주는 우선 순위로 사용할 수 있다. "증권정보"의 사용빈도가 높다면 그에 우선순위를 주어 "증권정보" = "91961"으로 하고, "주권정보" = "91962"로 할 수 있다. 마찬가지 로 先生(xiansheng : 모음 a 가 제1성조)과 學生(xuesheng : 첫번째 e 가 제2성조)의 음절기준 이니셜코드가 “97”로써 같다면, 각 단어의 사용빈도에 따 라 일련번호를 붙여 그 일련번호를 우선순위로 활용할 수 있다. 先生(xianshen g)의 사용빈도가 學生(xuesheng)의 사용빈도보다 더 높다면, 先生(xiansheng) = 971 로 하고, 學生(xuesheng) = 972 로 할 수 있는 것이다. 이렇게 일련번호를 덧붙여 생성된 심플코드를 편의상 "유니크化 심플코드"라 하기로 하고, 일련번호 를 붙이지 않고 중복성이 있는 심플코드를 단순히 "심플코드"라 하며, 양자를 모 두 포괄하여 역시 "심플코드"라 한다.
先生(xiansheng)과 學生(xuesheng)의 예에서, 사용자가 “97”만을 입력하 면, 시스템이 先生(xiansheng)과 學生(xuesheng)을 사용자에게 제공하고, 사용자 가 이중 선택하도록 할 수 있으며, 사용자가 처음부터 이를 인지하고 "971"을 입 력하였다면, 시스템에서는 이를 " 先生(xiansheng)"으로 인식할 수 있는 것이다.
여기서 음절기준 이니셜코드의 기초로 사용된 "x, s”를 부각하여 표시함으 로써, 사용자에게 시각적으로 더 좋은 효과를 줄 수 있다. 부각하여 표시하는 방 법 중의 한가지는 先生(XianSheng)와 같이 대문자로 표시하는 것이다. 더 이렇게 대문자로 표시된 단어로부터 시스템이 심플코드 “97”을 해석해 낼 수도 있다.
6.4 심플코드의 활용 사례
도시이름에 대하여 심플코드(음절기준이니셜코드)를 부여한 사례를 들면 다 음과 같다. 이는 철도 정보시스템 등에서 유용하게 쓰일 수 있다.
. 서울 = 78, 수원 = 78, 대전 = 39, 신탄진 = 739, . . .
여기서 서울과 수원의 음절기준 이니셜코드가 같으므로, 시스템내에서는 이 를 회피하기 위하여 연번을 붙여 "서울 = 781", "수원 = 782" 와 같이 심플코드를 유니크화할 수 있다. 사용자가 시스템에 "78"만을 송출하면 시스템에서는 적절하 게 피드백을 주어(예를 들어 서울과 수원의 목록을 제공 혹은 음성으로 알려줌), 사용자로 하여금 서울과 수원중의 하나를 선택하도록 하면된다. 사용자가 처음부 터 이를 인지하고 "781"을 입력하였다면, 시스템에서는 이를 "서울"로 인식할 수 있는 것이다.
만약 서버측 시스템에서 심플코드 "78"을 필요로하는 것이 아니고 "서울"이 라는 단어 자체를 필요로 하면, 클라이언트측에서 심플코드 "78"을 해석하여 "서 울"을 서버측으로 전송하면 된다. 혹은 클라이언트측에서 심플코드를 해석할 수 있는 경우라 하더라도, 애플리케이션의 성격에 따라 서버측에서 심플코드 자체를 필요로하면, 입력된 심플코드 자체를 서버측으로 송출하면 된다.
도시이름에 대하여 심플코드(전체연관 심플코드, 음절기준 이니셜코드, 자 음연관 심플코드, 첫모음+자음연관 심플코드)를 부여하는 다른 예를 들면, 도1- 1을 기준으로, 北京(Beijing)의 음절기준 이니셜코드는 b, j 에 연관된 “25”가 되고, 전체연관 심플코드는 “2345464”이 되고, 자음연관 심플코드는 b, j, n, g 에 연관된 “2564”가 된다.
다시 증권종목(상장회사)의 예를 들면 다음과 같다. 이는 각종 증권 정보 시스템에서 유용하게 쓰일 수 있다.
. 동화제약 = 3098, 디지틀조선 = 39397, 한통프리텔 = 83643, . . .
여기서 예를 들어 "디지털조선"의 경우 음절기준 이니셜코드의 기초로 사용 된 "ㄷ, ㅈ, ㅌ, ㅈ, ㅅ"을 부각하여 표시함으로써, 사용자에게 시각적으로 더 좋 은 효과를 줄 수 있다.
은행코드의 예를 들면 다음과 같다. 이는 ATM기 및 각종 금융 정보시스템 에서 유용하게 쓰일 수 있다.
. 국민(은행) = 14, 하나(은행) = 82, . . .
여기서 이렇게 기 정의된 심플코드를 사용자가 입력시 클라이언트(단말기) 측에서 해석하여 사용자에게 보여줌으로써 어구입력에 활용할 수 있음은 자명하다. 이를 "단축입력방법"이라 하며, 다음에 "병행입력방법"과 더불어 상세 히 설명한다.
6.5 선택빈도에 따른 우선순위 자동 재지정
더 나아가 최초 "증권정보"와 "주권정보" 의 우선순위가 각각 1, 2위로 지 정되어 있었으나, 특정 사용자가 "주권정보"를 선택하는 횟수가 현저하게 많다면, "주권정보"의 우선순위를 "증권정보"의 우선순위보다 높은 것으로 조정할 수 있다. 설명한 대로 다양한 방법이 있으나 일련번호를 바꾸어 이를 실현할 수 있 다. 우선순위 정보를 별도로 시스템에서 가지고 있는 경우는 그 우선순위 정보를 변경함으로써 가능하다.
"주권정보"를 선택하는 횟수가 현저하게 많은지 여부의 판단기준은 시스템 이 결정할 수도 있고, 사용자가 (재)지정할 수도 있다. 이러한 판단기준의 예를 들면, 10회 중 8번 이상 기 지정된 우선순위와 다르게 선택하면, 기존 우선순위를 자동으로 정정하도록 할 수 있다. 옵션에 따라 사용자에게 정정여부를 물어 확인 받을 수도 있다.
이는 다른 언어에 있어서도 동일하게 적용될 수 있으며, 위 사례에서 “주 권정보”와 “증권정보”를 각각 “先生(xiansheng)”과 “學生(xuesheng)”으로 바꾼 경우에도 동일하게 생각할 수 있다.
6.6 심플코드 자동지정 및 심플코드 연관 알파벳의 부각 표시
특히 전체연관 심플코드 이외에 자음연관 심플코드, 음절기준 이니셜코드, 단어기준 이니셜코드는 전술한 바와 같이 심플코드 생성에 있어서 규칙성이 있으 므로, 사용자가 특정 어구에 대한 심플코드 지정시, 심플코드 생성규칙을 지정한 상태에서 특정 어구를 입력하면 그에 대응되는 심플코드를 자동으로 추출하여 시 스템에 저장할 수 있다. 또한 심플코드와 연관되는 알파벳을 부각하여 표시하여 줌으로써, 사용의 편리성을 높일 수 있다. 영어의 경우 심플코드와 연관되는 알 파벳을 부각하여 표시하는데, 대문자를 사용하여 부각하여 표시할 수 있다.
또한 선출원에서 "단축입력방법" 및 "단축/풀 병행입력방법"을 제시한 바 있다. 단축입력을 위한 심플코드는 시스템에서 정의하여 줄 수도 있고, 사용자가 이를 변경할 수도 있고, 또한 사용자는 새로운 어구에 대한 심플코드를 지정할 수 도 있다.
새로운 어구에 대한 심플코드를 정함에 있어서, 선출원에서 소개한 전체연 관심플코드, 부분연관심플코드, 자음연관심플코드, 음절기준이니셜코드, 단어기준 이니셜코드 등의 심플코드 생성규칙을 활용할 수 있다. 예를 들어, 사용자가 "dance with the wolf"에 대한 심플코드를 생성함에 있어서, 단어기준 이니셜코드 를 심플코드로 사용하고자 한다면, 심플코드 생성모드에서 "dance with the wolf" 를 입력하고, 그에 대한 단어기준 이니셜코드인 "3983"를 입력하여야 한다. 마찬 가지로 "증권정보"에 대한 심플코드를 생성함에 있어서, 음절기준이니셜코드를 심 플코드로 사용하고자 한다면, 심플코드 생성모드에서 "증권정보" 를 입력하고, "9196"을 입력하여야 한다.
그러나 만약 사용자가 특정 어구에 대하여 심플코드를 지정함에 있어서, 사 용자가 원하는 심플코드의 유형을 시스템에 기억시키고 심플코드를 생성하고자 하 는 어구를 입력함으로써, 굳이 특정 어구에 대한 코드를 입력하지 않고도 심플코 드가 자동적으로 지정되도록 할 수 있다. 위의 예에서 음절기준 이니셜코드를 사 용한다는 것을 시스템에서 설정하고, "증권정보"만 입력함으로써 "증권정보"에 대 한 심플코드가 자동으로 "9196"으로 지정되도록 할 수 있는 것이다. 마찬가지로 음절기준 이니셜코드를 사용한다는 것을 시스템에서 설정하고, 先生(xiansheng)을 입력함으로써 先生(xiansheng)에 대한 심플코드가 자동으로 “97”로 지정되도록 할 수 있는 것이다.
영어의 경우는 심플코드로 사용하고자 하는 알파벳을 부각하여 표시함에 있 어서 대문자를 사용할 수 있다고 하였다. 따라서 심플코드 지정방식을 대문자를 심플코드로 사용하는 것으로 미리 지정하고, "DaTe ToNignt" 입력시 자동으로 대 문자 "DTTN" 에 대응되는 "3886"이 심플코드로 지정되도록 할 수 있고 혹은 "ToNignt ShoW" 입력시 자동으로 대문자 "TNSW"에 대응되는 "8679"가 심플코드로 지정되도록 할 수 있다.
6.7 심플코드를 활용한 어구의 단축입력방법 및 병행입력방법
심플코드(이니셜코드는 심플코드의 특별한 경우이므로 특별히 따로 언급하 지 않는 한 심플코드에 포함되는 것으로 함)를 입력시 시스템(클라이언트측 시스 템 혹은 서버측 시스템)에서 그 심플코드에 대응되는 어구로 인식하여 처리하는 것이 가능하다. 따라서 특정 심플코드에 대응되는 어구를 인식하여 사용자에게 다시 보여주면 이를 단어의 입력에도 활용할 수 있음은 당연하다.
실제로 외국의 알파벳 입력방법에서는 단어별로 "전체연관 심플코드"를 부 여한 색인을 단말기(클라이언트측 시스템)에 저장하고 있으면서, 사용자가 코드 입력시 그에 대응되는 단어를 단어별 우선순위에 따라 보여주고 타겟단어를 확정 할 수 있도록 함으로써 문자입력시스템을 구현하고 있다. 이에 대해서는 http://www.tegic.com 과 http://www.zicorp.com 의 두 인터넷 사이트를 참고할 수 있다. 이러한 방법을 편의상 본 발명에서는 "전체연관 단축입력방법" 혹은 " 외국의 방법"이라고 하기로 한다. 혹은 이러한 접근방법을 사용하는 대표적인 입 력시스템이 Tegic 사의 “T9” 이므로 “T9유사 입력방법(T9LIM : T9 Like Input Method)”이라 부르기로 한다. 도5-2는 Tegic사의 T9 시스템에서의 입력사례를 보여준다. 도5-2에서와 같이 사용자가 meet 를 입력하기 위하여 “622 …”을 입 력하면 처음에는 시스템이 사용자에게 “off”를 제공하나, “6228” 이 입력되면, “meet”가 표시된다.
Tegic社와 Zi社의 방법을 출원인이 제시하였던 키패드에서의 알파벳 입력방 법과 비교하면, 출원인의 알파벳 입력방법은 알파벳 단위로 유니크한 코드를 부여 하고, 풀코드에 의하여 타겟알파벳 혹은 타겟어구를 입력할 수 있도록 한 것이고, 위에서 언급한 외국의 방법은 단어단위로 전체연관 심플코드를 부여하고, 그 심플 코드에 의하여 타겟단어를 입력할 수 있도록 한 것이다.
외국의 방법의 단점은 단어단위로 코드를 부여함으로써 미리 정의된 단어만 을 입력할 수 있는 점, 다른 단어이면서 같은 코드를 가지는 경우 자주 사용되지 않는 단어의 입력을 위하여 토글버튼 혹은 이동버튼을 이용하여 타겟단어를 선택 하고 확정함으로써 입력이 용이하지 않다는 점, 입력시 타겟단어가 아닌 단어가 일시적으로 출현할 수 있는 점, 시스템의 저장용량을 많이 차지하고 구현에 많은 비용이 소요된다는 점 등이 있다.
여기서 상용어구(상용단어 혹은 상용구절을 모두 포함하는 개념)에 대하여 심플코드(일부연관 혹은 전체연관)를 부여하고, 심플코드를 이용하여 타겟어구를 입력할 수 있음을 지적한다. 상용어구에 대한 심플코드는 시스템에서 기 정의되 어 사용자에게 제공될 수도 있고 사용자가 임으로 지정할 수 있어야 함은 물론이 다. 혹은 시스템에서 기 정의한 심플코드를 사용자가 임의로 수정할 수 있어야 한다. 사용자가 임으로 지정할 수 있는 것은 특정 상용어구에 대한 심플코드값을 사용자가 쉽게 알 수 있는 장점이 있다.
본 발명에서 심플코드(부분연관 심플코드, 전체연관 심플코드, 이니셜코드 모두 포함)를 이용하여 타겟어구를 입력하는 방법을 편의상 "단축입력방법"이라고 하며, 풀코드에 의하여 타겟알파벳을 입력하는 방법을 편의상 단축입력방법에 대 비하여 "풀입력방법"이라고 한다. 또한 다음에서 설명하는 바와 같이 단축입력방 법과 풀입력방법을 병행하여 적용할 수 있으며, 이렇게 단축입력방법과 풀입력방 법을 병행하여 적용하는 방법을 편의상 "단축/풀 병행입력방법" 혹은 간단히 "병 행입력방법" 이라고 부르기로 한다.
알파벳 단위로 유니크한 코드를 부여하고 그 코드를 입력하여 타겟알파벳을 입력할 수 있도록 하는 풀입력방법 중에서 특히 반복선택방법을 사용함으로써 발 생하는 모호성을 편의상 "1차 모호성" 혹은 "알파벳모호성"이라 부르기로 한다. 반면에 외국의 방법에서처럼 모든 단어에 대하여 코드를 부여하고, 이 코드를 통 하여 타겟단어를 입력할 수 있도록 하는 방식에서, 같은 코드에 대하여 서로 다른 여러 단어가 존재하는 모호성이 있는데, 이를 편의상 "2차 모호성" 혹은 "어구모 호성"이라 부르기로 한다. 본 발명에서 단순히 모호성이라고 하면 1차모호성을 의미한다.
특정 입력값에 대하여 1차적으로 심플코드로 해석하고(즉 1차적으로 단축입 력방법을 적용 혹은 기본입력모드로 단축입력모드 적용), 입력값에 대응되는 심플 코드가 없으면, 2차적으로 풀코드로 인식(즉 2차적으로 풀입력방법을 적용)하는 등의 시나리오 구성이 가능하며, 반대로 입력값에 대하여 1차적으로 풀코드를 이 루는지 검사하고(즉 1차적으로 풀입력방법을 적용 혹은 기본입력모드로 풀입력모 드 적용), 풀코드를 형성하지 못하면 심플코드로 인식(즉 2차적으로 단축입력방법 을 적용)하는 등의 시나리오가 가능하다. 입력값에 대하여 1차적으로 심플코드로 해석하는 것은 기본입력모드로 "단축입력모드"를 적용하는 것으로 볼 수 있으며, 반대로 1차적으로 풀코드로 해석하는 것은 기본입력모드로 "풀입력모드"를 적용하 는 것으로 볼 수 있다. 문자입력에 있어서 상용어구를 위주로 사용하는 사용자는 1차적으로 단축입력방법이 적용(즉 기본입력모드로 단축입력모드 사용)되도록 하 는 것이 바람직하고, 그렇지 않은 사용자는 1차적으로 풀입력방법이 적용(즉 기본 입력모드로 풀입력모드 사용)되도록 하는 것이 바람직할 것이다.
여기서 기본입력모드를 풀입력모드로 설정한 경우, 입력값에 대하여 1차적 으로 풀코드로 간주하여 해석하므로, 심플코드가 입력된 경우에도 그 입력값이 풀 코드를 형성할 수 있으며, 사용자가 원하는 타겟단어가 아닌 다른 단어가 입력될 수 있다. 예를 들어, 도4-2에서 풀입력방법으로 기준반복선택방법을 적용할 경우, "옥수수" 라는 단어의 심플코드를 "877"로 하고(음절기준 이니셜코드 사 용), 이를 입력시 1차적으로 풀코드로 간주하므로 이를 "여"로 인식할 수 있는 것 이다. 이는 "옥수수", "옥수수를", "무진장", "와르르", "우수수", "와장창", " 우당탕" 등과 같이 2, 3번째 글자의 초성이 동일한 버튼에 대응되는 경우에 있게 된다. 반대로 기본입력모드로 단축입력모드로 설정한 경우, 입력값에 대하여 1차 적으로 심플코드로 간주하여 해석하므로, 풀코드가 입력된 경우에도 타겟단어가 아닌 다른 단어로 인식될 수 있다. 즉 이는 심플코드와 풀코드간의 모호성인데, 이를 편의상 "3차모호성"이라고 부르기로 한다.
이러한 3차모호성의 경우도, 기존의 방법과 유사하게 토글방법 혹은 리스트 에서 선택하는 방법으로 극복할 수 있다. 혹은 다른 방법이 있을 수 있는데, 이 러한 모호성이 발생할 수 있는 입력값을 입력하기 전에 단어단위로 풀입력모드에 서 단축입력모드로 혹은 단축입력모드에서 풀입력모드로 전환할 수 있도록 하는 것이다. 이는 출원인의 선출원에서 제시한 바 "아/아"컨트롤을 두어 단어단위의 히라가나/가타가나 전환 컨트롤을 두고 이를 선택함으로써, 히라가나모드에서 가 타가나 한 단어를 입력하거나 혹은 가타가나 모드에서 히라가나 한 단어를 입력할 수 있도록 하는 것과 유사한 것이다. 예를 들어, 기본입력모드가 풀입력모드인 경우, "단축/풀" 컨트롤을 두고 이를 선택한 후 입력되는 입력값에 대하여, 시스 템은 이를 처음부터 심플코드로 인식하고 색인을 참조하여 입력값에 해당하는 타 겟단어를 사용자에게 제공할 수 있는 것이다. 단축입력모드를 기본입력모드로 사 용하는 경우에도 마찬가지로 "단축/풀" 컨트롤 선택후 입력되는 입력값을 처음부 터 풀코드로 인식하여 처리할 수 있다. "단축/풀" 컨트롤은 마찬가지로 타겟단어 에 대하여 선입력될 수도 있고 후입력될 수도 있으나, 이 경우는 선입력하도록 하 는 것이 편리할 것이다.
병행입력방법 적용시의 입력값이 풀코드인지 심플코드인지의 판단은 앞에서 1차모호성을 제거하기 위하여 색인을 참조하는 것처럼 단어단위로 이루어질 수도 있고, 다음과 같이 입력중간에 입력값이 풀코드인지 심플코드인지 판단될 수도 있 다.
풀입력방법을 기본모드로 하고 병행입력방법을 적용시, 하나하나의 코드입 력시마다, 입력값이 풀코드를 형성하는지 조사하여 풀코드를 형성하지 못하는 것 으로 판단되는 시점에서 입력값을 심플코드로 판단하여 심플코드 색인을 참조하여 그에 대응되는 어구를 사용자에게 보여줌으로써 병행입력방법의 효율을 배가시킬 수 있다. 단축입력방법을 기본모드로 병행입력방법을 적용할 경우도 마찬가지로 하나하나의 코드입력시마다 입력값과 색인을 비교하여 색인에 있는 입력값과 일치 하는 단어가 없는 것을 확인하는 순간 이를 기 설정된 풀입력방법의 풀코드로 판 단하여 처리할 수 있다. 이는 입력중간에 발생하는 3차 모호성을 각각의 풀입력 방법에서의 규칙을 적용하여 입력초기에 제거할 수 있음을 의미한다. 이는 풀입 력방법으로 선출원에서 제시하지 않은 알파벳입력방법을 사용할 경우도 마찬가지 로 적용될 수 있다. 선출원에서 제시하였던 풀입력방법(기준반복선택방법, 부분 전체선택방법)을 기준으로 예를 들면 다음과 같다.
한국어의 경우 예를 들면, 풀입력방법으로 도4-2을 기준으로 기준반복선택 방법을 적용하였을 경우, 풀코드에 의한 모든 음절의 2번째 입력값과 3번째 입력 값은 항상 같은 값을 가져야 하므로 이러한 조건에 위배되는 경우 입력값을 심플 코드로 판단하여 처리할 수 있다. 쌍자음을 기본자음의 조합으로 처리하는 것을 허용하는 경우는 그에 따른 판단기준을 적용할 수 있다. 이는 기준반복방법을 적 용하는 모든 경우에 적용가능하다.
또한 모든 언어에 있어서, 풀입력방법으로 부분전체선택방법을 적용시, 하 나의 알파벳에 2개의 입력값이 대응되며, 그 2개의 입력값 중 1번째 입력값에 대 하여 2번째 입력값은 제한되어 있다. 예를 들어, 영어의 경우 도1-1에서와 같이 좌우직선조합만을 사용하는 경우, 숫자를 부분전체선택방법으로 선택하지 않도록 하면, 첫번째 행의 버튼([1], [2], [3])이 하나의 알파벳에 대응되는 1번째 입력 값으로 사용되었을 경우 2번째 입력값으로 올 수 있는 값은 역시 1번째 행의 버튼 ([1], [2], [3])인 것이다. 마찬가지로 [2]+[1] 이 입력되고 나서 다시 두번째 행의 버튼([4], [5], [6])이 입력되면, 풀코드를 형성하기 위하여 다음에 올 수 있느 값은 역시 두번째 행의 버튼([4], [5], [6]) 중의 하나인 것이다. 입력값이 이를 위배하는 순간 시스템에서는 입력값을 심플코드로 간주하고, 그 심플코드에 대응되는 단어를 사용자에게 우선순위에 따라 추천하여 줄 수 있는 것이다. 예를 들어 도5-3에서와 같이 부분전체선택방법을 풀입력방법으로 하고, 풀입력방법을 기본입력모드로 하는 병행입력방법에서, 사용자가 “help”의 심플코드를 4357 입 력시, 2번째 입력값 3이 입력되는 순간 입력값이 풀코드를 이루지 못하는 것을 시 스템이 인식하고, 입력값을 심플코드로 간주하여 처리할 수 있는 것이다.
만약 도4-2에 대하여 부분전체선택방법을 적용한다면, 풀코드를 형성하기 위하여 최초 [1] 버튼의 입력에 대하여 올 수 있는 다음 버튼은 [1] 또는 [2] 버 튼 밖에 없다. 이를 위배하였을 경우 입력값이 풀코드가 아닌 심플코드인 것으로 판단하여 색인을 참조하여 입력값에 대응되는 타겟단어를 우선순위에 따라 사용자 에게 추천하여 줄 수 있다. 도1-3에서와 같이 P, Q, R, S 의 4개 알파벳이 [7] 버튼에 배정되는 경우, 선출원에서 지적한 바와 같이 4개의 알파벳 중 하나의 알 파벳을 상하인접조합을 이루는 격자에 배치할 수 있으며, 이 경우에도 하나의 알 파벳을 위한 풀코드를 이루기 위하여 [7] 버튼이 입력되면 다음에 올 수 있는 버 튼은 3번째 행의 버튼([7], [8], [9]) 혹은 상하인접조합의 버튼([4] 버튼)만이 올 수 있으므로, 이에 위배되는 경우 입력값을 심플코드로 처리할 수 있다. 이는 선출원에서 제시한 부분전체선택방법을 적용하는 경우에 모든 언어에 대하여 적용 가능하다.
예를 들어 도1-1을 기준으로한 심플코드 색인에 北京(Beijing)의 심플코드 가 음절기준 이니셜코드로써 “25”이 저장되어 있는 상태에서, 풀입력방법으로 부분전체선택방법을 사용하고, 풀입력모드를 기본입력모드로 하여, 사용자가 “25 ”을 입력하였을 경우, 시스템은 처음(단어시작시점 부터) [2] 입력 후 [5]가 입 력되는 순간 입력값 “25”가 풀코드를 이룰 수 없는 것([2] 다음에 올 수 있는 좌우직선조합의 버튼은 [1], [2], [3] 중의 하나이므로)을 인식하고, 심플코드 색 인을 참조하여 입력값 “25”에 대응되는 “北京” 을 사용자에게 제공할 수 있는 것이다. 중국어의 경우 특별히 예시한 심플코드 “25”에 대응하는 어구로 한자 (漢字, 즉 北京)를 사용자에게 제공할 수 있다(한자 “北京”이 타겟단어이므로). 중국어가 아닌 소리문자를 사용하는 언어에 있어서는 심플코드 “25”에 대응하는 “Beijing”를 시스템이 사용자에게 제공하게 될 것이다. 심플코드 “25”에 대 응하는 어구가 여러 개 있다면, 목록의 형태로 제공되거나 특정버튼을 반복하여 누름으로써(토글방식에 의하여) 사용자가 원하는 어구를 선택하도록 할 수 있다.. 도5-4를 참고한다.
결국 도5-4와 같이 병행입력방법을 적용하는 것은 “北京(Beijing)”과 같 이 자주 사용하는 단어에 대한 심플코드를 색인에 등록하여 두고, 일반적인 풀입 력방법과 단축입력을 모드전환없이 병행하되, 심플코드로 등록된 단어를 입력시 적은 타수로 입력할 수 있도록 하는 것이다.
도4-5의 경우는 버튼당 기본자음이 하나씩만 배정되어 있으므로, 한국어에 서 범용하게 사용할 수 있는 음절기준 이니셜코드를 심플코드로 사용할 경우, 단 축입력방법과 풀입력방법을 병행하여 적용시에도 3차 모호성 없이 입력이 가능한 좋은 특성이 있다. 즉 병행입력방법 적용시 사용자가 음절기준 이니셜코드를 입 력하면, 2번째 입력(경음, 격음을 컨트롤처리방법에 의하여 입력할 경우)부터 입 력값이 풀코드를 이룰 수 없게 되므로, 심플코드의 색인을 검색하여 우선순위에 따른 적절한 단어를 사용자에게 추천하여 줄 수 있는 것이다. 풀코드 입력의 경 우도 같다.
위에서 예를 든 바와 같이, 병행입력방법 적용시 입력중간에 입력값이 심플 코드인지 풀코드인지 판단할 수 있는 것이 본 발명의 "핵심"중의 하나이다. 이는 출원인이 제시한 풀입력방법을 사용하는 경우 뿐만이 아니라 다른 풀입력방법을 사용하는 경우에도 적용된다. 한가지 예를 예를 들면, 각 알파벳이 배정된 제1버 튼과 제1버튼에서의 알파벳의 순위에 해당하는 제2버튼을 조합하여 알파벳을 입력 하는 방법이 있었다. 즉, 도1-1에서 P = [7]+[1] 로 입력하는 것이었다. 이 경 우 제2버튼은 도1-1에서 [1] , [2], [3] 버튼중의 하나가 되므로, 입력값이 이 규 칙을 위배하는 순간, 시스템은 입력값을 심플코드로 간주하여 처리할 수 있는 것 이다. 특히 출원인이 제시한 풀입력방법은 위의 예시에서와 같이 병행입력방법 적용시 입력값이 풀코드를 이루는지를 입력중간에도 쉽게 알 수 있는 좋은 특성이 있다.
또한 출원인의 선출원에서 언급한 바와 같이 심플코드 혹은 풀코드를 해석 하는 것은 클라이언트측에서 일어날 수도 있고, 서버측에서 일어날 수도 있다. 그리고 선출원에서 1차모호성(알파벳 모호성)을 극복하기 위한 색인을 룩업하는데 있어서, 1차적으로 클라이언트측의 색인을 참조하고 2차적으로 서버측 색인을 참 조하는 시나리오를 심플코드 혹은 풀코드를 해석하는 데 있어서도 적용할 수 있다. 반대로 1차적으로 서버측 색인을 참조하고, 2차적으로 클라이언트측 색인 을 참조하는 것도 가능하다. 또한 더 나아가 입력값을 먼저 심플코드로 해석하되, 1차적으로 클라이언트 측의 색인을 참조하고, 2차적으로 서버측 색인을 참조하며, 입력값에 대한 심플코드를 검색하지 못하면, 다시 풀코드로 해석하되, 1차적으로 클라이언트 측에서 해석하고, 클라이언트측에 이러한 해석기능이 없으 면, 2차적으로 서버측에서 해석하는 것이 가능하다. 다른 예로 입력값을 1차적으 로 심플코드로 해석하되, 클라이언트측의 색인과 서버측의 색인을 모두 참조하여, 사용자에게 제공하고 타겟단어를 사용자로 하여금 선택하도록 하는 것도 가능하다. 이와 같이 해석방법(심플코드, 풀코드)과 해석장소(클라이언트측, 서 버측)를 적용함에 있어서 이와 유사한 변형이 가능하다. 즉 정리하면, 해석방법 (심플코드, 풀코드)과 해석장소(클라이언트측, 서버측)의 적용에 있어서 다양한 조합이 가능하다는 것이다. 즉 입력값에 대하여 도5-5에서 (A)-(B)-(C)-(D)의 순 서로 혹은 (A)-(C)-(B)-(D)의 순서뿐만 아니라 (A), (B), (C), (D)의 모든 다양한 조합에 의한 순서로 적용이 가능하다는 것을 의미한다.
이렇게 단축입력방법과 풀입력방법을 병행하여 적용하는 장점은 다음과 같 다. 우선 풀입력방법을 사용할 수 있으므로 사용자는 기 정의된 단어 이외의 사 전에 존재하지 않는 단어라도 모든 단어를 입력할 수 있으며, 상용어구에 대하여 단축입력방법의 사용을 위한 심플코드를 편의대로(부분연관/전체연관) 지정할 수 있고, 부분연관 심플코드를 지정하여 둠으로써 입력타수를 대폭 줄일 수 있다. 그리고 단어에 대해서 뿐만 아니라 구절에 대해서도 단어기준 이니셜코드를 부여 할 수 있는 장점이 있다. 그러나 외국의 방법에서는 모든 단어의 입력에 단어단 위의 색인을 이용한 방법을 사용하므로, 서로 다른 단어에 대하여 같은 코드가 부 여되는 경우를 최소화 하기 위하여 전체연관 심플코드를 사용할 수 밖에 없었다.
또한 시스템이 특정 상용어구와 그 상용어구에 대한 코드값을 가지고 있는 "색인"을 가지고 있어야 하는데, 모든 단어에 대한 "색인"을 가지고 있는 외국의 방법에서 보다 훨씬 더 적은 용량의 저장장소를 필요로 한다. 그리고 이 "색인" 은 모호성을 없애기 위하여 모호성이 발생할 수 있는 단어에 대하여 올바른 단어 에 대한 "색인" 혹은 그른 단어에 대한 "색인"을 시스템에서 가지고 있어야 하는 데, 이 모호성을 없애기 위하여 준비하는 색인과 공동으로 사용될 수 있다.
모든 언어에 있어서 특정 단어의 음가를 가지고 있는 것은 자음이므로 자음 을 추출하여 약어를 만드는 기법은 이미 널리 사용되고 있었다. 영어의 경우 예 를 들면, 군대용어중 "captain" 에서 음가를 가지고 있는 자음 "CPT"를 추출하여 약어로 사용하고, "private" 에서 "PVT"를 약어로 사용하고, "sergent"에서 "SG T"를 약어로 사용하고, "staff sergent"에서 "SSG"를 약어로 사용하고, "sergent first class"에서 SFC를 약어로 사용하는 등등이다. 물론 예로 든 "captain" 과 "private" 는 각각 2음절로 이루어져 있지만, 여기서 약어로 추출된 자음은 각 음 절을 대표하는 자음으로 볼 수 있다. 따라서 "captain" 의 경우는 "CPT"와 연관 된 "278"을 심플코드로 지정할 수 있는 것이다.
이렇게 음절을 기준으로 임의로 상용어구에 대하여 부분연관 심플코드를 지 정하여 단축입력방법을 적용할 수 있는 것은 입력노력을 감소시키는 이외에도 큰 의미가 있다. 음성학적으로 음절은 "심리적 실체"라고 규정하고 있다. 또한 음 절에서 음가를 가지고 있는 것은 자음인 것이다. 예로 든 captain 에서 모음 "AAI"만을 추출하였을 경우 captain 을 유추해 내는 것은 거의 불가능하다. 그러 나 자음 "CPTN" 혹은 "CPT"를 추출하면 쉽게 captain 을 유추해 낼 수 있다. 영 어의 어떤 문장에서 각 단어별로 모음을 제거하고 자음만을 나열해 놓아도 보통의 경우 원래의 문장을 유추해 낼 수 있다고 한다. 즉 음절을 이루는 주체인 각 자 음과 연관하여 부분연관 심플코드를 사용하는 것은 사용자가 자연스럽게 단축입력 방법에 적응할 수 있음을 의미하고, 사용자에게 편리를 줄 수 있음을 의미한다.
특히 영어권에서는 약어를 사용하는 것이 일반화되어 있고, 상장회사명과 같은 경우는 일정한 개수로 이루어진 약어가 지정되어 있으므로, 이 약어에 기초 하여 심플코드를 활용할 수 있다.
특정 어구에 대하여 사용자가 편의대로 심플코드(부분연관, 전체연관)를 지 정할 수 있도록 하는 것은 상용어구에 대한 코드값을 기억하기 용이하도록 하는 장점이 있다. 더 나아가 만약 어떤 사용자가 극히 일부의 상용어구만을 필요로하 는 사용자라면(예를 들어 10개 이하의 상용어구만을 사용), 상용어구의 알파벳에 연관된 코드를 굳이 부여하지 않고, 단지 각 상용어구에 1, 2, 3, . . . 등과 같 이 심플코드를 부여할 수도 있다.
6.8 심플코드/대응어구의 그룹핑 및 검색범위 지정
다수의 어구에 대하여 심플코드를 지정하면, 많은 중복성이 발생할 가능성 이 있는데, 심플코드에 대응되는 어구들을 그룹핑을 하여, 특정 어구그룹에 대해 서만 심플코드를 검색하도록 하여 심플코드간의 모호성(2차모호성)을 감소시킬 수 있다. 하나의 어구가 반드시 하나의 그룹에만 속해있어야 하는 것은 아니고 여러 그룹에 속해 있을 수도 있다.
예를 들어, 심플네이밍한 어구들을 상장회사명, 도시명, 상용어구, … 등의 그룹으로 그룹핑하고 다시 상용어구 그룹을 사회분야, 정치분야, ... 등의 세부그 룹으로 하여 트리형태로 그룹핑할 수 있다. 본 예에서는 2단계의 트리형태의 그 룹핑을 제시하였으나, 3단계, 4단계 혹은 그 이상 단계로 트리형태의 그룹핑이 가 능하다. 도5-6을 참고한다. 사용자가(혹은 시스템이) 심플코드의 검색범위를 상 장회사명 그룹으로 한정하면, 특정 심플코드 입력시 시스템은 상장회사명 그룹의 범주에서만 입력된 심플코드에 대응되는 네이밍된 어구를 검색하므로 2차모호성을 감소시킬 수 있다. 마찬가지로 검색범위를 상용어구로 하면 상용어구 그룹이하의 모든 세부그룹을 포함하여 검색범위로 되도록 할 수 있다. 만약 상용어구 그룹중 사회분야 그룹을 검색범위로 지정하면, 사회분야를 포함하는 그 이하(트리형태의 그룹구조에서)의 그룹만이 검색범위로 될 것이다.
도5-6에서의 트리형태의 그룹은 윈도우의 탐색기에서 폴더처럼 생각하면 된 다. 검색범위는 시스템에 의하여 자동으로 재지정 될 수도 있다. 예를 들어, 도 시명의 서브그룹으로 행정구역의 계층구조가 저장되어 있을 때, 사용자가 특정 도 시를 선택하고 나면, 그 다음 입력값에 대한 검색범위는 당연히 특정도시의 하위 행정구역 단위의 명칭이 될 것이다. 예를 들어, 사용자가 도시중 “서울”을 선 택하고 나면, 다음 선택범위는 서울시에 있는 “구”가 되며, 다시 사용자가 “양 천구”를 선택하고 나면, 다음 선택범위는 양천구내에 있는 “동”이 되는 것이다.
6.9 중계서버의 활용
심플코드의 해석은 클라이언트측에서 이루어질 수도 있고, 서버측에서 이루 어질 수도 있는데, 이러한 심플코드(경우에 따라 풀코드 포함)의 해독을 전담하여 심플코드에 대응되는 어구를 클라이언트측 혹은 다른 서버측에 제공하는 중계서버 를 둘 수 있다. 도6-1를 참고할 수 있다. 또한 도6-1에서 클라이언트측에서 1차 적으로 심플코드를 해독하고 입력된 심플코드에 대응하는 어구를 해석하지 못하면, 2차적으로 중계서버에서 입력된 심플코드에 대응하는 어구를 해석하고 해 석실패시, 다시 3차적으로 각각의 서버에서 입력된 심플코드에 대응되는 어구를 해석하는 것이 가능하다. 3차 심플코드 해독 서버(편의상 "3차서버"라 함)는 입 력된 심플코드 혹은 심플코드에 대응되는 어구를 사용하는 어플리케이션을 탑재한 서버가 된다.
중계서버를 두면, 3차서버측에서는 심플코드가 아닌 어구를 필요로 하는 경 우에도, 사용자가 심플코드를 입력하고, 3차서버측에서 심플코드와 심플코드에 대 응되는 어구를 저장하고 있지 않아도, 중계서버가 사용자로부터 입력된 심플코드 를 중계서버가 해석하여 심플코드에 대응되는 어구를 3차서버측에 전달해 주는 것 이 가능하다.
심플코드의 코드값 하나 하나가 입력될 때마다, 심플코드에 대응되는 어구 가 저장된 색인을 검색하여 클라이언트측 혹은 각 서버측에 피드백을 줄 수도 있 고 단어단위로 피드백을 줄 수도 있다.
6.10 단어단위의 구분
본 발명에서 단어단위라 함은 단어시작에서부터 단어종료까지를 의미한다. 이는 단어와 단어의 구분을 줄 수 있는 모든 요소(단어시작, 공백, 모드전환, 엔 터, …)의 조합을 통하여 식별될 수 있다. 예를 들어 공백 ~ 공백, 공백 ~ 모드 전환 등은 단어시작 ~ 단어종료 등을 통하여 단어가 입력되었음을 식별할 수 있다. 단어단위로 피드백을 주는 것은 현재 네트웍 환경을 지원하는 언어를 통하 여 충분히 구현될 수 있다.
6.11 심플코드/대응어구의 다운로드
더 나아가 서버측에 있는 심플코드와 심플코드에 대응하는 어구를 사용자가 직접 입력하여 저장시키지 않아도, 클라이언트 측으로 다운받을 수 있도록 할 수 있다.
다운받는 단위는 하나 하나의 어구 단위로 다운받을 수도 있고, 위에서 예 를 든 어구의 그룹 단위(트리구조의 그룹)로 다운받을 수도 있다. 상위의 그룹을 선택시 하위의 그룹까지 다운받을 수 있다. 서버측 어구그룹의 트리구조를 그대 로 유지하면서 다운받을 수도 있고, 해당그룹과 하위그룹에 속한 어구들을 클라이 언트측에 사용자가 지정하는 하나의 그룹으로 하여 다운받을 수도 있다. 심플코 드의 해독을 주기능으로 하는 중계서버가 있다면, 중계서버에서 이러한 기능을 담 당할 수도 있다.
7. 기호의 입력
선출원에서 제시하였던 바, "기준격자에 가까운 순서"로 자국어 알파벳을 배치하고, 다음으로 숫자 그리고 영어알파벳을 배치할 수 있음을 설명하였고, 기 준반복선택방법 적용시 역시 기준격자에 가까운 순서로 이를 자국어 알파벳, 숫자 가 선택되도록 할 수 있음을 설명하였다. 마찬가지로 후속컨트롤처리방법을 적용 함에 있어서, 특정버튼에 속한 자국어 알파벳 뿐만아니라, 숫자, 영어알파벳도 후 속컨트롤처리방법을 통하여 입력할 수 있다.
본 발명에서는 한 걸음 더 나아가 선출원에서 키패드상에 표시하여 입력할 수 있도록 하였던, 각종 기호 등을 키패드상에 표시하지 않고도 효율적으로 입력 할 수 있는 방법(즉, 은닉형 컨트롤처리방법에 의하여)을 제시한다.
즉 선출원에서 컨트롤들을 배치하였던 격자중 적절한 격자에 "기호컨트롤" 을 두고, 기호컨트롤과 기호를 의미할 수 있는 버튼(컨트롤 버튼이 아닌 다른 버 튼)을 조합하여 기호를 입력하는 것이다. 여기서 기호를 의미할 수 있는 버튼의 예를 들면, 마침표의 경우 마침표에서 "ㅁ"을 쉽게 연상할 수 있으므로 [5] 버튼 이 된다.
예를 들어 선출원의 발명 내용 중 한국어의 실시예(도4-2)에서 기호컨트롤 을 [*] 버튼을 2번 연속누름으로 선택할 수 있는 격자의 위치에 둘 수 있다. 즉 ㄱ(대표알파벳), ㅋ(2nd), 기호(3rd), ... 와 같이 대표알파벳과 후속알파벳의 관 계를 두는 것이다. 컨트롤 선입력의 경우, "마침표"를 입력시, ㅁ = {기호}+ㅁ = [*]+[*]+[5] 이 된다. 컨트롤 후 입력시, ㅁ = ㅁ+{기호} = [5]+[*]+[*] 이 된다. 만약, 기호컨트롤을 [*] 버튼을 3번 눌러서 선택할 수 있는 격자의 위치에 두었을 경우는 예에서 [*] 버튼의 입력을 하나씩 더하면 된다.
기호컨트롤을 하나만 두었을 경우, 10개의 각 숫자버튼마다 기호의 의미를 한가지씩 부여하더라도, 10개 정도의 기호만을 입력할 수 있다. 각 버튼에 기호 의 의미를 부여한 예를 들면 다음과 같다.
[1] 버튼 : ? 의 의미 부여 ("ㄱ" 이 배치되어 있는데 ? 와 모양이 유사)
*[2] 버튼 : ! 의 의미 ("ㄴ"이 배치되어 있는데 "느낌표"의 첫글자 동일)
[3] 버튼 : $ 의 의미 ("ㄷ"이 배치되어 있는데 "달러"의 첫글자 동일)
[4] 버튼 : . . .
[5] 버튼 : . 의 의미 ("ㅁ"이 배치되어 있는데 "마침표"의 첫글자 동일)
[6] 버튼 : * 의 의미 ("ㅂ"이 배치되어 있는데 "별표"의 첫글자 동일)
[7] 버튼 : , 의 의미 ("ㅅ"이 배치되어 있는데 "쉼표"의 첫글자 동일)
[8] 버튼 : " 의 의미 ("ㅇ"이 배치되어 있는데 "인용부호"의 첫글자 동일)
[9] 버튼 : ~ 의 의미 (모음 "ㅡ"가 배치되어 있는데 ~ 와 모양이 유사)
[0] 버튼 : @ 의 의미 (숫자 0 이 배치되어 있는데 @와 모양 유사)
위에서와 같이 각종의 기호를 연상시킬 수 있는 버튼과 기호컨트롤을 조합 함으로써 기호를 입력할 수 있다. 각 버튼에 기호의 의미를 부여하는 것은 예에 서와 같이 기호의 자국어 명칭/모양과 배치된 알파벳의 연관관계, 혹은 영어 명칭 /모양과 배치된 영어 알파벳과의 연관관계, 배치된 숫자 명칭/모양과의 연관관계 등을 고려하여 기호의 의미를 부여할 수 있다. 이는 개인의 취향에 따라 다를 수 있으므로 반드시 위와 같이 되어야 하는 것은 아니고, 개개인으로 하여금 각 버튼 별로 기호의 의미를 (재)설정하도록 할 수도 있다.
이를 통하여 예시에서와 같이 빈번히 쓰이는 기호를 연상이 용이한 숫자버 튼에 속한 후속알파벳인 것처럼 처리할 수 있다. 위의 예에서 물음표를 모양의 유사성을 고려하여 "ㄱ"이 배치된 [1] 버튼과 연관시킨 것은 물음표보다 더 빈번 히 쓰이는 마침표가 "ㅁ"으로 시작하기 때문이다.
마찬가지로 버튼별로 기호의 의미를 부여하는데 있어서, 영문명칭/모양 혹 은 숫자명칭/모양을 이용할 수도 있다. 아래의 예는 자국어의 경우와 혼용하여 적용할 수도 있다.
[1] 버튼 : ? 의 의미 (알파벳 "q" 가 배치되어 있는데 "Question mark"의 첫글자 동일)
[2] 버튼 : , 의 의미 ("c"가 배치되어 있는데 "Comma"의 첫글자 동일)
[3] 버튼 : . 의 의미 ("d"가 배치되어 있는데 "Dot"의 첫글자 동일)
[4] 버튼 : ! 의 의미 ("i"가 배치되어 있는데 "!"와 모양 유사)
[5] 버튼 : . . .
[6] 버튼 : . . .
[7] 버튼 : / 의 의미 ("s"가 배치되어 있는데 "Slash"의 첫글자 동일)
[8] 버튼 : : 의 의미 (숫자 "8"이 배치되어 있는데 : 과 모양 유사 )
[9] 버튼 : ! 의 의미 ("x"가 배치되어 있는데 "eXclamation mark"와 발음 연관)
[0] 버튼 : @ 의 의미 (숫자 0 이 배치되어 있는데 @와 모양 유사)
영어를 기준으로 기호의 의미를 부여하는 것은 영어가 혼용하여 표기된 키 패드를 사용하는 비영어권에서도 유용하게 사용될 수 있다. 또한 colon 을 숫자 8 의 모양의 유사성을 두어 설정하는 것 역시 언어에 상관없이 범용하게 사용될 수 있는 장점이 있다. 마찬가지로 comma 역시 숫자 9 와의 모양의 유사성을 두어 [9] 버튼에 속한 후속알파벳으로 간주할 수도 있으나, 위의 예에서는 그러하지 아 니하였다.
기호컨트롤은 적절한 버튼에 설정하면 된다. 영어의 경우 도1-1에서 [*] 버튼에 다른 용도의 컨트롤을 배치하지 않는다면, [*] 버튼 1타로 기호컨트롤을 선택하도록(즉 [*]버튼 기준격자의 위치에 기호컨트롤을 두는 것) 할 수도 있다. 그리고 첨자가 붙은 변형알파벳이 존재하는 유럽 각국어의 경우는 [0] 버튼 혹은 [#] 버튼의 기준격자의 위치에 기호컨트롤을 둘 수 있다. 단 [0] 버튼에 기호컨 트롤을 두는 경우는 위의 예에서 처럼 "@" 기호의 의미를 부여하지 않는 것이 좋 다.
기호컨트롤을 [*]버튼에 두고 컨트롤후입력을 적용하면, 영어의 경우 도1-1 에서 colon(:) 입력시, : = [8]+{기호} = [8]+[*] 과 같이 된다.
위의 예에서 보듯이 각 버튼에 연관되는 기호의 의미를 하나씩 부여하고 기 호컨트롤을 컨트롤 버튼의 어느 한 격자에만 두는 경우는 약 10개의 기호만을 입 력할 수 있다. 그리고 각 버튼에 의미를 부여하는데 있어서도 영어의 예에서와 같이 "s" 가 배정된 버튼에 slash, semi-colon, period 등의 의미를 부여할 수도 있으나, 그 중 하나인 slash 의 의미만을 부여하였다. "d" 가 배정된 버튼에도 dot의 의미를 부여하였으므로, exclamation mark 의 경우 부득이 모양의 유사성을 고려하여 "i"가 배정된 버튼에 "!" 의 의미를 부여하였다.
따라서 기호컨트롤을 다수 두어(예를 들어 기호컨트롤1, 기호컨트롤2, . . .), 컨트롤을 선택할 수 있도록 함으로써, 더 많은 수의 기호를 컨트롤처리방법을 통하여 입력할 수 있다. 예를 들어, "d" 가 배정된 버튼에 dot 의 의미를 부여하 고(혹은 "ㅁ"이 배정된 버튼에 "마침표"의 의미를 부여하고), 모양이 유사한 comma 를 dot의 후속알파벳인 것처럼 처리할 수 있다.
격자음 또는 경자음이 존재하는 기본자음이 배정된 버튼에 연관시킨 기호 입력의 예를 들면 “dot(.) = 3****”로 할 수 있다. “3*** = 크”로 되기 때문 에 [*]버튼 4번 약속된 기호를 입력할 수 있다. “comma(,) = 3*****”와 같이 dot(.)에 입력 후 [*]버튼을 추가로 한번 더 눌러 입력이 가능한데, 이는 한국어 음절이 모음 “ㅡ”로 시작하지 않는 성질을 이용한 것이다. comma(,)의 입력은 체인형 후속컨트롤처리방법의 관점에서 이해할 수 있다.
만약 격음을 컨트롤처리방법에 의하여 입력하지 않는 것으로 한다면(즉 격 음컨트롤이 없는 것으로 간주한다면), [*] 버튼2타에 "기호컨트롤1"이 선택됨은 당연하다(건너뛰기 컨트롤처리). 마찬가지로 모양이 유사한 colon 과 semi-colon 도 같은 버튼에 배정된 후속알파벳들로써 간주하고, 컨트롤처리방법에 의하여 입 력할 수 있다. 이외의 다른 기호들에 대해서도 이와 유사한 요령으로 적용할 수 있다.
이렇게 "기호컨트롤1"과 "기호컨트롤2"로 2개의 기호컨트롤을 사용하는 경 우도, 각각의 버튼에 기호의 의미를 부여하고 이를 기억하고 있어야 하며, 입력할 수 있는 기호의 갯수에 한계가 있게 된다. 따라서 dot와 comma를 그리고 colon과 semi-colon 을 그룹핑한 것과 같은 요령으로 기호를 그룹핑하고, 다수의 기호컨트 롤을 둠으로써, 더 많은 기호를 입력할 수 있도록 할 수 있다.
기호들을 그룹핑하는 방법 역시 사용자의 편의대로 할 수 있도록 하는 것이 바람직하다. 본 발명에서는 일반적으로 사용될 수 있는 기호 그룹핑의 예를 보인 다. 먼저, 각종의 기호의 모양의 형태를 기준으로 dot 의 변형형태를 하나의 그 룹으로 설정할 수 있다. 예를 들어, dot(.), comma(,), colon(:), semi- colon(;), quotation mark("), . . . , question mark(?), exclamation mark(!), . . . 와 같이 그룹핑하는 것이 가능하다. 이는 dot 형태, 즉 "0차원" 형태의 기 호를 그룹으로 그룹핑 한 것이다. 여기서 ? 와 ! 는 0 차원 형태와 1차원 형태를 동시에 가지고 있으므로, 0차원 형태(dot 형태)의 그룹에 포함시킨 것이다. 그룹 의 부속순위를 정함에 있어서는 선출원에서 언급한 바와 같이 사용빈도 등을 고려 할 수 있으나, 역시 사용자로 하여금 설정하도록 할 수 있는 것이 좋을 것이다. 또한 후속알파벳으로 간주하는 기호의 갯수가 많을 때는 기호컨트롤을 후입력하도 록 하는 것이 편리할 것이고, 디스플레이 창이 있는 단말기에서는 컨트롤버튼의 누름에 따라 기호가 변하는 것을 확인할 수 있다.
이렇게 그룹핑된 dot 형태(0차원 형태)의 기호를 특정 버튼에 연관시키는 것 역시 사용자의 편의대로 설정할 수 있도록 할 수 있다. 예를 들어, 그룹을 대 표할 수 있고 가장 빈번히 쓰이는 기호가 dot 라고 하면 dot 의 "d"를 포함하고 있는 [3] 버튼에 속한 후속알파벳으로 간주할 수 있다. 도1-1에 기호컨트롤을 추 가한 도7-1의 예에서 기호컨트롤 버튼을 [*] 버튼으로 하고, 컨트롤 후입력을 적 용하면, dot = [3]+[*], comma = [3]+[*]+[*], colon = [3]+[*]+[*]+[*], semi- colon = [3]+[*]+[*]+[*]+[*], . . . 과 같이 된다. 혹은 0차원 형태이므로 [0] 버튼에 속한 후속알파벳으로 간주한다면, [3] 버튼이 아닌 [0] 버튼과 결합하게 될 것이다. 아니면, dot 형태는 가장 기본적인 형태이므로 [1] 버튼에 속한 후속 알파벳으로 간주할 수도 있다.
다음으로 line 형태, 즉 "1차원" 형태의 기호를 그룹으로 그룹핑 할 수 있 다. 예를 들어, slash(/), 모자기호(^), question mark(?), exclamation mark(!), 둥근괄호1((), 둥근괄호2()), 꺾쇠괄호1(<), 꺾쇠괄호2(>), 직각괄호 1([), 직각괄호2(]), 물결기호(~), minus(-), 화살표1(<-), 화살표2(->), . . . 등과 같이 그룹핑할 수 있다. 역시 선출원에서 설명한 바와 같이 사용빈도 등을 고려하여 부속순위를 두면되며, 이를 특정버튼의 후속알파벳으로 연관시키는 것은 앞에서 설명한 바와 같이 적절한 버튼을 설정할 수 있다. 예를 들어 [1] 버튼에 속한 후속알파벳으로 간주하거나 혹은 알파벳 "l"이 배치된 [5] 버튼의 후속알파 벳으로 간주하는 것이다.
그 다음, line의 결합형태, 즉 "2차원" 형태의 기호를 그룹으로 그룹핑 할 수 있다. 예를 들어, at(@), ampersent(&), asterisk(*), sharp(#), dollar($), 원화기호(W+=), 엔화기호(¥), . . . , heart1(♡), heart2(♥), 클로버1(♧), 하 얀세모1(◁), 하얀세모2(▷), 하얀세모3(∇), . . . , 검은세모1(◀), . . ., ☏, ☎, ☜, ♨ 등과 같이 그룹핑할 수 있다. 역시 부속순위는 사용빈도를 고려하여 둘 수 있으며, 특정 버튼과 연관시키는 것은 적절한 방법을 택하면 된다. 단 앞 에서의 0차원 형태의 기호, 1차원 형태의 기호를 연관시킨 버튼이 아닌 다른 버튼 에 연관시키면 된다.
위에서와 같이 0차원, 1차원, 2차원 형태의 3개 그룹(이를 편의상 "3대그룹"으로 부름)으로 기호를 그룹핑할 경우 연관되는 숫자버튼을 3개만 기억 하면 되는 장점이 있으나, 빈번히 사용되지 않는 기호를 입력할 경우, 컨트롤버튼 을 여러번 눌러야 하는 단점이 있다. 따라서 약간 그룹을 더 세분화하는 예(이를 편의상 "세부그룹"으로 부름)를 보이면 다음과 같다.
먼저 2차원 형태의 기호그룹에서 line 의 결합형태를 이루는 기호그룹(예. *, #, %, ...)과, 단일폐곡선을 이루는 기호그룹(예. ◁, ◀, ...)으로 나눌 수 있다. 또한 그룹에서 ☏, ☎, ☜, ☞, ♨, ... 등과 같이 그림형태를 이루는 기 호를 별도의 그룹으로 둘 수 있다. 역시 적절한 버튼에 속한 후속알파벳으로 두 면 된다. 이들 그룹을 별도로 둘 경우, 앞의 기호 그룹에서 이들 기호를 제외할 수도 있고 제외하지 않을 수도 있으며, 이는 다른 경우에 대해서도 마찬가지이다.
다음으로 1차원 혹은 2차원 형태의 기호 중 수학식에 사용되는 기호들, 즉 +, -, *, /, root(√), sigma(∑), integral(∫), . . . 등을 별도의 그룹으로 둘 수 있다. 역시 적절한 버튼에 속한 후속알파벳으로 두면 된다.
또한 방향을 나타낼 수 있는 기호들, 즉 →, ←, ↑, ↓, ↗, ↙, ↖, ↘, ◁, ▷, ◀, . . . 을 그룹으로 나눌 수 있다. 역시 적절한 버튼과 연관하여 후 속알파벳을 간주하면 된다.
그리고 비교적 타당성있게 또 하나의 그룹을 형성할 수 있는 각종의 괄호들, 즉 (, ), [, ], {, }, <, >, . . . 을 또 하나의 그룹으로 둘 수도 있다. 또한 괄호형태로 그룹핑함에 있어서도, 왼쪽 괄호와 오른쪽 괄호를 각각 그룹으로 둘 수도 있다.
3대그룹만을 두지 않고, 세부그룹을 두고 그에 의하여 기호를 입력할 수 있 도록 하는 경우는 세부그룹에 속한 알파벳을 3대그룹에 그대로 둘 수도 있고 두지 않을 수도 있다고 하였는데, 3대그룹에 두더라도 가능한 한 부속순위를 후순위에 두어야 할 것이다.
이상의 기호 그룹핑을 도1-1에 적용하여 각 기호의 그룹을 특정버튼의 후속 알파벳으로 간주하는 예를 보이면 다음과 같다. 0차원 형태의 기호그룹을 [0] 버 튼에 속한 후속알파벳으로 간주, 1차원 형태의 기호그룹을 [1]버튼에 속한 후속알 파벳으로 간주, 2차원 형태의 기호그룹을 [2]버튼에 속한 후속알파벳으로 간주, 2 차원 형태의 기호그룹 중 단일폐곡선형태의 기호그룹을 [8] 버튼에 속한 후속알파 벳으로 간주, 2차원 형태의 기호그룹 중 그림형태의 기호그룹을 [7]버튼에 속한 후속알파벳으로 간주, 수학식 기호그룹을 [6]버튼에 속한 후속알파벳으로 간주, 방향 기호그룹을 [3]버튼에 속한 후속알파벳으로 간주, 괄호 기호그룹을 나머지 숫자버튼중 임의의 버튼에 속한 후속알파벳으로 간주할 수 있다. 설명한 바와 같 이 기호 그룹을 각 버튼에 연관시킴에 있어서 이는 하나의 예일 뿐이며, 사용자의 편의대로 설정하도록 할 수 있다.
이상을 종합하면, 기호를 특정버튼에 속한 후속알파벳으로 간주하여 컨트롤 처리함에 있어서 3개의 그룹(0차원, 1차원, 2차원)으로 그룹핑할 수도 있으며, 혹 은 약간 더 세분화하여 10개 이하의 그룹으로 그룹핑하여 거의 대부분의 기호를 입력할 수 있음을 보인 것이 본 발명의 핵심중의 하나이다. 또한 각 기호의 그룹 을 특정버튼에 속한 후속알파벳으로 간주함에 있어서, 이름, 차원, 모양, 등등 기 호의 그룹과 연관된 버튼에 속한 후속알파벳으로 간주하여 컨트롤처리함으로써, 기호를 키패드에 표시하지 않고, 간결한 알파벳 배치를 유지하면서, "은닉형 후속 컨트롤처리방법"을 사용할 수 있는 것이 본 발명의 핵심중의 하나이다.
본 출원에서 기호를 위한 컨트롤버튼으로 주로 [*] 버튼 혹은 상하좌버튼 중의 임의의 버튼을 사용하였는데, 숫자 및 영어알파벳을 위한 후속컨트롤버튼으 로 [#] 버튼을 활용할 수 있다. 예를 들어 [#] 버튼이 이미 후속컨트롤 버튼으로 사용되고 있는 경우는 [#] 버튼상의 가용한 격자에 숫자 및 영어알파벳을 위한 컨 트롤을 추가적으로 배치하면 된다. 이 경우도 컨트롤의 선택에 있어서, 앞에서 언급한 바와 같이, 대표알파벳과 결합할 수 없는 컨트롤은 건너뛰어 그 다음 가용 한 컨트롤이 선택되도록 할 수 있다.
8. 이동버튼 활용방법
8.1 이동버튼의 컨트롤버튼으로의 활용
선출원에서 각종의 컨트롤이 배치되는 컨트롤버튼을 4*3 키패드 내의 임의 의 버튼에 둘 수도 있고, 4*3키패드 이외의 별도의 버튼에 둘 수도 있다고 하였다. 그리고 선출원에서 특히 알파벳의 갯수가 많고, 변형알파벳이 다수 존재 하는 언어에 있어서, 4*3 키패드내에서 컨트롤버튼으로 사용할 버튼이 부족한 것 을 경험하였을 것이다. 본 발명에서는 문자입력모드에서 비교적 빈번히 사용되지 않는 좌/상/하 이동버튼의 1차기능을 선출원과 본 발명에서 언급하였던 컨트롤버 튼으로 활용할 수 있음을 지적하고 그러한 예를 보인다. 즉, 문자입력모드에서 4*3 키패드 밖의 별도의 버튼을 컨트롤버튼으로 활용함에 있어서, 상/하/좌 이동 버튼을 컨트롤 버튼으로 활용하게 되는 것이다.
도8-1는 현재 전형적으로 사용되고 있는 폴더형 단말기의 버튼을 도시한 것 이다. 파선으로 표시된 [i] 버튼은 인터넷 접속을 위한 버튼이며 이 버튼은 단말 기에 따라서 존재하기도 하고 존재하지 않기도 한다. 여기서 우측 이동버튼은 공 백입력용으로 사용되고, 특히 한국어에서는 1차모호성 제거를 위한 음절(글자)확 정버튼으로도 사용되고 있다. 문자입력모드가 아닌 메뉴선택모드에서는 상/하/좌 이동버튼은 메뉴의 선택을 위한 이동버튼으로 유용하게 사용된다. 그러나 문자입 력모드에서 상/하/좌 이동버튼은 사용빈도가 많지 않으며, 특히 상/하 이동버튼은 빈번히 사용되지 않는다. 편의상 상/하/좌 이동버튼을 합쳐 "상하좌 이동버튼" 혹은 "상하좌버튼" 이라고 부르기로 하고, 상/하 이동버튼을 "상하 이동버튼" 혹 은 "상하버튼" 이라고 부르기로 한다. 어느 한 방향의 이동버튼만을 언급할 때에 도 같은 요령으로 한다.
8.2 이동버튼 하단 배치
우선 이 상하좌버튼은 보통 숫자버튼 위에 배치되어 있는 경우가 보통이다. 그러나 문자입력모드에서 이들 버튼의 1차기능을 각종의 알파벳 입력을 위한 버튼 으로 활용하려면, 주로 컨트롤버튼으로 활용되는 [*], [#] 버튼과 함께 4*3키패드 의 하단에 배치되는 것이 유용함을 알 수 있다. 도8-2, 도8-3은 이를 도시한 것 이다. 그러나 반드시 이렇게 해야 하는 것은 아니며, 편의상 본 발명의 예에서는 이동버튼을 4*3키패드 하단에 배치한 예로써 설명한다.
여기서 4*3키패드와 상하좌버튼을 합하여 5*3키패드를 구성할 수 있음을 알 수 있다. 이는 부분전체선택방법의 적용시, 각 버튼을 3x5 의 15개 격자로 나누 어 활용할 수 있는 것을 의미한다. 마찬가지로 반드시 도8-3에서와 같이 5*3키패 드를 구성할 수 있도록 상하좌버튼을 배치하여야 하는 것은 아니다.
8.3 이동버튼 좌측면 혹은 우측면 배치
상하좌우 이동버튼을 4*3 키패드의 좌측 혹은 우측에 배치할 수도 있다. 이 경우 부분전체선택방법을 적용함에 있어서, 4*3 키패드와 이동버튼을 합하여 4*4 키패드를 구성할 수 있다. 도8-4는 상하좌우 이동버튼을 4*3키패드의 오른쪽에 구비한 경우의 예이다.
이는 단말기에서 액정의 크기가 점점 커지는 추세에 있는데, 단말기의 액정 의 크기를 더 크게 구성할 수 있는 장점이 있다. 또한 출원인의 한국특허출원 10-2000-0002081, 10-2000-0005671, 10-2000-0067852, 10-2001-0002137 에서 제시 한 이동단말기에서의 측면배터리 장착방법을 병행적용시 좋은 특성이 있다.
8.4 컨트롤버튼 및 알파벳입력을 위한 버튼으로의 각종 활용 사례
다음에서, 이동버튼을 활용하는 사례를 든다. 단 아래의 사례에만 국한되 는 것은 아니다.
8.4.1 기호컨트롤버튼으로의 활용 사례
한국어의 실시예에서, [*] 버튼과 [#] 버튼에 각각 격음컨트롤과 경음컨트 롤을 배치한 경우가 있었다. 또한 [*] 버튼에 격음컨트로과 격음컨트롤을 배치하 고, [#] 버튼을 기본모음컨트롤과 확장모음컨트롤만을 배치한 경우가 있었으며, [#] 버튼에 확장모음컨트롤만을 배치한 경우가 있었다. 이러한 경우, 기호컨트롤 을 [*] 버튼 혹은 [#] 버튼상에 배치하면, 컨트롤버튼 후입력에 따라 먼저 격음, 경음 등이 먼저 나오고, 다음에 기호가 선택되게 된다. 이는 타 언어에 있어서도 마찬가지이다.
그러나 기호컨트롤을 분리하여 상하좌버튼 중 임의의 버튼에 두게되면, 기 호의 그룹과 연관된 버튼과 기호컨트롤이 배치된 기호컨트롤버튼을 조합하여 입력 하는 즉시 기호를 입력할 수 있다. 도8-5은 하 이동버튼의 1차기능을 기호컨트롤 의 선택을 위한 컨트롤버튼으로 활용한 예이다. 0차원형태의 기호그룹에 대하여 컨트롤 후입력을 적용한 예를 보이면, dot = [3]+[v], comma = [3]+[v]+[v], colon = [3]+[v]+[v]+[v], semi-colon = [3]+[v]+[v]+[v]+[v], . . . 과 같이 된 다.
8.4.2 한국어에서의 모음요소 버튼으로 활용 사례
특히 선출원에서 한국어의 예에서 모음요소(ㅡ, ㅣ, .)을 활용한 경우에 있 어서, 모음요소 "."과 "ㅎ"을 함께 배치함으로써, "ㅎ" 입력에 불편이 있었는데, 모음요소를 상하좌버튼 중 임의의 버튼에 배치함으로써, 이러한 불편을 극복할 수 있다. 만약 기호컨트롤을 하 이동버튼에 두고, 모음요소 "."을 상 이동버튼에 두 면 상하좌버튼에서 2개의 버튼을 사용하게 된다. 혹은 상하좌버튼에 한국어의 모 음요소 3개를 각각 둘 수도 있다.
격음컨트롤을 둔 버튼에 기호컨트롤을 둔 것과 마찬가지로, 상하좌버튼 중 임의의 버튼의 기준격자위치에 한국어의 모음요소 "." 를 두고, 기준격자에 가까 운 순서로 기호컨트롤들을 둘 수도 있다. 도8-6은 이러한 예이다. 이 경우도 모 음요소 "."은 단독으로 사용되지 않으므로, 반복선택방법으로 배치된 모음요소와 기호컨트롤을 선택하더라도 모호성없이 모음요소와 기호컨트롤을 선택할 수 있다. 도8-6에서 [v] 버튼을 1번 누르면 모음요소"."이 선택되고 두번 누르면, 기호컨트 롤1이 선택되고, 3번누르면 기호컨트롤2가 선택된다.
8.4.3 일본어에서 첨자컨트롤버튼으로의 활용 사례
일본어의 경우에도, 50음도표의 배치를 각 버튼에 대응시키고, 2nd, 3rd 후 속컨트롤을 [*] 버튼에 두고, 4th, 5th 후속컨트롤을 [#] 버튼에 둔 경우(선출원 의 배정방법3), 장음/탁음/반탁음 입력을 위한 컨트롤을 상하좌버튼 중 임의의 버 튼에 둘 수 있다. 도8-7을 참고할 수 있다.
8.4.4 아랍어에서 모음 입력을 위한 첨자컨트롤버튼으로의 활용 사례
아랍어의 경우 첨자형태의 모음을 처리하기 위한 컨트롤을 상하좌버튼 중 임의의 버튼(들)에 분산배치할 수 있다.
8.4.5 태국어에 있어서의 컨트롤버튼으로의 활용 사례
태국어의 경우도 자음컨트롤과 모음컨트롤을 분리하지 않고, 하나의 컨트롤 버튼을 후속컨트롤버튼으로 활용하였는데, 상하좌버튼 중 임의의 버튼을 컨트롤버 튼으로 추가적으로 활용할 수 있다. 혹은 기타의 컨트롤버튼으로 활용할 수 있다.
8.5 단축/풀 전환 컨트롤버튼으로의 활용 사례
병행입력방법을 적용할 경우, 심플코드와 풀코드간에 발생하는 3차모호성이 있는데, 이를 없애기 위하여 단어단위의 "단축/풀" 전환 컨트롤을 두는 방법을 제 시하였다. 예를 들어, 풀입력방법을 기본모드로 하고 병행입력방법적용시 단축입 력방법에 의하여 단어를 입력하려면, 먼저 "단축/풀" 전환 컨트롤을 선택하고 공 백(우 이동버튼)을 입력하고, 심플코드를 입력하는 것이었다. 물론 공백과 "단축 /풀" 전환 컨트롤의 순서는 바뀌어도 된다. 여기서 단어단위의 "단축/풀" 전환컨 트롤을 상하좌버튼 중 임의의 버튼에 둘 수 있다. 혹은 "단축/풀" 전환 컨트롤과 공백(우 이동버튼)을 합한 기능을 하는 컨트롤을 상하좌버튼 중 임의의 버튼의 기 준격자위치에 둘 수 있다. 도8-8을 참고할 수 있다.
만약 도8-8의 숫자버튼에 도1-1의 영어 알파벳이 배치되어 있는 것으로 가 정하고, 기본알파벳입력모드를 풀입력모드인 상태에서 help의 전체연관 심플코드 "4357" 을 입력하여, 단어 help 를 입력하고자 할 경우, "~ 풀코드입력 +[^]+[4]+[3]+[5]+[7]+ [>]+ 풀코드 입력 ~" 과 같이 입력할 수 있는 것이다. 즉 상 이동버튼 [^]의 이동기능을 제한하고 단어단위의 "단축/풀" 전환 기능과 공백 기능을 합하였으므로 [^] 버튼이 눌려지는 순간 시스템은 그 다음 나오는 "[4]+..." 이 풀코드가 아닌 심플코드임을 인지하고 색인을 참조하여 입력 [4]에 가장 근접한 단어들을 사용자에게 추천하여 줄 수 있는 것이다. [4]+[3]+[5]+[7] 의 입력이 끝나고 공백 버튼([>] 버튼) 눌려지는 순간 단어가 종료되므로, 단어단 위의 "단축/풀" 모드전환도 종료되고 시스템은 다시 풀코드의 입력을 기다리게 된 다. 만약 심플코드(4357)의 입력후에 다시 [^] 버튼이 눌려지게 된다면, 시스템 은 역시 단어가 종료된 것을 인지하여 심플코드 4357에 해당하는 help를 확정하고 다시 심플코드의 입력을 기다리게 될 것이다.
병행입력방법에서 우 이동버튼(공백 버튼)을 하나만 사용하게 되면, 선출원 에서 언급한 바와 같이 풀코드와 심플코드간에 발생하는 3차모호성이 있을 수 있 고, 이를 회피하기 위하여 시스템은 버튼의 입력시 마다, 심플코드가 존재하는지 혹은 약속된 풀코드를 이루는지를 검사하여야 하였다. 그러나 이렇게 단어단위의 "단축/풀" 모드전환과 공백을 합한 버튼을 둠으로써, 입력값이 풀코드인지 심플코 드인지 시스템이 미리 인지할 수 있으므로, 계산과 검색을 줄여, 시스템의 성능 향상이 가능할 것이다.
8.6 계산기모드에서 가감승제 버튼으로의 활용 사례
4개의 이동버튼은 그 위치에 상관없이 계산기모드에서 가장 빈번하게 쓰이 는 가감승제(+, -, x, /) 버튼으로 유용하게 사용될 수 있다. 가감승제 기호를 버튼에 표기할 수도 있으나, 알파벳입력에 비하여 계산기는 자주사용되지 않을 것 이므로 버튼에 표기하지 않을 수도 있다. 알파벳입력모드에서는 각 버튼이 이동 버튼 혹은 컨트롤버튼으로 사용될 것이기 때문이다.
또한 계산기에서 쓰일 수 있는 연산자를 가감승제버튼에 두고 (은닉형) 반 복선택방법에 의하여 선택하도록 하는 것이 가능하다. 계산기모드에서 자주사용 되는 연산자(이항연산자)는 반복하여 출현하지 않는 성질을 이용한 것이다. 예를 들어 2++1 이라는 계산은 있을 수 없다. 또한 24 은 2xx4 로 풀어 승(x)버튼을 반복하여 누름으로써 "제곱"연산자를 선택하도록 할 수 있다. 즉 승(x)버튼에 후 속연산자로 제곱(xx)연산자가 있는 것으로 하여 반복선택하는 것과 같다. 마찬가 지로 (O3)은 3//2 로 풀어 제(/)버튼을 반복하여 누름으로써 "제곱근"연산자를 선택하도록 할 수 있다. 이외의 이항연산자는 중복하여 출현하지 않으므로 적절 한 가감승제버튼에 속한 후속연산자로 두고 후속연산자를 반복선택방법에 의하여 선택하도록 할 수 있다.
상하좌우 이동버튼 중 3개의 버튼에 가감제(+, -, /) 연산자를 두고 승(x) 연산자는 [*] 버튼을 이용할 수도 있다.
9. 도움기능 활성화
여기서 각각의 입력모드에서 버튼(상/하/좌/우)에 표시되지 않은 기능을 스 크린(액정)에 표시하여 사용의 편리를 더할 수 있다. 이 경우 액정의 일부를 소 모하는 단점이 있는데, 물론 각 연산자버튼의 기능을 숫지하고 있는 사용자는 굳 이 액정의 공간을 소비하면서 이를 표시되도록 할 필요가 없으나 그렇지 못한 사 용자에게는 많은 도움이 될 수 있다. 도8-1을 참고할 수 있으며, 도9-1은 도8- 4와 같이 상하좌우버튼이 4*3 키패드의 오른쪽에 배치된 경우를 가정하여, 유사한 형태로 배치한 경우의 예이다.
이렇게 사용자의 편의와 의도에 따라 버튼의 기능(즉 버튼에 할당된 연산자 혹은 각 버튼에 연관된 기호그룹)을 표시하여 주는 것을 편의상 "도움기능 활성화"라고 한다. 도움기능 활성화는 각각의 모드(예. 알파벳입력모드, 계산기 모드)에 대해서 이루어질 수도 있고, 각 모드에서 필요기능에 대해서(예. 알파벳 입력모드에서 기호그룹에 연관된 숫자버튼 혹은 컨트롤버튼의 용도) 이루어질 수 도 있다.
마찬가지로 선출원에서 제시하였던 컨트롤버튼의 기능 혹은 기호그룹과 연 관되는 숫자버튼 역시 사용자가 필요로 할 경우 액정에 표시하여 줌으로써 사용자 의 편리를 도모할 수 있다. 도9-2을 참고한다. 도9-2는 앞에서 예시한 기호그룹 분류에 의거하여 각 기호그룹에 연관되는 숫자버튼을 아이콘화하여 액정에 표시한 예이다. 각 숫자버튼에 연관된 기호그룹의 기호중 편의상 첫번째로 선태되는 기 호만을 숫자버튼 아이콘에 부기한 것이다.
10. 삭제버튼 활용방법
삭제버튼을 활용함에 있어서 이를 선출원에서 소개한 "최종입력취소"로 활 용할 수 있다. 예를 들어 도4-2에서 "ㄱ"을 입력하려다, [1]+[*]을 입력하여 "ㅋ"을 입력하였는데 삭제버튼을 눌러서 최종입력([*])을 취소함으로써 "ㄱ" 으로 환원시킬 수 있는 것이다. 이는 컨트롤버튼을 반복적으로 눌러서 후속알파벳을 입력하는 경우에 유용하게 사용될 수 있다. 취소버튼을 연속하여 누르는 경우는 통상의 방법대로 이미 입력된 알파벳이 삭제되도록하면 된다. 예를 들어 "가나ㅋ"을 입력한 상태에서 취소버튼을 1번 누르면 "가나ㄱ"이 되고, 한번 더 누 르면, "가나"가 되고, 또 한번 더 누르면, "가" 가 된다. 로마자의 경우 "ab a.."을 입력한 상태(마지막의 "a.."은 "..+a"로 이루어진 변형알파벳)에서 삭제버 튼을 한번 누르면 "aba"가 되고, 한번 더 누르면 "ab"가 되고, 또 한번 더 누르면 "a"가 되는 것이다. 즉 이미 형성된 알파벳에 대해서는 알파벳단위로 삭제되는 것이다.
11. 키보드의 숫자키패드와 전화단말기에서의 키패드의 통일화
선출원 및 본 발명에서 제시한 키패드는 이동단말기 혹은 표준키보드의 숫 자키패드 혹은 스크린상에 소프트웨어적으로 구성되는 키패드 혹은 도어록 등 전 화기자판 형태의 모든 분야에 응용될 수 있음은 자명하다. 또한 표준키보드에 구 비된 숫자키패드는 선출원 및 본발명에서 제시한 키패드와 숫자 버튼의 배치가 다 르나, 선출원 및 본 발명에서의 키패드 버튼상의 배치를 키보드에 구비된 키패드 에도 적용할 수 있음은 자명하다. 예를 들어 선출원 및 본 발명에서 [1] 버튼에 배치된 알파벳을 키보드에 구비된 숫자 키패드의 [1] 버튼에 배치하고, 이하 마찬 가지 방법으로 배치하여 알파벳입력, 심플코드의 활용 및 각종 코드의 암기용으로 활용할 수 있다.
그러나 혼동을 줄이고 사용의 편리를 더하기 위하여, 키보드의 숫자키패드 를 구성함에 있어서, 전화기 키패드의 숫자배치를 활용할 수 있다. 즉 키보드의 숫자키패드의 숫자배열에 있어서, 전화기의 키패드에서와 같이 제1행의 버튼에 [1], [2], [3] 버튼을 두고, 2행의 버튼에 [4], [5], [6] 버튼을 두고, 3행의 버 튼에 [7], [8], [9] 버튼을 두는 것이다. 더불어 전화기의 키패드에서와 같이 [*] 버튼과 [#] 버튼을 둘 수도 있다.
12. 언어제한 입력방법
언어제한 입력방법은 특정언어의 단어생성에 있어서 자음과 모음의 결합규 칙을 이용하여 문자입력에 있어서의 모호성을 줄이는 것을 의미하며, 이하에서 자 세히 설명한다.
이하에서 어느 한가지 언어에서 언급한 내용중 다른 언어에서 적용할 수 있 는 내용은 특별히 언급하지 않아도 다른 언어에 적용할 수 있음은 자명하다. 더 나아가 로마알파벳을 사용하지 않는 언어에 있어서도 유사한 개념을 적용할 수 있 다.
12.1 로마알파벳을 사용하는 언어에 있어서 자모음분리키패드에서의 중국어 제한 반복선택방법
12.1.1 중국어 성모와 운모의 구성
중국어에는 21개의 성모와 16개의 운모(이중
Figure pat00037
(^e) 는 거의 사용되지 않는다고 함)가 있다고 한다. 성모는 자음에 해당하고, 운모는 모음에 해당한다 고 한다. 중국대륙에서는 중국어음을 표기하는 방법으로 한어병음방안을 이용하 고, 대만에서는 주음부호를 이용하여 중국어음을 입력한다고 한다. 한어병음은 라틴자모즉 로마알파벳을 이용하여 중국어음을 표기하는 것이다. 주음부호와 그 에 대응되는 한어병음(로마알파벳)을 괄로안에 표시하면 다음과 같다.
Figure pat00038
다음은 중국어의 결합운모를 설명한 것이다. 결합운모는 3가지 모음 i, u, ..u 를 앞세우고 뒤에 다른 운모가 결합하는 것이라고 한다. 다음 표는 결합운모 일람표로 결합이 가능한 경우를 표시한 것이라고 한다.
Figure pat00039
위 표에서 ia 의 결합은 가능하나, io 의 결합은 불가능한 것을 알 수 있다.
12.1.2 로마알파벳을 이용한 중국어 한어병음의 입력
결국 위의 표에서 알 수 있듯이, 로마알파벳을 이용하는 경우, 중국어의 21 개 성모는 18개 로마알파벳의 조합으로 모두 입력할 수 있고, 16개 운모는 7개의 단운모의 조합 혹은 로마알파벳 모음과 로마알파벳 자음의 조합으로 모두 입력할 수 있게 된다.
또한 단운모 중 ^e 와 ..u 는 각각 e 와 u 의 변형알파벳으로 간주하여 컨 트롤처리방법에 의하여 입력할 수 있다. 다음으로 5개의 기본모음에 4가지 성조 부호가 붙을 수 있는데, 이 역시 컨트롤처리방법에 의하여 입력될 수 있다. 결국 로마알파벳을 사용하는 중국어의 경우 5개의 로마알파벳 기본모음을 이용하여 모 든 중국어의 운모를 입력할 수 있는 것이다. 이는 영어알파벳(즉, 로마알파벳)에 존재하지 않는 변형알파벳을 컨트롤처리방법에 의하여 입력하는 것으로 프랑스어, 독일어 등의 입력에서 이미 보인 내용이다. 중국어의 운모를 컨트롤처리방법에 의하여 입력할 경우의 기본알파벳(기본모음)과 후속알파벳(후속모음)과의 부속관 계를 설정하는 예를 보이면 다음과 같다.
Figure pat00040
위의 예는 1성조 ~ 4성조의 성조부호가 붙은 알파벳이 후속알파벳으로 되었 고, ^e 는 거의 사용되지 않는다고 하므로 부속순위를 가장 하위에 둔 것이다. 부속순위는 사용빈도 등에 따라 달라질 수 있음은 물론이다. 예를 들어 ..u 를 6th 가 아닌 2nd 후속알파벳으로 하고 나머지 후속알파벳의 부속순위를 하나씩 후 순위로 둘 수도 있다.
입력예로 컨트롤버튼으로 [*] 버튼을 사용하고, 컨트롤 후입력 적용시, -e = e + [*], /e = e + [*]+[*], ve = e + [*]+[*]+[*], `e = e + [*]+[*]+[*]+[*], ^e = e + [*]+[*]+[*]+[*]+[*] 과 같이 된다. 도1-1에서 키패드상 표시된 "e" 를 부분전체선택방법을 적용하면, e = [3]+[2] 가 되므로 -e = [3]+[2] + [*] 가 된 다. 도1-1에서 키패드상 표시된 알파벳을 부분전체선택방법으로 선택하면, 人 (r/en : 제2성) 의 풀코드는 “7832**65”가 된다. 여기서 키패드상 표시된 "e" 를 입력하는데 있어서 부분전체선택방법이 아닌 어떠한 다른 입력방법(예. 단순반 복선택방법)도 사용될 수 있음은 자명하다.
결국 컨트롤버튼을 단 하나만 사용하므로 입력방법을 단순화 할 수 있다. 이는 로마알파벳을 사용하지 않고 주음부호를 사용하는 경우에도 동일하게 적용할 수 있다(예를 들어 도1-1에서 영어알파벳에 대응되는 주음부호를 표시한 키패드에 서 동일하게 입력방식 적용).
12.1.3 자모음분리키패드에서의 중국어제한 반복선택방법
중국어 성모를 18개 로마알파벳으로 모두 입력할 수 있는데, 그중 zh, ch, sh 만 로마알파벳 자음이 연속하여 나온다. 중국어에서 성모없이 운모만으로 이 루어진 음절을 한어병음으로 표기할 때, 형식적으로 y, w 등을 붙여 표시한다고 한다. 예를 들어 "衣 = yi(1성)", "五 = wu(3성)" 와 같이 된다.
그리고 선출원에서 언급하였듯이, 한자(漢字) 한글자가 한 음절을 이루는 중국어에 있어서 음절기준 이니셜코드를 심플코드로 사용하는 것이 많은 편리를 줄 수 있다. 그러므로 가능한 18개의 로마알파벳 자음이 각 숫자 버튼에 배정되 는 것이 바람직하다. 본 발명에서는 18개 로마알파벳 자음을 2개씩 그룹핑하여 [1] ~ [9] 숫자 버튼에 배정하는 것을 제시한다.
b p / d t / g k / z j / c q / s x / m n / l r / h f
위의 예는 발음의 유사성에 근거하여 그룹핑한 사례로, 심플코드의 활용시 동일한 심플코드(음절기준 이니셜코드)에 대응하는 어구(단어 혹은 구절)가 다수 인 경우 발음이 유사한 어구가 같은 음절기준 이니셜코드를 가지도록 배려한 것이 다. 위의 예는 단지 예시중 한가지일 뿐이며, 많은 변형이 가능하다. 발음의 유 사성에 의하여 그룹핑할 수도 있으며, 영어알파벳 사전순서, 영어알파벳 대응 주 음부호 사전순서 등 다양한 기준에 의하여 그룹핑이 가능하다. 이렇게 유사한 발 음을 같은 그룹으로 그룹핑하여 같은 버튼에 배정하는 또 다른 잇점은 로마알파벳 을 사용하는 모든 언어에 있어서, 유사한 발음의 자음이 연속하여 나오는 경우가 적으므로, 그 만큼 모호성이 발생할 가능성이 적어지는 것이다. 또한 심플코드 (특히 음절기준 이니셜코드)의 활용에 있어서도 동일한 심플코드에 대응되는 어구 가 다수 있더라도, 그 어구들이 유사한 발음(음가)를 가진 어구들이므로 사용자에 게 혼란을 최소화하고, 심플코드 활용에 자연스러움을 줄 수 있다.
또 한가지는 zh, ch, sh 가 중국어의 성모로써 존재하는데, z 와 h 가, c 와 h 가, 그리고 s 와 h 가 같은 그룹으로 그룹핑되지 않도록 한 것이다. (중국 어에서 보통 "성모+운모"로 음절이 이루어 지는데 본 실시예에서 같은 그룹으로 그룹핑되어도 큰 상관은 없다. 단, 도10-1에서 표시되지 않은 w, y, v 등을 입력 시 s, h, w 등을 함께 배정하고 배정된 버튼 3타로 입력하도록 하지 않으면 된다)
위에서 예시한 9개 그룹을 도10-1에서와 같이 [1] ~ [9] 의 9개 버튼에 임 의로 배정하고, 각 알파벳의 입력에 반복선택방법을 적용할 수 있다. 중국어의 특성상 성모를 입력시 zh, ch, sh 의 경우를 제외하고는 로마알파벳 자음이 연속 하여 나오는 경우는 없게된다. 따라서 반복선택방법에 의하여 알파벳을 입력하더 라도 모호성 없이 입력이 가능하다. 예를 들어 도10-1에서 b = [1], p = [1]+[1] 로 입력이 가능한 것이다. 각 버튼에 배정된 알파벳 중 어느 알파벳을 1타로 선 택되도록 할 것인지는 알파벳의 사용빈도에 따라 사용빈도가 많은 알파벳이 1타로 선택될 수 있도록 정해질 수 있음은 물론이다.
중국어에서 거의 사용되지 않는 로마알파벳 "v" 를 9개의 그룹중 임의의 그 룹에 둘 수 있다. 예를 들어 발음이 유사한 "f" 가 있는 그룹에 "v"를 추가로 두 고(혹은 명시적으로 배정하지 않고) 해당 버튼 3타로 "v"를 입력하도록 할 수 있 다. "衣 = yi(1성)", "五 = wu(3성)" 등에서 사용되는 w, 와 y 역시 적절한 자음 그룹에 두고(혹은 명시적으로 배정하지 않고) 이를 반복선택방법에 의하여 입력 (예. w와 y를 각 알파벳이 속한 버튼 3타로 입력)하도록 할 수 있다. 예를 들어 y 를 / l, r / 이 속한 그룹에 두었을 경우, 해당 버튼(도10-1에서 [8] 버튼) 1타 로 “l”을 입력하고, 2타로 “r”을 입력하고, 3타로 “y”를 입력하며, w 를 / m, n / 이 혹한 그룹에 두었을 경우, 해당 버튼(도10-1에서 [7] 버튼) 1타로 “m ”을 입력하고, 2타로 “n”을 입력하고, 3타로 “w”를 입력하는 것이다.
반복선택방법을 적용하여, 한어병음 입력시 로마알파벳 자음과 모음이 번갈 아 나오는 성질을 이용하여 모호성을 대폭 줄이는 것을 편의상 “중국어제한 반복 선택방법”이라 부른다. 이러한 성질을 특별히 중국어뿐만이 아닌 모든 언어에 일반적으로 적용시에는 편의상 “언어제한 반복선택방법(LRRSM : Language Restricted Repeat Selection Method)”이라 하고, 특별히 중국어에 적용하였을 경우를 “중국어제한 반복선택방법(Chiese Restricted RSM)”이라 한다. 언어제 한 반복선택방법은 한국어 혹은 힌디어 등에 있어서, 기본자음과 기본모음의 쌍을 각 버튼에 배정하고 반복선택방법을 적용시, 자음과 모음이 번갈아 나오는 성질을 이용하여 적은 모호성으로 입력할 수 있도록 한 것과 같은 맥락이다. 또한 한국 어의 모음요소를 활용한 방법에 있어서, 모음 “ㅡ”가 연속하여 나오지 않는 성 질을 이용하여 격음컨트롤을 반복선택방법에 의하여 선택할 수 있도록 한것도 유 사한 것이며, 이는 “한국어제한 반복선택방법” 이라 할 수 있다.
특히 도10-1 ~ 10-4에서와 같이 자음이 배정된 버튼(편의상 “자음버튼”이 라 부름)과 모음이 배정된 버튼(편의상 “모음버튼”이라 부름)을 분리하고(즉, 자음과 모음을 같은 버튼에 배정하지 않고), 반복선택방법을 적용시 자음과 모음 이 결합하는 각 언어의 특성을 이용하여 모호성을 대폭 줄일 수 있는 좋은 특징이 있게 된다. 이렇게 도10-1 ~ 10-4에서와 유사하게 자음버튼과 모음버튼을 각각 분리하여 각 버튼에 소정 개수(예. 1~3개)의 자음 혹은 모음을 배정하여 구성한 키패드를 편의상 “자모음분리키패드(CVSK(Consonant Vowal Separated Keypad))” 라 부르기로 한다.
도10-1에서 키패드상 표시된 로마알파벳 자음과 모음을 반복선택방법에 의 하여 중국어 한어병음을 입력시에도 모호성없이 입력할 수 있는 것은 쉽게 알 수 있다. 성모의 입력을 위하여 자음버튼(도10-1에서 [1] ~ [9] 버튼)중 같은 버튼 이 연속적으로 눌러졌을 때, 키패드상 표시된 2번째 자음이 입력된 것을 시스템이 쉽게 알 수 있다. 중국어 성모를 입력하기 위하여 같은 로마알파벳이 연속하여 나오는 경우가 없기 때문이다. 여기서 기 2번 눌려진 버튼이 w, y, v 등이 배정 된 버튼이고, 같은 버튼이 한번 더 눌러졌을 때(즉 3번 눌러졌을 때)는 기 설명한 바와 마찬가지로, w, y, v 등을 입력하기 위한 것을 시스템이 쉽게 알 수 있다. [7] 버튼 3타로 “w = 777” 로 입력할 경우, 이는 “mmm” 혹은 “mn” 혹은 “ nm” 으로 해석될 수 있는데, 중국어의 성모가 이와 같이 구성되는 경우는 없기 때문이다.
도10-1에서와 같이, a, e, i, o, u, ..u 의 6개의 모음을 2개씩 3개의 그룹 으로 나누어 4*3 키패드의 3개 버튼(예. [*], [0], [#] 버튼)에 두고 각각의 모음 을 반복선택방법에 의하여 모호성없이 입력할 수 있다. 이것이 가능한 이유는 중 국어에 있어서 동일한 로마알파벳 모음이 2번 연속 나오는 경우는 없기 때문이다. 예를 들어 어떤 한자를 한어병음으로 표기할 때, "…aa..." 과 같이 되는 경우는 없기 때문이다.
단 여기서 복운모 ai, ei, ou 와 결합운모의 ia, ie, uo 를 놓고 보면, a 와 i, 그리고 e 와 i 그리고 o 와 u 는 같은 그룹으로 그룹핑되지 않아야 한다는 것을 알 수 있다. 만약 a 와 i 가 같은 그룹으로 그룹핑되어 같은 버튼에 배정되 면(예. [*] 버튼), 해당버튼 3타(즉, '***')를 입력한 것이 'ai'를 입력한 것인지 'ia'를 입력한 것인지 알 수 없는 모호성이 발생할 수 있기 때문이다. 도10-1은 이러한 내용을 고려하여 그룹핑한 사례를 보여준다. 도10-1의 모음 그룹핑 및 배 치가 절대적인 것은 아니고 위 제약 사항을 만족하는 한에서 변형이 가능함은 물 론이다. 도10-1에서 각 모음을 반복선택방법에 의하여 입력할 수 있다. 예를 들 어 i = [0], o = [0]+[0], iao = [0]+[*]+[0]+[0] 와 같이 입력할 수 있다.
a 와 i, 그리고 e 와 i 그리고 o 와 u 는 같은 그룹으로 그룹핑되지 않는 한에서, “a, e, o”를 하나의 그룹으로 하고(도10-2, 도10-4 참고), 나머지 모음 “i, u, u”를 하나의 그룹으로 할 수 있다. 역시 다양한 변형이 가능할 것이다. 이 2개의 모음 그룹을 각각 3*4 키패드 내에서 임의의 버튼(예. 각각 [*], [#] 버 튼)에 할당하고, 자음 “w, y, v”를 별도의 그룹으로 나머지 버튼(예. [0] 버 튼)에 할당할 수 있다. 하나의 그룹에 3개의 알파벳이 그룹핑될 때 (예. "a, e, o"), 모음의 조합(예. "ae", "ea", "aaa")을 나타내는 해당버튼 3타에 해당하는 중국어 운모가 존재하지 않으므로, 해당버튼 3타로 "o"가 모호성 없이 인식될 수 있다. 예에서 “ao" 입력시 해당버튼 4타로 되는데, “oa”가 한어병음으로 존재 하지 않으므로 역시 모호성 없이 인식될 수 있다. 도10-6을 참고할 수 있다. 도 10-6에서 “v”는 중국어의 입력에 사용되지 않으므로 표시하지 않을 수도 있으며, “w, y” 등을 하나의 그룹으로 그룹핑하여 같은 버튼에 배정하는 것은 반자음(즉, 반모음)을 같은 버튼에 배정하는 효과가 있다.
도10-2, 10-4, 10-6에서 “a, e, o”가 같은 그룹으로 그룹핑 되었는데, “ ao”의 조합만이 가능하다. 만약 하나의 버튼에 “a, o”만이 배정된다면, 해당 버튼 3타는 “ao”로 모호성없이 인식될 수 있을 것이다. 그러나 3개의 알파벳이 배정되고 버튼 누름의 횟수에 따라 “a - o - e” 의 순서로 선택된다면, 해당 버 튼을 3번 누른 것이 “ao”인지 “e”인지 알 수 없는 모호성이 발생할 수 있다. 따라서 이러한 경우(3개 이상의 모음이 같은 버튼에 배정되고 3개의 모음 중 2개 모음의 한가지 조합이 가능한 경우)에 조합이 가능한 2개 모음을 해당 버튼 각각 1타, 2타로 선택되도록 하지 않고, 각각 1타, 3타(혹은 2타, 3타도 가능하며 해당 버튼 5타를 “ao”로 인식할 수 있음)로 선택되도록 함으로써, 언어제한을 이용하 여 모호성을 제거할 수 있다. 정리하면, 3개 알파벳 그룹에서 버튼누름 횟수에 따른 선택순서를 정함에 있어서, 연속하여 등장할 수 있는 알파벳을 각각 해당버 튼 1타, 2타로 선택되지 않도록 선택순서를 정하는 것이다.
도10-1 ~ 도 10-4 에서 로마알파벳으로 성모를 입력시, 같은 버튼이 최대 2~3 번 눌러질 수 있으며, 시스템은 버튼의 반복누름 횟수를 인식하여, 그 반복누 름횟수에 따라 타겟알파벳을 식별해낼 수 있다. 로마알파벳으로 운모입력시, 역 시 도 10-1, 도10-3 에서 같은 버튼이 연속하여 3번 눌러질 수 있는 경우는 결합 운모 “iou” 의 “io” 를 입력하기 위하여 [0] 버튼이 연속하여 3번 눌러지는 경우뿐이다. 사용자의 입력에 대하여 시스템은 “0 = i" 로 일시적으로 인식하고, [0] 버튼이외의 버튼이 눌러지면 확정한다. [0] 버튼이 한번 더 눌러 지면, 시스템은 “00 = o”로 일시적으로 인식하고, 마찬가지로 [0] 버튼 이외의 버튼이 한번 더 눌러지면 확정한다. 여기서 [0] 버튼이 한번 더 눌러지면 시스템 은 “000 = io” 로 확정할 수 있다. 왜냐하면, 한어병음의 입력에 있어서 “oi ”가 나오는 경우는 없는 “중국어제한”을 이용하기 때문이다. [*] 버튼의 경우 는 최대 2번 눌러질 수 있으므로, 시스템은 “* = a” 로 일시적으로 인식하고, “** = e” 로 확정할 수 있다. 한어병음 입력시 동일한 로마알파벳 모음이 연속 하여 나오지 않고, 같은 버튼에 배정된 모음이 연속하여 나오는 경우가 없기 때문 이다.
자모음분리키패드에서 모호성없이(혹은 중국어 이외의 경우에서 현저히 적 은 모호성으로) 입력시스템의 구성이 가능한 이유는, 같은 자음버튼(예. 도10-1에 서 [1] 버튼)이 한번 혹은 연속하여 눌러지는 동안 시스템은 동일 버튼내의 자음 중의 하나를 입력하는 것으로 인식하게되고, 뒤이어 다른 자음버튼(예. 도10-1에 서 [9] 버튼)이 눌러지면 시스템은 연속된 자음이 입력되는 것으로 인식하게 되기 때문이다. 또 한가지 이유는 각 버튼당 약 3개의 알파벳을 배정하지 않고 약 2개 의 알파벳이 배정되기 때문이다. 자음과 모음을 쌍으로 그룹핑하는 경우의 선출 원에서 언급한 바, 버튼당 3개의 알파벳이 배정되었을 때에 비하여 2개의 알파벳 이 배정되었을 때, 모호성 발생 가능성은 현저하게 줄어들며, 이는 쉽게 알 수 있 다. 또한 버튼당 2개의 알파벳이 배정되었을 때는 출원인이 제시한 연타지연시간 과 이타지연시간을 더욱 효과적으로 적용할 수 있다.
도10-7는 (R) 부분을 제외하면, 자모음분리키패드에서의 일반적인 반복선택 방법의 절차를 나타낸 것이다. 도10-7에서 편의상 입력값은 자음버튼 혹은 모음버 튼인 것으로 한다. 즉, 특별한 용도 혹은 기능(예. 후속알파벳의 입력을 위한 후 속컨트롤버튼)은 없는 것으로 가정한다. 도10-7은 절대적인 것은 아니며 단지 참 고할 수 있다. 도10-7에서 특정버튼이 한번 눌러짐에 대하여 특정버튼의 1회 누 름에 대응되는 알파벳을 타겟알파벳으로 일시적으로 인식하는 등의 세부적인 절차 는 표시하지 않고 있다. 다만 이러한 과정은 도10-7에서 (R0)과정에서 수행될 수 있다. (R)과정에서 언어제한을 판단할 수 있으며, (R)과정은 흐름도상의 임의의 부분에서 개입될 수 있다. 즉 첫번째 입력값이 자음버튼들 중의 하나이고, 연속 눌려진 버튼에 자음이 2개만 배정된 버튼이고, 같은 버튼에 배정된 알파벳이 연속 하여 나오는 경우가 없으면(예. 도10-1에서 [1] 버튼), (R1) 에서 동일버튼이 2번 눌려진 순간 입력값을 하나의 자음(예. 도10-1에서 “P”로)으로 확정할 수 있는 것이다. 이는 마치 도4-4에서 언어제한을 이용하여 모호성을 제거하는 것(반복선 택방법 적용시 모호성없이 혹은 적은 모호성으로 타겟알파벳을 확정)과 유사하다. 도10-7의 절차는 도4-4의 절차보다는 훨씬 단순한 것을 알 수 있다.
동일한 혹은 동일하지 않은 자음버튼들이 연속하여 눌러지다가, 모음버튼이 눌러지면 시스템은 기 입력된 자음버튼들의 입력값으로부터 타겟알파벳을 확정하 고, 모음처리과정을 진행하며, 모음처리과정에서의 최초 입력값은 자음처리과정에 서 마지막으로 입력된 모음버튼이 된다. 모음처리과정에서 자음처리과정으로 바 뀌는 경우에도 마찬가지이다.
도10-7에서 언어제한 (R) 에 의하여 판단하는 방법은 결합가능한 자음 및 모음의 목록(예. “ch”, “sh”, “zh”, “iao”, “iou”, “ia”, “ie”, “ uai”, “uei”, “ua”, “uo”, “ue”, “ai”, “ao", “ua”, “uo”, “..ue”, “ou” …) 혹은 (특정 키패드에서 모호성이 발생할 수 있는 경우의) 결합불가능한 자음 및 모음의 목록(예. “bb”, “aa”, “ee”, “oa”, …)을 시스템이 가지고 있으면서, 입력값이 모호성을 일으킬 수 있는 경우에, 결합불가 능한 경우를 제외하고 결합가능한 경우를 시스템에서 타겟알파벳으로 인식하도록 하는 방법이 방법이 일반적으로 가능하다. 예를 들어, 도10-2(중국어제한)에서 “ao = 0000”을 입력시, 시스템은 “ao"를 모음결합가능 목록에 가지고 있으면서, 시스템은 입력값 “0000” 에 대하여 “ao"를 타겟알파벳으로 인식할 수 있다. 또 한가지 방법은 도10-2, 도10-4의 자모음분리키패드에서 사용자의 오 입력이 없을시, [0] 버튼 만이 최대 4번 눌러질 수 있는데, 이렇게 모호성이 발생 할 수 있는 특별한 경우만 고려하여, 이 경우 “0000 = ao” 로 인식되도록 할 수 있다. 나머지 과정은 도10-7의 처리과정에 따르면 된다.
도10-7에서 생략된 부분의 절차는 기 표시된 절차와 유사함을 알 수 있다. 도10-7을 더욱 일반화하여 생략된 부분 없이 표현하면 도10-8과 같다. 도10-8은 도10-7과 같은 의미이다. 도10-8에서 {1} 부분은 버튼입력이 이루어짐을 가상적 으로 의미하며, (1) 부분으로 들어오는 화살표에 표시된 “n <- (n+1)” 은 버튼 누름의 횟수가 하나 더 증가함을 의미한다.
중국어 음절을 병음으로 표기함에 있어서, "en", "eng", "an", "ang", "er" 등의 운모가 사용되는 경우, 음절의 끝이 영어자음(영어알파벳 자음)으로 끝나게 된다 (예. ren : 人). 즉 단어 혹은 구절의 중간에서 어느 음절의 끝에 올 수 있 는 영어 알파벳 자음은 "n", "g", "r" 등 인 것이다. 이렇게 병음의 어느 음절의 끝에 올 수 있는 자음들을 편의상 "병음음절끝가능자음(CCESP : Consonants which Can be at the End of a Syllable of Pinyin)"이라 부르기로 한다.
이러한 병음음절끝가능자음이 사용되는 음절(즉, "en", "eng", "an", "ang", "er" 등의 운모가 사용되는 음절)의 경우, 대표적으로, 다음 음절의 영어 자음이 앞 음절의 영어자음인 경우 모호성이 발생할 수 있게 된다. 예를 들어, Zhongguo (中國) 의 경우, "~gg~" 가 "~k~" 로 인식될 수 있는 것이다. 이렇게 매우 특별한 경우에 모호성이 발생할 수 있는데, 이는 병음음절끝가능자음(예. "n", "g", "r" ...)을 이들이 속한 각각의 그룹에서 해당버튼 2타로 선택되도록 하면 모호성을 제거할 수 있다 (도면10-6에서와 같이 "n", "g", "r" 등이 속한 그 룹에 2개의 알파벳만이 배정되어 있을 때).
도면10-6에서 병음음절끝가능자음 중의 하나인 "n"이 해당버튼 ([7] 버튼) 2타로 선택되므로 "rennai (忍耐)"의 경우 "88**7777*#"로 모호성없이 입력될 수 있는 것과 같다. "nn"을 입력하기 위하여 "7777"을 입력하게 되는데, 이는 모호 성없이 "nn"으로 인식될 수 있는 것이다 (병음에서 단어 혹은 구절의 중간에 "mmmm", "nmm", "mnm", "mmn" 등의 조합이 불가능하므로). 즉, 도면10-6에서 " g"와 "k"의 선택순서를 "k - g" 로 하면 병음을 모호성없이 입력할 수 있는 것이 다.
이렇게 병음음절끝자음을 해당 그룹에서 2타로 선택되도록 함으로써, 모호 성을 제거할 수 있으려면, 해당 그룹에 2개의 알파벳이 그룹핑되어 있어야 한다. 만약 도면10-4에서와 같이 3개의 영어알파벳 "m, n, w" 가 그룹핑되어 있고 버튼 의 누름횟수에 따라 "m - n - w" 의 순서로 선택된다고 하면, "n"이 해당버튼 2타 로 선택된다고 할지라도, "renmin (人民)"를 입력시 "rewin" 와 모호성을 일으키 게 될 것이다 (여기서 "rewin"이 실제로 중국어 병음에서 존재하지 않으므로, 시 스템이 입력값을 "renmin (人民)"으로 인식할 수도 있지만, "rewin"이 가능한 병 음 조합이므로).
따라서 도면10-4에서와 같이 영어자음이 3개씩 그룹핑되는 것이 가능한 경 우, 병음음절끝가능자음 ("n", "g", "r" 등)은 2개의 영어자음들이 그룹핑되는 그 룹으로 그룹핑할 필요가 있음을 알 수 있다. 그리고 자음이 2개씩 그룹핑되는 경 우에도, 병음음절끝자음 중 "n" 과 "r", 그리고 "g" 와 "r" 이 같은 그룹으로 그 룹핑되는 경우 역시 모호성이 발생할 수 있는 것을 알 수 있다. 예를 들어 "n"과 "r" 2개의 영어자음이 같은 그룹으로 그룹핑되어 있으면, "~nr~" 입력시 "~rn~"과 모호성을 일으키게 될 것이다. "g" 와 "r" 이 같은 그룹으로 그룹핑되는 경우도 마찬가지이다.
도면10-*에서 "n"과 "g"는 각기 다른 버튼에 배정되어 있으므로 모호성없이 입력될 수 있다. 물론 "n"과 "g"가 같은 그룹에 그룹핑되어 있더라도, "n"과 " g"만이 그룹핑된다면, 모호성없이 입력될 수 있다. 예를 들어 "n" 과 "g"가 같은 그룹으로 그룹핑되어 [5] 버튼에 배정되어 있다면, "모음+ng" 를 입력하기 위하여 [5] 버튼이 3번 눌러지면(즉 "555"가 입력되면), 이를 "모음+gn" 이 아닌"모음 +ng"로 인식할 수 있다. 병음에서 단어의 중간에 "모음+gn"이 나올 수 없는 언어 제한을 이용할 수 있기 때문이다. 이렇게 "n", "g"가 같은 그룹으로 그룹핑되어 있을 경우, 버튼누름횟수에 따른 선택순서를 "g - n" 로 하면, 해당버튼을 2번눌 렀을때, "g"가 표시되고, 한번 더 누르면, "ng"가 표시되도록 할 수 있으므로 자 연스럽게 WISWYG (What You See is What You Get, 더 정확히는 What You Press is What You See) 를 실현할 수 있게 된다. 도10-2, 10-4, 10-6에서 모음 "a", "e", "o"가 하나의 그룹으로 그룹핑되어, [*] 버튼(도면10-6의 예)에 배정되어 있는데, 해당 버튼의 누름횟수에 따른 선택순서를 "o - e - a" 로 하면, 역시 [*] 버튼이 3번눌러졌을 때, 시스템은 "a"로 인식하여 표시하여 줄 수 있고, 다시 [*] 버튼이 한번 더 눌러지면 자연스럽게 "ao"를 표시하여 줌으로써 사용자에게 더욱 친화감 을 줄 수 있다.
"n"과 "g"만이 같은 그룹으로 그룹핑되어 어느 버튼(예에서 [5]버튼)에 배 정되어 있을 때, 모음버튼이 눌러지고 나서 "5555"가 입력된다면, "모음+ngg" 로 인식되고, "55555"가 입력된다면, "모음+ngn"으로 인식될 것이다. 중국어 병음에 서 "모음+ng"가 비교적 많이 사용된다면, 이렇게 "n" 과 "g" 를 같은 그룹으로 그 룹핑함으로써, 입력의 편리도를 높일 수 있다. 그러나, 심플코드의 활용을 위하 여 유사한 발음을 가지는 자음을 같은 그룹으로 그룹핑하는 것이 자연스러우므로 좋은 접근방법을 아니라고 할 수 있다.
"n" 과 "g" 이외의 영어자음(예. 'm')이 함께 그룹핑될 경우, 병음을 모호 성없이 입력하기 위하여, "m - n - g" 혹은 "m - g - n" 의 순서로 선택되도록 하 면(즉, 'n', 'g' 이외의 자음을 해당버튼 1타로 선택되도록 하면) 역시 모호성없 이 인식될 수 있다. 예를 들어 버튼누름횟수에 따라 "m - g - n" 의 순서로 선택 시, 모음버튼이 눌러지고 나서, 해당버튼을 5번 누른 것은 "(모음)+ng"로 인식되 고, 6번 누른 것은 "(모음)+ngm"으로, 7번 누른 것은 "(모음)+ngg"로 인식되고, 8 번 누른 것은 "(모음)+ngn"으로 모호성없이 인식될 수 있다. 그러나 "ng" 입력시 의 반복누름 횟수가 과다하게 많아지므로 바람직하지 않을 것이다.
도면10-7, 10-8, 10-9 에서, 단어의 처음이 아닌 단어의 중간에서의 자음처 리과정에서 "nX", "ngX", "rX" (대문자 "X" 는 성모를 영어자음으로 표시한 것을 의미함) 와 같이 자음이 연속하여 나오는 경우도, 병음에서 가능한 자음조합으로 입력값을 처리하면 된다. 단어의 처음에는 "nX", "ngX", "rX" 와 같이 영어자음 이 연속하여 나오는 경우는 없기 때문이다. 결국 병음의 입력에서, 단어 혹은 구 절의 중간에 나올 수 있는 영어자음은 이론적으로 "~ngch~", "~ngsh~", "~ngzh~" 와 같이 최대 4개이며, 도면10-7, 10-8, 10-9 에서 단어의 중간에서의 자음처리과 정에서 이러한 언어제한을 이용하면 된다.
음절의 끝에 영어자음이 옮으로써, 모호성이 발생할 수 있는 경우에도 모호 성없이 입력할 수 있는 방법을 제시하였다. 각 버튼에 배정된 알파벳 그룹에서, 버튼의 누름횟수에 따른 선택순서는 임의로 정해질 수 있는 것이므로 이는 선출원 에서 제시한 내용을 세부적으로 설명한 것으로 볼 수 있을 것이다. 병음음절끝자 음은 음절의 처음 그리고 끝에 모두 사용될 수 있는 자음이므로 비교적 자주 사용 되는 자음으로 볼 수 있고, 이렇게 모호성이 발생할 수 있는 것은 자주발생하는 경우가 아니라고 볼 수 있으며, 모호성이 발생할 수 있는 경우에도 병음/한자 색 인을 참조하여 존재하는 않는 병음(예에서 "rewin")을 제외시킬 수 있으므로, 입 력의 편리도 등을 고려하여, 병음음절끝자음이 속한 각 그룹에서 병음음절끝가능 자음이 선택되는 순서를 정할 수 있을 것이다.
이상의 내용을 포함하고 있는 도10-1에서 각 로마알파벳당 평균 1.5타에 입 력할 수 있으며, 실제 중국어에서의 사용빈도를 고려하여 빈출 알파벳을 1타로 선 택되도록 하면 더 적은 입력타수로 입력이 가능할 것이다.
12.1.4 컨트롤버튼으로 사용되는 기능버튼의 본래 기능 입력
도10-1에서 로마알파벳 모음에 첨자가 붙는 변형알파벳 입력시, 3*4 키패드 밖의 임의의 “별도의 버튼”을 컨트롤버튼으로 활용하여 입력할 수 있다. 예를 들어 중국어 입력모드에서 좌(左)측 이동버튼([<])을 컨트롤버튼으로 활용한다면, -e = e + [<], /e = e + [<]+[<], ve = e + [<]+[<]+[<],`e = e + [<]+[<]+[<]+[<], ^e = e + [<]+[<]+[<]+[<]+[<] 와 같이 입력할 수 있으며, 좌 이동버튼을 5번 연속하여 누르면 “e”와 결합하는 컨트롤을 더 이상 선택할 수 없으므로, 이동기능이 활성화되는 것으로 할 수 있다(“e”는 입력한 상태). 만 약 삭제 버튼(편의상 “[X]” 로 표시) 변형알파벳 입력을 위한 컨트롤버튼으로 활용한다면, -e = e + [X], /e = e + [X]+[X], ve = e + [X]+[X]+[X], `e = e + [X]+[X]+[X]+[X], ^e = e + [X]+[X]+[X]+[X]+[X] 와 같이 입력할 수 있으며, 삭제 버튼을 5번 연속하여 누르면 기 입력한 “e”가 삭제되는 것으로 할 수 있다. 이 렇게 다른 기능을 가진 버튼을 컨트롤버튼으로 활용하되, 컨트롤버튼의 누름횟수 에 따라 컨트롤이 선택되고 나서, 더 이상 선택되는 컨트롤이 없는 경우 본래의 기능(예. 이동기능)이 선택되는 것으로 할 수 있다.
위의 예에서 좌 이동기능이 활성화되고 나면, 단어시작 상태가 되므로 좌 측 이동버튼 [<] 을 한번만 누르더라도 좌측이동기능이 입력되게 된다. 즉 “e” 를 입력후 컨트롤버튼인 [<] 버튼을 5번 누르면, “e”만이 입력된 상태에서 커서 가 좌측으로 한칸 이동하게 되며, 또 한번 누르면, 다시 옆으로 한칸 이동하게 된 다. 이는 모든 언어에서 적용가능한 것이다.
12.1.5 자모음분리키패드에서의 중국어제한 반복선택방법 (3*4 키패드내에 서의 변형알파벳의 입력)
여기서는, 3*4 키패드 내에서 로마알파벳 모음위에 첨자가 붙는 변형알파벳 (성조부호가 붙는 경우 포함)까지 입력하도록 하는 것을 보인다.
결합운모 일람표를 보면, "i" 다음에 올 수 없는 모음은 "i" 와 "u" 인 것 을 알 수 있다(바꾸어 말하면 'a' 또는 'e' 또는 'o' 가 올 수 있다). 또 "u" 다 음에 올 수 없는 모음은 "u"와 "i" 인 것을 알 수 있다(바꾸어 말하면 역시 'a' 또는 'e' 또는 'o' 가 올 수 있다). 따라서 도10-2에서와 같은 모음 배치가 가능 하다. 도10-2에서 좌측의 모음 "i, a, e" 에 성조기호를 붙일 때는 우측의 "u" 가 배정된 [#] 버튼을 컨트롤버튼 처럼 사용하면 된다. 마찬가지로 우측의 모음 "o, u"에 성조부호를 붙일 때는 좌측의 [*] 버튼을 성조기호 컨트롤버튼처럼 사용 하면 된다. 예를 들어 /o(제2성) = o + [*]+[*] = [0]+[0]+[0] + [*]+[*] 으로, /a (제2성) = a + [#]+[#] = [0] + [#]+[#] 으로, ^e = e + [#]+[#]+[#]+[#]+[#] = [0]+[0] + [#]+[#]+[#]+[#]+[#] 으로 입력할 수 있다. 복운모 ao = a + o = [0] + [0]+[0]+[0] 으로 입력할 수 있으며, 모음 a 다음에 모음 a, e 등이 올 수 없고, oa 와 같은 경우도 없으므로, 모호성 없이 시스템에서 식별할 수 있다. 모 음 ..u 는 모음 u 와 모양에 있어서 유사성이 있으므로, u 가 배정된 버튼을 2타 (은닉형 반복선택방법)로 입력할 수 있다.
이는 중국어에서 모음 "a, e, o" 중 a 와 e 다음에 모음 u 가 나오지 않는 성질, 모음 o 다음에 모음 i 가 나오지 않는 성질을 이용한 것이다. 앞에서 설명 한 제약조건, 즉 a 와 i, 그리고 e 와 i 그리고 o 와 u 는 같은 그룹으로 두지 않 고, 3개의 버튼에 모음을 2개씩 배정하면서, 중국어의 로마알파벳 모음 결합 규칙 을 이용하여 도10-2에서 처럼 모음이 배정된 버튼을 컨트롤버튼처럼 사용하는 것 은 불가능한 것을 알 수 있다. 도10-2에서 i 와 u 를 [*] 버튼 또는 [#] 버튼에 둔 것은, 이들 버튼을 컨트롤버튼처럼 사용하는데 인식을 용이하게하기 위한 점 그리고 배치의 균형성 등을 고려한 것이다. 도10-2에서의 모음의 평균 입력타수 역시 도10-1에서와 마찬가지로 약 1.5 타이다.
도10-2의 변형사례로 [0] 버튼에 배정된 3개의 알파벳 중 일부를 4*3 키패 드 밖의 "별도의 버튼"으로 분리할 수도 있다. 예를 들어 상/하/좌 버튼 중의 임 의의 버튼으로 3개 알파벳 중 일부의 알파벳을 분리하여 배정할 수 있는 것이다.
도10-1 ~ 도10-4에서 반복선택방법을 적용하면서도 모호성없이 한어병음을 입력할 수 있는 것은 자음버튼([1] ~ [9] 버튼)과 모음버튼 [*], [0], [#] 버튼) 을 분리하였고, 중국어를 한어병음으로 표기할 때의 로마알파벳의 자음과 모음의 출현규칙을 이용하였기 때문이다.
12.2 자모음분리키패드에서의 영어제한 반복선택방법
영어 등의 경우에 있어서도 중국어의 경우와 유사하게 도10-1 ~ 도10-4와 유사한 자모음분리키패드(CVSK)에서 반복선택방법을 적용하여 적은 모호성으로 입 력할 수 있다. 이는 로마알파벳을 사용하는 모든 언어에서, 단어의 구조가 자음 과 모음이 번갈아 결합하는 구조로 이루어지기 때문이다.
영어의 경우 "단어시작"에서 부터 자음군이 최대한 반복되는 경우는 "strengths" 에서 와 같이 "CCCVCCCC" 의 경우라고 한다(C는 자음, V는 모음). 단어시작시 최대 3개의 자음이 올 수 있으나, 이는 "st~" 혹은 "sp~"로 시작하는 경우뿐 이라고 한다(예를 들어, spree, spleen, strength 등).
도10-1와 유사하게 자음이 약 2 ~ 3개 씩 배정된 키패드에서(편의상 도10-1 에서 "..u" 만이 배정되어 있지 않은 것으로 가정함) 사용자가 영어단어 "student"를 입력하기 위하여 "622~"를 입력시, 시스템은 "단어시작"후 입력된 "622"가 "sdd"를 입력한 것이 아니고 "st"를 입력한 것으로 처리할 수 있는 것이 다(영어의 특정 단어에서 3개의 자음이 연속하여 나올 수 있는 경우는 "st~" 혹은 "sp~"로 시작하는 경우라고 하였고 시스템이 이러한 영어단어생성규칙 혹은 알파 벳결합규칙을 기억하고 있으면 되므로). "stu~"에서 "u" 입력시는 모음이 배정된 버튼이 눌러지므로 자음군(예에서 "st")이 끝나고 모음(예에서 "u")이 오는 것을 알 수 있다. "stu"입력 후 "d"를 입력하기 위하여 "2"가 입력되면 다시 자음이 시작되는 것을 시스템이 알 수 있다. 마찬가지로 "student"의 "~ent"를 입력하기 위하여 "~**7722" 를 사용자가 입력시, "**" 이 입력되었을 때, 선출원에서 설명 한 바와 같이 영어의 경우 "a"가 연속하여 등장하지 않으므로 "aa"가 아닌 "e"가 입력된 것을 시스템이 쉽게 알 수 있고, "7722"에 대하여도 "mmt", "ndd", "nt", "mmdd" 등으로 해석될 수 있으나, 선출원에서 언급한 바와 같이 "연타지연시간" 그리고 "이타지연시간"을 각기 다르게 설정함으로써, 반복선택방법에서 발생하는 모호성을 대폭 줄일 수 있다.
자음과 모음이 혼재되어 각 버튼에 배정되어 있는 현재의 표준 영어키패드 (도1-1)에서도 이렇게 특정언어의 단어생성규칙(알파벳결합규칙)을 반영하여 반복 선택방법 적용시에 발생할 수 있는 모호성을 감소시킬 수 있다. 그러나 이렇게 자음과 모음이 하나의 버튼에 혼재하여 배정된 경우는 언어제한 입력방법(특히 반 복선택방법을 풀입력방법으로 하는)을 적용하기가 매우 어렵게 된다. 예를 들어 도1-1에서 "student"를 반복선택방법을 사용하여 사용자가 입력시, "stu~" 는 "777888~" 이 되는데, "777"에 대하여 시스템에 "s" 로 인식하였다고 가정하더라 도, 다음에 나오는 "888"이 "ut(즉 sut)"인지, "tu(즉 stu)"인지, "v(즉 sv)"인지 알 수 없게 된다(물론 영어제한 입력방법을 적용시 "s" 다음에 "ttt" 가 나올 수 없으므로, 시스템은 입력값 "888"에 대하여 "ttt"가 아닌 것으로 간주할 수는 있 음). 마찬가지로 "~de~"를 입력하기 위하여 "333"을 사용자가 입력시에도 "de"인 지 "ed"인지 알 수 없는데, "~de~"에 앞서 입력한 "888777"이 "sut", "stu", "s v"로 해석될 수 있으므로, 3가지 경우 각각에 대하여 "~de~"와 "~ed~"의 모든 경 우가 올 수 있다.
이렇게 언어제한 입력방법을 적용하더라도, 풀 입력방법으로 반복선택방법 을 적용시 많은 모호성이 발생하는 이유는, 언어제한 입력방법에 있어서 자음과 모음의 출현규칙(즉, 단어생성규칙, 알파벳결합규칙)을 이용하는데, 입력값이 자 음을 입력하기 위한 것인지, 혹은 모음을 입력하기 위한 것인지가 명확히 구분되 지 않기 때문이다. 도10-1 도10-4에서와 같이 자음과 모음이 각기 분리되어 배정 된 경우는 반복선택방법 적용시 모음이 배정된 버튼이 눌러지면, 모음을 입력하기 위한 것으로, 자음이 배정된 버튼이 눌러지면 자음을 입력하기 위한 것으로 시스 템이 인식할 수 있기 때문에 대폭 모호성을 줄일 수 있게 되는 것이다.
로마알파벳을 사용하는 영어(English)의 경우 모음이 연속하여 2개 이상 나 오는 경우는 많이 있다(예. captain 에서 ‘ai’). 또한 실제 단어에서 같은 모 음(기본모음 a, e, i, o, u)이 연속하여 나오는 경우는 food, teen 과 같이 oo, ee 의 경우는 비교적 빈번하고, vacuum 와 같이 uu 의 경우는 드물게 있다. 출원 인은 아직까지 영어사전에 존재하는 단어 중에서 ... aa ... 그리고 ... ii ... 가 연속하여 나오는 경우를 보지 못하였다. 따라서 영어의 5개 기본모음을 [*], [0], [#] 버튼에 배정함에 있어서, ‘a’를 1타로 선택되도록 하고 e, o, u 중 나 머지를 2타로 선택되도록 하면 실제로 많은 경우에 모호성이 제거된다. 예를 들 어 [*] 버튼에 모음 ‘a, o’ 를 두고 반복선택방법을 적용하면, [*] 버튼이 2타 입력되었을 때, 두개의 모음 aa 가 입력된 것이 아니고 모음 o 가 입력된 것으로 시스템이 간주할 수 있게된다. 마찬가지로 [0] 버튼에 ‘i, u’ 를 배정하고 반 복선택방법을 적용하면, [0] 버튼이 2타 입력되었을 때, 역시 2개의 모음 ii 가 입력된 것이 아니고, 모음 u 가 입력된 것으로 시스템이 인식할 수 있다. 단어에 서 aa, ii 와 같이 연속하여 나오는 경우가 없는 것이 절대적인 것이 아니라고 하 더라도, 선출원에서 언급한 “연타지연시간” 및 “이타지연시간”을 다르게 설정 하는 것으로 모호성을 거의 없앨 수 있다. 나머지 모음 ‘e’는 나머지 [#] 버튼 에 배정하고 1타로 입력하도록 할 수 있다.
만약 [*], [0], [#] 버튼 중 하나의 버튼을 특수한 용도의 버튼으로 사용하 고 싶으면, 모음 ‘e’ 를 모음이 배정된 임의의 버튼에 두면 된다. 예를 들어 ‘i, e, u’ 를 [0] 버튼에 둘 수 있다. 모음 u 는 [0] 버튼 3타로 입력하게되는 데, 이유는 모음 u 가 영어에서 가장 사용빈도가 낮은 모음이기 때문이다. 결국 ‘i, e, u’ 가 [0] 버튼에 배정된 상태에서 영어에서 i 가 연속하여(즉 ...ii...) 나오는 경우가 없으면, i 와 e 는 모호성 없이 입력될 수 있고(각각 1 타, 2타), u 를 [0] 버튼 3타로 입력시, u 인지, ie 인지, ei 인지 알 수 없는 모 호성이 발생하게 된다. u 의 사용빈도가 낮은 것은 이러한 경우가 적게 일어나게 됨을 의미한다.
결국 자모음분리캐패드를 이용하여 모호성을 대폭 줄일 수 있고, 더 나아가 다수의 모음을 하나의 버튼에 배정함에 있어서, 사전에 존재하는 영어의 단어중에 서 동일한 모음이 연속하여 나오지 않는 모음을 1타로 선택하도록 하여 복수개의 모음이 배정된 버튼에서 반복선택방법으로 모음을 입력함에 있어서, 거의 모호성 없이 입력할 수 있게 된다.
이렇게 연속하여 등장하지 않는 모음을 1타로 선택하도록 하는 것, 그리고 가장 사용빈도가 낮은 모음을 3타로 선택하도록 하는 것은 버튼당 약 2~3개의 자 음이 배정되는 경우에도 동일하게 적용할 수 있다.
위에서는 로마알파벳을 사용하는 영어의 경우를 예로 들어 설명하였으나, 로마알파벳을 사용하는 타 언어의 경우에도 이를 동일하게 적용할 수 있다.
12.3 자모음분리키패드에서의 인도네시아어제한 반복선택방법
인도네시아어도 로마알파벳(영어알파벳)을 이용하여 단어를 표기한다. 인 도네시아어의 음절은 다음의 경우와 같이 구성된다고 한다. (C 는 자음, V 는 모 음)
V : be-a 관세
VC : am-bil 잡다
CV : go-sok 문지르다
CVC : pon-dol 오두막
CCV : tra-di-si 전통
CCVC : con-trak 계약
CVCC : teks-tur 직물
CCCV : kon-struk-si 건설
CCCVC : strip-tis 나체춤
자음이 3개 이상 나오는 경우는 쉽게 알 수 있듯이 영어 등에서 온 외래어 이다. 이상에서 알 수 있듯이 인도네시아어의 경우도 “st~” 혹은 “sp~” 로 시작하지 않으면, 단어의 첫머리에 자음이 3개 이상 반복하여 나오지 않는 것을 짐작할 수 있다. 따라서 이러한 단어생성규칙(알파벳 결합규칙)을 이용하여 인도 네시아어제한 반복선택방법을 적용할 수 있다.
q, x 는 물리학, 수학 등의 자연과학 기호에 사용되고 있다고 한다. 즉 문 자입력에는 거의 사용되지 않는 것으로 생각된다. 따라서 q, x 는 특정 그룹에 명시적으로 배치하지 않을 수도 있고, 입력에 있어서도 3타에 입력하도록 할 수 있다. 또한 중국어의 경우와 마찬자지로 2개 이상의 로마알파벳을 조합하여 하나 의 인도네시아어 음을 표기하는 경우가 있으며, ny, sy, kh, ng 등 4가지 이다.
이외에 분철되지 않는 자음군으로는 bl, br, dr, dw, dy, fl, fr, gl, kr, ks, kw, pl, ps, rps, rs, sk, skr, sl, sp, spr, sr, str, sw 등이 있다고 한다. 특히 “skr~”, “spr~”, “str~” 등은 단어의 첫머리에 나올 수 있으므로 후술 하는 언어제한 병행입력방법에서 입력값이 풀코드인지 심플코드인지를 판별하는 수단으로 활용할 수 있다. (출원인으로써, “rps”가 단어의 첫머리에 나오는 경 우가 있는지 모르나, 있다면 이 역시 마찬가지로 활용할 수 있다.)
영어 알파벳 자음21개중 q, x 를 제외한 19개의 자음을 9개의 그룹으로 그 룹핑하는 어떤 방법이든 가능하나, 인도네시아어의 특성을 반영하여 그룹핑하면 된다. 예를 들어,
BP / DT / GK / CJ / MN / LR / SZ / FV / HWY
와 같이 그룹핑할 수 있다.
q와 x 는 적절한 그룹에 그룹핑할 수 있다. 예를 들어 q 를 “GK” 그룹에 두고, x 를 “SZ” 그룹에 그룹핑할 수 있다.
인도네시아어 모음을 표기하는데에는 a, i, u, e, o 5개의 모음이 사용된다. 또 ai, au, oi 3개의 이중모음이 있으며, oi 는 매우 드물게 쓰인다고 한다. 따라서 5개의 모음을 2개 혹은 3개의 그룹으로 그룹핑하는데 있어서도 가 능한한 a 와 i 가, 그리고 a 와 u 가 같은 그룹에 그룹핑되지 않도록 하는 것이 바람직할 것이다. 예를 들어, ae / uo / i 와 같이 그룹핑하는 것이다. 또한 영 어의 경우와 같이 같은 모음이 연속하여 나오지 않는(연속하여 나오더라도 출현빈 도가 적은) 모음을 각 그룹에서 그 모음이 속한 버튼 1타로 선택하도록 하는 것이 바람직할 것이다.
12.4 자모음분리키패드에서의 일본어제한 반복선택방법
일본어의 입력에 있어서 로마알파벳을 이용하여 일본어 발음을 입력하고 이 를 다시 일본어로 변환하는 방법이 널리 사용되고 있었다. 따라서 도10-1 ~ 10-4 와 유사한 자모음분리키패드에서 로마알파벳을 이용하여 일본어음을 입력하고 이 를 일본어로 변환하는 것이 가능할 것이다. あ, い, う, え, お 는 각각 a, i, u, e, o 로 표기할 수 있다. な, に, ぬ, ね, の 는 각각 na, ni, nu, ne, no 로 표 기할 수 있으며, 나머지 알파벳도 로마알파벳 자음과 모음을 조합한 형태로 표기 할 수 있다.
일본어에서 로마알파벳 자음이 연속하여 2번 나오는 것은 촉음 혹은 요음 (작은 글씨로 표기됨)이 사용되는 경우이다. 또한 로마알파벳 모음이 연속하여 나오는 경우는 단어중에 あ, い, う, え, お 의 조합이 연속하여 나오는 경우가 흔하지 않다는 가정하에 살펴보면, 많아야 2번 정도이며, 3번 이상 연속하여 나는 경우가 매우 드문 것을 알 수 있다. 따라서 로마알파벳의 5개의 모음(a, i, u, e, o)을 도10-1 ~ 10-4와 유사하게 3개의 그룹으로 나누어 3개의 버튼에 배정하고 반복선택방법에 의하여 모음을 입력하더라도 모호성이 별로 발생하지 않는 것을 알 수 있다. 특히 일본어의 경우 “a“ 가 입력되면 대응되는 일본어가 “あ”인 것을, “na”가 입력되면 그에 대응되는 일본어가 “な”인 것을 쉽게 알 수 있다 (나머지 일본어 알파벳에 대해서도 동일함). 따라서 사용자가 “na”를 입력하고, 입력값이 “na” 인 것을 시스템에서 확인하는 순간, 시스템이 사용자 에게 “な” 를 제공할 수 있다.
50음도표의 일본어 표기에 사용되는 로마알파벳 자음은, k, s, t, n, h, m, y, r, w, g, z, d, b, p 의 14개 이다. 요음의 표기에는 로마알파벳 자음2개를 조합하여 표현하거나(예. cha, sha), “y”를 조합하여 표현(예. kya)하거나, “j ” 를 사용하여 표현한다. 로마알파벳 자음이 연속하여 2번이상 나오는 경우는 ch, sh, ky, ny, hy, my, ry, gy, py, py 등의 경우와, 촉음이 사용되는 경우이다. 촉음이 사용되면, k, s, t, p 중에서 같은 알파벳이 연속하여 나오는 경우가 있게 된다고 한다(예. ippai). 따라서 16개(14개 + c, j)의 로마알파벳 자음이 일본어 입력에 필수적임을 알 수 있고, 이렇게 일본어 입력에 필수적인 자 음을 입력하기 용이하도록 자모음분리키패드를 구성할 수 있다. 나머지 5개의 로 마알파벳 자음(f, l, q, v, x) 역시 영어 등을 입력하기 위하여 필요할 것이나, 16개 알파벳을 중심으로 그룹핑할 수 있다. 예를 들면 다음과 같다.
BP / DT / GK / CJ / H / MN / R / SZ / YW / => 9개 그룹으로 그룹핑
BP / DT / GK / CJ / H / MN / Y / SZ / RW / => 9개 그룹으로 그룹핑
BP / DT / GK / CJ / HR / MN / SZ / YW / => 8개 그룹으로 그룹핑
영어의 입력에 필요한 5개의 로마알파벳 자음은 중국어의 경우에서와 같이 각 그룹에 적절히 추가할 수 있다. 8개의 그룹으로 그룹핑 한 사례에서는 3*4 키 패드에서 나머지 4개 버튼을 모음버튼으로 활용할 수도 있고, 모음버튼을 3개만 사용한다면, 나머지 한 개의 버튼을 영어입력에 필요한 자음을 위한 용도로 활용 할 수도 있다.
12.5 의도적 언어제한해제
언어제한 반복선택방법은 사전(dictionary)에 존재하는지 여부와 상관없이 모든 단어를 입력할 수 있도록 하는 "풀입력방법"의 장점을 희생하는 것이므로 사 용자로 하여금 이러한 언어제한의 제약을 둘 것인지 두지 않을 것인지를 미리 설 정할 수 있도록 하는 것이 바람직하다. 그러나, 언어제한 입력방법을 가능하게 하는 "언어제한 입력모드"에서도, 사용자가 사전에 존재하지 않고 단어생성규칙 (알파벳결합규칙)에 어긋나는 단어를 입력하고자 할 경우는 알파벳 입력후 특정기 능(예를 들어, 공백과 좌측진행 혹은 단어종료 등)을 입력하여 타겟알파벳을 의도 적으로 확정시킨 후, 다음 알파벳을 입력함으로써 모든 알파벳 조합을 입력할 수 있다. 예를 들어, 도10-1에서 "영어제한 입력모드"에서 사용자가 "622~" 를 입력 하면, 시스템은 "sdd~"가 아닌 "st~"로 인식한다고 하였는데, 만약 사용자가 "sdd~"를 입력하고 싶으면 "62"를 입력 후 공백과 좌이동 기능을 입력하고 "2"를 입력하거나 혹은 "62"를 입력 후 "단어종료기능(혹은 단어종료의 효과를 줄 수 있 는 컨트롤)"을 활성화시킬 수 있는 다른 어떤 수단을 입력하고 "2"를 입력하면 된 다. "62" 입력후 단어종료기능이 활성화되면 시스템은 다음에 입력되는 "2"는 " 단어시작" 후 처음으로 나오므로 이를 "d"로 인식할 수 있는 것이다. 이렇게 의 도적으로 단어종료기능을 입력하여 특정 언어제한 입력모드에서 언어제한을 극복 하는 것을 편의상 "의도적 언어제한해제"라고 부르기로 한다. "sdd~" 의 예는 " 의도적 영어제한해제"인 셈이다.
마찬가지로 도10-2에서 "중국어제한 입력모드(중국어제한 반복선택방법 적 용)"에서 사용자가 한어병음으로는 존재하지 않으나, 영어에는 존재하는 모음 조 합인 "ui"를 입력하고 싶으면, "u" 를 입력후 단어를 종료시킬 수 있는 수단(앞의 예에서 언급)을 다시 입력하고 나서, "i"를 입력하면 된다. 그렇지 않고 도10- 2를 기준으로 "중국어제한 입력모드(중국어제한 반복선택방법 적용)"에서 "u" 입 력후 "i" 가 배정된 버튼을 누르면 선출원에서 언급한 바와 같이 "u" 의 변형알파 벳(예. "u"에 성조부호가 붙는 알파벳 혹은 "u" 위에 ".."이 붙는 알파벳 - "..u" 를 "u"의 변형알파벳으로 간주하여 입력하도록 할 경우)이 입력되게 될 것이다(중 국어제한 반복선택방법 적용시 "i" 가 배정된 버튼을 모음 "u", "o" 다음에 입력 할 경우 컨트롤버튼처럼 사용한다고 하였으므로). 결국 사용자는 중국어제한 입 력모드에서도 한어병음에 존재하지 않는 조합의 단어(예를 들어 영어단어 등 모든 알파벳 조합)를 입력할 수 있는 것이다. 다시 말하면 중국어를 주로 사용하는 사 용자가 중국어제한 입력모드(중국어제한 반복선택방법적용 모드)로 설정한 상태에 서, 그 설정을 다시 바꾸지 않고도 중국어에 존재하지 않는 모든 알파벳 조합을 입력할 수 있는 것이다. 이는 "의도적 중국어제한해제"인 셈이다.
도4-5의 한국어의 3개 모음요소를 이용한 방법에서 낱글자로써 자음 혹은 모음을 입력시에도 동일하게 적용할 수 있다. 예를 들어 도4-5에서 낱글자로써의 자음 "ㄱ"과 모음 "ㅡ"를 입력하고자 하면, "단어시작" 상태에서 [1]을 입력하고 나서 단어종료기능을 줄 수 있는 수단을 입력하고, 다시 단어시작 상태에서 [*]을 입력하면 된다. [1] 버튼과 [*] 버튼을 연속하여 입력하면 "그"가 되기 때문이다. 표준 키보드(영어 및 한국어의 표준키보드)에서는 우측 화살표 버튼을 누르면 "단어종료" 공백이 입력되지 않고 단어종료기능일 활성화되도록 되어 있으 며, 본 발명에도 우측 화살표 버튼이 추가로 구비되는 경우 이는 동일하게 적용할 수 있다.
12.6 언어제한해제 지연시간
"연타지연시간"과 "이타지연시간" 을 하나의 버튼에 3개 이상의 알파벳이 배정된 경우에도 적용할 수 있다고 하였다. 예를 들어 도1-1의 표준 영어키패드 에서 연타지연시간을 0.1초로 설정하여 [2] 버튼이 0.1초 이내에 2번 눌러지면, B 를 입력한 것으로 시스템이 간주할 수 있도록 할 수 있다.
마찬가지로 [2] 버튼이 연속 3번 눌러졌을 때(즉, [2]+[2]+[2]), 첫번째 입 력값과 두번째 입력값(즉, 첫번째 [2] 버튼과 두번째 [2] 버튼) 사이의 지연시간 간격이 연타지연시간으로 설정된 시간(예. 0.1 초) 이내이고, 두번째 입력값과 세 번째 입력값 사이의 지연시간 간격이 연타지연시간으로 설정된 시간(예. 0.1초) 이내이면(즉 [2] + 0.1초 이내 + [2] + 0.1초 이내 + [2]), C 를 입력한 것으로 시스템이 인식하도록 할 수 있다. 혹은 [2] 버튼이 연속 3번 눌러졌을 때(즉, [2]+[2]+[2]) 전체 입력시간이 연타지연시간의 2배(예. 0.2초) 이내이면, C 를 입 력한 것으로 시스템이 인식하도록 할 수도 있다.
또한 영어의 경우 예를 들어 도10-1에서 "..u" 가 없는 상태를 가정하고, 영어의 모음 "a" 가 연속하여 나오지 않는 성질, "i" 가 연속하여 나오지 않는 성 질을 엄격하게 적용하면, "NII"와 같은 약자를 입력시, 반드시 단어종료기능의 입 력에 의한 "의도적 영어제한해제"를 통하여 영어제한 반복선택모드에서 "NII"를 입력할 수 있을 것이다. 그러나 "NI"를 입력후 일정시간이 지나면 단어종료기능 을 굳이 입력하지 않더라도 NI 가 확정되도록 할 수 있다. 이 일정시간은 선출원 에서 언급한 "이타지연시간"과 동일하게 설정할 수도 있으나, "이타지연시간"보다 더 길게 설정하는 것이 바람직 할 것이다. 예를 들어 "NI"를 입력후 2초가 경과 하면 단어종료기능을 입력하지 않더라도 NI가 확정되고, 시스템은 다시 "단어시작" 상태로 되도록 하는 것이다. 이 편의상 "일시적 언어제한해제 지연시 간"이라 부르며, 역시 사용자로 하여금 설정할 수 있도록 하는 것이 바람직할 것 이다. 이는 모든 언어에서 동일하게 적용할 수 있음은 자명하다.
각종의 지연시간을 정리하면 다음과 같다.
연타지연시간 ≤ 이타지연시간 ≤ 일시적 언어제한해제 지연시간
3가지 지연시간은 모두 같게 설정될 수도 있으나, 연타지연시간보다는 이타 지연시간을 길게, 그리고 이타지연시간보다는 일시적 언어제한해제 지연시간을 길 게 설정하는 것이 바람직할 것이다.
12.7 자모음분리키패드에서의 포루투갈어제한 반복선택방법
포루투갈어에서 k, w, y 는 약자 혹은 외래어에만 쓰인다고 하나, 역시 문 자입력을 위하여 필요할 것이다. 포루투갈어에서 겹자음은 다음과 같다고 한다.
bl, cl, dl, fl, gl, pl, tl,
br, cr, dr, fr, gr, pr, tr, vr
이외에도 gn, mn, pn, ps, pt, tm, ch, lh, nh, rr, ss 와 같이 겹자음이 있다고 한다. 따라서 포루투갈어제한입력방법을 위한 자모음분리키패드를 구성함 에 있어서, 위 연속하여 나오는 위 알파벳들이 같은 그룹으로 그룹핑되지 않도록 할 필요가 있다. 예를 들어 도10-* 을 참고할 수 있다. 다만 “mn”이 같은 그 룹으로 그룹핑되어 있는데, 이는 적절히 변형하여 다른 그룹으로 둘 수도 있다. 도10-* 의 키패드가 다른 언어에도 유사하게 적용될 수 있는 것은 발음의 유사성 에 근거(예. 유사한 음가를 가지는 유성음과 무성음을 같은 그룹으로 - 예. /b p/, /d t/, /g k/ … - 그룹핑)하여 그룹핑하였고, 유사한 발음을 가지는 알파벳 이 연속하여 나오는 경우는 적기 때문이다.
포루투갈어 기본모음은 a, e, i, o, u 의 5개 모음이 있고, 이중 a, e, o 는 강모음 I, e 는 약모음 이라고 한다. 서로 다른 2개의 모음이 연속하여 나오 는 경우는 “강모음+약모음” 의 6가지(ai, au, ei, eu, oi, ou), 그리고 “약모 음+약모음”의 1가지(ui) 라고 한다. 즉 강모음과 약모음을 각각 별도의 그룹으 로 그룹핑할 수 있다 (예. 도10-6에서 “..+u”가 없는 상태). 이러한 그룹핑 이 외에도 약모음과 강모음을 같은 그룹으로 되지 않도록하여 임의 개수의 그룹으로 그룹핑하는 것도 가능하다. 예를 들어 /a / e o / u i/ 와 같이 그룹핑할 수도 있다.
12.8 자모음분리키패드에서의 스페인어제한 반복선택방법
스페인어에는 영어에 없는 알파벳으로 “~+n (n 위에 ~ 가 붙은 알파벳)” 이 있다. k 와 w 는 외래어의 표기에만 쓰인다고 하나, 문자입력을 위하여 역시 필요할 것이다. 스페인어에서 겹자음은 다음과 같다고 한다.
bl, cl, dl, fl, gl, pl
br, cr, dr, fr, gr, pr, tr
즉 스페인어제한입력방법을 위한 자모음분리키패드를 구성함에 있어서, l 과 r 이 함께 배정되지 않는 것이 필요하고, 위 이중자음을 구성할 수 있는 알파 벳이 같은 그룹으로 그룹핑되어 같은 버튼에 배정되지 않아야 한다. 도10-1 ~ 10-4, 및 도10-6의 자음 그룹핑을 참고할 수 있다.
스페인어 기본모음은 a, e, i, o, u 의 5개 모음이 있고, 이중 a, e, o 는 강모음 I, e 는 약모음 이라고 한다. 서로 다른 2개의 모음이 연속하여 나오는 경우는 “강모음 + 약모음” 의 6가지, “약모음+강모음”의 6가지, 그리고 “약 모음+약모음”의 2가지(iu, ui) 라고 한다. 3중모음의 경우도 “약모음+강모음+ 약모음”과 같이 조합된다고 한다. 즉 강모음과 약모음을 각각 별도의 그룹으로 그룹핑하면(예. 도10-6에서 “..+u”가 없는 상태), “약모음+약모음”의 경우만 모호성이 있게 된다. 이 경우 iu, ui 가 모두 가능하므로, 연타지연시간/이타지 연시간을 적용하여 혹은 의도적언어제한해제 등 출원인이 제시한 방법을 이용하여 모호성을 극복할 수 있다. 동일한 모음이 연속하여 등장하는 경우, 동일한 자음 이 연속하여 등장하는 경우 및 그외 모호성이 발생할 수 있는 경우도 마찬가지이 다.
12.9 자모음분리키패드에서의 이탈리아어제한 반복선택방법
이탈리아어에서 j, k, w, x, y 는 고어 혹은 외래어의 표기에만 쓰인다고 한다. 영어 등의 입력을 위해서는 필요할 것이다. 자음의 그룹핑에 있어서, 이 5개의 자음을 제외한 나머지 자음을 중심으로 그룹핑하고, 나머지 5개의 자음을 적절히 그룹핑할 수 있을 것이다.
이탈리아어에서 이중모음은 ia, io, ie, iu, ai, ei, oi, ui, uo, ou, eu 등이 있다고 한다. 역시 iu, ui 를 제외하면 강모음(a, e, o)와 약모음(u, I)의 조합이다. 삼중모음의 경우도 “약모음+강모음+약모음”의 구조이다. 따라서 /a e o/, /u I/ 와 같이 강모음과 약모음의 그룹핑을 이용할 수 있으며, ui, iu 의 경우는 모호성이 있을 수 있게 된다.
12.10 자모음분리키패드에서의 독일어제한 반복선택방법
독일어의 복자음은 ch, chs, ck, ds, dt, ng, nk, pf, ph, sch, sp, st, th, ts, tz, tsch 등이 있다고 한다. 역시 연속하여 나오는 자음이 같은 그룹으 로 그룹핑되지 않도록 그룹핑함에 도10-* 의 자음 그룹핑을 참고할 수 있다. 또 한 독일어에서 “sch~” 의 경우는 어두에 자음이 3개 이상 나올 수 있는 경우라 고 하므로 후술하는 언어제한병행입력방법에서 이를 활용할 수 있다. Tsch의 경우 도 어두에 나올 수 있으나 매우 드물게 쓰인다고 한다.
독일어에는 5개의 단모음이 있고, a, o, u 위에 “..” 이 붙는 변모음이 있다. 이중모음으로는 au, ei, ai, eu, “..au”, ie, 등이 있다고 한다. 단모 음(기본모음)만을 이용하여 모음을 입력시, ie, ei 의 경우가 있으므로, i 와 e 를 다른 그룹으로 그룹핑하는 것이 필요하다. 예를 들어, /a e o/, /I u/ 와 같 이 그룹핑할 수 있으며, 많은 변형이 가능하다.
동일한 자음 혹은 모음이 연속하여 나오는 경우는 출원인이 제시한 여러가 지 방법에 의하여 모호성을 회피할 수 있다.
12.11 베트남어제한 입력방법
12.11.1 자모음분리키패드에서의 베트남어제한 입력방법
베트남어의 음절은 주로 “모음”, “자음+모음”, “모음+자음”, 및 “자 음+모음+자음”의 형태로 이루어진다고 한다. 특히 베트남어에는 단음절어가 기 본을 이루고 있다고 한다. 복음절어가 증가하고 있기는 하지만 단음절어가 많다 는 것은 자모음 분리키패드에서 입력시스템을 구성하기 용이하다는 것을 의미한다.
베트남어에는 a, e, i(y), o, u 5개의 기본모음과 “v+a (a 위에 v가 붙은 모음. 이한 ‘x+모음’ 은 모음 위에 ‘x’가 붙은 모음)”, “^+a”, “^+o”, “,+o”, “,+u” 등 6개의 변모음이 있다고 한다. “y”는 “i”를 길게 발음한 다고 한다. 5개의 기본모음만으로 자모음 분리키패드를 구성하고 나머지 변모음 을 컨트롤처리방법에 의하여 입력할 수 있다. 기본모음과 변모음 일부만으로 자 모음분리키패드를 구성할 수도 있고, 혹은 11개의 모음 모두로 자모음분리키패드 를 구성할 수도 있다.
베트남어2중모음 및 3중모음은 그 결합형태가 다양하여 5개의 기본모음을 도10-*에서와 유사하게 2~3개의 그룹으로 그룹핑하면서 반복선택방법 적용시 모호 성이 없도록 그룹핑하는 것이 쉽지 않다. 또한 베트남어에는 6가지 성조가 있으 며, 5가지 성조부호가 모음 위 혹은 아래에 표시된다. 그리고 베트남어에서 동일 한 모음이 연속하여 나오는 경우는 없는데, 이는 베트남어의 모음을 입력하는데 있어서 유용한 성질이다. 따라서 5개의 기본모음을 5개의 그룹으로 두고, 은닉형 반복선택방법 의하여 변모음을 입력하고, 또 컨트롤처리방법에 의하여 기본모음 및 변모음에 성조부호를 붙이는 것을 생각할 수 있다. 여기서 y 는 i 의 변모음 으로 간주할 수 있다. 즉 모음을 / ‘a’, ‘v+a’, ‘^+a’ / ‘o’, ‘^+o’, ‘,+o’ / ‘u’, ‘,+u’ / ‘i’, ‘y’ / ‘e’, ‘^+e’ / 의 5개 그룹으로 나누는 것이다. 이를 변형하여 변모음의 수가 적은 그룹을 합하여 4개 그룹으로 만드는 것도 가능하다. 예를 들어 / ‘a’, ‘v+a’, ‘^+a’ / ‘o’, ‘^+o’, ‘,+o’ / ‘u’, ‘,+u’ / ‘i’, ‘y’, ‘e’, ‘^+e’ / 의 4개 그룹으로 나 누는 것이다. 단 5개의 그룹으로 두면 반복선택방법을 적용하여 모음을 모호성없 이 입력할 수 있게 된다. 각 그룹에서 임의의 알파벳을 대표알파벳으로 하여 키 패드상에 표시하고 나머지 알파벳은 표시하지 않을 수 있다. 주로 단모음이 대표 알파벳이 되는 것이 자연스러울 것이며, 4개의 그룹으로 나누는 사례에서, i, e 가 모두 표시되는 것도 가능하다. 버튼누름횟수에 따른 선택순서는 사용빈도 등 을 고려하여 정해질 수 있다.
베트남어의 자음으로는 영어에 없는 “-+d (‘d’ 가운데에 ‘-‘)” 가 있 고, 영어의 f, z 등이 쓰이지 않는다고 한다. ‘-+d’는 ‘d’ 의 변형알파벳으 로 간주하여, (은닉형) 반복선택방법 혹은 컨트롤처리방법 등을 적용할 수 있다. 교과서에 따라서는 베트남어에서 f, w, z가 사용되지 않는다고 하기도 하고, 또 어떤 교과서에서는 반자음으로 w, j 가 사용된다고도 한다. 최소한 f, z는 사용 되지 않고, w 는 드물게 사용되는 것으로 볼 수 있다. 본 발명에서는 w를 사용되 지 않는 것으로 간주하나, 필요한 경우 적절한 그룹에 포함시키면 된다.
또한 복자음으로 ch, gh, gi, kh, ng, ngh, nh, ph, qu, th, tr 등이 있다 고 한다. 이중 gi, qu 는 형태상으로 자음과 모음의 결합이므로 여기서는 고려하 지 않는다. 베트남어가 주로 단음절어로 이루어져 있다는 것은 타 언어와 달리 “자+모+자” 로 이루어진 음절이 연속하여 나오는 경우가 거의 없다는 것을 의미 하고, 위의 복자음의 경우를 제외하고는 자음과 자음이 연속하여 나오는 경우가 거의 없다는 것을 의미한다. 결국 자음을 몇 개의 그룹으로 나누어 반복선택방법 을 적용함에 있어서 위의 복자음을 구성하는 자음이 같은 그룹으로 그룹핑되지 않 도록 그룹핑하면 중국어의 사례에서와 같이 자음을 모호성없이 입력할 수 있게 된 다.
예를 들어, b p / d t / g k / c q / s x / m n / l r / h v j와 같이 8개 의 그룹으로 그룹핑할 수 있다. 또한 b p v / d t / g k q / s x c / m n j / h l r / 와 같이 6개의 그룹으로 나눌 수도 있다. 임의의 그룹으로 그룹핑하는 것 도 가능할 것이다. f, z, 등의 사용되지 않는 자음은 적절한 그룹에 추가적으로 포함시킬 수 있다.
자음을 8개의 그룹으로 나누고, 모음을 4개의 그룹으로 나누면, 3*4 키패드 내에서 자음과 모음을 모두 수용할 수 있다. 자음을 6개의 그룹으로 나누고, 모 음을 5개의 그룹으로 두면 11개 버튼에서 자음과 모음을 수용할 수 있으며, 나머 지 하나의 버튼을 모음에 성조부호를 붙이기 위한 컨트롤버튼으로 사용할 수 있다. 자음을 6개 그룹으로 나누고, 모음을 4개 그룹으로 나누면, 10개의 숫자버 튼으로 자음버튼과 모음버튼을 모두 수용할 수 있으며, 이는 심플코드 활용에 있 어서 심플코드가 숫자로만 이루어지게 하는 효과가 있다. 나머지 2개의 버튼은 성조부호를 입력하기 위한 컨트롤버튼 및 모호성을 제거하기 위한 후속컨트롤버튼 으로 활용할 수 있다.
12.11.2 자음과 모음의 쌍을 이용하는 베트남어제한 입력방법
베트남어의 모음과 자음을 쌍으로 그룹핑하고 반복선택방법을 적용할 수 있 다. 한국어의 경우를 참고할 수 있다. 자음과 모음의 쌍을 10개로 하면, 나머지 자음과 모음은 컨트롤처리방법에 의하여 입력하면 된다.
12.12 자모음분리키패드에서의 러시아어제한 입력방법
러시아어를 위한 자모음분리키패드를 구성하기 위하여 출원인의 선출원 PCT/KR02/00247 을 참고할 수 있다.
러시아어에는 33개의 알파벳이 존재한다. 그중 10개는 모음이고, 20개는 자음이며, 1개의 반모음(혹은 반자음), 그리고 2개의 기호알파벳(경자음부호, 연 자음부호)으로 구성되어 있다.
다음은 33개의 자모를 알파벳 순서에 따라 대문자와 소문자를 나열한 것이 다.
АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
абвгдеёжзийклмнопрстуфхцчшщъыьэюя
20개의 자음은 다음과 같이 유성자음과 무성자음으로 나누어진다. 괄호안 은 발음을 의미한다.
Figure pat00041
모음은 경모음과 연모음으로 나누어진다.
Figure pat00042
러시아어의 자음을 적절하게 그룹핑하는데 있어서, 유사한 음가를 가지는 유성음과 무성음을 그룹으로 둘 수 있다. 예를 들어 /б(b) п(p) / д(d) т(t) / … 와 같이 분류하는 것이다. 발음상 쌍을 이루지 않는 자음들은 선출원에서 제시한 바와 같이 적절히 그룹핑할 수 있다. 몇가지 예를 들면 다음과 같으며, 쌍을 이루는 무성음과 유성음을 함께 그룹핑하면서 다양한 변형이 가능하다.
10개 그룹핑
사례1 : БП/ ДТ/ ГК/ ВФ/ ЗС/ ЖШ/ ЛР/ МН/ ХЦ/ ЧЩ
사례2 : БВ/ ГК/ ДТ/ ЖЗ/ ЛР/ МН/ ПФ/ СХ/ ЦЧ/ ШЩ
9개 그룹핑 사례 : (b) п(p) / д(d) т(t) /г(g) к(k) / в(v) ф(f) х(x) / з(z) с(s) / ж(zh) ш(sh) / ц(ts) ч(tsh) щ(shsh) / л(l) р(r) /м(m) н(n)
8개 그룹핑 사례 : (b) п(p) / д(d) т(t) /г(g) к(k) / в(v) ф(f) х(x) / з(z) с(s) ж(zh) / ш(sh) ц(ts) ч(tsh) щ(shsh) / л(l) р(r) / м(m) н(n)
7개 그룹핑 사례 :
. . . . . .
위의 예에서 반자음 Й 및 경자음 부호 Ъ와 연자음 부호 Ь를 적절한 그룹 에 포함시킬 수도 있다. 또한 이러한 그룹을 각 버튼에 배정함에 있어서 키패드 를 간결하게 유지하기 위하여 일부의 알파벳(예. Й, Ъ, Ь 및 이외의 알파벳) 을 생략하고 표시하지 않을 수도 있다.
모음 역시 경모음과 연모음의 쌍을 이용하여 10개의 모음을 5개의 그룹으로 그룹핑할 수 있다. 러시아어의 모음 알파벳은 10개가 있고, 발음으로는 11개의 모음 소리가 있으나, 모음의 기본음소는 (a), (e), (i), (o), (u) 의 5개가 있다 고 한다. 이중 (e), (o) 는 강세 아래에서만 나타난다고 한다. 즉 모음 음소 (a), (o)를 강모음으로 볼 수 있을 것이다. 강세가 없는 위치에서의 모음음소는 나머지 3개 라고 한다. 따라서 러시아어의 10개 모음 알파벳 중 5개의 기본 알파 벳을 두고, 이중 강모음에 해당하는 모음을 하나의 그룹으로 또 나머지 나머지 3 개의 기본모음을 또 하나 혹은 하나 이상의 그룹 나눌 수 있을 것이다. 같은 종 류의 모음이 연속하여(예. 강모음 다음에 연속하여 강모음) 나오기 어려운 것을 예상할 수 있기 때문이다. 예를 들어 а(a) о(o) / у(u) э(e) и(i) / 와 같 이 2개의 그룹으로 혹은 а(a) о(o) / у(u) э(e) / и(i) / 와 같이 3개의 그 룹으로 둘 수 있다. 기본모음과 대응되는 쌍을 이루는 모음은 기본모음이 속한 그룹에 함께 두고 반복선택방법을 적용하거나, 기본모음의 변형알파벳으로 간주하 여 컨트롤처리방법을 적용할 수 있다.
자음과 모음의 그룹을 적절하게 이용하여 3*4 키패드내에서 자모음분리키패 드를 구성할 수 있다(예. 모음 5개 그룹과 자음 7개 그룹, 모음3개 그룹과 자음 9 개 그룹). 러시아어에서 영어와 마찬가지로 다수의 자음이 연속되는 경우가 있으 나(예. CCCVC...), 전형적인 음절구조는 자음과 모음의 반복구조(CV, CVCV, CVCVCV, …) 라고 한다. 이는 자모음 분리키패드에서 반복선택방법을 적용시 대 부분의 경우 모호성 없이(즉, 매우 적은 모호성으로) 러시아어 단어를 입력할 수 있는 것을 의미한다.
12.13 자모음분리키패드에서의 힌디어제한 입력방법
출원인의 선출원 PCT/KR00/00601 에서 힌디어 자음을 발음의 유사성에 근거 하여 9개의 그룹으로 그룹핑하는 사례를 보였고, 본 발명에서 10개의 그룹으로 그 룹핑하는 사례를 보였다. 힌디어의 경우도 발음의 유사성을 강하게 가진 그룹자 음을 같은 그룹으로 그룹핑할 수 있음을 보였다. 예를 들어 앞에서 제시한 그림 에서 (k), (kh), (g), (gh) 의 발음을 가진 그룹자음을 하나의 그룹으로 그룹핑하 는 것이다. 나머지 유사발음 그룹에 대해서도 마찬가지이다. 위에서 제시한 힌 디어의 35개 자음 중 아랫점이 있는 __(ud), __(udh) 를 제외한 33개 자음을 9개 그룹 혹은 8개 그룹으로 임의로 그룹핑할 수 있다. __(ud), __(udh) 는 각각 __(d), __(dh)의 변형알파벳으로 간주하여, 기본알파벳이 속한 그룹에 둘 수 있다.
다음은 선출원에서 기술한 힌디어의 모음이다.
Figure pat00043
이하에서 편의상 힌디어 모음을 밑줄 옆 괄호안에 영어 발음으로(밑줄에는 해당 발음의 힌디어 알파벳이 있는 것으로 간주) 혹은 단순히 괄호안에 영어알파 벳으로 표기하기로 한다. 편의상 __(aa) 는 (a-)으로, __(ee)는 (i-)로, __(oo) 는 (o-)로, __(ae)는 (e)로, __(aae)는 (ai)로 표기한다.
모음 __(ri)는 자음으로 분류하기도 한다고 한다. 모음 __(ri)를 제외한 10개의 모음을 위에서와 같이 2개씩 쌍을 지어 5개의 그룹으로 그룹핑할 수도 있 다.
힌디어의 모음은 (a), (i), (u)의 단모음과 __(a-), __(i-), __(u-)의 장모 음으로 크게 나눠지며 나머지 4개의 모음은 복합모음으로 단모음의 조합으로 표시 될 수 있다고 한다. 즉 __(e) = (a) + (i) or (a) + (i-), __(ai) = (a) + (e), __(o) = (a) + (u) or (a) + (u-), __(au) = (a) + (o) 와 같이 된다고 한다. 따 라서 기본모음 (a), (i), (u)를 각각 3개의 그룹으로 하여 3개의 버튼에 배정하고, 각 버튼 1타로 기본모음을 입력하고, 기본모음에 대응되는 장모음은 기 본모음이 배정된 버튼 2타로 입력하고, 나머지 4개의 복합모음은 기본모음의 조합 으로 입력할 수 있다.
예를 들어 (a), (i), (u) 가 각각 [*], [0], [#] 버튼에 배정되어 있을 경우, __(a-) = ** 로, e = *0 혹은 *00 로 입력하는 것이다. 만약 **0 가 눌러 지면 “**” 까지 눌러졌을 때 시스템은 __(a-)로 인식하나 다음에 “0” 이 눌러 지는 순간 **0을 (a) + (e) = __(ai)로 인식할 수 있게 된다. 마찬가지로 **# 이 눌러지면 “**” 까지 눌러졌을 때 시스템은 __(a-)로 인식하나 다음에 “#” 이 눌러지는 순간 **#을 (a) + (o) = __(au)로 인식할 수 있게 된다.
이는 힌디어의 10개 모음이 하나의 단어에서 연속하여 나오지 않는 경우에 가능하다. 힌디어의 모음이 연속하여 나오는 경우가 있다면, 모호성이 발생할 수 있을 것이다. 즉 **0 입력시, __(a-) 와 __(i) 를 입력한 것인지, __(ai) 를 입 력한 것인지 알 수 없게 되는 것이다. 그러나 10개의 기본모음이 연속하여 나오 는 경우가 있다고 하더라도, 그 빈도가 적으면, **0 과 같이 복합모음 __(ai) 를 의미할 수 있는 경우에 기본적으로 시스템이 입력값을 복합모음으로 인식하는 언 어제한을 적용할 수 있다. 이 경우 사용자가 장모음과 __(a-) 와 단모음 __(i) 의 조합을 입력하려면, “의도적언어제한해제” 혹은 “언어제한해제지연시간”을 이용하여 해결할 수 있다. 즉 예에서 ** 을 입력하고 일정시간만큼 혹은 의도적 으로 단어종료기능을 활성화시키고 나서 0 를 입력하는 것이다.
힌디어 역시 주된 음절구조가 자음과 모음이 번갈아 나오는 형태이나, 자음 이 연속하여 나오는 경우도 있다. 수직선으로 끝나는 자음 다음에 또 자음이 나 올 경우 수직선이 없어지면서, 다음 자음과 결합하여 결합자음을 이룬다. 수직선 이 없는 자음은 알파벳 아래에 “,” 비슷한 기호가 붙으면서 다음 자음과 결합하 게 된다고 한다. 이외에도 몇가지 규칙이 있으며 불규칙적인 경우도 있다고 한다. 이렇게 자음이 연속하여 입력된 것으로 인식(일시적으로 인식 혹은 확정적 으로 인식)되는 경우, 결합자음으로 표시하여 주는 오토마타를 구현하는 것은 용 이한 일이다.
영어를 모국어로 사용하지 않는 나라에서도 키패드상 영어알파벳을 병기하 여 영어의 입력에 활용하고 있다. 인도에서는 힌디어와 영어를 공용어로 사용하 므로, 유사발음을 가진 힌디어자음과 영어의 자음을 같은 버튼에 배정함으로써 심 플코드의 활용 및 문자입력에 자연스러움을 더할 수 있다. 예를 들면 다음과 같 으며 변형이 가능하다.
Figure pat00044
위에서 z,w 등과 같은 영어자음은 중국어의 경우에서와 같이 적절한 그룹에 추가로 혹은 별도로 둘 수 있다. 또한 키패드상의 배치를 간결하게 하기 위하여 각 그룹에서 일부의 알파벳만을 키패드상에 표시할 수도 있다(은닉형반복선택방법 적용). 예를 들어 위의 그룹핑에서 첫번째 그룹을 임의의 버튼에 배정시 __(k) 와 __(g) 만을 배정할 수 있다. 각 그룹에서 버튼누름횟수에 따라 선택되는 순 서는 임의로 정하면 된다. 모음 __(ri) 를 R L 이 배정되는 버튼에 배정할 수도 있다.
역시 키패드상의 배치를 간결하게 하기 위하여 영어모음(영어알파벳 모음) 만을 표기할 수 있다. 앞의 예에서 보였듯이 힌디어 모음의 경우는 영어 모음과 발음상 유사성을 강하게 가지므로 영어 모음만을 표기하는 것이 매우 자연스럽다. 더 나아가 자음의 경우도 위의 힌디어 자음과 영어 모음의 대비표에서 보였듯이 발음의 유사성을 강하게 가진, /G K/, /M N/, /D T/, /B P/, /R L/ . . . 의 그룹 과 대응되는 힌디어 자음을 생략하여 표시하지 않고 영어 자음만을 표시함으로써, 키패드를 더욱 간결하게 할 수 있다. 물론 이렇게 힌디어 알파벳이 생략된 경우 에도 경우에도, 중국어의 예에서 중국어제한 입력모드에서 병음을 모호성없이 입 력할 수 있었던 것과 마찬가지로, 힌디어제한 입력모드에서는 힌디어제한에 따라 모호성없이 힌디어를 입력하게 된다.
이하에서 선출원에서 설명한 내용을 일부 다시 정리하고, 세부적인 사항을 추가로 정리한다.
힌디어 모음은 자음 다음에 올 때, 앞 자음과 결합하여, 상기 예시한 "축약형" 으로 표기된다. 예를 들어, "
Figure pat00045
(k)" 다음에 "
Figure pat00046
(a-)" 가 오면 "
Figure pat00047
(a-)"의 축약형(즉, 자음결합형) "
Figure pat00048
"이 "
Figure pat00049
(k)" 와 합쳐져 "
Figure pat00050
" 로 되는 것이다. 나머지 모음에 대해서도 같으며, 자음 다음에 특정 모음이 왔을 때, 결합형으로 표시되는 것은 이미 인도어 워드프로세서에서 널리 사용되고 있다.
마찬가지로, 선출원에서 간단히 언급한 대로, 자음 다음에 자음이 나와 결합하여 "복합자음"을 이룰 때에도 자음간에 결합 글자를 이루는 일정한 규칙(힌디어 맞춤법에 해당)이 있다고 하며, 이미 힌디어 워드프로세서에서 적용되어 널리 사용되고 있다. 모음 "
Figure pat00051
(a)" 의 축약형은 존재하지 않는 것으로 되어 있는데, 자음만 표기된 상태 (예. "
Figure pat00052
(k)") 가 모음 "
Figure pat00053
(a)" 를 포함하고 있는 것이라고 한다. 음성학적으로는 "
Figure pat00054
" 는 (k) 가 아닌 (ka) 라는 것이다. 가장 보편적으로 사용되는 힌디어 워드프로세서(예. "MS Word 2000 의 힌디어 IME" 를 포함하여 몇몇 제품. 이하에서는 특별히 다른 언급을 하지 않는 한 Microsoft사의 "MS Word 2000 의 힌디어 IME"을 의미) 에서는 자음 다음에 모음 "
Figure pat00055
(a)" 키가 눌러졌을 때, 자음 아래에 콤마형태(힌디어에서는 "할"이라고 함)가 결합된 글자를 출력한다. 예를 들어 "
Figure pat00056
(k)" 다음에 "
Figure pat00057
(a)" 키를 누르면, "
Figure pat00058
(k)" 를 인식하고 출력하는 것이다. 자음아래에 콤마형태가 붙은 자음(반자음=순수자음) 다음에 다른 자음이 입력되면, 소정의 규칙에 의하여 "복합자음"이 형성된다. 예를 들어 "
Figure pat00059
(k)" 다음에 "
Figure pat00060
(y)" 가 입력되면, 복합자음 "
Figure pat00061
" 가 되는 것이다. 이는 마치 한국어에서 종성으로 이중받침을 형성할 수 있는 자음들(예. "ㄹ" 과 "ㅁ")이 연속해서 입력되면, 작은 글씨로 종성 "ㄻ"이 입력되는 것과 유사하게 볼 수 있을 것이다. 복합자음 생성에는 규칙적인 형태도 있고, 불규칙한 형태도 있다고 하며, 자세한 내용은 힌디어 교과서를 참고하면 된다. 이상의 사항은 특별한 내용이 아니라 힌디어 초급교과서에 있는 내용이며 또한 이미 널리 알려진 여러 제품(힌디어 워드프로세서 등)에서 이미 널리 쓰이고 있는 내용이다.
마찬가지로 본 발명에서도 자음 다음에 모음 "
Figure pat00062
(a)" 키가 입력되었을 때, 이를 자음아래에 할(콤마형상)이 붙은 자음이 생성되도록 할 수 있음은 자명하다. 예를 들어, "
Figure pat00063
(k)" 또는 "
Figure pat00064
(k)"를 포함한 다른 알파벳이 [1]버튼에 배정되어 있고, [1]버튼 한번 누름으로 "
Figure pat00065
(k)" 를 입력하고 나서, "
Figure pat00066
(a)" 가 배정된 버튼 (예. [*]버튼)을 누르면, "
Figure pat00067
(k)" 로 인식하는 것이다. 기존의 워드프로세서 제품의 경우에서 언급한 바와 같이, 여기서 "
Figure pat00068
(y)" 가 입력되면, 복합자음 "
Figure pat00069
" 가 되는 것은 동일하다. 다만, "
Figure pat00070
(k)" 까지 인식된 후, "
Figure pat00071
(a)"가 배정된 버튼이 한번 더 눌려지면 "
Figure pat00072
(a-)" 이 인식되어, 결과는 "
Figure pat00073
(k) +
Figure pat00074
(a-) =
Figure pat00075
" 이 되는 것은 선출원에서 출원인이 제시한 내용이다. 마찬가지로 "
Figure pat00076
(k)" 까지 인식된 후, "
Figure pat00077
(u)"가 입력되면, "
Figure pat00078
(k) +
Figure pat00079
(o) =
Figure pat00080
" 가 된다. (선출원에서 이미 언급한 대로, 복합모음을 기본모음(a, i, u)의 조합으로 입력시, "
Figure pat00081
(o) =
Figure pat00082
(a) +
Figure pat00083
(u)" 이므로)
힌디어 1음절 단어는 "(자음)+모음+(자음)" 의 형태로 이루어진다고 한다. 괄호안의 자음은 자음이 올 수도 있고, 오지 않을 수도 있음을 의미한다. 마찬가지로 2음절 단어는 "(자음)+모음+자음+모음+(자음)" 의 형태로 이루어진다고 한다. 즉 자음을 사이에 두고 모음이 2개 있어 2음절을 형성하는 것이다. 2음절이상의 단어도 역시 마찬가지라고 한다. 상기 자음이 복합자음이더라도 복합자음을 이루는 자음과 자음 사이에 모음 "
Figure pat00084
(a)" 키가 입력되므로 현실적으로는 자음버튼이 한번 이상 눌러지고 다음에 모음 "
Figure pat00085
(a)" 키가 눌러지고 다시 자음키가 한번 이상 눌러지는 것이다. 따라서 본 발명을 적용함에 있어서 힌디어 자음 입력에 "반복선택방법" 을 적용하더라도 모호성 없이 힌디어 단어를 입력할 수 있음을 의미한다.
모음이 단어의 맨처음에 나오는 경우, 축약형으로 표시될 필요는 없다. 즉, 자음이 인식된 다음에 모음버튼이 눌러진 경우가 아닌 모든 경우 (예. 단어의 시작부분에서 모음키 입력)에는 모음키 입력에 대하여 모음을 "축약형"이 아닌 "기본형"으로 인식하고 출력하는 것이 바람직하다. 마찬가지로 힌디어 워드프로세서에서도 자음 입력후가 아닌 단어의 처음 또는 모음 다음에 입력되었을 때, 축약형으로 표시되는데 (예. "
Figure pat00086
(a-)" 의 경우 "
Figure pat00087
(a-)"으로), 이는 명백히 사용자의 편의성에 반하는 것이다. 자음 다음에 입력되는 경우가 아닌 경우, 사용자는 모음으로 시작하는 단어를 입력하기를 의도하는 것이므로, 자동으로 모음이 기본형(예. "
Figure pat00088
(a-)")으로 인식되고 표시되어야 할 것이다. 현재 워드프로세서에서는 "shift" + "
Figure pat00089
(a-)" 버튼을 입력해야 기본형으로 인식되고 출력된다. 본 발명에서는 키보드를 사용하는 워드프로세서에서, 자음 다음에 입력되는 경우가 아닌 경우(예. 단어의 처음) 힌디어 기본형 모음이 자동으로 인식되는 발명을 추가로 제시하는 것이다.
키보드상에서 적용하는 예를 들면, 단어의 시작상태(예. 공백 입력 직후)에서 모음 "
Figure pat00090
(a)"키가 눌러지면, 기본형 모음 "
Figure pat00091
(a)" 가 인식되는 것이다. 본 발명에서 적용하는 예를 들면, 단어의 시작상태(예. 입력모드로 진입 직후, 또는 공백 입력 직후)에서 모음 "
Figure pat00092
(a)" 가 배정된 버튼(예. [*]버튼)을 한번 누르면, 기본형 모음 "
Figure pat00093
(a)" 가 인식되고, 다시 모음 "
Figure pat00094
(a)"를 한번 더 누르면, 모음 "
Figure pat00095
(a-)"가 인식되는 것이다.
선출원에서 "길게누름후의 짧게누름" 에 의하여 알파벳을 인식하는 기술을 소개하고 있다. 마찬가지로 모음조합시작시의 모음버튼을 "길게누름" 에 의하여 "기본형" 모음을 입력할 수 있고, 이후의 조합되는 모음버튼은 짧게 누름에 의하여 다른 기본형 모음을 조합할 수 있다. 예를 들어, 자음입력 후 모음조합시작 상태에서, 모음 "
Figure pat00096
(a)" 버튼이 길게 눌러지면, 기본형 모음 "
Figure pat00097
(a)"로 인식하는 것이다. 다음으로 모음 "
Figure pat00098
(u)" 버튼이 짧게 눌러지면, 모음 "
Figure pat00099
(a)" 버튼의 길게누름과 모음 "
Figure pat00100
(u)" 버튼의 짧게 누름의 조합을 기본형 모음 "
Figure pat00101
(o)" 로 인식하고 출력하는 것이다. 마찬가지로 "
Figure pat00102
(k)" 다음 "
Figure pat00103
(a)" 가 눌러지면 "
Figure pat00104
"이 되고, 다시 "
Figure pat00105
(a)" 가 한번 더 눌러지면, "
Figure pat00106
=
Figure pat00107
(k) +
Figure pat00108
(a-)" 이 되고, 다시
Figure pat00109
(i) 가 입력되면 "
Figure pat00110
=
Figure pat00111
(k) +
Figure pat00112
(ai)" 가 된다. 그러나 마지막
Figure pat00113
(i) 를 길게 눌러줌으로써, "
Figure pat00114
Figure pat00115
" 를 입력할 수 있는 것이다. 여기서
Figure pat00116
(i) 가 한번 더 눌러지면 "
Figure pat00117
Figure pat00118
" 이 된다. 정리하면 모음버튼 길게누름을 통해 강제적으로 모음의 기본형이 표시되도록 할 수 있으며, 길게누름 이후 조합되는 모음 역시 기본형모음으로 표시됨을 의미한다. 이는 출원인이 제시한 모든 모음조합에 적용가능하며, 모음이 조합되는 최초의 모음버튼의 길게누름 이후 모음 버튼의 짧게 누름의 조합에 의하여 다른 모음의 기본형을 인식할 수 있다. 이는 출원인이 제시한 모음조합((a), (i), (u)의 조합) 뿐만 아니라 다른 방식의 모음조합에 의하여 모음을 입력하는 경우에도 적용할 수 있다.
4개 복합모음을 기본모음의 조합으로 입력한다는 전제에서, 자음 또는 모음으로 취급되는 "
Figure pat00119
(ri)"의 입력은 임의의 기본모음의 3번 눌러짐으로 입력할 수 있다. 예를 들어 발음이 유사한 모음 "
Figure pat00120
(i)" 버튼의 3번 눌러짐으로 입력할 수 있다. 참고로 선출원에서 "
Figure pat00121
(e) =
Figure pat00122
(a) +
Figure pat00123
(i) 또는
Figure pat00124
(a) +
Figure pat00125
(i-)" 으로 입력할 수 잇다고 하였는데, "__(e) = __(a) + __(i)" 로 입력하면 되며, 굳이 "__(e) = __(a) + __(i-)"으로 입력할 필요는 별로 없다. 다음으로 모음 "
Figure pat00126
(a-)" 에 반달표가 붙은 모음 "
Figure pat00127
" 역시 모음 __(a) 가 배정된 버튼(예. [*]버튼) 의 3번누름으로 입력할 수 있다.
자음 아래에 점(.)이 붙는 자음이 있음을 알 수 있다. 이를 편의상 "아랫점" 이라고 부르기로 한다. 힌디어 기본 자음중 "
Figure pat00128
(ud)", "
Figure pat00129
(udh)" 가 있고, 5개의 차용자음으로 "
Figure pat00130
(k)", "
Figure pat00131
(kh)", "
Figure pat00132
(g)", "
Figure pat00133
(j)", "
Figure pat00134
(ph)" 가 있다. 5개의 차용자음은 거의 사용되지 않는다고 한다. 이렇게 아랫점이 붙는 글자의 입력은 각 자음을 발음의 유사성에 근거하여 기 제시한 자음그룹에 두고 해당 버튼의 반복누름에 의하여 선택되도록 할 수 있다. 다음의 표는 아랫점이 붙은 자음을 발음의 유사성에 근거하여 함께 그룹핑한 사례이다. 물론 각 그룹은 임의의 버튼에 할당할 수 있으며, 변형이 가능하다. 이 경우, 하나의 버튼에 명시적으로 또는 암시적으로 할당된 알파벳의 수가 많아지면, 버튼의 반복누름의 횟수가 많아지는 단점이 있다.
Figure pat00135
위의 표를 기준으로 각 자음 그룹을 대표하는 자음을 하나씩 각 버튼에 임의로 배치할 수 있다. 예를 들어 위의 9개 그룹의 첫번째 자음을 [1] ~ [9] 버튼에 각각 배치(즉, "
Figure pat00136
(k)" 는 [1]버튼에 배치, "
Figure pat00137
(ch)" 는 [2]버튼에 배치, ... "
Figure pat00138
(r)" 은 [9]버튼에 배치)할 수 있다. 또한 예를 들어 모음은, __(a), __(i), __(u) 를 각각 [*], [0], [#] 버튼에 배치하면 매우 안정감있는 키패드가 구성된다. 위의 그룹은 단지 예시일 뿐이며, 변형이 가능함은 자명하다. 또한 각 그룹을 대표하는 자음 하나씩 만을 키패드에 표시할 수도 있으나, 복수로 표시(예. [1]버튼에 "
Figure pat00139
(k)" 와 "
Figure pat00140
(g)" 표시 또는 2개 이상 표시)하는 것도 가능하며, 각 그룹은 임의의 버튼에 배정될 수 있음은 자명하다. 상기 예시에 의하여 나열된 순서로 버튼의 반복누름에 따라 알파벳이 선택된다고 하면, "
Figure pat00141
(k)"가 배정된 버튼을 한번 누르면 "
Figure pat00142
(k)" 가 인식되고, 한번 더 누르면 "
Figure pat00143
(g)" 가 인식되고, 한번 더 누르면 "
Figure pat00144
(kh)" 가 인식되는 식이다.
다음으로 출원인의 선출원에서 밝힌 "길게누름을 이용한 컨트롤처리 방법"을 이용할 수 있다. 예를 들어, 자음 "
Figure pat00145
(d)" 를 입력한 후, 약속된 버튼(예. [6]버튼)을 길게 눌러 "
Figure pat00146
(ud)" 를 입력할 수 있다. 이 방법을 사용하면, 아랫점이 붙지 않는 알파벳에도 아랫점을 덧붙인 글자를 입력할 수 있는 범용성이 있다.
그리고 반비자음(비자음의 반음)의 표시로 자음 위에 점이 붙는 자음이 있다. 편의상 이 점음 "윗점" 이라고 부른다. 윗점이 붙는 알파벳 역시 "길게누름을 이용한 컨트롤처리 방법" 으로 입력할 수 있다. 예를 들어, 자음 "
Figure pat00147
(k)" 을 입력한 후, 약속된 버튼(예. [9]버튼)을 길게 눌러 "
Figure pat00148
" 를 입력할 수 있다.
다음으로 모음이 비음화한 비모음(콧소리모음)은 모음위에 "반달+점" 모양 기호("
Figure pat00149
" - 점선으로 된 동그라미 부분에는 자음 또는 모음이 위치함)가 붙는 것이다. 이를 편의상 "반달점" 이라 부른다. 모음 "
Figure pat00150
(a)" 는 생략되어 표시되지 않으므로, 실제로는 반달점이 모음 또는 자음위에 붙게된다. 마찬가지로 "길게누름을 이용한 컨트롤처리방법" 으로 입력할 수 있다. 예를 들어, "
Figure pat00151
(k)" 다음 "
Figure pat00152
(a-)" 을 입력하면 "
Figure pat00153
(ka-)" 가 되고, 다시 약속된 버튼(예. [8]버튼)을 길게 누르면, "
Figure pat00154
" 가 된다. 역시, "
Figure pat00155
(k)" 다음 약속된 버튼(예. [8]버튼)을 길게 누르면, "
Figure pat00156
" 가 된다. 만약 "
Figure pat00157
(k)" 를 포함한 알파벳 그룹이 [8]버튼에 할당되고, [8]버튼에 "
Figure pat00158
(k)" 하나 또는 다른 알파벳이 함께 배치되어 있다면, "
Figure pat00159
" 는 "88~" 로 입력됨을 알 수 있다. (여기서 "8~" 은 [8]버튼을 길게 누르는 것을 의미)
다음으로 상기 예시한 힌디어 입력방법하에서 병행입력방법을 적용하는 사례를 간단히 보이고자 한다. 힌디어 음절은 "자음+모음+..." 으로 시작하거나 "모음+..." 으로 시작하며, 자모음이 번갈아 나오는 구조라고 하였다. 따라서 힌디어 입력시 "(첫모음)+음절기준이니셜코드" 또는 "(첫모음값)+음절기준이니셜값 심플코드" 를 이용한 병행입력이 가능하다. 마찬가지로 "(첫모음)+자음기준 심플코드" 또는 "(첫모음값)+자음값기준 심플코드" 를 활용할 수 있다. "첫모음", "첫모음값"에 괄호를 한 것은 자음으로 시작하는 음절도 있기 때문이다.
단축입력값으로 "(첫모음값)+음절기준이니셜값 심플코드" 를 사용하는 것으로 가정하고, 풀우선 병행입력방법의 사례를 들면 다음과 같다. 단어시작 후 처음입력으로 자음이 입력되고, 모음버튼이 눌러지지 않은 상태에서 다시 자음이 입력되면, 자음과 모음이 번갈아 나오는 힌디어제한(힌디어 단어 생성규칙)을 위반한 것이 되므로, 입력값을 심플코드로 해석하여, 첫음절의 자음과 두번째 음절의 자음이 일치하는 단어를 사용자에게 추천하는 것이다. 구체적인 사례로
Figure pat00160
(s) 가 입력되고 나서 모음버튼이 입력되지 않고, 다른 자음버튼(예. (t) 그룹의 알파벳이 배정된 버튼)이 입력되는 순간 자음이 연속하므로 힌디어 제한(힌디어 단어생성 규칙)을 위반하므로 입력값을 심플코드로 해석하는 것이다.
Figure pat00161
(s) 가 입력되고 나서
Figure pat00162
(t') 가 입력되면 단어의 처음이 "
Figure pat00163
(s)__
Figure pat00164
(t')..." 와 일치하는 단어를 사용자에 추천(예. 리스트 형태)하여 줄 것이다. 만약 한번 더 (t)그룹의 알파벳이 배정된 버튼이 눌러지면, "
Figure pat00165
(s)__
Figure pat00166
(th)..." 와 일치하는 단어를 사용자에 추천하여 줄 것이다. (밑줄부분에는 모음이 있음을 의미) "
Figure pat00167
(s)__
Figure pat00168
(th)..." 까지 입력되면 이에 일치하는 단어 "
Figure pat00169
", ... 등등의 단어를 사용자에 추천하여 줄 수 있다. 마찬가지로 "모음+자음" 이 인식되고, 다시 모음버튼의 입력없이 다른 자음버튼이 눌러지는 순간 입력값을 심플코드로 해석하여 처리할 수 있다. 이 경우는 "첫모음+자음+___+자음..."이 일치하는 단어를 사용자에 추천하여 주게 될 것이다.
만약 같은 버튼에 있는 자음만의 조합(예. "
Figure pat00170
(k)__
Figure pat00171
(g)..." 와 같은 입력값을 처리하려면, " (k)" 입력후 일정시간(선출원에서 언급한 언어제한해제 지연시간 또는 이타지연시간) 동안의 시간지연을 통하여 "
Figure pat00172
(k)" 를 확정하고 나서, "
Figure pat00173
(g)" 를 입력하는 식으로 가능하다. 또는 약속(예. 우측이동버튼 누름)에 따라 기 입력된 "
Figure pat00174
(k)" 를 확정하고 나서 "
Figure pat00175
(g)" 를 입력하는 식으로 가능하다. 이러한 병행입력방법의 사례는 모두 선출원에서 언급(PC용 키보드 및 키패드에서 적용가능함)한 것으로 새로운 내용이 아니다.
본 발명에서 "버튼누름" 에 반응하여 알파벳이 인식되는 것으로 기술하였다. 프로그램상의 디테일한 부분에서, 실무적으로는 버튼이 눌러질 때 소정의 알파벳이 인식되도록 하기도 하고, 버튼이 눌려졌을 때는 알파벳을 인식하지 않고, 눌렸다가 떨어질 때 소정의 알파벳이 인식되도록 하기도 한다. 본 발명에서 "버튼누름" 이라고 표현한 것은 눌렸다가 떨어지는 순간 알파벳이 인식되는 경우도 포함하는 것임은 물론이다. 이는 본 발명의 다른 내용에 있어서도 동일하다.
12.14 반자음분리 자모음분리키패드에서의 언어제한 입력방법
각 언어별로 반자음(즉, 반모음)은 조금씩 다르다, 영어에서는 일반적으로 w, y, j 등을 반자음으로 취급하고 있으며, 어떤 언어에서는 j 를 제외하기도 하 고, 또 어떤 언어에서는 v 등을 포함하기도 한다. 일반적으로 w, y 는 거의 모든 언어에서 공통적으로 반자음으로 취급하고 있는 것으로 보인다.
여기서 반자음은 모음과 유사한 성질 및 음가를 가지므로, 반자음을 별도의 그룹으로 두는 것은 발음의 유사성에 근거하여 자음을 그룹핑하는 것의 연장선상 에 있는 것이다.
또한 언어별로 영어알파벳 중 특정 언어에서 사용하지 않는 알파벳(예를 들 어 스페인어에서 외래어 등에만 사용된다고 하는 k 와 w)이 있기도 하고, 영어알 파벳 이외의 알파벳(출원인은 편의상 변형알파벳 혹은 추가알파벳이라 하였음)이 쓰이기도 한다. 영어알파벳 중 사용되지 않는 알파벳 역시 보편적으로 쓰이는 영 어의 입력을 위하여 필요할 것이다. 따라서 특정 언어에서 사용되지 않는 로마알 파벳의 수가 많지 않으면 반자음과 함께 그룹핑하고 같은 버튼에 배정할 수 있다. 중국어에서의 도10-6을 참고할 수 있다.
또한 특정 언어에서 사용되지 않는 알파벳들을 함께 그룹핑하여 같은 버튼 에 배정할 수도 있다.
12.15 불완전 자모음분리키패드에서의 언어제한입력방법
본 발명에서 각 언어에 최적화된 자모음분리키패드를 구성하고 반복선택방 법을 적용함으로써 모호성을 제거하거나 최소화할 수 있음을 보였다. 또한 이렇 게 자모음분리키패드를 구성함으로써, 입력시스템의 알고리즘을 단순화할 수 있다. 이를 근간으로 하여 다양한 변형이 가능함은 자명하다. 따라서 이를 약간 변형하여 일부의 버튼에 자모음을 함께 배정하는 경우도 본 발명에서 제시한 자모 음분리키패드에서의 언어제한입력방법의 변형된 범주이다. 이를 편의상 “불완전 자모음분리키패드”라 부르고, 자모음이 함께 배정된 버튼을 편의상 “자모음혼합 버튼”이라 부르기로 한다.
예를 들어 자모음분리키패드에서 모음 “i”와 (반)자음 “y”를 함께 그룹 핑하고, 특정 버튼에 배정하고 버튼누름횟수에 따라 소정의 순서에 의하여 자음 (여기서는 반자음)과 모음이 선택되도록 할 수도 있다(나머지 버튼은 자음버튼과 모음버튼으로 분리). “iy” 혹은 “yi” 처럼 연속하여 나오는 경우가 없으면, 중국어제한입력방법을 적용하여 역시 모호성없이 한어병음입력이 가능하다. 이 경우 자모음이 혼합배정된 특정버튼의 누름횟수에 따라 “y”(한번 누름), “i” (두번 누름) 의 순서로 선택된다고 가정하고, 자음버튼이 눌러지고 나서 이 자모 음혼합버튼이 한번 눌러지는 순간, 이전 자음버튼의 입력이 자음을 입력한 것으로 확정되므로, 시스템은 자모음혼합버튼이 한번 눌려진 것에 대하여 일시적으로 “y ”가 입력된 것으로 간주하지 않고, 모음 “i”가 입력된 것으로 확정할 수 있다. 중국어에서 특정 자음 다음에 자음 “y” 가 나올 수 없는 언어제한을 이용할 수 있기 때문이다.
또 다른 예를 들어 모음 “i”와 자음 “j”를 혹은 모음 “i”와 자음 “k ”를 같은 그룹으로 그룹핑하고, (언어제한)반복선택방법을 적용할 수 있다. 한어 병음 입력시 “…ik…” 혹은 “…ki…” 와 같이 연속하여 나오는 경우가 있으면 모호성이 발생할 수 있다. 특별한 이유없이 이렇게 일부의 버튼에 자음과 모음을 함께 배정하는 것은, 입력알고리즘을 복잡하게 만들고 입력시스템 구성의 효율성 을 떨어뜨리며, 완전한 자모음분리키패드에서의 언어제한입력방법을 적용하는 것 보다 좋지 않다. 다만, 각 언어의 특성상 10개의 숫자버튼에 모두 자음을 배정하 기 위한 특별한 목적 등을 위하여 일부의 버튼에 자모음혼합버튼을 둘 수도 있다 (한국어의 사례 참조).
이는 도10-7의 흐름도를 변형하여 적용할 수 있다. 도10-9를 참고한다. 자 모음혼합버튼이 한 개 이상 있는 경우도 동일하며, 하나의 자모음혼합버튼에 2개 이상의 자모음이 배정된 경우도 동일하다. 불완전 자모음분리키패드에서의 언어제 한을 적용하는 것은 조금 더 복잡하며(위의 “i”와 “y”의 사례 참조), 각 언어 별 자음과 모음의 결합규칙을 적용하여야 하므로, 각 언어별 언어제한을 세부적으 로 적용한 흐름도는 도10-9보다 더 복잡해질 수 있다. 도10-9는 도10-7을 일부 변형하고 일반적인 내용만을 매우 간략히 표현한 것으로 생각하면 된다.
예를 들어, 도5-1의 표준 영어키패드에서 중국어 병음 입력시, 5개의 모음 이 각기 다른 버튼에 배정되어 있으므로 모음은 모호성 없이 인식될 수 있다. 자 음의 경우 "~모음+n" 다음에 자음이 오는 경우는 모호성없이 인식될 수 있다. "~n+X" ('X'는 성모를 영어자음으로 표시한 것) 에서 "~모음+n+m"이 입력될 경우, 모음이 [6] 버튼에 함께 배정된 모음 "o"가 결합될 수 있는 모음(예를 들어 모음 'a') 이 오면 일시적으로 "~ao" 로 인식될 수 있다. 그러나 정상적인 중국어 병 음음절이 "m"으로 끝나지 않으므로, 다음 입력값에 의하여 인식되는 모음을 보아 그 이전 입력값을 "~anm+모음"으로 인식할 수 있다. 만약 "a" 가 결합할 수 없는 모음(예를 들어 'e') 다음에 "n+m = 666"이 입력된 경우 "eo"의 결합이 불가능한 언어제한을 이용하여 "~eo" 가 아닌, "~enm~"으로 처리할 수 있다 (중국어 병음에 서 '~emn~'은 불가능 하므로).
"~모음+ng"로 끝나는 음절 다음에 자음이 올 때, 모호성이 발생할 수 있다. 예를 들어, "~ngg~" 가 "~nh~"로 인식될 수 있는 것이다. 중국어의 경우 시스템 은 "~ngg~" 및 "~nh~"와 일치하는 한자를 모두 색인에서 검색하여 사용자에게 제 공할 수 있다. "~ngh+모음~" 의 경우는 "~ni+모음" 로 인식될 수 있다. 만약 뒤 이어 인식되는 모음이 "i"다음에 결합할 수 없는 모음(예를 들어 'u') 이면 입력 값을 "~nghu"로 인식할 수 있으나 그렇지 않은 경우는 마찬가지로 "~ngh+모음~" 및 "~ni+모음~" 모두에 대응하는 한자를 검색하여 처리할 수 있다. 이외에도 일 부 모호성이 발생하는 경우에 가능한 해석결과와 일치하는 단어를 모두 검색하여 사용자에게 제공할 수 있다.
도1-1의 표준영어키패드에서 중국어제한 반복선택방법을 적용하여 중국어 병음 입력시, “~ngh+모음~” 의 경우는 “~ni+모음” 으로 인식될 수 있는 경우 가 있다고 하였고 이 경우는 두가지 모두에 대하여 일치하는 어구를 병음색인에서 검색하여 처리할 수 있다고 하였다. 병음색인에 풀코드(도1-1을 기준으로한 반복 선택방법에서의 풀코드)를 모두 저장하고 있는 경우, 중국어제한 반복선택방법을 적용하는 것과 마찬가지로 입력값이 생성할 수 있는 모든 경우(예. “~ngh+모음” 및 “~ni+모음”)에 대하여 색인을 검색하여 일치하는 어구를 시스템이 인식해 낼 수 있는 것이다.
예를 들어 도1-1, 도5-1에서 반복선택방법 적용시, “222”는 “aaa”, “ ab”, “ba”, “c”로 인식될 수 있다. 따라서 도1-1, 도5-1에서 “beijing = 22334445444664” 이고, 여기서 연속된 숫자그룹은 다수의 알파벳 조합으로 인식 될 수 있다. 연속된 숫자 그룹인 “22~” 는 “aa” 혹은 “b” 로 해석될 수 있 다. “~33~”은 “dd” 혹은 “e”로 해석될 수 있다. 따라서 “2233~” 은 “ aadd~”, “aae~”, “bdd~” 또는 “be~” 의 4가지로 해석될 수 있다. 입력값이 증가하면 가능 조합의 가짓수는 기하급수적으로 증가하게 된다. 이렇게 입력값에 대하여 해석가능한 알파벳 조합을 편의상 역시 “가능알파벳조합” 혹은 “후보 알파벳조합”이라 부른다.
그러나, “22~”가 눌러졌을 때 “aa~” 혹은 “b~”로 해석될 수 있는데, 색인을 참조하여 “aa~”로 시작하는 단어가 더 이상 색인에 존재하지 않는 것을 시스템이 확인하면, 시스템은 “aa~”로 시작하는 조합은 제외하고, 입력값 “22~ ”를 “b~”로 처리할 수 있게 된다. 이는 중국어 병음이 “aa~” 로 시작하지 않는 중국어 제한을 이용하여 입력값 “22~”를 “b~”로 해석할 수 있는 것과 유 사하게 볼 수 있다. 따라서 “2233~” 이 눌러졌을 때, “bdd~”, “be~” 의 2 가지 조합에 대해서만 색인을 검색하게 되고, 여기서 다시 “bdd~”로 시작하는 어구가 색인에 더 이상 존재하지 않는 것을 시스템이 확인하면, “bdd~”로 시작 하는 조합은 더 이상 고려하지 않고, “be~”만을 대상으로 다음 입력값에 따라 처리하면 된다. 역시 중국어 병음에서 “bdd~” 가 불가능한 중국어제한을 이용 하여 “입력값 “2233~”을 “be~”로 처리하는 것과 유사하게 볼 수 있다. 입력 값 “22334~” 에 대하여 “beg~”로 해석될 수 있다. 또 입력값 “223344~”에 대하여 “begg~” 혹은 “beh~”로 해석할 수 있는데, 병음 색인을 검색하여 “ begg~”로 시작하는 단어가 더 이상 존재하지 않는 것을 확인하는 순간 시스템은 입력값 “223344~”를 “beh~”로 처리하게 된다. 이는 중국어제한 입력방법(예. 중국어 병음 생성규칙에 의거하여 “begg~” 가 유효한 음절이 아니고 “beh~” 만이 유효한 병음 음절을 이루는 중국어제한을 이용한 입력방법)을 이용하는 것과 유사하게 볼 수 있다. “4”가 한번 더 눌러져서 입력값이 “2233444~”가 되면, “behg~” 혹은 “bei~” 로 해석될 수 있는데, 역시 색인을 검색하여 “behg~” 로 시작하는 단어가 더 이상 존재하지 않는 것을 시스템이 확인하는 순간 입력값 을 “bei~”로 처리할 수 있으며, 이는 중국어제한 입력방법에서 “behg~”가 불 가능한 병음 조합이므로 입력값 “2233444~”를 “bei~”로 해석하여 처리하는 것 과 유사하게 볼 수 있다.
입력하고자 하는 모든 단어와 풀코드를 저장하고 있는 시스템에서, 단순히 “beijing = 22334445444664” 에서 후보 알파벳조합의 가짓수는 2*2*4*1*4*2*1 = 128 가지이다. 물론 이 128가지 후보 알파벳 조합을 모두 색인과 비교하여 일치 하는 단어에 대해서만 처리하는 것도 본 발명의 범주에 포함된다. 그러나 시스템 이 입력초기부터 입력값을 인식할 수 있는 시스템에서는 입력값의 증가에 따라 색 인에 존재하지 않는 알파벳 조합(위 예에서, ‘aa~’, ‘bdd~’, behg~’ 등등) 을 입력초기에 제외해 나가는 방법이 유용할 것이다.
이렇게 반복선택방법에서의 동일한 입력값이 연속하여 증가함에 따라 발생 하는 많은 수의 후보 알파벳조합 중에서, 색인에 존재하는 일부의 후보 알파벳조 합만을 대상으로 시스템이 검색해 나갈 수 있다. 입력값에 의한 후보 알파벳조합 이 모두 색인에 존재하지 않는 것이 확인되면, 시스템은 입력값을 약속된 유형의 심플코드로 간주하여 처리할 수 있다.
12.16 비은닉형 컨트롤처리방법의 적용
이상의 자모음분리키패드에서 임의의 버튼(3*4키패드 내의 버튼 혹은 외부 의 별도의 버튼)을 컨트롤버튼으로 정하고, 대표알파벳만을 해당 버튼 1타로 선택 되도록 하고, 나머지 알파벳을 컨트롤처리방법에 의하여 입력할 수 있다. 예를 들어 도10-6의 키패드에서 [0] 버튼에 배정된 “w, y, v”를 임의의 자음버튼에 배정하고, [0] 버튼을 컨트롤버튼으로 활용하여, “p = b+0 = 10” 로 입력할 수 있는 것이다 (컨트롤 후입력적용시). 이는 이미 선출원에서 언급한 내용이다.
13. 입력값의 길이로 판단하는 병행입력방법
색인에 저장된 단축코드의 길이는 경우에 따라 특정 개수 이하로 될 수 있 다. 또한 특정한 경우 사용자에 의하여 혹은 시스템에 의하여 입력되는 단축코드 의 유형(예를 들어, 유형1(도시명), 유형2(은행명), . . . 선출원에서 유형1, 유 형2는 트리형태로 그룹지어질 수 있다고 하였다)이 지정될 수 있다. 만약 유형1 (도시명)으로 입력되는 단축코드의 유형이 지정되고, 도시명의 단축코드의 길이가 3 이하라고 가정하면, 단축입력방법을 기본모드로 하는 병행입력방법 적용시, 입 력값의 길이가 3을 초과하는 순간, 시스템이 입력값을 풀코드로 간주하여 처리할 수 있는 것이다. 반대로 풀우선 병행입력방법 적용시, 3개의 입력값이 입력되고 단어종료기능(예. 공백)이 입력되면, 시스템이 입력값을 심플코드로 간주하여 처 리할 수 있다.
이는 한국어, 중국어와 같이 특정한 유형(도시명 - 北京, 회사명 - 四通集 團, . . . )의 단축코드의 길이가 일정 길이 이하로 될 수 있는 경우에 특히 유용 할 것이다(한국어 중국어 등에 있어서 특정 유형의 명사는 일정 수 이하의 음절로 이루어진 경우가 많고, 음절기준 이니셜코드 단축코드로 이용하는 것이 자연스러 우므로. 예를 들어 한국어서 대부분의 은행명은 2음절로 이루어져 있으므로, 은 행명에 대한 음절기준 이니셜 코드의 길이는 2가 됨).
이는 입력값이 단축코드인지 풀코드인지를 입력 초기에 판단하여 사용자에 게 제공하지 않아도 되는 경우, 즉 입력값의 길이가 특정 길이 이상인지, 이하인 지만으로 입력값이 심플코드인지 풀코드인지 판단하여도 되는 경우에 유용할 수 있다. 즉 매번 입력값이 입력될 때마다 단축코드 색인을 검색하지 않고, 단지 입 력값의 길이가 특정 길이 이상인지만을 체크하면 되므로 구현을 단순화하고 시스 템의 성능을 향상시킬 수 있는 것이다.
14. 언어제한 병행입력방법
언어제한 병행입력방법은 풀우선 병행입력방법 적용시, 입력값이 특정언어 의 “단어생성규칙”을 위배하는 순간(즉, 언어제한을 위배하는 순간), 시스템이 입력값을 심플코드로 간주하여 처리하는 것이다. 만약 입력값과 일치하는 값이 심플코드 색인에서 더 이상 존재하지 않는 것이 확인되면, 다시 입력값을 풀코드 로 간주하여 처리할 수 있다.
14.1 언어제한 반복선택방법을 풀입력방법으로 하는 언어제한 병행입력방법
14.1.1 중국어
특히 도10-1 ~ 10-4를 기준으로한 중국어의 음절기준 이니셜코드는 자음버 튼인 [1] ~ [9] 의 숫자값만을 가지게 된다(모음 a, o, e 가 단독으로 사용되는 경우도 있다고 하나, 감탄사 정도이며 현실적으로 거의 없다고 하고, 모음 i, u, ..u 이 단독으로 사용될 경우는 앞에 y, w, y 를 각각 붙이므로). 반복선택방법 을 적용한 풀코드는 도10-1 ~ 10-4의 예에서 대부분의 경우 2번째 혹은 적어도 3 번째 입력값은 모음 입력을 위하여 [*], [0] 혹은 [#] 버튼 중의 한개 버튼이 입 력되어야 한다. 이러한 성질은 선출원의 한국어의 예(모음요소를 활용한 방법)에 서 언급한 바와 같이 "병행입력방법"을 적용시 입력초기에 입력값이 풀코드를 이 루는지, 아닌지를 알 수 있는 좋은 특성을 제공한다.
예를 들어 풀입력방법으로 도10-1 ~ 10-4를 기준으로한 반복선택방법을 사 용하고, 풀입력모드를 기본입력모드로 하는 병행입력방법(풀우선 병행입력방법)에 서, 입력값이 "693 ... = shk ..." 가 입력되면, 3번째 값 [3] 이 입력되는 순간 입력값이 풀코드를 이루지 못하는 것('sh' 까지는 가능해도 그 다음 자음 'k' 가 올 수는 없으므로)을 시스템이 인지할 수 있으므로, 시스템이 입력값을 심플코드 로 간주하여 처리할 수 있다. 역시 “112 … = pd …” 가 입력되면, 3번째 입력 값 [2] 가 입력되는 순간 입력값이 풀코드를 이루지 못하는 것(중국어 입력에서 ‘11’ 이 ‘bb’가 될 수 없고 ‘p’로 해석될 수 밖에 없으며, p 다음에 로마알 파벳 자음 d 혹은 t가 오면 중국어 음절을 이룰 수 없으므로)을 시스템이 인식하 고, 시스템이 입력값을 심플코드로 간주하여 처리할 수 있다. 마찬가지로 “7771 … = wb…” 이 입력되면 4번째 입력값 [1] 이 입력되는 순간 시스템이 입력값을 심플코드로 간주하여 처리할 수 있다. 결국 대부분의 경우 2번째 혹은 3번째 입 력값이 입력되면 입력값이 풀코드인지 아닌지를 시스템이 알 수 있는 것이다.
“14 … = bj …” 가 입력되면, 2번째 입력값 [4] 가 입력되는 순간 시스 템이 입력값이 유효한 중국어 음절을 이루지 못하는 것(중국어 성모중 bj와 같이 로마알파벳 자음이 결합되는 경우가 없으므로)을 인식하고, 입력값을 심플코드로 간주하여 처리할 수 있다. 즉 도10-5에서 시스템이 심플코드 “14”의 대응어구 인 “Bejing” 혹은 “北京” 을 사용자에 제공할 수 있는 것이다. 만약 심플코 드의 색인에 “14”혹은 “14”로 시작하는 심플코드가 없다면, 시스템은 입력값 을 다시 풀코드로 간주하여 “bj”를 사용자에게 제공하면 된다.
이는 마치 모음요소를 활용한 한국어의 경우(도4-5)에서와 동일하다. 기 설명한 도4-5에서의 풀입력방법은 한국어제한 반복선택방법으로 볼 수 있고, 풀우 선 병행입력방법 적용시, “12”가 입력되면, 입력값이 유효한 한국어 음절을 이 루지 못하므로, 시스템은 입력값을 심플코드로 간주하여 심플코드 색인을 참조하 여 심플코드에 대응하는 어구를 사용자에게 제공하게 된다. 그러나, 심플코드 색 인에 “12”와 일치하는 심플코드가 더 이상 존재하지 않는 것이 확인되면, 시스 템은 입력값을 다시 풀코드로 간주하여 “ㄱㄴ”을 사용자에게 제공하게 된다.
이해를 돕기 위하여 도5-4와 도10-5의 심플코드 색인에서 심플코드는 정렬 되어 있는 상태로 표시하였으나, 시스템 내부에서 어떤 형태로 저장되어도 상관없 으며, 다만 심플코드 색인 검색시 필요하면 시스템은 심플코드를 정렬하여 입력값 이 심플코드 색인에 더 이상 존재하는지 여부를 검사하면 된다.
또한 단축입력모드(검색대상이 되는 심플코드 색인에 도10-1을 기준으로 [1] ~ [9]로 이루어진 음절기준 이니셜코드만이 저장되어 있다고 가정)를 기본입 력모드로 하는 병행입력방법(단축우선 병행입력방법)에서, 입력값 "1* ..." 에서 2번째 값 [*] 이 입력되는 순간 시스템은 심플코드 색인을 검색하지 않고도 입력 값이 풀코드인 것으로 인지하여 처리할 수 있다. 이 역시 도5-4에서의 한국어의 경우와 동일하다.
도5-4, 도10-5에서 병음/한자 색인과 심플코드 색인을 하나의 색인으로 설 명하였다. 그러나 도5-1에서와 같이 병음/한자 색인(간단히 "병음색인"이라 부름. "병음 + 병음대응 한자"를 저장한 색인 - 입력된 병음으로부터 대응하는 한자 검색용)이 존재하고, 또 심플코드/병음 색인(간단히 "심플코드색인"이라 부 름. "심플코드 + 심플코드대응 병음 + 병음대응 한자" 혹은 "심플코드 + 심플코 드대응 병음"을 저정한 색인)이 별도로 둘 수도 있는 것은 자명하다.
도5-4, 도10-5에서와 같이 심플코드 색인에 반드시 음절기준 이니셜코드만 저장되어 있을 필요는 없으며, 자음기준 이니셜코드와 같이 다른 유형의 심플코드 가 함께 저장되어 있는 것도 가능하다. 마찬자기로 심플코드의 종류에 따라 음절 기준이니셜코드색인, 자음기준이니셜코드색인, 전체연관심플코드색인 등과 같이 각각의 색인을 두어 구현될 수도 있다.
도10-10에서와 같이 "北京"에 대하여 음절기준 이니셜코드 "14", 자음기준 심플코드 "1473", 그리고 전체연관 심플코드 "1*#4#73"가 있다고 가정한다. 도 10-10의 키패드에서 중국어제한 풀우선병행입력방법을 적용시, 음절기준 이니셜코 드 "14" 그리고 자음기준 심플코드 "1473" 의 경우는 두번째 입력값 "7"이 눌러지 는 순간 시스템이 입력값을 심플코드로 간주하고 색인을 검색하여 처리할 수 있다. 그런데, "beijing"의 전체연관 심플코드 "1*#4#73" 의 경우는 입력값 "1*#4 ..." 을 풀코드로 해석하면 "baiz ..."이 되고, "1*#4"까지는 병음의 생성 규칙을 위반하지 않는다. 그러나 "baiz ..." (및 "baij ..." - 다음입력값에 따 라 "baij ..."로 될 수 있으므로)은 도10-11의 병음색인에 존재하는 병음이 아니 다. 따라서 시스템은 입력값 하나하나의 입력에 따라, 입력값을 풀코드로 해석하 여, 입력값이 "b... => ba... => bai... => baiz..." 로 각기 인식할 때마다 병음 색인을 참조하여 일치하는 어구를 검색한다. 도10-10에서 보듯이 "bai~"까지는 일치하는 병음을 찾을 수 있으나, 입력값이 "baiz~" (및 잠재적 "baij~")로 인식 되는 순간 시스템은 병음색인에 더 이상 일치하는 어구가 없는 것을 확인할 수 있 게 된다(도10-10의 (1) 참조). 따라서 "baiz~" 까지의 입력값 "1*#4 ..."을 심플 코드로 간주하고 심플코드 색인을 참조하여 일치하는 어구를 검색해 낼 수 있다 (도10-11의 (2)-(A), (2)-(B) 참조). 여기서 심플코드 색인에서도 입력값 "1*#4# ..." 과 일치하는 어구를 찾을 수 없으면, 시스템은 다시 입력값을 풀코드로 간주 하여 "bai ..." 로 처리할 수 있다.
뜻글자인 중국어의 특성상 모든 병음과 한자의 색인(병음/한자 색인)을 시 스템에 저장하여야 하므로, 입력값이 유효한 병음음절을 이루더라도 병음/한자 색 인에 존재하지 않는 것이 확인되는 순간 시스템은 입력값을 심플코드로 간주하여 처리하는 것을 의미한다. 이는 입력값이 풀코드를 이루지 못하는 것을 시스템이 인식하는 순간 입력값을 심플코드로 간주하여 처리하는 것과 같은 맥락으로 볼 수 있다.
같은 단어에 대하여 다른 형태의 심플코드가 존재하는 경우 도10-10 에서와 같이 혹은 도10-11 에서와 같이 하나의 병음에 대하여 심플코드를 멀티플 카타로 그의 어떤 형태로 가지고 있는 것이 모두 가능하다. 입력값을 심플코드로 간주하 여 처리(즉, 입력값을 단축입력으로 간주하여 처리)함에 있어서, 도10-11에서의 (2)-(A) 혹은 (2)-(B) 의 처리가 선택적으로 가능하다. 도10-11의 (2)-(B)의 처 리과정을 이용하면 색인에 심플코드를 가지지 않아도 된다. (2)-(B) 의 과정은 입력값 하나하나의 입력시마다 입력값이 이룰 수 있는 병음의 조합과 색인의 병음 을 비교하여 일치하는 병음을 검색해 내는 것이다. 입력값이 이룰 수 있는 병음 의 조합은 [1] 버튼에 2개 알파벳이 배정되어 있고 [*] 버튼에 3개의 알파벳이 배 정되어 있으므로, "1*"까지 눌러졌을때 각 버튼에 배정된 알파벳의 조합 6가지 (=2x3) 가 가능함을 쉽게 알 수 있다. 이를 편의상 "심플코드 가능알파벳조합" 혹은 "가능알파벳조합"이라 부르기로 한다. 도10-11에서 [#] 버튼에 2개 알파벳 이 배정되어 있으므로 "1*#"까지 눌러지면 12가지 조합이, "1*#4"까지 눌러지면 24가지 조합이 가능할 것이다. 그런데 시스템에서 구현시 실제 중국어 병음사전 에서 "poi ..."로 시작하는 병음이 존재하지 않으므로, "poi..." 이하의 조합은 고려대상에서 제외할 수 있다. 즉, 입력값 "1*#4"에 대하여 "poi..."이하의 조합 인 "poiz..." 및 "poij..." 도 제외될 수 있는 것이다. 마찬가지로 "poi..." 뿐 아니라 가능알파벳조합 중 병음색인에 존재하지 않는 조합을 제외하면서 입력값과 일치하는 병음을 검색할 수 있다.
도10-11의 (2)-(A) 의 처리 과정을 이용하는 것은 색인에 심플코드를 가져 야 하나, 불규칙하게 정의된 심플코드가 사용된 경우도 처리할 수 있다. (2)- (B)의 처리 과정을 이용하는 것은 심플코드를 색인에 저장하지 않아도 되나 일정 한 규칙을 가진 심플코드(예를 들어, 전체연관 심플코드)가 입력된다는 전제가 필 요하고 시스템에서는 그 약속된 심플코드 유형(예를 들어, 전체연관 심플코드)을 미리 알고 있는 것이 필요하다.
입력하기를 원하는 모든 병음/한자의 색인을 가지고 있어야 하는 중국어의 특성상 도10-12, 도10-13에서와 같이 풀코드로 해석한 값이 색인에 존재하지 않을 때, 입력값을 심플코드(즉, 단축입력값)으로 간주하여 처리하는 것이 가능하다. 풀우선병행입력방법 적용시, 도10-12는 중국어 입력에 있어서 일반적으로 적용할 수 있는 절차를 나타내고 있다. 이는 음절기준 이니셜코드, 혹은 자음기준 심플 코드를 사용하는 풀우선 병행입력방법에도 동일하게 적용될 수 있다. 예를 들어 음절기준 이니셜코드가 입력되면, 시스템은 이를 풀코드로 해석하여 병음색인을 검색하게 되는데, 대부분의 경우 2~3번째 입력값이 입력되는 순간 입력값이 병음 색인에 더 이상 존재하지 않는 것을 시스템이 인식할 수 있기 때문이다. 도10-13 은 중국어의 언어적 특성을 이용하여 병음색인을 검색하기 이전에 입력값이 유효 한 병음음절을 구성하는지를 체크하는 절차가 더해진 것을 보여준다.
중국어뿐만 아니라 다른 언어의 입력시스템에서도, 입력하고자 하는 모든 단어의 색인을 시스템이 저장하고 있을 때, 마찬가지로 도10-12, 도10-13에서의 절차에서와 같이, 하나하나의 입력값이 입력될 때마다, 입력값을 풀코드로 해석하 여 색인의 단어를 검색하여 일치하는지를 확인하고, 일치하는 단어가 더 이상 존 재하지 않으면, 입력값을 단축코드로 간주하여 처리하는 것이 가능하다.
14.1.2 영어 등
"st~" 혹은 "sp~" 로 시작하면서 최초 단어시작시부터 4번째 자음이 입력되 는 것으로 인식되는 경우, 그리고 "st~" 혹은 "sp~"로 시작하지 않으면서 최초 단 어시작부터 3번째 자음이 입력되는 것으로 인식되는 순간, 시스템은 입력값을 심 플코드로 간주하여 처리할 수 있다.
예를 들어 도1-1의 키패드에서 단순반복선택방법을 적용하고, “467... = gms ...” 입력시 세번째 입력값 [7]이 입력되는 순간 입력값이 영어의 단어생성 규칙을 위배하므로, 시스템이 입력값을 심플코드로 간주하여 처리할 수 있는 것이 다. 만약 심플코드 색인에 install 의 전체연관 심플코드 “4678255 = install” 가 저장되어 있다면, 심플코드 대응어구인 install 을 시스템이 사용자에게 제공 할 수 있는 것이다. 검색범위의 심플코드 색인에 “467…” 과 일치하는 심플코 드가 존재하지 않으면, 입력값을 다시 풀코드로 간주하여 처리할 수 있다.
그리고 전술한 바와 같이 자모음분리키패드에서 영어제한반복선택방법을 풀 입력방법으로 사용하면, 입력값이 영어의 입력규칙(예. 단어시작으로부터 "st~" 혹은 "sp~"로 시작하지 않으면서 3개의 자음이 올 수 없음)을 위배하는지를 쉽게 알 수 있으므로, 더욱 효율적으로 병행입력방법을 적용할 수 있다.
14.2 대표알파벳제외 컨트롤처리방법을 풀입력방법으로 하는 언어제한 병행 입력방법
도1-1에서 각 버튼의 첫번째 알파벳을 대표알파벳으로 해당 버튼 1타로 입 력하고, 나머지 알파벳을 컨트롤처리방법에 의하여 입력할 경우(즉, 대표알파벳제 외 컨트롤처리방법 적용), 영어의 앞에서 설명한 단어생성규칙을 활용하여 단어생 성규칙을 위배시 입력값을 심플코드로 간주하여 처리하는 언어제한 병행입력방법 을 적용할 수 있다.
예를 들어 도1-1에서 첫번째 알파벳을 대표알파벳으로 하고 나머지 알파벳 을 컨트롤처리방법에 의하여 입력할 경우, “467... = gms ...” 입력시 세번째 입력값 [7]이 입력되는 순간 입력값이 영어의 단어생성규칙을 위배하므로, 시스템 이 입력값을 심플코드로 간주하여 처리할 수 있는 것이다.
마찬가지로 영어 이외의 언어에 있어서도 유사하게 적용할 수 있으며, 나머 지 사항은 반복선택방법을 풀입력방법으로 하는 언어제한 병행입력방법에서와 유 사하다.
14.3 언어제한 병행입력방법에서의 3차모호성 극복
“scope”의 전제연관 심플코드 “72673”을 입력하는 경우에는, 시스템이 이를 1차적으로 풀코드로 인식하면 “72673 = pampd” 과 같이 되어 입력값이 영 어의 단어생성규칙을 위반하지 않으므로 시스템은 입력값을 1차적으로 풀코드로 인식하게 되고, 2차적으로 입력값을 심플코드로 해석하여 심플코드에 대응하는 scope 로도 인식하는 “3차모호성”이 발생하게 된다. 여기서 풀입력방법으로 도 1-1을 기준으로 단순반복선택방법이 적용된 경우이다.
이 경우 시스템은 1차적으로 사용자에게 pampd 를 제공하게 되다. 그러나, 사용자가 scope 를 입력하고자 할 경우 특정 버튼(예를 들어, 아래화살표 [v] 버 튼)을 눌러 scope를 선택하도록 할 수 있다. 또는 “72673”이 입력되고 나서 단 어입력이 종료되면(예를 들어 공백 등이 입력되면), 입력값을 1차적으로 풀코드로 해석한 “pampd”와 심플코드로 해석한 “scope”를 사용자에게 리스트로 제공하 고 사용자로 하여금 선택하도록 할 수도 있다.
위의 경우는 대표알파벳제외 컨트롤처리방법을 풀입력방법으로 사용하는 병 행입력방법에서도 유사하게 적용할 수 있다. 또한 풀우선 병행입력방법이 아닌 단축우선 병행입력방법에서도 입력값 입력후 단어가 종료되는 시점에 입력값이 심 플코드 색인에 존재하는 경우라도, 입력값을 풀코드로 간주하였을 때, 언어제한을 위반하지 않으면(3차모호성이 발생하면), 사용자로 하여금 선택(특정 버튼을 반복 하여 눌러 혹은 리스트에서 선택)하도록 할 수 있다.
영어 이외의 언어(특히, 대표알파벳제외 컨트롤처리방법을 적용하는 일본어 의 경우 등)에 있어서도 유사하게 적용할 수 있다.
다수의 후보 중 하나를 선택하기 위하여 이동버튼중 자주 사용되지 않는 임 의의 버튼을 이용하여 시스템이 출력한 후보어구 중 타겟어구를 선택하도록 할 수 있다. 이는 3차 모호성이 발생하는 경우 뿐만 아니라 모호성이 발생하는 모든 경 우에 적용할 수 있음은 이미 설명하였다.
15. 언어제한을 위배한 문자열을 이용하는 병행입력방법
입력값(풀코드 혹은 심플코드)는 클라이언트측에서 해석될 수도 있고, 서버 측에서 해석될 수도 있다고 하였다. 도11-1, 도11-2는 각각 클라이언트측에서 해 석되는 경우와 서버측에서 해석되는 경우를 나타낸 선출원의 도면이다. 즉 단순 히 "시스템"이라 하면 클라이언트측 시스템 혹은 서버측 시스템을 모두 아우르는 개념인 것이다. 입력값이 심플코드인 경우 이를 클라이언트측에서 해석하여 심플 코드 대응어구를 문자열(text)로 서버측에 전송하는 경우, 서버측에서는 이를 활 용하여 각종의 서비스를 제공하면 된다. 마찬가지로 입력값을 숫자로 서버측에 전송하고, 서버측에서 해석하는 경우도, 서버측에서 심플코드를 해석하여 각종의 서비스에 활용하면 된다. 클라이언트측에서 DTMF 톤을 송출하고 이 입력값을 서 버측에서 전달받아 활용하는 것도, 당연히 숫자값을 클라이언트측에서 서버측으로 전송하는 사례중의 하나이다.
언어제한 병행입력방법에서 입력값이 언어제한을 위배하여(즉, 입력값이 특 정언어의 유효한 음절을 이루지 못하여), 시스템이 입력값을 심플코드로 간주하여 처리하되, 심플코드의 색인에 입력값과 일치하는 심플코드가 존재하지 않을 수도 있다. 이 경우 다시 입력값을 풀코드로 간주하게 된다고 하였다. 그런데 예를 들어 사용자가 도4-5를 기준으로 "삼성전자"를 염두에 두고 "7799"를 입력하였는 데, 클라이언트측 시스템내의 심플코드 색인에 "7799" 와 "7799"에 대응되는 "삼 성전자"를 저장하고 있지 않으면, 시스템은 단순히 "ㅅㅅㅈㅈ"을 사용자가 입력한 것으로 간주하게 된다. 만약 증권정보시스템의 경우, 클라이언트측에서 입력값 "7799"를 서버측으로 전송하거나, 혹은 입력값 "7799"에 대응되는 삼성전자를 서 버측으로 전송하면, 증권정보서버에서 "7799"를 해석할 수 있으므로 별 문제가 없 을 것이다(증권정보 서버에서는 심플코드 "7799"와 심플코드 대응어구인 "삼성전 자"를 가지고 있는 것으로 가정). 그러나 클라이언트측에서 문자입력모드에서 사 용자가 "7799"를 입력후 클라이언트측에서 입력값을 심플코드로 간주하여 처리하 고, 클라이언트측 심플코드 색인에 "7799"가 존재하지 않아 이를 다시 풀코드로 간주하여 문자열 "ㅅㅅㅈㅈ"을 서버측에 전송하는 경우 증권정보 서버에서는 이를 활용하기 어렵게 된다.
따라서 증권정보 서버에서는 전송된 문자열 "ㅅㅅㅈㅈ"가 의미를 가지는 값 이 아닌 경우, "ㅅㅅㅈㅈ"를 입력하기 위하여 사용된 "7799"를 추출하고, 심플코 드 "7799"의 대응어구인 "삼성전자"를 추적하여 이를 시스템에서 활용할 수 있다. 혹은 한국어에서 심플코드로 음절기준 이니셜코드를 사용할 경우만 적용할 수 있 는 다른 방법으로, 시스템은 심플코드 대응어구 중 "ㅅㅅㅈㅈ"과 음절의 첫자음이 일치하는 "삼성전자"를 추적하여 이를 활용하여 서비스를 제공할 수 있다.
이는 키패드가 아닌 키보드를 사용하는 PC 환경에서도 동일하게 적용될 수 있다. 즉 기존의 PC 등을 클라이언트로 사용하는 증권정보 시스템에서 사용자는 "삼성전자"의 주가를 조회하기 위하여 "삼성전자"를 입력여야 했지만, "ㅅㅅㅈ ㅈ"만을 입력하고 서버측으로 전송하더라도, 증권정보 서버 시스템에서 "ㅅㅅㅈㅈ"이 낱글자의 나열로써 상장회사명에 존재하지 않는 것을 인지하고, 앞 서 설명한 2가지 방법("7799"를 추출 후 "삼성전자"추적 혹은 "ㅅㅅㅈㅈ"와 음절 의 첫자음이 일치하는 "삼성전자" 추적)에 의하여 서비스를 제공할 수 있는 것이 다.
또 다른 방법은 서버측 색인에 “7799(심플코드), 삼성전자(심플코드 대응 어구)” 뿐만 아니라 “ㅅㅅㅈㅈ(편의상 ‘심플코드 대응문자’라고 함)”를 등록 하여 두고, 클라이언트측으로부터 전송된 값 “ㅅㅅㅈㅈ”이 유효한 한국어 음절 을 이루지 못하는 것을 확인하고 저장된 심플코드 대응문자와 비교하여 사용자가 의도하는 것이 “삼성전자”라는 것을 알아낼 수 있다.
이상의 내용을 그림으로 정리하면 도11-3과 같으며, (A), (B), (C)가 선택 적으로 가능하다.
더 나아가 기존의 PC 등의 클라이언트에서 키보드 등과 같은 장치를 통하여 문자를 입력하는 등의 경우(예를 들어, PC의 워드프로세서 등을 이용하여 문자를 입력하는 경우)에 있어서도, 음절기준 이니셜코드를 이용하여 음절의 첫자음만을 입력하고, 시스템(클라이언트 혹은 서버)에서 이를 타겟어구로 변환함으로써, 고 속으로 문자입력을 할 수 있도록 하거나 혹은 각종 정보시스템에서 활용하는 것이 가능하다. 예를 들어 “삼성전자”를 입력하고자 할 경우 사용자가 “ㅅㅅㅈㅈ” 을 입력하면, 시스템은 색인을 검색하여 음절의 첫자음이 “ㅅㅅㅈㅈ”인 “삼성 전자”를 사용자에게 제공할 수 있다. 앞에서 설명한 다른 방법(약속된 특정 키 패드를 기준으로한 입력값의 심플코드 추출 및 색인검색, 심플코드 대응문자를 색 인에 저장)도 적용이 가능하다. 도11-5를 참고할 수 있다. (A), (B), (C)가 선택 적으로 가능하다.
지금까지는 상용어구를 등록하여 두고 이를 입력함에 있어서, 단순히 어구 와의 연관성과 관련없이 단순히 특수기능버튼과 숫자버튼 등을 조합하여 입력하도 록 지정하는 정도였다. 예를 들어 "삼성전자"를 상용어구로 등록하고, "alt + 1"로 입력하도록 하는 것이다.
마찬가지로 도10-2을 기준으로 “四通集團(satongjipdan : 출원인이 중국어 발음을 알지 못하는 관계로 편의상 한국어 발음을 한어병음인 것으로 간주하여 사 용하나, 중국어 발음에도 유사하게 적용하면 됨)”의 음절기준 이니셜코드는 s, t, j, d 에 대응되는 “6242”가 된다. 사용자가 “6242”를 입력하였을 때, 클 라이언트측 시스템의 심플코드 색인에 6242와 四通集團(satongjipdan)이 등록되어 있지 않으면, 클라이언트측 시스템에서는 사용자에게 단지 “sdzd”만을 제공하게 된다. 사용자가 “sdzd”를 서버측으로 전송하면, 서버측에서는 “sdzd” 가 유 효한 중국어 음절을 이루지 못하므로, “sdzd”로부터 사용자가 입력한 입력값 “ 6242”를 추출하고, 심플코드(여기서는 음절기준 이니셜코드) “6242”에 대응되 는 “四通集團”을 검색해낼 수 있는 것이다(서버측 시스템에서는 심플코드와 대 응어구를 저장하고 있는 것으로 가정).
한국어의 사례에서 “ㅅㅅㅈㅈ” 및 각 자음과 함께 배정된 알파벳과 각 음 절의 첫자음이 일치하는 어구를 검색해내는 것과 처럼, 도10-2을 기준으로 “sdzd ” 및 기타의 변형이 가능한 자음조합(예. “xdjd”, “stjt”, “sdjt”, … 16 가지 경우 존재)과 각 음절의 첫자음이 일치하는 단어를 사용자에게 제공할 수 있 다.
역시 서버측에 심플코드 대응문자 “sdzd”를 함께 저장하고, 클라이언트측 으로부터 전송된 값 “sdzd”이 유효한 중국어음절을 이루지 못하므로, 전송값과 색인의 심플코드 대응문자를 비교하여 사용자가 의도하는 것이 “四通集團”인 것 을 시스템이 알아낼 수 있다.
이상의 내용을 그림으로 정리하면 도11-4와 같으며, (A), (B), (C)가 선택 적으로 가능하다.
도11-3, 도11-4에서의 처리과정은 서버측에서 행해질 수도 있고 클라이언트 측에서 행해질 수 있다.
키패드를 구비한 장치뿐만 아니라 PC등의 정보통신기기에서도 사용자가 “ stjd” 입력시 한어병음의 음절의 첫자음이 일치하는 단어(“四通集團”)을 검색 하여 사용자에게 제공할 수 있다. 혹은 사용자가 “stjd” 입력시 시스템(예. PC)에서 단축코드(심플코드 대응문자)를 각 음절의 첫자음 “stjd” 로 등록하여 두고, 두번째 자음이 입력되는 순간, 중국어 언어제한을 위배(sh, ch, zh 등이 아 닌 2개의 로마알파벳 자음 등장)하므로, 입력값을 단축입력값으로 간주(사용자가 단축입력을 하는 것으로 간주)하여 처리할 수 있다. 입력값 “stjd” 에서 심플 코드를 추출하는 것은 미리 약속된 키패드(예. 10-2)에 의하여 심플코드(예. 6242)를 추출할 수 있다. 도11-6을 참고할 수 있으며, (A), (B), (C)가 선택적으 로 가능하다.
도11-6의 (B)는, 입력값이 생성하는 그리고 유효한 병음 음절을 생성하지 않는 단어 (예에서는 "음절기준이니셜값"으로 "stjd")와 색인에 저장된 어구의 각 음절의 첫 알파벳 ("sa-tong-jip-dan => stjd") 과 비교하여 일치하는 어구를 검 색해 내는 것이다. 이는 단축입력값으로 음절기준이니셜값을 사용하는 것으로 볼 수 있다. 도10-*의 키패드에서는 "stjd"에 대응하는 음절기준이니셜값은 "622442"이 된다. 도11-6의 (B)는 도면에서 쉽게 알 수 있듯이, 심플코드 색인을 구비하지 않고, 단지 한자의 입력을 위한 병음의 색인을 구비하는 것만으로 가능 하다. 마찬가지로 입력값이 "자음기준입력값"이 사용되는 경우에도 시스템에서는 입력값이 생성하는 단어(문자열)와 색인에 저장된 어구의 자음이 일치하는 어구를 검색해 낼 수 있다.
정리하면 규칙적으로 인식될 수 있는, 단축입력하는 입력값의 종류는 심플 코드의 종류와 유사하게 "음절기준이니셜값"(예를 들어, "beijing 의 음절기준이 니셜값은 "144 = bj" 가 됨), "자음기준입력값" ("beijing" 의 자음기준입력값은 "144773 = bjng"가 됨), "첫모음+음절기준이니셜값", "단어기준이니셜값" 등등이 있을 수 있다. 시스템은 입력값이 언어제한을 위배하는 순간 입력값을 단축입력 값으로 간주하여 처리하는 것이다.
지금까지 제시한 "단축입력값"의 종류를 정리하면 도11-11의 표와 같다. 도11-11에서 단축입력값 (A)는 (B) ~ (L)까지를 포괄하며, 이는 지금까지 제시하 였던, 시스템이 일정한 규칙에 따라 인식할 수 있는 단축입력값의 종류를 보여준 다. 임의의 일부 알파벳에 연관하여 정해진 일부연관심플코드 그리고 임의의 일부 알파벳만으로 이루어진 단축입력값도 포함된다. "전체입력값" (Z)는 풀입력방법 의 풀코드가 됨을 알 수 있다.
기 제시한 대로 어떤 조건(예를 들어, 입력값이 풀코드의 생성규칙을 위반 하는, 또는 특정언어의 유효한 음절을 이루지 못하는 경우 등등)에 해당하면 입력 값을 단축입력값으로 간주하여 처리하는 것 (즉, 입력값이 약속된 풀입력방법의 풀코드가 아닌 것으로 간주하여 처리) 이, 병행입력방법의 핵심내용이므로 본 발 명에서 제시하지 않은 단축입력값이 사용되는 경우도 본 발명의 병행입력방법의 범주에 포함됨은 자명하다. 도11-11의 표에서 (H) ~ (L)의 단축입력값은, 도11- 5, 도11-6에서와 같이, 키패드를 구비한 장치 뿐만아니라 PC와 같은 장치에서도 이용될 수 있다. 도11-6의 (B)는 단축입력값으로 "음절기준이니셜값"이 사용된 사례를 보여준다. 단축입력값을 통칭하는 용어로 심플코드 혹은 단축코드 라는 용어가 사용되었는데, (H) ~ (L) 의 단축입력값 역시 포괄적인 의미의 심플코드로 볼 수 있다. 즉 도11-11에서의 (I) "음절기준이니셜값"은 "음절기준이니셜값 심 플코드"라고 할 수 있을 것이며, (H) ~ (L) 의 단축입력값 역시 마찬가지로 명명 할 수 있을 것이다.
도10-*에서 음절기준이니셜값으로 "14 = bz"가 입력되면 시스템은 "bz"와 각 음절의 자음이 일치하는 어구를 색인에서 검색해 낼 것이다. 여기서 다시 " 4"가 입력되면 "144 = bj" 이므로 "bj"와 각 음절의 첫자음이 일치하는 어구(예를 들어, "beijing")를 색인에서 검색해 낼 것이다.
본 발명에서는 한걸음 더 나아가 앞에서 예시한 단축입력값 중 임의의 단축 입력값이 입력되었을 때, 이를 여러 종류의 단축입력값으로 해석할 수 있음을 보 인다. 예를 들어, 어떤 단축입력값에 대하여 1차적으로 소정의 단축입력값(예를 들어, 음절기준이니셜값)으로 간주하여 처리하고, 2차적으로 다른 단축입력값(예 를 들어, 자음기준입력값)으로 간주하여 처리하고, 3차적으로 또 다른 단축입력값 으로 간주하여 처리하고, 이하 하나의 단축입력값에 대하여 여러종류의 단축입력 값으로 해석할 수 있음을 제시한다. 도10-*을 기준으로 단축입력값 "144 = bj" 가 입력되면 시스템은 1차적으로 "bj"와 각 음절의 첫 알파벳이 일치하는 어구(예 를 들어, "beijing")를 색인에서 검색하고, 1차 검색결과가 존재하는지 여부와 상 관없이, 2차적으로 색인의 어구중 자음이 일치하는 어구를 검색할 수 있는 것이다.
이는 사용자가 도11-11에서 제시한 어떤 단축입력값을 입력하더라도 시스템 이 해석해 낼 수 있음을 보여주는 것이다. 이를 적용하면 하나의 단축입력값에 대하여 다수의 검색결과가 있을 수 있게 되는데, 출력되는 우선순위는 적용하는 단축입력값의 유형에 따라 우선순위를 적용할 수 있다. 예를 들어 음절기준이니 셜값으로 해석하여 검색된 어구(들)을 우선으로, 다음으로 자음기준입력값으로 해 석하여 검색된 어구(들)을 그 다음으로 출력하는 것이다. 만약 어떤 사용자가 단 축입력값으로 음절기준이니셜값을 주로 사용한다면, 음절기준 이니셜값에 의하여 해석된 어구(들)을 1차적으로 출력되도록 설정하는 것이 바람직할 것이다. 따라 서 단축입력값의 유형에 따른 우선순위를 사용자가 지정할 수 있도록 하는 것이 바람직하다. 또한 어떤 사용자가 자음기준이니셜값 만을 사용하기를 원한다면 단 축입력값을 자음기준 이니셜값으로만 해석하도록 설정할 수 있는 것이 바람직할 것이다. 같은 유형의 단축입력값으로 해석하여 얻어진 어구들의 출력 우선순위는 이미 언급한 바와 같이 사용빈도와 같은 요소에 의하여 결정될 수 있다. 또한 출 력되는 우선순위는 단축입력값 해석에 적용된 단축입력 유형에 관계없이 검색된 어구들 각각의 사용빈도에 따라 결정될 수도 있다.
"jinzhi (禁止) 과 zhuijian(逐ㅇ) 의 경우는 음절기준 이니셜값 각각 "jz", "zj"로 모두 "444" 이다. 이 경우는 풀우선 병행입력방법 적용시, 3번째 입 력값 "4"가 입력되는 순간 입력값이 병음음절을 이루지 못하는 것을 시스템이 인 지할 수 있게 된다. 도10-* 을 기준으로 음절기준이니셜값이 같은 버튼에 배정된 각기 다른 알파벳인 경우는 가능한 모든 경우를 검색하면 된다. 즉 단축입력값 "444"에 대하여 각 음절이 "jz"와 일치하는 어구 미치 "zj"와 일치하는 어구를 모 두 검색하면 된다.
마찬가지로 단축우선 병행입력방법 적용시에도, 입력값을 도11-11의 (B) ~ (L)의 단축입력값으로 간주하여 처리할 수 있다. 또한 입력값을 1차적으로 음절 기준이니셜값으로 간주하여 처리하고 2차적으로 음절기준이니셜코드로 간주하여 처리하고, 3차적으로 자음기준이니셜값으로 간주하여 처리하고, 이하 마찬가지로 다른 단축입력값으로 처리하는 것이 가능하다. 입력값을 단축입력값으로 처리하 여 더 이상 일치하는 단어가 색인에 존재하지 않는 것이 확인되는 순간 시스템은 입력값을 풀코드로 간주하여 처리하면 된다. 사용자가 주로 사용하는 단축입력값 의 종류를 미리 지정할 수 있도록 하는 것이 바람직할 것이다.
“jinzhi (禁止) 과 zhuijian(逐ㅇ) 의 경우는 음절기준 이니셜값을 사용할 때의 문제를 해결하기 위하여 권설음의 음절기준이니셜값 심플코드 및 음절기준 이니셜코드를 다음과 같이 할 수 있다. 중국어에서 권설음 “ch”, “sh”, “zh ” 는 사실상 단일 성모이고, 주음부호로는 하나의 기호로 표기되나, 영어알파벳 으로 표기시 2개의 알파벳 조합으로 된 것이다. 따라서 도10-6에 따른 zhuijian 의 음절기준이니셜값 심플코드 역시 “h”를 포함하여 “zh+j”에 대응되는 “ 4944”로 할 수 있다. 음절기준이니셜코드는 “zh+j”에 대응되는 “494”가 될 것이다. 도10-*의 키패드에서 권설음 “ch”, “sh”, zh” 를 이루는 첫 알파벳 “c”, “s”, “z” 가 두번째 알파벳 “h”와 다른 버튼에 배정되어 있으므로, “jinzhi (禁止)” 과 “zhuijian(逐ㅇ)”의 음절기준이니셜값 심플코드를 모두 “444”로 하였을 때의 모호성이 없게 된다.
음절기준이니셜값 심플코드를 단축입력값으로 이용하는 풀우선 병행입력방 법에서, 입력값 “4~”는 “z~”로 인식되고, 입력값 “49~”가 입력되면 “zh~” 로 인식하고 처리하게 될 것이다. 그러나 “zh~” 로 시작하는 단어는 다수 이므 로 시스템이 입력값 “49~”를 “zh~” 로 처리하여 대응어구를 사용자에게 출력 하더라도 의미가 적을 것이다. 따라서 입력값 “49”에 대하여 시스템은 음절기 준이니셜값 심플코드로 해석하여 음절의 구성이 “z__h__”인 어구를 출력하여 제 공할 수 있다 (밑줄 부분은 모음이 위치함을 의미). 만약 “49”를 “zh”로만 해석하면, 음절기준 이니셜값이 “z__h__” 인 단어를 단축입력하기 어렵게 된다. 중국어의 경우 대분분의 단어가 하나의 음절(글자) 혹은 두개의 음절(글자)로 이 루어져 있으므로, 2음절 단어의 단축입력을 위하여, 권설음 입력에 대하여 단축입 력으로 처리하는 것이 필요하다. 도10-17을 참고한다. 도10-17에서 액정상에 [禁止] 다음에 흐린색으로 [. . .] 으로 표시된 것은 “z__h__”인 단어가 다수인 경우 후순위의 다른 단어들이 출력됨을 의미한다. 후순위로 “zh__”인 단어들이 출력될 수 있음은 물론이며, 사용자의 취향에 따라 “zh__”인 단어가 먼저 출력 되도록 설정할 수도 있을 것이나, 일반적으로 “z__h__” 형태의 단어가 먼저 출 력되도록 하는 것이 편리할 것이다.
“49” 다음에 모음 입력이 인식되면(예를 들어, 모음버튼이 눌러지면), 시 스템은 입력값을 “zh__” 로 처리(즉, 입력값을 풀코드로 처리)하게 된다. “49 ” 다음에 자음 입력이 인식되면(예를 들어, 자음버튼이 눌러지면), 시스템은 입 력값을 “zh__X__” 로 처리하게 된다 (대문자 ‘X’는 임의의 성모를 표현하는 영어 자음). 즉 정리하면 풀우선 병행입력방법에서도 권설음의 “ch”, “sh”, “zh” 등의 입력에 대하여 일차적으로 심플코드(음절기준이니셜값 심플코드 혹은 음절기준 이니셜코드)로 해석하고, 다음 입력값이 모음인지 자음인지에 따라 풀코 드 혹은 심플코드로 해석하는 것이다.
위의 내용은 자음기준이니셜값 심플코드를 단축입력값으로 하고, 단축우선 병행입력방법을 적용한 것과 유사한 결과이다. 단, 단축입력값으로 음절기준 이 니셜값 심플코드를 적용하고, 풀우선 병행입력방법을 적용하되, 단지 단어 시작상 태 (확인버튼이 눌러지거나 혹은 입력시스템에서 약속된 형태의 단어종료 후)에서 권설음이 입력되었을 때는 입력값을 단축입력값으로 간주하여 처리(예에서, 단어 의 초성이 “z__h__” (‘ch’, ‘sh’ 등의 다른 권설음의 경우는 그에 따름) 와 일치하는 단어를 검색)하는 것이다.
이상에서 도10-*을 기준으로 설명하였으나, 이는 다른 키패드에서도 위의 개념을 적용할 수 있음은 자명하다.
더 나아가 PC 의 키보드 그리고 키패드 뿐만 아니라 이와 유사한 변형된 모 든 형태의 자판(스크린 상에서 구현되는 자판의 형태는 매우 다양할 수 있다)에서 도 동일하게 적용할 수 있다.
16. 심플코드 가능알파벳 조합을 이용하는 병행입력방법
앞에서 설명한 방법중 심플코드로 음절기준 이니셜코드를 사용하는 경우, 각 음절의 첫자음과 비교하는 것은, 클라이언트측에서 심플코드의 색인(예. 6242 / satongjipdan / 四通集團)을 가지지 않고, 단지 특정 어구의 색인만(예. satongjipdan / 四通集團)을 가진 경우에도 유용하게 적용할 수 있다. 예를 들어 “62…” 에서 두번째 [2] 가 입력되는 순간, 시스템은 입력값이 중국어 언어제한 을 위배하는 것을 인식하고 입력값, “62… = sd…, st…, xd…, xt…(편의상 ‘ 가능알파벳조합’이라 부름)” 과 색인의 단어 중에서 각 음절의 첫자음이 일치하 는 어구를 검색하여 사용자에게 제공할 수 있는 것이다. 버튼 누름의 횟수가 많 아지면, 가능알파벳조합의 수가 더 많아지게 되며 이 가능알파벳조합을 이용하여 색인의 어구와 비교/검색하면 된다. 도11-7을 참고할 수 있다. 도11-7의 색인에 서 “四通集團” 행(record)에서 다중(multiple)적으로 “s t j p” 및 “s d .. ”, “x d …”, “x t …” 의 목록(2**4 = 16가지가 가능함) 을 가지고 있으면 서, 입력값 “sd …” 에 대하여 각 레코드의 이 다중값과 비교하여 사용자에게 四通集團 을 제공할 수도 있을 것이다. 이 역시 같은 개념이나 구현이 어렵고, 장점이 없으므로 권장하지 않는다. 도11-9를 참고한다. 어느 방법이나 입력값으 로 표현될 수 있는 가능알파벳조합과 색인의 어구(도11-9에서는 병음)을 비교하는 것은 같다.
마찬가지로 클라이언트측에서 심플코드 색인(예. 7799, 삼성전자)을 가지지 안고, 단지 특정 어구의 색인(예. 삼성전자)만을 가지고 있는 경우, 사용자가 “ 삼성전자”를 염두에 두고, “77…”를 입력시, 시스템은 2번째 [7] 이 입력되는 순간, 입력값이 한국어 언어제한을 위배하는 것을 인식하고, 입력값 “77… = ㅅ ㅅ…, ㅅㅆ…, ㅆㅅ…, ㅆㅆ… (편의상 ‘가능알파벳조합’이라 부름)” 과 색인 의 단어 중에서 각 음절의 첫자음이 일치하는 어구를 검색하여 사용자에게 제공할 수 있는 것이다. 도11-8을 참고할 수 있다.
만약 입력값과 일치하는 어구가 색인에서 더 이상 존재하지 않는 것이 확인 되면, 입력값을 풀코드로 간주하여 사용자에게 제공하면 된다. 이는 사용자가 음 절기준 이니셜코드의 값만을 입력한다는 전제하에, 색인에 심플코드를 두지 않고, 단지 단어의 색인만을 둔 상태에서 병행입력방법과 유사한 효과를 낼 수 있는 것 이다. 단, 이 방법 역시, 풀우선 병행입력방법에서 입력값이 풀코드 생성규칙을 위배하거나, 풀우선 언어제한 병행입력방법에서 입력값이 언어제한을 위배하는 순 간을 시스템이 감지하는 절차까지는 동일하며, 입력값에 대응되는 어구를 검색해 내는 절차만 다른 것이다. 즉, 풀코드 생성규칙을 위반하거나 언어제한을 위배하 는 순간, 시스템이 입력값을 풀코드가 아닌 것으로 간주하되,심플코드를 이용하지 않고 입력값이 음절기준 이니셜코드인 점을 이용하여 입력값에 대응되는 어구를 해석(혹은 검색)하여 사용자에게 제공하는 것이다.
병행입력방법의 핵심적인 내용은 풀코드 생성규칙을 위반하는 순간, 혹은 언어제한을 위반하는 순간을 시스템이 자동으로 감지하여, 입력값을 심플코드로 간주(즉, 사용자가 풀입력이 아닌 단축입력을 하는 것으로 간주)하는 것이었고, 이는 결국 기 제시한 병행입력방법에서 입력값에 대응되는 어구를 검색해내는 부 분만 특별한 경우(음절기준 이니셜코드 이용)에 한정하여 변형한 것이다.
음절기준 이니셜코드의 경우와 마찬가지로, 전체연관 심플코드, 자음연관 심플코드, 첫모음+자음연관 심플코드 등과 같이 규칙성을 가지고 있어서 자동으로 심플코드를 추출할 수 있는 경우에는 입력값으로 부터의 "가능알파벳조합"과 비교 하여 색인의 어구를 비교하여 색인으로부터 타겟어구를 검색하는 것이 가능하다. 도10-11에서 시스템이 입력값 하나하나의 입력시마다 입력값을 풀코드로 해석하여 풀코드로 해석된 병음이 병음색인에 존재하지 않는 것을 확인하는 순간, 시스템은 입력값을 단축입력값으로 간주하여 입력값에 대한 "가능알파벳조합" 과 병음을 비 교함으로써 타겟어구를 검색할 수 있는 것이다. 이를 도면으로 표시하면 도11-10 와 같이 되며, 이는 도10-11의 일부분((2)-(B)부분)를 표현한 것으로 전체연관심 플코드가 사용된 경우의 사례이다.
17. 풀코드를 저장하고 있는 입력시스템에서의 풀입력방법 및 병행입력방법
특정 키패드에서의 특정 언어제한 풀입력방법에 의하여, 입력값에 대한 올 바른 단어를 식별해내는 것이 조금은 복잡한 경우가 있음을 전술한 내용에서 알 수 있다. (예. 표준영어키패드에서 반복선택방법에 의한 영어 입력 및 중국어 병 음 입력) 앞서 중국어에서 설명한 바와 같이, 중국어 뿐만 아니라 다른 언어에서 도 입력하고자 하는 모든 단어의 색인을 시스템이 가지고 있는 경우, 입력값을 1 차적으로 풀코드로 해석하고, 색인에 존재하지 않을 경우 이를 2차적으로 약속된 심플코드로 해석하는 것이 가능하다.
이하에서 편의상 중국어의 경우를 예로 설명한다. 도10-14에서와 같이 중 국어 병음(타 언어의 경우 가능한 단어)을 모두 저장하고 있는 시스템에서 풀코드 를 모두 저장하고 있으면, 시스템은 단순히 입력값과 일치하는 어구를 검색하여 타겟알파벳을 인식해 낼 수 있다. 만약 풀우선 병행입력방법을 적용한다면, 일치 하는 풀코드 값이 색인에 더 이상 존재하지 않는 것을 확인하는 순간 시스템은 입 력값을 약속된 유형의 심플코드로 간주하여 처리하게 된다. 도10-14에서 "北京" 을 입력하는 과정은 입력값을 풀코드로 해석하여 처리하는 과정으로 볼 수 있다. 단지 풀코드를 색인에 저장하고 있으므로 색인의 검색을 통하여 풀코드를 해석하 는 것이다.
언어제한 입력방법에 의하여 모호성없이 단어가 식별될 수 있는 풀입력방법 을 적용하는 경우, 색인에 풀코드를 저장하고 있는 것이 유용하지 않다. 그러나 반복선택방법과 같이 모호성있는 풀입력방법을 적용하고, 입력하고자 하는 어구의 모든 색인을 저장하고 있는 경우 유용할 수 있다. 앞서 “불완전 자모음분리키패 드에서의 언어제한입력방법”에서 설명한 바와 같이 모호성이 발생할 수 있는 풀 입력방법을 적용시 입력하고자 하는 모든 단어가 색인에 저장되어 있다면(중국어 뿐만 아니라 다른 언어의 경우에도 적용될 수 있음), 이 풀코드 색인을 이용하여 입력값을 처리할 수 있다.
이상에서 중국어의 예를 들어 설명하였으나, 중국어 이외의 경우에도 적용 될 수 있음은 자명하다. 또한 도1-1의 키패드 뿐만 아니라 도10-*의 키패드 및 기타의 다른 키패드에서도 마찬가지로 적용될 수 있다.
18. 입력값을 동시에 여러가지 유형의 코드(입력값)으로 처리하는 병행입력 방법
입력값에 대하여 소정의 어떤 유형들의 코드(입력값)으로 간주하여 처리하 는 병행입력방법이 가능하다. 예를 들어 도10-14에서 입력값에 대하여 동시에 풀 코드(A)와 전체연관심플코드(B)로 간주하여 처리하면, 시스템은 입력값 "1*#"에 대하여 풀코드로 해석하였을 때의 "bai" 와 전체연관심플코드로 해석하였을 때의 "bei"를 인식해낼 수 있다. 이 경우 시스템은 동시에 "bai"와 "bei"를 사용자에 게 제공할 수 있다.
풀우선병행입력방법의 경우 풀코드로 해석하였을 때의 "bei"만을 출력하는 점, 그리고 단축우선병행입력방법의 경우 약속된 단축코드로 해석한 결과인 "ba i"만을 출력하는 점이 차이이다. 이러한 병행입력방법에서도 입력값이 특정 유형 의 코드에 더 이상 존재하지 않는 것이 확인되는 순간 입력값을 다른 유형의 코드 로만 간주하여 처리하는 것이 가능하며, 결국 이는 이미 언급한 병행입력방법의 범주에 포함된다고 할 것이다. 시스템의 색인에 반드시 도10-14에서 처럼 풀코드 와 전체연관심플코드를 저장되어 있어야만 하는 것이 아니고, 입력값에 대하여 동 시에 여러가지 유형의 코드로 해석하는 경우에 동일하게 적용할 수 있다.
19. 모호성이 발생하는 단어의 우선순위
특정한 어느 한가지 입력방법(예. 특정한 풀입력방법, 혹은 특정한 유형의 단축입력방법)에서, 같은 입력값에 대하여 모호성이 발생하는 경우는 도10-14 및 기타의 도면에서와 같이 특정 입력방법을 적용시 모호성이 발생하는 경우의 우선 순위를 근거로 하여 그 순서에 따라 타겟어구를 출력할 수 있다. 예를 들어, 도 10-14에서 풀입력방법을 적용시 모호성이 발생하는 경우, 풀코드(A)간의 우선순위 인 "(A) 우선순위" 에 따라 타겟어구를 출력하여 사용자에게 추천하여 줄 수 있다.
다음으로 입력값이 소정의 여러 유형의 코드로 해석되는 경우를 살펴본다. 앞서 예시한 대로 도10-14에서 입력값 "1*#" 에 대하여 풀코드로 해석하면 "bai" 가 되고, 전체연관심플코드로 해석하면 "bei"가 되는데, 이렇게 서로 다른 유형의 코드로 해석하여 모호성이 발생할 때, 시스템은 풀코드(도면10-14에서 (A))와 전 체연관심플코드(도면10-14에서 (B))로 동시에 해석할 때의 우선순위에 의하여 타 겟어구를 사용자에게 제공할 수 있다.
예를 들어 입력값을 1차적으로 풀코드로 간주하여 처리하되, 풀코드 생성규 칙을 위반하거나 특정언어의 음절생성규칙을 위반하거나 혹은 색인에 대응하는 풀 코드가 더 이상 존재하지 않는 것이 확인 되는 순간, 입력값을 음절기준이니셜코 드 및 음절기준이니셜값 심플코드로 간주하여 처리하는 병행입력방법에서, 입력값 을 단축코드로 간주하여 처리할 때, "음절기준이니셜코드" 와 "음절기준이니셜값 심플코드" 간의 모호성이 발생할 때의 우선순위에 의거하여 처리할 수 있다. (즉, 음절기준이니셜코드가 (C)이고 음절기준이니셜값 심플코드가 (D) 라면, "(C)+(D)우선순위"에 의하여 타겟어구를 출력하는 것)
중국어를 예로 들어 설명하였으나, 한자를 입력하는 것이 아니고 병음을 타 겟어구로 하면 타 언어의 경우에도 동일하게 적용할 수 있는 것은 자명하다.
20. 컨트롤처리방법을 풀입력방법으로 하는 병행입력방법
도2-1, 도2-2와 같이 컨트롤버튼을 [*] 및 [#] 버튼으로 하고 대표알파벳제 외 컨트롤처리방법을 적용하는 경우, 병행입력방법을 적용하되 색인에 대표알파벳 만으로 이루어진 단어를 모두 저장하고 단축우선병행입력방법을 적용하면, 입력값 으로 "*" 혹은 "#"이 눌러지는 순간 시스템은 입력값을 풀코드로 간주하여 처리할 수 있음을 지적하였다.
도2-1 및 도2-2의 일본어의 경우 단축코드는 모두 숫자값으로만 이루어져 있다고 가정한다. 이러한 경우에 대표알파벳만으로 이루어진 모든 단어를 저장하 고 있는 색인(단축코드색인에 포함되어 구성될 수도 있고 단축코드 색인과 별도로 구성될 수도 있음)을 두고, 병행입력방법을 적용하되 입력값으로 숫자버튼만이 계 속 눌러지는 동안은 입력값을 풀코드로 해석한 결과와 대표알파벳만으로 이루어진 단어의 색인(혹은 이를 포함하고 있는 심플코드색인)을 참조하여 단축코드로 해석 한 결과를 모두 소정의 우선순위에 의하여 타겟어구로 사용자에게 제공할 수 있다.
예를 들어, 입력값 도2-1, 도2-2에서 입력값 “111” 에대하여 풀코드로 처 리하면(즉, 풀우선병행입력방법을 적용하면), “あああ”로 해석되는데, 만약 대 표알파벳만으로 이루어진 모든 단어의 색인을 참조하여 “ああ~”로 시작하는 단 어가 존재하지 않고, “あい” 혹은 “あい~” 만이 존재한다면, “あい” 또는 “あい~” 를 “ああ~”보다 우선하여 사용자에게 제공할 수 있는 것이다.
도10-15, 도10-16을 참고한다. 도10-15에서 입력값 “11”에 대하여 풀코 드로 해석하되, 이것이 대표알파벳만으로 이루어진 단어이므로 다시 “대표알파벳 만으로 이루어진 모든 단어의 색인”을 검색하여 유효한 단어인지 확인한다. 여 기서 “11”을 풀코드로 해석한 “ああ” 가 색인에 존재하면 입력값에 대하여 이 를 유효한 단어로 인식하면 된다. 대표알파벳으로만 이루어진 모든 단어의 색인 에 입력값에 대응하는 어구가 더 이상 존재하지 않는 것이 확인되는 순간 시스템 은 입력값을 다시 심플코드로 해석하여 이에 대응하는 “あい”를 시스템이 인식 하게 된다. 도10-15에서 시스템은 입력값 “11” 대하여 최우선으로 “あい”로 인식하게 된다. “11” 다음의 입력값에 따라 “あい...” (“...”은 “あい” 다음에 다른 알파벳이 덧붙어 있는 경우) 로 될 수 있으므로, 시스템이 이를 “あ い” 다음 순위로 출력할 수도 있다. 마찬가지로 색인에 존재하지 않더라도 타겟 어구가 “ああ” 일 수도 있으므로 이 역시 “あい”의 다음 순위로 출력할 수도 있다. 도10-15에서 “あい...” 과 “ああ” 가 흐린 색으로 그리고 2번째와 3번 째 추천순서로 표시된 것은 시스템이 이렇게 출력할 수도 있고 단지 “あい” 만 을 출력할 수 있음을 나타낸다.
*도10-15에서 (1), (2), (3)은 순차적으로 일어날 수도 있고, “입력값을 동 시에 여러 유형의 코드로 인식하는 병행입력방법”에서 언급한 것처럼 동시에 일 어날 수도 있다. 마찬가지로 색인에 풀코드 및 심플코드를 표시한 것은 이해를 돕기 위한 것일 뿐이고, 풀코드 및 심플코드가 저장되어 있지 않아도, 동일한 절 차를 수행할 수 있음은 자명하다 (심플코드가 음절기준이니셜코드 혹은 전체연관 심플크드와 같이 규칙적으로 해석될 수 있는 심플코드인 경우). 도10-16에서와 같이 대표알파벳으로만 이루어진 모든 단어의 색인과 심플코드 색인이 하나의 색 인으로 존재하는 경우도 동일한 내용이다. 구현상의 자료구조는 다양한 형태로 실현될 수 있다.
시스템의 작동 결과는 기 설명한 병행입력방법과 유사하나, 단축우선병행입 력방법을 적용하는 것이 아니고, 풀우선병행입력방법 혹은 일반적인 병행입력방법 을 적용하는 것으로 볼 수 있다.
이는 대표알파벳제외 컨트롤처리방법을 풀입력방법으로 하는 병행입력방법 에서 뿐만 아니라 컨트롤처리방법을 풀입력방법으로 하는 모든 병행입력방법에서 동일하게 적용될 수 있다.
21. 기능의 입력
기능 중 어구(문장)을 입력시 공백은 필수기능이라 할 수 있고, 삭제(입력 취소)기능 역시 필요하다. 엔터기능은 입력후 일정시간 동안 무입력으로 해결할 수 있으나 역시 필요한 기능이라 할 수 있다. 이 3가지 기능을 통칭하여 편의상 "3기본기능" 이라고 부른다. 또한 영어와 같이 대소문자가 존재하는 언어에 있어 서는 대/소문자전환 기능도 필요하다. 상/하/좌/우 이동기능 중 좌/우 이동기능 은 삭제 그리고 공백기능으로 대체할 수 있고 상/하 이동기능은 필수기능은 아니 라고 볼 수 있다.
여기서 어구 입력을 위한 각종 기능 중 필수기능 순으로 나열해 본 사례를 몇가지 들면 다음과 같다. 물론 이는 참고사항일 뿐이고, 절대적인 기준은 아니 며, 특정한 상황에 따라 조금씩 달라질 수 있다. 만약 영어 키패드를 통하여 중 국어를 입력하는 경우는 한자변환 기능이 가장 필수기능이 될 것이기 때문이다. 또한 일본어나 한국어와 같은 한자 문화권 언어에 있어서도 한자변환 기능은 중요 한 기능이 될 수 있다.
1. 공백 - 엔터 - 삭제 - 대/소문자 전환 - 자국어/숫자/영어 모드전환 - 이동(상/하/좌/우)
2. 공백 - 삭제 - 엔터 - 자국어/숫자/영어 모드전환 - 대/소문자 전환 - 이동(상/하/좌/우)
3. 공백 - 엔터 - 삭제 - 한자변환 - 자국어/숫자/영어 전환 - 이동(상/하/ 좌/우)
4. 한자변환 - 공백 - 엔터 - 삭제 - 영어/숫자 모드전환 - 이동
17.1 컨트롤처리방법에 의한 기능의 입력
알파벳 및 각종 기호를 컨트롤 처리방법에 의하여 선택할 수 있는 것을 설 명하였다. 각종 기능을 선택하는데에도 역시 동일하게 적용될 수 있다. 도12- 1은 숫자 버튼에 각종 기능의 의미를 부여하고, 이를 "기능컨트롤"과 조합하여 구 현할 수 있음을 보여주는 사례이다. 각 버튼에 연관된 숫자버튼을 쉽게 기억할 수 있도록 연관지어 지정할 수 있다. 도12-1에서 좌우상하 화살표는 직관적으로 인지할 수 있으며, 중앙에 엔터를 두는 것 역시 용이하게 숫자버튼과 그에 연관된 기능을 알 수 있게 하기 위함이다. 나머지 필요한 기능역시, 각 언어별로 기능의 명칭과 관련있는 알파벳이 배치된 버튼에 연관지음으로써, 기억을 용이하게 할 수 있다. 도12-1에서 shift 기능을 "S" 가 배정된 [7] 버튼과 연관하는 것이다.
도12-1에서 편의상 선출원의 한국어의 경우에서 처럼 [*] 버튼을 누름횟수 에 따라 격음컨트롤, 경음컨트롤이 선택되고 그 다음으로 기능컨트롤이 선택된다 고 가정할 때, 엔터 = [5]+{기능} = [5]+[*]+[*]+[*] 이 된다. 만약 [5] 버튼1타 로 선택하는 알파벳이 격음/경음이 존재하지 않는 알파벳이면, 건너뛰기 컨트롤처 리를 적용하여 [5]+[*] 까지 눌렀을 때 엔터가 입력된 것으로 할 수도 있다.
각 버튼에 연관된 기능은 숫자버튼위에 표시될 수도 있고 표시되지 않을 수 도 있다. 그런데 각종 기호의 그룹과 연관된 숫자버튼을 쉽게 알 수 있도록 액정 화면의 일부분에 표시하여 줌으로써, 버튼위에 표시하지 않고, 간결한 배치를 유 지하면서, 사용의 편리를 더할 수 있음을 지적하였다. 이는 여기서도 동일하게 적용될 수 있다. 도12-2를 참고한다. 또한 기호입력에서 지적한 바와 같이 기능 과 숫자버튼과의 연관되는 기능을 사용자가 재정의하도록 할 수도 있다.
영어의 경우와 같이 [*] 혹은 [#] 버튼이 다른 컨트롤버튼으로 사용되지 않 는 경우는 [*] 버튼 1타로 “기능컨트롤”을 선택할 수 있으므로, 도12-1에서 기 능이 연관된 숫자버튼과 [*] 버튼을 한번 눌러 기능을 입력할 수 있다.
17.2 다차원 교차컨트롤처리방법에 의한 기능의 입력 (컨트롤버튼의 교차 조합 이용)
하나의 알파벳을 입력하기 위하여 한가지의 컨트롤버튼이 사용되는 경우를 1차원 컨트롤처리방법이라고 하였다. 같은 컨트롤버튼이 반복적으로 사용되는 경 우도 마찬가지이다.
컨트롤버튼으로 [*], [#]이 사용되고, 1차원 컨트롤처리방법으로 알파벳 및 각종의 기호를 입력하는 경우, 컨트롤버튼의 교차 조합(이 경우 [*]+[#], [#]+[*])을 이용하여 각종 기능을 입력할 수 있다. 컨트롤버튼이 반복적으로 사 용되지 않는 경우라면, [*]+[*] 혹은 [#]+[#] 등을 이용하여 기능을 입력할 수도 있다. “[*]+[#]” 는 왼쪽에서 오른쪽으로 진행하는 모양이므로 우측이동 기능 (혹은 공백)으로 활용시 사용자가 쉽게 인지할 수 있다. 반대로 [#]+[*] 는 왼쪽 에서 오른쪽으로 좌측이동기능(혹은 삭제)으로 활용시 사용자가 쉽게 인지할 수 있다.
이를 다차원 교차 컨트롤처리방법의 관점에서 이해할 수 있다. 입력예로 컨트롤 후입력을 적용하여, ^a = a + [*] 로 입력하는 경우, 사용자가 “a + [*] +[#]”을 입력하면, a + [*] 까지 입력시 시스템은 ^a 이 입력된 것으로 인식하나, 다음에 [#] 이 올 수 없으므로([#] 버튼이 다른 컨트롤버튼으로 사용되 고 있더라도), [#] 이 입력되는 순간, 시스템은 “[*] +[#]”이 우측이동기능을 입력한 것으로 인식할 수 있다. 컨트롤선입력으로 지정한 경우도 유사함을 알 수 있다.
일본어의 경우에 2차원컨트롤처리방법이 적용되었다. 이 경우 컨트롤버튼 을 3회(혹은 그 이상) 번갈아 조합함으로써 기능을 구현할 수 있다. 예를 들어, 공백 = [*]+[#]+[*], 삭제 = [#]+[*]+[#] 로 입력하는 것이다. 공백 기능의 사례 에서 [*]+[#]+[*] 을 눌렀을 때 형성되는 모양이 마치 오른쪽 화살표의 화살촉을 연상시키므로 이를 쉽게 기억할 수 있다. 삭제의 경우도 마찬가지로 [#]+[*]+[#] 를 눌렀을 때 왼쪽 화살표의 화살촉을 연상시킬 수 있으므로 이를 쉽게 기억할 수 있다. 이것이 가능한 이유는 앞에서 설명한 것과 동일하다.
이를 정리하면, 1차원컨트롤처리방법을 적용하는 경우 컨트롤버튼을 2회번 갈아 조합하고, 2차원컨트롤처리방법을 적용하는 경우는 컨트롤버튼을 3회 번갈아 조합함으로써 각종기능을 입력할 수 있는 것을 알 수 있다. 즉 알파벳 및 각종의 기호의 입력을 위해 N차원 컨트롤처리방법이 적용되는 경우, N+1회 컨트롤버튼을 번갈아 조합함으로써, 각종 기능을 입력할 수 있는 것이다.
22. 한자 변환
한국어, 중국어 한어병음과 한자는 1:多 의 대응관계 이다. 예를 들어 “ 예의”에 대응되는 한자는 禮意, 禮儀, 銳意 … 와 같이 다수 있게 된다.
중국어의 경우도 “beijing” 에 대응되는 한자는 北京, 背景 등이 있게 된 다(성조부호를 붙이지 않았을 경우). 따라서 한자변환버튼을 반복적으로 눌러 후 속 한자(예. 北京(2nd), 背景(3rd)) 를 선택하도록 할 수 있다. 예를 들어 예의 를 beijing 을 입력후 한자변환기능을 한번누르면 北京 이 되고 한번 더 누르면, 背景 이 되는 것이다. 혹은 리스트에서 선택하도록 할 수 있다.
중국어의 경우는 한자를 입력하기 위하여 입력을 원하는 모든 한자(편의상 “타겟한자”라 부름)를 색인에 저장하고 있어야 하므로, 한어병음을 입력하는 중 간에라도, 타겟한자를 확정할 수 있으면, 이를 사용자에게 제공할 수 있다. 예를 들어 “beij …”으로 시작하는 단어가 “北京” 밖에 없다면, 사용자가 “beij” 까지 입력시 “北京”을 사용자에게 제공할 수 있는 것이다. 만약 병음색인에 "beijing(北京)"이 단 하나만 존재한다면, 입력 중간에 사용자가 타겟 한자를 확 정하지 않더라도, "beijing"이 모두 확정적으로 인식되는 순간 시스템은 "beijing"을 "北京"으로 변환하여 출력할 수 있는 것이다.
그리고 일본어의 경우는 히라가나와 가타가나는 1:1의 대응관계를 가지고, 히라가나 혹은 가타가나와 한자는 1:多의 관계를 가진다. 따라서 히라가나 입력 후 가타가나 변환컨트롤(예. 도2-1에서 “아/아” 컨트롤)을 입력하여 가타가나로 변환시키는 것이 가능함을 설명하였다. 만약 도2-1에서 변형알파벳을 교차컨트롤 처리방법에 의하여 입력하고, “아/아” 컨트롤을 [0] 버튼 2타로 선택할 수 있다. 여기서 다시 특정 히라가나 혹은 가타가나에 대응되는 한자들을 [0] 버튼 의 반복누름으로 선택하도록 할 수 있다. 예를 들어 “아/아” 컨트롤을 후입력 하는 것으로 지정하였다면, 히라가나 단어(혹은 알파벳)를 입력후 [0]+[0] 을 누 르면 입력한 히라가나에 대응되는 가타가나로 변환되고, 다시 [0] 버튼을 누르면, 첫번째 한자로 변환되고, 다시 [0] 버튼을 한번 누르면 그 다음 한자로 변환되는 것이다. 반대로 가타가나 입력모드에서는 가타가나 입력후 [0]+[0] 을 누르면 대 응되는 히라가나로 변환되고, 다시 [0] 버튼을 한번 누르면 한자로 변환되도록 할 수 있다.
23. 심플코드 색인의 구축
출원인이 제시한 심플코드 중 전체연관심플코드, 음절기준이니셜코드, 자음 연관심플코드, 첫모음+자음연관심플코드, 단어기준이니셜코드 등은 기계적으로(즉, 자동으로) 특정 어구(단어 혹은 구절)로부터 심플코드를 추출해낼 수 있는 좋은 성질이 있다. 따라서 사용자가 풀입력방법을 사용하여 한번 입력한 단어에 대하여 심플코드 색인(심플코드 및 심플코드 대응어구로 이루어진 색인)을 자동으로 구축하고, 이를 병행입력방법에 활용할 수 있다. 심플코드가 저장되는 것은 도5-5와 유사한 환경에서 클라이언트측 혹은 서버측이 될 수도 있고, 혹은 클라이언트측과 서버측 모두에 저장될 수도 있다.
같은 어구에 대하여 다른 종류의 심플코드(예. 전체연관심플코드 및 음절기 준이니셜코드)가 생성되도록 할 수도 있다. 그러나 일반적으로 특정유형의 심플 코드를 사용하는 것이 편리할 것이며, 사용자는 자동으로 생성되는 심플코드의 종 류를 인지하고 있으면 되며, 이를 병행입력방법 적용시에 사용할 수 있다. 이를 적용하면, 사용자의 문자입력이 많아질수록 심플코드 색인이 풍부해지는 효과가 있다.
특정 언어의 특정 어구로부터 음절기준이니셜코드를 추출해내기 위해서는 특정 단어로부터 음절을 분리해 내야 한다. 특정 언어의 특정 단어에서 음절을 분리해 내는 것은 특정 언어의 분철(음절분리)규칙에 따르면 가능하다. 각 언어 마다 분철규칙을 가지고 있으므로 이를 이용하여 특정 단어로부터 음절을 자동으 로 분리해내는 것은 어려운 일이 아니며 여기서는 자세히 언급하지 않는다.
예를 들어, 중국어 병음에서 "Zhongguo" 의 경우, 모음 "o" 와 "uo"를 중심 으로 "Zhong" 와 "guo" 로 음절분리할 수 있으며, 이는 본 발명에서의 병음을 인 식하는 과정보다 훨씬 더 쉽게 이루어질 수 있다. 단어의 앞에서부터 forward scanning 하여 음절을 분리해내는 예를 보이면, "zho"다음 자음 "n"이 다음 음절 의 자음인지 알 수 없지만, 그 다음 자음 "g"를 보아 첫음절에 속한 자음임을 알 수 있고, 마찬가지로 "g"는 다음 음절의 자음이 될 수도 있지만, 그 다음 "g"를 보아 첫번째 "g"는 첫음절에 속한 자음이고 두번째 "g"는 다음 음절을 이루는 자 음임을 알 수 있는 것이다. (병음에서 어느 한 음절이 "~ng"로 끝날 수 있음) "zhongg"까지 스캐닝하여 첫번째 음절 "zhong"를 분리해 낼 수 있다. 다음으로 "u"는 당연히 두번째 음절을 이루는 모음이고, 연속하여 나오는 모음 "o" 역시 두 번째 음절을 이루는 모음임을 시스템이 인식할 수 있다. (병음에서 영어모음 "uo"가 연속하여 나올 수 있음) "o" 다음에 나오는 알파벳이 더이상 없으므로 시 스템은 "zhongguo" 의 음절을 "zhong" 와 "guo"로 분리해 낼 수 있고, 따라서 음 절의 이니셜값이 "zg"인 것을 인식할 수 있으며, "zhongguo"의 음절기준 이니셜코 드 가 "43" (도면 10-6기준) 인 것을 식별해낼 수 있다. 나머지 언어의 경우에도 해당 언어의 음절분리규칙에 따라 특정 단어 혹은 구절로부터 자동으로 음절을 분 리해 낼 수 있는 것은 물론이다.
24. 특수부호(첨자)를 붙이지 않은 어구로부터의 타겟어구 해석
beijing 의 경우, 모음에 성조부호를 붙이지 않는 경우 “北京” 혹은 “背 景” 에 모두 대응된다고 하였고 이 경우 특정버튼을 반복적으로 눌러 타겟어구를 선택하거나, 리스트에서 양자중 하나를 선택할 수 있도록 할 수 있다고 하였다.
마찬가지로 중국어 이외의 언어에서도 성조부호를 붙이지 않거나, 첨자가 붙은 모음을 입력하여야 함에도 기본모음만을 입력한 경우, 특정버튼의 반복누름 에 응답하여 색인을 검색하여 타겟어구를 사용자에게 제공하거나, 색인을 검색하 여 첨자가 붙은 모음을 포함하는 대응어구의 리스트를 사용자에게 제공하여 사용 자로 하여금 선택하도록 할 수 있다.
이는 베트남어와 같이 변형알파벳이 다수 있고, 성조부호등이 복잡하게 구 성된 언어에서 유용할 것이다. 단 기본알파벳에 첨자가 붙어 이루어진 어구의 색 인을 시스템에서 구비하고 있어야 한다. 마찬가지로 이러한 색인을 구축하는 것 도 사용자가 기 입력한 단어로부터 구축할 수 있다. 예를 들어 문자입력을 통하 여 사용자가 “^+abc”라는 단어(‘a’위에 첨자 ‘^’ 붙은 경우)를 입력하면, 시스템은 “^+abc”을 시스템 저장하고 있다가(시스템에서 “abc”와 ‘abc’에 대응되는 “^+abc”를 모두 저장하고 있어도 무방함), 다시 사용자가 “abc” 입 력후 특정버튼을 누르면 “^+abc”를 사용자에게 제공하거나 사용자가 “abc”를 입력시 “^+abc” 와 같이 “abc”에 대응하는 어구들의 목록을 사용자에게 제공 할 수 있다. 만약 “abc”가 타겟어구라면 사용자는 특정버튼을 누르지 않거나, 시스템이 관련어구의 리스트을 제공하더라도 ‘abc’를 선택하게 될 것이다. 리 스트가 제공되는 시점은 단어의 입력이 종료되는 시점이 될 수 있고 입력중간의 임의의 시점이 될 수 있다.
25. 어구(단어 혹은 구절)의 일부를 풀입력방법으로 입력하고, 일부를 단축 입력방법으로 입력하는 병행입력방법
단어의 입력(풀코드 입력)에 따라 입력되는 내용과 일치하는 단어를 색인으 로부터 출력하여 주고, 사용자로 하여금 선택하도록 하는 기법은 널리 사용되고 있었다. 예를 들어 윈도우의 “자동완성기능”을 생각하면 된다. 풀입력(풀코드 에 의한 입력)시에도 색인(예. 병행입력을 위한 색인)을 참조하여 색인에 저장된 어구(단어 혹은 구절) 중에서 일치하는 어구를 출력하여 주고 사용자로 하여금 선 택/확정하도록 할 수 있음은 물론이다.
이를 도4-5 ~ 도4-8의 입력시스템을 기준으로 설명하면 다음과 같다. 예를 들어 색인에 “고맙습니다”와 “고마워요” 등의 단어가 저장되어 있는 것으로 가정한다. “10* = 고”까지 입력되면, 시스템은 “고...”와 일치하는 단어(즉, “고”로 시작하는 단어로써, “고맙습니다”, “고마워요”, . . . )를 적절한 형태로 출력하여 줄 수 있다. 휴대폰과 유사한 환경에서는 입력값에 의하여 생성 되는 내용은 입력라인(도13-1에서 액정 상단)에 보어지게 되고, 색인을 참조하여 출력하는 후보 어구(단어 혹은 구절)들은 하단에 목록 혹은 목록과 유사한 형태로 출력될 수 있다. 사용자는 이동버튼(네비게이션 버튼) 등을 이용하여 원하는 단 어를 선택한 후 확정하여 입력할 수 있다. 휴대폰 액정을 예로 들어 도13-1을 참 고한다. 도13-1은 풀입력에 따라 형성되는 음절과 일치하는 단어를 액정의 하단 에 출력하는 사례이다.
여기서 “고맙습니다”를 입력시, “고”까지 입력한 후 나머지 음절을 단 축입력(예시에서 음절기준 이니셜값 심플코드를 이용한 단축입력)으로도 입력할 수 있다. 즉 “고+ㅁㅅㄴㄷ = 10*+5723”으로 입력하는 것이다. 여기서 첫번째 음절이 “고”이고 나머지 음절은 이니셜값이 “ㅁㅅㄴㄷ”에 대응되는 단어 (즉, “고맙습니다”)를 사용자에게 제공할 수 있다.
단, 한국어의 음절 중 약 절반은 종성(받침)이 있는 음절이고, 나머지 절반 은 종성이 없는 음절이다. “고맙습니다”의 경우 “1*05723”를 연속하여 입력 할 경우 “곰ㅅㄴㄷ”로 되는데, 시스템은 “곰ㅅ = 1*057”까지는 정상적인 풀입 력으로 처리하다가 “2”가 입력되는 순간, 입력값의 일부가 정상적인 한국어 음 절을 이루지 못하는 것을 인식하고 나머지 음절을 이루지 못하는 부분(예. “ㅅㄴ ㄷ = 723”)을 단축입력으로 간주하여 처리할 수 있다. 이 역시 선출원에서 언급 한 “병행입력방법 (풀(입력)우선 병행입력방법)”의 범주에 속하는 것으로, 풀입 력에 의하여 인식된 음절(예. “곰”)은 당연히 풀코드로 해석하고, 나머지 입력 값(예. “ㅅㄴㄷ = 723”)은 심플코드로 해석하는 것이다.
여기서 풀입력에 의하여 기 형성된 음절을 포함하여 색인에서 일치하는 단 어(예. 색인에 “곰습니다”가 저장되어 있을 경우)를 찾아 제공할 수도 있고, 심 플코드로 해석하는 입력값에 대응되는 단어(예. 색인에 “습니다”가 저장되어 있 을 경우)를 제공할 수도 있고, 양자의 경우를 모두 출력할 수도 있다. 양자를 모 두 출력시에는 정해진 약속(예. 풀코드로 해석된 부분을 포함하는 단어를 우선, 혹은 반대로, 혹은 단어의 우선순위에 의거, 혹은 특정 그룹의 단어들에 대하여 우선)에 의하여 특정 단어가 상위에 출력되도록 할 수 있다. 다양한 수단이 가능 하므로, 이러한 출력 순서를 사용자가 설정할 수 있도록 하는 것이 바람직할 것이 다.
양자를 모두 출력하는 경우 “곰ㅅㄴㄷ”에 대응하여, “곰습니다”와 “습 니다”가 액정 하단에 출력되었을 때, 사용자가 “곰습니다”를 선택하면, “곰ㅅ ㄴㄷ” 전체가 “곰습니다”로 교체될 것이며, “습니다”가 선택되면 이에 대응 되는 “ㅅㄴㄷ”이 “습니다”로 교체되어 “곰습니다”가 되는 것은 당연하다.
여기서 색인에 “고맙습니다”만이 저장되어 있다면, 입력값 “1*05723”의 연속입력에 대응하여 “고맙습니다”를 출력하여 줄 수 없게 된다. 따라서 시스 템은 추가적으로 “1*05723”에 대하여 해석이 가능한 “곰ㅅㄴㄷ”와 “고ㅁㅅㄴ ㄷ”로 동시에 해석하여 색인을 참조하여 일치하는 단어를 출력(사용자에 제공)할 수 있다. “곰ㅅㄴㄷ”을 “고ㅁㅅㄴㄷ”로 해석하는 것은 단축입력의 시작으로 인지된 “ㅅ”앞의 음절이 종성자음으로 끝난 경우, 이를 앞자음에서 제외하고(즉, “고”), 종성자음을 낱자음으로 “고”와 “ㅅ”사이에 넣으면 된 다. 조금 복잡해 보이나 한글처리에 대하여 기본적인 지식이 있는 사람은 쉽게 알 수 있다. 이중자음이 종성으로 사용된 경우도 유사하게 적용할 수 있다. 도 13-2는 출력의 우선순위를 “우선출력하는 것으로 지정된 특정 그룹의 단어(들) - 풀코드로 해석된 부분을 포함하는 단어(들) - 풀코드로 해석된 부분을 포함하지 않는 단어(들) - . . .” 의 순서를 적용하여 후보 단어를 출력한 사례를 보여준 다. 여기서 “습니다”는 우선출력하는 것으로 지정된 그룹에 속한 것으로 하여 가장 상위에 출력되었다.
만약 사용자가 “고ㅁㅅㄴㄷ”로만 해석되도록 하고 싶다면, “10* = 고” 까지 입력 후 음절확정을 줄 수 있는 약속된 조작(예. 약속된 일정시간 무입력, 혹은 오른쪽 화살표 [>]버튼 한번 누름 등)후 “5723”을 누름으로써 “고ㅁㅅㄴ ㄷ”로만 해석되어 이에 대응하는 단어만을 검색하도록 할 수 있다. 이 경우에도 기 인식된 음절인 “고”를 포함하여 “고ㅁㅅㄴㄷ”에 대응되는 단어(예. “고맙 습니다”) 를 출력할 수도 있고, “고”를 제외하고, “ㅁㅅㄴㄷ”에 대응되는 단 어(예. “맞습니다”가 색인에 저장되어 있을 경우)를 출력할 수도 있고, 양자의 경우를 모두 출력할 수도 있다. 도13-3을 참고한다.
여기서 의도적인 음절확정을 위한 조작 버튼으로 오른쪽 화살표 버튼(이하 에서 “[>]버튼”으로 표기)을 한번 누르는 것이 음절확정으로 작용하도록 할 수 있다. 더불어 [>]버튼은 공백버튼으로도 활용될 수 있는데, 음절확정이 이루어진 다음에는 공백의 입력으로 작용할 수 있다. 즉 “고” 입력후 한번 [>]버튼이 눌 러지면, 음절 “고”가 확정되고, 한번 더 [>]버튼이 눌러지면, “고 ” (‘고’+ 공백)으로 되는 것이다. 즉 “10*>5723”이 입력되면, 시스템은 이를 “고ㅁㅅㄴ ㄷ”로 해석하여 이에 대응되는 단어인 “고맙습니다”를 사용자에게 제공할 수 있는 것이다. 물론 시스템이 예시한 색인을 참조하는 경우, “10*>57 = 고ㅁㅅ” 까지만 입력되더라도 시스템은 “고맙습니다”를 출력할 수 있음은 자명하다.
이러한 병행입력방법에서, 풀입력에 의하여 형성된 음절을 포함하여 처리하 는 경우는 풀입력 중간에 일치하는 후보단어를 제공시 후보단어의 목록에서 타겟 단어를 확정하도록 하는 경우에 유용할 것이다. 또한 기 형성된 음절을 제외하고 단축입력으로 처리되는 입력값(즉, 심플코드로 해석하는 입력값)에만 대응되는 후 보단어를 출력하는 경우는 자주사용되는 접미어 혹은 어조사 등을 단축입력으로 신속히 입력하는데 유용할 것이다. 예를 들어 “고맙”까지 입력후, (소정의 수 단으로 입력내용을 확정하고), “ㅅㄴㄷ”로 “습니다 (색인에 저장되어 있는 것 으로 가정시)”를 입력하는 것이다. 이렇게 “...습니다”와 같이 자주 사용되는 접미어는 색인에서 별도의 그룹(예. 접미어 그룹)으로 두고 병행입력에서의 후보 단어 출력시 해당 그룹의 단어가 우선적으로 출력되도록 할 수 있다. 만약 “고 맙ㅅㄴㄷ”의 입력시, 색인에 “고맙습니다” 와 “습니다”가 모두 저장되어 있 다면, 후보 단어목록에 “고맙습니다”와 “습니다”가 모두 출력될 수도 있다.
한가지 더 예를 들면, “세종ㄷㅇ = 70##90*838”입력시 “세종”까지는 풀 입력으로 처리하고, 적절한 음절을 이루지 못하는 “38”을 단축입력값으로 처리 할 수 있다. 마찬가지로 색인에 “세종대왕”만이 있으면, “세종대왕”이 출력 될 것이다. 반대로 색인에 “대왕”만이 있으면, “대왕”만이 출력될 것이다. “세종대왕”과 “대왕”이 모두 있으면, 모두 출력될 수도 있으나, 약속에 의하 여 한가지(풀입력으로 처리한 부분을 포함/불포함)만 출력되도록 하는 것이 바람 직할 것이다. 또, “문무대왕”의 경우 “문무”까지 풀입력으로 입력후, “ㄷㅇ ”을 연속하여 입력하면, “문묻ㅇ”이 될 것이다. 따라서 “문무”까지 풀입력 으로 입력하고, “대왕”만을 단축입력으로 입력하려면, “문무” 입력후, 입력된 음절 “문무” 확정(예. 음절의 종료를 줄 수 있는 오른쪽 화살표 [>]버튼을 한번 눌러주어 확정) 후, “38 = ㄷㅇ”을 입력할 수 있다. 여기서 “대왕”이 “ㄷㅇ = 38”에 대응되는 색인의 다른 단어(예. “다와”) 보다 우선순위가 낮더라도, 색인에 “문무대왕”이 저장되어 있다면 입력값 “5*025*0>38”에 대하여 다른 후 보단어(예. “다와”) 보다 우선하여 “대왕” 을 출력하도록 할 수 있다.
더 나아가 “ㄱㅁ습ㄴㄷ = 157*623” 와 같이 단축입력으로 입력하다가 일 부의 음절을 풀입력에 의하여 입력하는 경우도, 이에 대응되는 “고맙습니다”로 처리하는 것이 가능하다. “157 = ㄱㅁㅅ”까지 입력되면 시스템은 심플코드(예 시에서 음절기준 이니셜값 심플코드 혹은 음절기준 이니셜코드) “157”를 해석하 여 각 음절이 “ㄱㅁㅅ”에 대응되는 단어를 검색한다. 다시 “*6”이 입력되면, “157*6 = ㄱㅁ습”으로 “7*6 = 습”이라는 음절이 형성되는 것을 시스템이 인식 할 수 있다. 즉 기 입력된 “15” 가 단축입력값임을 시스템이 인지하고, 다시 “23”이 입력되면, 이는 적절한 음절이 형성되지 않으므로 단축입력값으로 처리 할 수 있다. 역시 이 사례에서도 시스템은 “ㄱㅁ습ㄴㄷ”에서 일부음절은 풀코 드로 해석하고, 또 일부음절은 단축코드로 해석하여 이에 대응하는 “고맙습니다 ”를 사용자에게 제공할 수 있다.
중국어의 경우 한 음절은 “성모+운모”로 이루어져 있다고 하였다. 한어 병음표시시 “성모”는 로마알파벳의 자음이고, “운모”는 로마알파벳의 모음 혹 은 “모음+n” 혹은 “모음+ng”로 되어 있다고 하였다. 즉 병음으로 표기되는 중국어 한자 한 글자(한 음절)는 로마알파벳의 “자음+모음” 혹은 “자음+모음+n ” 혹은 “자음+모음+ng” 로 이루어져 있는 것을 알 수 있다. 드물게 모음 “a ”, “e”, 또는 “o”로 시작하는 음절이 있을 수 있다. 여기서 병음 한 음절의 끝에 올 수 있는 로마알파벳 자음은 “n” 혹은 “ng”만이 가능함을 이미 지적하 였다. 이는 한국어의 종성처럼 간주될 수 있다. 종성(한 음절의 끝자음)으로 쓰 일 수 있는 자음이 “n” 혹은 “ng”만이 가능한 것이다.
예를 들어 병음색인에 “中華(zhonghua)”, “民國(minguo)”, “中華民國 (zhonghuaminguo)”, . . . 등의 단어가 저장되어 있다고 가정하면, “中華 (zhonghua = 49***7739##*, 도10-6기준)”까지 풀입력에 의하여 병음을 입력하고, “民國(minguo)”만을 단축입력(예시에서 단축입력값으로 음절기준 이니셜값 심플 코드를 이용한 단축입력)으로 “mg = 73 (도10-6기준)” 입력하는 예를 든다. “ 中華”의 입력에서 해당 병음(“zhonghua = 49***7739##*”) 입력후 나열된는 후 보한자 중 선택하여 확정하는 과정이 매개되고 나서 “mg = 73”이 입력될 수도 있고, 병음 “zhonghua = 49***7739##*” 입력후 연속하여 “mg = 73”이 입력될 수도 있다. 전자의 경우는 “73 = mg”에 대응되는 “民國(minguo)”, 民歌 (minge), . . . 등의 단어만을 후보단어로 출력하는 것이 당연하다. 후자의 경 우는 입력값 “49***7739##*”에 대하여 “中華”로 해석하고, 단축입력값으로 인 식된 “73”에 대응되는 “民國”과 함께 “中華民國”을 출력하는 것이 또한 당 연하다. 입력값 “49***7739##*73 = zhonghua + mg”에 대하여 “49***7739##*7 ”까지의 입력에 대하여, 마지막의 “7”은 병음성모의 입력으로 정상적인 풀입력 으로 시스템이 인지하나, 마지막의 “3”이 입력되는 순간 시스템은 최종 입력된 2개의 입력값 “73”이 단축입력값임을 인지하게 된다. 이는 기 설명한 한국어의 경우와 동일하다. 따라서 시스템은 입력값 “49***7739##*73” 에 대하여 풀입력 값 “49***7739##*”에 대응하는 “中華” 와 단축입력값 “73”에 대응하는 “民 國”으로 이루어진 단어인 “中華民國”을 출력할 수 있게 되는 것이다. 도13- 4을 참고한다.
반대로 “中華”를 단축입력에 의하여 “zh = 49”로 입력후 후보 단어 중 “中華”를 선택하여 입력하지 않고, 연속으로 “民國”을 풀입력으로 “ 7#773##***”을 입력하였을 때 (즉, “497#773##*** = zhminguo”)에도 “ z__h__minguo”에 대응되는 “中華民國”을 출력할 수 있다. 마찬가지로 “民國 (minguo)”의 입력을 위하여 “73##***” 입력시 “73##*** = mguo = m__guo”로 해석하여 “民國”을 출력할 수 있다. “73”까지 눌러지는 순간 시스템은 단축 입력으로 간주하고 “m__g__”에 대응되는 단어를 검색하여 처리하게되나, 다음에 오는 “##*** = uo”를 두번째 음절을 이루는 모음으로 처리하는 것이다. “mg” 다음 “uo”를 입력하는 것은 “m__g__”에 대응되는 후보 단어들 중 “民國”을 압축하여 주는 역할을 한다.
기타의 수단(단축입력, 풀입력, 획을 이용한 입력 등 모든 한자입력수단)으 로 한자 “중화”를 기 입력하고 나서, “민국”을 단축입력에 의하여 “73”으로 입력시, 단순히 입력값 “73” 를 심플코드로 해석하여 “m__g__”에 대응되는 단 어를 사용자에게 제공한다면, 다수의 후보단어들(예. “民國(minguo)”, 民歌 (minge), . . .)이 목록의 형태로 출력될 것이다. 그러나, “中華民國”이 저장 되어 있으면, “民國”이 색인에 저장되어 있는 것과는 별개로, “中華+mg = 中華 +73”을 “中華民國”으로 해석하는 것이 가능하다. 이 경우 “中華”는 이미 한 자로 입력된 상태이므로, 입력값 “mg = 73”에 대응하여 “民國”을 다른 후보단 어(예. “民歌(minge)”, . . .)보다 우선하여 출력할 수 있다.
여기서 “zhong...”가 입력되었을 때, 시스템은 “zho” + “n__g__” 혹 은 “zhon”+”g__” 로 해석될 수도 있다. 그러나 실제로 중국어 병음에 “zho ” 혹은 “zhon”으로 이루어진 음절은 존재하지 않으므로(즉 당연히 병음색인에 도 없음), “zhong...” 에 대하여 색인을 참조하여 “中”으로 해석하게 된다. 만약 존재한다면 “zhong”까지 입력되었을 때, 소정의 출력순서에 따라 후보 단 어로써 출력할 수 있다. 도10-6을 기준으로 “zhongg... = 49***7733”의 입력에 대하여, “zhonk..” = “zho” + “n__k__” 혹은 “zhon”+ “k__” 로 해석될 수도 있도 있을 것이다. 이는 기 제시한 바 입력값을 풀코드와 단축입력값(심플 코드)로 동시에 해석하는 병행입력방법과 유사한 맥락이다.
이상의 예시에서 단축입력값(심플코드)으로 편의상 “음절기준 이니셜값 심 플코드”를 사용한 사례를 제시하였으나, 단축입력값으로 “음절기준 이니셜코드 ” 적용되는 경우는 심플코드해석에 있어서 도11-3 ~ 도11-10에서 언급한 내용을 응용할 수 있다.
26. 길게 누름을 이용한 문자입력방법 및 길게누름을 이용한 컨트롤처리 방 법
일반적으로 하나의 버튼 한번 누름으로 하나의 대상(예. 알파벳, 숫자, 영 어를 모국어로 하지 않는 언어에서 영어알파벳, 기호(특수문자), 기능, 각종 용도 의 컨트롤 등을 포괄하여 “알파벳 등”이라 함)을 표현할 수 있다. 여기서 특정 버튼을 한번 누르되 “길게 누름”을 이용하여 단순히 한번 누름으로써 표현하는 대상과 다른 대상을 표현할 수 있다. 이하에서 특정 버튼을 길게 누르는 것을 “ 길게 누름” 혹은 “장타”라고 부르기로 한다. 이하에서 “길게 누름”이라고 표현하지 않는 것은 보통의 버튼 눌러짐을 의미하며, 특별히 길게 누름과 대비하 여 설명할 때에는 “단타” 라고 한다. 이하에서 영어의 사례에서 일반적인 내용 을 설명하고, 각 언어별로 응용 사례를 들어 설명하나, 어느 한 언어에서 설명한 내용이 타 언어에도 동일하게 적용될 수 있는 것은 자명하다.
26.1 영어 (및 공통)
26.1.1 길게 누름을 이용한 알파벳 입력
현재 특정 숫자버튼을 길게 누름으로써, 해당 숫자를 입력하는 것이 사용되 고 있다. 그러나 반드시 숫자만 입력가능한 것은 아니며, 예를 들어 도1-1에서 각 숫자버튼을 한번 누르는 것이 해당 버튼에 배정된 알파벳 중 첫번째 알파벳을 입력(예. [2]번버튼 1번 누름으로 “A”를 입력)하는 것이라고 가정할 때, 길게 누름에 의하여 두번째 알파벳(예. “B”)를 입력하는 것으로 할 수 있다. 단 길 게 누름은 입력의 자연스러운 흐름을 끊는 요인으로 자주 입력하는 알파벳의 입력 에 응용하는 것은 바람직하지 않다. 따라서 길게 누름(장타)에 의한 입력은 자주 사용되지 않는 대상을 입력하는데 적용하는 것이 바람직하다. 또한 각 사용자의 숙련도에 따라 가능한한 길게 누름으로 인식되는 시간을 사용자로 하여금 설정할 수 있도록 하는 것이 바람직할 것이다.
본 발명에서는 길게 누름을 적절하게 이용하되, 이를 통하여 특정 입력방법 의 입력규칙을 단순화하고, 표현범위를 넓히고, 더 나아가 모호성을 제거할 수 있 음을 보인다. 여기서 편의상 [2]버튼의 길게 누름을 “2” 다음에 물결표(~)를 붙 여 “2~”로 표기한다. 언급하였듯이, 기존의 반복선택방법 적용시, 도1-1에서 [2]버튼이 3번 눌러지면, “222”가 “C”인지, “AAA”인지, “AB”인지 “BA” 인지 알 수 없는 모호성이 발생한다.
도1-1에서 “A”는 [2]버튼 길게 누름 또는 해당 버튼 한번 누름, “B”는 “A”입력후 해당 버튼 한번 누름, “C”는 “B”입력후 해당버튼 한번 누름(혹은 “A”입력후 2번누름도 같다)과 같이 정의하는 예를 든다. 같은 버튼에 있는 알 파벳이 연속으로 입력되는 경우는 2번째 이후의 알파벳 입력에 있어서, 길게 누름 으로 시작하면 역시 모호성 없이 입력할 수 있게 된다. 예를 들어 “DACB” 입력 시 “3 2 2~22 2~2” 로 모호성 없이 입력할 수 있으며, 같은 버튼에 있는 “ACB ”가 연속하여 나오지만, “C”, “B” 입력시 길게 누름이 매개됨으로써 모호성 없이 식별이 가능한 것이다. 이 사례는 기존의 반복선택방법과 거의 유사한 느낌 으로 입력할 수 있으며, 같은 버튼에 배정된 알파벳이 연속하여 입력되는 경우만, 길게누름을 이용하여 모호성을 제거할 수 있는 효과가 있다. 물론 “DACB = 322~222~2”의 사례에서 “A”입력에 [2]버튼 길게 누름(즉, “2~”)을 이용하는 것도 가능하다.
위의 사례는 특정 버튼에 배정(명시적 배정 및 암시적 배정 모두 포함)된 알파벳 중 임의의 알파벳(예. “A”)을 대표알파벳으로 두고, 나머지 알파벳을 후 속알파벳(예. “B”, “C”)으로 두어 후속알파벳은 대표알파벳과 후속알파벳이 배정된 버튼을 소정횟수 누름에 의하여 입력하도록 하는 것으로 볼 수 있다. 즉, “A (대표알파벳) - B(2nd 후속알파벳) - C(3rd 후속알파벳)” 의 관계를 두어, “A = 2~”으로, “B = A + 2 = “2~2”로, “C = B + 2 = A+2 + 2 = 2~22”로 하 는 것이다. 또한 “A”를 길게 누름이 아닌 보통의 누름(즉, 단타)로도 입력할 수 있다고 한 것은, 같은 버튼에 배정된 알파벳이 연속하여 입력되는 경우가 아니 면, 대표알파벳의 입력에 있어서 기존의 반복선택방법에서와 같이 보통의 한번 누 름(즉, 단타)으로 입력하는 것도 가능하기 때문이다. 이하에서 이를 편의상 “대 표알파벳 길게 누름에 의한 반복선택방법”이라 부른다.
만약 하나의 버튼을 이용하여 2개의 알파벳만을 입력한다면, 하나의 알파벳 을 보통의 한번 누름(즉, 단타)로 정의하고, 다른 하나의 알파벳을 길게 누름(즉, 장타)으로 정의하여 입력할 수 있다 (예. 도10-1에서 “B = 1”, “P = 1~”) 그 러나, 도1-1과 같이 버튼당 3개의 알파벳이 배정(명시적으로 배정 혹은 암시적으 로 배정)되어 있을 경우(예. [2]버튼), 제1알파벳을 한번 누름으로 정의하고(예. “A = 2”, 제2알파벳을 길게 누름으로 정의하고(예. “B = 2~”, 3번째 알파벳을 두번 누름(예. “C = 22”) 혹은 길게 누름과 한번 누름(예. “C = 2~2”)으로 정 의하면, 제3알파벳 입력시에 역시 모호성이 있게된다. “C = 22”로 정의하였을 경우 “AA”로도 해석될 수 있으며, “C = 2~2”로 정의하였을 경우 “BA”로도 해석될 수 있기 때문이다. 이 사례에서 제1, 제2, 제3알파벳은 임의로 정해질 수 있다. 이 경우도 보통의 단순반복선택방법에서보다 모호성이 발생할 수 있는 횟 수는 대폭 줄어들게 된다.
길게 누름을 이용한 반복선택방법의 장점은 모호성없이 입력할 수 있는 점 과 함께, 각 버튼에 배정된 알파벳 뿐만 아니라 숫자 그리고 각 버튼에 연관된 기 호까지 입력하는 경우에 더욱 유용할 수 있다. 예를 들어 임의의 “버튼x”에 특 정 알파벳(들) “A1, A2, A3, ...”가 연관(명시적으로 배정 혹은 암시적으로 배 정)되어 있고, 특정 숫자“N1”가 연관되어 있고, 특정기호(들) “S1, S2, S3, ...”가 연관되어 있다고 가정한다. 여기서 “버튼x”에 연관된 임의의 알파벳을 길게누름에 의하여 입력하는 것으로 정의할 수 있다. 예를 들어 알파벳 “A1”을 대표알파벳으로 지정하고, “버튼x”를 길게 누름에 의하여 입력하는 것으로 한다. “버튼x”에 연관된 “A1, A2, A3, N1, S1, S2, S3”를 입력하는 것을 그 래프 형태로 나타내면 도14-3와 같다. 도14-3에서 “A1S1 = xx~xxxx”로 혹은 “ A1S1 = x~x~xxxx”로 입력되는 것을 알 수 있다. 여기서 만약 영어를 모국어로 하지 않는 언어에 있어서는 영어 알파벳 “E1, E2, E3, ...”를 추가로 연관하여 입력하도록 할 수도 있다.
더 나아가 “버튼x”에 연관된 대상들(예. “A1, A2, A3, N1, S1, S2, S3”)를 입력하는데 있어서, 대표알파벳 길게 누름에 의한 반복선택방법이 아닌, 보통의 반복선택방법을 적용하여, 연관된 숫자 및 각종 기호(특수문자)를 입력하 는 것도 가능하다. 단 같은 버튼에 연관된 대상을 연속하여 입력할 경우는 모호 성이 발생하므로, 하나의 대상을 입력한 후 “약속된 일정시간의 지연” 혹은 구 분자(예. “병행입력방법에서의 보완사항”에서 설명한 [>]버튼 1회 누름)의 입력 에 의하여 모호성이 발생하지 않도록 할 필요가 있다. 예를 들어 “버튼x”에 “ A1, A2, A3, N1, S1, S2, S3” 이 연관되어 있고, “S1A1”을 반복선택방법에 의 하여 입력할 경우 “S1A1 = xxxxx>x” 로 입력될 수 있다. 이는 반복선택방법을 적용함에 있어서 모호성을 극복하기 위하여 쓰이는 기법이나, 특정 버튼에 특정 숫자 및 기호 그룹까지 연관하여 입력할 수 있도록 한 점이 다른 것이다.
현재는 보통 “버튼x”에 연관된(배정된) 자국어 알파벳 “A1, A2, A3”가 있을 경우, “x =A”, “xx = B”, “xxx = C”로 되거나, 정의된 최대 반복누름 횟수를 초과하여(예. “버튼x” 4회 눌러짐) 눌러진 경우 “xxxx = A” 로, “ xxxxx = B”와 같이 순환 토글되는 정도였다. 순환토글되도록 한 것은 반복선택 방법 적용시의 입력오류 발생시 누르던 버튼을 반복하여 누름으로써, 다시 타겟알 파벳을 입력할 수 있도록 한 배려로 보인다. 그러나, 출원인이 제시한 바, 삭제 버튼의 입력이 생성중인 알파벳 전체의 삭제가 아닌 “최근입력값”의 삭제로 작 용하도록 하면 굳이 순환토글되는 방식을 적용하지 않아도 된다. “xx = B”만 눌러야 하는데, “xxx = C”를 입력한 경우, “xx”를 추가로 눌러 “B”를 입력 하지 않더라도, 삭제버튼을 한번 누름으로써 “B”를 입력할 수 있기 때문이다.
도14-4는 특정 버튼의 짧게 누름 이후 길게 누름에 의하여 알파벳을 입력하 는 과정을 보여준다. 도14-4에서 A1, A2, A3, ... 행은 기존의 반복선택방법에 의한 입력과정이다. B2는 어떤 버튼(예. 버튼 “x”)의 짧게 누름에 의하여 A1이 입력되고 나서, 동일버튼의 길게 누름이 결합되어 입력되는 것을 알 수 있다. 즉 “A1 = x”, “B2 = xx~” 이다. 여기서 버튼x 의 길게 누름만으로 어떤 알파벳 입력이 정의되어 있지 않으면, 그리고 버튼x를 이용해서 알파벳 A1, B2 만 입력한 다고 가정하면, 모호성없이 인식될 수 있다. 버튼x 의 길게 누름이 어떤 알파벳 (예. 알파벳 E1)으로 정의되어 있다고 하더라도, “A1”과 “E1”이 동시에 나오 는 경우가 없다면 이러한 언어제한(A1과 E2가 동시에 나오지 않는 언어제한)을 이 용하여 모호성없이, A1, B2, E1 을 입력할 수 있다.
역시 도14-4에서 “버튼x”의 길게 누름이 어떤 알파벳 입력으로 정의되어 있지 않으면, A1, B2, C3 는 모호성없이 인식될 수 있다. 또한 A1, A2, D3 의 경 우는 “A1 = x”, “A2 = xx = A1A1” 으로 모호성이 있을 수 있으나, 만약 어떤 언어에서 A1이 연속하여 나오지 않는다면, 이러한 언어제한(A1이 연속해서 나오지 않는 언어제한)을 이용하여 A1, A2, D3 를 모호성없이 입력할 수 있게된다. 도 14-4에서와 같은 방법을 편의상 “짧게 누름 후의 길게 누름에 의한 반복선택방법 ”이라 부른다. 예를 들어 도10-6에서 “i = #”, “u=#~” 으로 입력하는 정하 고, “##~”로 임의의 모음(예. “..u” - “u” 위에 첨자 “..”이 붙은 알파 벳)을 모호성없이 입력할 수 있다 (중국어 병음에서 “i”와 “u”는 연속하여 나 오지 않음). 물론 “i”가 연속하여 나오지 않으므로, “##”으로 다른 어떤 대 상을 입력하도록 하는 것도 가능하다. 이는 다른 언어에서도 동일하게 적용될 수 있다. 도14-4에서 A1, A2, A3 행의 후순위 알파벳(예. S1, S2, S3, ...)을 입력 하는데 활용할 수 있을 것이다.
26.1.2 길게 누름을 이용한 컨트롤처리방법
다음으로 컨트롤의 선택에 응용하는 사례를 보인다. 이하의 사례에서 컨트 롤은 후입력되는 것을 가정하여 설명한다. 앞의 예에서, [2]버튼 단타, 장타 모 두 “A”를 표현하도록 한 것은 단지 기존의 반복선택방법과 유사한 느낌으로 입 력할 수 있는 사례를 들기 위한 것이다. 그러나 특정 버튼 한번 누름에 의하여 특정 대상을 표현할 수 있고, 또 동일한 버튼의 길게 누름에 의하여 다른 대상을 표현할 수 있다. 예를 들어, 특정 버튼(예. [1]버튼)의 한번누름이 특정 대상(예. 임의의 “알파벳x” - 여기서 “x”는 실제 “x”가 아닌 임의의 알파벳 을 의미하는 것임)을 표현할 수 있고, 길게 누름이 다른 특정 대상(예. 임의의 “ 알파벳y”)를 표현할 수 있다. 즉, “알파벳x = 1”, “알파벳y = 1~” 과 같이 되는 것이다. 여기서 예를 든 어떤 “알파벳x” 와 “알파벳y”는 개념적인 것이 므로, 기 설명한 “대표알파벳 길게 누름에 의한 반복선택방법”에서 “A = 2~” 혹은 “A = 2” 로 정의하였다 하더라도 보통의 누름(즉, 단타)에 의한 “A”는 알파벳x 에 해당하고, 길게 누름에 의한 “A”는 “알파벳y”에 해당하는 것이다.
이는 컨트롤의 선택에서도 동일하게 적용될 수 있다. 예를 들어 임의의 버 튼(예. 컨트롤버튼으로써의 [*] 버튼) 한번 누름이 특정 대상(예. 임의의 “컨트 롤a1”)를 표현할 수 있고, 동일한 버튼의 길게 누름이 다른 특정 대상(예. 임의 의 “컨트롤b1”)를 표현할 수 있다. 컨트롤버튼의 반복누름으로 “a2컨트롤”, “a3컨트롤”, ... 등을 선택할 수 있다고 하였다. 여기서 중요한 것은 컨트롤버 튼의 길게 누름에 의하여 “b1컨트롤”을 선택한 후, 길게 누름이 아닌 반복누름 으로 “b2컨트롤”, “b3컨트롤”, “b4컨트롤”, ... 등을 선택될 수 있는 것이 다. 역시 모호성은 발생하지 않는다. 이는 앞의 예시에서 대표알파벳 “A”만을 길게 누름으로 입력하고, 나머지 후속알파벳 선택에 있어서, 단타를 조합하도록 한 사례를 참고할 수 있다.
편의상 특정 버튼(예. [1]버튼)과 “b1컨트롤”의 조합에 의하여 입력되는 대상을 “B1” 과 같이 표시하면, 다음과 같이 된다.
“A1 = x + {a1컨트롤} = 1*”, “A2 = x + {a2컨트롤} = 1**”, “A3 = x + {a3컨트롤} = 1***”, . . . ,
“B1 = x + {b1컨트롤} = 1*~”, “B2 = x + {b2컨트롤} = 1*~*”, “B3 = x + {b3컨트롤} = 1*~**”, . . .
물론 b1, b2, b3 컨트롤의 선택에 각각 장타1회, 장타2회, 장타3회를 적용 하는 것도 가능하다. 그러나, 길게 누름을 자주 사용하도록 하는 것이 좋지 않음 은 너무나 당연한 사실이다. B1, B2, B3, ... 의 사례와 같이 컨트롤버튼 1회 길 게 누름 이후 보통의 누름에 의하여 입력하는 것을 편의상 “길게 누름후 반복누 름”이라하고, 이러한 컨트롤처리방법을 “길게 누름후 반복누름에 의한 컨트롤처 리방법”이라고 한다. A1, A2, ... 계열은 기 제시한 컨트롤처리방법을 의미하고, B1, B2, ... 계열은 “길게 누름후 반복누름에 의한 컨트롤처리방법” 을 의미한다. 위 내용을 그래프 형식으로 나타내면 도14-1과 같다. 이상의 내용 은 대표알파벳 길게 누름에 의한 반복선택방법에서와 같이 최초의 컨트롤 선택에 만 한번의 길게누름을 적용하여 확장한 사례이다. 더불어 도14-2에서와 같이 추 가적으로 길게 누름을 매개하여 다양한 확장(예. C계열, D계열)이 가능하다.
여기서 컨트롤버튼이 아닌 버튼(예에서 [1]버튼)의 길게 누름을 적용(예. “알파벳y”) 하면, 또 다른 대상을 표현할 수 있음은 물론이다. 더 나아가 길게 누름을 이용한 반복선택방법(예. “A = 2~”, “B = 2~2”, “C = 2~22”)으로 키 패드 각 버튼에 표시된 알파벳(도1-1에서 3개의 알파벳)을 모호성없이 식별할 수 있다고 하였으므로, 숫자 버튼 조작에 의하여 선택할 수 있는 3가지 알파벳 선택 후 컨트롤 버튼의 반복누름, 혹은 길게 누름후 반복누름에 의하여 각기 다른 그룹 의 변형알파벳을 입력할 수 있는 것이다. 즉 도1-1에서 “A”입력후 컨트롤버튼 의 반복누름에 의하여 특정 그룹(예. 그룹1)의 알파벳(기호, 숫자, 모국어, 영어 알파벳 등을 포괄하는 의미)을 입력하도록 할 수 있고, “길게 누름 후 반복누름 ”에 의하여 또 다른 특정 그룹(예. 그룹2)의 알파벳을 입력하게 할 수 있다. 마 찬가지로 “B” 입력과 컨트롤버튼의 반복누름 조합에 의하여 그룹3의 알파벳을 입력할 수 있으며, 길게 누름 후 반복누름에 의하여 또 다른 그룹인 그룹4의 알파 벳을 입력할 수 있는 것이다. 도1-1 키패드 버튼상 표시된 3개 알파벳에 대하여 뿐만 아니라, 임의의 규칙(예. “2~222”)을 정하고 이에 대하여 컨트롤버튼의 반 복누름과 길게 누름후 반복누름 등에 의하여 임의의 그룹의 알파벳을 입력하도록 하는 것도 가능하다.
길게 누름후 반복누름에 의한 컨트롤처리방법은 한국어의 사례(도4-5 ~ 도 4-8) 및 일본어의 사례(도2-1, 2-2) 등등 에서와 같이 컨트롤버튼이 기본적인 모 국어의 입력에 소요되는 경우, 문장 중에서 간헐적으로 사용되는 숫자의 입력 및 영어 알파벳(영어가 모국어가 아닌 언어에서)의 입력 등에 매우 유용할 것이다. 이하에서 각 언어별로 응용 사례를 간단히 언급하며, 언급하지 않은 다른 언어에 도 적용될 수 있다.
26.2 한국어
도4-5 ~ 도4-8의 사례에서 변형알파벳(예. 격자음/경자음 및 탈락자음)을 기본자음이 속한 버튼의 반복누름에 의하여 입력(예. “ㄱ=1”, “ㄲ=11”, “ㅋ =111” 또는 “ㄱ=1”, “ㅋ=11”, “ㄲ=111”)하는 경우에도 유사하게 적용될 수 있다. 즉, 같은 버튼에 속한 알파벳이 연속으로 나오는 경우 2번째 이후에 나오 는 알파벳 입력시, 길게 누름에 의하여 입력하는 것이다. 예를 들어 도4-5에서 [1]버튼의 연속누름을 “ㅋ”으로 정의하면, “ㄱ”이 연속하여 나오는 경우 “ㄱ +ㄱ”이 아닌 “ㅋ”으로 인식될 수 있는데, 이때에도 두번째 “ㄱ”입력시 길게 누름으로 입력하면 “ㄱ+ㄱ”으로 인식될 수 있다. 즉 “국가”에서 두번째 음절 의 “ㄱ”입력시 길게 누름을 이용하는 것이다. “국카”입력시에도 두번째 음절 의 “ㅋ”입력에 길게 누름을 이용하여 “ㅋ = 1~1”로 입력하는 것이다. 이는 변형알파벳을 컨트롤처리방법에 의하여 입력하는 것과 선택적으로(2가지 중 한가 지만, 혹은 2가지 모두 동시에) 적용될 수 있다.
대표알파벳이 아닌 일부의 알파벳을 길게 누름에 입력하는 사례로 격자음 혹은 경자음 중 하나를 길게 누름에 의하여 입력할 수 있다. 예를 들어 격자음을 길게 누름에 의하여 입력하는 것으로 정의하면, 경자음(쌍자음)은 기본자음의 조 합으로 입력이 가능하다. 물론 선출원에서 언급한 바와 같이 “오뚜기”의 경우 “오ㄷ두기” (“ㄷ”은 “오”의 종성받침) 로 되는 모호성이 있다.
마찬가지로 모음과 함께 배정된 자음(예. 도4-5, 도4-6에서 [0]버튼에 배정 된 “ㅎ”)의 입력에 길게 누름을 응용할 수 있다. 즉 “ㅎ = 0~” 과 같이 되는 것이다. 출원인의 사견으로 선출원에서 기 제시한 바 도4-5를 기준으로 “ㅎ = 8**” 또는 “ㅎ = 0**” 또는 “ㅎ = 0 (선출원에서 기 제시한 특별한 경우만 가 능)”로 입력하는 것이 길게 누름을 이용하는 것보다 입력 효율면에서 좋을 것으 로 짐작된다. 기 제시한 탈락자음(예. “ㅎ”)의 입력방법 및 길게 누름에 의한 입력방법이 선택적으로 적용가능하다.
길게누름 후 짧게누름을 이용하여 어느 대상을 입력하는 것이 가능하다고 하였는데, 도4-5 ~ 도4-13의 도면에서 모음버튼(모음요소 또는 요소모음이 배정된 버튼)을 길게 눌러 한글자음이 아닌 어떤 대상을 입력하는 것으로 정의하였을 때, 어느 특정 버튼의 길게누름 후 짧게누름으로 그 특정버튼에 연관된 일련의 대상을 입력할 수 있다. 그 이유는 기 설명한 바와 같이 “. (마침표) = ㅁ+ㅡ+ㅡ”로 정의하였을 때, 한글 자음이 아닌 “어떤 대상 (예에서 마침표)” 다음에 모음 “ ㅡ” 로 시작하는 한글 글자가 없으므로 “, (콤마) = ㅁ+ㅡ+ㅡ+ㅡ” 로 정의할 수 있는 것과 같다. 만약 [*]버튼(“ㅡ” 가 배정된 버튼)의 길게 누름을 “-(하 이픈)” 정의하였다면, 임의의 다른 대상 (예. 밑줄)을 길게누름 후의 반복누름에 의하여 정의할 수 있는 것이다. 즉, “- (하이픈) = *~” 이 되고 “_(밑줄) = *~*” 이 된다. 이는 역시 한글의 모음이 단어의 처음에 나오지 않는 성질을 이 용한 것이다. 모음요소 “.”이 한글의 처음에 나오지 않는 성질을 이용하여 “ 단어시작 상태”에서 “.”이 배정된 버튼(예에서 [0]버튼)의 짧게 누름을 “ㅎ” 의 입력으로 할 수 있음을 밝힌 것과 같이, “단어시작 상태” 에서 모음버튼의 눌러짐을 특정 대상(예. 그 모음버튼에 연관된 특수문자)의 입력으로 정의할 수 있다. 예를 들어 단어의 시작상태에서 “ㅡ”가 배정된 버튼(예에서 [*]버튼)이 눌러지면 이를 “-(하이픈)”로 할 수 있는 것이다. 다만, 이를 적용시 낱자로써 의 모음 “ㅡ”를 입력하지 못하는 단점은 있다. 물론 이 경우에도 “ㅡ”가 배 정된 버튼의 입력으로 자음이 아닌 특정 대상(예에서 “- ”)이 인식된 후 연속하 여 “ㅡ”가 배정된 버튼이 눌러지면 이를 연관된 다른 대상(예. 특수문자 “_ ”)의 입력으로 되도록 정의할 수 있다.
다음으로 “길게 누름후 반복누름에 의한 컨트롤처리방법”을 응용하는 사 례를 제시한다. 출원인의 대표적인 한국어 입력시스템은 홈페이지 http://www.simplecode.net 에 시뮬레이터와 함께 소개(고어, 기호의 입력 및 병 행입력기술까지 소개)되어 있으며, 더불어 숫자 및 영어 알파벳의 입력도 모드전 환없이 가능함을 언급하고 있다.
이를 본 업계의 관계자로부터 모드전환 없이 숫자 및 영어의 입력기술까지 제공하여 달라는 요구가 있어 어쩔 수 없이 본 출원을 실행하게 되었음을 밝힌다. (참고로 이러한 요청이 있었던 업체는 출원인의 한국어 입력기술을 채택하지 않는 것으로 되었다. 참으로 안타까운 일이다)
입력에 있어서 일반적인 사용빈도는 “자국어 알파벳 - 각종 기호(특수 문 자) - 숫자 - 영어 알파벳”의 순으로 볼 수 있다. 도4-5 등에서 보듯이 숫자 및 영어를 입력하는데 사용될 수 있는 컨트롤 버튼이 없는 상태이다. 여기서 숫자 버튼과 [*]버튼의 길게 누름(즉, “*~ = 숫자컨트롤”)과 조합하여 숫자를 입력하 는 것이 가능하다. 즉, “숫자 1 = 1*~” 로 하는 것이다. [*]버튼은 1차적으로 모음버튼이면서 동시에 컨트롤버튼으로 활용되고 있는데, [*]버튼 한번 누름은 모 음 “ㅣ”를 표하지만, [*]버튼 한번 길게 누름은 임의의 대상(예에서는 “숫자 컨트롤”)을 표현할 수 있기 때문이다.
영어 알파벳의 입력은 여러가지 방법이 가능하다. 예를 들어 “A = 2#~”, “B = 2#~#”, “C = 2#~#” 로 정의할 수 있다. “2#~#” 입력에 대하여 “A” 와 모음 “ㅣ”로 인식되지 않고, “B”로 인식될 수 있는 것은 것은 한국어에서 모음 “ㅣ”로 시작되는 음절이 없는 성질(일종의 한국어 제한)을 이용하는 것이 다. 만약 [#]버튼의 길게 누름 및 반복누름을 다른 용도로 사용한다면, 영어 알 파벳을 숫자의 후속알파벳으로 간주하여 “A = 2*~*” 혹은 “A = 2*~# (교차 컨 트롤처리방법)” 으로 “B = 2*~**” 혹은 “B = 2*~##” 등과 같이 다양하게 정 의할 수 있다.
길게 누름에 의한 컨트롤처리방법의 사례를 한가지 더 제시한다. 도4-5 ~ 도4-8에서, 모음 “ㅡ”가 배정된 버튼의 반복누름에 의하여 “ㅜ”, “ㅠ”를 입 력하는 것(즉, “ㅡ = *”, “ㅜ = **”, “ㅠ = ***”)로 정의하면, 알파벳 입력 에 최대 3타(즉, 최대 가능 반복횟수)의 [*]버튼 연속누름이 소요된다. 이 경우 격음컨트롤은 “최대가능 반복횟수 + 1” 회 누름(즉, [*]버튼 4회)에 의하여 선 택될 수 있다. “즉, “ㅋ = 1****”인 것이다. 이 경우 연속 4회 누르는 부담 을 완화하기 위하여 “격음컨트롤 = *~”로 하여 “ㅋ = ㄱ+{격음컨트롤} = 1*~” 로 정의할 수 있다. 이는 경자음 및 변형알파벳으로 간주하는 탈락자음에 대해서 도 동일하게 적용할 수 있다. 또한 컨트롤처리방법에서 격음컨트롤을 반복선택방 법에 의하여 선택하는 모든 경우에도 적용할 수 있고, 길게 누름에 의한 변형알파 벳 입력 및 기존의 반복누름에 의한 변형알파벳 입력이 선택적(양자 중 하나만 혹 은 양자 모두)으로 가능함은 물론이다. 이 경우 숫자의 입력은 다른 버튼(예 [#]버튼)을 이용하면 된다.
26.3 일본어
도2-1, 도2-2의 일본어의 사례에서와 같이 후속알파벳이 다수인데, 반복선 택방법에 의하여 후속알파벳을 입력시 유용할 수 있다. 즉 “あ = 1” 또는 “あ = 1~”로, “い = 1~1”, “う = 1~11”, “え = 1~111”, “お = 1~1111”로 정 의하는 것이다. 언급한 바와 같이 같은 버튼에 배정된 알파벳이 연속하여 나오는 경우, 같은 버튼에 배정된 알파벳 중 2번째 나오는 알파벳만, 길게 누름(즉, “1~ ”)을 이용하여 입력하고, 그렇지 않은 경우는 단순히 한번 누름에 의하여 입력하 여도 모호성없이 입력된다. 그러나, 도2-1, 도2-2의 일본어 사례에서 후속컨트롤 처리방법을 적용함으로써 적은 입력타수로 모호성없이 입력할 수 있는 것을 이미 보였는데, 대표알파벳 길게 누름에 의한 반복선택방법과 함께 적용될 수 있다.
*대표알파벳 길게 누름에 의한 반복선택방법을 적용하지 않고, 컨트롤처리방 법으로 후속알파벳을 입력하는 사례에서 길게누름을 이용하여 변형알파벳을 입력 하는 사례를 보인다. 도2-2에서 컨트롤처리방법에 의하여 후속알파벳 입력시, 도 2-3에서와 같이 대표알파벳(예. “は”)의 변형알파벳(예. “ば”, “ぱ”) 입력 시, 입력타수가 다소 많고 부자연스러운 것을 알 수 있다. 이 경우, 해당버튼(도 2-2에서 [6]버튼)의 길게 누름을 대표알파벳의 변형알파벳(예. “ば”)으로 정의 할 수 있다. 나머지 변형알파벳 “ぱ = ば + 소정의 컨트롤버튼(예. [*]버튼) = 6~*”로 정의할 수 있다.
여기서 알파벳이 배정된 버튼의 길게 누름을 이용하여 변형알파벳을 입력하 지 않으면, 대표알파벳 길게 누름에 의한 반복선택방법과 컨트롤처리방법에 의한 후속알파벳 입력을 함께 적용할 수 있다. 변형알파벳(예. “ば”, “ぱ”)의 입 력은 임의의 컨트롤버튼(예. [*]버튼) 의 길게 누름과 대표알파벳 “は”의 조합 으로 “ぱ”를 입력하도록 할 수 있다. 즉, “ば(임의의 변형알파벳) = は + *~ = 6*~”으로, “ぱ(임의의 다른 변형알파벳) = は + *~* = 6*~*” 로 정의할 수 있 다. 만약 “は”의 변형알파벳이 다수인 경우도 “6*~**”, “6*~***”, ... 과 같이 길게 누름후 반복누름을 이용하여 모호성없이 입력하도록 할 수 있음은 물론 이다. “*”과 “*~”이 각각 다른 대상을 표현할 수 있는 것처럼 “**”과 “ *~*”이 각기 다른 대상(여기서는 임의의 컨트롤)을 표현할 수 있기 때문이다.
여기서 중요한 것은, 길게 누름에 의하여 임의의 컨트롤을 선택할 수 있는 것뿐만 아니라, 한번 길게 누름 이후에 길게 누름에 이용된 버튼(예. 컨트롤버 튼)의 반복누름에 의하여 모호성없이 다른 대상(예. 임의의 컨트롤)을 표현할 수 있는 것이다.
마찬가지로 숫자 및 영어 알파벳의 입력에 있어서, 한국어에서 설명한 것을 응용할 수 있다. 예를 들어 “숫자 2 = 2#~”으로 정의할 수 있으며, “A = 2#~# ”, “B = 2#~##”, . . . 과 같이 정의할 수 있다.
26.4 중국어
도10-1 ~ 도10-6 등의 키패드에서 모호성없이 (혹은 거의 모호성없이) 중국 어 병음을 입력할 수 있음을 보였다. 그러나 “b__b__”로 구성된 단어(밑줄 부 분은 모음으로 구성된 병음음절)를 단축입력하기 위하여 “bb = 11”을 입력시, 중국어 병음에서 “bb”가 연속하여 나오지 않는 언어제한이 적용되면, “11 = p ”로 인식될 것이다. 이 경우는 언급한 바와 같이, “b = 1”을 입력후 소정의 시간지연 혹은 특정 조작(예. [>]버튼 누름)에 의하여 의도적으로 입력값 “1”을 “b”로 확정 후 “b = 1”을 입력하여야 한다. 역시 같은 버튼에 배정된 알파벳 을 연속하여 입력할 경우 발생하는 모호성의 문제로 볼 수 있다. 이 경우도 대표 알파벳 길게 누름에 의한 컨트롤처리방법을 적용하여 ([1]버튼의 대표알파벳 “b ”를 “b = 1~”로) 해결할 수 있다. 예를 들어 “bb = 1~1~” 혹은 같은 버튼에 배정된 알파벳이 연속으로 나올때 2번째 이후에 있는 알파벳 입력에 길게 누름을 적용하여 “bb = 11~” 로 할 수 있는 것이다.
다음으로 숫자와 기호를 입력하는 것을 보인다. 도10-6을 기준으로 설명한 다. 중국어에서 영어의 입력은 영어 알파벳 입력후 이를 한자로 변환하지 않으면 되므로 굳이 언급하지 않는다. 도10-6을 기준으로 “숫자 1 = 1*~”과 같이 정의 할 수 있다. 도10-6에서 [*]버튼 한번 누름은 “a”로 인식하게 되나, 길게 누름 (“*~”)은 별개의 대상(예에서 “숫자 컨트롤”)을 표현할 수 있기 때문이다. 도10-6에서, 각종의 기호 입력에는 [#]버튼의 길게 누름 및 반복누름을 이용한 컨 트롤처리방법을 적용하는 것이 바람직하다. 예를 들어 [2]버튼에 dot(.), comma(,), colon(:), semi-colon(;) 등을 연관시키고, “dot(.) = 2#~”, “ comma(,) = 2#~#”, “colon(:) = 2#~##”, “semi-colon(;) = 2#~###” 으로 정 의할 수 있다. “2#~#”이 “dot(.) + i”로 인식되지 않고 “comma(,)”로 인식 될 수 있는 것은 중국어 병음이 “i”로 시작하지 않는 중국어 제한을 이용하기 때문이다. (한국어의 사례 참조) 마찬가지로 “2#~##” 도 “dot(.)+i+i” 혹은 “comma(,)+i”로 인식되지 않고 “colon(:)”으로 인식될 수 있다. 만약, “ dot(.)+i”를 입력하고 싶으면, 언급한 바대로, “2#~”까지 입력후 소정의 시간 경과로 “dot(.)” 확정 후 혹은 특정 조작(예. [>]버튼 누름)에 의하여 “dot (.)” 확정후 “# = i”를 입력하면 된다.
도10-6에서 특정 그룹의 기호(들)의 입력에 [*]버튼을 사용하지 않은 이유 는, 드물지만 “a”, “e”, “o” 등으로 시작하는 병음이 있으므로, “길게누름 후의 반복누름”을 이용시, 모호성이 발생할 수 있기 때문이다. 숫자의 경우는 하나씩만 존재하므로 [*]버튼 길게 누름 한번만 조합하면 되기 때문이다. 도10-1 ~ 10-5의 경우, [*]버튼과 [#]버튼에 배정된 “i” 와 “u”로 시작하는 병음이 없으므로, [*]버튼과 [#]버튼을 이용하여 길게누름 후 반복누름을 이용한 컨트롤 처리방법으로 숫자, 기호, 등을 입력하는 것이 항상 가능하다.
이상의 내용은 도10-1 ~ 도10-6의 키패드 뿐만 아니라 다른 키패드에서도 유사하게 적용될 수 있음은 자명하다.
26.5 로마자를 사용하는 언어
로마자를 사용하는 유럽언어에 있어서, 기본알파벳에 첨자가 붙은 변형알파 벳이 다수 존재한다. 앞에서 설명한 각종의 길게누름을 적용하여 변형알파벳의 입력 및 특수문자 입력 등에 적용할 수 있다.
27. 스크린 자판상에서 끊어지지 않은 드래그에 의한 한국어 음절(=자모결합글자) 입력 장치 및 그 방법
27.1 드래그 기법을 사용한 기존의 입력방법
최근 UMPC (Ultra Mobile PC) 등 컨버전스형 기기의 등장으로 액정(스크린)상에 표시된 자판에서 드래그(Drag)기법을 통해 문자를 입력하는 기술이 다수 선보이고 있다. 대표적인 기술은 "모아키"라는 입력기로써 대표적인 개념은 도면15-1에 있는 것과 같은 액정상의 자판에서 특정 자음(예. "ㅇ")을 펜으로 터치(또는 마우스로 클릭)한 후 "상/하/좌/우"측으로 드래그하면 각각 "오/우/어/아"가 입력되는 기술이다. 하나의 자음만을 터치하고 떼면(즉, 드래그하지 않고), 도면15-2에서와 같이 모음을 입력할 수 있는 [ㅡ]버튼, [ㆍ]버튼, [ㅣ]버튼이 터치된 자음 주위에 팝업되어 추가적으로 모음을 입력할 수 있게 해준다. 여기서 "드래그"는 "제스처" 라는 용어로도 불리고 있으며 터치 또는 클릭한 상태에서 상기 터치 또는 클릭을 떼지 않고 끌어 움직인다는 의미이다. 상기 드래그가 끝나는 시점은 드래그 이후 펜터치를 떼거나 마우스 클릭을 떼는 순간이 된다. 드래그의 개념은 마우스 제스처를 지원하는 프로그램을 한번 사용해 보면 쉽게 알 수 있으며, 본 발명에서는 "드래그"라는 용어를 사용한다.
모아키는 그 동안 다른 입력기가 제공하지 않았던 특성으로 인해, 비록 터치스크린 상에서만 작동한다는 한계에도 불구하고 어느 정도 인기를 누리고 있다. 단점이 몇가지 있는데, 한국어 모음으로 감성을 표현하는 이모티콘 (예. "ㅜㅜ", "ㅠㅠ", "ㅡ.ㅡ", ...) 을 입력할 수 없다는 점, 그리고 19개의 자음버튼을 액정에 깔아 놓아 PDA의 경우는 화면의 약 절반이 자판으로 소요된다는 점, 그리고 버튼 입력에는 동일한 입력기술을 사용할 수 없다는 점 등을 들 수 있다.
또한 특정 자판에서 드래그를 시작해서 끝나는 2개의 버튼을 상기 드래그에 의하여 입력하게 하는 내용도 있다. 예를 들어, [ㄱ]버튼에서 펜 터치(또는 마우스 클릭)를 시작하고 드래그해서 [ㅣ]버튼까지 드래그한 후 놓으면, "기" 가 입력되는 것이다. 이는 반드시 "초성+중성"에만 적용되는 것은 아니고 모든 경우에 적용된다. 다만 이 경우는 항상 점(시작버튼) 대 점(끝버튼)의 2개 버튼에만 적용된다. 구현하는 것 역시도 매우 간단하여, 드래그가 시작된 "드래그 시작버튼"과 드래그가 끝난 "드래그 종료버튼"이 눌러진 것으로 처리하면 된다. 드래그가 시작되는 것을 탐지하는 것은 펜 터치(또는 마우스 클릭)이 시작되고 펜이 떨어지지 않은 상태(또는 마우스 클릭이 떨어지지 않은 상태)에서 최초 터치된 위치(좌표)가 움직이는 것을 탐지하면 된다. 이는 PC상에서 광범위하게 사용되고 있는 "마우스 제스처" 를 탐지하는 것과 같은 것이고, 이미 다수의 개인 사용자가 자신의 마우스 제스처 프로그램들을 배포하고 있을 정도로 광범위하게 알려진 기술이므로 본 발명에서는 상기 절차 및 과정에 대해 상세히 언급하지 않는다.
27.2 본 발명에서 제시하는 연속 드래그에 의한 음절 입력 기술의 구성
본 발명에서는 하나의 한국어 음절(자모결합글자)을 한번의 연속하는 드래그에 의하여 입력할 수 있는 기술을 제시한다. 이러한 기술은 상기 "모아키" 제품에서도 제시하지 못하고 있는 것을 직접 확인하였다.
본 발명의 내용은 액정상 표시된 자판(키패드, 키보드, 기타 모든 변형된 형태) 상의 자음, 모음 버튼을 드래그하여 음절을 입력하는 모든 경우에 적용될 수 있다. 편의상 휴대폰 자판을 예롤 들어 설명하며, 특히 출원인이 선출원에서 제시한 자판 및 입력방법을 기준으로 설명한다. 모든 형태의 한국어 자판은 자음이 배치된 자음버튼과 모음이 배치된 모음버튼이 각기 나누어져 이루어져 있다. 대표적으로 도면15-3은 삼성전자社의 휴대폰 자판이고, 도면15-4는 LG전자社의 휴대폰 자판이다. 각각의 입력방식은 너무나 잘 알려져 있으므로 설명하지 않는다. 다만 모든 입력방식에서 각 자음버튼에 배치된 자음(다수개의 자음이 배치된 경우는 최소한 첫번째 배치된 자음)은 해당 버튼 한번 눌러짐으로 입력되고, 모음 역시 모음이 배치된 모음버튼 한번 눌러짐으로 입력되나, 모음버튼은 적은수 (통상 3~4개 버튼)로 구성되며 나머지 모음은, 모음버튼을 해당 입력방법에서 제공하는 소정의 방법으로 조합하여 입력하도록 되어 있다.
본 발명에서 무엇보다도 중요한 것은, 어떤 입력방법에서도 한국어 자판을 구성할 때, 자음버튼들끼리 구룹으로 모아 구성하고, 모음버튼끼리 그룹으로 모아 구성한다는 것이다. 그렇게하지 않아도 해당 입력방법을 적용하는데는 상관이 없으나, 누구라도 사용자의 "버튼위치식별성"을 위해서 그렇게 하고 있다. 예를 들어 누구라도 자음버튼과 모음버튼을 뒤죽박죽 섞어 구성하지 않는다는 의미이다. 이는 키보드의 한국어 자판도 마찬가지이다. 출원인이 제시했던 자판중 한가지(출원인의 선출원 및 본 발명의 상세한 설명 제4장에서 설명. 특히 4.1.1 및 4.11에 기재된 내용. 이하 "출원인의 한국어 입력방법"이라 함)는 도면15-5(a) 또는 도면15-5(b)와 같으며, 마찬가지로 자음버튼끼리 모아 놓고, 모음버튼끼리 한데 모아 구성되어 있다. 도면15-5(a) 와 도면15-5(b)는 상호 호환될 수 있는 키패드(자판)라고 하였다. 상호 호환될 수 있다는 것은 도면15-5(a)를 기준으로 설명한 입력방법을 도면15-5(b)에서도 적용할 수 있고, 반대로 도면15-5(b)를 기준으로 제시한 입력방법을 도면15-5(a)에서도 적용할 수 있다는 의미이다. 도면15-3, 도면15-4에서의 기존의 키패드 한글입력방법 및 출원인이 제시한 한국어 입력방법에서, 자음버튼의 갯수보다 모음버튼의 갯수가 상대적으로 적은 경우가 대부분이다.
한국어 음절(자모결합글자)은 "초성+중성"으로 이루어진 글자가 약 절반이고, "초성+중성+종성"으로 이루어진 글자가 약 절반이다. 이는 "자음+모음"으로 이루어진 글자가 약 절반이고, "자음+모음+자음"으로 이루어진 글자가 약 절반이라는 의미와 같다.
도면15-6은 도면15-5(a)를 PC의 "숫자키패드"에 적용한 도면으로 동일한자판(키패드)를 제시하고 있는 것이다. 이하에서 특별한 경우가 아닌한 도면15-6에서는 12개의 문자버튼([ㄱ] ~ [ㅈ] 자음버튼 9개, [ㅡ], [ㅏ], [ㅣ] 모음버튼 3개)만 있는 것으로 가정하고, 도면15-5(a)를 기준으로(즉, 도면15-5(a) 및 관련설명에서 제시한 출원인의 한국어 입력방법을 기준으로) 설명한다. 도면15-6에 기반하여 "출원인의 한국어 입력방법" 에서 출원인이 제시한 입력방법에 의거하여 "고"를 입력시, [ㄱ]+[ㅏ]+[ㅡ] 를 누르면 된다. 구현(programming)상, 특정 버튼(예. [ㄱ]버튼)이 눌러진 순간 글자(예. "ㄱ")가 화면에 표시되도록 할 수도 있고, 특정버튼을 눌렀다 떼는 순간 글자가 화면에 표시되도록 할 수도 있다. 대부분의 화면입력기(예. 스크린키보드)에서는 화면상의 버튼을 눌렀다 떼는 순간(즉, 펜을 누르는 순간이 아닌 눌렀다 떼는 순간, 또는 마우스를 클릭하는 순간이 아닌 클릭했다 놓는 순간) 글자가 입력되도록 구현(예. MS Windows에 기본 내장되어 있는 스크린 키보드)되어 있으며, 기술상의 차이는 없다. 휴대폰의 경우도 제조회사에 따라서 버튼을 누르는 순간 글자가 표시되는 제품도 있고, 버튼을 누르고 있는 상태에서는 글자가 표시되지 않지만 떼는 순간 글자가 표시되는 제품도 있으며, 양자간의 차이가 없는 것과 같다.
이하에서 출원인이 제시한 상기 출원인의 한국어 입력방법에 의거하여 주로설명하며 다른 입력방법에서도 동일 또는 유사하게 적용할 수 있음은 자명하다. 이하에서 출원인의 한국어 입력방법에 기반하여 설명하는 내용은 프로그램으로 구현되어 입증된 기술이며, 본 발명의 특허출원 이후 홈페이지 http://www.simplecode.net 를 통하여 프로그램된 문자입력기 제품으로 공개될 예정이다. 도면15-6은 상기 공개될 문자입력기에 적용된 UI(User Interface)이다.
도면15-6을 기준으로 사용자가 "고"라는 글자를 쓰기 위하여 [ㄱ]버튼에서 시작하여 [ㅏ]버튼을 거쳐 [ㅡ]버튼으로 드래그하면, 도면15-7에서와 같이 거쳐가는 버튼(즉, 드래그되는 버튼)은 다수의 버튼이 될 것이다. 드래그되는 버튼들을 시스템이 인지하는 것은, 화면상의 버튼이 펜 터치(또는 마우스 클릭)된 순간부터 떨어지기 전까지 소정의 짧은 시간(예. 1/100초)간격으로 펜 또는 마우스 커서의 위치의 변화가 어느 버튼상에 위치하는지를 체크하면 된다.
본 발명의 설명을 용이하게 하기 위하여 도면15-7와 같이 "드래그하는 것"을 "드래그" 또는 "드래그 동작"이라고 부르고, 상기 드래그 동작에 의하여 거쳐가는 버튼을 "드래그된 버튼"이라고 부르기로 한다. 도면15-7에서 드래그 동작이 시작된 "드래그 시작버튼"은 [ㄱ]버튼이고, 드래그 동작이 종료된 "드래그 종료버튼"은 [ㅡ]버튼이고, "드래그된 버튼"은 [ㄱ]버튼, [ㄴ]버튼, [ㅁ]버튼, [ㅇ]버튼, [ㅈ]버튼, [ㅏ]버튼, [ㅡ]버튼이 된다. 도면15-7의 상기 드래그 동작에 의하여 드래그된 버튼(들)을 표기할 때, [ㄱ → ㄴ → ㅁ → ㅇ → ㅈ → ㅏ → ㅡ] 로 표기하기로 한다. 설명의 편의를 위해, 도면15-7에서와 같이 드래그를 표시할 때, 드래그시작버튼은 동그라미(●)를 넣어 표시하고, 드래그의 끝점은 화살촉으로 표시하기로 한다.
인접한 버튼을 드래그에 의하여 입력하도록 하는 것은 용이한 일이다. 그러나 드래그된 버튼이 다수인 경우는 어떤 버튼이 사용자가 입력을 의도한 버튼인지를 판단하는 문제는 고민스러운 문제이다. 도면15-6에서 "그" 를 입력하기 위하여 [ㄱ]에서 드래그를 시작하면 [ㄹ]버튼, [ㅅ]버튼을 거쳐 [ㅡ]버튼으로 가게 된다. 어느 버튼이 사용자가 입력을 의도했던 버튼인지를 판단할 수 있는 매우 효율적인 방법을 제시하고자 하며 이 내용이 본 발명의 핵심이다.
다수의 자음버튼 그룹([ㄱ]버튼 ~ [ㅈ]버튼)에서 상대적으로 소수인 모음버튼 그룹까지 가려면 다수의 자음버튼을 거쳐서 가게 되는데, 사용자가 의도한 것이 드래그된 모든 자음버튼을 누르려 하였던 것으로 판단하지 않는다. 즉, 도면15-7에서 자음버튼에서 시작하여 모음버튼으로 드래그하면 최초에 드래그가 시작된 자음버튼(드래그 시작버튼)은 최소한 사용자가 입력하고자 의도한 버튼이라고 판단하고, 그 다음으로 거쳐간 자음버튼들(예에서 [ㄴ]버튼, [ㅁ]버튼, [ㅇ]버튼, [ㅈ]버튼)은 드래그 시작버튼과 함께 유효한 초성을 형성하지 않으므로 사용자가 입력하려하지 않았던 버튼으로 간주되어 무시된다. 이는 한국어 음절(자모결합글자)의 초성에 자음이 연속하여 나오지 않는 성질에서 기인한다. 다음으로 최초로 거쳐가는 모음버튼(예에서 [ㅏ]버튼)은 사용자가 입력을 의도한 모음버튼으로 간주되고, 다음으로 이미 유효한 버튼으로 간주된 [ㅏ]버튼과 결합하여 "ㅗ"를 형성할 수 있는 [ㅡ]버튼 역시 유효한 버튼으로 간주되는 것이다. 드래그된 버튼 [ㄱ → ㄴ → ㅁ → ㅇ → ㅈ → ㅏ → ㅡ] 중 시스템에 의하여 무시된 버튼을 제외하고 유효한 버튼으로 시스템이 인지한 버튼만을 표기하면, [ㄱ → ㅏ → ㅡ] 가 된다. 사용자에 따라서는 도면15-8(a)와 같이, [ㄱ → ㄴ → ㅁ → ㅂ → ㅈ → ㅏ → ㅡ] 와 같이 드래그할 수도 있다. 이 경우도 "ㄴ → ㅁ → ㅂ → ㅈ"이 무효화 되므로, 유효한 것으로 인지하는 버튼은 [ㄱ → ㅏ → ㅡ] 로 동일하게 된다. 설사 사용자가 도면15-8(b)와 같이 드래그 했더라도 결과는 마찬가지가 된다.
만약 사용자가 위의 드래그 동작을 종료하지 않고, [ㄴ]버튼까지 드래그 했다고 하면(즉, [ㅡ]버튼에서 펜 터치를 놓거나 마우스 클릭을 놓지 않고, [ㄴ]버튼에서 펜 터치를 놓거나 마우스 클릭을 놓음), 역시 다수개의 자음버튼을 거쳐가게 된다. 예를 들어 도면15-9에서와 같이 총 드래그된 버튼은 [ㄱ → ㄴ → ㅁ → ㅇ → ㅈ → ㅏ → ㅡ → ㅇ → ㅁ → ㄴ] 이 된다. 이 경우에도 중간에 거쳐가게 되는 다수개의 자음버튼(예에서 초성부분에서 [ㄴ]버튼, [ㅁ]버튼, [ㅇ]버튼, [ㅈ]버튼, 그리고 종성부분에서 [ㅇ]버튼, [ㅁ]버튼)을 모두 사용자가 입력하기를 원했던 것으로(즉, 유효한 버튼으로) 판단하지 않고 무시한다. 한국어 음절이 "자음+모음+자음" 으로 이루어지므로 최종 그래그가 끝나는 자음(예에서 "ㄴ")만을 입력하기 원했다고 판단하는 것이 타당하기 때문이다. 드래그된 버튼 중 유효한 버튼만을 나타내면 , [ㄱ → ㅏ → ㅡ → ㄴ] 이며, 드래그 결과 인지(또는 인식)되는 음절(자모결합글자)은 "곤"이 된다.
위 사례에서 보듯이, 최초 드래그시작버튼과 마지막 드래그종료버튼은 항상 유효한 버튼으로 시스템이 인식하고, 소정의 입력방법에 의거하여 중간에 거쳐간 버튼 중 한국어 음절을 이루는데 필요한 버튼만을 유효한 버튼으로 인식하고 나머지 드래그된 버튼은 무시됨으로써, 한번의 드래그에 의하여 한국어 음절을 입력하는 것이 본 발명의 핵심이다.
다음으로 동일한 모음버튼을 2번 눌러 입력하는 경우를 드래그에 의하여 입력할 수 있음을 보인다. 만약 "유"를 입력하기 위하여는, [ㅇ → ㅡ → ㅏ] 까지 드래그하여 "우" 를 입력한 후, [ㅏ]버튼을 클릭하여 "유"를 입력하여야 할 것이다. 2가지 다른 방법을 제시하면 [ㅇ → ㅡ → ㅏ] 까지 드래그 한후 드래그를 종료하지 않고 모음 "ㅜ"와 결합될 수 없는 모음인 [ㅡ]버튼까지 드래그 했다가 다시 [ㅏ]버튼으로 드래그 하는 것이다. 드래그된 버튼을 표기하면 [ㅇ → ㅡ → ㅏ → ㅡ → ㅏ] 가 된다. 역시 마찬가지로 "ㅜ" 다음에 결합할 수 없는 모음버튼인 [ㅡ]버튼을 무시하고, 그 다음의 [ㅏ]버튼만을 유효한 버튼으로 인정하는 것이다. 이 방법의 단점은 현재 모음만의 입력을 일종의 이모티콘 처럼 사용(예. "ㅜㅜ")하는 경우가 있는데, 이러한 경우를 표현하지 못하는 것이다. 예를 들어, 상기 내용을 적용하지 않으면, "ㅜㅜ"를 입력하기 위하여는 [ㅡ → ㅏ → ㅡ → ㅏ] 로 드래그 하여 한번에 "ㅜㅜ"를 입력할 수 있다. 프로그램으로 구현되어 배포될 예정인 제품(http://www.simplecode.net)에서는 [ㅡ → ㅏ → ㅡ → ㅏ] 로 "ㅜㅜ"를 입력하는 것으로 하였다. 다른 방법으로는 [ㅇ → ㅡ → ㅏ] 이후 드래그를 끊지 않고, [ㅏ]버튼에서 임의의 자음버튼(예에서 [ㅈ]버튼)까지 드래그 했다가 다시 [ㅏ]버튼으로 드래그하는 것이다. 즉, [ㅇ → ㅡ → ㅏ → ㅈ → ㅏ] 로 드래그하면 "유"를 입력할 수 있다. 종성이 입력되기 위해서는 그 자음버튼(예에서 [ㅈ]버튼)에서 드래그가 종료되어야 하는데, 드래그가 이어져 다시 모음버튼(예에서 [ㅏ]버튼)으로 드래그되었으므로, 마지막의 [ㅏ]버튼이 입력된 것으로 처리하는 것이다. 즉 종성입력으로 유효하게 되지 않은 [ㅈ]버튼은 단지 이후에 드래그된 [ㅏ]버튼이 "한번 더" 입력되었다는 것을 알려주는 역할만을 하게된다. 물론 [ㅇ → ㅡ → ㅏ] 까지 드래그를 종료하여 "우"를 입력하고 나서, [ㅏ]버튼을 한번 터치(또는 클릭)해도 된는 것은 당연하다. 만약 [ㅇ → ㅡ → ㅏ → ㅈ → ㅏ → ㅈ → ㅂ → ㅁ] 이 드래그 되면, "윰"으로 시스템이 인지하고 처리하게 된다 (도면15-10. 종성에서 [ㅈ]버튼과 [ㅂ]버튼은 무시됨)
이상의 내용은 "초성"만이 입력된 상태, "초성+중성"이 입력된 상태, 또는 "초성+중성+종성"이 입력된 상태에서 추가적으로 드래그를 시작하는 경우에도 가능하다. 도15-5(a) 및 도15-6을 기준으로 몇가지 입력사례를 보이면 다음과 같다. 편의상 드래그되는 버튼 중 무효화(무시)되는 버튼은 표기하지 않을 수 있음을 밝힌다. "윙" 입력시, [ㅇ → ㅅ → ㅡ → ㅏ → ㅣ → ㅈ → ㅇ] 으로 드래그하면 "윙"을 한번의 드래그 동작으로 입력할 수 있다. [ㅇ]버튼 다음의 [ㅅ]버튼은 유효한 초성을 이루지 못하므로 무시되고, [ㅈ]버튼 역시 "ㅇ"이 종성이므로 무시된다. "ㅅ"이 사용자가 원하는 초성이었다면 "ㅅ"에서 드래그가 시작되었을 것이기 때문이고, "ㅈ"이 종성이었다면, "ㅈ"에서 드래그를 끝냈을 것이기 때문이다. 도면15-6에서 [ㅇ]버튼에서 [ㅅ]버튼을 거치지 않고 [ㅇ → ㅡ → ...]로 드래그할 수도 있지만, [ㅅ]버튼이무시되는 경우를 보이기 위하여 제시한 사례이다. 만약 도면15-11에서와 같이 [ㅇ → ㅅ → ㅡ → ㅏ → ㅣ → ㅈ → ㅇ → ㅈ] 으로 드래그되었다면, "위+ㅈ"('위'+'ㅈ'받침)이 입력될 것이다. [ㅇ]버튼 다음에 다른 다수의 자음버튼들이 드래그되어도(예. [ㅇ → ㅅ → ㄹ → ㅁ → ㅇ → ㅡ →....]) 최초의 [ㅇ]버튼만이 유효한 초성으로 간주되고 모음 [ㅡ]버튼 이전에 다른 자음버튼은 무시된다. 마찬가지로 [...→ ㅈ → ㅇ → ㅈ] 과 같이 드래그 되어도 마지막 [ㅈ]버튼만을 유효한 종성으로 간주하고 나머지 자음버튼은 무시된다. 즉, 초성에서는 드래그시작버튼을 포함하여 소정의 입력방법으로 초성을 이루는 버튼만을 유효한 버튼으로 간주하였고, 마찬가지로 종성에서는 드래그종료버튼을 포함하여 소정의 입력방법에서 종성을 이루는 버튼만을 유효한 버튼으로 간주하는 것이다.
또 다른 입력예로, "붸+ㄺ"('붸'에 'ㄺ'받침)을 입력하기 위하여는 [ㅂ → (ㅁ → ㅇ) → ㅡ → ㅏ] 로 드래그하여 "부" 입력후, [ㅏ → ㅣ] 로 드래그하여 "붜" 입력후, [ㅣ → (ㅈ → ㅇ → ㅁ) → ㄹ] 로 드래그하여 "붸+ㄹ"('붸'에 'ㄹ'받침) 입력후 [ㄱ]버튼 클릭하면 된다. 도면15-12(a)를 참고한다. "(ㅁ → ㅇ)", "(ㅈ → ㅇ → ㅁ)"과 같이 괄호로 표기한 것은 무시(무효화)되는 버튼이며 이하에서는 편의상 표기하지 않을 수 있다. 또 한가지는 [ㅂ → ㅡ → ㅏ → ㅈ → ㅏ → ㅣ → ㅈ → ㅣ] 로 "붸" 입력후, [ㄹ → ㄱ] 으로 "붸+ㄺ"('붸'에 'ㄺ'받침) 이 입력된다. 도면15-12(b)를 참고한다. "붸" 입력시 들어간 2번의 [ㅈ]버튼은 각각 [ㅏ]버튼의 연속입력 [ㅣ]버튼의 연속입력을 구분해 주기 위해 들어간 것이다. 드래그되는 버튼이 자음버튼에서 시작해서 자음버튼을 거쳐서 모음버튼으로 갈때는 중간의 자음버튼을 무효화 하지만, 드래그가 자음버튼에서 시작해서 자음버튼에서 끝나면, 드래그가 시작되는 자음버튼과 드래그가 끝나는 자음버튼을 모두 입력한 것으로 하는 것은 당연하다. 따라서 [ㄹ → ㄱ] 드래그로 종성 "ㄺ"이 입력된다. 물론 [ㅂ → ㅡ → ㅏ → ㅈ → ㅏ → ㅣ → ㅈ → ㅣ → ㄹ] 로 한번에 "붸+ㄹ"('붸'에 'ㄹ'받침)까지 입력후 [ㄱ]버튼을 눌러 "붸+ㄺ"('붸'에 'ㄺ'받침)을 입력할 수도 있다. 이상의 내용은 모두 프로그램으로 구현되어 입증되어 있으며, 본 발명의 출원 이후 모두 http://www.simplecode.net 를 통하여 제품으로 공개될 예정이다.
이하는 구현(프로그래밍) 예정인 내용이다. 더 나아가 도15-6을 기준으로, [ㄱ → ㄴ] 으로 드래그하여 "ㅋ"을 입력하는 것으로 정의한다면, [ㄱ → ㄴ → ㅁ → ㅇ → ㅡ] 로 그래그하면, "ㄱ → ㄴ" 드래그로 초성 "ㅋ"이 입력된 것으로 처리하고(즉, 초성을 이루는 [ㄱ]버튼과 [ㄴ]버튼을 유효한 입력으로 간주), 중간의 [ㅁ]버튼과 [ㅇ]버튼은 무시되므로, 시스템은 "크" 가 입력된 것을 인지하고 처리할 수 있다. 만약 [ㄱ]버튼에서 버튼 밖(外) 왼쪽으로 드래그하는 것을 "ㅋ"입력으로 정의한다면, 도면15-13(a)에서와 같이 [ㄱ → 外 → ㅡ]로 드래그한 것을 "크"가 입력된 것으로 처리할 수 있다. 또한 [ㄱ → 文/Num] 로 드래그하여 "ㄲ"을 입력하는 것으로 정의한다면, 도면15-13(b)에서와 같이 [ㄱ → 文/Num → ㄱ → ㄹ → ㅅ → ㅡ] 로 드래그하면, "끄"를 입력한 것으로 시스템이 인지하고 처리할 수 있다.
타 문자입력기술을 기초로 사례를 몇가지 더 들면 다음과 같다. LG전자사에서 채용한 문자입력기 도면15-4를 기준으로 [ㄱ]버튼에서 드래그를 시작하여 다른 자음버튼을 거쳐 [덧쓰기]버튼을 지나, [ㅗ]버튼, [ㅏ]버튼, [ㅣ]버튼을 거쳐 [ㄴ]버튼에서 드래그가 끝나면, 연속 드래그에 의하여 "쾌+ㄱ"('쾌'에 'ㄱ'받침) 이 입력된다. 드래그 과정을 예시한 도면은 도면15-14이며, 드래그된 버튼을 표기하면 [ㄱ → ㄹ → ㅅ → 덧쓰기 → ㅅ → ㅇ → ㅁ → ㅗ → ㅏ → 外 → ㅣ → ㅇ → ㅁ → ㄴ→ ㄱ] 이 된다. 도면15-4에서와 같이 버튼과 버튼 사이가 떨어져 있는 경우는 대각선위치에 있는 버튼으로 바로 갈 수 있으나, 버튼사이의 간격이 없는 경우를 가정하여 수직/수평방향의 버튼을 지나서 드래그되는 것으로 도면15-14에서 표현하였다. 보통 스크린키보드는 액정상의 버튼 간격이 떨어져 있지 않기 때문이다. "ㅋ"을 입력하기 위하여 드래그 하는 과정에서 [ㄹ]버튼과 [ㅅ]버튼을 지나지만, 한국어 음절에서 초성에 2개의 자음이 연속하여 오지 않으므로, [ㄹ]버튼과 [ㅅ]버튼은 무시할 수 있는 것이다. 마찬가지로 [ㅣ]버튼에서 [ㄱ]버튼으로 드래그하기 위하여 [ㅇ]버튼, [ㅁ]버튼, [ㄴ]버튼을 거쳐가지만 역시 모음 다음에 드래그가 종료된 자음버튼인 [ㄱ]버튼만이 유효한 것으로(즉, [ㅇ]버튼, [ㅁ]버튼, [ㄴ]버튼 무시) 처리할 수 있는 것이다. 한가지 더 예를 들면, 마찬가지로 [ㄱ]버튼에서 시작하여 [ㅗ]버튼을 지나 [ㅁ]버튼에서 드래그가 끝나면, "곰"을 입력한 것으로 처리할 수 있다. 그런데 드래그된 버튼이 도면 15-15와 같이 [ㄱ → ㄴ → ㅁ → ㅗ → ㅁ → ㅇ → ㅅ → 덧쓰기 → ㅅ → ㄹ → ㅁ] 가 되었을 때는 모음 "ㅗ" 다음에 드래그된 버튼인 [덧쓰기]버튼으로 "교+ㅁ"('교'에 'ㅁ'받침)을 입력한 것으로 처리할 수 있다. 만약 모음 "ㅗ" 다음에 드래그된 "ㅁ", "ㅇ", "ㅅ" 중 한가지가 입력되려면 [ㅗ]버튼 다음에 [ㅁ]버튼, [ㅇ]버튼, [ㅅ]버튼 중 하나에서 그래그가 종료되었어야 한다. 삼성전자社의 자판에서 [ㅅ]버튼에서 드래그 동작을 시작하여 [ㅣ]버튼 [ㆍ]버튼을 지나 [ㅇ]버튼에서 드래그 동작이 종료되면 "상"이 입력된다. (도면15-16참조)
다음으로 현재 PC에서 사용하는 한글 2벌식 키보드가 액정상에 있는 경우를 기준으로 사례를 든다. 편의상 도면15-17에서 한글 자모가 표기된 자음버튼 및 모음버튼만이 있는 것으로 가정하며, 효율화를 위해 글쇠의 위치가 변경된 경우도 포함한다. 도면15-17에서 드래그된 버튼이 [ㄱ → ㅅ → ㅎ → ㅗ → ㅓ → ㅏ → ㅣ → ㅏ → ㅓ → ㅗ → ㅎ → ㄹ → ㅇ] 이라고 하면, 이 경우도 동일하게 드래그 시작버튼인 [ㄱ]버튼 이후의 [ㅅ]버튼, [ㅎ]버튼을 무시할 수 있다. 다음으로 최초로 드래그된 모음버튼인 [ㅗ]버튼은 유효한 버튼으로 간주되므로 [ㅗ]버튼과 결합할 수 없는 [ㅓ]버튼, [ㅏ]버튼 역시 무시할 수 있고, [ㅗ]버튼과 결합할 수 있는 [ㅣ]버튼을 유효한 버튼으로 간주할 수 있다. 다음으로 "ㅚ"와 결합할 수 없는 [ㅏ]버튼, [ㅓ]버튼, [ㅗ]버튼 역시 무시하고, 마지막 3개 자음버튼 중 [ㅎ]버튼, [ㄹ]버튼 역시 무시하고 드래그가 종료된 [ㅇ]버튼만을 유효한 버튼으로 간주할 수 있다. 결과는 "굉"이 입력된다. 상기 결과는 2벌식 키보드에서의 입력방법에 기초하여 나온 결과이다.
상기 시스템에 의하여 인지(또는 인식)된 결과를 사용자에게 출력(액정상에표시 또는 음성으로 송출)하는 시점은, 드래그 중간에 드래그된 버튼 중에서 유효한 버튼으로 시스템이 인식하는 순간 출력할 수도 있고, 드래그가 모두 종료된 시점에 출력할 수도 있다. 양자가 유의할 만한 차이는 없고, 오히려 드래그하는 중간에 글자가 출력되는 것이 약간 혼란스러운 면도 있다. 사용자가 인식하는 하나의 단위가 완성된 자음, 모음, 또는 음절(자모결합글자)인데, 하나의 음절을 한번의 드래그에 의하여 입력하는 것이므로, 드래그 종료후 시스템에 의하여 인지/인식된(또는 사용자에 의하여 시스템에 입력된) 하나의 음절을 출력하는 것도 나쁘지 않아 보인다.
이상의 절차로 한번의 드래그로 한국어 음절을 입력하는 것을 보였다. 특히 예시한 출원인의 입력방법하에서는 대부분의 한국어 음절이 한번 드래그로 입력가능하다. 본 발명에서 설명하는 내용하에서 다양한 변형이 가능함은 자명하다. 일례를 들어 도면15-2의 모아키 자판에서처럼 하나의 버튼을 터치(또는 클릭)한 후 모음버튼이 팝업되는 경우에도 적용할 수 있다. 물론 모아키에서는 상기 제시한 음절단위의 드래그 입력을 전혀 지원하지 못하고 있다. 더구나 모아키 입력기술은 그 기술의 속성상 터치스크린 방식에서만 적용이 가능하지만, 본 발명에서 제시한 기술로, 동일한 한국어 글자 입력기술을 버튼누름방식 및 터치스크린상에서의 펜 터치 또는 드래그방식에 의하여 사용할 수 있는 장점이 있다.
상기 설명한 드래그 기술은 터치스크린 상의 자판에서 펜 터치하는 경우 및 화면상의 자판에서 마우스를 클릭하는 경우에 모두 적용될 수 있다. 터치스크린 및 스크린키보드 기술은 이미 보편화되어 있는 기술이므로, 하드웨어적인 구조는 기재하지 않는다. 만약 현재의 터치스크린 하드웨어 구성보다 조금 더 정밀한 하드웨어 구성 기술이 나온다고 하더라도 본 발명의 사상을 적용하는데 문제가 없음은 너무나 자명하고, 이미 일반화되어 있는 터치스크린 또는 스크린 키보드를 위한 장치 구성을 기재하는 것은 전혀 의미가 없기 때문이다.
상기 내용을 청구항 형식으로 정리하며 다음과 같다.
스크린(액정)상의 다수의 버튼을 구비하는 자판에서, 소정의 입력방법에 기초하여, 펜 터치(또는 마우스 클릭)상태에서 드래그하는 드래그 동작에 의하여 한국어 글자(자음, 모음, 자모결합글자, 단어 또는 구절)을 입력하는 방법에 있어서,
(a) 드래그 동작의 시작을 탐지하고 상기 드래그가 시작된 버튼(드래그시작버튼)을 인지하는 단계
(b) 상기 드래그 동작에 의하여 드래그된 버튼들을 인지하며, 소정의 입력방법에 의하여, 상기 드래그된 버튼들 중에서 상기 드래그시작버튼을 포함하여 한국어 초성을 형성할 수 있는 자음버튼만을 유효한 입력으로 인지하는 단계
로 글자가 입력되는 것을 특징으로 하는 액정(스크린) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
에 추가적으로 다음을 포함할 수 있다.
(c) 상기 드래그 동작에 의하여 모음버튼이 모음버튼(또는 모음버튼들)이 드래그됨을 인지하는 단계
(d) 최초로 드래그된 모음버튼을 포함하여 상기 드래그된 모음버튼이 상기소정의 입력방법에 의하여 형성하는 모음을 인지하는 단계
로 글자가 입력되는 것을 특징으로 하는 스크린(액정) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
또는 스크린상의 2벌식 키보드에서의 드래그 사례에서 보였듯이,
(c) 상기 드래그 동작에 의하여 모음버튼(또는 모음버튼들)이 드래그됨을 인지하는 단계
(d) 최초로 드래그된 모음버튼을 포함하여 상기 드래그된 모음버튼 중에서 상기 소정의 입력방법에 의하여 한국어 중성을 형성할 수 있는 모음버튼만을 유효한 모음버튼으로 인지하는 단계
로 글자가 입력되는 것을 특징으로 하는 스크린(액정) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
에 또 추가적으로
(e) 상기 드래그 동작이 종료됨을 인지하는 단계
(f) 상기 드래그가 종료된 자음버튼을 유효한 입력으로 처리하는 단계
로 글자가 입력되는 것을 특징으로 하는 스크린(액정) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
을 포함할 수 있다.
또한 본 발명의 주요 사상이, 드래그된 버튼(들) 중에서 드래그시작버튼과 드래그종료버튼은 항상 유효한 버튼으로 판단하고, 소정의 입력방법에 따라 상기 드래그시작버튼과 유효하게 결합할 수 있는 버튼만을 유효한 버튼으로 판단하고, 또한 상기 드래그종료버튼과 유효하게 결합할 수 있는 버튼만을 유효한 버튼으로 판단하는 것이 핵심적인 내용임을 알 수 있다. 물론 유효한 버튼으로 판단된 버튼은 상기 소정의 글자입력방법에 의하여 처리되어 시스템은 입력된 글자를 인식하며, 사용자에게 출력하여 줄 수 있다. 또한 상기 드래그시작버튼 및 드래그종료버튼을 제외한 드래그된 버튼(편의상 "시작종료제외 드래그된 버튼") 중 한국어 음절(자모결합글자)을 형성할 수 없는 버튼은 무효화(무시)하고 한국어 음절을 형성할 수 있는 버튼만을 유효한 버튼으로 판단하여 처리하는 것을 포함한다.
따라서,
스크린(액정)상의 다수의 버튼을 구비하는 자판에서, 소정의 입력방법에 기초하여, 펜 터치(또는 마우스 클릭)상태에서 드래그하는 드래그 동작에 의하여 한국어 글자(자음, 모음, 자모결합글자, 단어 또는 구절)을 입력하는 방법에 있어서,
(a) 상기 드래그 동작에 의하여 드래그되는 버튼(들)을 인식하고,
(b) 상기 드래그된 버튼 중 드래그시작버튼 및 드래그종료버튼을 상기 글자입력을 위한 유효한 버튼으로 판단하고,
(c) 소정의 한국어 글자 입력방법에 따라, 상기 드래그시작버튼과 결합할 수 있는 버튼을 유효한 버튼으로 판단하는 것
을 포함하는 것을 특징으로 하는 액정(스크린) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
도면15-1 ~ 도면15-17에서 드래그된 버튼 중 무효화(무시)되는 버튼을 제외하고, 유효한 버튼을 판단하는 것을 보였듯이, 추가적으로
상기 (c)에서 유효한 버튼을 판단하는 것은 한국어 음절 형성을 위한 한국어 자모결합규칙에 의하는 것
을 특징으로 하는 액정(스크린) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
을 포함할 수 있다. 물론 결과로 인식된 한국어 글자를 출력(스크린상에 표시 또는 음성으로 출력 ...)할 수 있다.
28. 스크린 자판상에서 끊어지지 않은 드래그에 의한 한국어 음절(=자모결합글자) 입력 장치 및 그 방법 2편
본 발명에서는 상기 제27장에서 소개한 “스크린 자판상에서 끊어지지 않은 드래그에 의한 한국어 음절(=자모결합글자) 입력 장치 및 그 방법” 의 연장선상에서 추가적인 기술을 제시한다.
28.1 드래그 기법을 사용한 입력방법의 원형
매우 오래전 “오페라(http://www.opera.com)” 라는 웹브라우저에서 “마우스 제스처”라는 기능을 제공했었다. 지금은 각종 유틸리티 프로그램 등을 통하여 MS 윈도우에 기본으로 탑재되어 있는 인터넷익스플로러(IE)에서도 많은 사람들이 사용하고 있는 보편화된 기술이 되었다. 도면16-1(a)와 도면16-1(b)는 최신버전(v9.6) 오페라 브라우저에의 “마우스 제스처” 기능의 동작을 보여준다. 도면16-1(a)에서 마우스 오른쪽 버튼을 클릭한 채 오른쪽으로 드래그하면 다음 페이지를 보여주고, 도면16-1(b)에서 마우스 오른쪽 버튼을 클릭한 채 왼쪽으로 드래그하면 이전 페이지를 보여준다. “이전 페이지”로 이동하는 버튼은 어느 웹브라우저에서도 “왼쪽화살표 버튼”으로 표시되어 있으며, “다음 페이지”로 이동하는 버튼은 “오른쪽화살표 버튼”으로 표시되어 있다.
다음으로 도면16-2(a)는 Microsoft社에서 무료로 배포하였던 Embeded Visual C++ 3.0에 들어 있는 Pocket PC 2000 에뮬레이터의 초기화면이고, 도면 16-2(b) 는 상기 에뮬레이터에서 워드프로세서를 실행했을 때, 나타나는 스크린키보드 화면이다. 도면16-2(c)는 상기 스크린키보드 입력기의 옵션설정 화면이다. 도면16-2(c)에서 보듯이 이 당시 이미, 상하좌우 4방향 드래그에 의한 입력이 제공되고 있었다. 도면16-2(c) 의 내용을 정리하면, 도면16-3 과 같으며, 한번 클릭(또는 터치)하면 버튼에 마킹되어 있는 기본 문자인 알파벳 “X”가 입력되고, 상측으로 드래그하면 Shift와 결합된 문자가 입력되고, 우측으로 드래그하면 공백이 입력되고, 하측으로 드래그하면 엔터기능이 입력되고, 좌측으로 드래그하면 백스페이스 기능이 입력된다.
도면16-4는 일본어에서의 응용사례를 보여준다. 한번 터치하면 기본 문자인 “あ”가 입력되고, 상하좌우 방향의 그래그에 따라, 일본어 50음도에서 “아”행의 나머지 글자인 “い”, “う”, “え”, “お” 가 각각 입력된다. 이외에도 많은 종류의 드래그 입력기술이 있다.
28.2 본 발명에서 해결하고자 하는 기술적 과제
현재 가장 많이 사용되고 있는 드래그 입력기술인 삼성전자社 “모아키” 입력기는 “ㅗ”, “ㅏ”, “ㅜ”, “ㅓ” 의 4개 모음에 대한 드래그 입력을 지원하고 있다. “ㅗ”, “ㅏ”, “ㅜ”, “ㅓ” 의 4개 모음은 한국어에서 약 49.16% 의 사용빈도를 가지고 있으므로, 약 절반 정도의 모음을 드래그에 의하여 입력할 수 있다는 의미를 둘 수 있다.
모음 “ㅡ”와 “ㅣ”는 모두 합하여 약 28% 정도의 사용빈도를 가지고 있다.그러나 기존의 방식에서는 모음 “ㅡ”와 “ㅣ”는 드래그에 의하여 입력하지 못하므로, 입력방법의 일관성, 통일성이 유지되지 못하고 있는 것이다. 또한 제27장(편의상 “드래그 1편 발명”이라 함)에서 출원인이 제시한 연속된 한번의 드래그에 의하여 하나의 한국어 음절(자모결합글자)을 입력하는 것은 전혀 할 수 없는 것이다.
우리 한글에서 자음과 모음이 결합된 하나의 글자(음절)은 생각의 기본 단위로 볼 수 있다. 즉, 우리의 사고체계에서 자소(자음 또는 모음) 단위로 사고하고 인식하기 보다는 자음과 모음이 결합된 하나의 글자 단위로 인식하는 것이다. 이러한 하나의 사상단위인 음절(종성 받침 포함)을 일관된 방법에 의하여 한번의 드래그로 입력하게 하는 것이 제27장 “1편 발명”과 본 발명에서 제시하고자 하는 것이다.
상기 “ㅗ”, “ㅏ”, “ㅜ”, “ㅓ” 의 4개 모음(사용빈도 49.16%)과 “ㅡ”, “ㅣ” 의 2개 모음(사용빈도 약 28%)를 더한 6개 모음은 약 77.23% 의 사용빈도를 가지고 있으므로, 상기 6개 모음은 전체의 약 3/2이상의 모음을 일관된 방법으로 입력할 수 있게 된다. 또한 “ㅛ”, “ㅑ”, “ㅠ”, “ㅕ” 4개의 모음은 약 6.98%의 사용빈도를 가지고 있다. “ㅡ”, “ㅣ” 의 2개 모음(사용빈도 약 28%), “ㅗ”, “ㅏ”, “ㅜ”, “ㅓ” 의 4개 모음(사용빈도 49.16%), 그리고 “ㅛ”, “ㅑ”, “ㅠ”, “ㅕ” 4개의 모음(사용빈도 6.98%)을 모두 합한 10개 모음의 사용빈도는 약 84.22%가 되어 한국어 모음의 거의 대부분을 일관된 드래그 입력방법에 의하여 입력할 수 있게 된다. 그리고 출원인이 1편에서 제시한 기술을 접목하면 모든 모음을 하나의 일관된 방법에 의하여 입력할 수 있는 것이다. 더불어 출원인이 1편에서 제시한 기술을 접목하여 종성 받침까지 포함하여 한번의 연속된 드래그로 하나의 연속된 드래그로 입력할 수 있게 된다.
드래그 1편 발명은 조만간 구현된 제품(PDA용 제품)으로 공개될 예정이어서 본 발명(제28장의 내용)을 출원하게 되었으며, 이하에서 본 발명의 상세한 내용을 실시예를 통하여 설명한다.
28.3 본 발명에서 제시하는 연속 드래그에 의한 음절 입력 기술의 구성
먼저 기존의 기술(대표적으로 모아키 입력기)에 1편발명에서의 기술을 적용할 수 있음을 보인다.
도면 15-1, 도면15-2의 모아키에서의 주된 사상은 상측드래그에 의하여 “ㅗ”를 입력하고, 우측드래그에 의하여 “ㅏ”를 입력하고, 하측드래그에 의하여 “ㅜ”를 입력하고, 좌측드래그에 의하여 “ㅓ”를 입력하는 것이다. 즉 도면16-5(b)에서와 같이 [ㄱ]버튼에서 우측으로 드래그하면 “가”가 입력되고, 도면16-5(b)에서와 같이 [ㄱ]버튼에서 하측으로 드래그하면 “구”가 입력된다.
그런데 도면16-6(a)에서와 같이 우측으로 짧게 드래그 되었다가 하측으로 더 길게 드래그 되면 결과는 “가”가 아닌 “구”가 입력된다. 또한 도면16-6(b)에서와 같이 하측으로 드래그 되었다가 우측으로 더 길게(하측 드래그 길이보다) 드래그 되면 결과는 “가” 가 입력된다. 도면16-6(c)에서와 같이 약 45도 정도의 사선방향으로 그래그 하면 결과는 경우에 따라 “가” 가 되기도 하고 “구” 가 되기도 한다. 여기서, 모아키의 구현방식은 드래그 시작점과 드래그 끝점의 X축 이동거리(편의상 “dX”라고 함)와 Y축 이동거리(편의상 “dY”라고 함)를 계산하여 X축 이동거리 dX가 Y축 이동거리 dY 보다 크면 수평방향의 드래그(본 사례에서는 우측드래그)로 인식하고, dY가 dX보다 크면 수직방향의 드래그(본 사례에서는 하측드래그)로 인식하는 것을 알 수 있다. 이는 최근 삼성전사社의 옴니아 등 최신폰에 적용된 “모아키 2.0” 버전에서도 동일하게 작동함을 확인하였다.
그러나 1편 발명을 적용하기 위해서 일단 우측 방향의 드래그가 진행되면 모음 “ㅏ”를 인식하는 것으로 새로이 정의한다. 만약 도면16-6(a)에서와 같이 [ㄱ → ㅅ → ㅎ] 으로 드래그 되었다면, [ㄱ] 에서 [ㅅ]의 우측 방향으로 드래그 된 것으로 “ㅏ”가 인식(결과는 “ㄱ”과 합하여 “가”)되고 마지막 버튼으로 “ㅎ”이 인식되었으므로 결과는 “갛”이 인식된다. 도면16-6(c)는 [ㄱ → ㅅ → ㅎ] 으로 드래그 된 것인지, [ㄱ → ㄹ → ㅎ] 으로 드래그 된 것인지 애매해 보이나, [ㄱ → ㅅ → ㅎ] 으로 드래그 되었다면 “갛”이 인식될 것이고, [ㄱ → ㄹ → ㅎ] 으로 드래그 되었다면 [ㄱ]에서 [ㄹ]의 하측 방향으로 드래그 된 것으로 “ㅜ”가 인식(결과는 “구”)되고, 드래그의 마지막 버튼이 [ㅎ]버튼 이므로 결과는 “구+ㅎ('구'아래 'ㅎ'받침)”이 인식된다. 여기서 드래그 방향에 의하여 모음이 인식된 것을 편의상 중괄호 안에 모음을 표기하여 {x} 와 같이 표기하기로 한다. 즉, [ㄱ → ㅅ → ㅎ] 는 [ㄱ → {ㅏ} → ㅎ] 와 같이 표기할 수 있고, [ㄱ → ㄹ → ㅎ] 는 [ㄱ → {ㅜ} → ㅎ] 와 같이 표기할 수 있을 것이다.
만약 “각”을 입력하려면 다음과 같이 할 수 있다. 도면 16-7(a)에서 [ㄱ → ㅅ → ㄱ] 으로 드래그 되었는데, [ㄱ]버튼에서 [ㅅ]버튼으로 우측드래그된 것이 “ㅏ”로 인식되므로, [ㄱ → {ㅏ} → ㄱ] 로 결과는 “각”으로 인식될 수 있다. 그런데, 모아키2.0 버전에서는 우측으로 드래그 되었다가 제자리로 돌아오는 드래그를 “다른 모음”을 인식하는 것으로 처리하고 있다. 예컨대 도면16-7(a)에서와 같이 우측드래그 이후 다시 드래그 시작버튼으로 돌아오는 드래그동작을 모음 “ㅐ”로 처리하는 것이다. 이를 적용한다면, 도면16-7(a)의 드래그는 “개”로 인식될 것이다. 이 경우는 “각”을 입력하기 위하여는 다른 방식의 드래그동작이 필요할 것이다. 예를 들어, 도면16-7(b)에서와 같이 [ㄱ → ㅅ → ㅎ → ㅍ → ㅊ → ㄹ → ㄱ] = [ㄱ → {ㅏ} → ㅎ → ㅍ → ㅊ → ㄹ → ㄱ] 으로 드래그하면, [ㄱ]버튼에서 [ㅅ]버튼으로의 우측드래그에 의하여 “가” 가 인식되고, 드래그의 마지막 버튼인 “ㄱ”을 제외한 “ㅍ”, “ㅊ”, “ㄹ” 은 무효화되므로, 결과는 “각” 이 인식된다. [ㄱ → ㅅ → ㅎ → ㄹ → ㄱ] = [ㄱ → {ㅏ} → ㅎ → ㅍ → ㅊ → ㄹ → ㄱ] 로 드래그 하였을 경우도 결과는 동일하게 “각”이 인식된다. 설령 도면16-7(c)와 같이 [ㄱ]버튼에서 [ㅅ]버튼으로 드래그 된 후 복잡한 경로로 그래그 되었더라도 최종 인식되는 결과는 동일함을 알 수 있다.
모아키2.0버전에서는 [ㄱ]버튼에서 드래그 시작되어 우측으로 드래그 되었다가 다시 [ㄱ]버튼으로 돌아오는 경우에 모음 “ㅐ”가 인식 (결과는 “개”가 인식)된다고 하였다. 좌측드래그 후 다시 드래그 시작버튼으로 돌아오면 “ㅔ”가 인식되고, 상측드래그 후 다시 드래그 시작버튼으로 돌아오면 “ㅚ”가 인식되고, 하측드래그 후 다시 드래그 시작버튼으로 돌아오면 “ㅟ”가 인식된다. 그런데 실제로 사용해 보면 도면16-6(*)에서와 동일한 현상이 있다. (도면16-6(*)에서 “*” 기호는 all 을 의미) 즉 도면16-6(c)에서와 같이 약 45도 방향으로 드래그 했다가 다시 드래그 시작버튼으로 돌아오면, 어떤 경우는 “ㅐ”가 인식(즉, 우측드래그로 처리)되고, 어떤 경우는 “ㅟ”가 인식(즉, 하측드래그로 처리)된다. 이는 도면16-6에서 지적했던 바와 같은 로직으로 X축 방향의 최대이동거리와 Y축 방향의 최대이동거리를 비교하여 드래그의 방향(본 사례에서는 우측드래그 또는 하측드래그)을 처리하고 있음을 알 수 있다. 그러나 설명의 편의를 위해서, 우측드래그는 인접한 우측버튼으로 드래그 되었다가 다시 원래의 버튼으로 돌아오는 것으로 설명한다. 나머지 경우(상/하/좌측 드래그)도 동일하다.
“갱”을 입력하려면, 도면16-8(a)에서와 같이, [ㄱ → ㅅ → ㄱ → ㄷ → ㅇ] 으로 드래그하면 된다. [ㄱ]버튼에서 시작하여 우측의 [ㅅ]버튼으로 드래그 되었다가 다시 [ㄱ]버튼으로 돌아온 것이 “ㅐ”로 정의되어 있으므로, [ㄱ → {ㅐ} → ㄷ → ㅇ] 으로 설명할 수 있고, “개” 다음에 드래그 마지막 버튼인 자음 “ㅇ”이 유효한 버튼이므로 “ㄷ”은 무효화 된다. 결과는 “갱”이 인식된다. 만약 “객”을 입력하려면, 도면16-8(b)에서와 같이, [ㄱ → ㅅ → ㄱ → ㄹ → ㄱ] 으로 드래그 하면 된다. [ㄱ → ㅅ → ㄱ → ㄹ → ㄱ] 는 [ㄱ → {ㅐ} → ㄹ → ㄱ] 으로 설명할 수 있고, “개” 가 인식된 이후 드래그 마지막 버튼인 “ㄱ”만이 유효한 버튼으로 인식되고, “ㄹ”은 무효화 되기 때문이다. [ㄱ → ㅅ → ㄱ] 이 [ㄱ → {ㅐ}] 로 인식되고 나면, [ㄱ → ㄹ → ㄱ] 로 하측 드래그하였다가 다시 원래 버튼으로 돌아온 것은 “ㅟ”로 인식되지 않는 것으로 한다. [ㄱ → ㅅ → ㄱ → . . . → ㄱ] 로 드래그된 모든 경우에 동일하게 처리할 수 있다. “. . .” 는 16-8(c)에서와 같이 다른 다수의 버튼(문자버튼, 기능버튼 또는 자판스킨 외부 포함)을 거쳐 드래그된 것을 의미한다.
이상으로 기존의 대표적인 드래그 문자입력기인 삼성전자社 모아키에서 1편 발명의 내용(“초성+중성” 인식된 이후 드래그된 자음버튼 중 드래그 마지막버튼을 유효한 버튼으로 처리하고 나머지 자음버튼을 무효화)을 적용하기 위하여 입력로직을 일부 수정하여 적용하고 드래그에 의하여 종성 받침까지 입력할 수 있는 사례를 보였다. 그러나 이 경우도 8개의 모음을 드래그에 의하여 입력할 수는 있지만 모든 한국어 모음을 일관성있게 드래그에 의하여 입력하지는 못한다. 다음으로 본 발명에서 모든 모음을 일관성있게 드래그에 의하여 입력하며, 또한 종성 받침까지 입력할 수 있는 내용을 설명한다. 1편 발명에서 언급하였듯이 이하의 내용은 모든 다른 문자입력기(예. 삼성전자社 채용 문자입력기, LG전자社 채용 문자입력기)에서도 동일하게 적용할 수 있으나, 편의상 http://www.simplecode.net 에 소개한 출원인의 문자입력기술을 기준으로 설명한다.
제27장 1편 발명에서 도면15-5(a) 와 도면15-5(b) 가 호환성있는 자판임을 언급하였다. http://www.simplecode.net 사이트에 소개된 “pc용/한손장애우용 문자입력기” 화면인 도면15-6에서도 [ㅏ]버튼의 표시를 “ㆍ” 으로 표시할지 여부를 설정할 수 있는 옵션을 제공하고 있으며, 프로그램 설치시의 기본 설정은 [ㅏ]버튼을 “ㆍ”으로 표시하는 것(즉, 도면15-5(b))이다. 도면16-9(a)와 도면16-9(b) 역시 조만간 pda용 제품으로 공개될 프로그램의 화면이다. 도면16-9(b) 가 기본설정이나, 도면16-9(a) 자판으로 이하의 내용을 설명하며, 기본적인 버튼조합에의한 모음입력기술은 http://www.simplecode.net 사이트에 소개한 “한글기본2” 를 적용한 것이다.
먼저 기존 모아키 방식의 드래그 입력기술에서 자음버튼에서 상/하/좌/우 드래그로 각각 모음 “ㅗ”, “ㅜ”, “ㅓ”, “ㅏ”를 입력하고 있다. 그 결과 약 28%의 사용빈도를 가지는 모음 “ㅡ”와 “ㅣ”는 드래그로는 전혀 입력할 수 없는 결과를 초래했다. 본 발명에서는 드래그에 의한 일관된 입력을 위하여, 그리고 “필기 습관”에 부합하여, 좌에서 우로 드래그하여 모음 “ㅡ”를 입력하는 것이 타당하고, 상에서 하로 드래그하여 모음 “ㅣ”를 입력하는 것이 타당함을 지적한다. 출원인은 모아키제품을 사용해 보면서 이 부분이 가장 의아했다. 좌에서 우로 드래그하면 당연히 “ㅡ”가 함께 입력되어야 하는 것이 아닌가. 상에서 하로 드래그하면 당연히 모음 “ㅣ”가 함께 입력되어야 하는 것이 아닌가. 그것이 직관적으로 우리의 관념에 더 일치하지 않는가 하는 것이었다. 아마도 도면16-3과 도면16-4의 사례를 참고한 탓이 아닌가 짐작된다. 도면16-10(a)에서와 같이 우측으로 드래그 되면 모음 “ㅡ”가 인식되는 것이다. 즉, [ㄱ → ㄴ] 은 [ㄱ → {ㅡ}] 로 되어 입력된 결과는 “그” 로 인식된다. 우측드래그에 대하여 반드시 버튼이 달라져야 할 필요는 없다. 도면16-10(b) 에서와 같이 같은 버튼내에서라도 “일정 길이”만큼 드래그 되면 그 결과를 “ㅡ”의 입력으로 인식할 수 있다. 또한 도면16-10(c)에서와 같이, “그”에서 모음 “ㅡ”가 “ㄱ”의 아래에 있으므로, [ㄱ]버튼 아래의 [ㄹ]버튼에서 드래그가 시작되어 우측 [ㅁ]버튼으로 드래그되면 “그”로 인식되도로 할 수 있다. 마찬가지로 [ㄱ]버튼 아래의 [ㄹ]버튼 내에서 “소정의 길이” 만큼 드래그 되면 그 결과를 “그”로 인식되도록 할 수 있다. 이하에서 편의상 도면16-10(a)를 기준으로 설명하며, 다른 경우(16-10(b), (c), (d))에도 동일하게 적용될 수 있음은 물론이다. 다만, 도면16-10(a), (b)는 도면16-10(c), (d)와 동시에 적용될 수는 없으며, 한가지가 선택(개발자가 지정 또는 사용자가 환경설정에서 선택)적으로 적용될 수 있음은 당연하다. 도면16-10(*)의 도면은 모음 “ㅣ”의 경우에도 동일하게 적용될 수 있으므로, 모음 “ㅣ”에 대한 설명은 피한다.
다음으로 종성을 입력하는 것은 도면16-11(a)에서와 같이 [ㄱ → ㄴ → ㅁ→ ㄹ] 로 드래그하면 [ㄱ → {ㅡ} → ㅁ → ㄹ] 이 되어, “ㅁ”은 무효화되고 드래그 마지막버튼인 “ㄹ”만이 유효한 버튼으로 인식되어 “글”이 인식된다. 마찬가지로 “극”을 입력하기 위해서는 도면16-11(b) 에서와 같이 [ㄱ → ㄴ → ㅁ → ㄹ → ㄱ] 드래그하면, [ㄱ → {ㅡ} → ㅁ → ㄹ → ㄱ] 이 되어, “ㅁ”, “ㄹ”은 무효화되므로 결과는 “극”이 인식된다. 이는 아래에 제시하는 바와 같이 다른 모음 (예. “ㅏ”)이 입력되는 것으로 하지 않는다면, [ㄱ → ㄴ→ ㄱ] 드래그로 “극”을 입력하는 것으로 할 수도 있을 것이다. 도면16-11(c) 에서와 같이 [ㄱ → ㄴ → (外) → ㄱ] 으로 드래그되었더라도 “극”이 입력된 것으로 인식됨은 자명하다. 여기서 “(外)”는 “문자버튼 이외” 또는 “자판 스킨 바깥” 으로 새기면 된다. 드래그 문자입력에 관여하는 문자버튼들 이외의 버튼(예. Space, Enter, Mode, Skin, Back Space, 한자변환) 까지도 상기 “(外)” 로 간주할 수 있다.
다음으로 “ㅗ”, “ㅏ”, “ㅜ”, “ㅓ” 4개의 모음은 그 모음의 형태에 따라 상측으로 드래그했다가 다시 드래그 시작버튼으로 드래그되면 “ㅗ”가 인식되고, 우측으로 드래그했다가 다시 드래그 시작버튼으로 드래그되면 “ㅏ”가 인식되고, 하측으로 드래그했다가 다시 드래그 시작버튼으로 드래그되면 “ㅜ”가 인식되고, 좌측으로 드래그했다가 다시 드래그 시작버튼으로 드래그되면 “ㅓ”가 인식되는 것을 제시한다.
우선 “가”의 경우는 도면 16-12(a)에서 보듯이 “ㄱ”의 우측에 “ㅏ”가 놓여 있는 형태이다. 따라서 도면16-12(b)에서와 같이 [ㄱ → ㄴ → ㄱ] 로 우측으로 드래그 되었다가 다시 드래그 시작버튼으로 드래그되는 경우 “가”로 인식되도록 하는 것이 자연스러울 것이다. 마찬가지로 도면16-12(c)에서와 같이 굳이 버튼이 바뀌지 않더라도 소정의 길이 만큼 우측으로 이동하였다가 돌아오는 경우도 동일하게 처리할 수 있을 것이나, 이하에서는 설명의 편의상 도면16-12(b) 의 드래그 형태로 설명하나, 다른 경우에도 동일하게 적용될 수 있음은 자명하다. 여기서 도면16-12(b) 에서와 같이 우측버튼으로 드래그 되었다가 다시 드래그 시작버튼으로 되돌아오는 경우를 모두 포함하여 정의할 수 있다. 예를 들어, [ㄱ → ㄴ → “ㄱ”, “ㄴ”을 제외한 모든 자음버튼들... → ㄴ → ㄱ] 으로 드래그된 경우도 동일하게 처리할 수 있다. “구”의 경우도 상기 “가”의 경우와 동일하므로 도면은 별도로 제시하지 않는다.
“거”의 경우는 도면16-13(a)에서 보듯이 “ㄱ”의 좌측에 “ㅓ”가 놓여 있는 형태이다. 따라서 도면16-13(b)에서 보듯이 “ㄱ”의 우측에 있는 [ㄴ]버튼에서 드래그를 시작하여 “ㅓ” 를 구성하는 좌측 방향으로 드래그 되었다가 드래그 시작버튼으로 되돌아도는 것(즉, [ㄴ → ㄱ → ㄴ]) 을 “거”로 인식되도록 할 수 있다. 그러나 현재 사용자들의 드래그 습관을 고려하여, 도면 16-13(c)에서와 같이 단지 모음 “ㅓ”의 형태에 따라 [ㄱ]버튼에서 좌측으로 드래그 되었다가 다시 [ㄱ]버튼으로 되돌아오는 것(즉, [ㄱ → (外=모드버튼) → ㄱ])을 “거”로 인식되도록 할 수도 있다. 물론 도면16-12(c) 에서와 같이 버튼이 바뀌지 않더라도 동일버튼내에서 소정의 길이 만큼 이동하였다가 다시 돌아오는 것도 동일하게 처리할 수 있다. 예를 들어, 도면16-13(b)의 경우는 [ㄴ]버튼내에서 소정의 길이만큼 좌측으로 드래그 되었다가 다시 우측으로 드래그되는 것이고, 도면16-13(c)의 경우는 [ㄱ]버튼 내에서 좌측으로 드래그되었다가 다시 우측으로 드래그되는 것이다. 그러나 이하에서는 설명의 편의상 도면16-13(c)를 기준으로 설명한다. “고”의 경우는 “거”의 경우와 동일하다. 일례로 모음 “ㅗ”가 “ㄱ”의 아랫쪽에 있으므로 [ㄱ]버튼의 아랫쪽에 위치한 [ㄹ]버튼을 드래그 시작버튼으로 하여, [ㄹ → ㄱ → ㄹ] 로 드래그 된 것을 “고”로 처리할 수 있을 것이다. 그러나 이는 [ㄱ]버튼을 드래그 시작버튼으로 하여 [ㄱ → (外=스킨상측) → ㄱ] 으로 그래그하여 “고”를 입력하는 것과 하나의 시스템에서 공존할 수는 없으며, 개발자의 선택 또는 사용자의 설정(사용자가 선택할 수 있도록 한 경우)에 따라 한가지만 적용되어야 함은 자명하다.
상기 “ㅗ”, “ㅏ”, “ㅜ”, “ㅓ”의 입력에 있어서, 같은 버튼내에서(또는 버튼 밖으로의 드래그에서도 적용 가능) 소정의 거리만큼 드래그 되었다가 다시 돌아왔을 때, 우측방향으로 진행했던 것인지, 하측 방향으로 진행했던 것인지를 판단하는 것은, 상기 “ㅡ”와 “ㅣ”의 입력사례 설명에서 드래그 시작점의 좌표에서 최대로 드래그된 지점의 좌표의 dX, dY 그리고 dX, dY 값이 어느쪽이 더 크고 작은지를 가지고 쉽게 판단할 수 있다. 판단하는 시점은 드래그 시작버튼으로 진입했을 때 또는 드래그 시작 지점에 가장 근접했을 때로 할 수 있다. 간단한 예로 X축 방향의 편차인 dX 가 소정의 거리(또는 길이. 프로그램상에서는 픽셀의 갯수 정도로 표현될 것)이내이고, dY 가 소정의 거리 이상이면서 dY가 양수이면 우측방향의 드래그로 인식될 수 있다. 다른 경우도 유사하며, 어려운 사항이 아니므로 자세한 설명은 하지 않는다. 다만, 설명의 편의를 위하여 어느 방향(예. 우측)으로의 드래그를 판단하는 것은 대표적으로 드래그된 버튼이 변화(예. [ㄱ → ㄴ])된 경우를 가지고 설명한다고 하였으나, 사용자 입장에서도 소정의 길이로 판단하는 것보다는 명백히 드래그된 버튼의 변화를 가지고 판단하는 것이 입력오류를 확실히 줄일 수 있는 좋은 접근방법이다. (같은 버튼내에서 또는 다른 버튼으로 드래그되는 경우를 포함하여) 드래그된 길이의 소정의 길이변화로 판단한다면, 사용자입장에서는 충분히 드래그로 인식될 것으로 생각하고 드래그했는데, 시스템에서는 드래그되지 않고 단순히 클릭(또는 터치)로 판단할 가능성이 있지만, 이왕에 격자형태로 구획된 스크린자판상에서 버튼의 변화 (예. [ㄱ → ㄴ])라는 규칙을 적용하면, 사용자입장에서도 분명하게 인지하고 분명하게 드래그할 수 있을 것이기 때문에 오류의 가능성을 그 만큼 줄여준다. 도면16-9(*)의 자판 스킨디자인 역시 이러한 점을 고려하여 디자인된 것이다. 12개의 문자입력버튼이 중앙에 위치함으로써, 가장 말단에 있는 버튼(예. [ㄱ], [ㄷ], [ㅡ], [ㅣ] 버튼)에서도 상하좌우 드래그시 버튼내에서만 드래그할 필요없이 사용자입장에서도 확실하게 버튼외부로 드래그할 수 있는 것이다.
도면16-14(a)에서 보듯이 “갸” 에서 모음 “ㅑ”는 자음 옆에 늘어서는 형상이다. 따라서 그 형태에 부합하여 도면16-14(b)에서 보듯이 좌에서 우로 그래그 되었다가 드래그 시작버튼으로 다시 돌아오고, 다시 한번 더 좌에서 우로 드래그 되었다가 드래그 시작버튼으로 다시 돌아오는 것이 타당하다. 도면16-14(b)에서 [ㄱ → ㄴ → ㄱ → ㄴ → ㄱ] 으로 드래그 되었는데, 이를 중괄호 형식을 빌어 표현하면 [ㄱ → {ㅑ}] 로 표현할 수 있다. 또는 우측으로 드래그 되었다가 드래그 시작버튼으로 다시 돌아도는 것(모음 “ㅏ”의 입력)을 2번 하는데, “ㅏ”를 연속 2번 입력한 것이 “ㅑ”로 인식되는 것으로 연상할 수 있다. 이를 표현하면 [ㄱ → ㄴ → ㄱ → ㄴ → ㄱ] = [ㄱ → {ㅏ+ㅏ}] = [ㄱ → {ㅑ}] 와 같이 생각할 수 있다. 또한 [ㄱ → ㄴ → ㄷ → ㄴ→ ㄱ → ㄴ → ㄱ] 로 드래그 되었어도 동일한데, 첫번째 드래그가 [ㄷ]버튼까지 갔다가 드래그 시작버튼인 [ㄱ]버튼으로 돌아온 경우도 “ㅏ” 를 입력할 수 있다고 하였으므로, 마찬가지로 [ㄱ → ㄴ → ㄷ → ㄴ→ ㄱ → ㄴ → ㄱ] = [ㄱ → {ㅏ+ㅏ}] = [ㄱ → {ㅑ}] 와 같이 생각할 수 있다. “규”의 경우는 상기 “갸”의 경우와 동일하므로 추가적인 설명은 하지 않는다.
“겨”의 경우는 [상기 “가”의 설명 : 상기 “거”의 설명 = 상기 “갸”의 설명 : “겨”의 설명] 으로 대응되므로, 역시 자세한 설명은 하지 않는다. 다만 모음 “ㅕ”가 자음 “ㄱ”의 우측에 배치되므로, 도면16-13(b)의 “거” 입력사례에서와 같이 [ㄱ]버튼의 우측버튼인 [ㄴ]버튼을 드래그시작버튼으로 하여 [ㄴ → ㄱ → ㄴ → ㄱ → ㄴ] 와 같이 드래그하는 것으로 “겨”를 정의할 수도 있을 것이다. [ㄱ]버튼을 드래그 시작버튼으로 하여 좌측으로 드래그되었다가 다시 돌아오는 것을 2번 한다면, [ㄱ → (外=모드) → ㄱ → (外=모드) → ㄱ] 과 같이 드래그될 수 있다. 이는 [ㄱ → {ㅓ+ㅓ}] = [ㄱ → {ㅕ}] 로 해석될 수 있다. 그러나 이는 도면16-13(b)가 도면 16-13(c)와 하나의 시스템에서 공존할 수 없는 것과 같이 프로그래머의 구현 또는 사용자의 설정에 따라 한가지로 정하여 사용되면 된다. 도면은 별도로 첨부하지 않으며, “교”의 경우는 “겨”의 경우와 동일하다.
이상에서 약 28%의 사용빈도를 갖는 “ㅡ”, “ㅣ”의 2개 모음과, 약 50% 정도의 사용빈도를 갖는 “ㅗ”, “ㅏ”, “ㅜ”, “ㅓ” 4개 모음과 약 7%정도의 사용빈도를 갖는 “ㅛ”, “ㅑ”, “ㅠ”, “ㅕ” 4개 모음 모두를 합하여 약 84%의 사용빈도를 갖는 10개 모음을 일관된 방식의 드래그에 의하여 입력하는 것을 보였다. 편의상 이하에서 이러한 모음 입력방식을 1편 발명에서의 드래그 모음입력기술과 대비하여 “방향성 드래그” 또는 “방향성 드래그에 의한 모음입력”이라고 부르기로 한다. 다음으로 상기 정의의 드래그에 의한 입력규칙이 연속된 드래그로 모음을 조합할 때 갖는 의미를 설명한다. 종성 받침까지 연속된 드래그로 입력하는 것은 상기 모아키에 1편 발명을 적용한 사례를 참조할 수 있다. 또한 본 2편 발명은 1편 발명의 내용과 함께 하나의 시스템에서 동시에 공존하여 사용될 수 있는 의미를 가진다.
먼저 상기 “ㅗ”, “ㅏ”, “ㅜ”, “ㅓ”의 입력에 있어서, 종성 받침까지 연속된 드래그로 입력하는 것을 보인다. 만약 모아키에서와 같이 우측방향의 드래그로 “ㅏ”를 입력한다면 [ㄱ → ㄴ → ㄷ → ㅂ → ㅈ → ㅣ] 로 드래그 되었을 때, [ㄱ → {ㅏ} → 무효화버튼들... → ㅣ] 로 볼 수 있는데, [ㄱ]버튼에서 우측 방향의 [ㄴ]버튼으로 드래그한 것이 “ㄱ”과 함께 모음 “ㅏ”를 입력하기 위한 것이었는지 아니면 “ㄱ+ㅡ = 그”를 연속된 드래그(1편 발명 참조)로 입력하기 위하여 [ㅡ] 버튼으로의 드래그를 위하여 진행한 것인지를 판단하기 어렵다. 편의상 이렇게 한쪽 방향의 드래그에 의하여 인식되는 모음(예. {ㅏ})을 “암시적 드래그된 모음” 이라고 부르고, 연속된 드래그에 의하여 인식되는 모음(예 “ㅡ”)을 “명시적 드래그된 모음”이라고 부르기로 한다. 해결방법은 다음과 같을 것이다.
(A) 암시적 드래그된 모음과 명시적 드래그된 모음이 결합할 수 있는 경우 모두를 동시에 인정하거나,
(B) 암시적 드래그된 모음과 명시적 드래그된 모음이 결합할 수 없는 경우 명시적 드래그된 모음만을 인정하거나,
(C) 명시적 드래그된 모음이 있는 경우는 항상 암시적 드래그된 모음은 인정하지 않고, 명시적 드래그된 모음만 인정하는 것
. . . . . . .
등이 있을 수 있다. 상기 (A) 를 적용하면 [ㄱ → {ㅏ} + ㅣ] 가 모두 인정되어 결과는 “개”로 될 것이다. 명시적 드래그된 모음이 “ㅡ” 였다면 [ㄱ → {ㅏ} + ㅡ] 로 되는데, “{ㅏ}+ㅡ” 를 어떤 모음으로 정의하지 않고 있다면, “그”가 인식될 것이다. (상기 (B)) 본 발명의 사례에서 제시한 기본 문자입력기술(http://www.simplecode.net 에서 “한글기본2”) 에서는 “ㅏ+ㅡ = ㅗ”로 정의하고 있지만, 이는 [ㆍ]버튼으로도 표기할 수 있는 [ㅏ]버튼과 [ㅡ]버튼이 결합할 경우에 적용되는 것이고, 암시적 드래그된 모음인 {ㅏ} 와 명시적 드래그된 모음인 “ㅡ”의 결합을 “ㅗ”로 인정할지 말지의 문제는 별개의 사안이다.
상기에서 간단히 살펴보았듯이, 한쪽 방향의 드래그에 의한 모음의 입력은 연속된 드래그에 의하여 다른 모음을 조합할 때, 조금 복잡한 문제를 야기한다. 본 발명의 사례에서는 모음버튼이 자음버튼의 아랫쪽에 자리하고 있지만, 자판의 형태는 삼성전자사의 자판처럼 모음버튼이 자음버튼의 윗쪽에 있을 수도 있고, LG전자사의 자판처럼 모음버튼이 자음버튼의 오른쪽에 있을 수도 있고, 다른 다양한 형태가 가능할 것인다. 본 발명에서는 “ㅡ”와 “ㅣ” 만을 일방향의 드래그 입력으로 정의하였고, 이 경우에는 상기 (A), (B), 또는 (C)를 적용할 수 있을 것이다. 예를 들어 [ㄱ → ㄴ → 자음버튼들... → ㅣ] 로 드래그 되면 [ㄱ → {ㅡ} → ㅣ] = “긔”로 인식될 것이다.
그런데 본 발명에서 암시적 드래그된 “ㅏ”를 입력하는 방법을 한쪽 방향의 드래그가 아닌 드래그 시작버튼으로 되돌아오는 것으로 정의하였다. 한쪽 방향의 드래그에서는 “암시적 드래그된 모음” 이었지만, 다시 드래그 시작버튼으로 돌아오는 과정으로 인해 “ㅏ” 모음이 명시적으로 인식(명시化)될 수 있는 것이다. 예를 들어 [ㄱ → ㄴ → ㄱ → 자음버튼들... → ㅣ] 로 드래그되었다면, “ㄱ → ㄴ → ㄱ” 드래그 시작버튼으로 되돌아오는 과정을 통해 사용자가 모음 “ㅏ”를 입력한다는 것이 명확해진다는 것을 알 수 있다. 따라서 결과는 [ㄱ → {ㅏ=명시化} → ㅣ] 가 되여 “개”가 인식될 것이다. 1편 발명에서 보듯이 사용자가 연속 드래그에 의하여 “기”를 입력하기를 원했다면 [ㄱ → 자음버튼들... → ㅣ] 드래그 했어야 하며, [ㄱ]버튼에서 [ㄴ]버튼으로 드래그했다가 다시 [ㄱ]버튼으로 되돌아올 이유가 없기 때문이다. 즉 드래그 시작버튼으로 되돌아오는 드래그에 의하여 방향성 드래그에 의한 모음입력의 암시성을 제거해 주는 의미가 있으며, 연속드래그에 의하여 결합가능한 모음을 결합해 나갈 수 있어, 끊어지지 않는 한번의 드래그로 모든 모음을 입력할 수 있게 된다. 예를 들어 [ㄱ → (外=상측) → ㄱ → 자음버튼들... → ㅏ] = [ㄱ → {ㅏ=명시化} → ㅏ] 가 되어 결과은 “과”가 인식된다. [ㄱ → (外=상측) → ㄱ → 자음버튼들... → ㅏ → ㅣ] = [ㄱ → {ㅏ=명시化} → ㅏ → ㅣ] 는 “괘”가 인식될 것이다. 종성 받침 까지 입력하는 사례를 보인다면, [ㄱ → (外=상측) → ㄱ → 자음버튼들... → ㅏ → (자음버튼들...) → ㅇ] = [ㄱ → {ㅏ=명시化} → ㅏ → → ㅇ] 가 되어 결과은 “광” 이 인식된다. 본 발명에서 제시한 “ㅗ”, “ㅏ”, “ㅓ”, “ㅜ” 입력은 1편 발명의 내용과 결합하여 연속 드래그에 의하여 모은 모음을 입력할 수 있고 더불어 종성 받침까지 연속드래그에 의하여 입력할 수 있도록 하는 의미가 있다. (약 50%의 사용빈도를 갖는 모음에 대해서 암시성 제거=명시化, 연속드래그 가능化) 이는 “ㅛ”, “ㅑ”, “ㅠ”, “ㅕ”의 경우에도 동일하게 적용될 수 있다.
우측 드래그로 모음 “ㅡ”를 입력하고, 하측 드래그로 모음 “ㅣ”를 입력하므로 일방향 드래그로는 모음 입력에 단지 가지의 드래그(우측 드래그, 하측 드래그)만이 사용된다. 좌측 드래그는 1편 발명의 도면15-13(a)에서 제시한 바와 같이 드래그 시작버튼에 배치된 평자음(예. “ㄱ”)에 대응되는 격자음 (예. “ㅋ”)을 입력하는 것으로 할 수 있다. 마찬가지로 상측 드래그는 1편 발명의 도면15-3(b)에 제시한 바와 같이 드래그 시작버튼에 배치된 평자음(예. “ㄱ”)에 대응되는 경자음(예. “ㄲ”)을 입력하는 것으로 할 수 있다. 도면16-3에서 보듯이 상측 드래그는 “Shift+X” 가 입력되는 것으로 정의되어 있으므로, 기존(Pocket PC 2002, 2003 에뮬레이터에서는 한글 자판에서도 상측 드래그가 작동하는 것을 확인함)의 사용관념에도 부합한다. 다만 도면15-3(b) 에서 [ㄱ → (外=상측) → ㄱ → ㄹ → ㅅ → ㅡ] 로 드래그 한 것이 “끄” 가 인식되는 것으로 표현되어 있는데, 본 발명에서 [ㄱ → (外=상측) → ㄱ] 를 “고”로 정의하였으므로, 이 규칙과의 충돌을 피하고 “끄” 가 인식되려면, 도면16-15(a) 에서와 같이 [ㄱ → (外=상측) → “ㄱ”아닌 다른 자음버튼들... → ㅡ] 으로 드래그 되어야 [ㄱ → {경자음} → ㅡ] = “끄” 가 될 것이다. 도면16-15(b)의 드래그 결과는 “꿍”이 될 것이다. 본 발명의 사례에서 제시한 것처럼 모음버튼이 자음버튼 아랫쪽에 배치된 자판의 경우는 일방향 드래그라 할지라도 상측 드래그는 암시성(혼동)의 우려가 없다. 왜냐하면 임의의 자음버튼에서 드래그를 시작하여 거의 항상 아랫쪽에 있는 모음버튼 쪽으로 드래그가 진행되어야 하나(1편 발명), 상측으로 드래그 되었다는 상측 드래그에 의하여 약속된 무언가(예. 경자음 또는 격자음)을 입력하기 위하여 드래그 한것이 확실하므로 약속된 무언가를 입력하고자 했다는 것을 명시化 해주기 때문이다.
상기 방향성드래그와 1편 발명의 내용을 결합한 본 발명의 내용은 예시한 자판처럼 모음버튼이 자판 스킨상에 표시되어 있을 수도 있지만, 모아키의 경우처럼 모음버튼이 팝업되는 경우에도 유사하게 적용할 수 있다.
다음으로 종성 받침까지 연속된 드래그로 입력하는 사례는 본 발명에서 모아키에서 1편 발명을 적용하여 종성받침을 입력하는 사례와 유사하므로 몇가지 사례를 통하여 간단히 설명한다.
먼저 [ㄱ → ㄴ → ㄱ] 은 “가”로 인식되므로 “극”을 입력하려면 도면16-16(a)와 같이 [ㄱ → ㄴ] 으로 드래그하여 “그” 가 인식되도록 하고, 다시 [ㄱ]버튼으로 드래그하지 않고 우회하여 드래그 마지막 버튼이 [ㄱ]버튼이 되도록 드래그하면 된다. 다음으로 “그”를 입력하기 위하여 [ㄱ → ㄴ] 으로 드래그하면 “그”가 인식되는데, “근”을 입력하려면, [ㄱ → ㄴ] 드래그후 연속해서 다른 버튼(또는 스킨바깥 포함)으로 자리를 옮겼다가 드래그 마지막버튼으로 [ㄴ]버튼이 되도록 하면 된다. 예를 들어 도면16-16(b)와 같이 할 수 있다. “귿”을 입력하기 위해서는 단순히 [ㄱ → ㄴ → ㄷ] 으로 드래그 하면, [ㄱ → {ㅡ} → ㄷ] = “귿”으로 인식된다. 즉 명시적으로 [ㄱ]버튼에서 우측으로 인접버튼인 [ㄴ]버튼까지 드래그하면 우측드래그({ㅡ}) 로 인식하도록 하는 것이다.
“간”을 입력하기 위해서는 도면16-17(a) 와 같이 [ㄱ → ㄴ → ㄱ → ㄴ] 으로 드래그하면 된다. 이는 [ㄱ → {ㅏ} → ㄴ] 으로 해석할 수 있기 때문이다. 마찬가지로 “각”을 입력하기 위해서는 도면16-17(b)와 같이 [ㄱ → ㄴ → ㄱ]까지 드래그 하여 “가” 가 인식되도록 한 후 다른 버튼(버튼들 또는 스킨외부 포함)으로 옮겼다가 드래그 마지막 버튼으로 [ㄱ]버튼이 되도록 하면 된다. “ㅛ”, “ㅑ”, “ㅠ”, “ㅕ”의 경우도 유사하므로 자세한 설명은 피한다.
29. 동일한 버튼의 연속눌러짐을 이용한 한국어 자음 입력방법
현재 국내 대기업(예. 삼성전자社)에 의하여 제품화되어 주로 사용되는 한국어 입력기술은 자음버튼을 반복누름을 이용하는 방식이다. 본 발명에서 "반복선택방법"으로 표현하였고, 문자입력업계에서는 "멀티탭방법"으로 부르고 있다. 편의상 "반복선택방법"이라는 용어를 사용한다. 이 방식의 단점은 모호성이 있다는 것이다.
도면4-* 의 키패드는, "ㄱ"이 배열된 버튼에 "ㅋ", "ㄲ"이 추가로 배열되어 있거나, 물리적으로 배열되어 있지 않더라도 논리적으로 "ㅋ", "ㄲ"이 "ㄱ"이 배열된 버튼에 연관되어 있는 키패드이다. 그리고 현재 사용되고 있는 삼성전자社의 키패드에서는 "ㄱ"과 "ㅋ"이 하나의 버튼에 배열되어 있고, "ㄲ"은 그 버튼에 연관되어 있는 키패드이다. 본 발명의 도면 4-*의 키패드 또는 현재의 삼성전자社의 키패드에서, 해당 버튼을 1번 누름으로 "ㄱ"이 인식(또는 입력)되고, 2번 누름으로 "ㅋ"이 인식되고, 3번 누름으로 "ㄲ"이 인식되는 경우, "국가"를 입력하면, "구카"로 되는 모호성이 있다고 하였다.
다음에서 반복선택방법의 기본 성질을 정리하고, 편리성을 증진하고 모호성을 획기적으로 개선한 기술을 제시한다. 이하의 설명은 현재의 유니코드 한글글자를 기준으로 하며, 향후 유니코드로 표현될 수 있는 추가적인 한글글자에도 적용될 수 있다.
29.1 반복선택방법의 성질 및 현재의 응용 사례
반복선택방법(즉, 멀티탭방법)의 기본적이고 공통적인 성질은 다음과 같다. N 개의 알파벳이 배열되어 있을 때, 해당 버튼 1번 눌러짐은 첫번째 알파벳이 입력되고, 2번 눌러짐은 2번째 알파벳이 입력되고, 3번째 눌러짐은 3번째 알파벳이 입력되고, ... , N번째 눌러짐은 N번째 알파벳이 입력된다. 어떤 버튼에 대해서 N개의 알파벳이 배열 또는 연관되어 있으면, N번 눌러졌을 때 사이클이 완료된다. 언급한 바와 같이, 어떤 버튼 2번눌러짐이 2번째 알파벳이 입력된 것인지, 1번째 알파벳이 2번 입력된 것인지 알 수 없는 모호성이 있다.
이러한 모호성을 해결하기 위하여 타이머를 두어 일정 시간이 경과하면 입력상태가 초기화 되도록 하는 응용 사례가 있다. 예를 들어, 해당 버튼이 1번 눌러지고, 소정의 시간이 경과하면 1번째 알파벳이 확정되므로, 다시 한번 더 눌러졌을 때, 1번째 알파벳이 한번 더 입력되는 것이다.
모호성을 극복하기 위하여 사용되고 있는 또다른 방법은, "순환토글"되는 것이다. 예를 들어, "a b c" 3개의 알파벳이 배열되어 있는 버튼을 1번 누르면 "a"가 인식되고, 2번 누르면 "b"가 인식되고, 3번 누르면 "c"가 인식되고, 4번 누르면 순환되어 다시 "a"가 인식되고, 5번 누르면 "b"가 인식된다. 이는 N+1번 눌러졌을 때 다시 1번째 알파벳 하나만이 인식되고, N+2번 눌러졌을 때 다시 2번째 알파벳만이 인식되는 것이다. 이를 편의상 "순환토글식 반복선택방법"이라 부르기로 한다. 반복선택방법의 공통적인 기본사항만이 적용된다면, 3번 눌러짐에 의하여 "c"가 입력된 다음, 다시 1번 더 눌러지면 이미 입력된 "c" 다음에 "a"가 추가로 입력되는 것이다. 이를 편의상 "기본 반복선택방법" 또는 "비순환식 반복선택방법" 이라고 부르기로 한다.
순환토글식 반복선택방법
(1번눌러짐) → a → (2번눌러짐) → b → (3번눌러짐) → c (사이클종료)→ (4번눌러짐) → a → (5번눌러짐) → b → (6번눌러짐) → c (사이클종료) → (7번눌러짐) → a → . . .
기본 반복선택방법 (비순환식 반복선택방법)
(1번눌러짐) → a → (2번눌러짐) → b → (3번눌러짐) → c (사이클종료)→ (4번눌러짐) → ca → (5번눌러짐) → cb → (6번눌러짐) → cc (사이클종료) → (7번눌러짐) → cca → . . .
상기 기본 반복선택방법과 순환토글식 반복선택방법을 을 좀 더 이해하기 쉽도록 그림으로 나타내면 도면17-1과 같다.
상기 "(2번눌러짐)" 은 해당 버튼이 "총 2번 눌러짐" 을 의미하는 것으로상기 "(1번눌러짐)"을 포함하여 2번 눌러졌을 경우를 의미함은 물론이다. 이는 상기 도면17-1에서도 같다. 상기 예시한 2가지(순환토글식/비순환식 반복선택방법)는 모두 현재 제품에서 보여지고 있는 동작이며, 상기 타이머 동작과 결합하여 사용되기도 한다. 본 발명자는 상기 기본 반복선택방법의 동작이 더 맞다는 견해를 가지고 있으나, 상기 순환토글식 반복선택방법이 현재 대기업에 의하여 많이 사용되고 있다.
29.2 현재 한국어에서의 응용 사례
한국어에서는 경자음(형태적으로 부를때 "쌍자음"으로도 부름)을 평자음이 배정된 버튼의 2번 눌러짐으로 입력하는 사례가 있다. 이 경우의 동작은 2벌식 한글키보드에서의 오토마타를 개량한 동작으로 역시 큰 흐름에서는 2벌식 동작이다. 우리 한국어에서 정상적인 음절(자모결합글자)의 나열중에 "XY"와 같이 자음이 연속하여 나오는 경우는 "X"가 앞글자의 받침이고 "Y"가 뒷글자의 초성자음인 경우이며, 이하의 예시에서도 연속된 2개의 자음은 앞글자의 받침과 뒷글자의 초성자음으로 해석될 수 있음을 밝힌다.
예를 들어, 최초입력상태에서 "ㄱ"버튼이 한번 눌러지면 "ㄱ"이 입력되고, 한번 더 눌러지면 "ㄲ"이 된다. 여기서 한번 더 눌러지면 "ㄲㄱ" 이 된다. 이는 상기 기본 반복선택방법이 적용된 동작이다. 만약 상기 순환토글식 반복선택방법이 적용된다면, "ㄲㄱ"이 아닌 "ㄱ"이 될 것이다. 최초입력상태 또는 초성자음입력상태에서 순환토글식 반복선택방법이 적용되는 것은 이유가 있어 보이나, 연속된 일련의 입력시에 순환토글식 반복선택방법이 적용되는 것은 바람직하지 않아 보인다.
"각" 이 입력된 상태에서 "ㄱ"버튼이 한번 눌러지면 "
Figure pat00176
"이 된다. 이는 "ㄱ"이 이미 입력된 "ㄱ"과 결합하여 "ㄲ"으로 한국어 음절(자모결합글자)를 이룰 수 있으면 한국어 자모결합글자로 처리하는 것이다. 이렇게 입력된 "
Figure pat00177
" 다음에 모음(예. "ㅏ")가 입력되면 "각가"가 된다. 이 역시 기존의 2벌식 한글키보드 오토마타(이하 "2벌식 한글오토마타")에서 받침있는 글자 다음에 모음이 입력되면, 앞글자의 받침이 다음 글자의 초성자음으로 빠져나오는 동작(예. "각" 다음에 "ㅏ"가 입력되면 "가가"로 됨)과 동일하다. 만약 상기 "
Figure pat00178
" 다음에 "ㄱ"버튼이 한번 더 눌러지면 입력된 "ㄱ"이 앞글자와 결합할 수 없으므로 "
Figure pat00179
ㄱ"이 된다. 이 역시 기존의 2벌식 한글오토마타에서 앞글자와 결합할 수 없는 자음이 입력되면, 다음 글자의 초성자음으로 처리하는 것과 동일하다. 같은 논리로 상기 "
Figure pat00180
ㄱ" 다음에 "ㄱ"버튼이 한번 더 눌러지면 "
Figure pat00181
ㄲ"로 된다. 상기 "
Figure pat00182
ㄲ" 다음에 "ㄱ"버튼이 한번 더 눌러지면, 기본 반복선택방법 적용시는 "
Figure pat00183
ㄲㄱ"이 되고, 최초입력상태 또는 초성자음입력상태에서는 순환토글식 반복선택방법 적용하면, "
Figure pat00184
ㄱ"이 된다.
기본 반복선택방법이 적용된 경우를 상기 그래프 형태로 정리하면, "ㄱ"이 배정된 "ㄱ"버튼에 "ㄲ"이 2번째 알파벳으로 배정되어 있거나 연관되어 있을 때,
(1번눌러짐) → ㄱ → (2번눌러짐) → ㄲ → (3번눌러짐) → ㄲㄱ → (4번눌러짐) → ㄲㄲ → (5번눌러짐) → ㄲㄲㄱ → . . .
단, 초성자음상태에서는 순환토글식 반복선택방법이 적용되도록 하여, 상기 5번 눌러짐으로 "ㄲㄱ" (상기 "
Figure pat00185
ㄲㄱ" 사례) 이 아닌, "ㄱ" (상기 "
Figure pat00186
ㄱ" 사례) 이 되도록 할 수 있다.
29.3 선출원의 개선 및 한국어 자음 입력에의 최적화
우리나라 사람들이 누구나 알고 있는 현대 한국어 자음의 기본적인 체계는 다음과 같다.
Figure pat00187
평자음 "ㄱ", 경자음 "ㄲ", 격자음 "ㅋ"은 발음과 형태상으로 강한 유사성을가지는 하나의 그룹을 이루고 있다. 격자음 "ㅋ"은 "ㄱ"을 상하로 늘어놓은 형태이고, 경자음 "ㄲ"은 "ㄱ"을 좌우로 늘어놓은 형태이다. "ㅍ"과 "ㅊ" 역시 대응되는 평자음 "ㅂ"과 "ㅈ"에 대하여 각각 강한 형태적 연관성을 가지고 있으나, "ㅃ"과 "ㅉ" 이 "ㅂ"과 "ㅈ"에 대하여 각각 가지고 있는 형태적 연관성보다 조금 약하다.
이하에서 "ㄱ", "ㄲ", "ㅋ"에 대하여 예시하는 것은, 다른 평자음(예. "ㄷ"), 다른 격자음(예. "ㅌ"), 다른 경자음(예. "ㄸ")에 대하여도 동일하게 적용할 수 있다.
현재 삼성전자社의 한국어 입력기술에서와 같이 "ㄱ"버튼 2번 눌러짐으로 "ㅋ"을 입력하는 경우는 "국가"를 입력하면, "구카"로 되는 현상을 피할 수 없다. 그러나, 상기 사례에서와 같이 "ㄱ"버튼 2번 눌러짐으로 "ㄲ"을 입력하는 경우는 "국가"를 입력하는 것이 "구까"로 되지는 않는다. 또한 지적한대로 경자음이 격자음보다 형태적인 면에서 대응되는 평자음과 더 강한 연관성을 가지고 있다. 또한 출원인이 4-*의 키패드에서 보인 것과 같이 경자음과 격자음을 대표할 수 있는 평자음만을 버튼에 배열함으로써, 간결한 키패드를 구성할 수 있다.
출원인이 제시했던 "3+타 입력방법" 에서 "ㄱ"버튼 한번 눌러짐으로 "ㄱ"이 인식되고, 2번 눌러짐으로 "ㄱ"이 한번 더 인식되고, 3번 눌러짐으로 "ㅋ"이 인식되고, 4번 눌러짐으로 "ㄲ"이 인식되는 사례가 있었다. "ㄱ"버튼 4번 눌러짐까지가 하나의 사이클을 이루게 된다. 하나의 자소인 "ㄲ"을 입력하기 위하여 4번 연속 눌러져야 한다. 그러나, 상기 제시한 바와 같이, "ㄱ"버튼이 2번 눌러졌을 때, 2벌식 한글오토마타에 의하여 때로는 "ㄲ"이 되기도 하고, 때로는 "ㄱㄱ"이 되도록 하는 것이 본 발명의 핵심이다. 즉, 경우에 따라 "ㄲ"을 입력하기 위하여 "ㄱ"버튼을 4번까지 누르지 않더라도 2번만 누르고도 가능해지는 것이다.
"ㄱ"과 "ㄲ"(2번눌러짐에 의한)이 연속하여 나오거나 "ㄲ" (2번눌러짐에 의한)과 "ㄱ"이 연속하여 나오는 경우는 "ㄱㄲ", "ㄲㄱ", "ㅋ"이 모두 같은 입력값을 가지므로 모호성이 있을 수 있다. 예를 들어 "떡
Figure pat00188
기"의 "
Figure pat00189
기" 에서 "ㄲ"과 "ㄱ"이 연속하여 나온다. 기본 반복선택방법을 적용하여 "떡
Figure pat00190
기"를 입려하면 "떡보키"로 될 것이다. "
Figure pat00191
기"가 입력되는 과정을 보면, "복" → "
Figure pat00192
" → "
Figure pat00193
" → "보키" 와 같이 될 것이다. 이는 "ㄱ"버튼을 2번 누른 것이 절대적으로 "ㄲ"이 되는 것이 아니라 2벌식 한글오토마타에 의하여 때로는 "ㄲ" (예. "
Figure pat00194
")이 되기도 하고, 때로는 "ㄱㄱ" (예. "복기")이 되기 때문이기도 하다. 그러나, "
Figure pat00195
기"에서와 같이 "ㄲㄱ"이 연속하여 나오거나("ㄲ"받침 다음 "ㄱ"초성자음), "ㄱㄲ"이 연속하여 나오는 경우("ㄱ"받침 다음 "ㄲ"초성)는 "극히" 드물다. "ㄲㄱ"와 같이 "받침+초성자음"이 나오는 경우는 0.013% 이고, "ㄱㄲ"과 같이 "받침+초성자음"이 나오는 경우는 0.038% 이다. 다른 평자음(예. "ㄷ")과 경자음(예. "ㄸ")의 경우도 유사하므로, 사실상 거의 무시할 수 있는 수준이다.
또한 4번 누름에 의하여 "ㄲ"이 입력되는 기술이 적용되므로, 의 "
Figure pat00196
기"의 "ㄲ"을 "ㄱ"버튼 4번 눌러짐으로 입력하면 모호성없이 입력할 수 있다. 이 역우, 기본 반복선택방법으로 "
Figure pat00197
기"가 입력되는 과정을 보면, "복" → "
Figure pat00198
" → "
Figure pat00199
" → "
Figure pat00200
" → "
Figure pat00201
ㄱ" → "
Figure pat00202
기" 가 된다. "ㄱ"버튼 2번 누름에 의한 "ㄲ"은 다음 입력(예. 모음입력)에 따라 "ㄱㄱ"으로 될 수 있지만, "ㄱ"버튼 4번 눌러짐이 항상 "ㄲ"이 되므로 "
Figure pat00203
기"의 경우는 모호성없는 입력이 가능하다. "오뚜기"의 경우도 "ㄷ"버튼 2번 눌러짐으로 "ㄸ"을 입력하면, "
Figure pat00204
두기"와 같이 된다. 즉, "오뚜기=
Figure pat00205
두기"인 모호성이 있는 것이다. 그러나 "ㄷ"버튼 4번 눌러짐으로 "ㄸ"을 입력하면 모호성없이 "오뚜기"로 올바르게 입력할 수 있다. "오뚜기"를 입력하기 위하여 "ㄷ"버튼을 눌러 "오ㄸ"을 입력하는 과정과 "가까이"를 입력하기 위하여 "
Figure pat00206
"을 입력하는 과정을 보이면 다음과 같다. 아래에서 모음 "ㅜ" 및 "ㅏ"의 입력에는 본 발명에서 제시한 모음입력기술 또는 다른 어떠한 모음입력기술이 적용될 수 있으며, 이하 유사한 경우에서도 같다.
오 →
Figure pat00207
Figure pat00208
ㄷ →
Figure pat00209
→ 오ㄸ →("ㅜ"입력)→ 오뚜
가 → 각 →
Figure pat00210
Figure pat00211
Figure pat00212
→("ㅏ"입력)→ 가까
"ㄱ"버튼 2번 누름에 의하여 입력된 "
Figure pat00213
" 다음에 "ㅏ"가 입력되면 "각가"가 되지만, "ㄱ"버튼 4번 누름은 항상 절대적으로 "ㄲ"이 된다고 하였으므로, "ㄱ"버튼 4번 누름 다음에 "ㅏ"가 입력되면 "가까"가 된다.
이렇게 "ㄱ"버튼 4번 눌러짐으로 "ㄲ"을 입력하는 경우에도, "ㄱㅋ", "ㅋㄱ", "ㄲ"은 모두 같은 입력값을 가지므로, 모호성이 있게된다. 그러나 실제로 우리가 사용하는 단어에서 이러한 경우는 역시 "극히" 드물다. "ㄱㅋ"과 같이 "받침+초성자음"이 나오는 경우는 0.013%이고, "ㅋㄱ"과 같이 "받침+초성자음"이 나오는 경우는 0% 로 조사되어 있다. 다른 평자음(예. "ㄷ")과 격자음(예. "ㅌ")의 경우도 유사하므로, 사실상 거의 무시할 수 있는 수준이다.
기본 반복선택방법을 적용하여 "ㄱ"버튼이 연속하여 눌러졌을 때의 변화는 다음과 같다.
ㄱ → ㄲ or ㄱㄱ → ㅋ → ㄲ (사이클 종료) → ㄲㄱ → ㄲㄱㄱ or ㄲㄲ → ㄲㅋ → ㄲㄲ (사이클 종료) → ㄲㄲㄱ → . . .
기본 반복선택방법을 적용하여 "가"라는 글자 다음에 "ㄱ"버튼이 연속하여 눌러졌을 때의 변화를 보이면 다음과 같다.
가 → 각 →
Figure pat00214
Figure pat00215
Figure pat00216
(사이클 종료) →
Figure pat00217
ㄱ →
Figure pat00218
ㄲ →
Figure pat00219
ㅋ →
Figure pat00220
ㄲ (사이클 종료) → . . .
"가" 다음에 "ㄱ"버튼이 4번 눌러진 상태는 "
Figure pat00221
"이고, 8번 눌러진 상태는 "
Figure pat00222
ㄲ"이 된다. 4번 눌러지고 나면 입력규칙 사이클이 종료되었으므로 기 입력된 글자(예."
Figure pat00223
")는 완성되고, 5번째 눌러짐은 다시 1번 눌러짐(새로 "ㄱ"입력)과 동일한 효과를 내게된다.
받침의 입력에서 초성자음으로의 전환상태에서는 순환토글식 반복선택방법이 적용되지 않는 것이 바람직하다. 상기 마지막의 "
Figure pat00224
ㄲ" 상태에서 한번 더 "ㄱ"버튼이 눌러지면, 다음의 2가지로 처리될 수 있다. 기본 반복선택방법이 적용되면, "
Figure pat00225
ㄲㄱ"이 될 것이다. 사이클 종료후, 눌러진 "ㄱ"버튼이 한번 더 눌러졌을 때, 입력중인 글자가 초성자음 상태에서는 순환토글식 반복선택방법이 적용된다면, "
Figure pat00226
ㄱ"이 될 것이다. 이 상태에서 "ㄱ"버튼이 한번 더 눌러진다면 "
Figure pat00227
ㄲ"이 될 것이다. 상기 기본 반복선택방법 적용의 경우, 그리고 사이클종료후 초성자음일 때 순환토글식 반복선택방법이 적용시의 경우를 조금 더 이해하기 쉽게 그림으로 나타내면 도면17-2와 같다. 도면17-2에서, 4번 눌러졌을 때의 "ㄲ"은 1사이클이 완료되었을 때의 결과이고, 8번 눌러졌을 때의 "ㄲㄲ"은 2사이클이 완료되었을 때의 결과인 것이다.
한국어 받침(종성자음)중 "ㄺ" 과 같은 이중받침(겹받침)이 있다. 이중받침 "xy"와 같은 형태에서 "x"가 "ㄱ"과 결합하여 "xy"를 이룰 수 있다. 이 경우의 동작도 동일하다. 예를 들어 "알까기" 를 입력하는데 있어서 "ㄱ"버튼 2번 누름으로 "ㄲ"을 입력하려고 하면 "앍가기"가 된다. 그러나 "ㄱ"버튼 4번 누름으로 항상 "ㄲ"이 되도록 하여 간단히 해결된다. "알" 다음에 "ㄱ"버튼이 눌러진 경우는 다음과 같으며, 다른 유사한 경우에도 적용될 수 있다. 2번 눌러졌을 때 "ㄱㄱ" (예. "앍ㄱ")이 되고, 3번 눌러졌을 때 "ㅋ" (예 "알ㅋ")이 되고, 4번 눌러졌을 때 항상 "ㄲ" (예. "알ㄲ")이 되는 것이다. 아래에서 모음 "ㅏ"의 입력에는 본 발명에서 제시한 모음입력기술 또는 다른 어떠한 모음입력기술이 적용될 수 있으며, 이하 유사한 경우에서도 같다.
알 → 앍 → 앍ㄱ → 알ㅋ → 알ㄲ →("ㅏ"입력)→ 알까
우리 한국어에서 "ㅆ" 받침 다음 "ㅅ" 초성자음이 나오는 경우 (즉, "ㅆㅅ")는 "~했습니다", "~었습니다"와 같이 다수 있지만, 반대로 "ㅅ" 받침 다음 "ㅆ" 초성자음이 나오는 경우는 거의 없다. 기본 반복선택방법 적용시, "ㅆ" 받침 다음에 "ㅅ"버튼이 눌러지면 "ㅅ"이 되는 것은 당연하다. "ㅅ"버튼에는 "ㅅ"과 "ㅆ"만이 배열 또는 연관되어 있기 때문이다. 도4-*의 키패드 역시 그러하다.
이중받침 "xy" 중 "y"의 위치에 "ㅅ"이 오는 경우는 "ㄳ", "ㄽ", "ㅄ" 등이 있다. "ㄱㅆ", "ㄹㅆ", "ㅂㅆ" 의 경우는 단순히 "ㅅ"버튼을 2번 눌러 "ㅆ"을 입력하기 어렵다. 예를 들어 "얼쑤"의 경우 "ㅅ"버튼을 2번눌러 "ㅆ"을 입력하려고 하면 "
Figure pat00228
수" 와 같이 된다. 이 경우도 "ㅅ"버튼 4번 누름으로 "ㅆ"을 입력하면 간단히 해결되며, 동작은 다음과 같다. "얼" 다음에 "ㅅ"버튼이 눌러질 때의 변화이다. 2번 눌러졌을 때 "ㅅㅅ" (예. "
Figure pat00229
ㅅ") 이 되고, 3번 눌러졌을 때 "ㅅㅆ" (예. "
Figure pat00230
ㅆ") 이 되고, 4번 눌러졌을 때 절대적으로 "ㅆ"이 되므로 "얼ㅆ"가 된다. 아래에서 모음 "ㅜ"의 입력에는 본 발명에서 제시한 모음입력기술 또는 다른 어떠한 모음입력기술이 적용될 수 있으며, 이하 유사한 경우에서도 같다.
얼 →
Figure pat00231
Figure pat00232
ㅅ →
Figure pat00233
ㅆ → 얼ㅆ →("ㅜ"입력)→ 얼쑤
모음 다음에 초성자음으로 "ㅆ"이 나오는 경우가 있다. 예를 들어 "아싸"의 경우 "ㅆ"을 "ㅅ"버튼 2번으로 입력하면 상기 한글오토마타에 의하여 "앗사"로 된다. 아래에서 우화살표(→)는 "ㅅ"버튼의 눌러짐을 의미한다. 모음 "ㅏ"의 입력은 어떠한 모음입력방법(출원인이 제시하지 않은 다른 입력방법 포함)이라도 적용될 수 있다. 예를 들어 기존처럼 "ㅣㆍ"로 입력될 수도 있고, 선출원에서 제시한 바와 같이 "ㆍ"버튼 한번 누름으로도 입력될 수 있다. "아" 다음에 "ㅅ"버튼이 눌러졌을 때의 변화이다.
아 → 앗 → 았 →("ㅏ" 입력)→ 앗사
일관성있는 입력규칙을 위하여 그리고 모호성없는 입력을 위하여, "ㅅ"버튼 4번 누름을 "ㅆ"으로 처리할 수 있다. 2번 누름에 의한 "ㅆ"은 다음 입력(예. 모음입력)에 따라 "ㅅㅅ"으로 변화할 수 있지만, "ㄲ"의 경우와 마찬가지로 4번 누름에 의한 "ㅆ"은 절대적으로 적용된다. 3번 누름은 앞에서 설명한대로 "ㅆㅅ"이 된다. "ㅅ"버튼 4번 누름을 이용한 "아싸"의 입력과정을 보이면 다음과 같다.
아 → 앗 → 았 → 았ㅅ → 았 →("ㅏ" 입력)→ 아싸
모호성이 있는 경우(예. 받침과 초성자음으로 "ㄱㅋ"을 입력), 모호성을 극복하는 방법은 기존의 방법처럼 타이머(일정 시간 무입력 체크) 적용에 의한 입력토큰 종료, 스페이스버튼 눌러짐 또는 오른쪽화살표버튼 눌러짐에 의한 입력토큰 종료 등의 방법이 있다. (받침과 초성자음으로) "ㄱㅋ"을 입력하려면, "ㄱ"입력후 상기 오른쪽화살표버튼을 눌러 입력토큰을 끊어주고, 다시 "ㄱ"버튼을 3번 눌러 "ㅋ"을 입력할 수 있다. 이렇게 모호성이 있는 경우를 나열해 보면 다음과 같다.
ㄱㅋ 0.013
ㅋㄱ 0
ㄱㄲ 0.038
ㅋㅋ 0
ㄷㅌ 0
ㅌㄷ 0.064
ㄷㄸ 0.002
ㅌㅌ 0
ㅂㅍ 0.013
ㅍㅂ 0.004
ㅂㅃ 0.001
ㅍㅍ 0.001
ㅅㅆ 0.003
ㅈㅊ 0.059
ㅊㅈ 0.002
ㅈㅉ 0
ㅊㅊ 0.003
합계 0.203
우리 한국에서 "받침+초성자음"으로 되는 경우와 "중성모음+초성자음"의 경우는 약 반반씩의 비율이다. 본 발명에서 "중성모음+초성자음"의 경우는 모호성이 없다. 평자음(예. "ㄱ"버튼) 4번 눌러짐으로 경자음(예. "ㄲ")을 입력할 수 있기 때문이다. 따라서 상기 합계 0.2%는 전체 경우를 놓고보면, 0.1%가 된다. 1000글자중 한번 모호성이 발생한다는 뜻으로 볼 수 있으며, 본 발명의 도면4-*의 키패드에서 제시한 한국어 입력기술은 글자당 약3.5타 소요되므로, 약3500타 누르면 한번 모호성이 발생한다고 볼 수 있다. 사실상 거의 모호성이 없다고 볼 수 있는 것이다. 이렇게 모호성이 적은 이유는 우리 한글에서 유사한 음가를 가지는 자음(예. "ㄱ"과 "ㅋ")이 연속하여 나오는 경우가 극히 적은 때문이기도 하다.
상기 결과는 출원인의 선출원인 "3+타 입력방법"의 한가지 사례("ㄱ"은 한번누름, "ㅋ"은 3번누름, "ㄲ"은 4번누름)에서 "ㄲ"을 입력하기 위하여 4번 연속 누르는 것이 다소 지루함을 줄 수 있는데, 대부분의 경우 "ㄱ"버튼 2번 누름으로도 "ㄲ"을 입력할 수 있게 한 효과가 있다. 인지적으로도 "ㄲ"은 "ㄱ"이 좌우로 중첩되어 있는 형태이므로 가로쓰기를 하는 우리나라 사용자의 정서에도 부합할 수 있는 방법인 "ㄱ"버튼 2번 누름으로 "ㄲ"을 입력할 수도 있게 한 효과가 있다. 또한 상기 결과는 "ㄱ"버튼 2번 눌러짐으로 "ㄲ"이 인식되고, 3번 눌러짐으로 "ㅋ"이 인식되는 출원인의 선출원에서 4번 눌러짐으로 "ㄲ"을 입력함으로써, 모호성을 대폭 줄인 효과(예. "
Figure pat00234
기"를 입력한 것이 "보키"로 되지 않음. "오뚜기"를 입력한 것이 "
Figure pat00235
두기"로 되지 않음)가 있다.
평자음버튼의 연속눌러짐에 있어서, 받침에서 초성자음으로의 입력시는 순환토글식 반복선택방법 보다는 기본 반복선택방법이 적합하다는 지적을 하였다. 그러나 사이클이 완료되었을 때는 순환토글식 반복선택방법이 적용될 수 있음을 언급하였다. 더 나아가 평자음 버튼 2번 눌러짐에 의하여 인식된 경자음이 "초성자음"이면, 굳이 4번 눌러짐을 다시 경자음으로 처리하지 않을 수 있다. 즉, "ㄱ"버튼의 1번 눌러짐은 "ㄱ"으로 인식하고, 2번 눌러짐은 "ㄲ" 또는 "ㄱㄱ"으로 인식하고, 3번 눌러짐은 "ㅋ"으로 인식한다. 2벌식 한글오토마타에 의하여 2번 눌러졌을 때 인식된 "ㄲ"이 초성자음이었다면, 3번 눌러짐으로 사이클이 완성되고, 다시 한번 더 눌러진 것은 기 인식된 "ㅋ"과 함께 "ㅋㄱ" (기본 반복선택방법 적용시) 또는 "ㄱ"(순환토글식 반복선택방법 적용시)이 되도록 할 수 있는 것이다. 이를 그림으로 표현하면 도면17-3과 같이 된다. 도면17-3에서는 편의상 그래프(또는 다이어그램)형식과 프로우차트 형식을 통합하여 표현하였다. 그러나, 입력규칙의 일관성을 위하여는 4번 눌러짐을 항상 "ㄲ" (즉, 경자음) 으로 처리할 수 있으며, 본 발명자의 견해로는 입력규칙을 일관성있게 4번 눌러짐을 항상 경자음으로 하는 것이 바람직해 보인다.
상기 사례는 평자음을 기본자음으로 하고, 경자음, 격자음까지 입력하는 경우의 사례였다. 상기 사례는 도면4-*에서 제시한 키패드에서 적용될 수 있으며 또한 출원인이 제시하지 않은 다른 형태의 키패드에서도 적용될 수 있다. 또한 상기의 사례는 출원인이 선출원 및 본 발명에서 제시한 모음입력방법과 함께 적용될 수도 있으며, 현재 존재하는 또는 향후에 출현할 다른 모음입력방법과 함께 적용될 수도 있다.
출원인의 선출원에서 제시하였던, 전혀 모호성없이 입력할수 있는 기술인, 모음버튼을 이용한 컨트롤처리방법 (예. "ㅋ = ㄱㅡㅡ", "ㄲ = ㄱㅣㅣ")과 동시에 함께 적용될 수 있다. 격자음과 경자음을 입력시, 출원인의 선출원에서 제시하였던, 모음버튼을 이용한 컨트롤처리방법 (예. "ㅋ = ㄱㅡㅡ", "ㄲ = ㄱㅣㅣ")을 혼용하여 사용한다면, 모호성은 더욱 적어질 것이다. 도면4-*의 키패드를 기준으로 "ㅎ"의 입력은 제시하지 않았는데, "ㅎ"은 별도의 버튼으로 분리될 수도 있음을 선출원에서 설명하였다. 본 발명에서는 규칙적으로 평자음, 격자음, 경자음의 관계를 이용하여 간결한 키패드(예. 도면4-*)에서 "극히" 적은 모호성으로 입력할 수 있음을 보인 것이 핵심이다. 이는 본 발명의 도면4-*의 키패드에서 뿐만 아니라 어떠한 변형된 사례에서도 "공통적으로" 적용할 수 있는 핵심적인 사항인 것이다. 출원인의 선출원에서 탈락자음으로 표현하였던 "ㅎ"(또는 "ㄹ")의 입력은 아래에 설명하듯이 격자음 또는 경자음의 입력을 응용할 수 있으며, 아래에서 별도로 언급한다.
본 발명의 핵심적인 사항인 상기의 입력기술은 "한글기본3"의 기술로 사이트 http://www.simplecode.net 를 통해 제품으로 공개될 예정이다.
29.4 반복누름에 의한 탈락자음 (예. "ㅎ")의 처리 최적화
다음으로 변형사례를 추가로 제시한다. "ㅇ"버튼에 "ㅎ"이 추가로 배열 또는 연관되어 있다고 가정하는 경우이다. 선출원의 표현으로 "ㅎ"을 "ㅇ"의 변형알파벳(격자음 또는 경자음)으로 간주하는 경우이다. 선출원에서는 "ㅎ"을 "ㅇ"의 변형알파벳(격자음 또는 경자음)으로 간주하여 처리하는 사례에 대응된다. "ㅇ"버튼 눌러짐에 따라 기본 반복선택방법을 적용하면 다음과 같이 될 것이다.
ㅇ → ㅇㅇ → ㅎ (사이클 종료) → ㅎㅇ → ㅎㅇㅇ → ㅎㅎ (사이클종료) → ㅎㅎㅇ → . . .
현대 한국어에서는 "쌍이응"이 없지만, 만약 고어자소인 "쌍이응"을 입력할 수 있게 된다면, 2벌식 한글오토마타에 의하여 "ㅇ"버튼 2번 눌러짐이 경우에 따라 "쌍이응"도 될 수 있을 것이다.
또한 선출원에서 제시했던 사례와 같이 "ㄴ"과 "ㄹ"을 하나의 그룹으로 하나의 버튼에 배열 또는 연관하여 처리할 수도 있다. 이 경우 "ㄴ"과 "ㄹ"의 처리는 상기 "ㅇ"과 "ㅎ"의 경우와 유사하게 처리할 수 있다. "ㄹ"을 "ㄴ"의 변형알파벳(즉, 격자음 또는 경자음)으로 간주하여 처리한다면, 9개 기본자음이 [1] ~ [9]의 9개 버튼에 배정될 수 있으므로, "ㅇ"과 "ㅎ"은 각기 다른 버튼에 배정될 수도 있다.
"ㅇ"과 "ㅎ"을 상기 예시한 기본 반복선택방법에 의하여 입력한다면, "ㅇ" 과 "ㅎ"이 연속하여 나오는 경우 등을 포함하여, 상기 제시한 것(약 1000글자에 한번 또는 약 3500타에 한번)보다 더 많은 모호성이 있게 된다.
그러나, 출원인의 선출원에서 제시하였던, 전혀 모호성없이 입력할수 있는 기술인, 모음버튼을 이용한 컨트롤처리방법 (예. "ㅋ = ㄱㅡㅡ", "ㄲ = ㄱㅣㅣ")과 동시에 함께 적용될 수 있다. 만약 "ㅎ"의 입력에 항상 출원인의 선출원에서 제시한 "ㅎ = ㅇㅡㅡ" 또는 "ㅎ = ㆍㅡㅡ" 로 입력한다면, 모든 격자음, 경자음의 입력에 상기 반복누름에 의한 방법을 사용하더라도 약 1000글자(약 3500타)에 1번 모호성이 발생하게 될 것이다. 선출원에서 "ㅎ = ㅏㅡㅡ"로 입력하도록 한 경우도 마찬가지이다. 또한 정상적인 단어는 아니지만 젊은 세대에서 많이 사용되고 있는 "ㅋㅋ"을 입력할 때도, "ㄱㅡㅡ"로 "ㅋ"을 입력하면 모호성없이 입력이 가능한 것은 물론이다. 격자음과 경자음을 입력시, 출원인의 선출원에서 제시하였던, 모음버튼을 이용한 컨트롤처리방법 (예. "ㅋ = ㄱㅡㅡ", "ㄲ = ㄱㅣㅣ")을 혼용하여 사용한다면, 모호성은 더욱 적어질 것이다.
다음으로 출원인의 선출원에서 제시하였던 내용중의 한가지인, "ㆍ"버튼(숫자버튼 [0]버튼에 배정되어 있는) 3번 눌러짐으로 "ㅎ"을 입력하는 것을 적용할 수 있다. 이는 선출원에서 언급하였듯이 격자음을 평자음버튼 3번 누름으로 입력하는 것과 일관성있는 입력규칙을 제공하는 것과 함께 "ㆍ"버튼에 연관되어 있는 "ㅎ"을 "ㆍ"버튼 누름으로 입력하는 의미가 있다. 자음 다음에 "ㆍ"버튼이 3번 눌러져서 "ㅎ"이 입력되는 경우는 모호성이 없으며, 선출원에서 제시하였던 것처럼 모호성이 있으나, 매우 적다. 먼저 기존의 삼성전자社가 사용중인 모음입력방법이 적용된 경우를 간단히 살펴보면 다음과 같다. 모호성이 있을 수 있는 경우는 모음 "ㅏ" (기존방식에서 "ㅣㆍ" 으로 입력됨) 다음, "ㅑ" 다음 "ㅜ"다음, "ㅠ" 다음에 "ㅎ"(받침 또는 다음글자의 초성자음)이 나오는 경우 모호성이 있을 수 있다. 기본 반복선택방법이 적용되면 다음과 같이 될 것이다. "기", "그" 등 다음에 "ㆍ"버튼이 연속하여 눌러지는 경우는 다음과 같다. 아래의 우화살표 "→"는 "ㆍ"버튼의 눌러짐을 포함하여 표현되었으며, 아래에서도 같다.
기 → 가 → 갸 → 갸ㆍ →
Figure pat00236
그 → 구 → 규 → 규ㆍ →
Figure pat00237
오토마타를 변형하지 않고 기본 반복선택방법만을 적용한다면, "가", "갸", "구", "규" 등 다음에 "ㅎ"이 오는 경우는, 출원인의 선출원에서 제시한 "ㅎ = ㅇㅡㅡ" 또는 "ㅎ = ㆍㅡㅡ" 를 사용할 수 있다. "ㅏ", "ㅑ", "ㅜ", "ㅠ" 다음에 받침으로 "ㅎ"이 오는 경우는 각각 0.022%, 0.001%, 0%, 0% 이다. "ㅏ", "ㅑ", "ㅜ", "ㅠ" 다음에 초성자음으로 "ㅎ"이 오는 경우는 각각 0.563%, 0.02%, 0.4%, 0.094% 이다. 이중에서 "ㅏ" 다음 초성자음으로 "ㅎ"이 오는 경우를 제외하면 거의 무시할 수 있는 미미한 수준이다. 최대한 한국어 음절을 이루는 것으로 기본 반복선택방법의 적용을 적용하면 다음과 같이 된다.
기 → 가 → 갸 → 갸ㆍ →
Figure pat00238
→ 갛 →
Figure pat00239
Figure pat00240
ㆍ(or 가ㅎㆍ) →
Figure pat00241
ㆍㆍ(or 갸ㅎㆍㆍ)
그 → 구 → 규 → 규ㆍ →
Figure pat00242
Figure pat00243
Figure pat00244
Figure pat00245
ㆍ(or 규ㅎㆍ) →
Figure pat00246
ㆍㆍ(or 규ㅎㆍㆍ)
상기 사례의 입력중간에 뒤이어 입력되는 입력값이 "ㆍ"버튼인 경우(예. "기호 = 가흐") 모호성이 있을 수 있다. 그러나 중성모음 "ㅑ", "ㅠ" 다음에 받침 "ㅎ" 그리고 초성자음 "ㅎ"이 나오는 경우는 각각 0.001%, 0%, 0.02%, 0.094% 로 거의 무시할 수 있는 수준이다. 상기와 같이 "ㆍ"버튼이 연속눌러지는 경우 모호성이 있을 수 있는데, 만약 "
Figure pat00247
"을 입력하고 싶었다면, 상기 "갸" 다음에 "ㆍ"버튼의 연속누름을 종료해 주는 수단(예. 우측이동버튼 또는 스페이스버튼 등등. 이하 대표하여 "우이동버튼"으로 표현)을 누른 후, "ㆍ"버튼 3번 누름으로써 "
Figure pat00248
"을 입력하도록 할 수 있다. 또는 타이머에 의하여 "갸" 입력후 일정시간(예. 0.2초)이 경과하면 "ㆍ"버튼 연속누름에 의한 처리가 종료되는 것으로 하여, "갸" 다음 0.2초 경과후 "ㆍ"버튼 3번 눌러짐으로 "
Figure pat00249
"을 입력할 수 있다. 상기 "갛" 상태에서 "가호"를 입력하기 위하여 "ㆍ"버튼을 한번 더 누르면 "
Figure pat00250
"이 되는데, 이 경우도 "갛" 상태에서 상기 우이동버튼 또는 상기 타이머에 의하여 "갛"을 확정한 상태에서 "ㆍ"버튼과 "ㅡ"버튼을 순차적으로 눌러 "가호"를 입력할 수 있다.
기존에는 상기 우이동버튼 또는 상기 타이머로로 기 입력된 글자를 확정하므로 "갸" 상태에서 우이동버튼이 눌러지면 "갸"가 확정되고, 다시 "ㆍ"버튼이 3번 눌러져서 "ㅎ"이 입력되면, "갸ㅎ"이 되었었다. 그러나 상기 사례에서는 "ㆍ" 버튼의 연속눌러짐에 의한 오토마타를 끊어주는 역할을 한다. 기존처럼 기 입력된 글자(예. "갸", 또는 "갛")를 완전히 확정시켜주는 것은 상기 우이동버튼을 2번 누르는 것 또는 상기 타이머에 의한 일정시간(예. 상기 0.2초보다 큰값이 0.3초)이 경과하는 것으로 처리할 수 있다. 즉, "ㆍ"버튼에 의하여 모호성이 있는 경우는 기존의 수단(예. 우이동버튼, 타이머)으로 1차적(예. 우이동버튼 1번누름 또는 0.2초 타이머)으로 "ㆍ"버튼 연속누름의 토큰이 끊어지는 것으로 처리하고 2차적(예. 우이동버튼 1번 더 누름 또는 0.2초보다 큰 값의 타이머)으로 기 입력된 글자가 확정되는 것으로 할 수 있는 것이다. 이는 아래의 사례에서도 동일하게 적용될 수 있다.
다른 한가지 방법은 "ㆍ"버튼의 연속 누름중에 삭제버튼이 눌러지면 자음입력을 위한 "ㆍ"버튼의 연속눌러짐 토큰을 종료(자음입력을 위한 "ㆍ"버튼의 연속눌러짐 로직을 초기화)하는 것으로 할 수 있다. 모음입력에 있어서는 기존과 동일하게 작동할 수 있다. 예를 들어 "갛" 상태에서 삭제버튼이 눌러지면 자소단위 또는 인지단위(아래에서 설명)인 "ㅎ"이 삭제되어 "가"가 된다. 삭제버튼이 한번 눌러졌으므로 기존의 "ㆍ"버튼의 연속눌러짐 처리가 종료되었고, 이 상태에서 다시 "ㆍ"버튼이 3번 눌러지면 "갛"이 된다. 이 역시 아래의 사례에도 동일하게 적용될 수 있다. 이 방법의 장점은 사용자가 원하지 않는 글자가 출력되었을 때 사용자는 삭제버튼을 눌러 수정하게 되는데, 삭제버튼 누르기 전의 로직대로 원하지 않는 글자가 다시 나오는 것이 아니고, 원하는 글자를 입력할 수 있는 장점이 있다.
또한 "ㅑ", "ㅠ" 다음에 자음(받침 또는 초성자음)이 나오는 경우가 거의 없으므로, 다음과 같이 변형된 오토마타를 적용할 수 있다.
기 → 가 → 갸 → 갸ㆍ →
Figure pat00251
→ 갛 → 갛ㆍ(or 가ㅎㆍ) → 갛ㆍㆍ(or 가ㅎㆍㆍ) →
Figure pat00252
ㆍㆍ(or 갸ㅎㆍㆍ)
그 → 구 → 규 → 규ㆍ →
Figure pat00253
Figure pat00254
Figure pat00255
(or 구ㅎㆍ) →
Figure pat00256
ㆍㆍ(or 구ㅎㆍㆍ) →
Figure pat00257
ㆍㆍ(or 규ㅎㆍㆍ)
선출원에서 "ㆍ"버튼 한번 누름으로 모음 "ㅏ"를 입력하는 기술을 제시한 바 있다. 또한 "ㆍ"버튼 2번 눌러짐으로 "ㅓ"를 입력하는 기술을 제시한 바 있다. 이는 도면4-* 등에서와 같이 "ㆍ" 버튼 대신, 모음 "ㅏ"를 연상시킬 수 있는 버튼(예. "ㅏ"버튼 또는 "ㅏ"와 숫자"0"을 조합한 형상의 버튼 등등)이 사용된 경우도 같다. 이하에서는 편의상 "ㆍ"버튼으로 설명한다. 이 경우에 기본 반복선택방법이 적용되는 사례 중 한가지를 보이면 다음과 같다. 역시 아래의 우화살표(→) 는 "ㆍ"버튼의 눌러짐을 포함하여 표현되었다.
ㄱ → 가 → 거 → ㄱㅎ → 갛 → 겋
상기 사례는 입력중인 "ㆍ"버튼이 최대한으로 한국어 음절을 이루는 것으로 처리하므로, "갛", "겋" 등에서의 "ㅎ"의 입력을 "ㆍ"버튼 3번 누름으로 처리할 수 있음을 보여주는 것이다. "기", "그" 다음에 "ㆍ"버튼이 눌러졌을 때는 역시 상기 제시한 것처럼 변형된 오토마타를 적용할 수 있다.
기 → 가 → 갸 → 갸ㅏ →
Figure pat00258
→ 갛 → 가하 → 가허 → 갸허
그 → 구 → 규 → 규ㅏ →
Figure pat00259
Figure pat00260
구하 → 구허 → 규허
여기서 "갛" (또는 "가ㅎ" 포함)은 상기 "ㄱ → 가 → 거 → ㄱㅎ → 갛 → 겋"에서 제시한 기술을 사용할 수 있다. 약 22%가 넘는 자주 사용하는 모음인 "ㅏ"의 경우 "ㆍ"버튼 1번누름으로 입력할 수 있는데, 굳이 "ㅣㆍ"와 같이 2타로 입력할 사용자는 별로 없기 때문이다. 따라서 다음과 같이 변형 오토마타를 적용할 수 있다.
기 → 가 → 갸 → 갸ㅏ →
Figure pat00261
기하 → 기허 → 가허 → 갸허
사용자가 "가호"를 입력하고자 했다면, "가허" 상태에서 삭제버튼을 한번 눌러 "가ㅎ" (또는 "갛") 이 되도록하고, 다시 소정의 모음입력방법(예. "ㆍㅡ")에 따라 "ㅗ"를 입력하여 "가호"를 입력할 수 있다. 상기 제시한 바와 같이 삭제버튼누름에 의하여, 탈락자음(예. "ㅎ")의 입력을 위한 "ㆍ"버튼의 연속입력 처리 로직이 초기화되는 것으로 할 수 있다. "가허" 상태에서 삭제버튼을 눌러 "가ㅎ"이 되는 것은 아래에 제시한 "삭제버튼 처리의 개선" 을 참고할 수 있다. 사용자가 "기호"를 입력하고자 했다면 상기 "기하" 상태에서, 선출원의 모음입력방법에 따라, "ㅡ"버튼을 눌러 "기호" 라는 단어를 입력할 수 있다.
29.5 반복선택방법을 이용한 입력기술의 최적화
우리 현대 한국어 유니코드체계에서 경자음(쌍자음)은 "ㄲ", "ㄸ", "ㅃ", "ㅆ", "ㅉ"의 5개가 있는데, 이중 종성자음으로 쓰일 수 있는 것은 "ㄲ"과 "ㅆ" 뿐이다. 이렇게 종성자음이 될 수 없는 쌍자음 "ㄸ", "ㅃ", "ㅉ" 을 편의상 "종성불가 쌍자음"이라고 부르고, 대응되는 평자음 "ㄷ", "ㅂ", "ㅈ"을 편의상 "쌍자음종성불가 평자음"이라고 부르기로 한다.
상기 "29.3 선출원의 개선 및 한국어 자음 입력에의 최적화"에서 출원인의 선출원을 개선하여 평자음버튼(예. [ㄱ]버튼)의 눌러짐에 따라 "ㄱ → ㄲ or ㄱㄱ → ㅋ → ㄲ → . . ." 로 입력되는 것을 제시한 바 있다. 상기에서 중요한 것은 [ㄱ]버튼이 2번 눌러졌을 때, 쌍자음(경자음)으로 인식되었다가 그 다음 모음이 입력되면 2개의 평자음(즉, "ㄱㄱ")으로 되므로, [ㄱ]버튼 2번 눌러졌을 때의 쌍자음은 임시적인 쌍자음으로 볼 수 있는 것이다.
언급하였듯이 출원인의 선출원에서 평자음버튼(예. [ㄱ]버튼)의 눌러짐에 따라 "ㄱ → ㄲ → ㅋ"으로 입력되는 것을 제시한 바 있다. 이를 개선하여 여기에서도 상기 "29.3 선출원의 개선 및 한국어 자음 입력에의 최적화"에서 제시한 바와 같이 [ㄱ]버튼이 2번 눌러졌을 때의 쌍자음(예. "ㄲ")을 그 다음 입력에 따라 "ㄱㄱ"으로 나누어질 수도 있는 임시적인 쌍자음으로 처리할 수 있다.
즉, 평자음 버튼 눌러짐에 따라 "ㄱ → ㄲ or ㄱㄱ → ㅋ" 과 같이 되는 것이다. 설명했던 바와 같이, "가" 다음에 [ㄱ]버튼이 2번 눌러지면 "
Figure pat00262
"이 되지만 이 상태에서 모음(예. "ㅏ")이 입력되면 "각가" 가 되는 것이다. "
Figure pat00263
"상태에서 "ㄱ"이 입력되면 "
Figure pat00264
"이 되고, "
Figure pat00265
"상태에서 "ㄴ"이 입력되면 "
Figure pat00266
ㄴ"이 된다. 평자음버튼의 2번 눌러짐이 쌍자음으로 되는 것은 2벌식 한글조합규칙에 따라, 동일한 평자음이 2번 입력된 것을 쌍자음으로 처리할 수 있으면 쌍자음으로 인식하고, 2개의 평자음으로 처리할 수 있으면 2개의 평자음으로 인식하는 것이다. 상기 내용을 다시 정리하면, 평자음버튼의 연속 눌러짐에 따라 적합한 한국어 자모결합규칙(한글오토마타)에 의하여 적합한 자모결합글자가 형성되는 한에서 "평자음 → 쌍자음 또는 2개의 평자음 → 격자음"으로 인식되는 것을 의미한다.
상기와 같이 처리하였을 때의 모호성은 다음과 같다. 먼저 상기 제시한 0.1% 의 모호성이 있으에 다음과 같이 중성모음 다음에 쌍자음이 초성자음으로 오는 경우가 추가된다. 이는 평자음버튼 4번눌러짐으로 쌍자음을 절대적으로 입력하는 것을 제외하였기 때문이다.
모음+ㄲ 모음+ㄸ 모음+ㅃ 모음+ㅆ 모음+ㅉ 합계
0.856 0.44 0.144 0.219 0.169 1.828
상기는 중성모음 다음에 초성자음이 오는 경우이므로, 종성자음이 없는 경우에 있어서의 발생빈도이다. 우리 한국어에서 종성자음이 없이 중성모음으로 끝나는 글자가 약 절반(정확히는 54%)이고, 종성자음이 있는 글자가 약 절반(정확히는 46%)이다. 정확히는 54%의 비중으로 고려하여야 할 것이나 약 반반씩으로 보고, 상기 1.8% 의 약 절반인 0.9%의 모호성이 있다고 할 수 있다. 상기 0.1%의 모호성과 합치면 약 1%의 모호성이 있는 것을 알 수 있다.
순환토글식 반복선택방법이 아닌 단순반복선택방법이 적용된다면 "ㄱ → ㄲ or ㄱㄱ → ㅋ (사이클종료) → ㅋㄱ → ㅋㄲ → ㅋㅋ → . . ." 과 같이 된다. 상기 "XY" 형태에서 "X"가 종성자음이면 "Y"는 초성자음이므로, 입력상태가 초성자음 상태일 때만 순환토글식 반복선택방법을 적용할 수도 있다. 예를들어, "ㄱ → ㄲ or ㄱㄱ → ㅋ → ㅋㄱ → ㅋㄲ → ㅋㅋ → ㅋㄱ → ㅋㄲ → ㅋㅋ. . ." 와 같이 된다. 현재 젊은이들 사이에서 "ㅋㅋ" 또는 "ㅋㅋㅋ" 와 같은 어구가 자주 사용되고 있으므로, 설령 "X"가 초성자음 상태이어도 순환토글식 반복선택방법이 아닌 단순반복선택방법을 적용하는 것이 더 좋을 수 있다.
상기에서 평자음버튼(예. [ㄱ]버튼)이 2번 눌러졌을 때, 쌍자음(예. "ㄲ")이 되는 것은 초성자음 상태에서는 항상 일어난다. 그러나 종성자음으로 입력되는 경우는, [ㄷ]버튼 (또는 [ㅂ]버튼 또는 [ㅈ]버튼) 의 2번 눌러짐은 쌍자음이 아닌 2개의 평자음(예. "ㄷㄷ")으로 항상 인식되게 된다. 예를 들어 "
Figure pat00267
ㄷ"와 같이 되는 것이다. ("오" 아래 종성자음으로 "ㄸ"이 올 수 없으므로) 즉, 중성모음까지 입력된 상태에서 쌍자음종성불가 평자음이 2번 연속하여 입력되면 자연히 1번째 입력은 종성자음으로, 2번째 입력은 초성자음으로 나누어지게 된다.
입력규칙을 "평자음 → 쌍자음 or 2개의 평자음 → 격자음" (예. "ㄱ → ㄲ or ㄱㄱ → ㅋ")으로 제시하더라도 사용자는 "평자음 → 쌍자음 → 격자음" 으로 인식하기 쉽다. 물론 "ㄱ"과 같은 평자음버튼을 2번 눌렀을 때의 쌍자음은 경우에 따라 2개의 평자음으로 나누어질 수 있는 것으로 인지하지만, 평자음버튼을 2번 눌렀을 때 쌍자음이 출력되지 않으면 이상하게 느껴질 수도 있는 것이다. 따라서 종성불가 쌍자음은 종성자음으로 될 수 없는 성질을 이용하여 상기 실시예의 변형형태를 제시한다.
종성가능 쌍자음(예. "ㄲ", "ㅆ")은 중성모음 상태(예. "가")에서 평자음버튼이 2번 눌러졌을 때, 항상 받침 쌍자음으로 표시되고 그 다음 입력에 따라 그대로 쌍자음으로 되기도 하고 2개의 평자음으로 나누어지기도 하므로 사용자에게도 자연스럽고 아무런 문제가 없다. 쌍자음종성불가 평자음(즉, "ㄸ", "ㅃ", "ㅉ")의 경우는 중성모음 상태(예. "가")에서 평자음버튼이 연속 2번 눌러졌을 때, 상기 로직대로 하면 2개의 평자음(종성자음+초성자음)으로 표시되어야 하나, 사용자가 평자음버튼의 2번 눌러짐을 쌍자음(경자음)으로 인지하고 있으므로, 초성자음으로의 쌍자음으로 처리하는 것이다. 예를 들어 "가" 다음에 [ㄷ]버튼이 연속 2번 눌러지면 "가ㄸ"으로 처리하는 것이다. 이렇게 할 때의 장점은 평자음버튼의 2번 눌러짐이 항상 쌍자음으로 표시된다는 것이다. 단점은 종성자음으로의 "ㄷ" 다음에 초성자음 "ㄷ"이 연속하여 나오는 경우는 사용자가 수동으로 처리(예. 타이머에 의한 소정시간지연, 1번째 "ㄷ"입력후 구분버튼누름에 의한 수동구분, ...) 하여야 한다는 것이다. ([ㄷ]버튼 2번 누름이 초성자음 "ㄸ"으로 처리되므로) 이 경우의 모호성이 발생하는 비율을 계산해 보면 다음과 같다.
모음+ㄲ 0.856
ㄷ+ㄷ 0.015
ㅂ+ㅂ 0.071
모음+ㅆ 0.219
ㅈ+ㅈ 0.03
합계 1.191
상기에서도 우리 한국어에서 종성자음(받침)이 없는 글자는 약 54%이므로"중성모음+초성자음"인 경우(예. "모음+ㄲ")는 정확히는 54%의 비중으로 고려하여야 하고, 종성자음(받침)이 있는 경우는 약 46%이므로 "자음+자음"인 경우(예. "ㄷ+ㄷ")는 정확히는 46%의 비중으로 고려하여야 하나, 종성자음(받침)이 있는 글자와 받침이 없는 글자가 약 반반씩이므로 50:50의 비중인 것으로하여 단순 합계한 결과이다. 상기 1.191% 를 절반으로 나누면 약 0.6%의 모호성이 있다고 할 수 있다. 여기에 상기 제시한 0.1%의 모호성을 더하면 약 0.7%의 모호성이 있다. 이는 상기에서 입력규칙을 "평자음 → 쌍자음 or 2개의 평자음 → 격자음" 로만 제시한 경우에 발생하는 약 1% 모호성에 비하여 모호성이 감소한 효과가 있다.
여기서 "ㅅ"에는 쌍자음(경자음)만이 있고 격자음이 없다. 따라서, 상기 출원인이 제시한 기술([ㅅ]버튼 누름에 따라, "ㅅ → ㅆ or ㅅㅅ → ㅆㅅ or ㅅㅆ → ㅆ")을 적용하는 것으로 할 수 있으며, 이렇게 하면 상기 "모음+ㅆ"의 경우가 빠지므로 상기 합계는 0.972%이고 이를 반으로 나누면 약 0.5%이므로 상기 0.1%와 합하여 약 0.6%의 모호성이 있다고 할 수 있다. 역시 상기에서 입력규칙을 "평자음 → 쌍자음 or 2개의 평자음 → 격자음" 로만 제시한 경우에 발생하는 약 1% 모호성에 비하여 모호성이 감소한 효과가 있다.
물론 여기에서 "ㄱ"의 경우는 [ㄱ]버튼 4번 눌러짐을 절대적 "ㄲ"으로 처리하고, 쌍자음종성불가 평자음의 경우는 평자음버튼의 4번 눌러짐을 "2개 평자음"으로 처리(예. "ㄷ → ㄸ → ㅌ → ㄷㄷ")하는 것을 추가로 적용하면, 모든 평자음버튼의 4번 눌러짐을 절대적으로 쌍자음으로 처리하는 것으로 설명하였던 바와 같이 단 0.1%의 모호성만이 있게 된다.
출원인의 선출원에서 "3+타 입력방법"과 그 개선사례를 제시하였던 바 있다. 기존의 반복선택방법은 어떤 버튼상에 [x y z ...] 가 배열(명시적 배열 또는 암시적 연관 모두 포함)되어 있을 때, 1번째 "x"는 상기 버튼 한번 눌러짐으로 입력되고, 2번째 배열되어 있는 "y" 는 상기 버튼 2번 눌러짐으로 입력되고, 3번째 배열되어 있는 "z" 는 상기 버튼 3번 눌러짐으로 입력되고, ... n번째 배열되어 있는 알파벳은 상기 버튼 n번 눌러짐으로 입력된다. 특정 버튼에 배열되어 있는 알파벳(예. "x")를 한번 눌러짐에 의하여 입력하는 것은 당연(키보드에서와 동일)하고, 2번째 배열된 알파벳 및 나머지 알파벳은 해당 버튼 2번 눌러짐 또는 그 이상 눌러짐으로 입력되므로, 기존의 반복선택방법은 "2+타 입력방법"이라고도 할 수 있을 것이다.
상기 발명을 요약하여 정리하면 다음과 같다. "29.3 선출원의 개선 및 한국어 자음 입력에의 최적화"에서 제시한 방법을 정리하면 "x", "y", "z", ... 가 배열된 [x y z ...] 버튼의 반복 눌러짐에 따라 "x → xx('ㄱㄱ'에 대응) 또는 z('ㄲ'에 대응) → y('ㅋ'에 대응) → z('ㄲ'에 대응) → ..." 로 되는 것과 같다. 본 발명에서 설명한 쌍자음종성불가 평자음버튼이 연속 눌러짐에 따라 "ㄷ → ㄸ → ㅌ" 으로 되는 것은 "x → y → z" 로 되는 것과 같다. 따라서 "ㄷ → ㄸ → ㅌ → ㄷㄷ" 으로 되는 것은 "x → y → z → xx" 로 되는 것과 같다. 이러한 사항이 유용한 것은 어느 버튼에 "x", "y", "z"를 배열하고 해당 버튼 1번 눌러짐으로 "x"가 입력되도록 입력시스템을 구성하는 것은 통상 "x"가 가장 사용빈도가 많기 때문이다. 따라서 반복선택방법에 의하여 해당 버튼의 반복누름에 따라 "x → y → z"로 입력되도록 하는 것이 기존 사용자에게 쉽게 이해될 수 있는 장점이 있는 반면에 "xx"를 입력하기 어려운 단점이 있었는데, "버튼에 배열(또는 연관)되어 있는 알파벳의 갯수 + 1" 회 버튼 누름으로, 해당 버튼 한번 누름에 의하여 입력하는 알파벳(즉 "x")을 2개 입력(즉, "xx")할 수 있도록 하는 의미가 있다. [ㄷ]버튼에 대하여 "ㄷ → ㄸ → ㅌ → ㄷㄷ" 을 적용한 것은 쌍자음종성불가 평자음(즉, "ㄷ", "ㅂ", "ㅈ")에 대하여 동일하게 적용할 수 있으며, 일관성을 위하여 쌍자음종성가능 평자음(즉, "ㄱ", "ㅅ")에 대해서도 적용할 수 있다. 이렇게 "버튼에 배열(또는 연관)되어 있는 알파벳의 갯수 + 1" 회 버튼 누름으로, 해당 버튼 한번 누름에 의하여 입력하는 알파벳을 2개 입력하도록 하는 것을 편의상 "배열갯수1초과누름 2알파벳 입력방법"이라고 부르기로 한다.
"배열갯수1초과누름 2알파벳 입력방법"은 버튼에 배열 또는 연관되어 있는 알파벳이 2개 (즉, "x"와 "y"가 배열된 [x y]버튼)일 때(예. "ㅅ"과 "ㅆ"만이 배열 또는 연관)에도 동일하게 적용될 수 있음은 자명하다. 예를 들어 동면10-*의 키패드에도 적용될 수 있다. 즉, 버튼누름에 따라 "x → y → xx" 로 되는 것이며, "배열 또는 연관된 알파벳의 갯수(2개) + 1" 회 버튼누름에 의하여 "xx"를 입력하는 것이다. 한국어에 적용시, 초성자음에서는 "기존의" 순환토글식 반복선택방법이 적용되도록(즉, 버튼의 반복 눌러짐에 따라 "x → y → x → y → x → ...")하고, 종성자음으로 입력될 때에만 한정하여 상기 발명을 적용하는 것도 가능하다. "x"가 종성자음일 때 "xx"의 2번째 "x"는 다음 글자의 초성자음이다.
"배열갯수1초과누름 2알파벳 입력방법"을 일반화하여 표현하면, 버튼에 "N"개(N=1 또는 1보다 큰 자연수)의 알파벳 A_1, A_2, A_3, ... A_N 이 배열 또는 연관되어 있을 때, 상기 버튼이 한번 눌러졌을 때는 1번째로 배열 또는 연관되어 있는 알파벳 A_1이 인식되고, 상기 버튼이 N번 눌러지면 N번째 배열 또는 연관되어 있는 알파벳 A_N이 인식되고, N+1번 눌러지면 A_1 이 2개 인식되는 것이다.
본 발명에서 제시한 "배열갯수1초과누름 2알파벳 입력방법"은 도면10-*의 키패드 뿐만 아니라, 다른 모든 키패드 및 컴퓨터의 키보드에서도 적용될 수 있음은 자명하다.
29.6 평자음버튼 연속 누름에 의한 입력의 최적화
상기 "29.5"에서 "ㄷ", "ㅂ", "ㅈ"의 쌍자음(즉, ㄸ, ㅃ, ㅉ)은 종성자음으로 사용되지 않으므로 본 발명에서 편의상 "쌍자음종성불가 평자음" 이라고 이름붙였다. 그리고 "ㄷ", "ㅂ", "ㅈ" 중에서 "ㅂ"과 "ㅈ"만이 이중받침(예. ㄼ, ㄵ)을 구성하는 2번째글자(예. ㅂ, ㅈ)로 사용된다. "ㄱ"과 "ㅅ"의 쌍자음(즉, ㄲ, ㅆ)은 종성으로 사용되므로 편의상 "쌍자음종성가능 평자음" 이라고 이름 붙였다. "ㄱ"과 "ㅅ"은 모두 이중 받침(예. ㄺ, ㄳ)을 구성하는 2번째 글자로 사용된다.
우리 한글의 두벌식오토마타에서 종성자음 다음에 다음글자의 초성자음이 나올때 복잡한 현상이 나타날 수 있다. "얼쑤"의 경우 "?"이 입력되었다가 "?ㅅ", 다시 "얼쑤"와 같이 입력될 수 있는 사례(29.3)를 보였다. 이하에서는 주로 평자음이 종성자음으로 입력되고 나서 변화되는 모습을 실시예로 기술하며, 평자음이 초성자음으로 입력되는 경우는 복잡성이 없으므로 선출원에서 제시한 비순환식 또는 순환식 처리를 적용하면 된다.
쌍자음은 형태상으로로 평자음이 2개 있는 형태를 띄고 있으므로 평자음 2번 누름으로 입력하는 것이 인지적으로 자연스러울 수 있다. 그러나 이 경우 연속누름이 보장되는 완벽한 한글입력을 보장하지는 못한다. 본 발명(29.6)에서는 인지적으로도 자연스럽고 모호성을 최소화하면서도 평자음 2번 누름으로 쌍자음을 입력할 수 있는 입력방법을 제시하고자 한다.
본 발명의 실시예를 설명함에 있어 주로 도면 10-*의 키패드를 예로 설명하더라도, 기존의 2벌식키보드(컴퓨터자판), 단모음키보드(2벌식키보드에서 'ㅑ', 'ㅕ', 'ㅛ', 'ㅠ' 가 빠진 자판) 등 모든 자판에서 적용될 수 있음은 자명하다. 평자음이 종성으로 입력되고 그 다음 같은 버튼이 연속눌러져 다음 글자의 초성으로 이어지는 사례를 제시하는데 기 입력된 첫 글자는 주로 "가"를 사용한다.
먼저 본 발명(29.6)과 출원인의 선출원의 차이를 명확히 보이기 위하여 출원인의 선출원에서 제시된 내용을 간단히 정리한다.
쌍자음종성불가 평자음을 2번 입력하여 쌍자음을 입력하는 경우에 대하여 살펴본다. 중성모음까지 입력된 사태(예. '가')에서 "ㄷ"이 입력되면 "갇"이 되고, 다시 "ㄷ"이 입력되면 "갇ㄷ" 또는 "가ㄸ"이 될 수 있다. "갇ㄷ"으로 처리하는 것과, "가ㄸ"으로 처리하는 것은 이미 출원인의 선출원(29.5)에서 제시한 바 있다.
가 → 갇 → 가ㄸ
실제 사용빈도에 기반하여 보면, "가ㄸ"으로 처리하는 것이 유리함을 출원인의 선출원에서 제시하였다. 또한 선출원에서는 도면 10-*의 [ㄷ]버튼에 "ㄸ"과 "ㅌ"이 연관되어 있으므로, "가ㄸ" 상태에서 "ㄷ"이 한번 더 입력되면 "같"이 되고, "ㄷ"이 한번 더 입력되면 "갇ㄷ"이 되는 것이 제시되었다. "ㅂ", "ㅈ"에 대해서도 같다.
가 → 갇 → 가ㄸ → 같 → 갇ㄷ
가 → 갑 → 가ㅃ → 갚 → 갑ㅂ
가 → 갖 → 가ㅉ → 갗 → 갖ㅈ
쌍자음종성불가 평자음 중에서 "ㅂ"과 "ㅈ"은 "ㄼ", "ㄵ"과 같이 이중받침의 2번째 글자로 사용될 수 있는데, 이 경우를 도면 10-*을 기준으로 살펴보면 다음과 같다.
갈 → ? → 갈ㅃ → ? → ?ㅂ
간 → ? → 간ㅉ → 간ㅊ → ?ㅈ
쌍자음종성가능 평자음에 대해서 도면 10-*을 기준으로 살펴보면 다음과 같다.
가 → 각 → ? → ? → 각ㄱ
↘ (모음 (예. ㅡ) 입력) → 가끄
가 → 갉 → 갈ㄲ → 갈ㅋ → 갉ㄱ
가 → 갓 → 갔 → 갓ㅅ
↘ (모음 (예. ㅡ) 입력) → 가쓰
각 → ? → 각ㅆ → ?ㅅ
이상 도면10-*을 기준으로 출원인의 선출원(29.5)에서 제시된 내용을 정리하였다. 이하에서 출원인의 선출원에서 제시한 사항에 대하여 각 글자별로 입력을 최적화하는 사례를 보인다.
이하에서 자음 "XY"로 표현된 것은, 첫번째 글자는 종성자음 두번째 글자는 초성자음으로 보면된다. 단, 경우에 따라서는 2개의 초성자음을 표현할 수도 있다. 우리 한글의 사용빈도에 의하면, "ㄷㄷ", "ㅂㅂ", "ㅈㅈ"으로 나오는 경우는 각각 0.015%, 0.071%, 0.03% 로 모두 합하여 0.116%로 매우 적음을 알 수 있다. 또한 "ㅅㅅ"으로 나오는 경우는 0.055% 에 불과하다. 모음으로 끝난 글자(예. '가', '나', '다',...) 다음에 종성자음과 초성자음으로 "ㄷㄷ", "ㅂㅂ", "ㅈㅈ", "ㅅㅅ"이 나오는 빈도는 모두 합하여 약 0.171% 밖에는 되지 않는 것이다. 반면에 모음으로 끝난 글자 다음에 초성자음으로 "ㄸ", "ㅃ", "ㅉ", "ㅆ"이 나오는 빈도는 각각 0.44%, 0.144%, 0.169%, 0.219% 로 모두 합하여 0.972% 로 약 1%에 가깝다. 따라서 "ㄷ", "ㅂ", "ㅈ", "ㅅ"에 대해서는 출원인의 선출원(29.5)에서처럼 "ㄷ → ㄸ → ㅌ" 의 쌍자음을 절대적 쌍자음으로 처리하는 것이 유리함을 알 수 있다.
쌍자음종성불가 평자음이 4번 눌러졌을 때, 2개 평자음을 인식하는 것으로 처리하지 않고, 비순환식으로 처리하는 사례를 몇가지 보이면 다음과 같다.
가 → 갇 → 가ㄸ → 같 (사이클종료) → 같ㄷ
가 → 갑 → 가ㅃ → 갚 (사이클종료) → 갚ㅂ
가 → 갖 → 가ㅉ → 갗 (사이클종료) → 갗ㅈ
"평자음 → 쌍자음 → 격자음" 까지를 하나의 사이클로 보고, 비순환식으로 처리하면 "ㅌㄷ", "ㅍㅂ", "ㅊㅈ"을 각 버튼 4번누름으로 입력할 수 있다. 이하에서 꼭 필요한 경우가 아니면 "사이클종료" 시점을 굳이 표시하지 않는다. "ㅌㄷ", "ㅍㅂ", "ㅊㅈ"으로 나오는 빈도는 각각 0.064%, 0.004%, 0.002% 로 모두 합하면 0.07% 이다. 0.07%는 "ㄷㄷ", "ㅂㅂ", "ㅈㅈ"으로 나오는 경우 0.116% 보다도 조금 적으나 두가지 빈도가 모두 매우 적음을 알 수 있다. 그럼에도 불구하고 상기 비순환식 처리를 제시하는 이유는, 격자음이 평자음버튼 3번누름으로 입력되므로 평자음버튼 4번 눌러짐으로 "격자음 + 평자음"이 입력되는 것이 인지적으로 좀 더 자연스럽기 때문이다.
순환식으로 처리되는 사례를 몇가지 보이면 다음과 같다.
가 → 갇 → 가ㄸ → 같 → 갇
가 → 갑 → 가ㅃ → 갚 → 갑
가 → 갖 → 가ㅉ → 갗 → 갖
인지적으로도 [ㄷ]버튼 3번눌러 "ㅌ"을 입력하고 나서 [ㄷ]버튼을 한번 더 눌러 "ㄷ"이 인식되므로, 총 [ㄷ]버튼 4번누름으로 "ㅌㄷ"을 입력하므로 비순환식으로 처리하는 것이 순환식으로 처리하는 것보다 사용자에게 인지적으로도 자연스럽다. 5번 이상 눌러졌을 때 비순환식으로 처리하는 것을 보이면 다음과 같다.
가 → 갇 → 가ㄸ → 같 → 같ㄷ → 같ㄸ → 같ㅌ → 같ㅌㄷ
가 → 갑 → 가ㅃ → 갚 → 갚ㅂ → 갚ㅃ → 갚ㅍ → 갚ㅍㅂ
가 → 갖 → 가ㅉ → 갗 → 갗ㅈ → 갗ㅉ → 갗ㅊ → ?ㅊㅈ
평자음이 기 입력된 앞글자의 종성자음과 결합하여 이중받침을 이룰 수 있는 경우를 살펴보면 다음과 같다.
간 → ? → 간ㅉ → 간ㅊ → ?ㅊ (사이클종료. 4번누름 = 'ㅈㅊ')
또는
간 → ? → 간ㅉ → 간ㅊ (사이클종료) → 간ㅊㅈ (비순환형. 4번누름 = 'ㅊㅈ')
[ㅈ]버튼 3번눌러 "ㅊ"을 입력할 수 있고, "ㅈㅊ"은 [ㅈ]버튼 4번누름에 대응하므로, 상기와 같은 경우 [ㅈ]버튼 4번누름으로 "ㅈㅊ"이 인식되는 것은 인지적으로 좋은 특징이 있다. 그러나, 실제 사용빈도에 있어서 "ㄵㅊ"으로 나오는 것은 0% 이므로, [ㅈ]버튼 4번누름(버튼에 배열 또는 연관되어 있는 자음의 수를 초과하여 눌렀을 때)을 "ㅈㅊ"으로 처리하지 않는 것이 바람직하다. 상기 사례에서 보듯이 상황(이중받침으로 결합될 수 있는 종성자음 다음에 평자음버튼이 눌러졌는지,...)에 따라 그리고 입력규칙을 어떻게 정의하느냐에 따라 사이클 마디가 달라질 수 있다.
마찬가지로 쌍자음종성가능 평자음인 "ㄱ"과 결합하여 이중받침이 되는 "ㄺ"에 대하여 살펴본다.
갈 → 갉 → 갈ㄲ → 갈ㅋ → 갉ㅋ (사이클종료. 4번누름 = 'ㄱㅋ')
또는
갈 → 갉 → 갈ㄲ → 갈ㅋ (사이클종료) → 갈ㅋㄱ (비순환형처리. 4번누름 = 'ㅋㄱ')
도면 10-*에서 [ㅅ]버튼에는 "ㅅ"과 "ㅆ"만이 연관되어 있다. 출원인의 선출원(29.3)에서 설명하였듯이 [ㅅ]버튼 누름에 따라 "ㅅ → ㅆ or ㅅㅅ → ㅆㅅ or ㅅㅆ → ㅆㅆ"으로 될 수 있음을 설명하였다. 실제로 사용빈도에 있어서 "ㅆㅅ"은 "했습니다" , "갔습니다", "왔습니다", ... 와 같이 상대적으로 다수 (빈도 0.375%) 사용되므로 [ㅅ]버튼 3번 누름을 "ㅆㅅ"으로 처리하는 것이 훨씬 자연스럽고 인지적으로도 타당하다. 마찬가지로 "?→..."의 사례에서도 "ㅅ"이 3개로 이루어진 형태의 "ㅅㅆ"을 [ㅅ]버튼 3번 누름으로 입력되도록 할 수 있다. "ㅅㅅ"으로 나오는 경우는 0.055%이고, "ㅅㅆ"이 나오는 경우는 0.003%로 양자가 거의 미미하므로 인지적으로 타당([ㅅ]버튼 3번 누름으로 'ㅅㅆ'입력)한 방향으로 처리할 수도 있다.
가 → 갓 → 갔 → 갔ㅅ → 갔 (선출원 29.3)
↘ (모음 (예. ㅡ) 입력) → 갓스 (선출원 29.3)
↘ (모음 (예. ㅡ) 입력) → 가쓰 (선출원 29.5)
↘ 갓ㅆ (본 발명. 3번누름 =- 'ㅅㅆ')
각 → ? → 각ㅆ → ?ㅅ (선출원 29.5)
↘ ?ㅆ (본 발명. 3번누름 = 'ㅅㅆ')
"갓ㅆ" 상태에서 [ㅅ]버튼이 한번 더 눌러지면 "갔ㅆ"로 처리될 수도 있으나, "ㅆㅆ"의 사용빈도는 0%로 이므로 굳이 "ㅆㅆ"으로 처리할 필요성이 있지는 않다. 모음으로 끝난 글자 다음에 [ㅅ]버튼이 3번 눌러졌을 때, "ㅅㅆ"으로 나오는 빈도는 0.055% 인데 비해 "ㅆㅅ"으로 나오는 경우는 0.375%로 훨씬 더 높으므로, 비순환식으로 처리하여 "ㅅㅆ"이 아닌 "ㅆㅅ"이 인식되도록 하는 것이 타당하다.
가 → 갓 → 갔 (사이클종료) →갔ㅅ
그리고 실제로 "ㄳㅆ", "ㄽㅆ", "ㅄㅆ"으로 나오는 경우는 각각 0%, 0%, 0.02% 이다. 따라서 실제로 없는 "ㄳㅆ", "ㄽㅆ" 으로 처리하지 않고, 비순환식으로 처리한다면 다음과 같이 된다. 모음으로 끝난 글자 다음에 [ㅅ]버튼이 3번 눌러졌을 때와 동일하게 "ㅆㅅ"으로 처리되므로 사용자에게 통일적이고 일관된 사용감을 제공할 수 있다.
각 → ? → 각ㅆ (사이클종료) → 각ㅆㅅ
갈 → ? → 갈ㅆ (사이클종료) → 갈ㅆㅅ
순환식으로 처리한다면 다음과 같이 된다.
각 → ? → 각ㅆ → ?
갈 → ? → 갈ㅆ → ?
그러나 "값싼" 과 같이 "ㅄㅆ"이 나오는 경우는 적어도 0.02% 있으므로, 다음과 같이 [ㅅ]버튼 3번 누름으로 "ㅅㅆ" (정확히는 'xㅅㅆ'. x=ㅂ)으로 인식되도록 처리하는 것이 타당하며, 이는 본 발명의 중요한 사항 중의 하나이다. 도식화하여 보이면 아래와 같다.
갑 → 값 → 갑ㅆ → 값ㅆ (사이클종료)
도면10-*을 기준으로 한번 눌러진 평자음이 앞글자의 종성자음과 결합하여 이중받침을 이루면서 "ㄵㅊ", "ㄳㅆ", "ㄽㅆ", "ㄺㅋ"로 나오는 빈도는 각각 0% 이며, "ㅄㅆ"만이 유일하게 의미있는 사용빈도를 가진다. 상기 발명을 출원인의 선출원(29.3, 29.5)과 대비하여 보이면 다음과 같다.
갑 → 값 → 값ㅅ → 값ㅆ → 갑ㅆ (선출원29.3의 '얼쑤' 사례 참고)
갑 → 값 → 갑ㅆ → 값ㅅ (선출원 29.5)
"ㄱㅆ", "ㄹㅆ", "ㅂㅆ"으로 나오는 경우는 각각 0.023%, 0.171%, 0.017% 로 모두 합하면 0.21% 이다. 반면에 "ㄳㅅ", "ㄽㅅ"으로 나오는 경우는 각각 0%씩이고 "ㅄㅅ"으로 나오는 경우는 0.02% 밖에는 되지 않는다. 선출원(29.3)에서는 사용빈도가 없거나 상대적으로 매우 적은 "ㄳㅅ", "ㄽㅅ", "ㅄㅅ"가 [ㅅ]버튼 2번누름으로 처리되었고, 상대적으로 빈도가 많은 "ㄱㅆ", "ㄹㅆ", "ㅂㅆ" 가 [ㅅ]버튼 4번 누름으로 처리되었다. 또한 선출원(29.5)에서는 [ㅅ]버튼 2번누름으로 "ㄱㅆ", "ㄹㅆ", "ㅂㅆ"이 처리되었으나, [ㅅ]버튼 3번누름으로 "ㅄㅆ"을 처리하지 못하였다. 그러나 본 발명에서는 상대적으로 사용빈도가 더 많은 "ㄱㅆ", "ㄹㅆ", "ㅂㅆ" 이 [ㅅ]버튼 2번 누름으로 처리되면서도, [ㅅ]버튼 3번 누름으로 자연스럽게 "ㅄㅆ"을 처리할 수 있는 장점이 있다.
본 발명의 다른 부분에서도 굳이 언급하지 않더라도, "?ㅅ" 과 같이 입력규칙이 정의되지 않은 경우(다른 유사경우 포함)는 "?"까지 입력하고 나서 소정의 수단(예. 사용자가 음절마침수단 누름)에 의하여 글자입력을 종료하고 "ㅅ"을 입력하는 식으로 가능한 것은 자명하다.
다음으로 "가 → 각 → ?" 다음에 모음이 입력되었을 때, "ㄱㄱ"으로 처리(선출원 29.3)할 지, "ㄲ"으로 처리(선출원 29.5)할 지의 문제이다.
"ㄱㄱ"으로 나오는 것은 1.096% 이며 상대적으로 매우 많은 빈도를 차지하고 있다. 그리고 모음으로 끝난 글자 다음에 초성자음으로 "ㄲ"이 나오는 것은 0.859% 이다. 우리 한글에서 종성자음이 없는 글자가 약 54%이고 종성자음이 있는 글자가 약 46%이므로 종성자음이 없는 글자의 빈도(예. 0.859%)를 54%의 비중으로, 종성자음이 있는 글자의 빈도(예. 1.096%)를 46%의 비중으로 고려하여야 할 것다. 지금까지는 양자가 대략 반반씩이므로 가중치(54%, 46%)를 적용하지 않고 단순히 비교하였으나, 여기서는 좀 더 정밀하게 가중치(54%, 46%)까지 고려하여 비교하면 다음과 같다.
"ㄱㄱ" 으로 나오는 경우 1.096%의 46% = 0.504
모음+초성"ㄲ"으로 나오는 경우 0.859%의 54% = 0.46%
조금이라도 "ㄱㄱ"의 빈도가 더 많으므로, "ㄱㄱ"으로 처리하는 것이 약간 더 유리하지만, 사실상 양자의 차이가 거의 없음을 알 수 있다. 따라서 출원인의 선출원(29.3, 29.5) 중에서 한가지를 적용할 수 있다. 도면 10-*을 기준으로 출원인의 선출원(29.3)에서 제시한 바와 같이 [ㄱ]버튼 2번 누름을 "ㄲ" 또는 "ㄱㄱ"으로 처리할 수 있으며, 4번 눌러짐을 절대적인 "ㄲ"으로 처리할 수 있다.
가 → 각 → ? → ? → ? → (모음(예. ㅡ) 입력) → 가끄
↘ (모음 (예. ㅡ) 입력) → 각그
더 나아가 싸이클이 종료된(즉, ㄱ→ㄲ→ㅋ 싸이클에서 'ㅋ'이 입력된) 다음 앞글자의 종성자음 x(예. ㄹ)에 "ㄱ"이 결합할 수 있는 경우는 "ㄱㅋ"으로 처리하거나 또는 비순환형 또는 순환형으로 처리힐 수 있다. 그러나 "ㄺㅋ"의 빈도는 0% 이므로 "ㄱㅋ"으로 처리하지 않는 것이 바람직하다.
갈 → 갉 → 갈ㄲ → 갈ㅋ → 갉ㅋ (사이클종료. 4번누름 = 'ㄱㅋ'으로 인식)
또는
갈 → 갉 → 갈ㄲ → 갈ㅋ (사이클종료) → 갈ㅋㄱ (비순환형처리. 4번누름 = 'ㅋㄱ')
"ㄾ"과 "ㄿ"은 별도의 이중받침으로 쓰일 수 있으므로 4번 눌러졌을 때 "ㄷㅌ", "ㅂㅍ"이 아닌 "ㅌㄷ", "ㅍㅂ"으로 되는 것이 바람직하다.
갈 → 갈ㄷ → 갈ㄸ → ? (사이클종료) → ?ㄷ
갈 → ? → 갈ㅃ → ? (사이클종료) → ?ㅂ
[ㄱ]버튼 4번 눌러짐을 "ㄱㅋ"(본 실시예에서는 'ㄺㅋ'으로 입력됨)이 아닌 "ㅋㄱ"으로 처리하는 것은 "ㅌㄷ" (본 실시예에서는 'ㄾㄷ'으로 입력됨), "ㅍㅂ" (본 실시예에서는 'ㄿㅂ'으로 입력됨) 으로 인식하고 처리하는 것과 일관성이 있게 된다. 또한 실제 사용자들이 "ㅋㅋ" 등의 표현을 자주 사용하고 있는데, "갈" 다음에 [ㄱ]버튼 연속 6번 눌러 "ㅋㅋ"를 입력할 수 있는 장점이 있다.
도면 10-*을 기준으로 [ㄱ]버튼의 연속눌러짐에 대하여 출원인의 선출원(29.5)을 적용한 것을 도식으로 보이면 다음과 같다.
가 → 각 → ? → ? → 각ㄱ (선출원 29.5)
↘ (모음(예. ㅡ) 입력) → 가끄
상기와 같이 처리하는 것은 본 발명에서 "ㄷ", "ㅂ", "ㅈ", "ㅅ" 버튼 2번누름이 항상 쌍자음으로 처리되는 것과의 일관성이 유지되는 잇점이 있다. 그러나, 본 발명에서 제시한 바와 같이 쌍자음이 있는 평자음 중에서 "ㄷ", "ㅂ", "ㅈ", "ㅅ"을 각각 연속 2번 입력한 것은 각각의 쌍자음으로 항상 처리되도록 하며, "ㄱㄱ" (예. '국가'에서 종성자음 및 초성자음)은 인지적으로 항상 "ㄱ"이 2개인 것으로 사용자는 인식하므로 [ㄱ]버튼 2번 누름을 "ㄱㄱ"으로 처리하는 것이 더 바람직할 수 있다. 만약 "ㄱ"이 이중받침으로 결합될 수 없는 종성자음(예. 'ㅁ')으로 끝난 글자(예. '감') 다음에 [ㄱ]버튼이 4번 눌러졌다면 "감ㄱㄱ"이 되어야 한다. 그러나 [ㄱ]버튼 4번누름이 "ㄱㄱ"으로 되는 것은 종성자음에서 초성자음으로 넘어오는 것을 처리하기 위한 것이므로, 상기 경우(감+ㄱ...)처럼 1번누름이 초성자음으로 인식되는 경우는 3번 눌렀을 때까지를 사이클 마디로 보는 것이 타당하다. 이 역시 상황에 따라 또는 관점에 따라 사이클 마디가 조금씩 달라질 수 있음을 의미한다.
또한 출원인의 선출원에서 제시된 "ㄲ = ㄱㅣㅣ", "ㅋ = ㄱㅡㅡ"와 같이 모음버튼과 조합하여 입력할 수도 있음은 자명하다.
본 발명의 실시예에서 보였듯이, 종성자음으로 끝난 글자(예. ㅂ) 다음에 특정 글자(예. ㅅ)가 인식된다는 것은, 그 앞의 종성자음과 결합하여 이중받침을 이룰 수 있는 경우는 이중받침으로 입력(예. ㅄ)되는 것을 의미하고, 이중받침을 이룰 수 없는 경우는 그 자체의 자음으로 입력되는 것을 의미한다.
도면10-*을 기준으로 상기 내용을 요약하면 다음과 같다.
각 버튼에 첫번째로 배열 또는 연관되어 있는 알파벳은 각 버튼 1번누름으로 인식된다.
쌍자음종성불가 평자음('ㄷ', 'ㅂ', 'ㅈ')에 대해서는 1번누름으로 해당 평자음이 인식된다. 2번누름은 항상 해당 쌍자음으로 인식된다. 이는 모음으로 끝난 글자 다음에 쌍자음종성불가 평자음이 2번 입력되더라도 "ㄷㄷ"으로 인식되지 않는다는 것이다. 이렇게 처리하는 것이 인지적측면("ㄷ" 2번 누름에 의하여 "ㄸ"이 입력된다는 사용자의 인식)과 사용빈도 측면에서 유리함을 설명하였다. 3번 누름은 항상 해당 격자음으로 인식된다. 4번누름은 대응되는 격자음과 해당 평자음으로 인식된다. 이 역시 상기 설명한 바 인지적 측면 및 실용적 측면을 모두 종합하여 최적화된 결과이다.
[ㅅ]버튼에는 "ㅅ"과 "ㅆ"이 연관 또는 배열되어 있다. [ㅅ]버튼 한번 누름으로 "ㅅ"이 인식된다. 2번누름은 항상 "ㅆ"으로 인식된다. 이는 모음으로 끝난 글자 다음에 [ㅅ]버튼이 2번 눌러져서 "ㅆ"으로 인식된 후, 다시 모음이 입력되어도 "ㅅㅅ"으로 되지 않고 초성자음 "ㅆ"으로 인식된다는 의미이며, 또한 "ㅅ"이 결합될 수 있는 종성자음(예. 'ㄱ')으로 끝난 글자 다음에 "ㅅ"이 2번 눌러져도 "ㅅㅅ"이 인식되어 그 결과 "ㄳㅅ"이 되는 것이 아니라 항상 "ㅆ"으로 인식된다는 의미이다. [ㅅ]버튼 3번 누름은 "ㅆㅅ"으로 인식된다. 이 역시 "ㅅ"이 결합될 수 있는 종성자음(예. 'ㄱ')으로 끝난 글자 다음에 "ㅅ"이 3번 눌러져도 "ㄳㅆ"으로 되지 않고 "ㅆㅅ"으로 인식된다는 의미이다. 단, 종성자음 "ㅂ"으로 끝난 글자 다음에 [ㅅ]버튼이 3번 눌러지면 "ㅅㅆ"으로 인식되어 그 결과는 "ㅄㅆ"이 되는 것이 바람직하다.
"ㄱ"에 대해서는 2가지의 처리가 가능하다. [ㄱ]버튼 1번 눌러짐은 "ㄱ"으로 인식된다. [ㄱ]버튼 2번누름은 "ㄲ" 또는 "ㄱㄱ"으로 인식된다. "ㄱㄱ"으로 인식되는 것은 다음의 몇가지를 들 수 있다. 모음으로 끝난 글자 다음에 [ㄱ]버튼이 2번 눌러지면 종성자음 "ㄲ"으로 되지만 그 다음 모음이 입력되면 "ㄱㄱ"으로 인식되는 것, 그리고 "ㄱ"이 결합할 수 있는 종성자음(예. ㄹ)다음에 [ㄱ]버튼이 2번 눌러지면 "ㄱㄱ"이 인식되어 그 결과 "ㄺㄱ"이 되는 것을 의미한다. [ㄱ]버튼 3번누름은 "ㅋ"으로 인식된다. 그리고 [ㄱ]버튼 4번누름은 항상 "ㄲ"으로 인식된다. 이는 4번 누름에 의하여 입력된 종성자음 "ㄲ" 다음에 모음이 오더라도 "ㄱㄱ"으로 되지 않는 것을 의미한다.
이상이 도면10-*을 기준으로 인지적인 측면과 실용적인 측면을 모두 고려하여 같은 평자음버튼을 연속 눌러 쌍자음 및 격자음을 입력할 때, 종합적으로 최적화된 처리를 제시하였다. 도면10-*을 기준으로 설명하였으나, 유사한 경우에 동일하게 적용될 수 있다.
상기에서 [ㄱ]버튼 눌러짐에 의한 또 한가지는 처리는 다음과 같다. 단, 본 발명의 상세한 설명에도 있듯이 상기 요약에서 제시한 기술을 권장한다. [ㄱ]버튼 1번눌러짐은 "ㄱ"으로 인식된다. [ㄱ]버튼 2번 눌러짐은 항상 "ㄲ"으로 인식된다. 이는 종성자음으로 입력된 상기 "ㄲ" 다음에 모음이 오더라도 "ㄱㄱ"으로 되지 않음을 의미한다. [ㄱ]버튼 3번누름은 항상 "ㅋ"으로 인식된다. [ㄱ]버튼 4번 누름은 "ㄱㄱ"으로 인식된다.
본 발명에서 설명한 내용을 다시 정리하면 다음과 같이 된다.
다수의 버튼을 가지고 있으며, 각 버튼에는 하나 이상의 한국어 알파벳이 배열 또는 연관되어 있으며, 평자음버튼에 각각 상기 평자음에 대응되는 쌍자음과 격자음이 연관 또는 배열되어 있는 키패드에서 한국어를 입력하는 방법에 있어서,
상기 버튼의 1번 눌러짐으로 상기 눌러진 버튼에 첫번째로 배열 또는 연관되어 있는 알파벳이 인식되고,
쌍자음종성불가 평자음인 "ㄷ", "ㅂ", "ㅈ" 버튼중 어느 한 버튼의 1번 눌러짐으로 해당 평자음이 인식되고,
"ㄷ", "ㅂ", "ㅈ" 버튼중 같은 버튼의 2번 연속 눌러짐으로 대응되는 쌍자음이 인식되고,
"ㄷ", "ㅂ", "ㅈ" 버튼중 같은 버튼의 3번 연속 눌러짐으로 대응되는 격자음이 인식되고,
"ㄷ", "ㅂ", "ㅈ" 버튼중 같은 버튼의 4번 연속 눌러짐으로 대응되는 격자음과 해당 평자음이 인식되며,
"ㅅ" 버튼의 1번 눌러짐으로 "ㅅ"이 인식되고,
"ㅅ" 버튼의 2번 눌러짐으로 "ㅆ"이 인식되고, 이에 의한 종성자음 "ㅆ" 다음에 연속하여 모음버튼이 입력되었을 때 초성자음 "ㅆ"이 인식되고,
"ㅅ" 버튼의 3번 눌러짐으로 "ㅆㅅ"이 인식되며,
"ㄱ" 버튼의 1번 눌러짐으로 "ㄱ"이 인식되고,
"ㄱ" 버튼의 2번 눌러짐으로 "ㄲ" 또는 "ㄱㄱ"이 인식되고, 이에 의한 종성자음 "ㄲ" 다음에 연속하여 모음이 입력되었을 때 종성자음과 초성자음의 "ㄱㄱ"으로 인식되며,
"ㄱ" 버튼의 3번 눌러짐으로 "ㅋ"이 인식되고,
"ㄱ" 버튼의 4번 눌러짐으로 "ㄲ"이 인식되고, 이에 의한 종성자음 "ㄲ" 다음에 연속하여 모음이 입력되었을 때 초성자음 "ㄲ"으로 인식되는 것
을 특징으로 하는 키패드에서의 한국어 입력방법
상기에 다음의 내용이 추가적으로 적용될 수 있다.
상기에 있어서,
종성자음 "ㅂ"으로 끝난 글자 다음에 연속하여 "ㅅ" 버튼의 3번 눌러짐으로 "ㅅㅆ"이 인식(기 입력된 종성자음 "ㅂ"과 합하여 'ㅄㅆ'이 입력)되는 것
을 특징으로 하는 키패드에서의 한국어 입력방법
상기에 다음의 내용이 추가적으로 적용될 수 있다.
상기에 있어서,
자음버튼 한번 눌러짐으로 입력되는 자음은 "ㄱ", "ㄴ", "ㄷ", "ㅁ", "ㅂ", "ㅅ", "ㅇ", "ㅈ" 의 자음을 적어도 포함하는 것
을 특징으로 하는 키패드에서의 한국어 입력방법
상기에 다음의 내용이 추가적으로 적용될 수 있다.
상기에 있어서, 사이클종료 이후 비순환형으로 처리되는 것을 특징으로 하는 키패드에서의 한국어 입력방법
또한 상기에서의 [ㄱ]버튼 눌러짐 처리 대신에, [ㄱ]버튼 2번 눌러짐으로 절대적으로 "ㄲ" 인식되고, 3번 눌러짐으로 "ㅋ"이 인식되고, [ㄱ]버튼 4번 눌러짐으로 "ㄱㄱ"이 인식되는 것을 적용할 수 있다.
다음으로 2벌식키보드(컴퓨터자판) 또는 구글社의 "단모음키보드"처럼 "ㄱ", "ㄷ", "ㅂ", "ㅅ", "ㅈ"버튼에 각각 "ㄲ", "ㄸ", "ㅃ", "ㅆ", "ㅉ"만이 연관되어 있는 경우의 처리를 살펴본다. 구글社의 단모음키보드는 컴퓨터자판에서 'ㅑ', 'ㅕ', 'ㅛ', 'ㅠ'가 빠져 있으며, ㅑ = ㅏㅏ, ㅕ = ㅓㅓ, ㅛ = ㅗㅗ, ㅠ = ㅜㅜ 로 입력된다. 안드로이드마켓(구글플레이스토어)를 통해 광범위하게 사용되어 있으므로 단모음키보드에 대한 도면 및 설명은 생략한다. 단, 컴퓨터자판을 기준으로 설명하더라도 본 발명의 기술 사상은 다른 자판에도 동일하게 적용될 수 있음은 자명하다.
현재 기존의 2벌식키보드 등에서 쌍자음을 평자음 2번 누름으로 처리하는 것은 많은 프로그램에서 선보이고 있다. 그러나 소정시간안에 2번 연속 눌러지면 쌍자음으로 처리하고 소정시간을 넘어 2번 연속 눌러지면 평자음 2번 입력으로 처리하고 있다. 그러나 사용자가 쌍자음을 입력할 때는 빠르게 2번 눌러주고, 평자음 2번을 입력할 때는 천천히 2번 눌러주지 않는다는 것이다. 1분에 300타~400타를 치는 사용자가 있다면 그 사용자는 무자비하게 항상 빠르게 누른다고 볼 수 있는 것이다. 결국 전통적으로 12버튼 자판 등에서 있었던 "모호성"의 문제는 지금도 중요한 문제일 수 밖에 없다.
기존에는 평자음이 2번 눌러졌을 때 일반적으로 다음과 같이 처리되었다.
가 → 갇 → 갇ㄷ → 갇ㄸ
출원인의 선출원(29.5)를 적용하면 다음과 같이 된다. 다른 자음(즉, ㄱ, ㅂ, ㅅ, ㅈ)의 경우에도 동일하다.
가 → 갇 → 가ㄸ → 갇ㄷ
여기서 평자음버튼에는 해당 평자음과 대응되는 쌍자음 2개 만이 연관되어 있으므로, 평자음 버튼 3번 누름이 "ㄷㄷ"으로 된다. 인지적으로 홀수번 누름으로 짝수개의 자음을 입력하는 것이 약간은 부자연스러운 점이 있다. [ㄷ]버튼 2번 누름을 "ㄸ"으로 처리하는 것이 사용자에게 인지적으로 자연스러움은 이미 출원인의 선출원(29.3)에서 설명한 바 있다.
이미 언급한대로, 쌍자음종성불가 평자음이 "ㄷㄷ", "ㅂㅂ", "ㅈㅈ"으로 나오는 경우는 각각 0.015%, 0.071%, 0.03% 로 모두 합하여 0.116%로 매우 적다. 따라서 다음과 같이 평자음버튼 3번 누름을 "ㄷㄸ"으로 처리할 수 있다.
가 → 갇 → 가ㄸ → 갇ㄸ
가 → 갑 → 가ㅃ → 갑ㅃ
가 → 갖 → 가ㅉ → 갖ㅉ
종성자음 다음에 나오는 이중받침으로 결합될 수 있는 평자음(예. ㅂ, ㅈ)이 눌러진 경우는 다음과 같다.
갈 → ? → 갈ㅃ → ?ㅃ
간 → ? → 간ㅉ → ?ㅉ
이는 본 발명에서 이미 설명한 이는 본 발명에서 이미 제시한 "갈 → 갉 → 갈ㄲ → 갈ㅋ → 갉ㅋ"의 사례와 같다. 사용빈도 측면에서 보면 "ㄷㄸ", "ㅂㅃ", "ㅈㅉ"으로 나오는 경우는 각각 0.002%, 0.001%, 0% 에 불과하다. 또한 "ㄼㅃ", "ㄵㅉ" 은 각각 0%, 0.002% 이다. 5가지 경우를 모두 합해도 0.005% 이다. 상기 제시한 "ㄷㄷ", "ㅂㅂ", "ㅈㅈ"으로 나오는 경우인 0.116% 보다도 훨씬 적다. 그럼에도 특정 자음 3개의 형태로 이루어진 자음(예. ㄷㄸ) 에 대한 "인지적 부합성" 측면에서 상기와 같이 처리할 수 있음을 제시한 것이다.
상기는 모음으로 끝난 글자 또는 종성자음이 있더라도 기 입력된 종성자음이 눌러진 평자음과 합하여 이중받침을 이룰 수 있는 경우, 특정 버튼에 연관되어 있는 글자의 수(예에서는 평자음과 쌍자음 2개) 를 초과하여 눌러졌을 때, 이를 "평자음 쌍자음" 으로 인식하고 처리하는 것이다.
"ㅆ"의 경우 종성자음이 될 수 있기 때문에 모음 다음에 [ㅅ]버튼이 연속하여 눌러진 경우는 출원인의 선출원 및 본 발명에서 제시된대로 처리될 수 있다. 예를 들어 "가 → 갓 → 갔 → 갔ㅅ"와 같이 된다. 단, "ㅅ"이 이중받침으로 결합될 수 있는 종성자음(예. "ㅂ", "ㄱ", "ㄹ")으로 끝난 글자 다음에 [ㅅ]버튼이 3번 연속 눌러지는 경우는 상기 제시한 대로 "갑 → 값 → 갑ㅆ → 값ㅆ" 와 같이 처리될 수 있다. "ㄲ"의 경우도 "ㅆ"의 경우와 동일하다. 종성자음에서 이중받침으로 결합되는 경우의 예를 들면 "갈 → 갉 → 갈ㄲ → 갉ㄲ" 으로 처리될 수 있다. 모두 평자음버튼의 3번 누름을 "ㅅㅆ" 또는 "ㄱㄲ"으로 인식하고 처리하는 것이다.
상기는 모두 평자음 버튼이 눌러졌을 때 종성으로 처리되는 경우이며, 초기상태에서 평자음버튼이 눌러졌을 때 초성자음인 경우는 이미 선출원에서 제시한 바와 같이 단순히 비순환식 또는 순환식으로 처리하면 된다.
이를 일반화하여 표현하면 다음과 같다. A_1이 쌍자음종성불가 평자음이고, A_1, A_2, A_3, ... A_N 과 같이 N개의 한국어 자음이 하나의 버튼에 연관되어 있을 때, N회 눌러짐은 누름 횟수에 대응되는 자음으로 인식되고, "N+1회" 눌러짐을 "A_1 A_N" 으로 인식하고 처리하는 것을 의미한다. 이미 설명한 대로, "A_1 A_N"은 "XY"와 같이 종성자음과 초성자음이다. 인식된 A_1 은 종성자음이거나 기 입력된 종성자음과 결합하여 이중받침을 이루며, 인식된 A_N은 초성자음으로 처리된다.
단, A_1이 쌍자음종성불가 평자음의 경우는 모음으로 끝난 글자 또는 입력되는 평자음과 결합하여 이중받침을 이룰 수 있는 종성자음으로 끝난 글자 다음에 해당 버튼이 연속 눌러진 경우이며, A_1이 쌍자음종성가능 평자음의 경우는 A_1과 결합하여 이중받침을 이룰 수 있는 종성자음으로 끝난 글자 다음에 해당 버튼이 연속 눌러진 경우이다.
이를 정리하면 다음과 같다.
다수의 버튼을 가지며 상기 버튼에는 N개(N은 1 또는 1이상을 포함하는 자연수)의 한국어 자음(A_1, A_2, ... A_N)이 배열 또는 연관되어 있는 키패드에서 반복선택방법에 의하여 한국어를 입력하는 방법에 있어서,
상기 A_1은 쌍자음종성불가 평자음이며, 모음으로 끝난 글자 또는 A_1과 결합하여 이중받침을 이룰 수 있는 종성자음이 입력된 후,
또는
상기 A_1은 쌍자음종성가능 평자음이며, A_1과 결합하여 이중받침을 이룰 수 있는 종성자음이 입력된 후,
상기 버튼이 1번 눌러지면 A_1이 인식되고,
상기 버튼이 2번 눌러지면 A_2가 인식되고,
상기 버튼이 N번 눌러지면 A_N이 인식되고,
상기 버튼이 N+1번 눌러지면 "A_1 A_N"이 인식되는 것
을 특징으로 하는 키패드에서의 한국어 입력방법
추가적으로 상기에서, A_2는 쌍자음인 것을 더 포함할 수 있다.
29.7 반복누름에 의한 탈락자음 (예. "ㅎ")입력시의 모호성 해결
출원인의 선출원(29.4)에서 도면10-*을 기준으로 [ㆍ]버튼 3번 눌러짐으로 [ㆍ]버튼에 연관 또는 배열되어 있는 "ㅎ"을 입력하는 것을 제시하였다. 몇몇 사례에서 [ㆍ]버튼 1번 누름을 "ㅏ"로 [ㆍ]버튼 2번 누름을 "ㅓ"로 처리하면 다음과 같이 될 수 있음을 설명하였다.
ㄱ → 가 → 거 → ㄱㅎ → 갛 → 겋
상기에서 "가호"를 입력하기 위하여 "갛" 상태에서 "ㆍㅡ"를 누르면 "거흐"이 될 것이다. "겋" 상태에서 "ㆍㅡ"를 눌러 "거호"가 되는 것이 문제가 없는 것은 선출원(29.4)에서 설명하였다.
"ㅏ"를 "ㅣㆍ"로 입력하는 경우에는 [ㆍ]버튼 연속눌러짐에 의하여 다음과 같이 처리될 수 있음을 설명하였다.
기 → 가 → 갸 → ? → 갛 → ?
이 경우에도 "기허"를 입력하기 위하여 "?" 상태에서 "ㆍㅣ"를 누르면 "가히"가 될 것이다. 마찬가지로 "가허"를 입력하기 위하여 "갛" 상태에서 "ㆍㅣ"를 누르면 "갸히"가 될 것이다. "기허"와 마찬가지로 "기호" (ㅗ=ㆍㅡ로 입력), 그리고 "가허"와 마찬자로 "가호"의 경우도 동일한 문제가 발생한다. 즉, "기허 ↔ 가히"의 입력값은 같으나 다르게 나타날 수 있는 모호성이 있는 것이다.
일반적으로 이러한 모호성을 해결할 수 있는 수단으로는 "소정시간경과후 입력", 또는 "끊음버튼누름"([공백]버튼도 끊음버튼으로 사용될 수 있음) 등이 있다. 기존에는 소정시간이 경과하거나, 끊음버튼이 눌러지면 이미 입력된 글자(예. '?')가 완성되어 그 다음 "ㆍㅡ"가 입력되면 "?ㅗ"와 같이 되었다. 즉, 아래와 같다.
기 → 가 → 갸 → ? → 갛 → ?
↘ (소정시간경과 or 끊음버튼, ㆍㅡ누름) → ?ㅗ
그러나 본 발명의 사례에서는 소정시간경과 또는 끊음버튼누름에 대하여 이미 입력된 글자 "?"이 종성자음까지 입력되었다는 상태는 유지하되, "ㆍㅡ" 눌러짐에 대하여 "가히"로 처리하지 않고, "기호"로 처리하여야 하는 것이다. 즉, 소정시간경과 또는 끊음버튼누름에 의하여 글자조합이 완전히 종료되는 것이 아니고, 그 다음 입력되는 "ㆍㅡ"에 대하여 이미 입력된 "?"에 변화(예. '? → 갛')를 주지않도록 되는 것이다. 이를 편의상 "소정시간경과 또는 끊음버튼누름에 의한 입력상태확정" 또는 줄여서 "입력상태확정" 라고 부르기로 한다.
상기 사례에서 살펴보듯, 소정시간경과 또는 끊음버튼누름을 사용하지 않으면, [ㆍ]버튼 3번 눌러짐으로 "ㅎ"이 입력되고 나서 그 다음 모음을 입력하기 위하여 연이어 [ㆍ]버튼이 눌러지는 글자의 경우에 문제가 발생됨을 알 수 있다. 본 발명에서는 소정시간경과 또는 끊음버튼누름을 사용하지 않으면서 이를 해결할 수 있는 기술을 제시한다.
[ㆍ]버튼 연속 3번 눌러짐에 의하여 "ㅎ"이 입력되고 나서, [ㆍ]버튼으로 시작하는 모음이 아닌 [ㅡ]버튼 또는 [ㅣ]버튼으로 시작하는 모음이 입력되는 경우는 아무런 문제가 없다. 즉, "?"에서 "ㅣ"가 입력되면 "기히"가 되고, "갛"에서 "ㅣ"가 입력되면 "가히"가 된다. 여기까지는 전혀 문제가 없다.
여기서 탈락자음 "ㅎ" 이 입력된 다음에 [ㅡ]버튼 2번 누름으로 다른 알파벳(다른 자음)을 입력하지 않으므로, "기히"상태에서 "ㅣ"가 한번 더 입력되면 "기허"로 처리할 수 있다. [ㅣ]버튼 눌러짐에 따른 모음의 변화만을 표현하면 "ㅣ → ㅓ"로 표현할 수 있다. 아래 도식에서 우측화살표는 "ㅣ"버튼 눌러짐을 포함하고 있다. (이하에서 "ㅣ"가 연속하여 눌러지거나, "ㅡ"가 연속하여 눌러지는 것은 화살표사이에 별도로 (ㅣ입력) 또는 (ㅡ입력)을 표기하지 않음)
? → 기히 → 기허
"기허" 상태에서 "ㅣ"가 한번 더 입력되면, "기헤"로 된다. (ㅔ=ㅓㅣ 이므로) "ㅕ"를 입력하기 위하여는 "ㅣㅣ"로 입력된 "ㅓ" 다음에 [ㆍ]버튼을 한번 눌러 "ㅕ"를 입력할 수 있다. "ㅕ"가 인식된 상태에서 "ㅣ"가 한번 더 눌러지면 "ㅖ"가 된다. 이를 정리하면 다음과 같다.
? → 기히 → 기허 → 기헤
↘ (ㆍ입력) →기혀 → 기혜
"ㅣㅣㆍ" (즉, "ㅓㆍ") 에 의하여 입력된 "ㅕ" 다음에 "ㅣ"눌러짐에 의하여 "ㅖ"가 되는 것은 당연하다. "갛" 상태에서 처리되는 것도 동일하다.
갛 → 가히 → 가허 → 가헤
↘ (ㆍ입력) →가혀 → 가혜
"?" 상태에서 "ㆍㅣ" 또는 "ㆍㆍ"을 눌러 "갸허"로 입력하는 것이 문제가 없음은 선출원(29.4)에서 설명한 바 있다. 그러나 사용상의 일관성을 위하여 상기 내용을 적용할 수 있으며, 이를 도식화하여 보이면 다음과 같다.
? → 갸히 → 갸허 → 갸헤
↘ (ㆍ입력) →갸혀 → 갸혜
다음으로 [ㆍ]버튼 3번누름으로 입력되는 자음(예. ㅎ) 다음에 "ㅗ" 또는 "ㅛ"를 입력하는 경우를 보인다.
상기 "?" 상태에서 [ㅡ]버튼 2번눌러짐을 "ㅗ"로 처리할 수 있다.
? → 기흐 → 기호
상기에서 [ㅡ]버튼 눌러짐에 따른 모음의 변화만을 표현하면 "ㅡ → ㅗ" 가 된다. 모음 "ㅗ"의 경우는 "ㅗ" 다음에 "ㅡ"가 결합되는 모음이 없으므로, [ㅡ]버튼 3번 누름을 "ㅛ"로 처리할 수 있다. 또한 "ㅕ"의 처리 경우와 일관성을 위하여 "ㅗㆍ"을 "ㅛ"로 처리할 수 있다. 양자 중 한가지만 적용하여도 되며, 양자가 동시에 모두 적용될 수도 있다. 이를 도식화하여 보이면 아래와 같다.
? → 기흐 → 기호 → 기효
↘ (ㆍ입력) → 기효
만약 [ㅡ]버튼 3번으로 "ㅛ"를 입력하는 것만을 적용한다면, 선출원에서 보인바와 같이 "ㅗㆍ"눌러짐을 "ㅘ"로 처리할 수도 있다. "ㅘ"로 되고 나서 "ㅣ"가 눌러지면 "ㅙ"로 될 것이다.
? → 기흐 → 기호 → 기효
↘ (ㆍ입력) → 기화 → (ㅣ입력) → 기홰
상기 "기호" 상태에서 "ㅣ"가 눌러지면 "기회"로 되고, "기회" 상태에서 "ㆍ"이 눌러지면 "기화"로 되고, "기화" 상태에서 "ㅣ"가 눌러지면 "기홰"가 된다.
? → 기흐 → 기호 → (ㅣ입력) → 기회 → (ㆍ입력) → 기화 → (ㅣ입력) → 기홰
"?" 상태에서의 입력사례를 보였으나, "갛" 상태에서의 처리도 "?" 상태에서의 처리와 완전히 동일('?', '기' 만이 각각 '갛', '가'로 바뀜)하므로 설명을 생략한다. 마찬가지로 "?" 상태 및 "?" 상태에서의 처리역시 "?", "갛" 상태에서의 처리와 완전히 동일하므로 설명을 생략한다.
이상 본 발명을 적용함으로써, [ㆍ]버튼에 함께 배치된 자음(예. ㅎ)을 [ㆍ]버튼 3번 누름으로 입력하면서, 동시에 "ㄱ, ㄴ, ㄷ, ㄹ, ㅁ, ㅂ, ㅅ, ㅇ, ㅈ, ㅎ" 10개의 자음(자음그룹)을 10개 숫자버튼에 각각 하나씩 완전하게 배열함으로써, 숫자와 한글자음의 대응관계를 활용할 수 있게 하면서도, 모호성없이 완벽한 한글입력을 실현할 수 있도록 한 의미가 있다.
"?" 상태에서는 "ㅓ = ㆍㅣ" 또는 "ㅓ = ㆍㆍ"으로 처리할 수 있고, "ㅕ = ㆍㆍㅣ"로 처리할 수 있다. 그러나 "?" 상태에서도 본 발명을 적용하여 "갸허", "갸혀", "갸호", "갸효"를 입력할 수 있음은 물론이다.
이상에서 [ㆍ]버튼 3번 눌러짐으로 입력되는 자음(예. ㅎ)이 종성자음으로 입력된 경우에 모호성 없이 입력할 수 있는 기술을 보였다. [ㆍ]버튼 3번누름으로 초성자음이 입력된 경우는 기존처럼 "ㅓ=ㆍㅣ", "ㅕ=ㆍㆍㅣ", "ㅗ=ㆍㅡ", "ㅛ=ㆍㆍㅡ"로 입력해도 아무런 문제가 없었다. 그러나 [ㆍ]버튼 3번누름으로 초성자음이 입력된 경우에도 사용자에게 일관성을 제공하기 위하여 본 발명에서 제시한 모음입력규칙이 적용되도록 할 수 있다.
선출원에서 "격자음 = 평자음ㅡㅡ", "쌍자음 = 평자음ㅣㅣ"로 입력하는 것을 보였고, 이 격자음과 쌍자음 다음에는 "ㅡㅡ" 또는 "ㅣㅣ"를 눌러 다른 자음을 입력하지 않는다고 하면(다시말해 "격자음+ㅡㅡ" 또는 "격자음+ㅣㅣ"로 다른 자음을 입력하지 않으면), 마찬가지로 본 발명에서 제시한 모음입력규칙을 적용할 수 있다.
또한 더 나아가 "격자음 = 평자음ㅡㅡ", "쌍자음 = 평자음ㅣㅣ"으로 입력하는 것을 적용하지 않더라도, 제자리누름 만으로 입력하면서도 모호성을 최소화하면서 인지적으로도 부합할 수 있게 처리할 수 있는 방법을 제시한 바 있다. 따라서 "ㅡ" 또는 "ㅣ" 연속 2번 누름을 이용하여 격자음과 쌍자음을 입력하는 것을 적용하지 않는다면, 사용자에게 사용상의 일관성을 제공하기 위하여 모든 경우에 본 발명의 모음입력기술을 적용할 수 있다. 예를 들어 "각" 까지 입력된 상태에서 본 발명이 적용되는 것을 보이면 다음과 같다.
각 → 가그 → 가고 → 가교
↘ (ㆍ입력) → 가교 or 가과
각 → 가기 → 가거 → 가게
↘ (ㆍ입력) → 가겨 →
예시되지 않은 나머지 모음의 입력은 모음요소 "ㅡ", "ㆍ", "ㅣ" 를 이용한 기존의 방법 및 출원인의 선출원에서 제시한 모음입력규칙(예. ㅢ=ㅡㅣ, ㅚ=ㅗㅣ, ㅘ=ㅗㅏ, ㅙ=ㅗㅐ=ㅗㅏㅣ, ...)을 적용할 수 있음은 본 발명에서 이미 설명한 바와 같다.
이를 정리하면 다음과 같다.
천지인으로 알려진 모음요소 "ㅡ", "ㆍ", "ㅣ"각 각각 배열된 3개의 버튼을 이용하여 한국어 모음을 입력하는 방법에 있어서,
"ㅣ" 버튼 1번 눌러짐에 의하여 "ㅣ"가 인식되며,
"ㅣ" 버튼 2번 눌러짐에 의하여 "ㅓ"가 인식되며,
상기 인식된 "ㅓ" 다음에 "ㆍ"이 눌러지면 "ㅕ"로 인식되며,
상기 인식된 "ㅓ" 다음에 "ㅣ"가 눌러지면 "ㅔ"로 인식되며,
"ㅡ" 버튼 1번 눌러짐에 의하여 "ㅡ"가 인식되며,
"ㅡ" 버튼 2번 눌러짐에 의하여 "ㅗ"가 인식되며,
상기 인식된 "ㅗ" 다음에 "ㆍ"이 눌러지면 "ㅛ" 또는 "ㅘ"로 인식되며,
을 특징으로 하는 키패드에서의 한국어 모음 입력방법
또한 상기에서 추가적으로 다음을 포함할 수 있다.
상기에 있어서,
상기 인식된 "ㅗ" 다음에 "ㆍ"이 눌러지면 "ㅘ"로 인식되는 경우,
상기 인식된 "ㅗ" 다음에 "ㅡ"가 눌러지면 "ㅛ"로 인식되는 것
을 특징으로 하는 키패드에서의 한국어 모음 입력방법
상기에 있어서,
상기 모음버튼의 눌러짐은 "ㆍ" 버튼에 연관 또는 배열된 자음이 "ㆍ" 버튼 3번 눌러짐으로 인식된 후의 모음버튼 눌러짐인 것
을 특징으로 하는 키패드에서의 한국어 모음 입력방법
30. 삭제버튼 처리의 개선
30.1 "인지단위" 기준으로의 삭제버튼 처리
현재 키패드 입력기술에서는 자소 단위의 삭제(취소) 로직이 주로 적용되고 있다. 예를 들어, "에"를 입력한 상태에서 "삭제"버튼을 누르면, "ㅇ"이 된다. 키보드에서는 "ㅔ" 입력시 "ㅔ"버튼을 한번 눌러 입력하므로, 마지막 입력된 "ㅔ"가 삭제되어 "ㅇ"이 되는 것이 자연스럽다. 그러나, 도면4-*을 포함한 키패드에서는 "ㅔ" 는 "ㅓ+ㅣ = ㆍㅣㅣ"와 같이 조합되어 입력된다. 편의상 현재 삼성전자社에서 적용하고 있는 모음입력방법으로 "에"가 입력되는 과정을 보면, 다음과 같다. 우화살표는 각각 "ㆍ", "ㅣ", "ㅣ" 가 눌러짐을 나타낸다.
ㅇ → ㅇㆍ → 어 → 에
사용자는 "ㅓ+ㅣ"로 인지하고 입력한 것이다. 따라서 인지단위로의 삭제 로직을 적용할 수 있다. 상기 "에"가 입력된 상태에서 삭제버튼이 눌러지면 최종입력한 것으로 인지되는 "ㅣ"가 삭제되어 "어"가 되고, 한번 더 삭제버튼이 눌러지면 "ㅇ"이 되는 것이다. 만약 상기 "어" 상태에서 "ㄱ"이 눌러지면 "억"이 될 것이다.
종합하면 "자소단위"가 아닌 자소가 조합된 "인지단위"로의 삭제로직이 적용되는 것이다. 몇가지 다른 사례를 들면 "애"를 입력시 "ㅇㅣㆍㅣ" 로 입력하였다면 사용자는 "ㅏ+ㅣ"로 "ㅐ"를 입력한 것으로 인지하므로 "애" 상태에서 삭제버튼이 한번 눌러지면 "아"가 되고, 한번 더 눌러지면 "ㅇ"이 된다. 상기 "아"상태에서 삭제버튼이 눌러지면 "이"가 되는 것이 아닌지 의문을 가질 수 있다. 그러나 사용자가 인지하는 단위는 "ㅏ" 이며, "ㅣㆍ" 에서 "ㆍ"은 독립적으로 존재하는 인지단위가 아니라고 볼 수 있다.
대표적인 사례로 삼성전자사의 모음입력방법이 적용되었을 때의 인지단위에 의한 삭제 적용사례를 보이면 다음과 같으며, 키패드에서 모음을 입력하는 다른 사례에서도 유사하게 적용될 수 있다. 예를 들어 "ㆍ"버튼으로 "ㅏ"를 입력하는 기술에서도 유사하게 적용될 수 있다. 10개의 기본모음 "ㅏ", "ㅑ", "ㅓ", "ㅕ", "ㅗ", "ㅛ", "ㅜ", "ㅠ", "ㅡ", "ㅣ" 는 모두 하나의 인지단위 이므로 삭제버튼 한번 누름에 의하여 삭제된다. 편의상 기존의 2벌식 키보드에서의 동작과 동일한 경우는 1가지만 표기한다. 아래의 우화살표(→)는 삭제버튼의 눌러짐을 의미하며, 아래에의 유사한 사례에서도 같다.
ㅔ → ㅓ → 모두 삭제됨
ㅐ → ㅏ → 모두 삭제됨
ㅏ → 모두 삭제됨
ㅓ → 모두 삭제됨
. . .
ㅝ → ㅜ → 모두 삭제됨 (기존 2벌식 키보드에서도 동일)
ㅞ → ㅝ → ㅜ → 모두 삭제됨
ㅒ → ㅑ → 모두 삭제됨
ㅙ → ㅘ → ㅗ → 모두 삭제됨
키패드 한국어 입력에서 대표적인 인지단위로는 다음의 것들이 있을 수 있다. "ㅔ"는 주로 "ㅓ"와 "ㅣ"의 조합으로 입력된다. 따라서 "ㅓ"와 "ㅣ"는 별개의 인지단위가 될 수 있다. "ㅐ" 는 주로 "ㅏ"와 "ㅣ"의 조합으로 입력된다. 따라서 "ㅏ"와 "ㅣ"는 별개의 인지단위가 될 수 있다. "ㅙ"의 경우도 "ㅗ", "ㅏ", "ㅣ"의 조합으로 입력되므로 각각이 별개의 인지단위가 될 수 있다. "ㅞ"의 경우도 "ㅜ", "ㅓ", "ㅣ" 의 조합으로 입력되므로, 각각이 별개의 인지단위가 될 수 있다.
30.2 삭제버튼누름후 입력완료된 글자의 재조합
삭제버튼 눌러짐에 의한 삭제로직에 있어서 또 한가지 응용이 있을 수 있다. 현재 PC에서의 2벌식 한글오토마타 적용 사례는 다음과 같다. 우측화살표(→)는 삭제버튼 눌러짐을 포함하고 있으며, 아래의 사례에서도 같다.
가나다 → 가나ㄱ → 가나 → 가 → . . .
최근 스마트폰 등에서 적용되고 있는 변형 오토마타의 사례는 다음과 같다.
가나다 → 가낟 → 가나 → 간 → 가 → ㄱ
특징은 중성모음이 삭제되어 초성자음만이 남을 때, 앞글자의 종성자음이 될 수 있으면 앞글자의 종성자음으로 결합되는 것이다. 유사한 예로 "갈기" 에서 삭제버튼이 한번 눌러지면 "갉"이 된다. 상기 "간"이 되었을 때, "ㄱ"이 눌러지면 "간ㄱ"이 되고, "ㅣ"가 눌러지면 "가니"가 된다. 이는 오타 수정의 융통성을 주는 요소 중의 하나가 될 수 있다. 그러나 사용자가 "가나다"에서 삭제버튼을 눌러 "가나ㄷ"이 되는 것을 심리적으로 "기대"하고 있었는데, "가낟"이 되는 것은 혼란을 주는 요소가 될 수 있다. 만약 사용자가 "가낟다"를 입력하고자 했었다면 삭제버튼 한번 누르고 바로 "다"를 추가로 입력하면 된다. 그러나 "가나드"로 수정하고자 했던 경우는 기대와 다른 "가낟"이 되므로 당황스러울 수 있는 것이다.
따라서 중간적인 형태를 제시한다. 예를 들어 다음과 같다.
가노라 → 가노ㄹ → 가노 → 가ㄴ → 가 → ㄱ
삭제버튼 연속눌러짐에 의하여 최종입력중인 글자가 삭제되어도 입력토큰이 끊어지지 않고 글자가 재조합 될 수 있는 특징은 가지면서, 중성모음이 삭제되었을 때, 초성자음이 앞글자의 종성자음으로 결합되지 않는 것이다. 동시에 삭제버튼 입력후 새로 눌러지는 버튼누름이 남아있는 글자와 결합될 수 있으면 결합된다. 예를 들어, 상기 "가노" 상태에서 "ㅇ" 눌러지면 "가농"으로 되며, 상기 "가노" 상태에서 "ㅣ"가 눌러지면 "가뇌"가 된다. 이는 사용자에 혼란이 적으면서도 삭제버튼 사용시의 융통성을 제공할 수 있을 것이다.
31. 모호성 제거를 위한 수단
31.1 영어 등 공통
아래에서 편의상 영어의 사례를 들어 설명하나, 다른 언어에서도 동일하게 적용될 수 있다.
도면1-1(표준 영어키패드)에서 반복선택방법(멀티탭방법) 적용시, 입력값 "222" 는 "aaa", "ab", "ba", "c" 와 같이 모호성이 있음을 선출원에서 설명하였다. 기존에는 "aaa", "ba", "c"가 아닌 "ab"를 입력하는 방법 크게 2가지 있었다. 선출원에서 설명하였던 바와 같이 "2"를 눌러 "a"를 입력하고 나서 소정의 시간이 경과하여 "a"가 확정된 후, "22"를 눌러 "b"를 입력할 수 있다. 즉 시간지연에 의한 구분방식으로, 편의상 "시간지연방식" 또는 "타이머방식" 이라고 부르기로 한다. 또 다른 방법은 "2"를 눌러 "a"를 입력하고 나서, 소정의 구분버튼(예. [#]버튼)을 눌러주어 "a"를 확정하고 나서 다시 "22"를 눌러 "b"가 입력되는 것이었다. 즉 구분버튼 누름에 의한 인위적인 방식이며, 이를 편의상 "구분버튼방식"이라고 부르기로 한다.
출원인의 선출원(26.1.1)에서 "acb" 를 모호성없이 입력하기 위하여 "2 2~22 2~2" 와 같이 ("2~" 는 [2]버튼 길게 누름을 의미) 할 수 있음을 지적하였다. 또한 첫번째 "a"를 입력하기 위한 입력값 "2"를 길게 누름에 의하여 입력할 수도 있다고 하였다. 즉 같은 버튼에 배열(또는 연관)되어 있는 알파벳이 연속하여 입력될 경우, 2번째 이후(즉, 3번째, 4번째, ... 포함)의 알파벳을 입력하기 위한 첫번째 입력값을 길게 누르는 것이다. 만약 "abc"를 입력하고자 한다면, "2 2~2 2~22" 와 같이 될 것이다. 가독성을 위하여 하나의 알파벳(예. "a", "b", "c")을 나타내는 입력값(예. "2", "2~2", "2~22") 사이에 공백을 넣어 표현하였지만, 공백이 어떤 의미를 가지는 것은 전혀 아니며, 이는 이하에서도 마찬가지이다.
이 과정을 좀 더 자세히 살펴보면 다음과 같다. 반복선택방법에서 "a" 는 입력값 "2" 에 의하여 입력될 수 있으므로, "a = 2" 로 표현할 수 있다. 마찬가지로 "b = 22"로 표현할 수 있고, "c = 222"로 표현할 수 있다. 따라서 "abc = 222222" 로 표현할 수 있다. 그러나 "222222"는 "bbb"도 될 수 있고 "cc"도 될 수 있다. 출원인의 선출원에서는 "a"다음에 나오는 "c"를 입력하기 위한 "222"의 첫 입력값을 길게 누르고, 다시 "c"다음에 나오는 "b"를 입력하기 위한 "22"의 첫 입력값을 길게 누르는 것으로 처리한 것이다. 이렇게 같은 버튼에 배정된 알파벳이 연속하여 나올때, 다음 알파벳의 첫 입력값을 길게 눌러 처리하는 것을 편의상 "후행알파벳장타처리"라고 부르기로 한다. 더 정확히는 "후행알파벳의 최초(처음)버튼 장타처리" 라고 부를 수도 있으나, 간단히 "후행알파벳장타처리"라고 하는 것이다.
다음으로 유사한 사례로 "cab"를 다른 방법에 의하여 입력하는 사례를 보인다. 선출원에서는 같은 버튼에 배정된 알파벳이 연속하여 나올 때, 먼저 나오는 알파벳은 원래대로 입력하고, 그 다음 알파벳을 길게누름에 의하여 입력할 수 있음을 보였다. 그러나 먼저 나오는 알파벳을 장타에 의하여 입력할 수도 있음을 보인다. 예를 들어 "cab"를 입력할 때, 입력값 "222~ 2~ 22" 와 같이 할 수 있다. 선행알파벳을 구성하는 마지막 입력값을 길게 누름에 의하여 입력하는 것이다. 입력값의 표기 "222~ 2~ 22" 에서 공백은 본 특허문서를 읽는 분들의 가독성 향상을 위해 넣은 것이고 공백이 가지는 의미는 없다. 물론 "cd"를 입력시에는 "222 3"과 같이 하면 되며, 굳이 길게누름을 개입시키지 않아도 된다. 마찬가지로 "cad" 입력시에는 "222~ 2 3"과 같이 "c"의 입력에만 길게누름을 적용하고 "a" 입력시 길게누름을 사용하지 않아도 된다. "a"다음에 같은 버튼에 배열된 알파벳이 아닌 "d"가 나오기 때문이다. 마찬가지로 이를 편의상 "선행알파벳의 최종(마지막)버튼 장타처리"라고 하며 더 간단히 "선행알파벳장타처리" 라고 부르기로 한다.
이렇게 반복선택방법이 적용될 때, 선행알파벳(예. "ca"에서 "c")의 입력에 장타를 이용하여 모호성을 없앨 때는 마지막 입력값을 장타로 처리해야 하고, 후행알파벳(예. "ac"에서 "c")의 입력에 장타를 이용하여 모호성을 없앨 때는 처음 입력값을 장타로 처리해야 하는 것이 중요하다. 상기 "선행알파벳장타처리"와 "후행알파벳장타처리"는 동시에 적용될 수 있는 것은 아니고, 양자중 한가지가 선택적으로 적용된다. 프로그램으로 구현될 경우는 "환경설정"에서 양자중 한가지를 사용자가 선택하고 사용하도록 할 수 있다.
31.2 한글고어(옛한글) 입력 및 모호성의 제거 수단
본 발명에서는 현대 한국어와 한글고어를 포함하는 글자를 모두 입력할 수 있는 방안을 제시한다. 하기에서 설명하는 내용은 도면4-*의 키패드 뿐만 아니라 다른 형태의 키패드 및 PC의 키보드에서도 적용이 가능한 기술임을 미리 밝힌다.
도면4-33(a) ~ 도면4-33(c)는 2007년 유니코드로 추가된 한글고어를 보여주고 있다. 상기 도면에서 노란바탕으로 표시된 부분이 새로 추가된 자모이다. 도면4-33(a) ~ 도면4-33(c)의 모든 자모는 현재 유니코드로 확정되었으며, 도면4-33(d) ~ 도면4-33(f)는 2010년 기준으로 유니코드v6.0 으로 등록된 것을 보여주고 있다. 이처럼 유니코드의 글자는 개정을 통하여 계속 추가되고 있다. 본 발명에서는 한글고어를 효율적으로 입력할 수 있는 기술을 제시하는 것이며, 컴퓨터에서 한글고어를 포함하여 자모조합된 한글글자를 표현하는 방법은 본 발명에서 다루는 대상이 아님을 밝힌다. 컴퓨터(PC, 스마트폰, 휴대폰, ... 등)에서 유니코드완성형한글과 함께 호환성있게 한글고어를 어떻게 처리해야 하는지의 문제는 추가적으로 많은 연구가 필요한 "초대형 국책 프로젝트"가 될 것이다. 참고로 한글고어를 포함하여 자모조합된 한글글자를 표현하는 대표적인 방법으로 "첫가끝조합형"이 알려져있으며, 다른 어떤 방식(즉, 유니코드 완성형, 첫가끝조합형, ...)에서도 본 발명의 입력기술은 적용이 가능하다.
31.2.1 한글고어 자음의 입력
출원인의 선출원에서 한글고어를 입력하는 방법을 일부 소개하였다. 도면4-*의 키패드에서 한글고어를 입력하는 사례를 정리하면 다음과 같다. 본 발명에서 입력값을 "숫자버튼값" (예. "1**" 등)이 아닌 "한글버튼값" (예. "ㄱㅡㅡ" 등)으로 표기하는 것은 가독성을 높여 본 문서를 읽으시는 분들의 편의를 위한 것으로 그 내용은 완전히 같다는 것을 미리 밝힌다. 먼저 선출원에서 "y" 입력에 대해, "y = xㅡㅡ" 또는 "z = xㅣㅣ" 로 입력하는 원천기술을 제시한 바 있다. 예를 들어 "ㅋ = ㄱㅡㅡ", "ㅍ = ㅂㅡㅡ" 와 같이 입력하는 것이었다. 또한 "ㅸ = ㅍㅡㅡ = ㅂㅡㅡㅡㅡ" 와 같이 함으로써 한글고어까지도 입력할 수 있음을 보였다. 이를 편의상 "모음버튼이용 컨트롤처리방법" 이라고 부르기로 한다. 도면4-*의 키패드를 그대로 유지하면서, 연관된 한글고어자음까지도 자연스럽게 입력할 수 있는 것이다. 대표자음인 평자음 "ㅂ"과의 유사도를 보면 "ㅍ"보다 "ㅸ"이 더 유사성이 강할 수도 있으나, 현대 한국어의 입력을 우선하고 추가적으로 한글고어를 처리할 수 있게 한 것이다.
현대한국어의 입력을 우선하면서, 고어자음까지 모음버튼을 이용한 컨트롤처리방법에 의하여 처리하는 사례를 보이면 도면4-34(a)와 같다. 유니코드에는 새로이 발견되는 한글고어(옛한글) 글자가 계속 추가되고 있으므로, 도면4-34(a) 이외에 다른 알파벳이 추가될 수도 있으나, 도면4-34(a)와 유사한 구성으로 얼마든지 입력이 가능하다. 도면4-34(a)에서 1차조합되는 쌍이응(ㆀ) 과 2차조합되는 옛이응(
Figure pat00268
)은 서로 바뀌어서 구성될 수도 있다.
"ㅸ = ㅍㅡㅡ" 에서 "y"는 "ㅸ"이고, "x"는 "ㅍ"인 것이다. 마찬가지로 "ㅹ = ㅃㅣㅣ = ㅂㅣㅣㅣㅣ" 가 된다. 상기에서 평자음(예. "ㄱ") 아래 좌측에 표기된 자음(예. "ㅋ")은 "ㅡ"버튼 2번 누름의 조합으로 입력되고, 우측에 표기된 자음(예. "ㄲ")은 "ㅣ"버튼 2번 누름의 조합으로 입력되는 것으로 할 수 있다. 상기 예시에서 [ㅡ]버튼 또는 [ㅣ]버튼은 바뀌어 적용될 수도 있다. "1차조합"되는 알파벳은 평자음 다음에 "ㅡ" 또는 "ㅣ"버튼이 연속 2번 눌러지고, "2차조합"되는 알파벳은 1차조합되는 알파벳 다음에 "ㅡ" 또는 "ㅣ" 버튼이 연속 2번 눌러지고, "3차조합"되는 알파벳은 2차조합되는 알파벳 다음에 "ㅡ"버튼 또는 "ㅣ"버튼이 연속2번 눌러지게 된다. 결과적으로 상기 "2차조합"에서 "ㅡ" 또는 "ㅣ" 버튼이 연속하여 4번 눌러지게 된다. 3차조합에서는 6번, 4차조합에서는 8번 눌러지게 된다.
상기와 같이 [ㅡ]버튼 또는 [ㅣ]버튼이 각각 2번, 4번, 6번, 8번 눌러짐으로 조합되는 것은 한글고어 모음 중 "
Figure pat00269
" 와"
Figure pat00270
" (및 "
Figure pat00271
" 와"
Figure pat00272
"가 포함된 한글 고어 모음)를 각각 [ㅡ]버튼 2번 누름과 [ㅣ]버튼 2번 누름으로 입력하지 않고 다른 수단(예. 각각 [ㅡ]버튼 길게 누름, [ㅣ]버튼 길게 누름)으로 입력하는 경우에 가능하다. 만약 "
Figure pat00273
" 와"
Figure pat00274
"를 각각 [ㅡ]버튼 2번 누름과 [ㅣ]버튼 2번 누름으로 입력한다면, "y = x +(최대반복누름 가능횟수+1회)" 로 하여야 하므로, "ㅋ = ㄱㅡㅡㅡ" 와 같이 된다. "
Figure pat00275
= ㄱㅡㅡ"로 되고, 한글고어에서도 자음 다음에 모음 "ㅡ"가 연속하여 3번 나오는 경우는 없으므로, "최대반복누름 가능횟수" 는 정상적으로 한국어 자모결합글자를 이루는 최대횟수로써 2회가 된다. 이를 적용하면, 도면 4-34(a)에서 "ㅡ" 또는 "ㅣ"가 조합되는 횟수는 각각 3회씩 된다.
향후 한글고어가 키패드 한국어 입력에서 사용되는 때가 올지도 모르지만, 설령 그 때가 온다고 하더라도 현대 한국어 글자 보다는 훨씬 더 적게 사용될 것이다. 따라서 최소한 현대 한국어의 자음(예. "ㅋ")에 대해서는 [ㅡ]버튼 또는 [ㅣ]버튼의 2회 누름의 조합으로 입력할 수 있으면서, 도면3-34에서 2차조합 이상의 한글고어 글자(예. "
Figure pat00276
", "
Figure pat00277
", ...)에 대해서만 [ㅡ]버튼 또는 [ㅣ]버튼의 3회 눌러짐의 조합으로 입력할 수 있는 기술은 아래 "한글고어 모음의 입력 및 모호성 제거 수단" 에서 따로 설명한다. 이하에서는 1차조합되는 알파벳(예. "ㅋ")은 [ㅡ]버튼 또는 [ㅣ]버튼 2번 눌러짐이 적용되고, 2차조합 또는 그 이상 차수로 조합되는 알파벳은 [ㅡ]버튼 또는 [ㅣ]버튼의 3번 눌러짐이 적용되는 것으로 사례를 제시한다.
"
Figure pat00278
"은 유니코드에는 포함되어 있지 않으나, 일부 프로그램에서는 사용되고 있다. 먼저 여린히읗 "ㆆ = ㅇㅡㅡ" 로 입력한 후, [ㅣ]버튼을 2번 누르면 "
Figure pat00279
"가 되고, [ㅡ]버튼이 한번 더 눌러지면 (즉, "ㆆㅣㅣㅣ = ㅇㅡㅡㅣㅣㅣ") "
Figure pat00280
" 가 인식될 수 있다. 또는 여린히읗 "ㆆ = ㅇㅡㅡ" 로 입력된 후, [ㅡ]버튼이 3번 눌러지면 (즉, "ㆆㅡㅡㅡ = ㅇㅡㅡㅡㅡㅡ") "
Figure pat00281
"로 처리될 수 있다. 옛이응과 쌍이응의 입력사례를 더 보이면, 쌍이응 "ㆀ = ㅇㅣㅣ"로 입력되고, 옛이응 "
Figure pat00282
= ㆀㅣㅣㅣ = ㅇㅣㅣㅣㅣㅣ" 로 될 수 있다.
현재 PC 키보드 입력에서 "ㅸ"은 "ㅂ"과 "ㅇ"의 조합으로, "ㅱ"은 "ㅁ"과 "ㅇ"의 조합으로, "ㅹ"은 "ㅃ"과 "ㅇ"의 조합으로 입력하기도 한다. 이 역시 키패드입력에도 동일하게 적용할 수 있으므로 도면4-34(a)에서는 이러한 알파벳(예. "ㅸ")을 둥근괄호에 넣어 표현하였다. 이 경우 모호성이 발생할 수 있는데, 아래에서 제시하는 방법으로 해결이 가능하다.
4-*의 키패드사례에서는 "ㅎ"이 [0]버튼에 명시적 또는 암시적으로 배정되어 있으나, [0]버튼 한번 누름으로 "ㅎ"을 입력하지는 못한다. (선출원에서 제시한 특별한 경우는 제외) 선출원에서 "ㅎ = ㆍㅡㅡ" 또는 "ㅎ = ㅇㅡㅡ" 로 입력할 수 있음을 밝히고 있다. 논리로 보면 여린히읗 "ㆆ = ㅇㅡㅡ" 로 입력하는 것이 자연스럽게 느껴질 수도 있으나, 현대 한국어를 우선하여 "ㅎ = ㅇㅡㅡ"로 할 수 있음을 밝힌 것이다. 도면4-34(a) 에서는 [ㅎ]버튼이 별도로 있는 것처럼 표현되어 있으나, 도면4-*의 키패드에서와 같이 어떤 버튼의 한번 누름으로 "ㅎ"을 입력할 수 없는 경우는 선출원에서 제시한 것과 같이 버튼의 조합으로 "ㅎ"을 입력할 수 있다. 만약 "ㆆ = ㅇㅡㅡ" 로 한다면, "ㅎ = ㆍㅡㅡ" 또는 "ㅎ = ㆍㆍㆍ" 로 할 수 있는 것이다. "ㆅ = ㅎㅣㅣ" ("
Figure pat00283
"를 허용하지 않을 경우) 또는 "ㆅ = ㅎㅣㅣㅣ" ("
Figure pat00284
"를 허용할 경우)로 입력할 수 있다.
도면4-34(b)은 평자음버튼의 반복누름으로(즉, 반복선택방법으로) 나머지 자음을 입력하는 경우를 구성한 사례이다. 도면4-34(b)에서 버튼의 2번 이상 눌러짐에 의하여 입력되는 알파벳의 순서는 적절히 변형될 수 있음은 자명하다. 마찬가지로 도면4-34(b)에서는 마치 [ㅎ]버튼의 한번 눌러짐으로 "ㅎ"이 입력되는 것처럼 표현되어 있으나, 도면4-*의 키패드에서와 같이 어떤 버튼의 한번 누름으로 "ㅎ"을 입력할 수 없는 경우는 선출원에서 제시한 것과 같이 버튼의 조합으로 "ㅎ"을 입력할 수 있다. 예를 들어 "ㅎ = ㆍㅡㅡ" 로 입력한다면, 도면4-34(b)에서 "2번 눌러짐"으로 표현되어 있는 "ㆅ = ㆍㅡㅡ ㆍㅡㅡ"가 된다.
도면4-34(a)와 도면4-34(b)를 살펴보면, 조합되는 방식(예. "모음버튼이용 컨트롤처리방법" 적용 및 "3+타 입력방법" 적용)이 다를 뿐 기본알파벳(예. 평자음)에 연관된 알파벳들을 일관된 형태로 구성하고 있는 공통점이 있음을 알 수 있다. 도면4-34(b)에서 제시한 구성의 특징을 보면, "3+타 입력방법"을 적용하여, 현대 한국어에서 같은 평자음이 종성자음과 초성자음으로 연속하여 나오는 경우를 처리하기 위하여 평자음버튼 연속2번 눌러졌을 때 2개의 평자음이 되는 것이 가장 큰 특징이다. 물론 도면4-34(b)에서 괄호안에 표현한 것처럼 평자음버튼이 2번 눌러졌을 때 경자음(쌍자음)으로 될 수 있으나 그 다음에 모음이 입력되면 2개의 평자음이 된다. 도면4-34(b)에서 3번 이상 눌러짐으로 입력되는 알파벳 중 현대 한국어 자음이 아닌 한글 고어 알파벳은 사실상 사용빈도가 현저히 적을 것이다.
본 발명의 4-*의 키패드는 모두 호환성이 있음을 지적하였고, [ㆍ]버튼은 [ㅏ] 또는 "ㅏ"를 나타내는 형상으로 표기될 수도 있으며, [ㆍ]버튼 한번 누름으로 "ㅏ"를 입력할 수 있음을 밝혔으므로, 상기 또는 하기의 설명에서 입력값 "ㆍ"는 입력값 "ㅏ"로 교체 표현될 수도 있으나, 본 발명의 가독성을 위해 그리고 편의상 [ㆍ]버튼 한번 누름으로 "ㅏ"를 입력하는 경우에도 입력값은 "ㆍ"으로 표현한다.
31.2.2 현대 한국어 및 한글고어 자음 입력시 모호성 제거 수단
현대 한국어에서는 초성자음으로 2개 이상의 자음이 연속하여 나오지 않는다. 예를 들어, 초성자음으로 "ㅦ", "ㅳ"과 같은 형태가 나오지 않는다는 것이다. 현대 한국어에서 경자음(형태적으로는 쌍자음)은 하나의 자소로 간주한다. pc의 키보드에서도 "ㄲ" 은 "shift + ㄱ"으로 입력된다. 따라서 종성자음이 입력되고 나서 모음버튼이 눌러지면, 기 입력된 종성자음 중 초성자음으로 될 수 있는 하나의 자음이 다음 글자의 초성자음으로 된다. 예를 들어 "긁" 다음에 "ㅣ"가 눌러지면 "글기"가 되는 것이다. 이는 현재 한국인이 사용하고 있는 현대 한국어 2벌식 오토마타(즉, "2벌식 한글자모조합규칙")의 기본적인 사항이다.
자음의 조합으로 이루어 자음(예. ㅦ, ㅫ, .. 등)은 당연히 각각의 자음의 조합으로 입력하는 것이 바람직하다. (예. "ㅦ = ㄴ+ㄷ") 그러나, "
Figure pat00285
" 를 입력하면 현대 한국어 오토마타에서는 "간다"로 된다. 즉 바꾸어 말하면, 동일한 입력값에 대하여 "
Figure pat00286
"와 "간다"로 될 수 있는 모호성이 있는 것이다. 이는 초성자음 위치에 따른 모호성이므로 편의상 "초성자음위치 모호성"이라고 부를 수 있다. 물론 현대 한국어의 입력을 우선해야 하므로 단순히 연속입력하였을 경우는 "간다"로 되는 것은 당연하다. 그렇다면, "
Figure pat00287
"를 입력하기 위하여 기존 테크닉을 적용하면, "가"를 입력한 후 소정의 시간이 경과하면 "가" 라는 글자가 확정되도록 한 다음 "
Figure pat00288
"를 입력하면 된다. 또는 "가"를 입력한 다음 글자의 종료를 확정하는 "구분버튼"을 눌러 "가"를 확정한후 "
Figure pat00289
"를 입력하면 된다. 이 경우 "ㄴ"과 "ㄷ"의 연속입력이 초성자음 "ㅦ" 으로 되는 것은 한글고어를 포함하는 2벌식오토마타(한글조합규칙)이 적용되므로 자명한 것이다.
본 발명에서는 구분버튼을 사용하지 않고 이를 가능하게 하는 기술을 제시한다. 선출원에서 언급하였듯이, "x~"는 [x]버튼 길게누름을 의미한다. 먼저 "가"를 입력시, 마지막 입력하는 버튼을 길게 누름으로써 "가"라는 글자를 확정한 후, "ㄴ", "ㄷ"을 입력하여 초성자음 "ㅦ"을 입력하는 것이다. 예를 들어 "ㅏ"를 "ㅣㆍ"으로 입력한다면, "ㆍ"을 길게 누름으로써 "가"라는 글자를 확정하여 다음 입력은 "가"의 종성자음이 아닌 다음글자의 초성자음으로 처리하는 것이다. 즉, "ㄱㅣㆍ" 에서 "ㆍ"을 길게 누르는 것(즉, 입력값 " ㄱㅣㆍ~")이다. "ㅏ"를 "ㆍ"버튼 한번 누르는 것으로 입력한다면, "ㄱㆍ"에서 "ㆍ"을 길게 누르는 것(즉, 입력값 " ㄱㆍ~")이다. 이는 상기 밝힌 "선행알파벳장타처리"와 유사하다. 표현식으로 나타내면, "
Figure pat00290
= ㄱㅣㆍ~ㄴㄷㅣㆍ" 또는 "
Figure pat00291
= ㄱㆍ~ㄴㄷㆍ"로 입력하는 것이다.
다음으로 "가"를 입력한 후, 다음 글자의 초성자음 "ㄴ"을 길게누름(장타)으로 입력하는 것이다. 표현식으로 나타내면, "
Figure pat00292
= ㄱㅣㆍㄴ~ㄷㅣㆍ" 또는 "
Figure pat00293
= ㄱㆍㄴ~ㄷㆍ"로 입력하는 것이다. "ㄴ"을 입력하기 위한 버튼을 길게 누름으로써, "ㄴ"이 "가"의 받침이 아닌 다음 글자의 초성자음임을 명시화해주는 것이다. 이는 상기 설명한 "후행알파벳장타처리"와 유사하다. 다만, 길게누름에 의하여 입력되는 글자(예. "ㄴ")가 다음 글자의 초성자음임을 명시화하는 것이다. 현대 한국어만을 처리한다면, "ㄴ"에 이어서 "ㄷ"을 입력하는 것이 "ㄴㄷ"으로 2개의 낱자음이 입력되겠지만, 한글고어의 입력을 포함하는 2벌식 오토마타를 적용한다면 "ㄴ"과 "ㄷ"의 입력이 "ㅦ"으로 되는 것은 당연한 것이다.
만약 상기와 같이 길게누름 없이 "ㄱㅣㆍㄴㄷ" 또는 "ㄱㆍㄴㄷ"이 눌러지면 한글고어를 지원하는 2벌식 오토마타에서는 "ㅦ"이 종성자음으로 되어 "
Figure pat00294
" 으로 될 것이다. 물론 그 다음 모음(예. "ㅏ")이 입력되면 "간다"와 같이 현대 한국어 2벌식 오토마타가 적용되는 것 역시 당연한 것이다.
출원인의 선출원에서 모호성없이 현대 한국어를 입력할 수 있는 기술을 제시하였던 바 있고, 또한 매우 적은 모호성을 현대 한국어를 입력할 수 있는 기술을 제시하였던 바 있다. 예를 들어 평자음버튼(예. [ㄱ]버튼)의 반복눌러짐에 따라 "ㄱ - ㄱㄱ - ㅋ - ㄲ" 으로 되는 경우 약 1000글자입력에 한번 정도로 모호성이 있다고 하였다. "닭꼬치"의 경우 "ㄱ"받침 다음에 초성자음 "ㄲ"이 오는 경우 모호성이 있을 수 있다. 선행알파벳장타처리를 적용하면 "닭"의 "ㄱ"입력시 길게누름으로 입력하여 "닭"이라는 글자를 확정하고, 다음에 동일한 [ㄱ]버튼이 눌러졌을 때 초성자음으로 처리함으로써 모호성없이 입력이 가능하다. 후행알파벳장타처리를 적용하면 "닭" 입력후, [ㄱ]버튼을 길게누름이 오면 기 입력된 "닭"의 "ㄱ"과 조합되지 않고 초성자음이 시작된다는 것을 명시화하게 된다. 뒤이어 [ㄱ]버튼이 한번 더 눌러지면 초성자음 "ㄲ"을 인식되고, 한번 더 눌러지면 초성자음 "ㅋ"으로 인식되고, 한번 더 눌러지면 초성자음 "ㄲ"으로 인식된다.
31.2.3 한글고어 모음 입력 및 모호성 제거 수단
현대 한국어 모음은 21개의 모음으로 구성되어 있으나, 고어의 경우는 훨씬 더 다양한 형태의 모음이 존재한다. 형태는 다양하게 나타나고 있느나, 대부분이 이중모음 또는 복모음의 형태이므로 기본모음의 조합으로 입력이 가능하다. 먼저 모음의 갯수를 살펴보면, 도면4-33(*)의 유니코드 1161 ~ 11A7 까지 71개 모음(현대 한국어의 21개 모음을 제외하면 50개 고어 모음)이 있고, 도면4-33(*)의 유니코드 D7B0 ~ D7C6 까지 23개의 모음이 있어, 현대 한국어의 21개 모음을 포함하여 현재까지 유니코드v6.0에 등록된 한국어 모음은 94개로 파악된다. 도면4-33(*)의 유니코드에 포함된 한글고어 알파벳 중에서 모음을 한눈에 쉽게 볼 수 있도록 정리하면 다음과 같다.
Figure pat00295
Figure pat00296
상기 (2)에서 "ㅣㅕ"는 "ㅣ"와 "ㅕ"가 합쳐진 모음을 의미하고, "ㅣㅖ"는 "ㅣ"와 "ㅖ"가 합쳐진 모음을 의미한다. pc키보드를 기준으로 살펴보면 대부분의 모음은 키보드상의 모음(예. 키보드에서 버튼 한번 누름 또는 shift 와의 동시 누름으로 입력할 수 있는 모음)의 조합으로 입력이 가능하다.
먼저 일반인에게 천지인으로 알려진 "ㅡ", "ㆍ", "ㅣ" 3개 모음요소의 조합으로 모음을 입력하면서, [ㆍ]버튼으로 "ㅏ"를 입력하지 않고 "ㆍ"을 입력하는 경우(편의상 "아래아 3모음법"으로 부름) 의 한글고어 모음입력을 살펴보면 다음과 같다. 한글고어 모음까지 입력할 경우 [ㆍ]버튼 한번 눌러짐은 한글고어 모음 "아래아" 를 입력하게 된다. 이는 출원인의 선출원에서 이미 제시하였던 내용이다. [ㆍ]버튼이 2번 눌러지면, 아래아가 좌우로 2개 붙어있는 모음(유니코드 11A2 모음, 상기 (2)의 5번째줄 5번째 모음)이 입력된다. 사례를 보이면 다음과 같으며, 예시하지 않은 경우도 동일하게 적용할 수 있다.
Figure pat00297
= ㅣㆍㆍㅡ ("
Figure pat00298
"와 모호성 있음)
Figure pat00299
= ㅣㆍㅡㆍ
Figure pat00300
= ㅣㆍㆍㆍㅡ
Figure pat00301
= ㅣㆍㆍㆍㆍㅡ
Figure pat00302
= ㆍㅣㆍㅡ
Figure pat00303
= ㆍㅣㅡㆍ
Figure pat00304
= ㆍㅣㅡ
Figure pat00305
= ㆍㆍㅣㆍㅡ
Figure pat00306
= ㆍㆍㅣㅡㆍ
Figure pat00307
= ㆍㅣㆍㅡ
Figure pat00308
= ㆍㅣㅣㆍㅡ
Figure pat00309
= ㆍㆍㅣㅣㆍㅡ
Figure pat00310
= ㆍㅡㆍㅡ
Figure pat00311
= ㆍㅡㅡㆍ
Figure pat00312
= ㆍㆍㅡㅣㆍㆍ
Figure pat00313
= ㆍㆍㅡㅣㆍㆍㅣ
Figure pat00314
= ㆍㆍㅡㆍㆍㅣ
Figure pat00315
= ㆍㆍㅡㆍㅡ
Figure pat00316
= ㆍㆍㅡㅣ
Figure pat00317
= ㅡㆍlㆍ
Figure pat00318
= ㅡㆍlㆍl
Figure pat00319
= ㅡㆍㆍㅣㅡ
Figure pat00320
= ㅡㆍㆍㆍㅣㅣ
Figure pat00321
= ㅡㆍㅡㆍ
Figure pat00322
= ㅡㆍㆍㅣㆍ
Figure pat00323
= ㅡㆍㆍㆍㅣ
Figure pat00324
= ㅡㆍㆍㆍㅣㅣ
Figure pat00325
= ㅡㆍㆍㆍㆍㅣ
Figure pat00326
= ㅡㆍㆍㆍㆍㅣㅣ
Figure pat00327
= ㅡㆍㆍㅡㆍ
Figure pat00328
= ㅡㆍㆍㅣ("ㅝ"와 모호성 있음. 별도 설명)
Figure pat00329
= ㅡㅡㆍ
Figure pat00330
= ㅡㅡ
Figure pat00331
= ㅡㅣㅡㆍ
Figure pat00332
= ㅣㅣㆍ
Figure pat00333
= ㅣㅣㆍㆍ
Figure pat00334
= ㅣㆍㅡ ("
Figure pat00335
"와 모호성 있음)
Figure pat00336
= ㅣㅡㆍ
Figure pat00337
= ㅣㅡ
Figure pat00338
= ㅣㆍ ("ㅏ"와 모호성 있음. 별도 설명)
Figure pat00339
= ㆍ
Figure pat00340
= ㆍㆍㅣ ("ㅕ"와 모호성 있음. 별도 설명)
Figure pat00341
= ㆍㅡㆍ
Figure pat00342
= ㆍㅣ ("ㅓ"와 모호성 있음. 별도 설명)
Figure pat00343
= ㆍㆍ
Figure pat00344
= ㅣㆍㅡ ("
Figure pat00345
"와 모호성 있음)
Figure pat00346
= ㅣㆍㆍㅡㆍ
Figure pat00347
= ㆍㆍㅣㅣㆍㆍ
Figure pat00348
= ㆍㅡㅣㆍㆍ
Figure pat00349
= ㆍㅡㅣㆍㆍㅣ
Figure pat00350
= ㆍㅡㆍㆍㅣ
Figure pat00351
= ㆍㅡㅡㆍ (추가 설명 있음)
Figure pat00352
= ㆍㆍㅡㅣㆍ
Figure pat00353
= ㆍㆍㅡㅣㆍㅣ
Figure pat00354
= ㅡㆍㆍㆍㅣ (참고 [ㆍ]버튼 3번)
Figure pat00355
= ㅡㆍㅣㅣ ("
Figure pat00356
"와 모호성 있음)
Figure pat00357
= ㅡ ㆍㆍㅣㆍㅣ
Figure pat00358
= ㅡ ㆍㆍㆍㅡ (참고 [ㆍ]버튼 3번)
Figure pat00359
= ㅡㅣㆍ
Figure pat00360
= ㅡㆍㅣ ("ㅟ"와 모호성 있음)
Figure pat00361
= ㅡㆍㅣㅣ ("
Figure pat00362
"와 모호성 있음)
Figure pat00363
= ㅡㆍㅡ
Figure pat00364
= ㅣㅣㆍㆍㆍㅡ (참고 [ㆍ]버튼 3번)
Figure pat00365
= ㅣㅣㆍㆍㅣ
Figure pat00366
= ㅣㆍㆍㅣ ("ㅒ"와 모호성 있음)
Figure pat00367
= ㅣㆍㆍㅣㅣ
Figure pat00368
= ㆍㅣㅡㆍ
Figure pat00369
= ㅣㆍㆍㅡ ("
Figure pat00370
"와 모호성 있음)
Figure pat00371
= ㅣㅡㆍㆍ
Figure pat00372
= ㅣㅣ
Figure pat00373
= ㆍㅣㆍ
Figure pat00374
= ㆍㆍㅣㅣ ("ㅖ"와 모호성 있음. 별도 설명)
. . . . . .
상기에서 모호성이 있는 경우가 더 있을 수도 있으나, 아래의 설명과 유사하게 적용하면 된다. "ㅡ", "ㆍ", "ㅣ"의 조합을 이용하여 21개 현대 한국어 모음을 입력하는 경우에는 모호성없이 입력중간에도 항상 완전한 모음이 조합되었었다. 그러나 한글고어 모음까지를 입력하는 경우에는 입력중간에 완전한 모음이 이루어지지 않을 수 있다. 예를 들어 "
Figure pat00375
"를 입력하기 위하여 " ㅣㆍㅡ"까지 입력하였을 때, "ㅏ"와 "ㅡ"가 결합된 모음이 없으므로 "ㅏㅡ"로 일시적으로 되었다가 [ㆍ]버튼이 눌러지면 전체 입력값 "ㅣㆍㅡㆍ"이 "
Figure pat00376
" 로 된다. 이는 다른 유사한 경우에 있어서도 동일하게 동작할 수 있다.
이렇게 3개 모음요소의 조합으로 한글고어 모음을 입력하는 경우에 동일한 입력값에 대하여 2개 이상의 모음이 있는 경우가 있다. 몇가지 예를 들면 다음과 같다.
ㅝ =
Figure pat00377
= ㅡㆍㆍㅣ
ㅏ =
Figure pat00378
= ㅣㆍ
ㅓ =
Figure pat00379
= ㆍㅣ
ㅕ =
Figure pat00380
= ㆍㆍㅣ
ㅖ =
Figure pat00381
= ㆍㆍㅣㅣ
. . . . . .
이 역시 모음입력시의 "모호성"이라고 볼 수 있다. 편의상 "알파벳內 모호성"이라고 할 수 있을 것이며, 좁혀서 "모음內 모호성" 이라고 할 수 있을 것이다. 현대 한국어의 입력을 우선해야 하므로, 상기 입력값이 눌러졌을 때, 현대 한국어 모음인 "ㅝ", "ㅏ", "ㅓ", "ㅕ"가 입력되는 것은 당연하다. "
Figure pat00382
" 의 입력시, 기존의 시간지연(즉, 타이머) 기법을 적용한다면 "ㅠ"까지 입력하고 소정시간 경과하여 "ㅠ"가 확정된 다음 "ㅣ" 를 눌러 "
Figure pat00383
"를 입력하게 된다. 또한 구분버튼을 사용한다면 "ㅠ"입력후 구분버튼을 눌러 "ㅠ"를 확정후 "ㅣ"를 눌러 "
Figure pat00384
"를 입력하게 된다. 기존에는 "ㅠ"입력후 구분버튼 또는 시간지연 등의 수단으로 "ㅠ" 확정후 "ㅣ"를 누르면 "ㅠㅣ"와 같이 "ㅣ"가 낱자모음으로 입력되었으나, 한글고어 모음의 입력이 전제된 한글조합규칙 적용시 "
Figure pat00385
"로 조합되어야 한다. 출원인이 설명했던 "선행알파벳장타처리"를 적용하면, "ㅠ"의 마지막 입력값인 "ㆍ"을 길게 눌러 "ㅠ"를 확정한 다음 "ㅣ" 를 눌러 "
Figure pat00386
"를 입력할 수 있다. 표현식으로 나타내면 "
Figure pat00387
= ㅡㆍㆍ~ㅣ" 가 된다. 또는 "후행알파벳장타처리"를 적용하면 "ㅠ" 다음에 눌러지는 [ㅣ]버튼을 길게 누름으로써 기 눌러진 "ㅡㆍㆍ"이 "ㅠ"로 인식하고 여기에 "ㅣ"가 결합되어 결과적으로 "
Figure pat00388
"가 되도록 할 수 있다. 표현식으로 나타내면, "
Figure pat00389
= ㅡㆍㆍㅣ~" 가 된다. 상기 "
Figure pat00390
", "
Figure pat00391
", "
Figure pat00392
", "
Figure pat00393
" 의 입력도 동일하게 처리할 수 있다.
다음으로 "ㅡ", "ㆍ", "ㅣ" 3개 모음요소의 조합으로 모음을 입력하면서 [ㆍ]버튼의 한번 눌러짐으로 "ㅏ"를 입력하거나, "ㅡ", "ㅏ", "ㅣ" 3개 모음버튼을 이용하여 한글고어 모음입력을 살펴보면 다음과 같다. 이를 편의상 "아래아=ㅏ 3모음법" 이라고 부르기로 한다. 이하에서 상기 "ㅏ" ([ㆍ]버튼의 한번 눌러짐으로 입력되는 "ㅏ" 또는 [ㅏ]버튼의 "ㅏ")는 임의의 다른 모음(예. "ㅓ", "ㅗ", "ㅜ", ... 중 하나)인 경우도 같다. 아래의 설명에서 편의상 "ㆍ"으로 나타낸다. 아래아를 단독으로 입력하는 것은 선출원에서 제시했던 바와 같이 [ㆍ]버튼을 2번 눌러 입력한다. 그외의 한글고어 모음조합에서는 [ㆍ]버튼이 생긴 그대로 조합되는 획 "ㆍ"처럼 사용된다. 예를 들어, "ㅓ = ㆍㅣ" 로 "ㅕ = ㆍㆍㅣ" 로 입력하는 것으로 한다. 이미 설명한 "ㅡ", "ㆍ", "ㅣ" 3개 모음버튼으로 한글고어 모음을 입력하는 경우([ㆍ]버튼으로 "ㆍ"입력 경우)와 동일하거나 또는 "ㅏ"를 입력하기 위한 "ㅣㆍ"이 "ㆍ"으로 단순히 대체되는 경우도 설명을 생략한다. 입력 사례는 "아래아 3모음법"에서와 거의 유사하므로 별도로 제시하지는 않는다.
"
Figure pat00394
"의 입력시, "ㅏ"를 "ㆍ"으로 입력하는 것을 적용하면 "
Figure pat00395
"의 입력값은 "ㆍㆍㅡ"가 되는데, 이는 현대 한국어 모음의 "ㅑ"와 같게 된다. (즉 "
Figure pat00396
"와 "ㅑ"의 모호성이 있게 되는 것이다. 현대 한국어의 입력을 우선하여 잘 작동하도록 하여야 하므로 "
Figure pat00397
"의 "ㅏ"는 "ㅣㆍ"로 입력하여 "
Figure pat00398
= ㅣㆍㆍㅡ" 로 되어야 한다.
형태적으로 "ㆍ"이 다른 모음에 부속된 모음(예. "ㅓ", "ㅕ", ..)이 아닌 아래아가 온전히 포함된 모음(예. "
Figure pat00399
", "
Figure pat00400
", "
Figure pat00401
", "
Figure pat00402
", "
Figure pat00403
", "
Figure pat00404
", ...)의 아래아를 입력하는 방법에는 2가지가 있을 수 있다. 첫번째는 [ㆍ]버튼 1번 눌러짐으로 입력되도록 하는 것이며, 이는 상기 "아래아 3모음법" 에서와 동일하다. 또한가지 방법은 이렇게 형태적으로 아래아가 온전히 포함된 모음의 아래아부분은 [ㆍ]버튼 2번 눌러짐으로 입력되록 하는 것이다. "아래아=ㅏ 3모음법"에서의 한글고어 모음입력을 말할 때는 특별한 경우가 아닌 한 이경우 [ㆍ]버튼 2번 누름으로 아래아를 입력하는 것으로 한다.
상기 모음내 모호성이 있는 "ㅝ", "ㅏ", "ㅓ", "ㅕ"의 경우도 동일하게 적용된다. 다만, 자음 다음에 [ㆍ]버튼 한번 눌러짐으로 단일모음 "ㅏ" (다른 한글고어 모음에 포함되어 있는"ㅏ"가 아닌) 를 입력할 수 있으므로, "ㅣㆍ"의 경우(모음 "ㅣ" 다음에 눌러지는 "ㆍ"은 "ㆍ"으로 작용하는 것으로 간주하면)는 "
Figure pat00405
"가 입력되도록 할 수도 있다. "ㅣㆍ=ㅏ"가 아닌 "ㅣㆍ=
Figure pat00406
"로 적용되는 것은 키패드에서 한글고어의 입력이 보편적으로 사용되는 시기에 적용되는 것이 바람직할 것이다. 상기 알파벳내 모호성이 있는 4가지 모음에 대해 "아래아=ㅏ 3모음법" 적용시의 모호성은 다음과 같다.
ㅝ =
Figure pat00407
= ㅡㆍㆍㅣ
ㅑ =
Figure pat00408
= ㅣㆍㆍ (모음에 포함되어 있는 단일한 "ㆍ"을 [ㆍ]버튼 2타로 입력하므로. 이하 동일)
ㅕ =
Figure pat00409
= ㆍㆍㅣ
Figure pat00410
= ㆍㆍㆍㅣ
Figure pat00411
= ㆍㆍㆍㅣㅣ
Figure pat00412
= ㆍㆍㆍㆍ
Figure pat00413
= ㆍㆍ
Figure pat00414
= ㆍㆍㅡㆍ
Figure pat00415
= ㆍㆍㅣㅡㆍ
. . . . . .
선행알파벳장타처리 적용시, "
Figure pat00416
= ㅡㆍㆍ~ㅣ", "
Figure pat00417
= ㅣ~ㆍㆍ", "
Figure pat00418
= ㆍㆍ~ㅣ", "
Figure pat00419
= ㆍㆍ~ㆍㅣ", "
Figure pat00420
= ㆍㆍ~ㆍㅣㅣ" 로 입력된다. 후행알파벳장타처리 적용시, "
Figure pat00421
= ㅡㆍㆍㅣ~", "
Figure pat00422
= ㅣㆍ~ㆍ", "
Figure pat00423
= ㆍㆍㅣ~", "
Figure pat00424
= ㆍㆍㆍ~ㅣ", "
Figure pat00425
= ㆍㆍㆍ~ㅣㅣ" 로 입력된다.
상기 "아래아 3모음법"과 "아래아=ㅏ 3모음법"에서 공통적으로 적용될 수 있는 다른 방법을 제시하면 다음과 같다. 상기 5가지 경우 중 "
Figure pat00426
"의 경우를 제외한 4가지 경우는 모두 아래아 형태가 모음의 일부로 포함되어 야기된 모호성임을 알 수 있다. 따라서 선/후행장타처리와 상관없이, 상기와 같이 모호성이 있는 모음이 입력되는 경우, [ㆍ]버튼의 길게 누름을 아래아로 할 수도 있다. 예를 들어, "
Figure pat00427
= ㅣㆍ~", "
Figure pat00428
= ㆍ~ㅣ", "
Figure pat00429
= ㆍ~ㆍㅣ", "
Figure pat00430
= ㆍ~ㆍㅣㅣ" 로 입력된다. "
Figure pat00431
"의 경우만 선행알파벳장타처리(예. "
Figure pat00432
= ㅡㆍㆍ~ㅣ") 또는 후행알파벳장타처리(예. "
Figure pat00433
= ㅡㆍㆍㅣ~")를 선택적으로 적용하면 된다. 상기와 같이 "모음내 모호성"이 없는 경우(예. "ㅜ")는 [ㆍ]버튼이 길게 눌러졌더라도(예. 입력값 "ㅡㆍ~") 보통의 눌러짐(예. 입력값 "ㅡㆍ")과 동일하게 처리할 수 있다. 이렇게 [ㆍ]버튼의 길게 누름으로 절대적으로 아래아를 입력하는 것은 선/후행장타처리의 로직을 사용자가 생각하지 않아도 모호성이 있는 상기 경우에 한글고어 모음을 정확히 입력할 수 있다. 다만, 선출원에서 제시하였던 [ㆍ]버튼의 길게 누름으로 "ㅎ"을 입력하는 것은 함께 적용하지 못하는 것은 당연하다. 이렇게 [ㆍ]버튼 길게누름으로 모음요소 "ㆍ"을 입력하거나 (예. "ㅜ = ㅡㆍ~") 아래아의 형상이 포함된 한글고어 모음(예. "
Figure pat00434
", "
Figure pat00435
", "
Figure pat00436
", "
Figure pat00437
", ...)의 아래아를 절대적으로 입력하는 것을 "아래아버튼장타처리"라고 부르기로 한다.
출원인이 제시했던 모음버튼을 컨트롤버튼으로 사용하는 기술(예. "y = xㅡㅡ" 또는 "z = xㅣㅣ")을 적용하면서 한글고어 모음을 입력하는 방법을 살펴본다. 대표적으로 출원인이 제시한 것은 "ㅋ = ㄱㅡㅡ" 또는 "ㄲ = ㄱㅣㅣ" 로 입력하였다. 즉, 자음(예. "ㄱ")의 입력 다음에 "ㅡ"가 2번 눌러지거나, "ㅣ"가 2번 눌러지면 "ㅋ" 또는 "ㄲ"이 입력되는 것이다. 이는 현대 한국어에서 "ㅡ"가 연속하여 2번 나오지 않는 성질 그리고 "ㅣ"가 연속하여 2번 나오지 않는 성질을 이용한 것이었다.
그런데 한글고어에서는 자음 다음에 "ㅡ" 또는 "ㅣ"가 2번 연속으로 나오는 경우가 있다. 예를 들어, "
Figure pat00438
", "
Figure pat00439
", "
Figure pat00440
", "
Figure pat00441
", "
Figure pat00442
", "
Figure pat00443
", ... 등이 있다. 입력값 "ㄱㅡㅡ"를 누른 것이 "ㅋ" 도 될 수 있고, "
Figure pat00444
" 도 될 수 있는 것이다. 이는 입력되는 결과인 알파벳(예. "ㅋ")과 자모결합글자(예. "
Figure pat00445
") 간의 모호성으로 편의상 "알파벳-글자間 모호성" 또는 "알파벳-글자 모호성" 이라고 부를 수 있을 것이다. 상기에서 언급한 바와 같이, "
Figure pat00446
" 와 "
Figure pat00447
"를 각각 [ㅡ]버튼 2번 누름 그리고 [ㅣ]버튼 2번 누름으로 입력한다면, "ㅋ = ㄱㅡㅡㅡ"로 입력되어야 한다. 그러나 과연 얼마나 사용될지도 모르는 한글 고어의 입력을 위해 현대 한국어 알파벳(예. "ㅋ")의 입력에 불편(예. [ㅡ]버튼 3번 누름의 조합)을 초래하는 것은 바람직하지 않다. 따라서 현대 한국어와 한글고어의 입력을 함께 적용하더라도, 현대 한국어의 입력을 우선하여 고려하는 것이 타당하다. 그렇다면 "ㅋ"의 입력과 "
Figure pat00448
"의 입력을 어떻게 처리할 수 있는지를 다음에서 보인다.
현대 한국어의 입력을 우선하여 고려해야 하므로, "ㄱㅡㅡ" 를 누르면 "ㅋ"으로 되는 것이 타당하다. 기존의 시간지연 또는 타이머 기법을 적용하면, "
Figure pat00449
"를 입력하기 위해서는 "ㄱ"을 누른후 소정시간 지연(즉, 타이머) 또는 구분버튼 눌러짐에 의하여 "ㄱ"을 확정하고 "ㅡㅡ"를 2번 누르도록 하면된다. "알파벳-글자 모호성"을 해결하는 과정은 일련의 버튼누름(예. "ㄱㅡㅡ")이 하나의 알파벳(예. "ㅋ")으로 인식되지 않고 자음과 모음의 조합(예. "
Figure pat00450
")으로 인식되도록 특별히(예. 시간지연, 구분버튼, 선/후행장타, ...) 처리하는 것이므로, 그 성질은 "알파벳내 모호성" 과 유사하다.
만약 선행알파벳장타처리를 이용하면 "ㄱ"을 길게 눌러 "ㄱ"을 확정하고 나서, "ㅡ"를 2번 누르면 된다. 이렇게 하여도 초성자음위치 모호성에서 후행알파벳장타처리로 입력하는 것과 충돌되지는(즉, 모호성이 발생하지는) 않으며, 극히 특이한 경우에 모호성이 있더라도 사실상 거의 없는 수준이다. 즉, "ㄱ"을 길게눌러 초성자음으로 확정한 후 "ㅡ"를 2번 누르면 "ㅋ"이 아닌 "
Figure pat00451
" 가 되는 것이다. 어떤 자음 다음에 모음 "
Figure pat00452
"가 입력되는 것은 그 앞에 입력된 자음이 어차피 초성자음으로 처리될 수 밖에 없기 때문이다. 만약 현대 한국어에서도 사용되는 "ㅋ"을 입력하기 위한 것이었다면 [ㄱ]버튼의 길게 누름(즉, "ㄱ~ㅡㅡ")이 아닌 보통의 누름(즉, "ㄱㅡㅡ")으로 누르면 된다. 이는 주로 사용되는 현대 한국어 자음의 입력에는 길게 누름을 사용하지 않으면서 동시에 조합되는 모음버튼(예. [ㅡ]버튼 또는 [ㅣ]버튼)의 눌러짐도 2회만 적용되는 장점이 있다. 도면4-34(a)에서 회색음영으로 표시된 알파벳은 현대 한국어 자음을 나타낸다. 도면4-34(a)에서 1차조합에 의하여 입력되는 자음은 [ㅡ]버튼 또는 [ㅣ]버튼의 2번 눌러짐의 조합으로 입력된다. 자음 다음에 "ㅡ"가 연속하여 2번 나오는 고어 글자(예. "
Figure pat00453
")의 입력을 허용하지 않는다면 2차조합, 3차조합, ... 에 의하여 입력되는 자음도 [ㅡ]버튼 또는 [ㅣ]버튼의 2번 눌러짐의 조합으로 입력되지만, 상기와 같은 고어 글자(예. "
Figure pat00454
")의 입력을 허용한다면 2차조합, 3차조합, 4차조합, ... 에 의하여 입력되는 자음은 [ㅡ]버튼 또는 [ㅣ]버튼 3회 눌러짐의 조합으로 입력된다. 예를 들어, "ㅸ =
Figure pat00455
ㅡ = ㅍㅡㅡㅡ = ㅂㅡㅡㅡㅡㅡ" 와 같이 되는 것이다.
이렇게 도면3-34에서 1차조합되는 자음은 [ㅡ]버튼 또는 [ㅣ]버튼 2번 누름의 조합으로 입력하려면, 몇가지 한글 오터마타(한글 자모결합규칙)에서 몇가지 고려되어야 할 사항이 있다. "간
Figure pat00456
" 와 "
Figure pat00457
"은 눌러지는 버튼(즉, 입력값)이 같다. 본 발명에서 설명한 바와 같이, 한글고어(예. "
Figure pat00458
")보다 현대 한국어(예. "ㅌ")이 우선하여 쉽게 입력되어야 하므로, 길게 누름을 사용하지 않는 입력값 "ㄷㅡㅡ"는 "ㅌ"으로 되고, "ㄷ~ㅡㅡ" 는 "
Figure pat00459
"로 되는 것이다. 이는 "초성자음위치 모호성"에서 "후행알파벳장타처리" 적용시 길게누름에 의하여 입력되는 자음을 초성자음으로 처리하는 것과 일치하게 된다. 즉, "
Figure pat00460
" 이 아닌 "간ㄷ"을 입력하기 위하여, 후행알파벳장타처리를 적용하여 "ㄷ"을 길게 눌러 입력하는 것과 같게 된다.
또한 "초성자음위치 모호성"에서 "후행알파벳장타처리" 적용시 길게누름 직전에 입력된 자음(예. "ㅅ")이 종성받침이 아닌 초성자음으로 인식되고 그 다음 장타처리에 의하여 입력된 자음(예. "ㄷ")이 합하여 초성자음(예. "
Figure pat00461
")을 형성할 수 있으면 이를 각각의 낱자음(예. "ㅅ")과 초성자음(예. "ㄷ")으로 인식(예. "ㅅㄷ")하지 않고, 입력값 전체(예. "ㅅㄷ~")를 초성자음(예. "
Figure pat00462
")으로 처리할 수 있다. 이렇게 입력된 "
Figure pat00463
" 다음에 모음이 오면 "
Figure pat00464
" 전체가 초성자음으로 된다. "ㅅ"이 초성자음이라는 것을 명확히 하기 위하여 입력값으로 "ㅅ~"이 눌러진 이후에 "ㄷ~"이 눌러진 경우(예. 입력값 "ㅅ~ㄷ~")도 결과는 동일하다. "
Figure pat00465
" 와 "
Figure pat00466
" 은 눌러지는 버튼이 동일한데, 역시 현대 한국어의 입력을 우선하여, 길게 누름을 사용하지 않는 "ㄷㅡㅡ"는 "ㅌ"이 되고, 길게 누름을 사용하는 "ㅅㄷ~ㅡㅡ"는 "
Figure pat00467
"이 되도록 할 수 있다. 앞서 간단히 언급한 대로 도면3-34에서 2차조합, 3차조합, ... 에 의하여 입력되는 자음은 모두 한글고어 자음으로 사용빈도가 매우 적을 것이므로 [ㅡ]버튼 또는 [ㅣ]버튼 3번 눌러짐의 조합으로 입력되는 것이 적합해 보인다.
"알파벳-글자 모호성"에 대하여, 후행알파벳장타처리를 적용하면 "ㄱ"을 누른 후, "ㅡ"를 길게 누르고나서 "ㅡ"를 한번 더 누르면 된다. 예를 들어, "
Figure pat00468
= ㅡ~ㅡㆍ"가 된다.
상기에서 여러가지 경우의 모호성에 대하여 "선행알파벳장타처리" 또는 "후행알파벳장타처리" 의 사례를 보였는데, 알파벳-글자 모호성에 있어서 후행알파벳장타처리를 적용할 경우 [ㅡ] 버튼을 길게 한번 누르는 것으로 "
Figure pat00469
"를 입력하는 것으로 정의할 수도 있다. 마찬가지로 [ㅣ]버튼 한번 길게 누르는 것을 "
Figure pat00470
"로 정의할 수도 있다. 예를 들어, "
Figure pat00471
= ㅡ~ㅡㆍ"가 아닌 "
Figure pat00472
= ㅡ~ㆍ"로 입력되는 것이다. 이는 "후행알파벳장타처리"를 적용하는 경우 "
Figure pat00473
" 입력시 길게누름을 이용해야만 하는 불편함이 있는데, 입력타수를 1타 줄여주며, 직관적으로도 "
Figure pat00474
"를 "ㅡ" 길게누름으로 입력하는 것으로 연상할 수 있으므로 사용자에게 쉽게 이해될 수 있는 잇점이 있다. 이를 편의상"수직/수평모음장타처리 (입력방법)" 이라고 부르기로 한다.
상기에서 예시한 바와 같이, 자음 다음에 "ㅡ" 또는 "ㅣ"가 연속하여 2번 눌러질 수 있는 모음은 "
Figure pat00475
", "
Figure pat00476
", "
Figure pat00477
", "
Figure pat00478
", "
Figure pat00479
", "
Figure pat00480
", ... 등이 있는데, 이러한 모음의 입력에 [ㅡ]버튼 또는 [ㅣ]버튼 길게 누름으로 상기 모음에 포함된 "
Figure pat00481
" 또는 "
Figure pat00482
"를 각각 입력되도록 할 수 있다. 이 역시 "수직/수평모음장타처리"를 이용하는 것이 된다. (상기 "
Figure pat00483
= ㅡ~ㆍ"로 입력하는 사례 참조) 현재까지 등록된 유니코드v2.0에서는 "ㆍㅡㅡ = ㅗㅡ" 가 결합된 형태의 모음은 없다. 그러나 "
Figure pat00484
" 를 "ㆍㅡㅡㆍ"으로 입력한다면 그 과정에서 눌러지는 "ㆍㅡㅡ" 가 "ㅎ"으로 해석될 수 있다. 따라서 현대 한국어의 입력을 우선하여 "ㆍㅡㅡ" 를 항상 "ㅎ"으로 인식되도록 한다면, "
Figure pat00485
"를 입력하기 위하여는 "ㆍㅡ~ㆍ"으로 할 수 있다. 즉 "
Figure pat00486
"에 포함되어 있는 "
Figure pat00487
"를 [ㅡ]버튼 길게 누름에 의하여 입력하는 것이다.
"ㅔ = ㆍㅣㅣ", "ㅞ = ㅡㆍㆍㅣㅣ", 또는 "
Figure pat00488
= ㅡㆍㅣㅣ"와 같이 모음이 먼저 인식되고 나서 "ㅣ"가 연속하여 나오는 경우는 상기와 같이 자음이 인식되고 나서 "ㅣ" (또는 "ㅡ")가 연속 나오는 경우와 구별되기 때문에 "알파벳-글자 모호성"이 없으므로 굳이 길게누름을 이용하여 입력할 필요는 없다. 일관성을 위하여, "ㅔ", "ㅞ", "
Figure pat00489
", ... 등에 들어 있는 "
Figure pat00490
"를 길게누름으로 입력하도록 허용할 수도 있다. 예를 들어, "ㅔ = ㆍㅣ~" 으로 하는 것이나, 권장하지 않는다. 특히 "알파벳내 모호성"에 대해 후행알파벳장타처리로 입력하는 것과 충돌되는 부분이 있어 함께 적용하지 못할 수 있다.
상기에서 "초성자음위치 모호성", "알파벳내 모호성", "알파벳-글자 모호성" 등의 사례를 들었는데, 각각의 경우에 대해 선행알파벳장타처리 및 후행알파벳장타처리를 선택적으로 적용하면 된다. 예를 들어 "초성자음 위치모호성"의 경우에는 후행알파벳장타처리를 적용하고, "알파벳내 모호성"의 경우에는 선행알파벳장타처리를 적용하고, "알파벳-글자 모호성"에 대해서는 선행알파벳장타처리를 적용할 수 있는 것이다. 사용자의 관점에서 보면, 선행알파벳장타처리는 일련의 버튼 누름중에서 특정 버튼이 길게 눌러지는 순간 그 길게 눌러진 버튼을 포함한 입력값의 결과를 확정하는 느낌이 있고, 후행알파벳장타처리는 특정 버튼이 길게 눌러지는 순간 그 이전까지 눌러진 입력값을 확정하고 새로이 입력을 시작하는 것처럼 느낄 수 있다. 어느 경우이나 사용자의 취향에 따라 선택적(예. 환경설정에서 미리 세팅)으로 사용될 수 있다.
출원인의 견해로 좋은 적용사례는 "초성자음 위치모호성"의 경우에는 후행알파벳장타처리를 적용(예외적으로 "
Figure pat00491
= ㅡㆍㆍ~ㅣ")하고, "알파벳내 모호성"의 경우에는 아래아버튼장타처리를 적용하고, "알파벳-글자 모호성"에 대해서는 선행알파벳장타처리를 적용하는 것을 들 수 있다. 상기와 같이 적용하였을 때, 일련의 버튼누름에 의한 한국어 입력중 다음글자의 초성자음으로 돌출되어 나타나게 되는 자음은 길게누름으로 확정하고, "
Figure pat00492
"를 입력하기 위한 "ㄱ"은 [ㄱ]버튼 길게 누름으로 "ㄱ"을 확정하는 일관성있는 사용이 가능하다. 또한 "아래아버튼장타처리"를 이용하여 현대 한국어 모음과 한글고어 모음간의 모호성이 있는 경우에도 단일한 규칙("
Figure pat00493
" 예외)으로 처리가 가능해진다. 또한 [ㅡ]버튼 또는 [ㅣ]버튼의 길게누름은 사용되지 않으므로, [ㅡ]버튼과 [ㅣ]버튼의 길게누름을 다른 용도로 활용할 수 있다.
이상에서 현대 한국어의 입력과 동시에 한글고어까지 입력할 수 있는 기술을 제시하였다.
31.3 한글고어(옛한글)을 이용한 확장표기 방법 및 표시방법
31.3.1 한글의 확장표기 방법
한국어에는 없는 외국어 등의 발음을 표기하고자 하는 시도가 과거로 부터 있어 왔다. 접근방법으로는 첫번째 지금은 사용되지 않는 한글고어(옛한글)을 이용하는 방안, 두번째는 외국어 발음에 대응되는 자모를 새로 만드는 방안 등이 있다.
"병서"는 예를 들어 "ㄲ", "ㅄ", "ㅳ", "ㅴ", ... 등과 같이 한글자모를 좌우로 나란히 써서 새로운 발음을 표현하는 방법이고, "연서"는 "ㅸ", "ㆄ", ... 등과 같이 한글자모를 상하로 나란히 써서 새로운 발음을 표현하는 방법이다.
현대 한국어에 동일한 발음이 없는 대표적인 외국어 소리는 "v", "f", "r"(권설음으로의 'r'), "z", "
Figure pat00494
", "
Figure pat00495
", "
Figure pat00496
","
Figure pat00497
", ... 등을 들 수 있다. 우리 한글의 옛글자까지 포함된 모음은 워낙 다양한 복모음이 가능하므로 (유니코드상의 한글 모음 약 100글자) 외국어 표기에 있어서도 별로 논란이 되지 않고 있다. 그리고 실제로 실질적인 음가를 가지고 있는 것이 자음이기 때문이기도 한 것 같다. 옛한글을 포함하는 한글자모를 사용하여 현대 한국어 발음으로 사용되지 않는 외국어 발음을 표기함에 있어서, 다음의 몇가지 원칙을 생각해볼 수 있다.
첫째, 표기된 글자를 일반인이 발음하였을 때, 또는 간단한 설명이 있을 때, 유사한 발음이 될 수 있어야 한다.
둘째, 해당 발음을 적합하게 표현할 수 있는 병서 또는 연서에 의한 방법이 있는 경우 새로 글자를 만들기 보다 병서와 연서에 의한 방법을 먼저 고려한다.
셋째, 병서 또는 연서에 의한 경우, 소리의 기본이 되는 글자가 먼저 나오는 것이 좋다.
이하에서 병서(이하에서 '병서'는 '연서'를 포함하는 개념으로 사용)를 주로 사용하여 외국어 발음을 표기하는 방법을 기술한다.
현재 "b" 발음과 "v" 발음을 모두 한글로는 "ㅂ"으로 표기하므로 서로 다른 "b"와 "v"의 구별이 되지 않는다. 알파벳 "b" 를 한글로 표기할 때는 "비" 로 하고, 알파벳 "v"를 한글로 표기할 때는 "브이"로 많이 표기하고 있다. 과거 초급 영어책에서는 "v" 를 "
Figure pat00498
"라고 표기한 경우도 있었다. "v"발음 윗이빨을 아랫입술에 살짝 대어 발음하는 "v"의 발음에 "
Figure pat00499
"라는 표기가 더 적절하다고 할 수 있다. 그러나 이러한 "
Figure pat00500
" 표기에는 약간의 문제가 있다. 먼저 현대 한국어 발음에서 자음 "X"에 "ㅢ"가 결합된 글자의 현실 발음은 "Xㅣ"로 거의 통합되고 있다. 예를 들어 "희"의 경우 정확한 발음은 "흐이"를 1음절로 빨리 발음하는 것이나, 현실 발음은 "히"로 발음되고 있는 현상이 있는 것이다. "ㅢ"의 발음이 정확히 살아 있는 경우는 음가가 없는 "ㅇ" 다음 순수하게 모음 "ㅢ"가 나오는 경우로 보인다. 예를 들어 "의자" 에서 "의"는 정확하게 "으이"가 1음절로 빨리 발음되는 형태로 발음되고 있다. 또 한가지 문제는 "bi"와 "vi"에서 자음이 달라졌는데도, 한글 표기에서는 같은 자음(즉, "ㅂ")을 사용하고, 모음의 표기가 달라져야 하는 것(즉, "비", "
Figure pat00501
")도 표기의 불일치를 준다. 모음을 달리 표기하여 각기 다른 자음의 발음을 표현한 사례는 "show" 의 "" 발음을 "s"와 동일한 "ㅅ"으로 표기하면서 모음을 "ㅛ"로 사용한 사례(즉 "쇼" 또는 "쑈")도 있다.
전통적으로 "v"발음을 순경음 "ㅸ"을 사용하여 표현하는 것이 적절하다는 지적이 있어왔다. "순경음" 을 문자 그대로 해석하면 "입술가벼운소리"가 되고, "v"의 음가에 보다 가깝다는 설명이 가능하다. 물론 과거 순경음 "ㅸ"의 정확한 소리가 어떤 소리였는지는 알 길이 없다. 마찬가지 논리로 "ㆄ"으로 "f"발음을 표기하는 것에 대한 의견도 있었다. 상기에서 대표적인 "v", "f"발음의 표기 사례를 설명하였는데, "v"와 "f"발음의 표기에 대한 기존의 의견 몇가지를 정리하면 다음과 같다.
v : "ㅸ", "ㅎㅂ"(병서), "ㅂㅎ"(병서), ...
f : "ㆄ", "ㅎㅍ"(병서), "ㅍㅎ"(병서), ...
상기에서 "ㅍㅎ"을 "f" 발음으로 사용하자고 하는 것은 영어에서 철자 "ph"가 주로 "f" 로 발음되는 데에서 착안한 것으로 보인다. 마찬가지 논리로 "ㅂㅎ"을 "v"발음 표기에 사용하자는 방안이 나왔다고 볼 수 있다.
우리 한글에서 "평자음+ㅎ" 또는 "ㅎ+평자음"은 "격자음"으로 소리나는 현상이 있다. 예를 들어, "많다" 는 "만타"로 소리나므로 "ㅎ+ㄷ"이 "ㅌ" 으로 소리나는 것을 알 수 있고, "먹히다" 는 "머키다"로 소리나므로 "ㄱ+ㅎ"이 "ㅋ" 으로 소리나는 것을 알 수 있다. 여기서 "평자음+ㅎ"이 맞는 것인지 "ㅎ+평자음"이 맞는 것인지는 증명할 수 없으며, 상기 사례에서와 같이 2가지 모두 맞다고 할 수 있다. "흐"라는 소리를 가지는 "ㅎ"이 보통소리(평자음. 예. "ㄱ")과 결합되어 "ㅋ", "ㅌ", "ㅍ", ... 등의 소리를 만들어 내는 것은 쉽게 이해될 수 있다. 음성학에서는 유기음화(有氣音化)하는 어려운 말로 표현하는 것 같다. 즉, "ㅎ"이 결합되면 원래의 소리(예. "ㄱ")이 조금 더 강해지는 것을 알 수 있다. "ㅂㅎ"은 "ㅍ"발음에 해당됨이 명백하므로 "v"발음을 표현하는데는 부적절하고, 마찬가지로 "ㅍㅎ"으로 "f" 발음을 표현하는 것도 부적절하다.
전통적으로 음성학에서는 조음점과 조음방식에 의한 음성의 계통분류를 사용하고 있으며, 우리 한글 또한 음성학자 세종대왕의 탁월한 식견과 직관에 의하여 탄생한 과학적 산물이라고 할 수 있다. 그러나 외국어 발음 표기에 상기 음성학의 지식을 활용하여 일반인들이 이해하고 사용하여야 한다는 것은 무리가 있어 보인다.
"ㅂ+ㅇ"이 결합된 순경음 "ㅸ"이 초성자음으로 표기되는 경우는, 음성학자가 아닌 "일반인의 관점"에서 "ㅂ"와 "ㅇ"이 합쳐진 발음으로 인지할 수 있는데, 초성자음 "ㅇ"은 음가가 없으므로 "ㅂ" 발음이 약화된 것으로 인지할 수 있다. 역시 음성학자가 아닌 일반인의 관점에서 "b"발음 보다는 "v"발음이 약한 발음으로 인지되므로, 순경음 "ㅸ"으로 "v"를 표현하는 것은 타당성이 있다고 할 수 있다.
현대 한국어로 "v"를 "브이" 라고 표기하고, 과거에 "
Figure pat00502
"라고 표기했던 적이 있는데, 순경음 "ㅸ"을 이용하여 "
Figure pat00503
"라고 표기하였을 때와 비교해 보면 공통점이 있음을 알 수 있다. "
Figure pat00504
"라고 표기해 놓고 사전 지식이 없는 일반인에 읽어 보라고 하면 어떻게 읽을지 고민하다가, 1차적으로 "ㅂ"과 "ㅇ"을 분해하고 "(브)"라는 "ㅂ"발음을 앞에 두고, 그 다음 남아 있는 "이"와 붙여서 빨리 발음하려고 할 수 있다. (이는 "ㅝ"를 발음할 때 "ㅜ"와 "ㅓ"를 빨리 발음하면 "ㅝ"가 되는 것을 생각할 수 있다. 모음의 경우는 복모음이 완전하게 단모음의 조합으로 설명되나, 다음에 설명하는 자음의 경우는 약간 다른 듯 하다) 즉 "(브)" 로 음절이 체 완성되기 전에 "이"와 붙여서 발음하면 현재 표기하고 있는 "브이"를 빨리 발음한 결과와 유사하게 된다. 다음으로 이는 "
Figure pat00505
"의 발음과 유사하게 된다. 물론 "
Figure pat00506
"의 발음 역시 "v"와 완전히 일치하는 것은 아니므로 "
Figure pat00507
" 의 표기를 "v"로 정의하고 발음하게 하는 "교육"이 필요하게 된다. 다만 "그렇듯한" 그리고 "타당해 보이는" 표기를 해당 발음으로 "정의"하는 것이 필수적이다. 예를 들어 "ㄲ"을 모르고 "ㄱ" 의 발음만 알고 있는 사람이 "ㄲ"을 보고 어쩐지 "끄"하고 발음하고 싶은 생각이 든다면, 그리고 "ㅋ"을 모르고 "ㄱ"의 발음만 알고 있는 사람이 "ㅋ"을 보고 어쩐지 "크" 라고 발음하고 싶다면 "그럴듯한" 좋은 표기인 것이다. 여기에 이론과 교육이 더해져 "ㄲ"은 "ㄱ"을 좌우로 배열한 글자 이므로 "끄"라는 소리가 난다는 배경이 설명된다면, 사용자는 "ㄲ"의 표기와 그에 따른 발음을 매우 자연스럽게 사용할 수 있게 되는 것이고 이러한 점이 우리 한글의 과학성 중의 한가지라고 할 수 있을 것이다.
어떤 발명자는 "비"에 윗점을 찍어서 "
Figure pat00508
" 로 표기하고 이를 "v"발음으로 사용하자는 주장도 있으나, "
Figure pat00509
" 의 표기와 "v"발음간의 어떠한 상관관계도 없음에도 불구하고 그 표기법을 주장하는 것은 타당하지 않아 보인다.
만약 "v" 발음을 순경음 "ㅸ" 또는 "
Figure pat00510
"으로 표현하는 것이 타당하다면, "v"와 유사계열의 발음은 "f" 역시 "ㆄ" 또는 "
Figure pat00511
" 으로 표기하는 것이 가능하다.
다음으로 "
Figure pat00512
"의 경우는 가장 유사한 현대 한국어 발음이 "ㄷ"이라고 할 수 있다. 또한 동시에 "ㄷ"보다는 약한 느낌의 발음이다. 따라서 "ㄷ"과 "ㅇ"이 상하로 연서 또는 좌우로 병서된 글자로 표기하는 것을 생각할 수 있다. 이하에서 자음 "X"와 이응 "ㅇ"이 순서대로 연서 또는 병서된 글자는 같은 글자로 간주하며 그 이유는 아래에서 별도로 설명한다. 일반인의 관점에서 보면 "
Figure pat00513
ㅣ" 를 발음할 때 "(드)"라는 음절이 완전히 형성되기 이전에 "이" 와 빨리 합쳐져서 발음되므로 "ㄷ"과 "ㅇ"(음가 없음)의 중간 발음 (즉, "ㄷ"의 발음이 약화된 발음) 정도로 발음을 시도해 볼 수 있을 것이다. 이렇게 시도한 발음이 비록 "" 발음과 완전히 일치하지 않더라도 유사하다면(최소한 강약의 느낌에 있어서), 상기 표기를 "" 발음의 표기로 검토해 볼 수 있는 것이다. 영어의 "this"에서 "" 발음을 "
Figure pat00514
ㅣ" 와 같이 표기할 수 있게 된다. 음성학자가 아닌 일반인인 본 발명자의 느낌으로는 "
Figure pat00515
" 를 표시하는데 "ㄷ"와 여린ㅎ "ㆆ"을 연서 또는 병서한 형태도 가능해 보인다. 물론 음성학자의 관점에서 보면 "유성음"인 ""의 발음을 "
Figure pat00516
" 또는 "
Figure pat00517
" 으로 표기하는 것이 부정확하므로, "
Figure pat00518
" 표기하기 위한 새로운 글자를 만드는 것이 정확하다는 주장을 할 수도 있다.
"
Figure pat00519
" 발음의 경우는 현대 한국어에서 가장 유사한 기본 발음이 "ㅆ"이라고 볼 수 있다. "
Figure pat00520
" 발음이 "ㅆ"보다 약한지는 모르겠으나, "ㅆ"보다 강한 발음이라고는 느껴지지 않는다. 따라서 "ㅆ"과 "ㅇ"을 상하로 연서하여 "
Figure pat00521
"로 표현할 수 있다. "though"를 "
Figure pat00522
ㅗㅌ" 또는 "
Figure pat00523
ㅗ트"로 표기(자모결합 글자로 표기되어야 하나 편의상 중성모음과 종성자음을 늘어 썼음)한다면 "(쓰)"라는 발음이 형성되기 전에 "
Figure pat00524
" 또는 "오트"와 결합된 형태로 발음하려 할 것이다. 이 발음이 "
Figure pat00525
" 와 동일한 발음은 아니지만 "
Figure pat00526
" 발음과 유사한 느낌을 준다면, "
Figure pat00527
"를 "" 발음의 표기로 사용할 수 있는 것이다. 영어의 "thank you"를 현재의 한글로 표기할 때, "쌩큐"라고도 하고, 어떤 사람은 "땡큐"라고도 표기한다. 따라서 "ㄸ+ㅇ"의 연서(또는 병서) 형태를 적용하는 것도 가능할 것 같다.
"
Figure pat00528
"의 경우는 현대 한국어에서 가장 유사한 발음은 "ㅅ" 이다. 역시 "ㅅ"보다는 약한 느낌의 발음이다. 따라서 "ㅅ"을 기본 글자로 하고 역시 연서 또는 병서된 글자인 "
Figure pat00529
" 또는 "
Figure pat00530
" 로 표현할 수 있다. "show" 를 "ㅅㅇㅗ" (자모결합 글자로 표기되어야 하나 편의상 중성모음과 종성자음을 늘어 썼음)로 적으면 일반인은 "(스)"라는 음절이 완성되기 전에 "오"와 결합되는 식으로 발음하는 것을 고민할 수 있다. 우리 한글에서 "ㅣ+ㅗ = ㅛ"인데 "ㅡ+ㅗ"는 "ㅛ"는 아니지만 유사한 발음의 변형이 될 것으로 짐작된다. "ㄱ"이 "ㅎ"과 합쳐지면 "ㅋ" 소리가 나는데, 일반인의 느낌으로 "" 발음은 기본이 되는 "ㅅ"(또는 "ㅆ")에 "ㅎ"이 합쳐진 소리보다는 많이 약하지만, "ㄱ+ㅎ"의 경우 처럼 "흐"하는 기운이 아주 약간 섞여 있는 느낌이 있다. 따라서 시옷과 여린ㅎ이 좌우로 병서된 "ㅅㆆ"로 또는 상하로 연서된 글자로 표현될 수도 있어 보인다. "z"는 반치음 "ㅿ" 으로 표기하자는 주장이 있다.
"
Figure pat00531
"은 현대 한국어의 "ㅈ"과 가장 유사한데 "ㅈ"보다는 부드러운 발음으로 느껴진다. 따라서 "
Figure pat00532
" 또는 "
Figure pat00533
"으로 할 수 있다. "d"은 "" 보다 강한 발음이다. 따라서 "ㅉ+ㅇ"의 연서(또는 병서) 형태로 표기하는 것을 고려할 수 있다. "church" 등에서 나타나는 "ch"에 대응되는 발음은 현재 "ㅊ"으로 통용되고 있으므로 언급하지 않는다.
영어의 "l" 발음은 현대 한국어의 "ㄹ"로 적고 있으며 크게 이의가 없는 듯하다. 영어의 "l"이 "ㄹ"이라면, 영어의 "r" 은 "ㄹ"을 기본소리로 하고 "ㄹ" 보다 약한 발음으로 볼 수 있으므로 "
Figure pat00534
" 또는 "
Figure pat00535
" 과 같이 표기할 수 있다.
이상에서 영어에는 있으나 우리 현대 한국어에는 없는 몇가지 대표적인 발음을 기존의 한글자모를 사용하여 표기할 수 있는 방안에 대해 설명하였다. 이상의 사항은 다른 언어의 발음 표기에도 유사하게 적용될 수 있다.
31.3.2 확장한글의 표시 방법
상기 설명한 현대 한국어에 없는 외국어 발음 등을 표시하는 것을 편의상 "확장한글"이라고 부르기로 한다. 유니코드에 있는 옛한글 자체를 사용하는 것과 상기 설명한 방안 모두를 포함하는 개념이다.
도면4-33(*)의 유니코드에 있는 글자는 과거 옛문헌에 들어 있는 한글고어를 유니코드로 등록한 것이다. 따라서 도면4-33(*)의 유니코드를 살펴보면 옛문헌에 사용된 글자를 관찰할 수 있는 것이다. 그런데 "X+ㅇ" 또는 "ㅇ+X" 로 연서 또는 병서된 글자를 살펴보면, "X+ㅇ" 가 있으면서 동시에 "ㅇ+X" 도 있는 것을 알 수 있다. 여기서 "X"는 임의의 자음이고, "ㅇ"는 "이응"이다. 즉, "X+ㅇ"라는 글자의 발음과 "ㅇ+X"라는 글자의 발음은 서로 다르며, 그 서로 다른 미묘한 발음의 차이를 각각 표현하려 했던 것이 아닌가 짐작된다. 물론 이를 확인하려면 옛문헌에 대한 심층적인 조사가 필요하나, 국어학자가 아닌 본 발명자가 그렇게 할 수 있는 여유는 없다.
아래에 설명하는 내용이 본 발명의 핵심이다. 중요한 것은 "X+ㅇ" 이 상하로 연서된 글자가 있으면, 좌우로 병서된 글자는 없다는 것이다. 예를 들어, "ㅸ"과 같이 연서된 글자가 유니코드에 있으면 "ㅂㅇ" 과 같이 병서된 글자는 유니코드에(즉, 옛문헌에) 없는 것이다. 마찬가지로 "
Figure pat00536
"과 같이 병서된 글자가 유니코드에 있으면 "
Figure pat00537
"과 같이 연서된 글자는 없는 것이다. 단 하나 예외처럼 보이는 것이 "
Figure pat00538
" 과 "
Figure pat00539
"인데, "
Figure pat00540
"에서의 이응은 "옛이응" 이므로 "
Figure pat00541
"에서의 "ㅇ"과는 다르다고 할 수 있다. 결국 "X+ㅇ" 형태에서 연서된 글자가 유니코드에 존재하면 병서된 글자는 유니코드에 없고, 반대로 병서된 글자가 유니코드에 존재하면 연서된 글자는 유니코드에 존재하지 않는다고 할 수 있다. 이를 정리하면, "X+ㅇ" 형태의 글자를 상하 연서 또는 좌우 연서로 표현한 것은 2가지 다 같은 발음을 나타내는 것으로 정의할 수 있는 것이다.
다음으로 이렇게 연서 또는 병서된 글자를 표현하는 방법에 대해 설명한다. 우리 한글에서 자모음이 결합된 글자의 형태는 자음이 좌측, 모음 우측에 있는 형태(예. "가". 편의상 (1)번형태 또는 모음우치형)가 있고, 자음이 상측, 모음이 하측에 있는 형태(예. "구". 편의상 (2)번 형태 또는 모음하치형)가 있고, 중간 형태(편의상 (3)번형태. 예. "과")가 있다.
따라서 "X+ㅇ" 형태의 자음을 초성자음으로 표기할 때, 상기 (1)번형태에서는 상하로 연서된 형태로 표시하는 것이 바람직하고, 상기 (2)번형태에서는 좌우로 병서된 형태로 표시하는 것이 바람직하다. 상기 (3)번 형태에서는 연서 또는 병서된 형태를 선택적으로 적용할 수 있다. 예를 들어, 유니코드에는 "ㅸ" 과 같이 상하로 연서된 형태만이 제시되어 있으나, "ㅏ" 모음과 결합하면 "
Figure pat00542
"로 표시하고, 모음 "ㅜ"와 결합하면 "
Figure pat00543
"와 같이 좌우로 병서된 형태로 표시되는 것이 바람직하다. (3)번형태의 경우는 연서 또는 병서 중 어느 한가지를 적용할 수 있는데, 절충방안으로는 유니코드에 있는 형태(연서 또는 병서)대로 적용하는 방안이 있을 수 있다. 예를 들어, "ㅸ"은 유니코드에 상하 연서 형태로 있으므로 "ㅘ"와 결합시 연서형태로 표시하는 것이고, "
Figure pat00544
"은 좌우 병서 형태로만 유니코드에 있으므로 "ㅘ"와 결합시 병서 형태로 표시하는 것이다. (3)번형태를 표시하는 방법은 초성자음만이 입력되었을 때도 유용하게 응용될 수 있다. 모음이 입력되기 전에 초성자음으로써 "X+ㅇ"형태의 자음이 입력되면, 상하 연서로 표시할 지, 좌우 병서로 표기할 지 정하기 어려운데, 유니코드의 기본형을 표시할 수 있는 것이다. 예를 들어 처음 입력상태에서 "ㅂ"와 "ㅇ"이 눌러져서 초성자음 "X+ㅇ"가 인식되었을 때, 유니코드에 있는 상하 연서로 "ㅸ" 으로 표시할 수 있는 것이다. 그 다음에 "ㅡ" 또는 "ㅜ"가 입력되면 "
Figure pat00545
" 또는 "
Figure pat00546
"로 표시되는 것이다. 만약 초성자음 "ㅸ" 다음에 "ㅣ"가 입력된다면 "
Figure pat00547
"로 표시될 것이다. 이는 "
Figure pat00548
"에 대해서도 마찬가지이다.
상기 (1),(2),(3)형태는 모두 종성자음이 없는 경우의 사례를 들었는데, 종성자음이 있는 경우(예. "각", "국", "곽". 편의상 (4)번형태)는 종성자음의 유무와 상관없이 초성자음으로의 "X+ㅇ"을 상기 (1),(2),(3)번형태에 따라 좌우 병서형태 또는 상하 연서형태로 표시할 수도 있고, 상기 (1)번형태에서 처럼 초성자음 "X+ㅇ"을 표시할 수도 있다. 종성자음이 있는 글자의 경우 모음우치형의 모음이 결합되더라도 좌우 병서된 글자로 표시하는 것은 종성자음이 위치할 영역을 확보해 주기 위함이다. 예를 들어 모음우치형의 모음인 "ㅣ"가 결합된 경우에도 종성자음 "ㄱ"이 있으면 초성자음은 좌우 병서로 하여 "
Figure pat00549
"과 같이 표시할 수 있다. 네모꼴로 표현되는 자모결합글자에서 종성자음이 위치할 공간을 확보하기 위해서이다. 표시되는 순서는 "ㅸ" 이 소정의 수단(예. "ㅂ"과 "ㅇ"의 순차입력 또는 특정 문자입력시스템에서 정해진 수단)에 의하여 "ㅸ"이 초성자음으로 인식되었을 때는 "ㅸ"으로 표시되고, 이어서 "ㅣ"가 입력되면 "ㅸㅣ"로 표시되고, "ㄱ"이 입력되면 "
Figure pat00550
" 이 표시되는 것이다.
상하로 연서된 자음은 "X+ㅇ"의 형태에서만 나타나고 있다. 상기 "X+ㅇ" 형태의 글자가 유니코드상에서는 상하 연서의 형태로만 존재하는 경우에도 종성자음으로 사용될 때는 반드시 좌우 연서된 형태로 표시되는 것이 바람직하다. 예를 들어 영어의 "~er"발음을 나타내기 위하여 "
Figure pat00551
" 을 종성자음으로 사용하는 경우 비록 유니코드에는 상하 연서의 형태로 되어 있으나, "
Figure pat00552
" 형태로 표시하는 것이 바람직하다. 예를 들어 "
Figure pat00553
" 과 같이 "ㄹ+ㅇ"을 좌우 연서로 표시하는 것이 상하 연서로 표시하는 것보다 형태적인 안정감을 주는데 훨씬 도움이 된다. 이는 "X+ㅇ" 형태의 모든 자음이 종성자음으로 사용될 때 동일하게 적용될 수 있다.
한걸음 더 나아가 우리 한글고어(옛한글)에 사용된 3개 이상의 알파벳이병서된 형태를 살펴보면 다음과 같다. "XXX"형, "XYY"형, "XXY"형, "XYZ"형 등이 있다. "XXX"형의 사례는 "
Figure pat00554
" 을 들 수 있고, "XYY"형의 사례는 "
Figure pat00555
" 를 들 수 있고, "XXY"형의 사례는 "
Figure pat00556
" 를 들 수 있고, "XYZ"형의 사례는 "ㅴ" 를 들 수 있다. 상기 "XXX"형의 경우는 삼각형 형태로 "X" 아래에 "XX" 를 두는 형태로 표시되거나, 역삼각형 형태로 "XX"아래에 "X"를 두는 형태로 표시되는 것이 바람직하다. 예를 들어 "
Figure pat00557
"을 삼각형 형태로 표시하면 "
Figure pat00558
" 가 된다. "XYY"형의 경우는 삼각형 형태로 "X"아래에 "YY"를 두는 형태로 표시되는 것이 바람직하다. 예를 들어 "
Figure pat00559
"을 삼각형 형태로 표시하면 "
Figure pat00560
" 이 된다. "XXY"형의 경우는 역삼각형 형태로 "XX" 아래에 "Y"를 두는 형태로 표시되는 것이 바람직하다. 예를 들어 "
Figure pat00561
" 을 역삼각형 형태로 표시하면 "
Figure pat00562
" 이 된다. "XYZ" 형태는 삼각형 형태로 "X" 아래에 "YZ"를 두거나, 역삼각형 형태로 "XY" 아래에 "Z"를 두는 형태로 표시되는 것이 바람직하다. 예를 들어 "ㅴ"을 삼각형 형태로 표시하면 "
Figure pat00563
" 가 된다. 이렇게 하는 것이 우리 한글의 형태미를 살리는데 훨씬 도움이 된다.
유니코드에 없는 "
Figure pat00564
" 을 표시하려면, "
Figure pat00565
"에 대응되는 새로운 코드를 유니코드에 등록하여야 하는 것이 아닌가 의심할 수도 있다. 그러나 낱자로의 유니코드를 사용하여 자모결합된 글자를 표현한다면 (예. 첫가끝조합형, .... 등등), 순경음 "ㅸ" 의 유니코드를 그대로 사용할 수 있다. 단, 버튼의 눌러짐에 따라 한글조합을 처리함에 있어 모음우치형의 모음(예. "ㅏ")이 입력되면 상하 연서된 형태(예. "ㅸ")로 처리하고, 모음하치형의 모음(예. "ㅡ")가 입력되면 좌우 병서된 형태(예. "
Figure pat00566
")로 처리하는 것이다. 이는 다른 "X+ㅇ" 형 자음에 대해서도 마찬가지이며, "XXX"형, "XYY"형, "XXY"형, "XYZ"형 자음에 대해서도 마찬가지이다.
32. 한국어모드에서 공백, 숫자, 영어 알파벳의 입력
32.1 공백의 입력
상기에서 별도의 구분버튼을 사용하지 않고도 한글고어 입력시의 모호성을 해결하는 것을 제시하였다. 삼성전자社가 채용하고 있는 도면15-3 키패드에서는 문자입력에 직접 사용되지 않는 [#]버튼을 구분버튼과 공백버튼을 겸하는 용도로 사용하고 있다. 현실적으로는 상/하/좌/우 이동버튼 중 우측이동버튼(통상 오른쪽 화살표 또는 유사한 기호가 버튼상에 표기됨)을 구분버튼과 공백버튼을 겸하는 용도로 사용하고 있고, 단어 하나 정도의 입력이 아닌 문장을 입력하는 경우에는 기 입력된 문장의 편집을 위한 용도로 상/하/좌/우 이동버튼이 사실상 필수적이므로 [#]버튼을 이러한 용도로 사용하는 것이 큰 의미는 없다. 그러나 10개의 숫자버튼과 [*], [#]버튼을 포함하는 12개 버튼내에서 공백까지 입력하여야 한다는 요구사항이 있을 수도 있다.
출원인의 선출원에서"y = xㅡㅡ" 로 입력하는 것을 보였고, 이는 특수문자 또는 공백의 입력에도 적용될 수 있음은 자명하다. 현대 한국어만 입력하는 경우 격자음 또는 경자음(즉, 쌍자음)이 없는 자음(예."ㄹ")의 입력 다음에 [ㅡ]버튼 또는 [ㅣ]버튼 2번 눌러짐을 공백으로 처리한 사례가 있다. 예를 들어"공백 = ㄹㅣㅣ" 로 한 것이다. 이는 우측이동버튼을 공백버튼으로 겸하여 사용하는 경우에, 단어 사이에 공백을 추가할 수 없는 단점이 있는데, 이 경우 유용하게 사용될 수 있다. 예를 들어,"가나다"를 입력후"가"와"나" 사이에 공백을 추가하기 위하여 이동버튼으로 커서를"나"에 위치시키고 다시 우측이동버튼을 눌러도 공백이 추가되지는 않는다. 이러한 경우 상기 예시한 대로"공백 = ㄹㅣㅣ"로 추가시킬 수 있는 것이다. 한번 공백이 입력된 후, 우리 한글에서 입력시작상태(즉, 공백입력 직후)에 모음이 연속하여 나오지 않으므로 [ㅣ]버튼 한번 더 누른 것을 공백이 한번 더 입력된 것으로 처리할 수 있다. 예를 들어,"공백2개 = ㄹㅣㅣㅣ"로 할 수 있는 것이다.
한글고어까지 입력하는 경우를 통틀어"알파벳-글자 모호성"에 대하여"후행알파벳장타처리"를 적용하거나,"수직/수평모음장타처리" 를 적용하지 않는 한, [ㅡ]버튼 또는 [ㅣ]버튼을 길게 누르는 경우는 없다. 따라서 [ㅡ]버튼 또는 [ㅣ]버튼을 길게 누르는 것 중 한가지를 공백의 입력으로 처리할 수 있다. 만약 [ㅣ]버튼이 길게 눌러져서 처음으로 공백이 입력되고 나면, 우리 한글에서 공백다음에 모음으로 글자가 시작되지 않는 성질을 이용하여 [ㅣ]버튼 한번 눌러짐을 공백이 한번 더 입력된 것으로 처리할 수 있다. 예를 들어,"공백2개 = ㅣ~ㅣ", 공백3개 = ㅣ~ㅣㅣ", ... 로 할 수 있는 것이다. 물론"공백2개 = ㅣ~ㅣ~"와 같이 입력하여도 된다.
공백 다음에 눌러진 모음버튼(예. [ㅣ]버튼)을 공백으로 처리하는 것(예."공백2개 = ㅣ~ㅣ")은 공백 다음에 낱자모음을 입력하기 어렵게하는 단점이 있다. 실제 우리 문자생활에서"ㅠㅠ"와 같이"ㅡ"로 시작하는 낱자모음은 비교적 빈번히 사용되나,"ㅣ"로 시작하는 낱자모음은 그다지 많이 사용되지는 않고 있다. 따라서 [ㅣ]버튼의 길게누름 및 길게누름 후 연속누름을 공백의 입력 및 공백의 연속입력으로 활용하는 것이 더 좋을 것이다.
다음으로 [ㅡ]버튼의 길게 누름을"모드전환"기능 등 다른 기능으로 활용할 수도 있다. 모드전환기능은 빈번히 사용되는 기능이 아니므로, 길게누름에 의하여 모드전환한다고 하여 크게 문제되지는 않는다. 현실적으로는 [모드전환]버튼은 별도의 버튼으로 구비될 것이므로, 실질적인 의미는 없고, 단지 그렇게 할 수 있는 가능성만을 보여주는 것이다. 왜냐하면 "성명", "상호", ... 등의 온전한 하나의 단어가 아닌 "ㅠㅠ" 와 같은 글자의 입력이 필요한 경우라면, 다수의 단어 및 문장의 입력이 필요한 경우이므로 현실적으로 입력된 내용(예. 단어들, 문장, ...)을 볼 수 있는 액정과 편집을 위한 상/하/좌/우 이동버튼 그리고 모드전환버튼 등이 별도로 구비될 것이기 때문이다.
32.2 한국어모드에서 숫자의 입력
현재 현대 한국어를 입력하는 경우, 한글모드에서 숫자버튼을 길게 누르면 해당 숫자가 입력되는 경우가 많다. 예를 들어, 한글모드에서 숫자 "1"이 배정되어 있는 [ㄱ]버튼을 길게 누르면 숫자 "1"이 입력되는 것이다. 그러나 도면4-*에서 예시한 키패드에서도 현대 한국어만을 입력하는 것은 모호성없이(또는"3+타 입력방법" 등 반복누름에 의한 입력시 극히 적은 모호성) 한글입력이 가능하므로, 숫자버튼의 길게 누름으로 숫자를 입력할 수 있다. 그러나, 한글고어까지 입력할 경우"초성자음위치 모호성"에 대하여 자음버튼(즉, 숫자버튼)의 길게 누름이 사용될 수 있다. 즉, 현대 한국어와 함께 한글고어까지 입력하기 위해서는 숫자버튼의 길게누름으로 숫자를 입력할 수 없게 된다.
전화번호, 주민번호 등 다수의 숫자를 입력하기 위해서는 한글모드에서 숫자버튼의 길게누름을 이용하여 입력하는 것은 현실성이 없고, 숫자모드로 전환하여 입력하여야 할 것이다. 다만 한글입력 중간에 하나 정도 입력되는 숫자를 한글모드에서 입력하는 수단을 제공하는 것이 필요할 것이다. 다음에서 한국어모드에서 숫자를 입력하는 기술을 설명한다.
출원인이 선출원에서 제시하였던 바, "y = x+(모음버튼반복누름가능 최대횟수+1번 더 누름)" 로 입력할 수 있는 것을 제시한 바 있다. "모음버튼반복누름가능 최대횟수"는 한글조합이 가능한 한에서의 최대횟수를 의미한다. 상기에서 "y"는 "숫자", "x"는 입력된 자음, "모음버튼"은 [ㅡ]버튼, [ㆍ]버튼, 또는 [ㅣ]버튼이 될 수 있다. 먼저 현대 한국어만을 입력하는 경우의 예를 들어, "크 = ㄱㅡㅡㅡ" 이므로, "숫자 1 = ㄱㅡㅡㅡㅡ" 으로 할 수 있다. 다른 방법으로는 자음이 입력된 후 [ㆍ]버튼은 최대2번 까지 눌러진다고 하였으므로, "숫자 1 = ㄱㆍㆍㆍ"으로 할 수도 있다. 선출원에서 [ㆍ]버튼 3번 눌러짐을 "ㅎ"으로 하는 기술을 보였는데, 이는 동시에 적용될 수 있다. 입력값 "ㄱㆍㆍㆍ"은 "ㄱㅎ"으로도 해석될 수 있지만, "ㄱ" 초성자음 다음에 "ㅎ"이 결합하여 자모결합글자를 이루지 못하는 경우, 이를 상기와 같이 숫자 "1" 의 입력으로 처리할 수도 있는 것이다. 다만 일련의 버튼누름 중에서 [ㄱ]버튼의 눌러짐이 초성자음이 아니고 종성자음으로 되는 경우는, "ㄱ"이 초성자음이라는 것을 명확하도록 입력하여야 한다. 예를 들어 "후행알파벳장타처리"를 적용하여 "숫자 1 = ㄱ~ㆍㆍㆍ"로 하여야 하는 것이다.
다음으로 현대 한국어를 포함하여 한글고어까지 입력하는 경우에 한국어모드에서 숫자의 입력을 살펴본다. "ㄱㅡㅡㅡㅡ"는 "ㅋ" 아래에 "
Figure pat00567
"가 결합된 글자로 될 수 있다. 그러나 현재까지 유니코드v2.0에 등록된 한글고어 모음에서도 "ㅡ"가 3개 연속결합된 모음은 존재하지 않는다. 따라서 "숫자 1 = ㄱㅡㅡㅡㅡㅡ"로 할 수 있다. 그러나 한글고어의 입력을 포함하면 "숫자 7", "숫자 9" 등의 경우는 도면4-34(a)에 있는 것처럼 훨씬 더 많은 횟수가 눌러져야 하는 문제가 있다. 한글고어의 입력을 포함하는 "아래아 3모음법"에서도 자음의 입력 다음에 [ㆍ]버튼은 최대 2번까지 눌러질 수 있다. 따라서 상기 "숫자 1 = ㄱㆍㆍㆍ"을 유사하게 적용할 수 있다. 다만 한글고어에서는 "xy" 형태의 자음이 초성으로도 나올 수 있으며, "y"위치에 "ㅎ"이 있는 경우(예. "
Figure pat00568
")도 있기 때문에 완전히 동일하게 적용하기 어렵다.
상기와 같이 자음의 입력후 [ㅡ]버튼 또는 [ㅣ]버튼의 반복누름을 이용하는 경우는 버튼 반복누름의 횟수가 너무 많아지고, 한글고어 자음의 입력까지 모음버튼의 조합으로 입력하는 것을 포함하는 경우(참조. 도면4-34(a))는 누름횟수가 과다하게 증가하는 단점이 있다. 따라서 "숫자 y = xㅡ~" (즉, "숫자 y = x *~) 또는 "숫자 y = xㅣ~" (즉, "숫자 y = x #~") 으로 할 수 있다. 상기에서 "x"는 [1]~[0]의 10개 숫자버튼이다. 이는 한글고어의 입력에 [ㅡ]버튼 또는 [ㅣ]버튼의 길게누름이 적용되지 않는 한에서 적용가능한 것임은 당연하다. 예를 들어 숫자 "1 = ㄱㅣ~ = 1 #~" 로 할 수 있다. 이를 다시 정리하면, 한국어 모드에서의 숫자의 입력을 "숫자가 배열된 버튼 한번 누름 + 숫자가 배열되지 않은 버튼의 길게 누름" 의 조합으로 처리하는 것이다.
이는 도면15-3, 도면15-4의 기존 대기업 제조회사의 한글 키패드에서도 적용될 수 있다. 즉 한국어모드에서의 숫자입력은 "숫자버튼 한번 누름 + 숫자가 배열되지 않은 버튼 길게 누름"으로 하는 것이다. 예를 들어, 도면15-3의 삼성전자사 키패드에서, 숫자 "2 = ㆍ+ #~"로, 숫자 "4 = ㄱ + #~"으로 할 수 있는 것이다. 도면15-4의 키패드에서, 숫자 "2 = ㄴ + #~" 과 같이 할 수 있는 것이다.
32.3 한국어모드에서 영어알파벳의 입력
상기에서 한글모드에서 숫자를 입력하는 기술을 보였다. 다음으로 한글모드에서 영어 알파벳을 입력하는 것을 제시한다. 통상 도면1-1에서와 같이 하나의 버튼에 3개의 알파벳이 배정되어 있는 영문키패드가 주로 사용되고 있다. 또한 한글고어까지 통틀어 한국어의 음절은 항상 자음으로 시작하며, 모음으로 시작되지 않는다. 따라서 숫자의 입력과 그 숫자 다음에 눌러진 [ㅡ], [ㆍ], 또는 [ㅣ]의 모음버튼으로 버튼에 배정된 영어 알파벳을 입력하도록 할 수 있다. 우리 한글에서 모음으로 정상적인 음절이 시작되지 않기 때문이다. 표현식으로 나타내보면 "영어알파벳 y = 숫자+모음버튼" 과 같이 된다. 예를 들어, "a = 2+모음버튼 = ㄴㅣ~ +모음버튼" 과 같이 될 수 있다.
통상의 경우 도면1-1에서와 같이 하나의 버튼(예. [2]버튼)에 약 3개의 영어 알파벳(예. "a b c")이 배열된다. 숫자의 입력 다음에 눌러지는 모음버튼 [ㅡ], [ㆍ], 또는 [ㅣ]버튼에 따라 각각의 알파벳이 입력되도록 할 수 있다. 즉, 첫번째 배열된 영어 알파벳(예. "a")은 "숫자 2 + ㅡ"로, 두번째 배열된 영어 알파벳(예. "b")는 "숫자 2 + ㆍ"으로, 세번째 배열된 영어 알파벳(예. "c")은 "숫자2 + ㅣ"로 할 수 있다. 예를 들어, 영어 알파벳 "a"(즉, 1번째 배열된 영어알파벳)의 입력에 모음버튼 [ㅡ]버튼을 누르는 것을 적용하면, "a = 2ㅣ = ㄴㅣ~ ㅡ" 와 같이 된다. 영어 알파벳 "b"(즉, 2번째 배열된 영어알파벳)의 입력에 모음버튼 [ㆍ]버튼 누름을 적용하면, "b = 2ㆍ = ㄴㅣ~ ㆍ"로 되고, 영어 알파벳 "c"(즉, 3번째 배열된 영어알파벳)의 입력에 모음버튼 [ㅣ]버튼 누름을 적용하면, "c = 2ㅣ = ㄴㅣ~ ㅣ" 로 된다. 만약 "2a"를 입력하려면 "2a = ㄴㅣ~ ㄴㅣ~ㅡ"로 될 것이다. 상기 입력값의 표시에서 공백은 가독성을 높여 본 문서를 읽으시는 분들을 편하게 하려는 것일 뿐, 의미를 가지는 것은 아님은 앞서 설명한 바와 같다.
상기 설명에서 "영어 알파벳 = 숫자+모음버튼 반복누름"으로 하지 않는지 의구심을 가질 수 있다. 만약 숫자입력후 [ㅡ]버튼의 1번 눌러짐은 "a", [ㅡ]버튼의 2번 눌러짐은 "b", [ㅡ]버튼의 3번 눌러짐은 "c"와 같이 하면, 기존의 반복선택방법에서와 같이 모호성이 있게 되기 때문이다.
상기의 내용을 적용하였을 때, 숫자 "2"와 연속하여 낱자모음(예. "ㅠ")이 나오는 경우(즉, "2ㅠ")는 입력할 수 없게 된다. 마찬가지로, 시간지연(즉, 타이머), 구분버튼 등의 기존의 수단이 적용될 수 있다. 그러나, 현실적으로 이렇게 "2ㅠ"를 입력하는 경우는 거의 없을 것이다.
도면1-3에서와 같이 [7]버튼에 "p", "q", "r", "s" 의 4개 알파벳이 배정된 경우 3개의 알파벳은 상기 설명한 바와 같이 처리할 수 있다. 나머지 하나의 알파벳은 "3개 알파벳중 하나+눌러지지 않은 모음버튼" 으로 입력할 수 있다. 예를 들어, "p", "q", "r"을 각각 상기 "a", "b", "c"와 같이 입력한다면, "s = r+눌러지지 않은 모음버튼 = p ㆍ 또는 p ㅣ 또는 q ㅡ 또는 q ㅣ 또는 r ㅡ 또는 r ㆍ" 으로 할 수 있다. 여기서 "p ㆍ = ㅅㅡ~ㅡㆍ"이고, "pㅣ = ㅅㅡ~ㅡㅣ" 임은 쉽게 알 수 있다.
상기와 같이 "숫자의 입력"과 "한국어 자음이 배열되지 않은 버튼(더 정확히는, 자음의 입력을 시작하지 않는 버튼)" 눌러짐의 조합으로 영어 알파벳을 입력하는 것은 도면15-3, 도면15-4 등 다른 키패드에서도 적용할 수 있다. 예를 들어, 도면15-3의 키패드에서, "a = 2+ㅣ~ = ㆍ#~ㅣ", "b = 2+ㆍ~ = ㆍ#~ㆍ", "c = 2+ㅡ~ = ㆍ#~ㅡ"와 같이 할 수 있다. 도면15-4의 키패드에서 "a = 숫자2+* = ㄴ#~*", "b = 숫자2+0 = ㄴ#~0", "c = 숫자2+# = ㄴ#~#"과 같이 할 수 있다. 도면 15-4에서 [*]버튼(즉, [덧쓰기]버튼)과 [#]버튼(즉, [나란히]버튼)을 마지막 조합에 사용할 수 있는 이유는 도면15-4 키패드의 입력규칙에서 "ㅋ = ㄱ*"로 되어 있어 자음의 입력이 "*"버튼의 누름으로 시작하지 않기 때문이다.
더 나아가 한국어 모드에서 숫자가 배정된 버튼(통상 한국어 자모도 함께 배열)의 길게 누름으로 숫자를 입력하는 경우에도 동일하게 적용될 수 있다. 본 발명의 4-*의 키패드에서 숫자 "2"를 [2]버튼(즉, [ㄴ]버튼) 길게 누름으로 입력한다면 (선행알파벳장타처리, 후행알파벳장타처리와 같이 알파벳 입력에 길게 누름을 적용하지 않는다는 전제하에), "a = (숫자)2ㅡ = ㄴ~ㅡ = (버튼)2~ㅡ" 로 할 수 있다. 또 다른 예를 들어, 도면15-3에서 숫자 "4"가 배정된 버튼(즉, [4]버튼이면서 동시에 [ㄱ]버튼)의 길게 누름으로 숫자 4를 입력하는 경우에도 상기의 설명은 동일하게 적용될 수 있다. 도면15-3에서 숫자 "4 = ㄱ~ = 4~" 으로 입력하고 나서, 자음의 입력을 시작하지 않는 어떤 버튼(예. [ㅣ]버튼)이 한번 눌러지면 [4]버튼에 배열되어 있는 어느 알파벳(예. 첫번째 영어 알파벳인 "g")가 입력될 수 있다. 즉, "g = ㄱ~ㅣ = 4~1" 로 되는 것이다. 마찬가지로 도면15-4의 키패드에서도 "a = ㄴ~* = 2~*" 과 같이 입력할 수 있다.
33. PC등의 키보드에서의 한국어 입력
33.1 한글 2벌식 키보드 한국어 입력에서의 개선 사항
현재 PC등에서 표준으로 사용되고 있는 2벌식 키보드는 도면18-1(a)와 같다. 도면18-1(b)는 도면18-1(a)에서 문자버튼을 포함하고 있는 좌측부분만을 표시한 것이다. 누구나 아는 바와 같이 "ㄱ"이 표기된 [ㄱ]버튼이 한번 눌러지면 "ㄱ"이 인식된다. 또한 "ㄱ"위에 표기된 "ㄲ"은 [Shift]버튼과 동시에 [ㄱ]버튼이 눌러졌을 때, "ㄲ"이 인식되는 것을 나타낸다. "ㄲ" 등이 버튼에 추가로 표기될지 여부의 문제는 선택적인 사항(예를 들어, [ㄱ]버튼에 "ㄲ"이 추가로 표기될 수도 있고, 표기되지 않을 수도 있는 사항)이다.
현행 2벌식 키보드에서 [ㄹ]버튼(영문키보드 기주능로는 [F]버튼)은 왼손 검지손가락이 위치하는 기준버튼이고 [ㅓ]버튼(영문키보드 기준으로는 [J]버튼)은 오른손 검지손가락이 위치하는 기준버튼이다. 왼손을 사용하여 버튼을 누르는 왼손영역은 [ㅅ], [ㅎ], [ㅠ] 버튼을 포함하여 좌측의 15개 버튼이고, 오른손을 사용하여 버튼을 누르는 오른손영역의 버튼은 [ㅛ], [ㅗ], [ㅜ]버튼을 포함하여 우측의 11개 버튼이다. 오른손 영역의 문자버튼이 11개인 것은, 영문알파벳이 배열된 버튼만을 기준으로 한 것이다. 현행 표준2벌식 키보드의 자모음 배치의 구성은 "ㄱ", "ㄴ", "ㄷ", ... "ㅍ", "ㅎ" 의 14개 자음을 배열하고 있으며, 모음은 "ㅏ", "ㅑ", "ㅓ", "ㅕ", "ㅗ", "ㅛ", "ㅜ", "ㅠ", "ㅡ", "ㅣ"의 10개 자음에 "ㅐ", "ㅔ"를 더 포함하여 12개 버튼으로 구성되어 있다. 결과적으로 15개버튼으로 이루어진 왼손영역에 14개 자음을 배열하면 1개의 버튼이 남고, 11개 버튼으로 이루어진 오른손영역에 12개 모음을 배열하려면, 하나의 버튼이 모자라게 된다. 결과적으로 왼손영역의 남는 버튼에 가장 사용빈도가 낮은 "ㅠ"를 배열한 형태가 현재의 2벌식 키보드이다.
키보드는 숫자판 형태의 키패드와는 달리 사용자는 어느 알파벳이 어느 위치에 있는지 인지하지 않고, 자율신경에 의하여 "눈"과 "머리"가 아닌 "손"과 "몸"으로 사용하는 기기이다. 그런데, 자음영역으로 볼 수 있는 왼손영역에 모음 "ㅠ"가 있는 것이 파격과 부자연스러움을 주는 요소가 된다. 이는 본 출원인과 같이 약 25년 이상 한글키보드를 사용해온 사람에게도 동일하며, 인터넷에서 검색하면 이러한 사유로 불편을 호소하고 개선의 필요성을 지적하는 경우를 쉽게 검색할 수 있다.
5개의 경자음(쌍자음) "ㄲ", "ㄸ", "ㅃ", "ㅆ", "ㅉ"은 각각 [Shift]버튼과 "ㄱ", "ㄷ", "ㅂ", "ㅅ", "ㅈ" 버튼을 동시에 누름으로써 인식된다. 예를 들어, "ㄲ = Shift^ㄱ" 인 것이다. 여기서 편의상 "^"를 사용하여 표현하였으며, "^"는 그 앞에 있는 [Shft]버튼이 눌러진 상태에서 [ㄱ]버튼이 눌러지는 것을 표현하기 위한 것이다. 단 여기서 "^"는 연속하여 눌러짐을 나타내는 "+"로도 대체되어 표기될 수도 있다. 선출원에서 "Shift+X" 로 표기한 것도 같은 표현이다. 입력값의 표현식에서 "+"는 표시되지 않을 수도 있다고 하였으며, 입력값을 읽기 편하게 하기 위하여 때로 "+"를 표시하기도 하고, 때로 "+"를 표시하지 않기도 하였으나 같은 표현이다. "Shft X" 와 같이 "^" 또는 "+" 없이 표현되더라도 [Shift]는 다음 눌러지는 버튼과 함께 눌러지는 것으로 간주한다. Windows OS 에서도 "고정키(Sticky Key)" 기능을 사용하도록 설정하여 주면 "Shft^X" 동시누름이 아닌 "Shift+X" 순차누름으로도 동일하게 입력할 수 있으며, 본 발명에서는 이렇게 고정키가 적용되는 경우도 포함하는 것은 물론이다. Shift 를 사용하는 것이 키보드 사용상의 편리성을 저해하는 요소가 되며, Shift를 사용하지 않고, 입력하려는 많은 시도가 있었다. 대부분이 2벌식 한글오토마타를 약간씩 변형하여 적용하는 시도였다. 예를 들어, 원래 "ㅖ = Shift^ㅔ", "ㅒ = Shift^ㅐ" 이나, [ㅔ]버튼 2번눌러짐로 으로 "ㅖ"를 입력(즉, "ㅖ = ㅔ+ㅔ")하거나 [ㅐ]버튼 2번 눌러짐으로 "ㅒ"를 입력(즉, "ㅒ = ㅐ+ㅐ")는 것을 들 수 있다.
상기 5개의 경자음 중 사용빈도가 현저하게 많은 "ㅆ"을 독립된 하나의 버튼에 배치하려는 시도는 끊임없이 있어왔다. 학자이자 발명자인S대학교의 K교수는 "ㅆ"을 도면18-1(a) 또는 도면18-1(b)의 [ㅠ]버튼(즉, [B]버튼)에 배치하고, 가장 누르기 어려운 위치에 있는 [ㅔ]버튼(즉, [P]버튼)의 위치에 "ㅔ"를 빼고 "ㅠ"를 배치하는 것을 제시하였다. "ㅠ"는 [ㅠ]버튼 (즉, [P]버튼) 한번눌러짐으로 인식되지만, 여기서 "ㅔ"는 버튼상에 배열되지 않으므로 [ㅓ]버튼과 [ㅣ]버튼의 조합으로 인식된다. 즉 "ㅔ = ㅓ+ㅣ", "ㅖ = ㅕ+ㅣ"로 되는 것이다. 또 다른 이는 이를 약간 변형하여 "ㅆ"을 현재의 [ㅠ]버튼(즉, "B"버튼)에 배치하고, [ㅜ]버튼 2번 눌러짐으로 "ㅠ"를 인식(즉, "ㅠ=ㅜ+ㅜ")하는 것이 제시되기도 하였다. 여기서 상기 "ㅖ = ㅔ+ㅔ", "ㅒ = ㅐ+ㅐ"로 입력하는 것과 마찬가지로 "ㅠ = ㅜ+ㅜ"로 입력하는 것 역시 키보드에서 변형된 2벌식 오토마타로써 사용되고 있었다. 인터넷에서 "새나루" 입력기를 검색하면 쉽게 알 수 있다.
상기 5개의 경자음(쌍자음) 중에서 "ㅆ"하나의 사용빈도는 나머지 4개의 경자음 모두의 사용빈도를 합한 것의 약 1.5배 정도로 압도적으로 사용빈도가 많다. 자음과 모음의 통합빈도에서 "ㅆ"은 순위 20위로 1.135%의 사용빈도를 가지며, "ㅠ"는 순위 33위로 0.216% 의 사용빈도를 가진다. 30개 자음(이중 받침 포함)중에서 "ㅆ"은 11위로 1.913%의 사용빈도를 가지며, 21개 모음중 "ㅠ"는 17위로 0.513%의 사용빈도를 가진다.
본 발명에서는 왼손영역(즉, 자음영역)에 있는 현재의 [ㅠ]버튼(즉, [B]버튼)에 경자음 중에서 가장 사용빈도가 많은 "ㅆ"을 배치하고 (즉, [B]버튼 한번 누름으로 "ㅆ"을 인식), [Shift]버튼 [ㅜ]버튼을 조합하여 "ㅠ"를 입력(즉, "ㅠ = Shift^ㅜ" 로 인식)하는 것을 제시한다. [B]버튼에 "ㅠ"를 빼고 "ㅆ"을 배치하였으므로 반드시 "ㅠ"를 입력할 수 있는 방법이 함께 제시되어야 한다. 도면18-2를 참고한다. 현재 사용되고 있는 "ㅠ = ㅜ+ㅜ"로 할 수도 있지만, 이 경우는 한글 고어 모음에서 "ㅜ"가 상하로 연서되어 있는 모음인 "
Figure pat00569
"을 "ㅜ+ㅜ"로 입력하지 못하는 문제가 있다. 물론 "
Figure pat00570
= Shift^ㅜ"로 한다면, "ㅠ = ㅜ+ㅜ"로 할 수도 있다. 그러나 "ㅠ = ㅜ+ㅜ"로 한다면, 형태적으로 "ㅜ" 2개로 이루어진 모음인 "
Figure pat00571
"를 "ㅜ+ㅜ"로 입력하는 것이 가장 자연스러움에도 불구하고 그렇게하지 못하는 것이다.
과거부터 한글 고어(즉, 옛한글)을 입력하는 문제에 있어서, 반치음 "ㅿ"을 어떻게 입력할지 어려움이 있었다. 옛한글을 입력할 수 있는 대표적인 편집기 프로그램이 "아래아한글" 워드프로세서에서는 "ㅿ = Shift^ㅁ"으로 입력한다. 그러나 전혀 연관성 없는 자음인 "ㅁ"에 반치음 "ㅿ"를 연관시켰다고 하는 것은 논리적이지 않다. 따라서 "ㅆ"을 [B]버튼에 배열하여 해당 버튼 1번 눌러짐으로 입력하는 것이 정착이 된다면, 발음과 형태상으로 연관성있는 [ㅅ]버튼을 이용하여 "ㅿ = Shift^ㅅ"으로 입력하는 것이 타당하다.
다만 현재는 [ㅅ]버튼 2번 눌러짐으로 "ㅆ"을 입력하는 변형 2벌식 입력기술 역시 사용되고 있다. (아래아한글 워드프로세서의 옛한글 입력기능, 새나루 한글입력기 등 참고) 옛한글 반치음 "ㅿ" 이 실생활에 사용되는 시기가 올지 안올지 불확실하고, 사용되는 때가 온다고 하더라도 현대 한국어 자모음에 비하면 현저히 사용빈도가 낮을 것이다. 따라서 현대 한국어 입력을 우선하여 [ㅅ]버튼 2번 눌러짐으로 "ㅆ"을 입력하고, [ㅅ]버튼 3번 눌러짐으로 반치음 "ㅿ"을 입력할 수 있다. 그러나 이 경우 "ㅅㅅㅅ"을 누른 것이 종성 "ㅆ"과 초성 "ㅅ"으로 인식되지 못하고 반치음 "ㅿ"로 인식되는 문제가 있다. 따라서 출원인의 선출원에서 밝힌 바와 같이 [ㅅ]버튼 반복 눌러짐에 따라 "ㅅ → ㅆ or ㅅㅅ → ㅆㅅorㅅㅆ → ㅆ" 으로 작동하고, [ㅅ]버튼의 5번 연속 눌러짐을 반치음 "ㅿ"으로 처리할 수 있다. 그러나 실제로 [ㅅ]버튼의 반복 눌러짐에 의한 변화에서 [ㅅ]버튼이 4번 눌러졌을 때 이를 절대적 "ㅆ"으로 처리해야하는 경우는 많지 않을 수도 있다. 따라서 [ㅅ]버튼 반복 눌러짐에 따라 "ㅅ → ㅆ or ㅅㅅ → ㅆㅅorㅅㅆ"으로 하고, [ㅅ]버튼 4번 눌러짐을 반치음 "ㅿ"로 처리할 수도 있다. 즉, [ㅅ]버튼의 3번눌러짐 또는 4번눌러짐 또는 5번눌러짐을 반치음 "ㅿ"로 정의하여 사용할 수 있는 것이다.
언급한 바와 같이 10손가락을 사용하는 키보드는 숙달된 자율신경에 의하여 사용하는 기기이므로, 기존의 습관을 바꾸기 어려울 수 있다. 따라서 현대 한국어의 입력을 우선하여 "ㅆ = Shift^ㅅ"으로 하되, "Shift^ㅅ"에 의한 "ㅆ"이 연속하여 입력되면, 이를 반치음 "ㅿ"로 처리할 수 있다. 즉, 반치음 "ㅿ = Shift^ㅅ + Shift^ㅅ" 또는 "ㅿ = Shift^ㅅ+ㅅ" 으로 하는 것이다. "ㅿ = Shift^ㅅ + Shift^ㅅ"는 "Shft^ㅅ" 에 의하여 "ㅆ"을 입력하고 나서 [Shift] 버튼과 [ㅅ]버튼 모두에서 손을 뗀 상태에서 다시 "Shft^ㅅ"을 눌러주는 동작을 표현한 것이고, "ㅿ = Shift^ㅅ+ㅅ"는 [Shft]버튼을 누른 상태에서 [ㅅ]버튼을 눌렀다 떼고, 여전히 [Shift]버튼은 눌러져 있는 상태에서 [ㅅ]버튼을 한번 더 누르는 것을 의미하며, 양자는 "Shift^ㅅ" 을 2번 누른다는 것을 표현한 동일한 표현인 것이다. 우리 현대 한글의 사용빈도표에 의하면 종성자음 "ㅆ" 다음에 초성자음 "ㅆ"이 나오는 경우는 없는 것(즉, 0%)으로 조사되어 있다. 물론 실제로는 종성자음 "ㅆ" 다음에 초성자음 "ㅆ"이 나오는 단어가 한두개 존재할 수 있는 가능성은 있으나, 현대 한국어 생활에 영향을 미칠 정도는 아닌 것이다.
"ㅅ"과 강한 연관성을 가지는 한글고어(옛한글)는 반치음 "ㅿ"과 "
Figure pat00572
" 이 있다. 별도의 버튼으로 독립시킨 [ㅆ]버튼(즉, [B]버튼)과 [Shift]버튼을 조합하여 어떤 대상을 입력할 수 있는데, "ㅿ" 또는 "
Figure pat00573
" 중 어느 하나가 입력되도록 할 수 있다. 기존에 "ㅆ"을 "Shift^ㅅ"으로 입력하였던 습관을 고려한다면, "
Figure pat00574
= Shift^ㅆ" 으로 하는 것이 타당할 것이다. " Shift^ㅆ"으로 "ㅿ" 와 "
Figure pat00575
" 중 어느 하나를 입력한다고 하더라도, "ㅿ"가 연속하여 나오거나, "
Figure pat00576
"가 연속하여 나오는 경우는 거의 없을 것이다. 따라서 "Shift^ㅆ" 2번 눌러짐에 의하여 "ㅿ" 또는 "
Figure pat00577
" 중 나머지 한가지가 입력되도록 하는 것이 가능하다. 여기("ㅿ = Shift^ㅆ")에서 "ㅆ"은 [ㅆ]버튼(즉, [B]버튼)을 의미한다.
"
Figure pat00578
"을 입력할 수 있는 또 다른 방법은 [ㅅ]버튼과 [ㅆ]버튼의 눌러짐으로 인식되도록 하는 것이다. 즉, "
Figure pat00579
= ㅅ+ㅆ"이 된다. 우리 현대 한국어 사용빈도표에서 "ㅅ" 다음에 "ㅆ"이 연속하여 나오는 경우는 "0.003%" 로 조사되어 있으므로, 사실상 무시될 수 있을 정도의 미미한 수준이다. 단, "ㅆ" 다음에 "ㅅ"이 나오는 경우는 매우 많으므로, "
Figure pat00580
"의 입력에 "ㅆ+ㅅ"을 사용할 수는 없다. 또한 [ㅅ]버튼 3번 눌러짐으로 "
Figure pat00581
"을 입력하기 어려운 것은, "ㅆ = ㅅ+ㅅ"을 허용하는 경우 현대 한국어에서 "ㅆ" 다음에 "ㅅ"이 나오는 경우가 빈번하기 때문이다. "
Figure pat00582
= ㅅ+ㅆ"에서 "ㅆ"의 입력은 [ㅆ]버튼 한번누름에 의하는 것만이 가능한 것은 아니다. 기존 2벌식키보드에서처럼 "ㅆ = Shift^ㅅ" 으로 완전하게 "ㅆ"을 입력할 수 있는 수단으로 입력하는 것도 포함한다. "ㅆ = ㅅㅣㅣ" 와 모호성없이 완전하게 "ㅆ"을 입력하는 수단에 의하는 것(참고. 도면4-*의 키패드에서의 입력 사례)도 마찬가지로 가능하다. 만약 "
Figure pat00583
= ㅅ+ㅆ"으로 입력한다면, "Shift^ㅆ"으로 반치음 "ㅿ"을 입력하도록 할 수 있다. 현재는 키보드에서 "
Figure pat00584
"을 [ㅅ]버튼 3번 눌러짐으로 입력하고 있는데, 이 역시 가능하다. "
Figure pat00585
"은 초성자음으로만 쓰이고 종성자음으로는 쓰이지 않기 때문에 종성자음 "ㅆ" 다음에 "ㅅ"이 입력된 것을 "
Figure pat00586
"으로 처리하는 것이 아니고, "ㅆㅅ"으로 처리한다. "ㅆㅅ"다음에 [ㅅ]버튼이 2번 눌러지면 "ㅆ
Figure pat00587
"이 된다.
우리 한글은 훈민정음창제 당시 28자가 발표되었고, "ㆍ, ㅿ, ㆆ, ㆁ" 글자는 현재 사용되지 않는다. 상기 사용되지 않는 4개의 글자 역시 살려 쓰려는 시도가 있으므로, 이를 자연스럽게 입력하는 것 역시 한글입력기술 발명에 있어서 필요한 요소이다. 아래아 "ㆍ"는 [ㅏ]버튼 2번누름 또는 "Shift^ㅏ"로, 여린ㅎ "ㆆ = Shft^ㅎ"으로, 옛이응 "ㆁ = Shft^ㅇ"으로 하고 있으며, 모두 무리가 없고 자연스럽다고 할 수 있다. 다만, 반치음 "ㅿ = Shift^ㅁ"으로 하고 있는데, 연관성이 전혀 없는 "ㅁ"에 반치음 "ㅿ"을 연관시킨 것으로 우리 한글의 과학성을 해치는 요소가 된다. 본 발명에서는 반치음 "ㅿ" 과 연관성이 있는 [ㅅ]버튼 또는 [ㅆ]버튼을 이용(예. "Shfit^ㅅ", "Shfit^ㅅ"2번, 또는 [ㅅ]버튼 3번 이상 누름. [ㅆ]버튼 2번 누름 또는 "Shift^ㅆ")하여 모호성없이(또는 거의 모호성없이) 반치음 "ㅿ"을 입력할 수 있도록 하였다.
상기 발명을 요약하면, 자음영역이라고 할 수 있는 왼손영역의 버튼에 자음만이 배치되므로, 의식의 혼란을 없앨 수 있고, 현대 한국어 생활에서 "ㅆ"은 2개의 자소로 인지되기도 하지만, 오히려 하나의 자소처럼 인지되고 있는데, 동시에 사용빈도도 상대적으로 높은 "ㅆ"을 [ㅆ]버튼 한번눌러짐으로 입력하면서, "ㅠ = Shift^ㅜ"로 입력할 수 있도록 한 것이다. 반치음 "ㅿ"도 연관성이 강한 [ㅅ]버튼 또는 [ㅆ]버튼을 이용하여 입력할 수 있도록 하였다.
상기 본 발명은 현행 2벌식 한글키보드에서 각 버튼상에 배열되는 알파벳의 위치가 일부 변경되는 경우 또는 현행 2벌식 한글키보드에 배치되는 알파벳이 다소 달라지는 경우에도 동일하게 적용될 수 있음은 자명하다.
33.2 한글 2벌식 키보드 한글 고어 입력
상기에서 "ㅅ"과 연관되어 있는 일부의 한글고어 자음(예. 반치음 "ㅿ", "
Figure pat00588
" 등)의 입력에 대하여 언급하였다. 제31장에서 한글 고어의 입력을 위한 수단을 제시한 바 있다. 이하에서 2벌식 키보드에서 일반적으로 한글고어를 입력할 수 있는 수단을 추가로 제시한다.
2벌식 키보드에서는 경자음(쌍자음)을 Shift와 평자음의 조합(예. "ㄲ = Shift^ㄱ")으로 입력한다. 그리고 격자음은 별도의 버튼에 배열(예. [ㅋ]버튼)되어 있다. 변형된 한글조합로직을 적용하여 평자음버튼 2번 눌러짐에 의하여 경자음을 입력(예. "ㄲ = ㄱ+ㄱ")하기도 한다. 키보드에서도 도면4-34(b)에서의 로직을 적용할 수도 있다.
그러나 격자음의 경우는 별도의 버튼으로 분리되어 있으므로, 평자음버튼 3번 눌러짐을 격자음으로 처리하지 않을 수도 있다. 따라서 2벌식 키보드에서 [Shift]버튼과 평자음버튼의 조합으로 입력되는 경자음의 입력에만 출원인이 선출원에서 제시한 "3+타 입력방법"을 적용할 수 있다. 즉 평자음버튼(예. [ㄱ]버튼) 3번 눌러짐을 경자음(예. "ㄲ")으로 처리하는 것이다. 여기서 평자음버튼이 2번 눌러졌을 때 "ㄱㄱ" 또는 임시적인 "ㄲ"으로 처리할 수 있다. 상기 임시적인 "ㄲ" 다음에 모음이 입력되면 종성자음 "ㄱ"과 다음 글자의 초성자음 "ㄱ"으로 되는 것은 이미 설명한 바와 같다. 예를 들어, "가" 다음에 [ㄱ]버튼이 한번 눌러지면 "각"이 되고, 한번 더 눌러지면 "
Figure pat00589
"이 되고, 한번 더 눌러지면 역시 동일하게 "
Figure pat00590
"이 된다. 한번 더 눌러지면 "
Figure pat00591
ㄱ"이 될 수 있다. [ㄱ]버튼이 2번 눌러졌을 때의 "
Figure pat00592
" 다음에 모음(예. "ㅣ")이 입력되면 "
Figure pat00593
기"가 된다. [ㄱ]버튼이 3번 눌러졌을 때의 "
Figure pat00594
" 다음에 모음(예. "ㅣ")이 입력되면 "가끼"가 된다.
상기 사례는 도면4-34(b)의 설명에서와 같이 "ㄱ" 다음에 "ㄲ"이 나오는 경우 등은 모호성이 있게 된다. 그러나 사용빈도표상에서 이러한 경우는 무시할 수 있을 정도로 미미하다. 현대 한국어의 입력만을 고려한다면, 평자음버튼의 3번 눌러짐이 절대적인 경자음(쌍자음)으로 인식되므로, [ㄱ]버튼 한번 더 눌러짐(즉, 총 4번 눌러짐)은 "경자음+평자음"으로 되는 것(예. "ㄲㄱ")이 현대 한국어 입력에 자연스럽다. 만약 "ㄱ"버튼이 5번 눌러지면 "ㄲㄲ" 이 된다. 두번째 "ㄲ"은 "ㄱ"의 2번 눌러짐으로 입력되었으나 초성자음이므로 "ㄱㄱ"으로 나누어질 수 없으므로 굳이 "ㄱ"의 3번 입력으로 "ㄲ"을 처리할 필요는 없다. 그러나 사용의 일관성을 위해 한번 더 눌러짐(즉 "ㄱ" 6번 눌러짐)을 "ㄲㄲ"으로 처리할 수도 있다. 어떤 경우이거나, "ㄲㄲ"에서 한번 더 눌러짐을 도면 4-34(b)에서의 경자음 다음의 글자(예. "ㅱ", "ㅸ", "ㆁ", ... 등. 이하에서 "쌍자음다음글자"로 부름)의 입력에 이용할 수 있다. 예를 들어, 평자음버튼의 3번 눌러짐을 경자음으로 처리하는 것까지만 적용한다면, [ㅂ]버튼 4번 눌러짐을 순경음비읍 "ㅸ"으로 할 수 있다. 도면4-34(b)를 참고한다. [ㅇ]버튼 4번 눌러짐을 옛이응 "ㆁ"으로 할 수 있다. 만약 평자음버튼 4번 눌러짐을 "경자음+평자음"으로 하는 것까지만 적용한다면, [ㅇ]버튼 5번 눌러짐을 옛이응 "ㆁ"으로, [ㅂ]버튼 5번 눌러짐을 "ㅸ"으로 할 수 있다. 만약 평자음버튼 5번눌러짐을 "경자음+경자음"으로 하는 것까지만 적용한다면, 6번 눌러짐으로 "쌍자음다음글자"를 입력할 수 있으며, 평자음버튼 6번 눌러짐을 "경자음+경자음"으로하는 것 까지 적용한다면, 7번 눌러짐으로 "쌍자음다음글자"를 입력할 수 있다. 키보드에서는 경장음(쌍자음)을 "Shift^평자음" 으로 입력할 수 있으므로, 평자음버튼 3번 눌러짐을 상기 "쌍자음다음글자"의 입력으로 처리할 수 있다. 예를 들어, [ㅇ]버튼 3번 눌러짐을 옛이응 "ㆁ" 으로 처리하는 것이다.
도면4-34(b)에서 예시된 "쌍자음다음글자"는 단지 예시일 뿐이며, 절대적인 것은 아니다. 설명한 바와 같이 순경음비읍 "ㅸ"은 "ㅂ"과 "ㅇ"의 조합으로도 입력될 수 있으므로, 도면4-34(b)의 "쌍자음다음글자" 에서 빠질 수도 있다. 여린ㅎ "ㆆ = Shift^ㅎ"으로도 입력될 수 있으므로, 역시 "쌍자음다음글자"에서 빠질 수도 있다. 도면4-34(b)에서의 "쌍자음다음글자"의 순서(예. "
Figure pat00595
", "
Figure pat00596
", ... "
Figure pat00597
", "
Figure pat00598
", ...) 역시 절대적인 것은 아니고 단지 예시일 뿐이므로, 적절하게 변형될 수 있음은 자명하다. 상기 내용을 종합하면, 키보드에서 "3+타 입력방법"을 적용시 평자음버튼 3번 눌러짐 또는 3번 이상 눌러짐에 의하여 "쌍자음다음글자"를 입력하도록 하는 것이다.
출원인의 선출원에서 "y = xㅡㅡ" 또는 "z = xㅣㅣ" 로 입력하는 기술을 소개하였다. 격자음과 경자음이 상기와 같은 방법으로 입력되었는데, 26개 이상의 버튼을 가지는 키보드에서는 격자음버튼이 별도로 있고, 경자음은 "Shift^평자음"으로 입력되므로, 상기의 기술을 다른 알파벳의 입력에 응용할 수 있다. 즉, 상기 언급한 "쌍자음다음글자" 의 입력에 사용할 수 있는 것이다. 예를 들어 순경음비읍 "ㅸ = ㅂㅡㅡ"로, 여린ㅎ "ㆆ = ㅇㅡㅡ"로 할 수 있는 것이다. 단 여기서 "
Figure pat00599
", "
Figure pat00600
", "
Figure pat00601
", "
Figure pat00602
", "
Figure pat00603
", "
Figure pat00604
", ... 와 같이 자음 다음에 "ㅡ" 또는 "ㅣ"가 연속 2번 나오는 모음을 [ㅡ]버튼 2번 누름 또는 [ㅣ]버튼 2번 누름으로 처리한다면, 상기 "쌍자음다음글자"의 입력을 위해서는 [ㅡ]버튼 3번 눌러짐 또는 [ㅣ]버튼 3번 눌러짐이 적용되어야 한다. 즉, "ㅇ" 다음에 "ㅡ"는 "으"로 되고 한번 "ㅡ"가 입력되면 "
Figure pat00605
"가 되고, 한번 더 "ㅡ"가 입력되면 여린ㅎ "ㆆ"이 되는 것이다.
또 다른 방법으로 선출원에서 언급한 바와 같이 "
Figure pat00606
", "
Figure pat00607
", "
Figure pat00608
", "
Figure pat00609
", "
Figure pat00610
", "
Figure pat00611
", ... 앞에 오는 초성자음을 입력시 초성자음이라는 것을 명확히 하여(예. 길게 누름에 의하여 초성자음 입력)입력하는 방법을 제시한 바 있다. 본 발명에서
"Shift^ㅡ" 또는 "Shift^ㅣ"를 이용하는 기술을 추가로 제시한다. 2가지로 응용될 수 있는데, 1번째로 "
Figure pat00612
", "
Figure pat00613
", "
Figure pat00614
", "
Figure pat00615
", "
Figure pat00616
", "
Figure pat00617
", ... 등에 포함되어 있는 "
Figure pat00618
" 또는 "
Figure pat00619
" 입력시 "Shift^ㅡ" 또는 "Shift^ㅣ"를 이용할 수 있다. 이를 적용하면 "
Figure pat00620
", "
Figure pat00621
", "
Figure pat00622
", "
Figure pat00623
", "
Figure pat00624
", "
Figure pat00625
", ... 앞에 오는 초성자음 입력시 길게누름 등을 적용하지 않아도 된다. 이렇게하면, "y = xㅡㅡ" 또는 "z = xㅣㅣ" 로 원하는 모든 글자(예. "쌍자음다음글자")를 입력할 수 있게 된다. 2번째로 "y = xㅡㅡ" 또는 "z = xㅣㅣ" 에서 "ㅡㅡ" 및 "ㅣㅣ"를 각각 "Shift^ㅡ" 및 "Shift^ㅣ"를 이용하여 입력하는 것이다. 즉 "y = x+Shift^ㅡ" 또는 "z = x+Shift^ㅣ" 로 하는 것이다. 역시 모호성없이 "쌍자음다음글자"의 입력이 가능하다. 도면4-34(a)에서 이를 적용한 사례를 보이면, 반치음 "ㅿ = ㅅ+ Shift^ㅡ" 로, "
Figure pat00626
= ㅿ + Shift^ㅡ = ㅅ+ Shift^ㅡ + Shift^ㅡ" 로 할 수 있는 것이다. 상기에서 "Shift^ㅡ" 를 2번 누르는 것은 [Shift]버튼을 누르고 있는 상태에서 [ㅡ]버튼을 2번 누르는 동작도 동일한 것은 이미 설명한 바와 같다. 즉, "Shift^ㅡ + Shift^ㅡ"는 "Shift^ㅡ+ㅡ"로도 표현될 수 있다.
상기에서 [ㅡ]버튼 2번 누름을 이용(예. "y = xㅡㅡ")하는 기술에서 [ㅡ]버튼 2번 누름을 "Shift^ㅡ"로 처리하는 것을 보였다. 더 나아가 키보드에서는 [ㅡ]버튼 [ㅣ]버튼이 아닌 다른 모음버튼(예. [ㅑ]버튼, [ㅕ]버튼, [ㅛ]버튼, ...)이 추가로 구비되어 있으므로, "y = x+모음버튼2번누름"에 "ㅡ" 또는 "ㅣ"가 아닌 다른 모음버튼이 응용될 수 있다. 동일한 모음이 2번 연속나오지 않는 모음이 적용되는 것이 바람직하다. 현재 모음 "ㅏ", "ㅓ", "ㅗ", "ㅜ" 의 2번 누름으로 대응되는 "ㅑ", "ㅕ", "ㅛ", "ㅠ"를 각각입력하는 2벌식 오토마타는 일부에서 사용되고 있다. 또한 한글 고어모음의 입력에 "ㅜ"가2번 나오는 모음이 있고, "ㅗ"가 2번 나오는 모음이 있다. "ㅏ", "ㅓ", "ㅗ", "ㅜ" 중 동일모음의 2번 눌러짐으로 다른 모음이 입력되는 것을 적용하지 않는다면, "ㅏ", "ㅓ", "ㅗ", "ㅜ" 모음을 이용하는 것도 가능하다. "ㅏ", "ㅓ", "ㅗ", "ㅜ" 중 동일모음의 연속눌러짐으로 다른 모음이 입력되는 경우라하더라도, 상기 "ㅡ", "ㅣ"를 이용하는 경우에 제시한 방법을 동일하게 적용할 수 있다.
2벌식 키보드에 배열되는 모음중 "ㅣ" 계열의 "ㅑ", "ㅕ"는 한글 고어 모음까지 포함하여(도면4-33(*)의 유니코드 v6.0 참조) 동일한 모음이 연속하여 2번 나오지 않는다. 또한 "ㅡ"계열의 "ㅛ", "ㅠ" 역시 동일한 모음이 연속하여 2번 나오지 않는다. 따라서 "y = xㅛㅛ", "z = xㅑㅑ" 등을 이용할 수 있다. 상기 "ㅛㅛ" 대신 "ㅠㅠ"가 적용되는 것도 가능하며, "ㅑㅑ" 대신 "ㅕㅕ"가 적용되는 것도 가능하다. 이렇게 2번 연속하여 나오지 않는 모음버튼의 2번 연속눌러짐의 조합을 이용하면, 상기 "ㅡ", "ㅣ"의 사례에서와 같이 길게누름 또는 [Shift]버튼의 사용을 하지 않고도 원하는 모든 글자를 입력할 수 있게 된다. 예를 들어, 반치음 "ㅿ = ㅅ+ㅛㅛ"로, "
Figure pat00627
= ㅿ+ㅛㅛ = ㅅ+ㅛㅛㅛㅛ"로 할 수 있는 것이다. 마찬가지로 "ㅆ"을 "ㅅ+ㅑㅑ"로 하지 않고 "Shift^ㅅ" 또는 [ㅆ]버튼 한번 눌러짐으로만 한다면, "
Figure pat00628
= ㅅ+ㅑㅑ" 로 할 수 있는 것이다. 도면4-34(*)의 나머지 글자(예. "쌍자음다음글자")에 대해서도 같다.
34. 스크린 자판상에서의 회귀드래그를 이용한 연속된 드래그에 의한 한국어 음절 입력방법
본 발명은 출원인의 연속된 드래드에 의하여 한국어를 입력하는 기술(본 명세서의 제27장)을 더욱 발전시킨 것이다. 2008년 제26장의 발명을 소개한 이후로 무려 약 6년만의 성과이다.
먼제 제27장에서는 초성, 중성, 종성을 끊어지지 않는 연속된 드래그로 입력하는 것을 보였다. 예를들어, 도면15-7, 도면15-8과 같이 드래그하여 "고"를 입력하고, 도면15-9와 같이 드래그하여 "곤"을 입력하는 것이다. 제27장에서의 드래그를 편의상 "순차성드래그" 또는 "순차드래그"라 부르기로 한다.
도면15-13에서는 특별한 경우에 평자음버튼(예. "ㄱ")에 연관된 격자음(예. "ㅋ")과 쌍자음(예. "ㄲ")을 초성자음으로 하여 연속 드래그에 의하여 입력할 수 있음을 보였다. 그러나 "드"를 입력하는 과정에서 사용자는 "드"를 입력하기 위하여 "ㄷ → ㄴ → ... → ㅡ" 로 자연스럽게 드래그할 수도 있는데, 도면15-13이 적용되면 시스템에서는 "트"를 입력한 것으로 잘못 처리될 수도 있다. 또한 제27장에서는 연속된 드래그로 버튼에 표시되지 않은 자음(예. 격자음, 쌍자음)을 종성자음으로 한번의 드래그로 입력할 수 없는 단점이 있었다. 마찬가지로 도면15-14, 도면15-15, 도면15-16에서는 하나의 버튼에 2개의 자음이 연관되어 있을 때, 2번째 연관된 자음을 드래그로 입력할 수 있는 방법이 제시되지 않았다. 본 발명에서는 한번의 드래그로 버튼에 표시되지 않았거나 버튼에 표시되었더라도 2번째 또는 그 이상으로 연관된 자음(예. "ㅋ", "ㄲ", ...)까지도 모두 오류없이 입력할 수 있는 기술을 제시한다.
이하의 기술은 출원인의 안드로이드용 문자입력기를 통하여 부분적으로 구현됨으로써 검증되어 있으며, 적절한 시기에 http://www.simplecode.net 및 구글 플레이스토어(안드로이드마켓)을 통하여 공개될 예정이다.
34.1 관련 개념 및 용어의 정리
본 발명을 설명하는데 있어서의 편리를 위해 발명자가 정의한 드래그 관련 핵심 용어 몇가지와 그 개념을 간단히 정리한다.
도면19-1은 출원인 제품의 공식 홈페이지 http://www.simplecode.net 및 구글 플레이스토어(안드로이드마켓)에 공개되어 있는 제품의 자판 이미지이다. 도면19-1에서 [0]버튼의 "ㆍ"은 본 발명의 선출원에서 제시되었듯이 "ㅏ" 또는 다른 형태(예. 도면15-*에 표시된 형태)로 표시될 수도 있으며 본 발명을 적용함에 있어서는 동일하다.
도면 19-1에서와 같이 [ㅁ]버튼(즉, [5]버튼)을 기준으로 좌측으로 드래그했다가 다시 제자리로 돌아오는 드래그가 가능하다. 마찬가지로 우측으로 드래그가 진행되었다가 다시 원래의 자리로 돌아오는 드래그, 상측으로 드래그되었다가 다시 돌아오는 드래그, 하측으로 드래그되었다가 다시 돌아오는 드래그가 가능하다. 이렇게 다른 버튼을 진행했다가 다시 원래의 자리로 되돌아오는 드래그를 "회귀성드래그" 또는 더 간단히 "회귀드래그" 라고 부르기로 한다. 좌측으로 진행했다가 다시 돌아오는 드래그는 편의상 "좌향회귀드래그"라고 부르고 나머지 경우도 각각 "우향회귀드래그", "상향회귀드래그", "하향회귀드래그" 라는 식으로 부르기로 한다.
좌향회귀드래그는 [ㅁ → ㄹ → ㅁ] 와 같이 드래그되었으며, 우향회귀드래그는 [ㅁ → ㅂ → ㅁ] 으로 드래그 되었음을 알 수 있다. 좌향회귀드래그 및 우향회귀드래그는 수평방향으로 진행되었다가 다시 돌아오는 드래그이므로, 양자를 합하여 "수평회귀드래그"라고 부를 수 있다. 마찬가지로 상향회귀드래그 및 하향회귀드래그는 수직방향으로 진행되었다가 다시 돌아오는 드래그이므로, 양자를 "수직회귀드래그"라고 부를 수 있다.
또한 도면19-2와 같은 좌향회귀드래그도 있을 수 있다. 도면19-3에서는 하나의 버튼 내에서 좌측으로 드래그되었다가 다시 원래의 자리로 돌아온 경우이다. 이는 일정거리 이상을 진행했다가 소정의 각도로 "꺾임"을 탐지하여 다시 소정의 거리를 진행한 것을 탐지하는 식으로, 같은 버튼내에서의 회귀드래그를 식별할 수 있다. 그러나 이 방법은 사용자입장에서 과연 드래그로 인식될 수 있는 임계거리 만큼 드래그 된 것인지 알기 어렵고 오류의 가능성이 많은 단점이 있다. 반면에 도면19-1과 같이 드래그가 시작된 버튼(예. [ㅁ]버튼)에서 인접한 버튼으로 넘어갔다가 다시 원래의 버튼으로 돌아오는 것은 사용자가 격자형으로 구획된 인접버튼으로의 드래그 궤적을 사용자가 눈으로 확인할 수 있으므로, 사용자에 의한 오류의 가능성이 대폭 줄어들게 되는 좋은 효과가 있다.
도면19-2와 같이 같은 버튼내에서 이루어지는 회귀드래그를 편의상 "버튼내 회귀드래그" 라고 부르고, 도면19-1과 같이 주변버튼으로 진행했다가 다시 원래의 버튼으로 돌아오는 회귀드래그를 편의상 "버튼외 회귀드래그"라고 부르기로 한다. 현실적으로 터치스크린 단말기상의 자판이 그리 크지 않으며 버튼 역시 매우 작은 것이 현실이고, 상기에서와 같이 버튼외 회귀드래그가 더 좋은 성질이 있으므로, 이하에서 회귀드래그는 버튼외 회귀드래그로 설명한다. 이렇게 버튼외 회귀드래그의 좋은 성질을 바탕으로 하는 것 역시 본 발명의 중요한 특징 중의 한가지 이다.
도면 19-3은 인접버튼을 넘어 드래그가 진행되었다가 다시 드래그가 시작된 버튼으로 되돌아오는 회귀드래그의 사례를 보여주고 있다. 도면19-3의 우향회귀드래그의 궤적을 보면, [ㅁ → ㅂ → Qwerty → ㅂ → ㅁ] 으로 드래그 된 것을 알 수 있다. 편의상 도면19-3에서와 같이 인접버튼을 하나 더 넘어 드래그되었다 최초 드래그를 시작한 원래의 버튼으로 되돌아오는 것을 "2단 회귀드래그" 라고 부르기로 한다. 마찬가지로 도면19-1은 "1단 회귀드래그" 라고 부를 수 있으며, 도면19-2는 "0단 회귀드래그"라고 부를 수 있다. 즉, 버튼외 회귀드래그는 1단 이상(예. 1단, 2단, 3단, ...)의 회귀드래그이다.
도면19-4의 드래그 궤적을 보면, [ㅁ → ㄹ → ㅅ → ㅇ → ㅁ] 으로 드래그되었다. 최초 좌측으로 드래그되었고, 인접한 버튼인 [ㄹ]버튼에서 다시 최초의 버튼으로 돌아온 것이 아니고, 다른 버튼을 거쳐서 최초 드래그 시작버튼인 [ㅁ]버튼으로 돌아온 것이다. 이 역시 2단 회귀드래그의 한가지 형태로 볼 수 있다. 실제로 도면19-3에서 4번([ㅁ → ㅂ → Qwerty → ㅂ → ㅁ]) 만에 원래의 버튼으로 되돌아 왔는데, 도면19-4에서도 4번([ㅁ → ㄹ → ㅅ → ㅇ → ㅁ])만에 원래의 버튼으로 되돌아 온 것을 알 수 있다. 도면19-4 드래그의 방향을 붙인다면 "2단 좌향회귀드래그"라고 할 수 있을 것이다. 물론 도면19-3의 좌향회귀드래그와 도면19-4의 좌향회귀드래그는 드래그의 패턴이 다르므로, 각각 다른 입력대상이 식별되도록 할 수도 있다.
도면으로 예시하지는 않으나 1단 회귀드래그가 연속하여 2번 일어난 것도 일종의 2단 회귀드래그로 볼 수도 있다. 예를 들어 버튼궤적이 [ㄱ → ㄴ → ㄱ → ㄴ → ㄱ] 의 경우는 1단 우향회귀드래그가 연속하여 2번 일어났다. 만약 [ㄱ → ㄴ → ㄱ → ㄹ → ㄱ] 의 버튼궤적은 우향회귀드래그가 1번 있고 연속하여 하향회귀드래그가 한번 더 일어난 경우이다. 이 역시 1단 회귀드래그가 연속하여 2번 일어난 것이다. 1단 회귀드래그가 연속하여 2번 일어난 형태의 2단 회귀드래그 역시 도면19-3, 도면19-4 와는 패턴이 다르므로, 다른 입력대상이 식별되도록 할 수 있다.
마찬가지로 사선방향의 회귀드래그도 생각할 수 있는데, 좌상방향(또는 상좌방향)으로 드래그되었다가 다시 돌아오는 드래그를 좌상향회귀드래그(또는 상좌향회귀드래그), 우상방향(또는 상우방항)으로 진행했다가 다시 돌아오는 드래그를 우상향회귀드래그(또는 상우향회귀드래그), 좌하방향(또는 하좌방향)으로 드래그되었다가 다시 돌아오는 드래그를 좌하향회귀드래그(또는 하좌향회귀드래그), 우하방향(또는 하우방향)으로 드래그되었다가 다시 돌아오는 드래그를 우하향회귀드래그(또는 하우향회귀드래그)라고 라고 각각 부르기로 한다. 도면19-5을 참고하며, 편의상 도면19-5의 4가지 형태의 사선방향 회귀드래그를 통틀어 "사선회귀드래그" 라고 부르기로 한다.
도면19-5에서 좌하향회귀드래그의 버튼궤적을 보면, [ㅁ → ㄹ → ㅅ → ㅇ → ㅁ] 으로 드래그된 것을 알 수 있다. 또는 [ㅁ → ㅇ → ㅅ → ㄹ → ㅁ] 역시 좌하향회귀드래그(정확히는 하좌향회귀드래그)임을 알 수 있다. 도면19-4 역시 [ㅁ → ㄹ → ㅅ → ㅇ → ㅁ] 으로 드래그되었다. 즉 버튼궤적만 비교하면 도면19-4의 드래그를 좌하향회귀드래그로 볼 수도 있는 것이다. 따라서 도면19-4의 드래그와 도면19-5의 [ㅁ → ㄹ → ㅅ → ㅇ → ㅁ] 으로 드래그를 버튼궤적만 비교하여 같은 패턴의 드래그로 간주하여 적용할 수 있다. 그러나 만약 표현해야 할 입력대상(예. 알파벳)의 가짓수가 많다면, 도면19-4의 드래그와 도면19-5의 버튼궤적 [ㅁ → ㄹ → ㅅ → ㅇ → ㅁ] 드래그를 각기 다른 입력대상을 표현하는데 사용할 수 있다. 도면19-5의 좌하향회귀드래그([ㅁ → ㄹ → ㅅ → ㅇ → ㅁ])와 도면19-4의 2단 좌향회귀드래그를 구별하는 방법은 버튼궤적뿐만 아니라 드래그의 "꺽임" 각도를 탐지함으로써 가능하다. 도면19-4에서는 약 90도 내외의 각도로 3번 꺾임이 발생한데 비하여, 도면19-5에서는 약 180도 내외의 각도로 1회 꺽임이 발생한 것을 탐지하면 되며, 프로그램으로 양자의 드래그 패턴을 구별해내는 것은 그리 어려운 것이 아니다. 결국 도면 19-5의 사선회귀드래그는 "꺾임" 각도까지 감안하여 "1단 사선회귀드래그"로 해석할 수도 있고, "꺽임" 각도는 감안하지 않고 버튼궤적만으로 판단하여 "2단 회귀드래그"로 해석할 수도 있다.
사선방향의 회귀드래그 역시 버튼내에서 이루어지는 버튼내 회귀드래그(즉, 0단 회귀드래그)가 있을 수 있고, 인접버튼(상하좌우 인접버튼 및 대각선 인접버튼)의 범위를 넘어 드래그되는 2단 회귀드래그가 있을 수 있다. 도면상의 표시는 생략한다. 현재 스마트폰 등에서 자판 및 버튼의 크기가 작은 것을 감안하면, 버튼내 회귀드래그(즉, 0단 회귀드래그)는 방향(예. 수평방향, 수직방향, 사선방향,...)에 상관없이 모두 같은 입력대상(예. 알파벳)을 식별하도록 할 수 있다.
이상으로 본 발명을 적용하기 위한 핵심적인 개념을 본 발명자가 정의한 용어를 통하여 정리하였다. 이하에서는 특정 자음버튼(예. [ㄱ]버튼)에 연관되어 있는 입력대상(예. "ㄲ", "ㅋ", 숫자, 기능...)을 상기 설명한 개념에 의하여 입력처리하는 것을 구체적인 자판을 기준으로 실시예를 제시한다. 이하의 실시예에서 한번 설명한 것은 다른 실시예에서도 동일하게 적용될 수 있음은 자명하다. 또한 이하의 모든 실시예의 키패드에서는 버튼과 버튼사이에 간격이 없이 조밀하게 버튼이 배열되어 있는 것으로 간주한다.
34.2 회귀드래그를 이용한 연관 자음의 입력 실시예 (출원인의 자판)
도면19-1을 기준으로 출원인이 제시한 입력규칙은 "ㅋ = ㄱㅡㅡ", "ㄲ = ㄱㅣㅣ" 또는 "ㄲ = ㄱㄱ", "ㅋ = ㄱㄱㄱ" 등이다. 결국 도면19-1에서 [ㄱ]버튼에는 버튼에 표시된 "ㄱ" 이외에도"ㄲ", "ㅋ"이 연관되어 있는 것을 알 수 있다. 마찬가지로 다른 평자음버튼(예. [ㄷ]버튼)에도 각각 대응되는 격자음(예. "ㅌ")과 쌍자음(예. "ㄸ")이 연관되어 있다. 버튼에 표시된 "ㄱ"도 [ㄱ]버튼에 연관되어 있는 것으로 보면, "ㄱ"은 1번째로 연관되어 있는 알파벳으로 볼 수 있고, "ㄲ"과 "ㅋ"은 각각 후순위(예. 2번째, 3번째,...)로 연관되어 있는 알파벳으로 볼 수 있다.
본 실시예에서는 수평회귀드래그(즉, 좌향회귀드래그 및 우향회귀드래그)를 통해 격자음을 입력하고, 수직회귀드래그(즉, 상향회귀드래그 및 하향회귀드래그)를 통해 쌍자음을 입력하는 사례를 보인다. 물론 한번의 회귀드래그로 특정 버튼(예. [ㄱ]버튼)에 연관된 자음(예 "ㄲ")이 인식되도록 하고, 끊어지지 않고 연이어진 또 한번의 회귀드래그(예. 1단 회귀드래그가 연속 2번 일어나는 형태의 2단 회귀드래그)로 다른 연관된 자음(예. "ㅋ")이 인식되도록 할 수도 있다. 그러나 특정 버튼에 연관된 자음을 인식하는데 연거푸 2번의 회귀드래그를 실행하여야 하는 것보다는 1번의 회귀드래그로 필요한 대상을 입력할 수 있는 것이 보다 용이하기 때문에 수직회귀드래그 및 수평회귀드래그에 대하여 각각의 입력대상이 인식되는 사례를 제시하는 것이다.
격자음 입력에 수평회귀드래그를 주로 이용하고, 쌍자음 입력에 수직회귀드래그를 주로 이용하는 실시예를 보이는 것은 우리 한글의 격자음의 형태(예. "ㅋ", "ㅌ", "ㅍ", "ㅊ")가 수평방향에 관념적으로 부합하고, 쌍자음의 형태(예. "ㄲ", "ㄸ", "ㅃ", "ㅆ", "ㅉ")가 평자음이 좌우로 나란히 있는 모양이어서 수직방향에 관념적으로 부합하기 때문이다. 그러나 반드시 격자음에는 수평회귀드래그를 이용하여야만 하는 것은 아니며, 쌍자음에는 반드시 수직회귀드래그를 이용하여야 하는 것은 아니다. 반대로 격자음 입력에 수직회귀드래그가 적용될 수도 있으며, 쌍자음 입력에 수평회귀드래그가 적용될 수도 있다. 또한 수평회귀드래그 중에서 좌향회귀드래그 또는 우향회귀드래그 한가지만 적용할 수도 있으며, 수직회귀드래그 중에서 상향회귀드래그 또는 하향회귀드래그 한가지만 적용할 수도 있다. 마찬가지로 도면19-5의 사선회귀드래그(구체적으로는 4가지 패턴의 드래그를 의미하며, 해석하기에 따라서는 1단 사선회귀드래그 또는 2단 회귀드래그)에 의하여 특정 버튼(예. [ㄱ]버튼)에 연관된 자음(예. "ㄲ", "ㅋ",...)을 인식하도록 할 수 있다. 중요한 것은 버튼외 회귀드래그(즉, 1단 또는 1단 이상의 회귀드래그)에 의하여 특정버튼에 연관된 자음을 인식하도록 한다는 것이다.
출원인의 선출원(제27장)에 의하면, 도면19-6의 [ㄱ → ㄴ → ㄱ → ㄹ → ㅅ → ㅡ → ㆍ → ㅇ → ㅁ → ㅂ] 드래그 결과는 "굽"이 입력된다. 드래그가 시작된 버튼인 [ㄱ]버튼은 유효한 입력으로 되고 그 이하 자음버튼은 무효화되고, 모음버튼인 [ㅡ]와 [ㆍ]은 유효한 버튼으로 인식되고, 마찬가지로 드래그가 종료된 자음버튼인 [ㅂ]버튼은 유효한 버튼으로 인식하기 때문이다. 그러나 본 발명의 실시예에서 수평회귀드래그로 격자음이 인식되는 것으로 하면 입력된 결과는 "쿱"이 된다. 만약 사용자가 "굽"을 입력할 의도였으면 [ㄱ]버튼에서 드래그를 시작하여 우측의 [ㄴ]버튼을 거쳐 다시 [ㄱ]버튼으로 돌아올 이유가 없고, 당연히 [ㄱ → ㄹ → ㅅ → ㅡ → ...] 와 같이 드래그하였을 것이기 때문이다. 즉, 사용자가 초성자음으로 "ㄱ" 만을 입력하고자 하였다면 [ㄱ]버튼에서 드래그를 시작하여 다시 [ㄱ]버튼으로 돌아오지 않고 다른 버튼을 거쳐 바로 입력하고자 하는 모음버튼(예. [ㅡ]버튼)으로 드래그하였을 것이라는 것이다. 그러나 드래그를 시작한 버튼으로 다시 되돌아온 것은 사용자가 그 회귀드래그(예. 수평회귀드래그)에 약속된 알파벳(예. "ㅋ")을 입력하기 위한 것임을 전혀 오류없이 명확하게 식별할 수 있는 것이다. 도면19-6에서 우향회귀드래그에 의하여 격자음을 입력하는 것을 보였으나, 수평회귀드래그를 모두 격자음을 인식하는 것으로 한다면, [ㄱ → Mode → ㄱ → ㄹ → ㅅ → ㅡ → ㆍ → ㅇ → ㅁ → ㅂ] 의 드래그 역시 "쿱"이 인식되는 것으로 할 수 있다.
도면19-6에서의 우향회귀드래그를 검출하는 것은 매우 간단하다. 드래그를 시작한 자음버튼은 유효한 것으로 인식하는데, 모음버튼 이전까지의 버튼궤적 [ㄱ → ㄴ → ㄱ → ㄹ → ㅅ → ...] 에서 드래그를 시작한 [ㄱ]버튼이 다시 출현(3번째 드래그된 "ㄱ")을 검출하는 것으로 가능하다. 2번째로 드래그된 버튼이 [ㄴ]버튼으로 드래그가 시작된 버튼인 [ㄱ]버튼의 우측에 위치하므로, 버튼궤적만으로 우향회귀드래그가 이루어진 것을 쉽게 탐지할 수 있다. 만약 "ㄱ → Mode → ㄱ → ㄹ → ㅅ → ..." 로 드래그되었다면, 2번째 드래그된 [Mode]버튼이 [ㄱ]버튼의 좌측에 위치하였으므로 좌향회귀드래그를 탐지할 수 있는 것이다.
다음으로 수직회귀드래그에 의하여 쌍자음을 인식하는 것을 보인다. 도면19-7의 드래그 역시 출원인의 선출원(제27장)에 의하면, "굽"으로 인식된다. 그러나 수직회귀드래그(도면19-7에서는 하향회귀드래그)로 쌍자음이 인식되는 것으로 하면 결과는 "꿉"이 된다. 버튼궤적에 의하여 상향회귀드래그를 탐지하려면, [ㄱ]버튼 위의 영역에 눈에 보이지 않는 작은 높이의 가짜버튼을 설정함으로써 쉽게 가능하다. 일반적으로 자판 프로그램에서는 자판밖의 영역은 인식하지 못하기 때문이다. 도면19-8은 자판의 상단에 작은 높이의 가짜버튼(실제로는 거의 눈에 보이지 않도록 함이 바람직하다)을 설정한 사례를 보여준다. 도면19-8을 기준으로 상향회귀드래그에 의하여 초성자음으로 쌍자음을 입력하는 사례는 도면19-9이다. 도면19-9에서 상단 5개의 가짜버튼을 편의상 각각 DB1, DB2, DB3, DB4, DB5라고 하면, 도면 19-9에서는 "ㄱ → DB2(ㄱ위버튼) → ㄱ → ..." 으로 드래그되었고, 결과는 "꿉"이 인식된다.
만약 초성자음으로 "ㅆ"을 입력하는 경우 [ㅅ → ㅡ → ...] 와 같이 하향드래그를 적용하면 "스"가 입력된 것으로 인식된다. 그러나 [ㅅ → ㄹ → ㅅ → ㅡ → ...] 와 같이 상향회귀드래그를 적용하면 아무런 문제없이 "쓰"가 인식될 수 있다. "ㅅ"의 경우는 격자음이 없으므로, 수평회귀드래그(즉, 좌향회귀드래그 및 우향회귀드래그) 역시 "ㅆ"으로 처리할 수 있다.
다음으로 [ㅇ]버튼에 "ㅎ"이 연관된 것으로 처리하는 경우이다. 현대한국어에서 "ㅇ"에 대응되는 격자음이 없으므로, 수직회귀드래그 및 수평회귀드래그를 모두 "ㅎ"으로 처리할 수 있다. [ㅇ → ㆍ → ㅇ] 과 같이 하향회귀드래그되면, "앙"으로 인식된다(선출원 제27장 참조). 따라서 하향회귀드래그를 제외한 상향회귀드래그 [ㅇ → ㅁ → ㅇ → ...], 좌향회귀드래그 [ㅇ → ㅅ → ㅇ → ...], 우향회귀드래그 [ㅇ → ㅈ → ㅇ → ...] 을 "ㅎ" 입력으로 처리할 수 있는 것이다. 입력사례의 도면은 생략한다.
출원인의 선출원에서는 [ㆍ]버튼에도 "ㅎ"이 연관되어 있었다. 선출원에 의하면 [ㆍ → ㅇ → ㆍ → ㅣ] 로 드래그되면, 드래그가 시작된 [ㆍ]버튼은 유효하고 이와 결합될 수 없는 [ㅇ]버튼은 무효화되고, 나머지 결합할 수 있는 모음버튼인 [ㆍ]버튼과 [ㅣ]버튼이 유효하므로, 결과는 "ㅕ"로 인식된다. 드래그에 의하여 하나의 자모결합글자를 입력할 수 있지만, 경우에 따라서는 보통의 누름과 드래그르 조합하여 입력할 수도 있는 것이 바람직하다. 또 경우에 따라서는 초성자음은 누름(Tap)으로 입력하고, 중성모음(예. "ㅕ")만을 드래그로 입력할 수도 있다. 따라서 본 발명의 실시예에서는 상기 "ㅕ"의 사례와 같이 모음버튼에서 시작한 1단 드래그([ㆍ → ㅇ → ㆍ → ...]의 사례는 [ㆍ]버튼에서 시작한 1단 상향드래그)에 의하여 모음이 인식되는 것으로 한다. 그렇다면 [ㆍ]버튼에 연관된 "ㅎ"은 2단 또는 그 이상(3단, 4단,...)의 상향드래그에 의하여 입력할 수 있다. 예를 들어 [ㆍ → ㅇ → ㅁ → ㅇ → ㆍ] 2단 상향드래그를 "ㅎ"으로 처리할 수 있는 것이다. 도면19-13의 "히+ㅎ(종성)" 입력사례에서 초성자음 "ㅎ"의 입력을 참고할 수 있다.
모음버튼으로부터 시작된 1단 회귀드래그는 모음입력으로 처리하고, 2단 회귀드래그는 약속된 자음(예. "ㅎ")의 입력으로 처리하는 것을 설명하였으나, 그 반대로 정의될 수 있다. 즉, 모음버튼으로부터 시작된 1단 회귀드래그는 약속된 자음(예. "ㅎ")의 입력으로 처리하고, 2단 회귀드래그는 모음입력으로 처리하는 것도 가능하다. 이는 사용자가 주로 자음버튼에서 드래그 시작하여 모음버튼에서 드래그가 끝나거나(즉, "초성자음+중성모음"으로 이루어진 글자의 입력), 자음버튼에서 드래그 시작하여 모음버튼을 거쳐 자음버튼에서 드래그가 종료(즉, "초성자음+중성모음+종성자음"으로 이루어진 글자)되는 경우가 대부분이며, 모음버튼에서 드래그를 시작하는 경우는 적을 것이기 때문이다. 어떤 경우(1단 회귀드래그이거나, 2단 회귀드래이거나)나, 모음버튼에서 시작하여 다시 그 모음버튼으로 돌아온 회귀드래그를 약속된 자음(예. "ㅎ")으로 처리하는 할 수 있는 것은 같으며 이 역시 본 발명에서 처음으로 제시하는 실시예이다.
이상으로 초성자음에 대하여 2번째 또는 그 이상으로 연관되어 있는 알파벳을 회귀드래그에 의하여 입력하는 사례를 보였다. 다음으로 종성자음까지도 입력할 수 있는 사례를 보인다.
출원인의 선출원(제27장)에서는 마지막으로 드래그된 자음버튼만이 유효한 것으로 처리되었다. 이는 도면19-1에서 버튼에 표시된 9개의 자음(ㄱ, ㄴ, ㄷ, ㄹ, ㅁ, ㅂ, ㅅ, ㅇ, ㅈ)만이 한번의 연속된 드래그에 의하여 종성자음으로 입력할 수 있는 것을 의미한다. 선출원에 의하면 도면19-10은 "굽"으로 인식된다. 본 발명에서도 마지막으로 드래그된 자음버튼이 유효한 버튼으로 처리되는 것은 같다. 본 발명을 적용하면 "?"으로 인식된다. 도면19-10에서 [ㄱ → ㄴ → ㄱ → ㄹ → ㅅ → ㅡ → ㆍ → ㅇ → ㅁ → ㅂ → ㅁ → ㅂ] 으로 드래그 되었다. 최종 드래그된 모음버튼인 [ㆍ]버튼 이후의 버튼궤적은 [... → ㅇ → ㅁ → ㅂ → ㅁ → ㅂ]와 같다. 만약 사용자가 종성자음으로 "ㅂ"만을 입력할 의도였다면 굳이 [... → ㅂ → ㅁ → ㅂ]으로 드래그할 필요없이, [... → ㅇ → ㅁ → ㅂ]으로 드래그가 종료되었어야 한다.
종성자음 입력에 좌향드래그를 탐지하는 것은 마지막으로 드래그된 [ㅂ]버튼에서 역순으로 버튼궤적을 분석함으로써 매우 간단히 가능하다. [... → ㅂ → ㅁ → ㅂ] 에서 마지막으로 드래그된 버튼의 앞에 [ㅂ]버튼 앞에 [ㅂ]버튼이 드래그되었고 그 사이에는 [ㅂ]버튼의 좌측에 위치한 [ㅁ]버튼이 드래그된 것으로부터 종성입력에 [ㅂ]버튼의 좌향드래그(수평드래그의 한가지 형태)가 적용된 것이 매우 쉽게 그리고 사용자에 의한 오류(예. 0단 회귀드래그에서의 사용자 오류)없이 탐지될 수 있다. 초성자음은 드래그가 시작된 자음버튼을 기준으로 회귀드래그를 탐지하였지만, 종성자음은 그래그가 종료된 자음버튼을 기준으로 회귀드래그를 탐지하는 것이다.
선출원(제27장)에 의하면 도면19-11은 "각"으로 인식된다. 그러나 버튼궤적은 [ㄱ → ㄹ → ㅅ → ㅇ → ㆍ → ㅇ → ㅁ → ㄹ → ㄱ → ㄹ → ㄱ] 이므로, 본 발명을 적용하면, 유효한 모음버튼인 [ㆍ]버튼 이후 유효한 것으로 간주되는 최종 드래그된 자음버튼인 [ㄱ]버튼 앞에 "ㄱ → ㄹ" 이 있으므로 종성입력에 하향회귀드래그([ㄹ]버튼은 [ㄱ]버튼 아래 배치)가 적용된 것을 탐지하여 결과는 "깎"이 된다.
도면 19-12의 [ㅇ → ㆍ → ㅣ → ㅈ → ㅇ → ㅅ → ㄹ → ㅅ]은 선출원에 의하면 "엇"이 인식된다. 그러나 본 발명을 적용하면 "었"이 인식된다. 종성입력에 [...→ ㅅ → ㄹ → ㅅ]의 상향회귀드래그가 적용된 것을 탐지할 수 있기 때문이다. 만약 사용자가 "엇"을 입력하는 것이 원래의 의도였다면 [...→ ㅅ → ㄹ → ㅅ] 으로 회귀드래그할 필요없이 [ㅇ → ㆍ → ㅣ → ㅈ → ㅇ → ㅅ] 에서 드래그가 종료되었어야 하기 때문이다. "ㅅ"의 경우는 대응되는 격자음이 없으므로 수평회귀드래그(즉, 좌향회귀드래그 및 우향회귀드래그) 역시 "ㅆ"으로 처리할 수 있다고 하였다. 즉, 도면19-12의 [...→ ㅅ → ㄹ → ㅅ] 대신에 [...→ ㅅ → 스페이스 → ㅅ] 의 좌향회귀드래그 및 [...→ ㅅ → ㅇ → ㅅ]의 우향회귀드래그 역시 종성자음 "ㅆ"으로 처리될 수 있는 것이다. 종성자음 "ㅆ"의 예를 들었으나, [ㅇ]버튼에 연관된 "ㅎ"의 입력에 대해서도 동일하게 적용(즉, [ㅇ]버튼에 대하여 상향회귀드래그, 좌향회귀드래그, 우향회귀드래그를 "ㅎ"으로 처리)이 가능하며 사례도면은 생략한다.
본 발명의 실시예에서 모음버튼으로부터 시작된 1단 드래그는 모음입력으로 인식하고, 2단 이상의 드래그는 약속된 알파벳(예. "ㅎ")으로 처리하는 것을 보인다. 도면19-13의 버튼궤적은 [ㆍ → ㅇ → ㅁ → ㅇ → ㆍ → ㅇ → ㅈ → ㅣ → ㆍ → ㅇ → ㅁ → ㅇ → ㆍ] 이다. 모음버튼인 [ㆍ]버튼에서 드래그가 시작되어 2단 상향드래그가 되었음을 알 수 있으므로([ㆍ → ㅇ → ㅁ → ㅇ → ㆍ → ...]) 약속된 자음 "ㅎ"이 초성자음으로 인식된다. 다음으로 드래그된 자음버튼 [...→ ㅇ → ㅈ → ...] 은 "ㅎ" 과 결합할 수 없으므로 무효화된다. 모음버튼에서 드래그가 종료되었으므로 선출원(제27장)을 적용하면 유효한 버튼인 [ㅣ → ㆍ → ... → ㆍ] 은 모음 "ㅑ"로 인식된다. 그러나 본 발명에 의하여, 유효한 모음버튼 [ㅣ] 다음에 최종드래그된 버튼인 [ㆍ]을 포함하여 2단 상향회귀드래그가 일어난 것을 탐지하여 적용하면 결과는 "히+ㅎ(종성)"이 된다. 만약 [ㆍ → ㅇ → ㅁ → ㅇ → ㆍ → ㅇ → ㅈ → ㅣ → ㆍ ㅇ → ㆍ → ㅇ → ㅁ → ㅇ → ㆍ] 와 같이 드래그되었다면 "?"이 된다.
이해를 돕기 위하여 초성자음 "ㅎ"을 [ㅇ]버튼에 연관된 자음으로 수평회귀드래그에 의하여 입력하고, 종성자음 "ㅎ"을 [ㆍ]ㅂ튼에 연관된 자음으로 2단 수직회귀드래그에 의하여 입력하는 사례를 보이면 도면19-14와 같다. 선출원을 적용하면 "야" (첫번째 모음버튼을 유효한 모음버튼으로 간주하고 나머지 조합가능한 모음버튼을 유효한 버튼으로 처리함) 또는 "야ㅏ" (드래그된 모든 모음버튼을 유효한 버튼으로 처리) 가 된다. 본 발명을 적용하면 [ㅇ]버튼에서 좌향회귀드래그되었으므로 초성자음 "ㅎ"이 인식되고, 모음 "ㅏ"가 인식되고, 최종드래그된 버튼인 [ㆍ]버튼으로부터 2단 상향드래그되었으므로 종성자음 "ㅎ"이 인식되더 결과는 "?"이 된다. 버튼궤적에 의한 설명은 생략한다. 본 실시예에서 [ㆍ]버튼으로부터의 2단 상향회귀드래그를 "ㅎ" 입력으로 처리였으나, 초성자음의 경우 설명과 마찬가지로 1단 상향드래그를 종성자음 "ㅎ"으로 처리하고, 모음버튼으로부터 시작된 2단 상향회귀드래그를 모음입력으로 처리하도록 하는 것도 가능하다.
34.3 회귀드래그를 이용한 연관 자음의 입력 실시예 (삼성전자社 자판)
도면15-16 및 도면19-15는 현재 널리 사용되고 있는 삼성전자社의 12버튼 한글자판이다. 도면19-15에서 [ㄱ]버튼에는 "ㅋ"이 2번째로 배열되어 있어 "ㅋ"이 [ㄱ]버튼에 연관된 자음임을 알 수 있다. [ㄴ]버튼에 2번째 배열된 "ㄹ"역시 [ㄴ]버튼을 2번눌러 입력하므로 "ㄹ"이 [ㄴ]버튼에 연관되어 있음을 쉽게 알 수 있다. 이는 [ㅅ]버튼, [ㅇ]버튼에 대해서도 마찬가지이다. 쌍자음은 배열되어 있지 않지만 [ㄱ]버튼을 3번 눌러 "ㄲ"을 입력하므로 "ㄲ"이 [ㄱ]버튼에 연관되어 있음도 알 수 있다. 이는 나머지 쌍자음에 대해서도 마찬가지이다.
출원인의 선출원(제27장)에서는 2번째로 연관되어 있는 자음을 한번의 연속된 드래그로 입력할 수 없었다. 본 발명의 실시예에서는 2번째로 배열되어 있는 자음을 수평회귀드래그에 의하여 입력하고, 쌍자음을 수직회귀드래그에 의하여 입력하는 실시예를 보인다.
선출원의 도면15-16에서 한번의 연속된 드래그로 "상"을 입력하는 것을 보였다. 도면19-16과 같이 드래그되었을 때, 선출원에 의하면 "상" 이 인식되지만, 본 발명을 적용하면 "함"이 된다. 버튼궤적을 살펴보면, [ㅅ → ㅈ → ㅅ → ㅂ → ㄱ → ㅣ → ㆍ → ㄴ → ㅅ → ㅇ → 마침표 → ㅇ] 으로 되어 있다. [ㅅ → ㅈ → ㅅ → ...]의 우향회귀드래그에서 "ㅎ"이 인식되고, [...→ ㅣ → ㆍ → ...] 에서 "ㅏ"가 인식되고, [...→ ㅇ → 마침표 → ㅇ]의 좌향회귀드래그에서 "ㅁ"이 인식된다.
도면19-17은 선출원에 의하면 "간"으로 인식된다. 본 발명의 실시예에 의하면 "깔"로 인식될 수 있다. 하향회귀드래그에 의하여 초성자음 "ㄲ"이, 우향회귀드래그에 의하여 종성자음 "ㄹ"이 인식되었다.
선출원에 따르면 도면19-18은 "간"으로 인식되지만, 본 발명의 실시예에 따르면 도면19-18의 결과는 "칼"이 된다. 도면19-18에서 수평회귀드래그에 의하여 2번째로 연관된 자음이 인식되는 것으로 하면, 좌향회귀드래그에 의하여 "ㅋ"이 인식된다. 또한 "ㄴ"에는 대응되는 쌍자음이 없으므로 도면19-18에서 수직회귀드래그(예. 하향회귀드래그) 역시 2번째 연관된 자음인 "ㄹ"로 처리할 수 있는 것이다.
도면19-18에서 중요한 성질이 사실을 지적하고자 한다. 만약 "각"이 입력되고 나서, 도면19-18과 같이 드래그 되었을 때, [ㄱ]버튼에서 시작한 좌향회귀드래그를 "ㅋ"으로 해석하되 [ㄱ]버튼이 2번 눌러진 것으로 처리하면, "각" 다음에 "칼"인 "각칼"이 아니라, "가깔"로 인식될 것이다. [ㄱ]버튼이 3번 눌러진 것은 도면19-18의 자판에서 "ㄲ"으로 되기 때문이다. 그러나 자음버튼으로부터 드래그되어 모음버튼에서 끝나거나 (즉, "자음+모음"으로 이루어진 글자), 자음버튼으로부터 드래그되어 모음버튼을 거쳐 자음버튼에서 드래그가 끝나는 경우(즉, "자음+모음+자음")는 드래그 시작버튼부터의 입력을 하나의 자모결합글자로 되도록 처리할 수 있다. 그러면 결과는 "각칼"이 된다. 이는 도면19-18의 자판에서 누름(Tap)으로만 입력할 경우 동일한 버튼값에 대하여 "각칼 ↔ 가깔" 의 모호성이 있지만, 하나의 자모결합글자를 한번의 드래그로 입력하는 본 발명을 통하여 모호성없이 입력할 수 있는 중요한 성질을 보여주고 있는 것이다. 만약 사용자가 "가깔"을 입력하려고 한다면 "가" 를 입력한 다음(드래그 또는 누름방법 아무 것이나 가능), 도면 19-17과 같이 드래그하면 그 결과는 "가깔"이 입력될 것이다.
정리하면 본 발명의 드래그 입력은 누름(Tap)방법과 혼?하여 사용될 수 있지만, 앞에 종성자음으로 나온 자음(예. "ㄱ") 다음에 연속하여 그 자음(예. "ㄱ")에 연관된 자음(예. "ㅋ", "ㄲ")이 초성자음으로 나오는 경우에도 누름방법만 사용하는 경우와 달리 모호성없이 처리할 수 있는 중요한 성질을 보여주고 있으며, 이 역시 본 발명의 중요한 특징 중의 하나이다. 이것이 가능한 것은 드래그에 의하여 인식된 "자음+모음" 또는 "자음+모음+자음" 을 하나의 단위로 보아 앞 글자의 종성자음(예. "ㄱ")과 상관없이 드래그된 음절을 "초성+중성" 또는 "초성+중성+종성"으로 처리함으로써 가능하다.
34.4 회귀드래그를 이용한 연관 자음의 입력 실시예 (LG전자社 자판)
도면15-14, 도면15-15 및 19-19는 LG전자社의 12버튼 한글자판이다. 도면19-19에서 "ㅋ = ㄱ+획추가", "ㄲ = ㄱ+쌍자음" 으로 입력하고, "ㄷ = ㄴ+획추가", "ㅌ = ㄴ+획추가+획추가", "ㄸ = ㄴ+획추가+쌍자음" 으로 입력한다. 대중적으로 많이 알려져 있는 자판이므로, 상기 자판에 의한 입력규칙은 자세한 설명은 생략한다.
도면19-19에서, [ㄱ]버튼에는 "ㄱ"이 1번째로 연관되어 있고, "ㅋ", "ㄲ"이 2번째 또는 그 이상으로 연관되어 있음을 알 수 있다. "ㅋ = ㄱ+획추가"로 입력되므로, [ㄱ]버튼이 "ㅋ"의 메인버튼이 되고 보조버튼으로 [획추가]라는 기능버튼이 쓰인 것이다. 또한 "ㄲ = ㄱ+쌍자음"으로 입력되므로, [ㄱ]버튼이 "ㄲ"의 메인버튼이 되고, 보조버튼으로 [쌍자음]이라는 기능버튼이 쓰인 것으로 볼 수 있다.
같은 논리로 [ㄴ]버튼에는 1번째로 "ㄴ"이 연관되어 있고, 2번째 또는 그 이상으로 "ㄷ", "ㅌ", "ㄸ"이 연관되어 있다. 마찬가지로 [ㅁ]버튼에는 "ㅂ", "ㅍ", "ㅃ"이 연관되어 있고, [ㅅ]버튼에는 "ㅈ", "ㅊ", "ㅉ"이 연관되어 있고, [ㅇ]버튼에는 "ㅎ"이 연관되어 있다. [ㄴ]버튼, [ㅁ]버튼, [ㅅ]버튼에는 각각 3개의 자음이 연관되어 있는데, 가장 사용하기 쉬운 1단 회귀드래그에 의하여 각각 연관되어 있는 평자음 "ㄷ", "ㅂ", "ㅈ"이 인식되도록 하는 것이 바람직하다, 격자음 및 쌍자음에 비하여 평자음 "ㄷ", "ㅂ", "ㅈ"은 사용빈도가 훨씬 더 많기 때문이다. 본 발명의 실시예에서 좌향회귀드래그에 의하여 [ㄴ]버튼, [ㅁ]버튼, [ㅅ]버튼에 각각 연관되어 있는 "ㄷ", "ㅂ", "ㅈ"이 인식되는 것을 보인다. 우향회귀드래그는 "자음+모음+자음"으로 되어 다른 글자가 인식되기 때문에 도면19-19의 키패드(자판)에서는 좌향회귀드래그를 사용하여야 하기 때문이다. 또한 다른 실시예와의 일관성을 위하여 수직회귀드래그(즉, 상향회귀드래그 및 하향회귀드래그)에 의하여 "쌍자음"이 인식되는 것으로 한다.
선출원(제27장)을 적용하면 도면19-20은 "명"으로 인식된다. 본 발명의 실시예에서 1단 좌향회귀드래그에 의하여 "ㅂ"이 인식되고, 드래그가 종료된 버튼인 [ㅇ]버튼을 기준으로 좌향회귀드래그에 의하여 "ㅎ"이 인식되면 결과는 "?"이 된다. 버튼궤적에 의한 자세한 설명은 생략한다. 도면19-20에서 종성자음 "ㅎ"을 입력하기 위하여 좌향회귀드래그 사례를 보였는데, [ㅇ]버튼에는 "ㅇ"과 "ㅎ"만이 연관되어 있으므로, 좌향회귀드래그(예. [...→ ㅇ → ㅅ → ㅇ]) 이 아닌, 상향회귀드래그(예. [...→ ㅇ → ㅁ → ㅅ]) 역시 "ㅎ"으로 처리할 수 있다.
[ㄴ]버튼, [ㅁ]버튼, [ㅅ]버튼에 각각 연관되어 있는 격자음 "ㅌ", "ㅍ", "ㅊ"은 2단 수평회귀드래그에 의하여 인식되는 것으로 할 수 있다. 선출원에 의하면 도면19-21의 결과는 "남" 으로 인식되지만 이지만, 본 발명의 실시예에 의하면 "탑"으로 인식된다. 도면19-21에서 [ㄴ]버튼으로 부터 시작된 2단 좌향회귀들그에 의하여 "ㅌ"이 인식되는 사례를 보여준다.
[ㅅ]버튼으로 부터 시작된 드래그에 의하여 "ㅊ"을 인식하는 것을 보인다. [ㅅ]버튼은 일직선으로 2단 수평회귀드래그를 사용하기 어려운 위치에 있다. 먼저 도면19-22와 같이 "획추가"버튼을 이용하는 것이 가능하다. 드래그 시작버튼인 [ㅅ]버튼으로부터 [ㅅ → 획추가 → ㅅ(무효화) → 획추가 → ...] 와 같이 드래그 되었으므로 "ㅊ"이 인식된다. 이는 선출원(예. 도면15-14)에서 이미 설명한 부분이다. 도면19-22의 결과는 "참"으로 인식된다. 상기 "탑"의 사례 역시 도면19-22와 같이 [획추가]버튼을 이용하는 것이 가능하다.
또 한가지 방법은 도면19-4의 2단 회귀드래그를 이용하는 것이다. 도면19-23에서 [ㅅ → 스페이스 → 한글 → ㄹ → ㅅ → ...] 으로 드래그되었으며, 도면19-4형태와 같이 2단 좌향회귀드래그가 이루어졌음을 알 수 있다. 버튼궤적에서 드래그 시작버튼인 [ㅅ]버튼으로부터 다시 "ㅅ"이 나타난 마디를 보면 [ㅅ → X → ㅅ → ...] 이 아니고, [ㅅ → X → Y → Z → ㅅ → ...] 과 같으므로 2단 회귀드래그로 인식할 수 있다. 물론 이미 설명한 바와 같이 사선방향의 좌상향회귀드래그 역시 같은 버튼궤적을 가질 수 있으나, 본 실시예에서는 상기 버튼궤적을 좌향회귀드래그로 처리하는 사례를 보인다. 따라서 도면19-23의 결과는 "참"으로 인식된다.
다른 변형된 형태의 2단 회귀드래그에 의한 사례를 보이면 도면19-24와 같다. 도면19-24에서 [ㅅ → 스페이스 → ㅅ → 스페이스 → ㅅ → ...] 로 드래그 되었는데, 1단 회귀드래그의 연속 2번을 2단 회귀드래그로 간주하여 "ㅊ"으로 인식할 수도 있다. 도면19-24의 결과 역시 "참"이 된다. 도면19-22의 "탑"의 "ㅌ" 입력에도 도면19-24의 "ㅊ" 입력과 동일하게 1단 회귀드래그 연속2번을 적용할 수 있음은 물론이다.
"ㅈ"은 수평회귀드래그로 입력하고 [획추가]버튼과 조합하여 "ㅊ"을 인식하는 사례를 보이면 도면19-25와 같다. 도면19-25의 버튼궤적은 [ㅅ → ㅇ → ㅅ → 획추가 → ...] 으로 드래그되었는데, [ㅅ → ㅇ → ㅅ → ...] 에서 "ㅈ"이 인식되고 연이은 [획추가]버튼으로 "ㅊ"이 인식될 수 있다. 도면19-25의 결과 역시 "참"이 된다. 도면19-25의 [획추가]버튼을 이용하는 것은 선출원에서도 보였지만, 본 발명에서 획추가 버튼을 이용하지 않고도 회귀드래그에 의하여 연관된 자음을 입력할 수 있음을 보인 것 역시 본 발명의 성과라고 할 수 있을 것이다.
다음으로 수직회귀드래그에 의하여 쌍자음을 입력하는 사례를 보인다. 도면19-26에서 [ㅅ]버튼에서 시작하여 상향회귀드래그된 것을 알 수 있다. 도면19-26의 결과는 "쌍"이 된다. [ㅅ]버튼 아래에 [획추가]버튼이 있으므로 하향회귀드래그를 적용하지 않았다. 마찬가지로 도면19-27에서의 버튼궤적은 [ㄴ]버튼에서 시작하여 [ㄴ → ㅁ → ㄴ → ...] 하향회귀드래그 되었으므로, "ㄴ"에 연관된 쌍자음 "ㄸ"이 인식된다. 도면19-27의 결과는 "땀"이 인식된다. 나머지 쌍자음 "ㄲ", "ㅃ", "ㅉ"에 대해서도 같으므로 사례도면은 생략한다.
도면19-27은 마치 "ㄴ"의 쌍자음이 "ㄸ"인 것처럼 처리되는 것이다. 논리를 명확하게 하기 위해서 [ㄴ]버튼에서 수평회귀드래그에 의하여 "ㄷ"이 인식되고, 끊어지지 않고 연속된 수직회귀드래그에 의하여 "ㄸ"이 인식되도록 할 수도 있다. 예를 들어 버튼궤적이 [ㄴ → ㄱ → ㄴ → ㅁ → ㄴ → ...] 과 같이 된다면 [ㄴ]버튼에서 시작되어 우향회귀드래그가 1번 일어났으며 연이어 하향회귀드래그가 1번 일어났음을 알 수 있다. 즉, 우향회귀드래그(수평회귀드래그)에 의하여 "ㄷ"이 인식되고, 연이은 하향회귀드래그(수직회귀드래그)에 의하여 "ㄸ" 이 인식되는 것이다. [ㅁ]버튼, [ㅅ]버튼에 연관된 "ㅃ", "ㅉ"에 대해서도 동일하게 적용될 수 있다.
LG전자사의 자판에서 쌍자음을 입력하기 위한 [쌍자음] 기능버튼이 [#]위치인 좌하 구석에 위치하고 있고, 좌측에 [ㅡ]버튼 상측에 [ㅣ]버튼이 있어 [쌍자음]버튼을 드래그하려면 반드시 [ㅡ]버튼, [ㅣ]버튼을 거치게 된다. 그러나 본 발명을 통한 드래그 입력에서 [쌍자음]버튼으로 드래그하지 않고도 한번의 끊어지지 않는 드래그로 격자음과 쌍자음을 포함한 자음을 초성자음 및 종성자음으로 입력할 수 있도록 한 것 역시 본 발명이 내놓은 성과중의 하나이다.
34.5 회귀드래그를 이용한 연관 자음의 입력 실시예 (팬택社 자판)
도면19-28은 팬택社의 12버튼 한글자판이다. 도면19-28에 의한 입력규칙은 광범위하게 알려져 있으므로 본 실시예에서 자세히 언급하지 않는다. [ㄱ]버튼에는 "ㄱ"을 포함하여 "ㅋ", "ㄲ"이 연관되어 있음을 알 수 있다. 이는 [ㄷ]버튼, [ㅂ]버튼, [ㅈ]버튼에 대해서도 각각 같다. 또한 [ㄴ]버튼, [ㅁ]버튼, [ㅇ]버튼에는 해당 자음을 포함하여, 각각 "ㄹ", "ㅅ", "ㅎ"이 연관되어 있음을 알 수 있다. 연관되어 있는 알파벳의 수가 최대 3개를 초과하지 않으며, 2번째 이상으로 연관되어있는 알파벳은 최대 2개이다. 마찬가지로 수평회귀드래드그에 의하여 격자음 또는 2번째로 배열된 자음을 인식하고, 수직회귀드래그에 의하여 쌍자음을 인식하는 사례를 보인다.
도면19-29의 버튼궤적은 [ㄱ → ㄷ → ㄱ → ㅣ → ㅏ → 백스페이스 →ㅏ → ㅓ → ㄴ → ㅂ → ㅁ → ㅂ] 이다. [ㄱ]버튼으로부터 시작된 [ㄱ → ㄷ → ㄱ → ...] 에서 하향회귀드래그를 탐지할 수 있고 그 결과 "ㄲ"을 인식할 수 있다. 모음버튼에서 모음버튼까지의 버튼궤적은 [...→ ㅣ → ㅏ → 백스페이스 →ㅏ → ㅓ → ...] 이다. 도면19-29의 키패드는 모음 "ㅏ"를 입력하기 위하여 반드시 [ㅣ]버튼 또는 [ㅓ]버튼을 거쳐서 드래그하여야 한다. 선출원에서 모음을 인식하는 방법으로 최초 드래그된 모음버튼은 유효한 것으로 처리하고, 최초드래그된 모음버튼을 포함하여 조합이 가능한 모음버튼을 유효한 버튼으로 처리하는 것을 제시하였다 (도면15-17 참조). 또 한가지 대안으로는 드래그된 모음버튼을 모두 유효한 모음버튼으로 처리하는 것이 선출원에서 제시된 바 있었다.
이는 출원인의 자판(예. 도면19-6), 삼성전자社 자판(예. 도면19-15), LG전자社 자판(예. 도면19-19)과 같이 자음버튼영역에 모든 모음버튼이 인접하여 배열되어 있는 경우는 아무런 문제가 없다. 그러나, 한글쿼티자판 또는 도면29-28의 팬택社 자판과 같이 자음버튼에 인접하지 않은 모음버튼(예. [ㅏ]버튼)이 있는 경우는 그 모음(예. 모음 "ㅏ") 및 그 모음에 연관된 모음을 입력하지 못하는 단점이 있다. 도면19-28의 [ㅏ]버튼은 자음버튼 [ㄴ]과 대각선 꼭지점으로 인접하고 있으나, 본 실시예에서는 인접하지 않은 것으로 간주된다. 왜냐하면 버튼이 조밀하게 밀집되어 있으므로 [ㄴ]버튼을 거쳐 [ㅣ]버튼 또는 [ㅓ]버튼을 지나지 않고 [ㅏ]버튼으로 드래그될 수 없기 때문이다. 버튼과 버튼사이에 약간의 간격이 있다고하더라고 그 간격을 통해서 [ㄴ]버튼에서 [ㅣ]버튼 또는 [ㅓ]버튼을 지나지 않고 [ㅏ]버튼으로 드래그한다는 것도 불가능하기 때문이다.
따라서 본 실시예를 통하여 이렇게 자음버튼에 면(面)으로 인접하지 않은 모음버튼을 처리하는 사례를 보인다. 도면19-29의 모음버튼에서 모음버튼까지의 버튼궤적은 [...→ ㅣ → ㅏ → 백스페이스 →ㅏ → ㅓ → ...] 이다. 도면19-29에서의 입력규칙에 "ㅣ+ㅏ"는 존재하지 않는다. 또한 "ㅏ" 다음에 연이어 다른 모음이 나온 것이 아니고 "백스페이스" 그리고 다시 "ㅏ"가 나온 것은 명백히 "ㅏ+ㅏ" 인 "ㅑ"를 입력하기 위한 것을 알 수 있다. 만약 "ㅑ" 다음에 "ㅣ"가 드래그되었다면 "ㅒ"가 인식될 것이다. 그러나 "ㅑ" 다음에 드래그된 "ㅓ"는 도면19-29의 입력규칙에 의하여 적절한 모음을 형성하지 않는다. 따라서 마치막에 드래그된 "ㅓ"는 종성자음을 입력하기 위하여 단지 지나는 것을 알 수 있다. 이는 드래그가 종료된 버튼이 자음버튼(예. [ㅂ]버튼)인 것에서도 알 수 있다. 마지막 모음버튼 이후의 버튼궤적은 [...→ ㄴ → ㅂ → ㅁ → ㅂ] 이다. 최종 드래그된 자음인 "ㅂ"은 항상 유효한 것으로 간주되는데 [ㅂ → ㅁ → ㅂ]으로 좌향회귀드래그된 것을 탐지할 수 있으므로 종성자음 "ㅍ"으로 인식된다. 결국 도면19-29의 결과는 "?"이 된다.
자음입력에 관한 것은 23.3의 삼성전자사社 자판에서 보인 실시예와 거의 유사하므로 자세한 설명을 생략한다. 본 실시예에서 이렇게 자음버튼에 면(面)으로 인접하지 않은 모음버튼이 있는 자판에서 연속된 드래그에 의하여 모음을 입력하는 것에 관하여 정리하면 다음과 같다.
도면19-28을 기준으로 설명한다. 우선 "가"는 [ㄱ → ㅣ → ㅏ]로 드래그하여 입력이 가능하다. 설명한 바와 같이 "ㅣ+ㅏ"가 다른 모음의 입력으로 정의되어 있지 않기 때문에 앞서 드래그된 [ㅣ]버튼은 유효하지 않은 버튼으로 간주된다. 만약 사용자가 "기"를 입력하기 위한 것이었다면 [ㅣ]버튼에서 드래그가 종료되었을 것이기 때문이다. 마찬가지로 [ㄱ → ... → ㅓ → ㅏ]로 드래그된 경우도 "가"로 인식될 수 있다. 만약 사용자가 "거"를 입력하기 위한 것이었다면 [ㅓ]버튼에서 드래그가 종료되었을 것이기 때문이다. 다음으로 "갸"는 도면28-9에서 보인 바와 같이 "ㄱ → ㅣ → ㅏ → 백스페이스 → ㅏ]로 가능하다. 3번째 드래그된 [ㅏ]버튼이 사용자가 의도한 버튼이므로 [ㅏ]에 앞서 결합될 수 없는 [ㅣ]버튼이 무효화되고 마지막 [ㅏ]버튼이 유효한 버튼이기 때문이다. 자음버튼과 인접한 나머지 모음버튼은 출원인의 선출원에서 설명한 바와 같이 처리될 수 있으므로 설명을 생략한다.
다음으로 키패드(자판) 상단에 가짜버튼을 두어서 해결하는 방법을 보인다. 도면19-30에서는 상단에 5열에 맞추어 가짜버튼을 두었다. 편의상 5개의 가짜버튼을 DB1, DB2, DB3, DB4, DB5 라고 부르기로 한다. 본 발명의 실시예에서는 상단에 DB 하나의 가짜버튼을 두어도 상관이 없지만, 도면19-4 의 2단 회귀드래그 및 도면19-5의 사선방향의 회귀드래그를 식별해내려면 버튼의 열(column)의 수에 맞추어 가짜버튼을 두는 것이 더 융통성이 있다.
도면19-30의 버튼궤적은 [ㄱ → DB2 → ㄱ → DB3 → DB4 → ㅏ → ㅓ → ㄴ → ㄷ → ㄱ → ㄷ → ㄱ] 이다. 드래그시작 버튼인 [ㄱ]버튼으로부터 [ㄱ → DB2 → ㄱ → ...] 에서 상향회귀드래그되었으므로 "ㄲ"이 인식된다. 모음버튼에서 모음버튼까지의 버튼궤적은 [...→ ㅏ → ㅓ → ...] 인데, 사용자가 의도적으로 자음버튼에 면(面)으로 인접하지 않은 모음버튼인 [ㅏ]에 드래그하기 위하여 가짜버튼(DB3, DB4)을 거쳐 [ㅏ]버튼으로 드래그하였으므로 이 경우는 [ㅏ]버튼을 유효한 버튼으로 처리하는 것이 타당하다. 만약 사용자가 "ㅓ"를 입력하기 위한 것이었다면, [ㅓ]버튼은 자음버튼에 대해 면(面)으로 인접되어 있으므로 [ㄱ → DB2 → ㄱ → ㄷ → ㄴ → ㅓ → ...] 와 같이 드래그하였을 것이기 때문이다. "ㅏ+ㅓ"는 도면19-30의 입력규칙에 정의되어 있지 않으므로 모음버튼 [ㅓ]는 무효화된다. 마지막 모음버튼 이후의 버튼궤적 [...→ ㄴ → ㄷ → ㄱ → ㄷ → ㄱ] 에서 최종드래그된 자음버튼인 [ㄱ]버튼은 유효한 버튼이고 그 앞에서 하향회귀드래그가 일어났으므로 자음 "ㄲ"이 인식된다. 결국 도면19-30의 결과는 "깎"이 인식된다.
상기 도면19-30의 결과는 세부적인 드래그 입력규칙에 대해 사용자가 숙지하고 있으면서 입력되는 모음이 "ㅏ"인지 "ㅓ"인지 사용자가 두뇌에서 생각해야 한다. 도면19-31은 보다 쉽게 "깍"을 입력할 수 있게 해준다. 도면19-31의 버튼궤적은 [ㄱ → DB2 → ㄱ → DB3 → DB4 → ㅏ → DB4 → DB3 → DB2 → ㄱ → ㄷ → ㄱ] 이다. 드래그된 모음버튼이 [ㅏ]버튼 밖에 없으므로 사용자는 [...→ DB4 → ㅏ → ㅓ →...] 으로 드래그되었을 때, 입력되는 모음이 "ㅏ"인지 "ㅓ"인지 생각할 필요가 없다. 초성자음 "ㄲ"과 종성자음 "ㄲ"을 인식하는 것은 도면19-30에서 설명한 바와 같다.
34.6 회귀드래그를 이용한 연관 알파벳의 입력 실시예 (쿼티한글 자판)
도면18-1(*)은 현재 PC등에서 표준으로 사용되고 있는 2벌식 키보드이며, 쿼티한글자판으로 일반적으로 불리우고 있다. 14개의 자음버튼과 12개의 모음버튼으로 이루어져 있다. [ㄱ]버튼, [ㄷ]버튼, [ㅂ]버튼, [ㅅ]버튼, [ㅈ]버튼에 각각 대응되는 쌍자음 "ㄲ", "ㄸ", "ㅃ", "ㅆ", "ㅉ"이 연관되어 있다. 이는 "ㄲ = shift + ㄱ"으로 입력하는 것으로부터도 쉽게 알 수 있다. 연속된 드래그에 의하여 쌍자음을 입력할 때, 기 설명한 수직회귀드래그 또는 수평회귀드래그를 이용하여 처리하는 것이 가능하다.
예를들어 도면19-32와 같이 드래그하여 "?"이 인식될 수 있다. [ㄱ]버튼에 연관된 자음이 "ㄱ"을 제외하 "ㄲ" 하나이므로, 수직회귀드래그 또는 수평회귀드래그에 의하여 "ㄲ"이 인식되는 것으로 할 수 있음은 다른 실시예에서 설명한 바와 같다.
쿼티한글자판에는 자음버튼과 인접하지 않은 면(面)에 위치한 모음버튼이 있다. 이렇게 자음버튼과 인접하지 않은 모음버튼이 있는 자판에서의 연속된 드래그에 의한 모음입력은 별도로 제35장에서 정리한다.
34.7 회귀드래그를 이용한 연관 자음의 입력 실시예 정리
본 발명에서 회귀드래그를 이용하여 자음버튼(예. [ㄱ]버튼)에 연관되어 있는 자음(예. "ㄲ", "ㅋ",...)까지도 초성자음 및 종성자음으로 입력하는 실시예를 보였다. 이를 정리하면, 최초 드래그된 자음버튼은 유효한 자음버튼으로 간주하고, 모음버튼 이전까지 드래그된 자음버튼들 중에서 회귀드래그를 탐지하고 이를 약속된 자음(예. "ㅋ")으로 처리하는 것이다. 마찬가지로 드래그가 종료된 자음버튼(즉, 마지막으로 드래그된 자음버튼)은 유효한 자음버튼으로 간주하고, 마지막 드래그된 모음버튼 다음에 드래그된 자음버튼들 중에서 최종 드래그된 자음버튼(예. "ㄱ")과 비교하여 회귀드래그를 탐지하여 이를 약속된 자음(예. "ㄲ")으로 처리하는 것이다.
이미 설명한 대로, 도면19-1 ~ 도면19-5 에서 표현된 각각의 회귀드래그는 각각 개별적인 입력대상이 인식되도록 정의할 수 있다. 본 발명의 실시예에서는 버튼외 회귀드래그(즉, 1단 또는 1단 이상의 회귀드래그)를 통하여 특정 자음버튼(예. [ㄱ]버튼)에 연관된 자음(예. "ㄲ", "ㅋ")이 인식되는 사례를 보였다. 더 구체적으로는 수평회귀드래그에 의하여 2번째 연관 또는 배열된 자음 또는 격자음이 인식되도록 하는 사례를 보였고, 수직회귀드래그에 의하여 쌍자음이 인식되되도록 하는 사례를 보였다.
단계로 기재해보면 다음과 같다. 다음은 자음버튼에서 드래그가 시작되어 모음버튼에서 드래그가 끝나거나, 자음버튼에서 드래그가 시작되어 자음버튼에서 드래그가 끝나는 경우이다.
스크린(액정)상의 다수의 자음버튼과 다수의 모음버튼을 격자형으로 밀집하여 구비하는 자판에서, 터치(또는 마우스 클릭) 상태에서 끊어지지 않고 연속하여 버튼들을 드래그하는 드래그동작에 의하여 한국어 글자(자음, 모음, 자모결합글자, 단어 또는 구절)를 입력하는 방법에 있어서,
상기 자음버튼 중 하나 이상의 자음버튼에는 다수의 자음이 연관되어 있으며,
(a) 드래그동작의 시작을 탐지하고 상기 드래그가 시작된 자음버튼(드래그시작버튼)을 포함하여 버튼궤적을 인식하는 단계
(b) 상기 드래그시작버튼에서 모음버튼 앞까지의 버튼궤적
또는
드래그된 버튼중 모음버튼이 없는 경우는 상기 드래그시작버튼에 드래그종료버튼까지의 버튼궤적
에서 상기 드래그시작버튼을 포함하는 회귀드래그를 탐지하는 단계
(c) 상기 드래그가 시작된 자음버튼에 연관된 자음 중에서, 상기 회귀드래그에 대하여 약속된 자음을 인식하는 단계
로 글자가 입력되는 것을 특징으로 하는 스크린(액정) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
상기 내용은 도면19-10의 드래그 버튼궤적 [ㄱ → ㄴ → ㄱ → ㄹ → ㅅ → ㅡ → ㆍ → ㅇ → ㅁ → ㅂ → ㅁ → ㅂ] 중에서 모음버튼 [ㆍ]에서 드래그가 종료경우 (즉, [ㄱ → ㄴ → ㄱ → ㄹ → ㅅ → ㅡ → ㆍ])를 참고할 수 있다. 버튼궤적 [ㄱ → ㄴ → ㄱ → ...] 에서 회귀드래그를 탐지할 수 있음을 설명하였다.
다음은 자음버튼에서 드래그가 시작되어 모음버튼을 거쳐 자음버튼에서 드래그가 종료된 경우이다.
스크린(액정)상의 다수의 자음버튼과 다수의 모음버튼을 격자형으로 밀집하여 구비하는 자판에서, 터치(또는 마우스 클릭) 상태에서 끊어지지 않고 연속하여 버튼들을 드래그하는 드래그동작에 의하여 한국어 글자(자음, 모음, 자모결합글자, 단어 또는 구절)를 입력하는 방법에 있어서,
상기 자음버튼 중 하나 이상의 자음버튼에는 다수의 자음이 연관되어 있으며,
상기 드래그는 자음버튼에서 시작하여 모음버튼을 포함하여 자음버튼에서 드래그가 종료되며,
(a) 드래그동작의 시작을 탐지하고 상기 드래그가 시작된 자음버튼(드래그시작버튼)을 유효한 버튼으로 인식하고, 드래그된 버튼궤적 중에서 최초 모음버튼 앞까지의 버튼들로부터 약속된 초성자음을 인식하는 단계
(b) 드래그 버튼궤적에서 최초 모음버튼에서부터 최종 모음버튼까지의 버튼궤적에서 약속된 모음을 중성모음으로 인식하는 단계
(c) 최종 드래그된 모음버튼 다음의 버튼부터 드래그 종료버튼인 자음버튼까지의 버튼궤적으로부터 드래그 종료버튼인 자음버튼의 회귀드래그를 탐지하는 단계
(e) 상기 드래그 종료버튼인 자음버튼에 연관된 자음 중에서, 상기 탐지된 회귀드래그에 대하여 약속된 자음을 종성자음으로 인식하는 단계
로 글자가 입력되는 것을 특징으로 하는 스크린(액정) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
상기 내용은 도면19-10의 드래그 버튼궤적 [ㄱ → ㄴ → ㄱ → ㄹ → ㅅ → ㅡ → ㆍ → ㅇ → ㅁ → ㅂ → ㅁ → ㅂ] 를 참고할 수 있다. 버튼궤적 [...→ ㅂ → ㅁ → ㅂ] 에서 드래그가 종료된 자음버튼인 [ㅂ]버튼의 회귀드래그를 탐지하여 [ㅂ]버튼에 연관된 자음(예. "ㅍ")의 입력을 인식할 수 있음을 설명하였다.
또한 추가적으로,
상기 2가지 경우에 있어서,
상기 회귀드래그는 1단 또는 1단 이상의 회귀드래그인 것
을 특징으로 하는 스크린(액정) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
그리고 상기에 있어서,
수평회귀드래그에 의하여 격자음 또는 자음버튼에 2번째 배열된 자음이 인식되는 것
수직회귀드래그에 의하여 쌍자음이 인식되는 것
을 특징으로 하는 스크린(액정) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
역시 도면19-10의 드래그 버튼궤적 [ㄱ → ㄴ → ㄱ →...] 및 [ㄱ]버튼과 [ㄴ]버튼의 위치관계로부터 수평회귀드래그(더 정밀하게는 "우향회귀드래그")를 탐지할 수 있음을 설명하였다.
도면19-13 및 도면19-14에서 모음버튼(예. [ㆍ]버튼)에서 드래그가 시작되어 다시 그 모음버튼(예. [ㆍ]버튼)으로 되돌아오는 회귀드래그에 의하여 약속된자음(예. "ㅎ")이 인식되는 것이 가능하였다. 이를 정리하면 아래와 같다.
스크린(액정)상의 다수의 자음버튼과 다수의 모음버튼을 격자형으로 밀집하여 구비하는 자판에서, 터치(또는 마우스 클릭) 상태에서 끊어지지 않고 연속하여 버튼들을 드래그하는 드래그동작에 의하여 한국어 글자(자음, 모음, 자모결합글자, 단어 또는 구절)를 입력하는 방법에 있어서,
모음버튼에서 모음버튼이 아닌 버튼을 거쳐 다시 그 모음버튼으로 돌아오는 회귀드래그에 의하여 약속된 자음이 인식되는 것
을 특징으로 하는 스크린(액정) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
본 발명의 실시예에서는 설명하지 않았지만, 도면19-5의 사선방향의 회귀드래그로 중의 한가지로 각 버튼에 대응되어 있는 숫자를 입력하도록 할 수도 있다. 물론 좌하향회귀드래그는 버튼궤적만 비교하면 도면19-4의 2단 좌향회귀드래그와 같을 수 있기 때문에 그림19-4의 2단 좌향회귀드래그에 의하여 입력하는 다른 입력대상이 있는 경우는 "꺾임" 각도를 함께 고려해야 한다.
더 나아가 회귀드래그가 아닌 사선방향의 드래그에 의하여 각 버튼에 대응되어 있는 숫자가 인식되도록 할 수 있다. 이는 드래그가 종료된 버튼이 사선방향의 버튼인지만 판별하면 되므로 "꺾임" 각도를 계산하지 않고 버튼궤적만 분석하는 것으로 쉽게 구현이 가능하다. 단, 모음버튼에서 시작되어 자음버튼으로 드래그가 끝나는 경우(예. LG전자 자판에서 [ㅓ]버튼에서 좌상향 드래그되어 [ㄴ]버튼에서 드래그가 종료되는 경우) "모음+자음"의 입력으로 처리하지 않고 숫자의 입력으로 처리된다. 맨위 상단에 위치한 버튼에서 좌상향회귀드래그 또는 좌상향드래그하는 경우는 DB1 ~ DB5 의 가짜버튼을 적은 높이로 둠으로써 오류(0단 드래그 및 0단 회귀드래그에서의 오류)가능성 없이 쉽게 해결가능함을 설명하였다.
35. 자음버튼에 인접한 면(面)에 위치하지 않은 모음버튼이 있는 자판에서의 연속된 드래그에 의한 모음인식
도면18-1(*)의 2벌식 키보드(즉, 쿼티한글자판)에는 12개의 모음버튼이 있다. 현대 한국어의 모음은 21개 인데, 그중에서 "ㅒ"는 [ㅐ]버튼에 연관되어 있고, "ㅖ"는 [ㅔ]버튼에 연관되어 있다. 이는 "ㅒ = shift + ㅐ"로, "ㅖ = shfit + ㅔ"로 입력하는 것으로부터 쉽게 알 수 있다. 현대 한국어 모음 21개 중 14개(버튼에 표시된 12개 + ㅒ, ㅖ)를 제외한 나머지 7개 모음은 "ㅚ", "ㅘ", "ㅙ", "ㅟ", "ㅝ", "ㅞ", "ㅢ" 로 모두 2개 모음의 조합으로 이루어진 이중모음이다. 7개 이중모음 중 5개의 모음이 "ㅣ"와 최종 조합되고 있음을 알 수 있다.
선출원(제27장)에서는 첫번째로 드래그된 모음버튼을 유효한 버튼으로 가정하였으나, 도면19-32와 같이 자음버튼에 면(面)으로 인접하지 않은 모음버튼이 있는 경우에 모음 "ㅓ", "ㅏ", ... 등과 같이 자음버튼과 인접하지 않은 모음을 중성모음으로 입력하는 것을 설명한다. 본 실시예에서의 핵심은 유효한 음절을 형성하는 모음버튼을 식별해 내는 것이다. 유효한 모음이 다수인 경우(즉, 모호성이 있는 경우) 리스트를 띄워주어 사용자로 하여금 선택하도록 하는 것도 가능하다. 그러나, 본 발명의 실시예에서는 합리적인 규칙으로 정확히 하나의 모음을 식별해 내는 것을 제시한다.
한글쿼티자판에서 모음버튼은 3개의 행(줄)으로 이루어져 있다. 1번째 행의 모음 "ㅛ", "ㅕ", "ㅑ", "ㅐ", "ㅔ" 은 이중모음을 구성하는 앞모음으로 사용되지 않는다. 따라서 1번째 행의 모음버튼에서 2번째 행 또는 3번째 행의 모음으로 드래그되는 것은 이중모음을 형성하지 않는다. 또한 2번째 행의 우측에 배치된 모음은 좌측에 배열된 모음과 대체적으로 이중모음을 형성하지 않는다. 예를들어 "ㅣ" (우측모음)와 "ㅏ", "ㅓ", "ㅗ" (좌측모음)는 이중모음을 형성하지 않으며, "ㅏ"(우측모음)와 "ㅓ"(좌측모음)는 이중모음을 형성하지 않으며, "ㅓ"(우측모음)와 "ㅗ"(우측모음)은 이중모음을 형성하지 않는다는 것이다. 이는 대부분의 이중모음이 "X+ㅣ"의 형태이고, "ㅣ+X"의 형태가 아닌 것을 생각하면 된다. 또한 3번째행의 모음(예. "ㅜ")과 2번째 행의 모음(예. "ㅓ", "ㅣ")는 이중모음을 형성할 수 있지만, 2번째 행의 모음(예. "ㅓ"과 3번째 행의 모음(예. "ㅡ")은 이중모음을 형성하지 않는다.
자음버튼에 면(面)으로 인접하지 않은 모음을 중성모음으로 입력함에 있어서, 이렇게 우측에 위치한 모음과 좌측에 위치한 모음이 이중모음을 이루지 않는 것, 2번째 행에 위치한 모음과 1번째 행에 위치한 모음이 이중모음을 이루지 않는 것, 그리고 2번째 행에 위치한 모음과 3번째행에 위치한 모음이 이중모음을 이루지 않는 것은 본 발명을 적용함에 있어서 한글쿼티자판의 중요한 성질이 된다.
만약 사용자가 "앙"을 입력하기 위하여 도면20-1처럼 [ㅇ → ... ㅛ → ㅕ → ㅑ → ㅏ → ㅓ → ㅗ → ... ㅇ] 과 같이 드래그한 경우를 살펴본다. 이 사례는 사용자가 모음 "ㅏ"을 입력하기 위하여 1번째행의 모음버튼으로 드래그하가다 의도하는 2번째행의 모음 "ㅏ"로 진행하고 2번째 행에서 다시 좌측 자음버튼쪽을 진행한 것이다. 선출원(제27장)에서는 모든 모음버튼이 자음버튼과 면(面)으로 인접한 경우를 가정하여 처음 드래그된 모음(예. [ㅛ]버튼)이 유효한 버튼인 것으로 간주하였으나, 만약 사용자가 "ㅛ"를 입력하기 위한 것이었다면 [...→ ㅛ →ㅕ → ㅑ → ㅏ → ...]" 와 같이 우측으로 더 진행할 이유가 없고 [ㅛ]까지 드래그하고 나서 다시 좌측의 자음버튼쪽으로 드래그가 진행되었어야 한다. [...→ ㅛ → ㅕ → ㅑ → ㅏ → ㅓ → ㅗ → ...] 는 이중모음을 형성하지 않으므로 가장 우측에 위치한 모음 "ㅏ"를 사용자가 의도한 모음이라고 판단하는 것이 타당하다. 따라서 결과는 "앙"이 인식된다.
본 발명의 핵심은 한글쿼티자판과 같이 자음버튼에 면으로 인접하지 않고 모음버튼으로만 둘러쌓인 모음버튼이 있고, 좌측에 자음버튼이 배치되고 우측에 모음버튼이 위치된 자판에서 드래그된 모음버튼들 중에서 가장 우측에 위치한 모음버튼을 유효한 모음으로 간주하여 처리하는 것이다. 이렇게 드래그된 모음버튼중에서 가장 우측에 위치한 모음버튼을 "드래그된 최우측모음버튼"이라 부르기로 하며, 더 간단히 "최우측모음버튼" 또는 "최우측모음" 이라 부르기로 한다. 더불어 유효한 버튼으로 간주되는 모음버튼인 최우측모음과 이중모음을 이루는 경우는 그 이중모음(도면15-17의 "ㅚ")이 인식된다.
선출원의 도면15-17의 버튼퀘적은 [ㄱ → ㅅ → ㅎ → ㅗ → ㅓ → ㅏ → ㅣ → ㅏ → ㅓ → ㅗ → ㅎ → ㄹ → ㅇ] 이다. 모음 부분의 버튼궤적은 [...→ ㅗ → ㅓ → ㅏ → ㅣ → ㅏ → ㅓ → ㅗ →...] 이다. 이미 설명하였듯이 "굉"이 인식되는 것이 타당하다. 본 발명의 사상으로 해석하더라도 최우측모음인 [ㅣ]가 유효한 모음버튼이고, 그 앞의 "ㅗ"와 결합하여 이중모음 "ㅚ"로 되기 때문이다. 도면15-17에서 "괭"으로 되지 않는 이유는 쿼티한글자판에서 [ㅐ]버튼이 별도로 있어 "ㅙ = ㅗㅏㅣ"로 입력하지 않고, "ㅙ = ㅗㅐ"로 입력하기 때문이다. 만약 사용자가 "강"을 입력하기 위한 것이었다면, 사용자가 의도적으로 모음버튼 [ㅗ]를 피해서 (예. 1번째 행의 모음 또는 3번째 행의 모음으로 드래그를 진행하였다가) [ㅏ]버튼까지 드래그하고 다시 자음버튼으로 드래그하면 된다.
우리 한글은 "초성+중성" (즉, "자음+모음")으로 이루어진 음절(자모결합글자)이 있고, "초성+중성+종성" (즉, "자음+모음+자음")으로 이루어진 음절(자모결합글자)가 있다. "초성+중성"의 경우 모음버튼에서 드래그가 종료되므로 문제가 훨씬 간단해 진다. 최종드래그된 모음버튼을 유효한 버튼으로 간주하여 처리하고, 더불어 그 최종드래그된 모음버튼과 이중모음을 이룰 수 있는 경우는 그 이중모음을 인식하면 된다. 즉 "초성+중성"으로 이루어진 글자를 입력하기 위하여 사용자가 자음버튼에서 드래그를 시작하여 모음버튼에서 드래그가 종료된 경우는 모음버튼의 위치(예. 최우측모음)에 상관없이 최종드래그된 모음버튼을 최우측모음인 것으로 처리하면 된다.
한글쿼티자판과 같이 좌측에 자음버튼그룹이 있고, 우측에 모음버튼그룹이 있는 경우는 설명한 바와 같이 최우측모음을 유효한 모음버튼으로 간주하는 것이 타당하다. 그러나 자음버튼에 면(面)으로 인접하지 않은 모음버튼그룹이 상측에 있는 경우는 최상측모음을, 하측에 있는 경우는 최하측모음을, 좌측에 있는 경우는 최좌측모음을 유효한 모음버튼으로 처리하는 것이 타당함은 당연하다. 이러한 최우측모음, 최좌측모음, 최상측모음, 최하측모음 등을 통칭하여 "최말단모음" (좀 더 정확히는 "드래그된 최말단모음버튼" 또는 "최말단모음버튼") 이라고 하기로 하며, 본 실시예에서는 편의상 "최우측모음"이라는 용어를 그대로 사용한다.
도면20-2와 같이 드래그된 경우를 살펴본다. 3번째행의 모음(예. "ㅜ")과 2번째행의 모음(예. "ㅣ")은 이중모음을 형성할 수 있고, 3번째행의 모음(예. "ㅜ")과 1번째 행의 모음(예. "ㅔ")는 이중모음을 형성할 수 있다. 도면20-2의 처음 드래그된 모음버튼부터 마지막으로 드래드된 모음버튼까지의 버튼궤적은 [...→ ㅗ → ㅠ → ㅜ → ㅡ → ㅏ → ㅣ → ㅔ → ...] 이다. "ㅗ+ㅣ", "ㅜ+ㅣ", "ㅜ+ㅔ"를 놓고보면, 사용자가 "ㅚ"를 입력하고자 하였던 것인지, "ㅟ"를 입력하고자 하였던 것인지, "ㅞ"를 입력하고자 하였던 것인지 판단하기 어렵다. 그러나, 최우측모음이 "ㅔ" 이므로 "ㅔ"에 앞에서 결합될 수 있는 모음 "ㅜ"와 함께 "ㅞ"를 입력하고자 하였던 것으로 판단할 수 있게 된다. 도면20-2의 결과는 "웩"이 인식된다. 만약 위의 버튼궤적에서 최우선모음인 "ㅔ"와 결합될 수 있는 이중모음이 없었다면 "ㅔ"가 유효한 버튼으로 처리됨은 당연하다.
현재 스마트폰에서 단어사전을 이용하여 추천단어의 리스트를 띄워주는 테크닉은 광범위하게 사용되고 있다. 만약 단어사전에 "우위", "우웩", ... 등의 단어가 저장되어 있었다고 가정하고, 도면20-2의 드래그가 일어나기 전에 기 입력된 글자가 "우" 였다면, 도면20-2의 드래그를 "위"와 "웩"으로 해석하여 "우위"와 "우웩"을 추천단어 리스트에 띄워주는 것도 가능하다. 사용자가 "우위"를 입력하려는 과정에서 좀더 길게 드래그가 일어나서 최우측모음인 [ㅔ]버튼까지 드래그된 것으로 볼 수도 있기 때문이다. 이는 단어사전에 "우위"가 있음을 전제로 하며, 비록 최우측모음 또는 최우측모음과 결합될 수 있는 이중모음이 아니더라도, 인식될 수 있는 다수의 후보 모음들 중에서 단어사전에 있는 단어를 형성하는 모음은 사용자가 입력하고자 의도하였던 모음으로 해석하여 사용자에게 선택권을 부여하는 것이다. 만약 단어사전이 없거나 단어사전이 있더라도 단어사전에 "우위"가 없다면, 최우측모음인 "ㅔ"에 근거하여 도면20-2의 결과를 "웩"으로 인식하고 출력하는 것이 타당할 것이다.
이미 설명한 것처럼 쿼티한글자판에서 대체적으로 우측의 모음과 좌측의 모음이 이중모음을 이루지 않는 성질은, 사용자가 이중모음을 드래그하여 입력할 때, 좌측에서 우측으로 드래그하면서 이중모음을 이루는 모음을 드래그하면 되는 좋은 특성을 제공한다. 도면20-2에서와 같이 사용자가 모음 "ㅞ"를 입력하기 위하여 [...→ ㅜ → ... → ㅔ → ...] 와 같이 드래그하고 종성자음 "ㄱ"을 입력하기 위하여 좌측의 자음버튼쪽으로(즉, 우측에서 좌측으로) 쓸고 지나갈때의 모음들은 대체로 최우측모음과 합하여 이중모음을 형성하지 않는 좋은 특성을 가진다는 의미이다.
도면20-3은 쿼티한글자판 상단의 10개의 열에 맞추어 작은 높이로 좌측에서 우측으로 DB1 ~ DB10 의 10개 가짜버튼을 둔 사례이다. 도면20-3 등의 쿼티한글자판에서 자음버튼과 면(面)으로 인접한 모음버튼은 [ㅛ]버튼, [ㅗ]버튼, [ㅠ]버튼의 3개 버튼이다. 그러나 도면20-3과 같이 가짜버튼 영역을 통하거나 자판외부로 우회하여 그래그할 수 있게 하면 1번째 행의 모음(예. "ㅕ", "ㅑ", "ㅐ", "ㅔ")은 자음버튼에서 다른 모음버튼을 거치지 않고 특정 모음(예. "ㅑ")으로 직접 드래그될 수 있다. 3번째 행의 모음(예. "ㅜ", "ㅡ") 역시 [스페이스]버튼, [Enter]버튼, [백스페이스]버튼 등의 기능버튼 영역을 통하여 자음버튼에서 특정모음(예. "ㅜ")으로 직접 드래그 될 수 있다. 자음버튼과 면으로 인접하지 않은 모음버튼의 경우도 특정 모음버튼으로 직접 드래그할 수 있는 우회수단이 있으면 자음버튼과 인접하여 있는 것과 유사한 효과가 있다. 단 [ㅓ]버튼, [ㅏ]버튼과 같이 완전히 모음으로만 둘러쌓인 모음버튼의 경우는 본 발명의 핵심사상의 적용이 필요하며, 완전히 모음버튼으로만 둘러쌓인 모음버튼이 아닌 경우라도 사용자가 우회하여 드래그하지 않는 경우는 본 발명의 핵심사상(최우측모음을 유효한 모음버튼으로 처리)을 적용하면 된다.
도면20-3과 같이 가짜버튼 영역을 두지 않더라도 문자입력시스템내에 단어 색인을 가지고 있으면서, 자판 상단에 추천단어리스트를 제공하는 "추천단어영역" 이 제공되는 경우에는 이 추천단어영역을 가짜버튼영역처럼 사용하면 된다. 단어추천기능은 Windows 또는 웹브라우저 주소창에서의 "자동완성기능"과 유사한 것으로 추천단어영역은 자동완성 후보 리스트를 띄워주는 영역이라고 생각하면 되며, 이는 현재 스마트폰 등의 문자입력기 어플에서 광범위하게 사용되고 있으므로 도면에 의한 사례제시는 하지 않는다.
[ㅐ]버튼에 연관되어 있는 "ㅒ", [ㅔ]버튼에 연관되어 있는 "ㅖ"는 회귀드래그에 의하여 입력할 수 있음을 설명하였다. "ㅒ"를 입력하는데 있어서 혼동이 없고 가장 쉬운 방법은, 도면20-3에서 [...→ DB9 → ㅐ → DB9 → ㅐ → ...] 으로 드래그하는 것이다. "ㅖ"의 경우도, [...→ DB10 → ㅔ → DB10 → ㅔ → ...] 로 드래그하여 "ㅖ"를 입력할 수 있다. 그래그 궤적에 의한 도면은 생략한다.
그러나 회귀드래그는 동일한 버튼이 2번 출현하는 특징을 가지고 있으므로, 가짜버튼 DBx 를 사용하지 않고도 용이하게 식별이 가능하다. 도면20-4의 버튼궤적은 [...→ ㅐ → ㅏ → ㅑ → ㅐ → ㅏ → ...] 이다. [ㅐ]버튼이 2번 나오므로 [ㅐ]버튼에 대해 회귀드래그가 이루어졌음을 알 수 있고, [ㅏ]버튼이 2번 나오므로 [ㅏ]버튼에 대해 회귀드래그가 이루어졌음을 쉽게 알 수 있다. 사용자가 의도한 중성모음이 "ㅒ" 인 것은 2가지로 판단이 가능하다. 첫번째로 한글쿼티자판에서 [ㅏ]버튼에 연관된 알파벳이 정의되어 있지 않으므로 [ㅏ]버튼의 회귀드래그가 특정모음으로 정의되어 있지 않다. 예를 들어 "X(특정 알파벳) = 기능버튼(shift) + ㅏ" 또는 "X(특정 알파벳) = ㅏㅏ" 로 정의되어 있지 않다는 것이다. 두번째로 [ㅏ]버튼의 회귀드래그가 특정모음의 입력으로 정의되어 있더라도, "ㅐ"와 "ㅏ" 중에서 최우측모음이 [ㅐ]버튼이므로 사용자가 의도한 모음은 "ㅒ" 인 것을 시스템이 판단할 수 있다. 가장 명확한 것은 [ㅐ]버튼 회귀드래그가 [ㅏ]버튼의 회귀드래그보다 먼저 이루어졌으므로 사용자가 의도한 알파벳이 "ㅒ"임을 판단할 수 있다. [..→ ㅐ → X → ... → ㅐ → ...] 로 [ㅐ]버튼의 회귀드래그가 끝나고나서 [ㅏ]버튼에 대한 회귀드래그가 별도로 더 이루어진 것이 아니라, [ㅐ]버튼의 회귀드래그를 위하여 주변버튼이 드래그되는 과정에서 우연히 [ㅏ]회귀드래그가 이루어진 것이다. 도면20-4의 결과는 "걜"이 인식된다.
상기 설명은 도면19-28의 팬택사 한글자판 사례에서도 유사하게 나타난다. 도면19-30사례에서 모음 "ㅏ"를 입력하기 위하여 "ㅏ"와 결합할 수 있는 [ㅣ]버튼을 지나지 않고, "ㅏ"와 결합할 수 없는 "ㅓ"버튼을 지나서 드래그 되었다. 도면19-30과 같이 최우측모음이 다수(도면19-30에서 "ㅏ", "ㅓ")인 경우는, 그 다수의 최우측모음 중에서 어느 최우측모음을 유효한 모음버튼으로 할 것인지를 정하는 것이 필요하다. 도면19-29의 사례에서는 [ㅏ]버튼에 대해 회귀드래그가 일어났으므로 사용가 의도한 모음버튼이 [ㅏ]버튼 (즉, 인식결과 모음은 "ㅑ")임을 명확히 알 수 있다. 도면19-30의 사례에서는 드래그된 최우측모음(예. [ㅏ]버튼, [ㅓ]버튼) 중에서 첫번째로 드래그된 최우측모음을 유효한 버튼으로 처리한 사례이다. 이렇게 드래그된 최우측모음이 다수인 경우 최우측모음 중에서 첫번째 최우측모음을 유효한 버튼으로 처리하는 것은 타당성을 가진다. 다수의 최우측모음이 있을 경우 사용자는 의도한 모음으로 드래그를 진행하기 위한 다양한 수단(예. 가짜버튼, 기능버튼, 버튼외부, 쿼티한글자판에서 1행에서 2행으로 드래그, ...)을 통하여 입력을 의도한 모음으로 드래그할 수 있기 때문이다.
본 발명에서 팬택사 한글자판 및 한글쿼티자판의 사례를 통하여 자음버튼과 면(面)으로 접하지 않은 모음버튼을 가지고 있는 경우에 연속 드래그에 의하여 모음을 인식하는 것을 보였다. 현재 터치스크린 상에서 다양한 형태의 자판이 선보이고 있는데 본 발명의 사상(예. 최우측모음을 유효한 모음버튼으로 간주)은 다른 자판에도 동일하게 적용될 수 있음은 자명하다. 다른 자판의 한가지 예를 더 들면 구글社의 단모음자판의 사례를 들 수 있다. 쿼티한글자판에서 "ㅑ", "ㅕ", "ㅛ", "ㅠ"가 빠져 있어, 쿼티한글자판이 10열 자판임에 비하여 8열자판으로 구성되어 있다. "ㅑ = ㅏㅏ", "ㅕ = ㅓㅓ", "ㅛ = ㅗㅗ", "ㅠ = ㅜㅜ" 로 입력하므로 [ㅏ]버튼, [ㅓ]버튼, [ㅗ]버튼, [ㅜ]버튼에 각각 "ㅑ", "ㅕ", "ㅛ", "ㅠ" 가 연관되어 있음을 알 수 있다. 이는 쿼티한글자판에서 [ㅐ]버튼, [ㅔ]버튼에 "ㅒ", "ㅖ"가 각각 연관되어 있는 것과 같으며, 쿼티한글자판의 "ㅒ" 입력사례를 참고하면 된다. 현재 널리 알려져 있는 자판이므로 도면제시는 생략한다. 주로 이중모음의 뒷모음을 형성하는 "ㅣ"가 2번째 행의 가장 우측에 위치한 점 역시 쿼티한글자판과 유사한 성질을 가진다. 구글社의 단모음자판 또한 최우측모음을 유효한 버튼으로 처리하는 것 역시 같은 원리로 쿼티한글자판에서 설명한 바와 같으므로 사례 제시는 생략한다.
상기 내용을 단계로 정리하면 다음과 같다.
스크린(액정)상의 다수의 자음버튼과 다수의 모음버튼을 격자형으로 밀집하여 구비하는 자판에서, 터치(또는 마우스 클릭) 상태에서 끊어지지 않고 연속하여 버튼들을 드래그하는 드래그동작에 의하여 한국어 글자(자음, 모음, 자모결합글자, 단어 또는 구절)를 입력하는 방법에 있어서,
상기 자판에는 자음버튼과 면(面)으로 접하지 않은 모음버튼이 하나 이상 존재하며,
(a) 드래그된 최초 모음버튼과 중간에 드래그된 버튼과 드래그된 마지막 모음버튼을 인식하는 단계
(b) 상기 드래그된 버튼들 중에서 자음버튼그룹에서 가장 멀리 있는 최말단모음을 유효한 모음버튼으로 인식하는 단계
(c) 상기 드래그된 버튼들 중에서 상기 유효한 모음버튼으로 인식된 모음와 결합하여 이중모음이 형성되는지 판단하는 단계
로 글자가 입력되는 것을 특징으로 하는 스크린(액정) 자판상에서의 연속 드래그에 의한 한국어 글자 입력방법
1. 하나의 버튼에 5개 미만의 알파벳에 배치된 버튼에서의 방향성드래그에 의한 입력방법 및 그 장치
1.1 발명의 배경 및 방향성 드래그에 의한 기존의 알파벳 입력방법 요약
출원인의 선출원 도면16-4에서 하나의 버튼에 5개의 알파벳(예. あ, い,う, え, お)이 연관 또는 배정되어있을 때, 대표알파벳(예. あ) 또는 기준알파벳(예. あ)은 해당 버튼 한번 누름으로 입력하고, 나머지 알파벳을 각각 상/하/좌/우 4방향 드래그에 의하여 입력하는 방법이 있었음을 소개하였고, 현재도 안드로이드 OS와 같은 터치스크린 단말기환경에서 사용되고 있다. 50음도체계인 일본어 알파벳의 경우, 도면16-4에서와 같이 대표알파벳만을 표기하고 나머지 알파벳(예. い,う, え, お)을 표기하지 않는 것도 가능하지만, 실제로는 도면21aa과 같이 5개의 알파벳이 모두 표기되어 사용되기도 한다. 대표알파벳(예. あ)을 제외한 나머지 알파벳의 입력은 기존의 도면 16-4 또는 21ab와 같이 상/하/좌/우 방향의 드래그에 의하여 이루어진다.
도면21aa를 보면, 5개의 알파벳이 3행으로 十(열 십)자 또는 +(더하기)의 형태로 배열되고, 중앙에 대표알파벳 또는 기준알파벳이 배치되고, 상/하/좌/우 위치에 나머지 알파벳(예. い,う, え, お)이 배치되어 있는 것을 알 수 있다. 이를 도식화하여 표현하면 도면21ac와 같다. 대표알파벳 또는 기준알파벳이 배치되는 위치는 굵은 동그라미(내부에 1st표기)로 표시하였는데, 이는 설명의 이해를 돕기 위한 것이다. 각 버튼에 5개의 알파벳이 배정되는 경우, 도면21ad에서 보여주듯, 하나의 버튼안에 3개의 행(줄)으로 표기됨을 알 수 있다.
영어권에서 쿼티자판과 같이 26키를 구비한 경우가 아닌 자판(예. 1,2,3..0,*,# 이 구비되는 12키 숫자자판)에서는 2개 이상의 알파벳이 하나의 버튼에 배정되어야 한다. 현재까지는 주로 일본어권에서 하나의 버튼에 연관된 5가지 알파벳을 十(열 십)자 형태로 배치하거나 또는 대표알파벳만을 배치하고, 상/하/좌/우 4방향의 드래그에 의하여 4가지 알파벳을 입력하는 것만이 제시되어 있었고, 하나의 버튼에 3개의 알파벳이 배치(예. [abc])되거나 또는 4개의 알파벳이 배치(예. [pqrs])되는 등 5개 미만의 알파벳이 배치되는 경우의 알파벳배치 및 방향성드래그입력은 제시되지 않고 있다. 그 이유는 3개 또는 4개의 알파벳을 배치할 경우 방향성드래그입력에 최적화된 잘 균형된 알파벳배치와 그 배치에 따른 직관적인 방향성드래그입력을 아무도 제시하지 못하였기 때문으로 보인다.
본 발명에서는 하나의 버튼에 5개 미만(특히 3개, 4개)의 알파벳이 배치되는 경우의 알파벳배치 방법 및 방향성드래그입력방법에 대한 출원인의 생각과 아이디어를 정리하여 문헌으로 남기고자 하며, 본 발명의 사상은 언어에 상관없이 모든 언어에 대하여 적용이 가능하다.
1.1 2개의 알파벳이 배치되는 경우의 알파벳배치 및 드래그입력 방법
좌우로 2개의 알파벳이 배치되며, 좌측의 알파벳이 대표알파벳(1st) 또는 기준알파벳(1st)인 경우, 도면 21ba와 같이 버튼내에서 배치된다. 대표알파벳은 해당 버튼 1번 누름으로 입력되며, 2nd 위치의 알파벳은 도면21bb에서 보여주듯이 해당 버튼에서 시작하여 우측드래그에 의하여 입력될 수 있다.
특정 방향으로의 드래그를 판별하는 것은 이미 선출원에서 간단히 설명하였고, 업계에서 광범위하게 사용되고 있는 테크닉(프로그램 코딩상의 테크닉)이므로 더 이상의 자세한 언급은 피한다.
좌우로 2개의 알파벳이 배치되며, 우측의 알파벳이 대표알파벳(1st) 또는 기준알파벳(1st)인 경우, 도면 21bc와 같이 버튼내에서 배치되며, 2nd 위치의 알파벳은 도면21bd와 같이 좌측드래그에 의하여 입력된다. 이는 아랍어와 같이 우에서 좌로 가로쓰기를 하는 언어권에서 유용할 것이다. 이?게 우측의 알파벳을 대표알파벳 또는 기준알파벳으로 두는 것은 아래에서 설명하는 하나의 버튼에 3개 또는 4개의 알파벳이 배치되는 경우에도 유사하게 적용할 수 있음을 미리 밝힌다.
드물겠지만, 상하로 2개의 알파벳이 배치, 상측의 알파벳이 대표알파벳(1st) 또는 기준알파벳(1st)인 경우, 도면 21be와 같이 버튼내에서 배치되며, 2nd 위치의 알파벳은 도면21bf와 같이 좌측드래그에 의하여 입력된다.
이상의 사례에서 대표알파벳(1st) 또는 기준알파벳(1st)의 위치과 상대적인 배열에 따라 나머지 알파벳(예. 2nd)을 직관적으로 드래그입력할 수 있음을 간단히 보였고, 이상으로 아래 설명을 위한 "몸풀기" 단계를 설명하였다.
1.2 3개의 알파벳이 배치되는 경우의 알파벳배치 및 드래그입력 방법
3개 알파벳의 삼각형 알파벳배치 및 드래그입력 방법
도면21ca는 3개의 알파벳이 삼각형으로 배치되었을 때의 사례를 보여준다. 대표알파벳(1st) 또는 기준알파벳(1st)는 해당 버튼 1번 누름으로 입력되며, 2nd, 3rd 위치의 알파벳은 도면21cb와 같이 직관적으로 각각 좌측드래그 및 우측드래그로 입력될 수 있다.
다음으로 동일한 배치에서 조금 다른 방향의 드래그입력 사례를 보인다. 대표알파벳(1st) 또는 기준알파벳(1st)에 대하여 2nd위치의 알파벳은 좌하측에 위치하므로, 2nd위치의 알파벳은 좌하향사선드래그로 입력되고, 기준알파벳(1st)에 대하여 3rd위치의 알파벳은 우하측에 위치하므로, 3rd 위치의 알파벳은 우하향사선드래그로 입력되도록 할 수 있다. 도면으로 표시하면 도면21cc와 같다.
2nd위치의 알파벳 입력에 대하여 좌측드래그 및 좌하향사선드래그 중 한가지 이상을 적용할 수 있고, 3rd 위치의 알파벳 입력에 대하여 우측드래그 및 우하향사선드래그 중 한가지 이상을 적용할 수 있다. 이를 표현하면 도면21cd와 같다.
도면21ca ~ 도면21cd를 정리하면 아래와 같다.
하나의 버튼에 다수의 알파벳이 연관 또는 배열되어 있는 키패드에서 방향성드래그에 의하여 알파벳을 입력하는 방법에 있어서,
하나의 버튼에 삼각형 꼭지점의 위치에 3개의 알파벳이 각각 배치되며,
삼각형의 꼭지점 위치중의 하나인 1째줄에 배치되는 대표알파벳(1st) 또는 기준알파벳(1st)는 해당 버튼 1번누름으로 입력되며,
기준알파벳(1st)에 대하여 좌하측에 위치하는 알파벳은 좌측드래그 또는 좌하향사선드래그 중 한가지 이상의 방법으로 입력되며,
기준알파벳(1st)에 대하여 우하측에 위치하는 알파벳은 우측드래그 또는 우하향사선드래그 중 한가지 이상의 방법으로 입력되는 것
을 특징으로 하는 키패드에서의 방향성드래그에 의한 알파벳 입력방법
3개 알파벳의 역삼각형 알파벳배치 및 드래그입력 방법
도면21ce는 3개의 알파벳이 역삼각형으로 배치되었을 때의 사례를 보여준다. 우측드래그 및 하측드래그에 의하여 각각 2nd 위치의 알파벳 및 3rd 위치의 알파벳을 입력하는 사례를 보이면 도면21cf와 같다.
2nd위치의 알파벳은 대표알파벳(1st) 또는 기준알파벳(1st)에 대하여 좌하측에 위치하므로, 도면21cg에서와 같이 좌하향사선드래그에 의하여 입력될 수도 있다.
마찬가지로 2nd위치의 알파벳에 대해서는 하측드래그 또는 좌하향사선드래그 중의 한가지 이상에 의하여 입력되도록 할 수 있다. 이를 표현하면 도면21ch와 같다.
아랍어와 같이 우에서 좌로 가로쓰기를 하는 문화권에서는, 도면21ci와 같이 대표알파벳(1st) 또는 기준알파벳(1st)이 1번째줄 우측에 위치되도록 할 수 있다. 도면21ci에서의 입력방법은 상기 도면21cf ~ 도면21ch의 설명과 유사하므로, 더 이상의 자세한 설명은 생략한다.
도면21cj는 역삼각형 배치의 변형사례로 좌직각역삼각형으로 배치한 사례이며, 이 경우의 입력방법은 도면21ck와 같다. 도면21cl은 역삼각형배치의 변형사례로 우직각역삼각형으로 배치한 사례이며, 이 경우의 입력방법은 도면21cm과 같다.
도면21ce ~ 도면21ch를 정리하면 아래와 같다.
하나의 버튼에 다수의 알파벳이 연관 또는 배열되어 있는 키패드에서 방향성드래그에 의하여 알파벳을 입력하는 방법에 있어서,
하나의 버튼내에 역삼각형 꼭지점 위치에 3개의 알파벳이 배치되며,
역삼각형의 꼭지점 위치중의 하나인 1째줄 좌측에 배치되는 대표알파벳(1st) 또는 기준알파벳(1st)는 해당 버튼 1번누름으로 입력되며,
기준알파벳(1st)에 대하여 우측에 위치하는 알파벳은 우측드래그에 의하여 입력되며,
기준알파벳(1st)에 대하여 우하측에 위치하는 알파벳은 하측드래그 또는 우하향사선드래그 중 한가지 이상의 방법으로 입력되는 것
을 특징으로 하는 키패드에서의 방향성드래그에 의한 알파벳 입력방법
1.3 4개의 알파벳이 배치되는 경우의 알파벳배치 및 드래그입력 방법
4개 알파벳의 마름모(다이아몬드)형 알파벳배치 및 드래그입력 방법
하나의 버튼에 4개의 알파벳을 마름모(다이아몬드)형으로 배치하였을 경우의 사례는 도면da와 같다. 해당 버튼 1번 누름으로 입력되는 대표알파벳(1st) 또는 기준알파벳(2nd)을 제외한 2nd, 3rd, 4th위치의 알파벳은 해당 위치에 따라, 도면21db에서와 같이 각각 좌측드래그, 우측드래그, 하측드래그로 입력할 수 있다.
2nd위치의 알파벳과 3rd위치의 알파벳은 대표알파벳(1st) 또는 기준알파벳(1st)에 대하여 각각 좌하측 및 우하측에 위치하고 있으므로, 도면21dc에서와 같이 각각 좌하향사선드래그 및 우하향사선드래그로 입력될 수도 있다.
마찬가지로 2nd위치의 알파벳은 좌측드래그 또는 좌하측향사선드래그 중 한가지 이상의 방법으로 입력될 수 있고, 3rd위치의 알파벳은 우측드래그 또는 좌하측드래그 중 한가지 이상의 방법으로 입력될 수 있다. 이를 도면으로 나타내면 도면21dd와 같다.
도면21da ~ 도면21dd를 정리하면 아래와 같다.
하나의 버튼에 다수의 알파벳이 연관 또는 배열되어 있는 키패드에서 방향성드래그에 의하여 알파벳을 입력하는 방법에 있어서,
하나의 버튼에 마름모(다이아몬드)꼴 꼭지점의 위치에 4개의 알파벳이 각각 배치되며,
마름모의 꼭지점 위치중의 하나인 1째줄에 배치되는 대표알파벳(1st) 또는 기준알파벳(1st)는 해당 버튼 1번누름으로 입력되며,
기준알파벳(1st)에 대하여 좌하측에 위치하는 알파벳은 좌측드래그 또는 좌하향사선드래그 중 한가지 이상의 방법으로 입력되며,
기준알파벳(1st)에 대하여 우하측에 위치하는 알파벳은 우측드래그 또는 우하향사선드래그 중 한가지 이상의 방법으로 입력되며,
기준알파벳(1st)에 대하여 하측에 위치하는 알파벳은 하측드래그로 입력되는 것
을 특징으로 하는 키패드에서의 방향성드래그에 의한 알파벳 입력방법
보통 10개의 숫자와 *, #을 포함하는 12키에서의 버튼은, 도면21* 에서와같이 버튼의 좌우넓이가 상하높이보다 약간 더 큰 직사각형으로 되는 경우가 많다. 마름모형 알파벳배치의 경우 도면21de와 같이 시각적으로 3개의 라인(느낌으로는 약 2.5라인 정도)으로 표기되게 되며, 아래의 평행사변형 알파벳배치에서 2개의 라인으로 알파벳을 배치할 수 있음을 보인다.
4개 알파벳의 평행사변형 알파벳배치 및 드래그입력 방법
하나의 버튼에 4개의 알파벳을 평행사변형으로 배치하였을 경우의 사례는 도면df와 같다. 2nd, 3rd, 4th 위치의 알파벳을 각각 해당 위치에 따라 수평/수직 방향으로의 방향성드래그입력을 적용하면 도면 21dg와 같다.
3rd 위치의 알파벳과 4th 위치의 알파벳은 대표알파벳(1st) 또는 기준알파벳(1st)에 대하여 각각 좌하측 그리고 우하측에 위치하고 있으므로, 도면21dh에서와 같이 각각 좌하향사선드래그 및 우하향사선드래그로 입력되도록 할 수 있다.
도면21di 는 2nd위치의 알파벳은 좌측드래그 또는 좌하향사선드래그 중 한가지 이상으로, 3rd위치의 알파벳은 하측드래그 또는 우하향사선드래그 중 한가지 이상으로 입력할 수 있음을 보여준다.
마름모형 알파벳배치에 비하여 평행사변형 알파벳배치는 도면21dj에서와 같이 2개의 라인으로 알파벳을 배치할 수 있다.
아랍어와 같이 우에서 좌로 가로쓰기를 하는 문화권에서는 도면21dk에서와 같이 1째줄 우측에 대표알파벳(1st) 또는 기준알파벳(1st)이 배치되는 평행사변형 알파벳 배치가 가능하다. 도면21dk에서의 드래그입력방법은 도면21dg ~ 21di 에서 쉽게 유추할 수 있으므로 자세한 설명은 생략한다.
도면21df ~ 도면21di를 정리하면 아래와 같다.
하나의 버튼에 다수의 알파벳이 연관 또는 배열되어 있는 키패드에서 방향성드래그에 의하여 알파벳을 입력하는 방법에 있어서,
하나의 버튼에 평행사변형 꼭지점의 위치에 4개의 알파벳이 각각 배치되며,
평행사변형의 꼭지점 위치중의 하나인 1째줄 좌측에 배치되는 대표알파벳(1st) 또는 기준알파벳(1st)는 해당 버튼 1번누름으로 입력되며,
기준알파벳(1st)에 대하여 우측에 위치하는 알파벳은 우측드래그로 입력되며,
기준알파벳(1st)에 대하여 좌하측에 위치하는 알파벳은 좌측드래그 또는 좌하향사선드래그 중 한가지 이상의 방법으로 입력되며,
기준알파벳(1st)에 대하여 우하측에 위치하는 알파벳은 하측드래그 또는 우하향사선드래그 중 한가지 이상의 방법으로 입력되는 것
을 특징으로 하는 키패드에서의 방향성드래그에 의한 알파벳 입력방법
.

Claims (4)

  1. 하나의 버튼에 다수의 알파벳이 연관 또는 배열되어 있는 키패드에서 방향성드래그에 의하여 알파벳을 입력하는 방법에 있어서,
    하나의 버튼에 삼각형 꼭지점의 위치에 3개의 알파벳이 각각 배치되며,
    삼각형의 꼭지점 위치중의 하나인 1째줄에 배치되는 대표알파벳(1st) 또는 기준알파벳(1st)는 해당 버튼 1번누름으로 입력되며,
    기준알파벳(1st)에 대하여 좌하측에 위치하는 알파벳은 좌측드래그 또는 좌하향사선드래그 중 한가지 이상의 방법으로 입력되며,
    기준알파벳(1st)에 대하여 우하측에 위치하는 알파벳은 우측드래그 또는 우하향사선드래그 중 한가지 이상의 방법으로 입력되는 것
    을 특징으로 하는 키패드에서의 방향성드래그에 의한 알파벳 입력방법
  2. 하나의 버튼에 다수의 알파벳이 연관 또는 배열되어 있는 키패드에서 방향성드래그에 의하여 알파벳을 입력하는 방법에 있어서,
    하나의 버튼내에 역삼각형 꼭지점 위치에 3개의 알파벳이 배치되며,
    역삼각형의 꼭지점 위치중의 하나인 1째줄 좌측에 배치되는 대표알파벳(1st) 또는 기준알파벳(1st)는 해당 버튼 1번누름으로 입력되며,
    기준알파벳(1st)에 대하여 우측에 위치하는 알파벳은 우측드래그에 의하여 입력되며,
    기준알파벳(1st)에 대하여 우하측에 위치하는 알파벳은 하측드래그 또는 우하향사선드래그 중 한가지 이상의 방법으로 입력되는 것
    을 특징으로 하는 키패드에서의 방향성드래그에 의한 알파벳 입력방법
  3. 하나의 버튼에 다수의 알파벳이 연관 또는 배열되어 있는 키패드에서 방향성드래그에 의하여 알파벳을 입력하는 방법에 있어서,
    하나의 버튼에 마름모(다이아몬드)꼴 꼭지점의 위치에 4개의 알파벳이 각각 배치되며,
    마름모의 꼭지점 위치중의 하나인 1째줄에 배치되는 대표알파벳(1st) 또는 기준알파벳(1st)는 해당 버튼 1번누름으로 입력되며,
    기준알파벳(1st)에 대하여 좌하측에 위치하는 알파벳은 좌측드래그 또는 좌하향사선드래그 중 한가지 이상의 방법으로 입력되며,
    기준알파벳(1st)에 대하여 우하측에 위치하는 알파벳은 우측드래그 또는 우하향사선드래그 중 한가지 이상의 방법으로 입력되며,
    기준알파벳(1st)에 대하여 하측에 위치하는 알파벳은 하측드래그로 입력되는 것
    을 특징으로 하는 키패드에서의 방향성드래그에 의한 알파벳 입력방법
  4. 하나의 버튼에 평행사변형 꼭지점의 위치에 4개의 알파벳이 각각 배치되며,
    평행사변형의 꼭지점 위치중의 하나인 1째줄 좌측에 배치되는 대표알파벳(1st) 또는 기준알파벳(1st)는 해당 버튼 1번누름으로 입력되며,
    기준알파벳(1st)에 대하여 우측에 위치하는 알파벳은 우측드래그로 입력되며,
    기준알파벳(1st)에 대하여 좌하측에 위치하는 알파벳은 좌측드래그 또는 좌하향사선드래그 중 한가지 이상의 방법으로 입력되며,
    기준알파벳(1st)에 대하여 우하측에 위치하는 알파벳은 하측드래그 또는 우하향사선드래그 중 한가지 이상의 방법으로 입력되는 것
    을 특징으로 하는 키패드에서의 방향성드래그에 의한 알파벳 입력방법

KR1020170025822A 2017-02-27 2017-02-27 하나의 버튼에 5개 미만의 알파벳에 배치된 버튼에서의 방향성드래그에 의한 입력방법 및 그 장치 KR20180098964A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170025822A KR20180098964A (ko) 2017-02-27 2017-02-27 하나의 버튼에 5개 미만의 알파벳에 배치된 버튼에서의 방향성드래그에 의한 입력방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170025822A KR20180098964A (ko) 2017-02-27 2017-02-27 하나의 버튼에 5개 미만의 알파벳에 배치된 버튼에서의 방향성드래그에 의한 입력방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20180098964A true KR20180098964A (ko) 2018-09-05

Family

ID=63594857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170025822A KR20180098964A (ko) 2017-02-27 2017-02-27 하나의 버튼에 5개 미만의 알파벳에 배치된 버튼에서의 방향성드래그에 의한 입력방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR20180098964A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220081062A (ko) * 2020-12-08 2022-06-15 이대원 소프트웨어로 구현된 문자 입력 장치
WO2023177075A1 (ko) * 2022-03-17 2023-09-21 삼성전자주식회사 단말 장치 및 그 제어방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220081062A (ko) * 2020-12-08 2022-06-15 이대원 소프트웨어로 구현된 문자 입력 장치
WO2023177075A1 (ko) * 2022-03-17 2023-09-21 삼성전자주식회사 단말 장치 및 그 제어방법

Similar Documents

Publication Publication Date Title
KR101377763B1 (ko) 반복선택방법에서 길게누름에 의하여 초성자음이 인식되어 동일버튼에 연관 또는 배열된 자음의 연속입력이 가능한 키패드에서의 한국어 입력방법 및 그 장치
KR20180098964A (ko) 하나의 버튼에 5개 미만의 알파벳에 배치된 버튼에서의 방향성드래그에 의한 입력방법 및 그 장치
KR20180137443A (ko) 초성자음 및 종성자음 상태에 따라 순환식 및 비순환식으로 처리되는 키패드에서의 한국어 입력 방법
KR101973208B1 (ko) 왼손 자음입력 오른손 모음입력 및 옛한글 자모 입력을 위한 키보드 입력방법 및 그 장치
KR101869229B1 (ko) 한국어 자모결합글자에서의 좌우나열 또는 상하나열 자모 표기 및 입력방법
KR101844066B1 (ko) 비순환식 반복선택방법에 의한 키패드에서의 한국어를 포함한 알파벳 입력방법 및 그 장치
KR20180123994A (ko) 초성자음 및 종성자음 상태에 따라 순환식 및 비순환식으로 처리되는 키패드에서의 한국어 입력 방법
KR101377892B1 (ko) 단어 또는 구절의 일부를 각각 풀입력방법 및 단축입력방법으로 처리하는 키패드에서의 한국어 입력방법
KR20180112753A (ko) ㅏ, ㅑ, ㅓ, ㅕ, ㅗ, ㅛ, ㅜ, ㅠ, ㅡ, ㅣ의 10개 한국어 모음을 삭제단위로 하는 키패드에서의 한국어 입력글자 삭제 방법 및 그 장치
KR101304352B1 (ko) 스크린 자판상에서 연속된 방향성드래그에 의한 한국어 음절 입력 방법
KR20180033491A (ko) 키패드에서의 인지단위에 의한 입력글자 삭제 및 삭제후 한국어 글자조합 방법 및 그 장치
KR101355377B1 (ko) 스크린 자판상에서의 끊어지지 않는 연속된 드래그에 의한 한국어 음절 입력방법
KR20150087766A (ko) 스크린 자판상에서의 회귀드래그를 이용한 연속된 드래그에 의한 한국어 음절 입력방법
KR20150040724A (ko) 키패드에서의 알파벳 입력방법 및 그 장치
KR100974971B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR100655720B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20230112581A (ko) 스크린 자판에서의 한국어음절글자 입력 방법 및 그 장치
KR20090077086A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20200110260A (ko) 스크린 자판에서의 한국어음절글자 입력 방법 및 그 장치
KR101275365B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR101139973B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR101106398B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20130030344A (ko) 키패드에서의 알파벳 입력방법 및 그 장치
KR20120127691A (ko) 키패드에서의 알파벳 입력방법 및 그 장치
KR101086969B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal