OS4 DepotLogo by Nickman 
(anonymous IP:,0) 

   Bug tracker
   Locale browser

   o Audio (329)
   o Datatype (47)
   o Demo (186)
   o Development (534)
   o Document (21)
   o Driver (88)
   o Emulation (142)
   o Game (865)
   o Graphics (465)
   o Library (94)
   o Network (203)
   o Office (56)
   o Utility (816)
   o Video (61)

Total files: 3907

Full index file. Download
Recent index file. Download



Support the site

 Readme for:  Driver » Input » arabic_console_device.lha

Arabic console

Description: An arabic console device
Download: arabic_console_device.lha       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 4Mb
Version: 1.524
Date: 08 Feb 17
Author: DRIDI
Submitter: DRIDI
Requirements: AmigaOS4 (test on Sam440EP)
Category: driver/input
Replaces: driver/input/arabic_console_device.lha
License: Other
Distribute: no
Min OS Version: 4.1
FileID: 10143
Comments: 4
Snapshots: 2
Videos: 0
Downloads:  (Current version)

[Show comments] [Show snapshots] [Show videos] [Show content] [Show crashlogs] 
Set up an arabic console device.

Even if graphics/console.device (Text(), ANSI cursor addressing sequence) do not
support Right-to-Left fonts.

Arabic keymaps were added.

For hybrid RTL only mode, launch 'com0x20' program.

For LeftToRight and RTL launch 'com' program ; and use F10 to change the
keyboard from latin to arabic.

There is no support for arabic numerals, excepted with 8 bits ASMO_449+ 'plus'
encoding (for hybrid also).

---- In version 1.0 ----

Added a handler for AmigaDOS which DOS name is ARABCON:

I experiment an hypothetical Arabic_C to conventional C language, by mean of
transcoding with a (f)lex translator. That is to code Arabic identifiers in
Capital with "__ar" at the end (so Arabic names are visibile and quick
mind-translated from latin) side by side with C library name space.
This is planned for future ; so only a .pdf is provided.

I also experiment "Lisp small language ambitus Arabic compatibility" with the
minimal Lisp implementation from Andru Luvisi.

Eventually, added a slightly customized 'ed' line-editor.

---- version 1.1 ----

Enabled multitasking (polling loop replaced by waiting state).

---- version 1.2 & 1.21 & 1.22 ----

o Better integration of ARABCON:

o Better concurrency due to adapted priority for each of the two internal tasks.

---- version 1.3 & 1.31 & 1.32 ----

Strongly enhance the editor, like the 's'ubstitute command, for arabic.

Use from CLI "mount arabcon: from mountlista" ,
then launch the "eda" (program envelope that launches the actual 'ed') being in
the "Editor/ed/" directory and verify that a /tmp directory above exists i.e :

If you want to write your own envelope for 'ed', look at mlispa.c in the

(version 1.31) correct the operating of final letter (latin extended, capital)
to char-class i.e [[:z:]] , in the pattern part of the substitute command i.e

For instance with the 's//' command, you can load an ASCII file and try
"araberize" to actual Arabic words (following ArabSCII full 8-bit code table).

In regular expression /pattern/, char-class are automatically entered when a
"capital" (ASCII extended) letter is encountered or encountered at the beginning
of a word(-pattern) ; use Alt- key pressed.

(version 1.32) enhance char-class, correct a bug when searching for word like
"salamalakoum" due to a miss behavior of 0xC0 to a forgotten instruction.

It is advised to consider lam+alif as an unbreakable bloc in regular expression

---- version 1.4 & 1.41 & 1.42 ----

o Basic support for tabulation and line numbering ;
  Tabs can be set by environment variable as "setenv tabstop=8" (the default).

o Bug in search for lam+alif removed.

Now you can use ed commands 'g'lobal search with 'n'umbering : g/re/n or g/RE/n 
The last with RegularExpression /pattern/ in extended ASCII "Capital" not only
matches all forms of a letter but vowels too, if present.

Also use ",n" instead of ",p" ed command if you like.

(version 1.41) add an experimental pretty-printer for arabic.
No modification to the text in memory is done, and for now the justification is
only displayed.
The dimension of the page can be set by the environment variable as "setenv
gauge=10" following the use of ",p" lower case commands.
Also, the big ",P" command starts pretty printing with a page dimension
according to the length of the first line displayed.
"0p" is used to stop pretty printing.

(version 1.42)
a) tabular form of pretty printing a bit corrected.

b) Try to display ASCII (with 'eda' program editor for instance) in a
Left-to-Right readable manner, when in Arabic RTL only mode.
That is decoding ASCII from word (only, no Extended-(A)SCII which are so to say
finals in Arabics) when escaped from Arabic stream.
For examples :
echo "ac" >arabcon:  is in ASCII                   (displayed LTR when escaped)
echo "a" >arabcon:  is in ArabSCII=Arabic_ASCII   (displayed RTL,means father)
echo "a" >arabcon:  is neither ASCII nor ArabSCII (displayed RTL for debugging
purpose also when escaped)

c) Minors corrections :
- Bug on 'ed' global search command for : g/hamza_alone which appeared
alif-hamza, corrected ;
- lam+alif(es) no more stretched by the pretty-printer ;
- bug on g/#x corrected ('#' means Alt-Shift-# and is the arabic soft-hyphen) ;
- '_' tatweel after and no more before a letter on regular exp. pattern (re.c) ;
- To change one letter inside a word use the ed substitute command :
s/a-zA-Z/a-zA-Z/ with ASCII typesetted.

---- version 1.5 & 1.51 & 1.52 & 1.524 ----

Add a unix-like 'cat' filter, for full 8-bit arabic encoding, named 'cata' ;
Beware that the output is arabic, line by line, peek&pokes appropriate letter ;
Now (version 1.51) it "by-passes" ASCII and processes only ArabSCII words.

It is used to automate "araberization" and "strict conformation" of arab file.

For instance after modification with 'ed' editor and some substitute s/x/y
command(s), if you want to be in strict conformation, follow this two steps
(output1.txt is a file, arabsciiOut.txt another file) :
>W T:output1.txt
>e !cata <T:output1.txt
or run "!cata <output1.txt >arabsciiOut.txt" and "e arabsciiOut.txt" in 3 steps.

To display changed values in memory use ",l" command editing instead of ",p".

Nevertheless, it is advised to change a whole word when editing arabic with
ARABCON: because this version uses 0x20 hybrid full 8-bit arabic only mode.

When launching 'cata' program, a default screen and window will appear shortly
because the underlying 'arabicconsole.device' needs a window.

The system console lacks copy/paste but it multitasks fully ;
also the ARABCON: DOS console lacks multi-session windows management.

(version 1.51)
Now it is easy to replace letter(s) inside a word, when in Arabic : \\s using
soft-hyphenation code, by entering Alt-Shift-# on a US keyboard layout.

(version 1.52)
1. correct a bug on seizing of indecise-final (alif, da, dha, ra, za) letters ;
2. an initial, mid, final or isolated letter X, on the replacement part s/re/X
of the substitute command of 'ed'(eda) can be used without worrying about
soft-hyphenation code entered (0xAD erased, Alt-Shift-# must be in the middle to
get itself) ;
3. the s// substitute command can (now) use ArabSCII/ASCII or ASCII/ArabSCII
replacement forms : s/\ or /\s (use Escape twice to get itself) instead of s// ;
4. integration of 'cata' arabic filter program when saving 'w' with the 'ed'
editor ('cata' must be in the same directory as 'ed' ; look at "scmd" in main.c)

(version 1.524) follows 1.52 point four

o Reintegration or unfolding of the ad-hoc vowelized hamza with proper support
_algorithm_ into the put_stream_line() function of the 'io.c' module ;
o A Certification of this code is in progress...
o In theory (mine), there should be no more difference with the 'cata' filter
program, in the hamza letters, than the difference between an hamza letter
(0x41, 0xB4, 0xBA etc) and always, an hamza without support (0xA6) ;
o Use "we file" ed command to chain a 'w' with an 'e' commands ;
o Use "w0" to stay with the original write to file command of ed.

Remarks : 'ed' is not the Amiga one's, but the one written by Ken Thompson for
the Unix operating system.

I put a default Escape code (033 in octal) at the end of the command prompt to
"disable arabic". Search for 'prompt' in main.c of the archive.

In fact, 'Esc' (not followed by '[' or ']') continues to display from
Right-to-Left but use a latin font and simply disable arabic letter processing.
That is the peek/poke appropriate form's letter compiling due to

Start with this AmigaDOS command :

echo "g^YY^" >arabcon:


File Version Size Date OS Dls Readme
arabic_console_dev.lha2Mb18 Jul 154.02¤ Arabic console - An arabic console device
arabic_console_devicepro2.lha1.699z933Mb11 Aug 184.1¤ Arabic console - An arabic console device, line & full-page editors
Copyright (c) 2004-2019 by Björn Hagström All Rights Reserved
Amiga OS and its logos are registered trademarks of Hyperion Entertainment