Describes primary purpose of the input context.
This information is particularly useful to implement intelligent behavior in engines, such as automatic input-mode switch and text prediction.
Note that the purpose is not meant to impose a totally strict rule about allowed characters, and does not replace input validation. It is fine for an on-screen keyboard to let the user override the character set restriction that is expressed by the purpose. The application is expected to validate the entry contents, even if it specified a purpose.
The difference between IBUS_INPUT_PURPOSE_DIGITS and IBUS_INPUT_PURPOSE_NUMBER is that the former accepts only
digits while the latter also some punctuation (like commas or points, plus, minus) and āeā or āEā as in 3.14E+000.
This enumeration may be extended in the future; engines should interpret unknown values as 'free form'.