Click here to Skip to main content
Click here to Skip to main content

Arabization Controls for Smart Devices

, 11 May 2009
Rate this:
Please Sign up or sign in to vote.
.NET controls to be used for development of Arabic applications for smart devices.

Introduction

Compact .NET Framework Arabic Enabled Assemblies allow .NET developers to create Arabic enabled applications without using any other external software.

Background

The idea was born while I was working on a Symbol handheld creating shelf prices' checker and labels printing software for Windows CE 5.0. I was required to retrieve, display and print Arabic (Hindi) numbers and context.

Using the Code

This code is a sample code for design-time controls.

This project is complete but it would need some modifications depending on your needs:

/* Sample code for Arabic Button */

using System.Drawing;
using System.Windows.Forms;
using System.Text;

namespace Ar.Controls
{
    public class ArabicButton : System.Windows.Forms.Button
    {
        private bool m_HindiNumerals;
        private string m_LogicalText;
        private bool m_RightToLeft;

        public bool HindiNumerals
        {
            get
            {
		return this.m_HindiNumerals;
            }
            set
            {
		this.m_HindiNumerals = value;
		this.Text = this.m_LogicalText;
            }
        }

        public new bool RightToLeft
        {
            get
            {
		return this.m_RightToLeft;
            }
            set
            {
		this.m_RightToLeft = value;
		this.Text = this.m_LogicalText;
            }
        }

        public new string Text
        {
            get
            {
		return this.m_LogicalText;
            }
            set
            {
		if (value != null)
		{
			this.m_LogicalText = value;
			StringBuilder builder1 = 
				new StringBuilder(this.Text.Length + 1);
			short num1 = (short) this.m_LogicalText.Length;
			ushort[] numArray1 = new ushort[1];
			if (this.m_HindiNumerals)
			{
				numArray1[0] = 1;
			}
			else
			{
				numArray1[0] = 0;
			}
			mArabicCoreWrapper.BuildArabicStringWithLigate
			(this.m_RightToLeft, this.Text, builder1, num1, numArray1);
			base.Text = builder1.ToString();
		}
            }
        }

        public override System.Drawing.Font Font
        {
            get
            {
				return base.Font;
            }
            set
            {
				base.Font = value;
				Invalidate();
            }
        }

        public ArabicButton()
        {
			//this.Font = new Font("Tahoma", 8f, FontStyle.Regular);
			this.m_RightToLeft = true;
			this.m_HindiNumerals = true;
        }
    } // class ArabicButton
}

It was written for compact framework version 2.0, tested on Windows CE 5.0 and Windows Mobile 5.0.

Points of Interest

Arabic is a very complicated and beautiful language. I hope to use this language in programming instead of English.

History

This project started earlier in 2005 and it sure needs some modifications.

  • 11/5/2009: Added mArabicCore in the article attachments

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)

About the Author

Hani Gamal
CEO Maktabak Dot Net
Egypt Egypt
Hani Gamal is a Senior Analyst Programmer by profession and an operation director of Maktabak Dot Net, a leading open source integrated solutions provider, a co-founder of PHP for Arabs usergroup and the founder of PHP Egypt usergroup. Hani adores technical challenges with strong experience in design and high integration problem solving skills gained over 10 years of professional diverse experience ranging from developing business plans, requirements specifications, user documentation to architectural systems research.
Group type: Collaborative Group

1 members

Follow on   Twitter   Google+

Comments and Discussions

 
Generalthe project has error on compilation, could you please help me PinmemberGeorge abboudeh12-Jan-10 2:02 
GeneralHelp PinmemberMember 68709130-Nov-09 17:33 
QuestionPlease help me ... Error when registering mArabicCore.dll in windows ce PinmemberA.Ibrahim22-Jul-09 2:53 
GeneralA reference to 'mArabicCore.dll' could not be added. PinmemberA.Ibrahim19-Jul-09 23:58 
GeneralRe: A reference to 'mArabicCore.dll' could not be added. PingroupHani Gamal20-Jul-09 0:13 
GeneralRe: A reference to 'mArabicCore.dll' could not be added. PinmemberMember 6870917-Dec-09 23:35 
GeneralmArabicCore.dll Pinmembergaurav srivastav11-May-09 0:06 
GeneralRe: mArabicCore.dll Pinmemberhanigamal11-May-09 2:43 
Questionwhere is mArabicCore.dll ??????? PinmemberNoOoOor22-Mar-09 7:15 
AnswerRe: where is mArabicCore.dll ??????? Pinmemberhanigamal15-Apr-09 14:10 
GeneralSystem.cf PinmemberDrMazenJamal19-Jan-09 21:46 
QuestionSystem.cf PinmemberDrMazenJamal19-Jan-09 21:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.140721.1 | Last Updated 11 May 2009
Article Copyright 2008 by Hani Gamal
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid