The positions in the generic string master translation table (
Table 1) are filled in as follows:
- X'00'
- Blank character
- X'01'
- Invalid character
- X'02'
- Special character
- X'04'
- APL/TEXT special characters (only for APL and TEXT keyboards)
- X'08'
- APL/TEXT alphabetic characters (only for APL and TEXT keyboards)
- X'10'
- Lowercase alphabetic character
- X'20'
- Uppercase alphabetic character
- X'40'
- Numeric character
- X'80'
- User character subset.
Table 1. Example of
Generic String Master translation tableTable |
Hexadecimal Code |
Position |
---|
TTGSM |
DC X'0101010101010101'
DC X'0101010101010101'
DC X'0101010101010101'
...
DC X'0102020202020202'
DC X'0110101010101010'
...
DC X'2020010101010101'
DC X'4040404040404040'
DC X'4040010101010101'
|
(X'00' to X'07')
(X'08' to X'0F')
(X'10' to X'17')
(X'78' to X'7F')
(X'80' to X'87')
(X'E8' to X'EF')
(X'F0' to X'F7')
(X'F8' to X'FF')
|
To modify the GSM table to use a user character subset, follow
these steps:
- Choose a character to represent your subset. For example, Edit
uses an @ to stand for alphabetic.
- Modify the entry in the generic string special character (GSS)
table that corresponds to the character you want to use so that it
has a value of X'08'. This indicates where in the generic
string character (GSC) table the mask for your character is located.
The GSC does not need to be changed. It is initially set for user
character sets.
- Modify the GSM entries of those characters you want to include
in your special character set so the high order bit is on.
For example:
If you want to define a character set of special attribute characters
consisting of hexadecimal codes X'10' through X'17',
and you want to use a ("") as the picture string
identifier for them, you would:
- Modify the entry for X'4F' in the GSS table so it has
a value of X'08' as shown in Table 2. Compare to Table 1.
Table 2. Example of translation
table for modified Generic String Special CharactersTable |
Hexadecimal Code |
Position |
---|
TTGSS |
DC X'FFFFFFFFFFFFFFFF'
DC X'FFFFFFFFFFFFFFFF'
DC X'FFFFFFFFFFFFFFFF'
...
DC X'FFFFFF0105FFFF08'
DC X'FFFFFFFFFFFFFFFF'
...
DC X'E8E9FFFFFFFFFFFF'
DC X'F0F1F2F3F4F5F6F7'
DC X'F8F9FFFFFFFFFFFF'
|
(X'00' to X'07')
(X'08' to X'0F')
(X'10' to X'17')
(X'78' to X'7F')
(X'80' to X'87')
(X'E8' to X'EF')
(X'F0' to X'F7')
(X'F8' to X'FF')
|
- Modify the GSM entries for hexadecimal codes X'10' through X'17' to
turn the high order bit on as shown in Table 3. Compare to Table 1.
Table 3. Example of modified Generic String
Master translation tableTable |
Hexadecimal Code |
Position |
---|
TTGSM |
DC X'0101010101010101'
DC X'0101010101010101'
DC X'8181818181818181'
...
DC X'0102020202020202'
DC X'0110101010101010'
...
DC X'2020010101010101'
DC X'4040404040404040'
DC X'4040010101010101'
|
(X'00' to X'07')
(X'08' to X'0F')
(X'10' to X'17')
(X'78' to X'7F')
(X'80' to X'87')
(X'E8' to X'EF')
(X'F0' to X'F7')
(X'F8' to X'FF')
|
You could locate the special attribute bytes by issuing
the edit command FIND P‘"’. If you do not want these
bytes to be found under any other picture string, set the hexadecimal
value to X'80'. These characters can be included in multiple
character sets by setting the appropriate bits to on, according to
the GSM table.