Abstract:
A text to input character by character is looked up in a dictionary to determine a unique line of text for the unique word with the same leading part as the input text. If successful, the remainder of the word is supplemented from the dictionary.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    This invention relates to a text input method for an electronic data and word processing systems, and personal information systems including a handwritten character recognition function.  
           [0003]    2. History of the Prior Art  
           [0004]    The conventional system to lower the burden of text input has a way of using an abbreviation of the word being frequently used as well as a shorhand that assign a single character to a longer line of text or commands.  
           [0005]    However, it is inconvenient in that such way should get a person remember each of the abbreviation and shorthand and the expectation to increase the input performance depends on each person&#39;s mnemonics.  
           [0006]    Present invention was made to improve the above-mentioned defect of conventional systems, providing an efficient way to use it without particular skill.  
         SUMMARY OF INVENTION  
         [0007]    Present invention has a dictionary to find a unique word in comparison with the word data input, character by character, and automatically supplements the remaining part of the word data input with those from the dictionary if the dictionary has the unique one with the same leading part as the word data in the input buffer. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWING  
       [0008]    [0008]FIG. 1 is a flowchart for the entire process of the present invention method.  
         [0009]    [0009]FIG. 2 and FIG. 3 are examples of the dictionary to use by the invention method.  
     
    
     DETAILED DESCRIPTION  
       [0010]    By the way of example, the method of the present invention is described in a flowchart in FIG. 1.  
         [0011]    In FIG. 1, A 001  is the first step to clear the contents of the program counter, flag, and the working area.  
         [0012]    A 002  accepts a word data from input means, character by character.  
         [0013]    A 003  checks if the input is the end of text code, and goes to the stop point of this process if it is the end. Otherwise, the step proceeds to the next A 003 A.  
         [0014]    A 003 A tests if the none flag is ON which means that there is no word in the dictionary with the same leading part as the word data input. And if ON, the step goes back to A 002 . If OFF, the step proceeds to A 003 B.  
         [0015]    A 003 B tests if the input is a word separator code. If it is the separator, A 003 C takes place to clear the contents of input buffer because of the termination of the word input and then the step goes back to A 002  for the next word input.  
         [0016]    A 004  arises if the input is not separator code at A 003 B and the input data is displayed at the end of text on the display.  
         [0017]    A 005  is the step to add the input data to the end of previous text in the input buffer memory.  
         [0018]    A 006  performs a dictionary search to know if the word data input is the same as the leading part of some line of text to represents unique word in the dictionary.  
         [0019]    A 006 A tests the result of the dictionary search at A 006 .  
         [0020]    In case of negative result, A 006 B takes place to turn on the none flag and goes back to A 002 . Affirmative result brings the process to the next A 007 .  
         [0021]    A 007  confirms if A 006  found a single one by testing the flag for the unique word. If not, the step goes back to A 002 .  
         [0022]    Otherwise, A 008  takes place in which the input text on the display is replaced with those of the unique word from the dictionary and then jumps to the step of A 002 .  
         [0023]    S 001  is an entry of the subprogram to search the unique line of text to represent the unique word in the dictionary. S 002  is to test if there is no more word to retrieve in the dictionary. If not so, the process goes to the next S 003 . Otherwise, it goes to the exit of this subprogram.  
         [0024]    S 003  gets the word located in the middle of the area between upper limit and lower limit in the dictionary.  
         [0025]    Next S 004  checks if the leading part of the word from dictionary is greater than that of word data input.  
         [0026]    If the greater flag is ON at S 004 , S 005  gets up to divide the retrieval area size into 2 to use the lower half are a for the next retrieval, as there is a possibility to find the unique word in the lower half area, because the dictionary word found at S 003  was greater than the word data input. Then, the step goes back to S 002 . If the greater than flag is OFF at S 004 , the step proceeds to S 006 .  
         [0027]    At S 006 , it is tested if the leading part of the word data from the dictionary is equal to that of the word data input.  
         [0028]    If equal, S 007  is performed to investigate if it is single.  
         [0029]    In case of a single word, next step S 008  turns on the flag for the unique word in the dictionary and goes to exit.  
         [0030]    If there are plural words, the step goes to S 012 .  
         [0031]    If not equal at S 006 , the step proceeds to S 009  in which the testing is made if the leading part of the word data from the dictionary is less than that of the word data input.  
         [0032]    If the less than flag is ON after testing at S 009 , S 010  divides the retrieval area size into 2 to use the upper half area for the next retrieval, as there is a possibility to find the unique word in the upper half area because the dictionary word found at S 003  was less than that of word data input.  
         [0033]    If the less than flag is OFF at S 009 , there is something wrong with the procedure in the program and goes to the error procedure of S 011  which is not described here.  
         [0034]    Jumping here from S 007 , S 012  tries to find the word with the leading part greater than that of the word data input in the upper half of the retrieval area in the dictionary.  
         [0035]    At the next S 013 , the step goes to S 014  if no word was found, and goes to S 015  if found.  
         [0036]    S 014  sets new upper limit to retrieve in the dictionary using the position of the upper limit by which S 012  was attempted because the upper half area in this case is occupied by the word data with the leading part equal to that of the word data input. Then, the step goes back to A 002 .  
         [0037]    S 015  sets new upper limit to retrieve in the dictionary using the position of the word found at the step of S 012 .  
         [0038]    S 016  tries to find the word with the leading part less than that of the word data input in the lower half area of the dictionary.  
         [0039]    S 017  tests if the word was found.  
         [0040]    S 018  takes place if not found at S 017  and sets new lower limit using the position of the lower limit by which S 016  was attempted because the lower area is occupied by the word data with the leading part equal to that of the word data input. Then, the step goes back to S 002 .  
         [0041]    S 019  arises if found at S 017  and sets new lower limit to retrieve using the position of the word with the leading part less than that of the word data input and jumps back to S 002 .  
         [0042]    As a subset of a dictionary search for the word data input consisting of a first character and some other characters, T 001  which is equivalent to the aforementioned S 001 , is an entry of this subprogram.  
         [0043]    T 002  which is equivalent to the aforementioned S 002  checks if there is still more word to retrieve in the dictionary. If there is no more word, the step goes to the exit. The process advances to the next T 002 A, if there are some more words to retrieve.  
         [0044]    T 002 A branches to the aforementioned S 003  if the input is the first one of the word data input, and to the next T 002 B if it was not first.  
         [0045]    T 002 B is to check if all words between upper and lower limit in the dictionary have the same leading part as that of the word data input.  
         [0046]    T 002 C selects the words with the leading part which is not same as that of the word data input.  
         [0047]    T 002 D shifts one character to the left for every words selected at T 002 C and extract those if terminated after making a character shift.  
         [0048]    T 002 E sets new upper and lower limit to retrieve in the dictionary after extracting words terminated at S 003 . Then, the step goes to the aforementioned S 003 .