PDA

View Full Version : تبديل كد كاراكترهاي وسط كلمه



smakhavan
جمعه 23 اردیبهشت 1390, 16:18 عصر
سلام
من يك متن دارم كه از نظر كاراكترها مانند نمونه زير است:

"ﻃﻌﻢ ﺧﺎﺻﯽ ﻧﺪارد"

در ظاهر كاملا درست است اما وقتي ميخواهيم آن را اصلاح كنيم، متوجه مي‌شويم كه كاراكترها كدهاي اصلي خود نيستند، چون تغيير شكل نميدهند (براي مشخص شدن تفاوت، متن را در يك ويرايشگر كپي پيست كنيد و سعي كنيد بين حروف space بزنيد كه مي‌شود ﻃ ﻌ ﻢ در صورتي كه بايد ط ع م بشود)

چطور مي‌توان آن را تبديل به حالت عادي كنم

tdkhakpur
شنبه 24 اردیبهشت 1390, 00:10 صبح
چطور مي‌توان آن را تبديل به حالت عادي كنم

این مورد خیلی جالبه!(اولین باری هست که میبینم کنترلر زبان هیچ عکس العملی از خودش نشون نمیده).از دوستان کسی نظری دارن لطف کنن ارسال کنن تا زود تر به نتیجه برسیم.
ولی برای تبدیل میتوانید داخل memo لود کنید بعد ذخیره.

یوسف زالی
یک شنبه 25 اردیبهشت 1390, 13:26 عصر
من قبلا ها یه کار مشابه کردم.
واسه فتوشاپ که فارسی رو ساپورت نمی کرد.
این کاراکترها کدهای اصلی رو ندارند.
باید با اصلی هاش replace بشن.
برنامه CharMap ویندوز رو با فونت Tahoma باز کن تا منظورم رو متوجه بشی.
اگه توضیحات بیشتر می خوای بگو که اگه تونستم کمکت کنم.

tdkhakpur
یک شنبه 25 اردیبهشت 1390, 14:51 عصر
این کاراکترها کدهای اصلی رو ندارند.
باید با اصلی هاش replace بشن

این قسمت که کدهای اصلی رو ندارن درسته اما چطور ترسیم میشه و چطور میشه این کار رو با سورس انجام داد؟


اگه توضیحات بیشتر می خوای بگو که اگه تونستم کمکت کنم.

نیکی و پرسش!
در مورد استخراج بیت مپ حروف از فونت چه نظری دارید؟

یوسف زالی
یک شنبه 25 اردیبهشت 1390, 16:14 عصر
چشم.
راستش برا بیت مپ هم یه کارایی کردم.
اومدم نوشتمش رو یه Image و از Canvas اون استفاده کردم.
مثل
Image1.Canvas.Font.Name := 'Tahoma';
Image1.Canvas.TextOut(10, 10, 'Salam');

برا کاراکترها هم این سورس رو ببین.

tdkhakpur
یک شنبه 25 اردیبهشت 1390, 20:38 عصر
برا کاراکترها هم این سورس رو ببین.

برنامه خوبیه فقط این کار رو برای زمانی که روی ویندوز فارسی نصب نیست امتحان کردید؟
یعنی کاراکترها رو میتونه به همان صورتی که داخل text خارج میکنید دوباره تولید کنه؟

یوسف زالی
دوشنبه 26 اردیبهشت 1390, 08:14 صبح
راستش تست نکردم ولی به طور نظری کافیه فونت داشته باشید.
چون مستقیم با کد ها کار داره نه با کیبرد.

smakhavan
دوشنبه 26 اردیبهشت 1390, 10:04 صبح
آقا انگار بحث عوض شد. من اين متنهاي كذايي را كه توي ديتابيس هست با چه روشي عوض كنم؟

یوسف زالی
دوشنبه 26 اردیبهشت 1390, 10:30 صبح
دارم میگم دیگه!
اگه سورس RTL که گذاشتم رو بخونی متوجه میشی.

tdkhakpur
دوشنبه 26 اردیبهشت 1390, 22:06 عصر
من اين متنهاي كذايي را كه توي ديتابيس هست با چه روشي عوض كنم؟
با کدی که جناب yusijon ارسال کردن میتونید روش تبدیل دادهای خودتان را به حالت استاندارد از اون طریق که در برنامه استفاده شده به کار ببرید ولی اگر کارتان فوری هست میتوانید بصورت


Memo1.Lines.SetText('دﻃﻌﻢ ﺧﺎﺻﯽ ﻧﺪارد');
ShowMessage(Memo1.Lines.Text);

داده ها رو داخل memo قرار داده و سپس لود کنید.

tdkhakpur
دوشنبه 26 اردیبهشت 1390, 22:12 عصر
چون مستقیم با کد ها کار داره نه با کیبرد.

ممنون.
اگر کار به این شکل صورت بگیره مشخص میشه که درایور زبان ویندوز این کدها رو جزو فارسی قبول نمیکنه و با این کاراکترها به عنوان کاراکترهای غیر فارسی مثل لاتین برخورد میکنه و بدون اینکه تاثیری در نحوه چیده شدن کاراکترها انجام بده اونها رو مستقیما از فونت بیرون کشیده و رسم میکنه.