Please enable JavaScript to view this site.

ESL Documentation

All ESL products support the use and display of most single­byte languages. Data can be displayed, accepted, and transmitted in all manners possible within an ESL application. There are versions of ESL that support double­byte characters. In order to use the double-byte capabilities, you need the proper version of the operating system. Also, there are some items to be aware of and additions to the ESL syntax relating to DBCS.

ESL strings are manipulated on the basis of bytes, not characters. The ESL extract statement contains syntax to take a certain value; for example:

extract from String 

  take 6 NewString 

where six is the value taken. Six refers to the number of bytes, not the number of characters. You will get a different number of characters from a double-byte string than from a single-byte string. The length of built-in function returns length in bytes, not characters. For example, a string with one DBCS character and one SBCS character has a length of three.

ESL will not adjust the positioning of block functions or cursor movements within a textual region. Syntax affecting text that splits the bytes of a double-byte character will ignore the bisected half of the double-byte character. This includes syntax such as:

insert segment/block

overwrite segment/block

textual built-in function

make segment/block COLOR

Other functions for which ESL will not adjust the cursor position include:

move by/to

find

xcoord

insert at/after cursor

overwrite at cursor

Syntax additions to support DBCS include:

Entry field definitions can include one of the following:

datatype is DBCS

datatype is mixed

datatype is char

datatype is any (default)

Regions can have a keyboard status area to present information on the input state. Specify keyboard status area in the object definition.

Ability to query the type of byte at a specific position in a textual region. The syntax is:

 

type at [column] COL_NO [line] LINE_NO char of TR_NAME 

 

type at cursor char of TR_NAME 

 

Values returned will be either SBCS, DBCS1, or DBCS2.