Contents

UCKeyStateEntryRange

Maps from a dead-key state to either the resultant Unicode character(s) or the new dead key state produced when the current state is terminated by a given character key for a 'uchr' resource.

Declaration

struct UCKeyStateEntryRange

Overview

The UCKeyStateEntryRange type is used in the stateEntryData[] field of a structure of type UCKeyStateRecord. You should use the UCKeyStateEntryRange format for complex (multiple) dead-key states.

For each virtual key code, an entry in its dead-key state record maps from the current dead-key state to the Unicode character(s) produced or to the next dead-key state, as follows.

If the current dead-key state is within a valid dead-key state range for the given input character—that is, if its value is greater than or equal to curStateStart and less than or equal to curStateStart + curStateRange—then

  • If the base charData value for the given dead-key state range is in the range of valid Unicode characters, a character is produced and the dead-key state may be terminated.

and/or

  • If the base nextState value is not 0, a new dead-key state is produced.

In the first case, the output character is determined as follows: The base charData value is incremented by the resulting product of (the difference between the current state and the start of that state’s range) and (a multiplier). That is:

charData += (curState - curStateStart) * deltaMultiplier

Similarly, in the second case, the resulting dead-key state, which is the new curState value, is determined as follows: The base nextState value is incremented by the resulting product of (the difference between the current state and the start of that state’s range) and (a multiplier). That is:

nextState += (curState - curStateStart) * deltaMultiplier

Topics

Initializers

Instance Properties