PDA

View Full Version : یه سوال در مورد کد اسکی حروف عربی؟



Omid_hope
شنبه 28 فروردین 1389, 19:54 عصر
سلام دوستان ، من می خوام کد های اسکی حروف و حرکات زبان عربی رو بدست بیارم . میشه کمکم کنید . چطوری می تونم تو #C این کار رو بکنم و یونیکد حروف رو بدست بیارم .

ممنون میشم راهنمایی بفرمائید.:چشمک:

mohammad meta
شنبه 28 فروردین 1389, 22:07 عصر
سلام اگه میخوای عربی بشه keyboard تو arabic کن بعد جای 'ر' هر کاراکتری که می خوای بزار


MessageBox.Show(((int)('ر')).ToString());

Omid_hope
یک شنبه 29 فروردین 1389, 19:46 عصر
ممنون ، ولی می خوام کل حروف و حرکات رو یکجا بدست بیارم .

mohammad meta
یک شنبه 29 فروردین 1389, 20:13 عصر
می خای چیکار ؟ بگو شاید راه بهتری پیدا بشه !

mohammad meta
یک شنبه 29 فروردین 1389, 20:22 عصر
اینم اونیکه می خواستی :
http://www.ldc.upenn.edu/myl/morph/buckwalter.html

Omid_hope
دوشنبه 30 فروردین 1389, 20:43 عصر
من یه فایل متنی دارم که تمام آیات قرآن داخلش هست ولی متاسفانه #C با این حروف سازگار نیست و نمیشناسه . فکر کردم اگه با کد اسکی کارکترها کار کنم بشه یه کاریش کرد .

حالا نمی دونم ...

Omid_hope
دوشنبه 30 فروردین 1389, 21:10 عصر
ممنونم محمد جان ، خیلی بدردم خورد . اگه پیشنهادی هم داشتین لطف کنید برام بگید . ممنون می شم .

Saeed.Masoumi
دوشنبه 30 فروردین 1389, 21:59 عصر
سلام
منم همین مشکل رو داشتم براش این کلاس رو نوشتم و با تبدیل متن عربی به متن فارسی مشکلم رو حل کردم.حالا شما بسته به کارتون از این روش ایده بگیرید
موفق باشید.


public static class ChangerClass
{
private static List<char> ForbidenCharacters = new List<char>
{ '\u0650','\u061A','\u0670','\u06C0','\u06E0','\u06 51','\u06E1','\u0652','\u06E2','\u0653','\u0654',' \u06E4'
,'\u0655','\u0616','\u0656','\u0618','\u0658','\u0 619','\u0659','\u06D9','\u064B','\u06DB','\u064D', '\u064E','\u06DF'
,'\u064F','\u064C'};
private static List<char> Ta = new List<char> { '\u0629' };
private static List<char> AliphIsoMorphs = new List<char> {'\u0623','\u0625','\u0675'};
private static List<char> Ya = new List<char> { '\u06D0', '\u06D1', '\u0678', '\u0649', '\u064A', '\u06CD', '\u06CC', '\u063D', '\u06CE', '\u063F' };
private static List<char> Kaf = new List<char> { '\u0643', '\u06A9', '\u06AA', '\u063B', '\u06AB', '\u063C', '\u06AC', '\u06AD', '\u06AE' };
public static string ChangeToPersian(string Text)
{
string TemporaryText = null;
char[] TemporaryCharArray = Text.ToCharArray();
for (int i = 0; i < TemporaryCharArray.Length; i++)
{
if (!ForbidenCharacters.Contains(TemporaryCharArray[i]) && !AliphIsoMorphs.Contains((TemporaryCharArray[i])) && !Ya.Contains((TemporaryCharArray[i])) && !Kaf.Contains((TemporaryCharArray[i])) && !Ta.Contains((TemporaryCharArray[i])))
TemporaryText += TemporaryCharArray[i];
if(AliphIsoMorphs.Contains((TemporaryCharArray[i])))
TemporaryText +='ا';
if (Ya.Contains((TemporaryCharArray[i])))
TemporaryText += 'ی';
if (Kaf.Contains((TemporaryCharArray[i])))
TemporaryText += 'ک';
if (Ta.Contains((TemporaryCharArray[i])))
TemporaryText += 'ه';
}
return TemporaryText;
}
}

Meisam9180
دوشنبه 18 دی 1396, 00:42 صبح
سلام
منم همین مشکل رو داشتم براش این کلاس رو نوشتم و با تبدیل متن عربی به متن فارسی مشکلم رو حل کردم.حالا شما بسته به کارتون از این روش ایده بگیرید
موفق باشید.


public static class ChangerClass
{
private static List<char> ForbidenCharacters = new List<char>
{ '\u0650','\u061A','\u0670','\u06C0','\u06E0','\u06 51','\u06E1','\u0652','\u06E2','\u0653','\u0654',' \u06E4'
,'\u0655','\u0616','\u0656','\u0618','\u0658','\u0 619','\u0659','\u06D9','\u064B','\u06DB','\u064D', '\u064E','\u06DF'
,'\u064F','\u064C'};
private static List<char> Ta = new List<char> { '\u0629' };
private static List<char> AliphIsoMorphs = new List<char> {'\u0623','\u0625','\u0675'};
private static List<char> Ya = new List<char> { '\u06D0', '\u06D1', '\u0678', '\u0649', '\u064A', '\u06CD', '\u06CC', '\u063D', '\u06CE', '\u063F' };
private static List<char> Kaf = new List<char> { '\u0643', '\u06A9', '\u06AA', '\u063B', '\u06AB', '\u063C', '\u06AC', '\u06AD', '\u06AE' };
public static string ChangeToPersian(string Text)
{
string TemporaryText = null;
char[] TemporaryCharArray = Text.ToCharArray();
for (int i = 0; i < TemporaryCharArray.Length; i++)
{
if (!ForbidenCharacters.Contains(TemporaryCharArray[i]) && !AliphIsoMorphs.Contains((TemporaryCharArray[i])) && !Ya.Contains((TemporaryCharArray[i])) && !Kaf.Contains((TemporaryCharArray[i])) && !Ta.Contains((TemporaryCharArray[i])))
TemporaryText += TemporaryCharArray[i];
if(AliphIsoMorphs.Contains((TemporaryCharArray[i])))
TemporaryText +='ا';
if (Ya.Contains((TemporaryCharArray[i])))
TemporaryText += 'ی';
if (Kaf.Contains((TemporaryCharArray[i])))
TemporaryText += 'ک';
if (Ta.Contains((TemporaryCharArray[i])))
TemporaryText += 'ه';
}
return TemporaryText;
}
}



خیلی ممنونم از مطلب واقعا مفید شما دوست عزیزم