Patent ID: 12190050

DETAILED DESCRIPTION

Hereinafter, an embodiment of the present disclosure will be described in detail with reference to the accompanying drawings.

FIG.1is a diagram depicting an example of a configuration and a use state of a tablet terminal1according to the embodiment of the present disclosure. The tablet terminal1is an information processing device configured to receive input by a stylus P, and is configured to have a panel surface2that serves as a display surface and a touch surface. The input method using the stylus P is not limited and may include, for example, an active capacitive method (AES) or an electromagnetic induction method (EMR). Hereinafter, the description will be given on the assumption that the active capacitive method is used.

FIG.2is a diagram depicting an internal configuration of the tablet terminal1. As depicted in the drawing, the tablet terminal1is configured to have a host processor10, a storage unit11, a display12, a touch sensor13, and a sensor controller14.

The host processor10is a central processing unit of the tablet terminal1, and is responsible for executing an operating system of the tablet terminal1and various types of applications such as drawing software by executing a program stored in the storage unit11. The drawing software has a function of generating a file for storing ink data in the storage unit11, and a function of generating stroke data on the basis of coordinates and data sequentially supplied from the sensor controller14between pen-down and pen-up, to be described later, to sequentially perform rendering to display the same on the display12while writing the generated stroke data in the storage unit in association with each other as a series of ink data. The drawing software also has a function of extracting the generated ink data from the storage unit11to be rendered and displayed on the display12.

The storage unit11includes a main storage device including, for example, a DRAM (Dynamic Random Access Memory) and an auxiliary storage device including, for example, a flash memory or a hard disk. A program executed by the host processor10is pre-stored in the storage unit11, and various types of data used or generated by the host processor10are also stored therein. The data includes, in addition to the above-described ink data, identification information of the tablet terminal1, login information for logging in to the above-described operating system or the various types of applications, and the like.

The display12is a device for visually outputting a result of a process by the host processor10, and includes, for example, a liquid crystal display or an organic electro-luminescence (EL) display.

The touch sensor13is a device having a plurality of sensor electrodes arranged over the entire panel surface2depicted inFIG.1. The plurality of sensor electrodes includes a plurality of X electrodes each extending in a Y direction and a plurality of Y electrodes each extending in an X direction. In the tablet terminal1called an “in-cell type,” common electrodes arranged in the display12may be used as the plurality of X electrodes.

The sensor controller14is an integrated circuit that uses the touch sensor13to detect positions of the stylus P and fingers within the panel surface2and to receive data transmitted by the stylus P. The data received from the stylus P includes a pen pressure value indicating a pressure applied to the pen tip of the stylus P, a pen identification (ID) pre-assigned to each stylus P, and the like. Regarding the pen pressure value, the sensor controller14is configured to detect that the stylus P has come into contact with the panel surface2(pen-down) and that the stylus P has been separated from the panel surface2(pen-up), on the basis of the pen pressure value received from the stylus P. The sensor controller14sequentially supplies coordinates indicating a detected position, received data, and pen-down or pen-up information to the host processor10.

The drawing software executed in the host processor10is configured to generate stroke data on the basis of various types of data supplied from the sensor controller14, and to store the generated stroke data in association with a series of previously generated ink data in the storage unit11. Regarding input by the stylus P in particular, the drawing software is configured to generate stroke data by arranging a series of coordinates and pen pressure values supplied from the sensor controller14in a time series between pen-down and pen-up, and to store the generated stroke data in association with the series of ink data in correspondence with user information indicating the user who has input the stroke data. The concrete content of the user information may be a pen ID supplied from the sensor controller14, identification information of the tablet terminal1, or login information of the operating system or the drawing application.

The drawing software is also configured to extract the generated ink data from the storage unit11and render the data to be displayed on the display12. In the rendering, for example, a predetermined interpolation curve such as a Catmull-Rom curve is used to complement coordinates among a series of coordinates. In addition, a pen pressure value is used to control a line width or transparency.

The description will be given by returning toFIG.1. The character string of “patent aplication” depicted in the drawing is an example of a handwritten character string represented by the ink data. The tablet terminal1according to the embodiment is characterized in that a spelling error included in such a handwritten character string is automatically detected, and the ink data is automatically modified on the basis of the result. Hereinafter, this point will be described in detail.

FIG.3is a diagram depicting functional blocks of the host processor10and data stored in the storage unit11. In the drawing, only the parts related to the above feature are depicted.

As depicted inFIG.3, the host processor10is functionally configured to have a modification method determination unit (circuit)20and a modification operation unit (circuit)21. Among these units, the modification method determination unit20includes a character recognition processing unit20aand a spelling error detection unit20b. It should be noted that the modification method determination unit20and the modification operation unit21are preferably implemented as one of the functions in the above-described drawing software. In addition, the storage unit11stores an ink database30, a standard pattern database31, and a word dictionary database32.

The ink database30is a database for accumulating the ink data generated by the host processor10. The ink database30may accumulate not only the ink data generated by the host processor10of the tablet terminal1but also ink data generated by a host processor of another information processing device.

The modification method determination unit20is a functional unit that detects a spelling error included in the character string represented by the ink data stored in the ink database30to determine a modification method of the ink data. The ink data as a target for the spelling error detection is designated by, for example, a user. As a concrete process, the modification method determination unit20first executes a character recognition process by use of the character recognition processing unit20a, so that text data indicating the character string represented by the ink data to be processed is acquired. Next, the modification method determination unit20detects a spelling error included in the acquired text data by use of the spelling error detection unit20b. Then, an ink data modification method is finally determined on the basis of the content of the detected spelling error. Hereinafter, the details will be described.

The character recognition processing unit20ais a functional unit that executes a character recognition process by use of the standard pattern database31by performing a process similar to what is generally called OCR (Optical Character Recognition). Specifically, when the ink data is input, the character recognition processing unit20afirst analyzes the layout thereof and segments lines and characters (including spaces). Next, the character recognition processing unit20aextracts a feature value from each of the segmented characters.

The standard pattern database31pre-stores a standard pattern for each character of the above-described feature value. The character recognition processing unit20ahaving extracted the feature value from each of the segmented characters selects one character for each of the segmented characters by checking the extracted feature value against the standard pattern in the standard pattern database31. The character recognition processing unit20aoutputs a series of characters thus selected as text data indicating a character string represented by the ink data to be processed.

Here, the text data output from the character recognition processing unit20ais preferably stored in the ink database30in association with the ink data to be processed. Thus, when the modification operation unit21acquires an additional stroke data group, to be described later, from the ink database30, the additional stroke data group to be acquired can be determined on the basis of the text data stored in association with each ink data.

Next, the spelling error detection unit20bis a functional unit that detects a spelling error included in the text data output from the character recognition processing unit20aby use of the word dictionary database32in which data of words is pre-stored including combinations of one or more characters. Specifically, the spelling error detection unit20bfirst divides the text data output from the character recognition processing unit20ainto words. This division may be performed on the basis of a space between the characters in the case of language such as English that is written with a space between words. On the other hand, in the case of language such as Japanese that is not written with a space between words, words may be extracted by performing a knowledge process based on the words stored in the word dictionary database32and divided on the basis of the result.

The spelling error detection unit20bthen determines, for each of one or more words obtained by the division, whether or not there is a matching or similar word in the word dictionary database32. Here, the similarity between the two words means, for example, that the Levenshtein distance or the Jaro-Winkler distance between words is equal to or smaller than a predetermined value. In a case where there is a matching word for a certain word, the spelling error detection unit20bconcludes that the word includes no spelling error. In addition, also in a case where there is neither a matching word nor a similar word for a certain word, the spelling error detection unit20bconcludes that the word includes no spelling error. The reason for this conclusion is that the word is possibly a word such as a proper noun that is not listed in the dictionary. On the other hand, in a case where there is no matching word for a certain word but there is a similar word, the spelling error detection unit20bconcludes that the word includes a spelling error.

FIGS.4A-4Care diagrams each depicting an example of the above process executed by the spelling error detection unit20b.FIG.4Adepicts ink data, andFIG.4Bdepicts text data output from the character recognition processing unit20aon the basis of the ink data ofFIG.4A.FIG.4Balso depicts a word delimiter100obtained as a result of the above-described division of text data.FIG.4Cdepicts words found in the word dictionary database32by the spelling error detection unit20bfor each portion of the text data ofFIG.4Bdivided by the delimiter100.

As depicted inFIG.4C, for the “patent” portion of the text data, the word “patent” that completely matches is found in the word dictionary database32. Therefore, the spelling error detection unit20bconcludes that the word “patent” includes no spelling error. On the other hand, for the “aplication” portion of the text data, a completely matching word is not found in the word dictionary database32, but a similar word “application” is found. Therefore, the spelling error detection unit20bconcludes that the word “aplication” includes a spelling error.

The description will be given by returning toFIG.3. In the spelling error detected by the spelling error detection unit20b, there may be three kinds of spelling errors such as a missing character, a superfluous character, and a typo. The missing character is a spelling error that a necessary character is missing, the superfluous character is a spelling error that an unnecessary character is mixed in, and the typo is a spelling error that a necessary character is replaced with a different character. The modification method determination unit20determines an ink data modification method on the basis of these detection results of the spelling errors. The modification method thus determined is to add a character in the case of the missing character, to delete a character in the case of the superfluous character, and to replace a character in the case of the typo.

Next, the modification operation unit21is a functional unit that modifies the ink data by manipulating the ink data on the basis of the modification method determined by the modification method determination unit20. Hereinafter, the process performed by the modification operation unit21will be described in detail with reference toFIGS.5to7.

FIGS.5A-5Care diagrams each illustrating manipulation of the ink data to correct for a missing character.FIG.5Adepicts an example of the ink data to be processed. The ink data in this example is “patent aplication” depicted inFIG.4A, and one “p” is missing when compared with “patent application” written in the correct spelling.

The modification method determined by the modification method determination unit20having received the input of the ink data depicted inFIG.5Ais, for example, to add “p” between “p” and “1” in “aplication.” The modification operation unit21first selects, from the ink database30depicted inFIG.3, one or more pieces of ink data input by the same user who has input the ink data to be processed. It should be noted that the ink data selected here may include ink data that is the current target of processing. Then, the modification operation unit21acquires one or more pieces of stroke data representing “p” that is a character to be added, from the one or more selected pieces of ink data. Hereinafter, the one or more pieces of stroke data thus acquired will be referred to as an “additional stroke data group.” A character101depicted inFIG.5Cindicates the additional stroke data group thus acquired.

Next, the modification operation unit21determines a width X of the character101to be added on the basis of the size of each character configuring the ink data to be processed and the content of the character to be added. Then, among a plurality of characters represented by the ink data to be processed, those positioned on the right side in the same line as the insertion portion of the character101to be added are selected, and the selected one or more characters are moved to the right side on the basis of the determined width X. Specifically, in order to move the selected one or more characters to the right side by a distance corresponding to the width X, a numerical value corresponding to the moving distance is added to each of a series of coordinates included in the stroke data corresponding to the characters to be moved. It should be noted that a concrete moving distance of each stroke data in the manipulation may be a distance obtained by adding a predetermined adjustment value α to the width X as depicted inFIG.5B, for example. Note that the adjustment value α may be a positive value, a negative value, or zero.

Next, the modification operation unit21adjusts the values of the series of coordinates configuring the additional stroke data group such that the rendering result of the ink data including the additional stroke data group becomes natural. Specifically, the values of the series of coordinates configuring the additional stroke data group are adjusted such that the character “p” displayed as a result of rendering the additional stroke data group is displayed, having the width X as determined, at the position determined by the modification method determination unit20. The modification operation unit21may also adjust the insertion position of the additional stroke data group in a file configuring the ink data such that the order of reproduction becomes natural in a case where the ink data is automatically reproduced. The modification operation unit21having executed the adjustment adds the adjusted additional stroke data group to the ink data and concludes the manipulation of the ink data.

Here, in the case of English as in the example ofFIGS.5A-5C, a series of stroke data positioned on the right side of the portion into which the additional stroke data group is inserted is moved to the right side, but a method different therefrom can be employed depending on a language or a writing method. For example, in a language written from left to right such as Arabic, a series of stroke data positioned on the left side of the portion into which the additional stroke data group is inserted is moved to the left side. In addition, in Japanese written vertically, a series of stroke data positioned on the lower side of the portion into which the additional stroke data group is inserted is moved to the lower side.

FIGS.6A-6Care diagrams each illustrating manipulation of the ink data to correct for a superfluous character.FIG.6Adepicts ink data to be processed according to this example. The ink data is “patent appllicationapplication,” and one unnecessary “l” is added when compared with “patent application” written in the correct spelling. InFIG.6A, a character102corresponds to “1.”

The modification method determined by the modification method determination unit20having received the input of the ink data depicted inFIG.6Ais to delete one “1” in the “appllication.” The modification operation unit21first acquires a width Y of the character “1” to be deleted in the ink data to be processed. Then, as depicted inFIG.6B, one or more pieces of stroke data corresponding to the character “l” to be deleted are deleted from a plurality of pieces of stroke data configuring the ink data.

Thereafter, among the plurality of characters represented by the ink data to be processed, the modification method determination unit20selects those positioned on one side (the right side in the example ofFIG.6B) in the same line as the deleted character “1,” and moves the selected one or more characters to the left side on the basis of the width Y. Specifically, in order to move the selected one or more characters to the left side by a distance corresponding to the width Y, a numerical value corresponding to the moving distance is subtracted from each of a series of coordinates included in the stroke data corresponding to the characters to be moved. It should be noted that a concrete moving distance of each character in the manipulation may be a distance obtained by adding a predetermined adjustment value β to the width Y, as depicted in, for example,FIG.6B. Note that the adjustment value β may be a positive value, a negative value, or zero. The modification operation unit21, having completed the process so far, terminates the manipulation of the ink data.

Here, in the case of English as in the example ofFIGS.6A-6C, the stroke data positioned on the right side of the deleted character is moved to the left side, but a method different therefrom can be employed depending on a language or a writing method. For example, in a language written from left to right such as Arabic, the stroke data positioned to the left side of the deleted character is moved to the right side. In addition, in Japanese written vertically, the stroke data positioned on the lower side of the deleted character is moved to the upper side.

FIGS.7A-7Eare diagrams each illustrating manipulation of the ink data to correct a typo.FIG.7Adepicts ink data to be processed according to this example. The ink data is “patent applecation,” and “i” after “appl” is replaced with “e” when compared with “patent application” written in the correct spelling. InFIG.7A, a character103corresponds to “e.”

The modification method determined by the modification method determination unit20having received the input of the ink data depicted inFIG.7Ais to replace “e” in “applecation” with “i.” The modification operation unit21having received the determination first executes the same manipulation of the ink data as described with reference toFIGS.6A-6C, with “e” as the target to be deleted as depicted inFIG.7AtoFIG.7C. Next, the modification operation unit21executes the same manipulation of the ink data as described with reference toFIGS.5A-5Csuch that “i” is added between “l” and “c” as depicted inFIG.7CtoFIG.7E.

As a result of executing these operations, the replacement of “e” in “applecation” with “i” is realized as depicted inFIG.7E. As described above, the manipulation of the ink data for correcting a typo includes a combination of the manipulation of the ink data to correct for a superfluous character and the manipulation of the ink data to correct for a missing character.

Next, the process of the host processor10described above will be described again in more detail from another point of view by referring to a processing flow of the host processor10.

FIG.8is a flowchart depicting the overall flow of the ink data modification process executed by the host processor10. As depicted in the drawing, the host processor10first acquires ink data from the ink database30(Step S1), and executes a character recognition process (Step S2). The details of the character recognition process are as described above.

Next, the host processor10divides text data obtained by the character recognition process into words (Step S3). The details of the dividing process are as described above. Thereafter, the host processor10executes the processes of Steps S5to S13for each word in the text data obtained by the division of Step S3(Step S4).

Specifically, the host processor10first determines whether or not there is a matching word in the word dictionary database32depicted inFIG.3(Step S5). As a result, if present, the host processor10concludes that there is no spelling error and proceeds to the process for the next word. On the other hand, if not present, the host processor10further determines whether or not there is a similar word in the word dictionary database32(Step S6). The meaning of the similarity herein is as described above. In a case where it is determined to be not present in Step S6, the host processor10concludes that there is no spelling error and proceeds to the process for the next word. On the other hand, in a case where a similar word is determined to be present, the host processor10compares the word to be processed with the similar word in the word dictionary database32to detect the content of the spelling error included in the word to be processed (Step S7). As described above, the spelling error thus detected may include three kinds of spelling errors such as a missing character, a superfluous character, and a typo.

Next, the host processor10determines an ink data modification method on the basis of the content of the spelling error detected in Step S7(Step S8). Here, the content of the spelling error detected in Step S7is not limited to only one type. In a case where a word contains a plurality of spelling errors, the host processor10selects one of them and determines a modification method for modifying the selected spelling error.

Next, the host processor10determines whether the modification method determined in Step S8is an addition of a character, a deletion of a character, or a replacement of a character (Step S9). As a result, a character addition process (Step S10) is executed in the case of the addition of a character, a character deletion process (Step S11) is executed in the case of the deletion of a character, and a character replacement process (Step S12) is executed in the case of the replacement of a character. The details of these processes will be described later with reference toFIG.9toFIG.11.

The host processor10having completed one of Steps S10to S12determines whether or not the modification (correction) of all the spelling errors included in the word to be processed has been completed (Step S13), and in a case where it is determined to have not been completed, the host processor10returns to Step S8to modify the remaining spelling errors. On the other hand, in a case where it is determined to have been completed, the host processor10proceeds to the process for the next word. In a case where the process for all of the words in the text data obtained by the division in Step S3has been completed, the host processor10terminates the ink data modification process.

FIG.9is a flowchart depicting details of the character addition process (Step S10) depicted inFIG.8. The host processor10that executes this process first selects one or more pieces of ink data, which are generated by the same user that has input the ink data to be processed (i.e., the ink data acquired in Step S1ofFIG.8), from the ink database30, and acquires the above-described additional stroke data group from the selected one or more pieces of ink data (Step S20).

Next, the host processor10determines the width X of the character to be added on the basis of the size of each character configuring the ink data to be processed and the content of the character to be added (Step S21). Next, the host processor10selects, among a plurality of characters represented by the ink data to be processed, those positioned on the right side in the same line as the insertion portion of the character to be added (Step S22), and manipulates the ink data such that the selected one or more characters move to the right side by a distance (specifically, the distance X+α depicted inFIG.5B) corresponding to the width X (Step S23). The details of the manipulation are as described above.

Next, the host processor10adjusts the values of a series of coordinates configuring the additional stroke data group such that the rendering result of the ink data with the additional stroke data group added becomes natural (Step S24). The details of the adjustment process are as described above. Thereafter, the host processor10adds the adjusted additional stroke data group to the ink data (Step S25), and terminates the character addition process.

FIG.10is a flowchart depicting details of the character deletion process (Step S11) depicted inFIG.8. The host processor10that executes the process first derives the width Y of the character to be deleted in the ink data to be processed (Step S30). Thereafter, the host processor10deletes one or more pieces of stroke data corresponding to the character to be deleted from the ink data to be processed (Step S31).

Next, the host processor10selects, among a plurality of characters represented by the ink data to be processed, those positioned on the right side in the same line as the deleted character (Step S32). Then, the ink data to be processed is manipulated such that the selected one or more characters move to the left side by a distance (specifically, the distance Y+β depicted inFIG.6B) corresponding to the width Y (Step S33). The details of the manipulation are as described above. Upon completion of Step S33, the host processor10terminates the character deletion process.

FIG.11is a flowchart depicting details of the character replacement process (Step S12) depicted inFIG.8. As depicted in the drawing, this process is a combination of the character deletion process and the character addition process. Specifically, the host processor10first executes the character deletion process depicted inFIG.10with an erroneous character as the deletion target (Step S40). Accordingly, the erroneous character is deleted from the ink data to be processed, and the space created by the deletion is to be filled. Next, the host processor10executes the character addition process depicted inFIG.9such that the correct character is added at the position where the erroneous character is deleted (Step S41). Accordingly, the correct character is inserted at the position where the typo of the ink data to be processed is deleted. After the completion of Step S41, the host processor10terminates the character replacement process.

As described above, according to the ink data modification method, the information processing device, and the program according to the embodiment, a spelling error included in the character string represented by the ink data can be automatically detected, and the ink data can be modified on the basis of the result. Therefore, the ink data including a spelling error can automatically be modified and corrected.

In addition, in a case where the modification of adding a character is performed, the additional stroke data group is acquired from the ink data that has been input in the past by the same user who has input the ink data to be processed, and thus characters having different handwriting characteristics from other parts are not mixed into the ink data.

Further, since the values of a series of coordinates configuring the additional stroke data group are adjusted so that the rendering result of the ink data with the additional stroke data group added becomes natural and the additional stroke data group is then added to the ink data, a natural rendering result can be obtained even after the modification.

Although the preferred embodiment of the present disclosure has been described above, it is obvious that the present disclosure is not limited to such an embodiment in any way, and the present disclosure can be carried out in various modes without departing from the gist thereof.

For example, it has been described inFIG.3that one or more pieces of ink data, which have been input by the same user who has input the ink data to be processed, are selected from the ink database30, but the ink data selected from the ink database30need not necessarily be input by the same user.

In addition, it has been described that the modification method determination unit20depicted inFIG.3executes the character recognition process by use of the character recognition processing unit20a, such that text data indicating the character string represented by the ink data to be processed is acquired, but the text data need not necessarily be acquired. That is, by executing the character recognition process by use of the character recognition processing unit20ain the modification method determination unit20, the size, inclination, and the like of a handwritten character string represented by the ink data to be processed may be corrected to normalize the handwritten character string, and the normalized handwritten character string may be registered in the storage unit11in place of the text data. Thus, the spelling error detection unit20bin the modification method determination unit20can detect a spelling error included in the acquired handwritten character string by using the handwritten character string itself as a target.

FIG.12is a diagram depicting functional blocks of a host processor10and data stored in a storage unit11according to a modified example of the above-described embodiment configured as described above. As depicted in the drawing, the host processor10according to the modified example has a character recognition processing unit20cin place of the character recognition processing unit20a, and a spelling error detection unit20din place of the spelling error detection unit20b. In addition, the storage unit11has a handwritten character string database33in place of the word dictionary database32.

The handwritten character string database33is a database for storing normalized handwritten character strings. The handwritten character string database33is configured to store examples of handwritten character strings for as many words as possible.

The character recognition processing unit20cnormalizes a character string by executing the character recognition process for the ink data as a target for the spelling error detection. Specifically, the character recognition processing unit20cfirst performs the same process as the character recognition processing unit20ato segment lines and characters and select one character for each of the segmented characters. Then, the segmented character is shaped so as to be close to a shape expected as the shape of the selected character (that is, the shape of the character stored in the handwritten character string database33). This shaping includes the correction of inclination and the like as described above. In addition, the size of each character after the shaping is adjusted such that, for example, the sizes of the segmented characters are equal to each other.

The spelling error detection unit20ddetects a spelling error by comparing the shaped handwritten character string output from the character recognition processing unit20cwith the handwritten character string registered in the handwritten character string database33. Specifically, the spelling error detection unit20dfirst divides the handwritten character string output from the character recognition processing unit20cinto words. This process may be the same process as the division of text data performed by the spelling error detection unit20b. Then, for each of one or more words obtained by the division, it is determined whether or not there is a matching or similar handwritten character string in the handwritten character string database33. In a case where there is a matching handwritten character string for a certain word, the spelling error detection unit20dconcludes that the word includes no spelling error. In addition, in a case where there is neither a matching handwritten character string nor a similar handwritten character string for a certain word, the spelling error detection unit20dconcludes that the word includes no spelling error. On the other hand, in a case where there is no matching handwritten character string for a certain word but there is a similar handwritten character string, the spelling error detection unit20dconcludes that the word includes a spelling error. The processes of the modification method determination unit20and the modification operation unit21having received this conclusion are as described in the above embodiment.

As described above, according to the modified example, the ink data including a spelling error can automatically be modified without acquiring the text data in the same manner as in the above embodiment.

In addition, in a handwritten character string, a series of characters may be connected or joined with each other in some cases as in the case of a cursive style writing in English, for example. Accordingly, when the additional stroke data group is added to the ink data, the modification operation unit21may determine two pieces of stroke data to be connected after the addition, and may deform the shape(s) (including the position(s) and/or thickness(es)) of one or both of the two pieces of stroke data so that the determined two pieces of stroke data are connected to each other. As similar to the above, when one or more pieces of stroke data are deleted and characters positioned on one side in the same line as the deleted character are moved to the other side, two pieces of stroke data to be connected to each other may be determined after the moving operation is performed, and the shape(s) (including the position(s) and/or thickness(es)) of one or both of the two pieces of stroke data may be deformed such that the determined two pieces of stroke data are connected to each other. In this way, it is possible to realize a continuous stroke in which a series of characters can be connected to each other.

In addition, at least one of the ink database30, the standard pattern database31, and the word dictionary database32depicted inFIG.3and the handwritten character string database33depicted inFIG.12may be connected to the host processor10via a network.

Further, some or all of the processes performed by the host processor10depicted inFIG.3may be executed via a network by use of, for example, a cloud computing technology.

DESCRIPTION OF REFERENCE SYMBOLS

1Tablet terminal2Panel surface10Host processor11Storage unit12Display13Touch sensor14Sensor controller20Modification method determination unit20a,20cCharacter recognition processing unit20b,20dSpelling error detection unit21Modification operation unit30Ink database31Standard pattern database32Word dictionary database33Handwritten character string database101Character to be added102Character to be deleted103Character to be replacedP StylusX, Y Widthα,β Adjustment value