Arabic Alphapet&ASCIISupport

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
OsDeveloper
Posts: 8
Joined: Tue Apr 12, 2011 5:21 am
Contact:

Arabic Alphapet&ASCIISupport

Post by OsDeveloper »

Hello EveryOne First Iaplogize If This Is The Correct Place To Put This Topic But Ineed to help with Things Being Diffecult With Me
iam work on An Arabic Opreating System Called Arab-OS and Iwant to Support Arabic written In RealMode (16-bit) and In Booting Progress Without any helping Another BootLoaders Like GRUB Because Ihave Used It and iSuccedd in support arabic writting in booting but iwant to know how it works and how to make It By myself if any one had any idea about this thing Give Me An Public idea or abook or any good rescoures Might help me

to test My Support By Grub you can download it and try it by using any virtual Machine
http://www.4shared.com/get/e34bEyr-/arabic-os.html

Best Wishes
Mohamed
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Arabic Alphapet&ASCIISupport

Post by Combuster »

To start off with your thread subject: ASCII does not support Arabic. Furthermore, from the set of characters you can find on 99% of machines, Arabic is not part of it, so you have to include it yourself as a dedicated font.

The problem gets worse because you want to have internationalisation in one of the first visible stages of your OS. Fitting the font and rendering code in the boot sector does not work because it will be too much as you need images of all characters. That means you need a second stage that can load a font from somewhere, code that can upload a font into VGA ram (although as far as I know the Arabic writing, this is going to be troublesome as each character can be at most 8 pixels wide) or switch to a graphics mode and render the characters for you. You also can't just simply grab some existing render code since you won't have much support at this stage.

You also need a way of storing your text. True ASCII does not work: it does not have the characters. You can use Unicode which requires a translation from character values (some high number for Arabic) to character indices within the font, or you can create a custom character set for the occasion which makes it in turn even more difficult to maintain the actual texts.

In all, you can end up writing much of an actual OS' functionality before you actually start up your kernel (GRUB is pretty much an OS of its own for that reason). At which time you might want to consider to skip non-Latin text at boot time and just load the OS, or go back to GRUB where you get it for free.


P.S. Try To Avoid Writing Each Word With A Capital, and use punctuation. It makes your text easier to read.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
DavidCooper
Member
Member
Posts: 1150
Joined: Wed Oct 27, 2010 4:53 pm
Location: Scotland

Re: Arabic Alphapet&ASCIISupport

Post by DavidCooper »

berkus wrote:His mother tongue is most probably arabic so it may explain absence of punctuation and word delimiting by using caps.
Arabic doesn't have capital letters, but maybe he's been influenced by German and doesn't know the rules. They do have puncuation in Arabic though, but I suppose a lot of people never use it these days not even full stops between sentences anyway it might be possible to use two chars to make a composite Arabic S (and other long chars) if he wants to go down the route of reprogramming the VGA with Arabic chars for text mode.

[Edit: as soon as I switched off my computer I realised why he's putting capital letters at the front of almost every word - it's because the forms of letters change in Arabic according to position, so he's treating capitals as initial forms. Most Arabic letters link to the ones that precede and follow them, so there are usually four forms of each: initial, middle, ending and isolated.]
Last edited by DavidCooper on Wed Jun 15, 2011 3:45 pm, edited 1 time in total.
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c

MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
User avatar
iocoder
Member
Member
Posts: 208
Joined: Sun Oct 18, 2009 5:47 pm
Libera.chat IRC: iocoder
Location: Alexandria, Egypt | Ottawa, Canada
Contact:

Re: Arabic Alphapet&ASCIISupport

Post by iocoder »

DavidCooper wrote:
berkus wrote:His mother tongue is most probably arabic so it may explain absence of punctuation and word delimiting by using caps.
Arabic doesn't have capital letters, but maybe he's been influenced by German and doesn't know the rules. They do have puncuation in Arabic though, but I suppose a lot of people never use it these days not even full stops between sentences anyway it might be possible to use two chars to make a composite Arabic S (and other long chars) if he wants to go down the route of reprogramming the VGA with Arabic chars for text mode.
Yeah, Arabic has a high-level punctuation support [ . ؛ ، - ( ) ? ! [ ] { } ] and it doesn't have capital letters. Each letter might have 2 shapes or more, the shape of a letter is determined by its position in the word, so implementing Arabic at boot level would be some kind a hard task.

OP: I really admire the idea, it is good to have an operating system which fully supports Arabic as the DEFAULT language. It is really a great language and worthwhile. But I suggest you first try to create a simple operating system kernel in English, then start learning such advanced topics.

Best wishes for you and your project man :)
Regards,
Mostafa Abd El-Aziz
OSwhatever
Member
Member
Posts: 595
Joined: Mon Jul 05, 2010 4:15 pm

Re: Arabic Alphapet&ASCIISupport

Post by OSwhatever »

I suggest that you stick with UTF8 as far you can. Then if there are hardware limitations, those should be handled as a last stage. For example if you replace the default text mode fonts, the conversion from UTF8 should be the last stage. Same for input.

UTF8 has also the best support among tools.
User avatar
OsDeveloper
Posts: 8
Joined: Tue Apr 12, 2011 5:21 am
Contact:

Re: Arabic Alphapet&ASCIISupport

Post by OsDeveloper »

Combuster wrote: To start off with your thread subject: ASCII does not support Arabic. Furthermore, from the set of characters you can find on 99% of machines, Arabic is not part of it, so you have to include it yourself as a dedicated font.
To This Cause Iask this question
Combuster wrote: The problem gets worse because you want to have internationalisation in one of the first visible stages of your OS. Fitting the font and rendering code in the boot sector does not work because it will be too much as you need images of all characters. That means you need a second stage that can load a font from somewhere, code that can upload a font into VGA ram (although as far as I know the Arabic writing, this is going to be troublesome as each character can be at most 8 pixels wide) or switch to a graphics mode and render the characters for you. You also can't just simply grab some existing render code since you won't have much support at this stage.
...
Combuster wrote: You also need a way of storing your text. True ASCII does not work: it does not have the characters. You can use Unicode which requires a translation from character values (some high number for Arabic) to character indices within the font, or you can create a custom character set for the occasion which makes it in turn even more difficult to maintain the actual texts.
Good Idea Thanks
Combuster wrote: In all, you can end up writing much of an actual OS' functionality before you actually start up your kernel (GRUB is pretty much an OS of its own for that reason). At which time you might want to consider to skip non-Latin text at boot time and just load the OS, or go back to GRUB where you get it for free.
sorry but Iwas Ment exatly that iwant to support in this early stage (Booting Stage) and this idon't know how
for example Ineed to design new Processor from scratch to support arabic and build arabic assembely language with arabic characters
Combuster wrote: P.S. Try To Avoid Writing Each Word With A Capital, and use punctuation. It makes your text easier to read.
[/quote][/quote]

oh , sorry and thanks for your advise
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Re: Arabic Alphapet&ASCIISupport

Post by Brynet-Inc »

EDIT: Removed 2015: Imageshack replaced all links with spam.
Last edited by Brynet-Inc on Fri Aug 28, 2015 8:54 pm, edited 1 time in total.
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Arabic Alphapet&ASCIISupport

Post by Combuster »

Ineed to design new Processor from scratch
"Need to"? Is this homework? I'm not sure if there's a language barrier involved or if Brynet is right.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
OsDeveloper
Posts: 8
Joined: Tue Apr 12, 2011 5:21 am
Contact:

Re: Arabic Alphapet&ASCIISupport

Post by OsDeveloper »

Combuster wrote:
Ineed to design new Processor from scratch
"Need to"? Is this homework? I'm not sure if there's a language barrier involved or if Brynet is right.
no it's not a homework of course in our universities there is not any thing good at this field (os dev or Hardware develop or design)
but this is aproject iwork for os which support arabic from booting stage
iwas ment by needing for design new Processor to lead that if there isn't any way to do what iwant from my project to throw this idea from my mind and look to another work to support arabic in later stages
User avatar
iocoder
Member
Member
Posts: 208
Joined: Sun Oct 18, 2009 5:47 pm
Libera.chat IRC: iocoder
Location: Alexandria, Egypt | Ottawa, Canada
Contact:

Re: Arabic Alphapet&ASCIISupport

Post by iocoder »

Combuster wrote:
Ineed to design new Processor from scratch
"Need to"? Is this homework? I'm not sure if there's a language barrier involved or if Brynet is right.
OP might be thinking about building a new PC architecture that supports arabic letters and uses arabic symbols from scratch.... something that might be called "Arabization" of Computer system!!!

Regards,
Mostafa Abd El-Aziz
User avatar
iocoder
Member
Member
Posts: 208
Joined: Sun Oct 18, 2009 5:47 pm
Libera.chat IRC: iocoder
Location: Alexandria, Egypt | Ottawa, Canada
Contact:

Re: Arabic Alphapet&ASCIISupport

Post by iocoder »

OsDeveloper wrote:
Combuster wrote:
Ineed to design new Processor from scratch
"Need to"? Is this homework? I'm not sure if there's a language barrier involved or if Brynet is right.
no it's not a homework of course in our universities there is not any thing good at this field (os dev or Hardware develop or design)
but this is aproject iwork for os which support arabic from booting stage
iwas ment by needing for design new Processor to lead that if there isn't any way to do what iwant from my project to throw this idea from my mind and look to another work to support arabic in later stages
why??? egyptian faculties of engineering [about 28 governmental faculty of engineering in 28 gov universities and hundreds of non-governmental faculties of engineering] are very good in this field man :D
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: Arabic Alphapet&ASCIISupport

Post by Solar »

OsDeveloper wrote:for example Ineed to design new Processor from scratch to support arabic and build arabic assembely language with arabic characters
The processor doesn't know "assembly language". All the processor cares about are bits being 1 or 0. You might, somewhat later, want to create an assembler that takes arabic input - but since the corresponding processor documentation is in English, that might not make too much sense.

I want to contradict some of what has been said before: ASCII indeed does support arabic characters.

ISO-8859-6 might be enough for your encoding needs. (I don't know any arabic characters, so I can't really judge.) You still have the problem of font rendering, though.

However: Your previous posts in this thread strongly suggest that you lack Required Knowledge. Make sure you really know what you're up against, before you start hacking. A good grasp of technical English, for one, is absolutely required to get anywhere.
Every good solution is obvious once you've found it.
User avatar
DavidCooper
Member
Member
Posts: 1150
Joined: Wed Oct 27, 2010 4:53 pm
Location: Scotland

Re: Arabic Alphapet&ASCIISupport

Post by DavidCooper »

In reply to these:-
OsDeveloper wrote:sorry but Iwas Ment exatly that iwant to support in this early stage (Booting Stage) and this idon't know how
for example Ineed to design new Processor from scratch to support arabic and build arabic assembely language with arabic characters
OsDeveloper wrote:but this is aproject iwork for os which support arabic from booting stage
iwas ment by needing for design new Processor to lead that if there isn't any way to do what iwant from my project to throw this idea from my mind and look to another work to support arabic in later stages
The processor does not speak English - it only crunches numbers, so there's absolutely no point in redesigning a processor for any specific language. The VGA is a different matter as it is initially set up to send English letters and numbers to the screen, but you don't need to use it that way. Your best option, as Combuster has already told you, is to use the boot sector to load some more code in which will include an Arabic font (either of your own design or one that has no copyright attached to it), and then you can send Arabic text to the screen from that point on, though it might not be easy as you'll have to work in a graphics mode. The VGA graphics modes aren't best suited to Arabic as they either have giant pixels or every byte sent to the screen affects 8 bits in a row - for this reason you may be better off going straight into a VESA mode where it's much easier to send a character from the font to the screen without having to do lots of complex processing first. Once you've got that set up, you can then send comments to the screen in Arabic.

Maybe you think it would be a good idea to make a VGA replacement which can send Arabic characters straight to the screen in a text mode designed specifically for Arabic, but what's the point when it's only realistically going to be used for a few seconds during booting? As soon as you get into a proper graphics mode there is complete equality between languages as they all have to have their own fonts loaded in in the same way.

There is also nothing to stop you writing an assembler that allows you to write programs using Arabic, just as a text editor or word processor can be written to work with any language or script. There's nothing about the hardware that needs to be changed to support that - all you need's an Arabic keyboard.
Help the people of Laos by liking - https://www.facebook.com/TheSBInitiative/?ref=py_c

MSB-OS: http://www.magicschoolbook.com/computing/os-project - direct machine code programming
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Arabic Alphapet&ASCIISupport

Post by Combuster »

Solar wrote:ASCII indeed does support arabic characters. (...) ISO-8859-6
Technically making it something not ASCII :wink:
But to illustrate my original point: 8859-6 depends on combining characters. Say goodbye to your 1:1 byte-glyph mapping so there is no trivial implementation of that encoding.
for os which support arabic from booting stage
Logic dictates that if your bootloader does not print any text, it supports any and all languages. Arabic included :wink:


That said, Solar and Brynet have the key point: your current amount of skill points seems to be insufficient for your intended task. Try again after a year of practice.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
psnix
Member
Member
Posts: 50
Joined: Fri Oct 24, 2008 12:34 pm

Re: Arabic Alphapet&ASCIISupport

Post by psnix »

Arabization and arabic:
Big problem of the persians and turks. It's interesting we try to remove arabic and arabic alphabet from our language. :D and you want to create an arabic processor.:shock:

there are many problems in the representing right to left language (like as arabic and persian) in the computer systems. because they have more than 3 representation for the one alphabet (like "Be") and secoud problem is the sym of the alphabets for example:

ب

can be read "Be", "Ba", "Bo" and ..., how you want to implement this?!

in our country in the pahlavi government, shah (King) start a project for removing arabic words and arabic writing from persian language (like as ataturk in turkey) and many of the arabic words removed from our language (but in coming of the new arab based government I.R.I all try ... pufffffff)

EuroFarsi writing convention:
http://www.eurofarsi.com/

i think it's better than creating a new arabic processor

sorry for my bad english
Post Reply