# Arabic, Hebrew and Thai Host Code Pages | WND Software Docs

Source: https://wndsoftware.com/docs/arabic-hebrew-thai

### Arabic, Hebrew and Thai

Host code pages for Arabic, Hebrew and Thai mainframes and IBM i systems, with right-to-left screens, Field Reverse and Push, Arabic shaping and Thai composed display.

Pick the code page under Characters  on the connect page. Arabic and Hebrew screens can be drawn right to left with Ctrl+Alt+S, with Field Reverse, Push and Arabic shaping as in IBM’s own emulators. Thai vowels and tone marks are drawn on their letters, using IBM’s display modes.

On a small screen, swipe the table to read all columns.


| Language | Host code pages | Sessions |
| --- | --- | --- |
| Arabic | 420, and 16804 with the euro | Mainframe (3270) and IBM i (5250) |
| Hebrew | 424, 12712 with the euro and new sheqel, and 803 (the old code without lowercase Latin) | Mainframe (3270) and IBM i (5250) |
| Thai | 838, and 1160 with the euro | Mainframe (3270) and IBM i (5250) |

These work the way IBM’s own emulators do, with IBM’s names for everything, so people coming from Personal Communications or Host On-Demand find what they know. Japanese, Chinese and Korean are in [Japanese, Chinese and Korean](https://wndsoftware.com/docs/japanese-chinese-korean). Pick the code page under Characters  on the connect page, or IT sets it for everyone with `CodePage` or on each connection. Sessions imported from PCOMM, Reflection, Extra! and other emulators bring their code page with them.


### Right-to-left screens

Arabic and Hebrew hosts keep text in the order it’s drawn, and most of their applications are written for a screen drawn from the right. Tick Right-to-left screen  on the connect page, have IT set `RightToLeft`, or turn the screen around any time with the Right to left button in the status line or Ctrl+Alt+S  (IBM’s Screen Reverse).

- Position 1 is then the top right. Brackets and arrows swap so they still point the right way.
- Typing goes right to left. Ctrl+Alt+F  (Field Reverse) makes the cursor’s field take typing the other way until the cursor leaves it. Auto Reverse  (Ctrl+Alt+R) does that by itself, with text fields right to left and numeric fields left to right.
- For numbers and Latin words inside right-to-left text, Ctrl+Alt+P  (Push) types them left to right while the cursor stays put, and Ctrl+Alt+O  ends the push. Auto Push  (Ctrl+Alt+A) starts and ends it by itself.
- Ctrl+Alt+C  (Close) closes up the field’s text against its start.
- Pasted text goes in the same way, so text copied from other programs lands the way it reads. Copying gives each line in reading order, as other programs expect.


### Arabic shaping

Arabic letters are drawn in the shape they have where they stand (initial, middle, final or isolated), worked out from the host’s bytes and the letters beside them. Letters typed right to left get the host’s byte for their shape as they’re typed, and lam followed by alef becomes the lam-alef ligature. Ctrl+Alt+D  turns shaping as you type off or on. Ctrl+Alt+T , M , E  and I  type the next letters in a chosen shape, and Ctrl+Alt+= and Ctrl+Alt+- (Field Shape and Field Base) reshape or unshape a field. Digits can be drawn as 0 to 9, as Arabic-Indic digits, or by the text before them. The host always gets the digits it sent.


### Thai

Thai vowels and tone marks are separate bytes on the host. WND Terminal draws them on their letters and lines the row up again where IBM’s display modes do. Mode 5, the default, puts the lost positions back at three blanks in a row and at the end-of-field character. Modes 1 to 4 are in the status line. The cursor moves from letter to letter over the marks, Delete takes a letter with its marks, and a mark that can’t follow what’s before it is refused with a beep, as IBM’s input sequence check does.


### Typing national letters

Ctrl+Alt+N  and Ctrl+Alt+L  switch the keyboard between the national letters and Latin, and the status line shows which. In the national layer, an English keyboard types Hebrew as on the standard Israeli layout, Arabic as on Arabic 101 and Thai as on Kedmanee. A Hebrew, Arabic or Thai layout set on the computer works in either layer.


### IT settings

On a small screen, swipe the table to read all columns.


| Setting | Group Policy name | What it does |
| --- | --- | --- |
| `CodePage` | Mainframe character set (code page) | The default code page, such as 420, 424 or 838. A connection can name its own. |
| `RightToLeft` | Start Arabic and Hebrew screens right to left | True starts Arabic and Hebrew sessions with the screen reversed. People can still turn it around. |
| `NumeralShape` | Digits in Arabic sessions | `Nominal` (0 to 9, the default), `National` (Arabic-Indic) or `Contextual` |
| `ThaiDisplayMode` | Thai display mode | IBM’s display modes 1 to 5. 5 is the default. |


### Fonts and limits

Letters come from fonts that have them, such as Courier New, Tahoma and Leelawadee UI on Windows, Arial Hebrew, Geeza Pro and Ayuthaya on a Mac, and Noto on Linux (`fonts-noto-core`). The same fonts work in a browser. IBM i’s graphical windows aren’t drawn on a reversed screen, though their text is, and suggestions from earlier typing are off on these screens.


### Related

[Policy settings CodePage and the other settings. Read →](https://wndsoftware.com/docs/policy-settings)
[Import from PCOMM Profiles bring their host code page. Read →](https://wndsoftware.com/docs/import-pcomm)
[IBM i (5250) Full 5250 in WND Terminal. Read →](https://wndsoftware.com/ibm-i)

### Questions


#### Do these work on IBM i as well as the mainframe?

Yes. Arabic, Hebrew and Thai code pages work in 3270 and 5250 sessions alike, and WND Terminal tells the host which one it uses, as IBM’s emulators do.


#### Can IT start every Arabic and Hebrew session right to left?

Yes. Set RightToLeft to true in the policy. People can still turn the screen around with Ctrl+Alt+S.


#### Do our imported sessions keep their code page?

Yes. Sessions imported from PCOMM, Reflection, Extra! and the other emulators bring their code page by number or name.


#### Which fonts does it need?

Fonts that have the letters, which Windows and macOS already include. On Linux, install fonts-noto-core.

Technical reviewer: [Albert Joseph](https://wndsoftware.com/authors/albert-joseph), WND Software.
