PDA

View Full Version : نوشتن حروف فارسی چسبان به صورت تکی در لیست باکس



pirmard
شنبه 11 دی 1389, 21:37 عصر
سلام
من نیاز دارم که حروفی مثل "ﺴ" رو بتونم به عنوان یه آیتم توی یه لیست باکس مثلن نمایش بدم
چه راهی وجود داره ؟

ASedJavad
یک شنبه 12 دی 1389, 06:35 صبح
سلام یکی از راههای نه چندان خوب اینه که قبل و بعد "س" از آندرلاین استفاده کنی.
میشه : "ـسـ"

pirmard
یک شنبه 12 دی 1389, 09:07 صبح
سلام یکی از راههای نه چندان خوب اینه که قبل و بعد "س" از آندرلاین استفاده کنی.
میشه : "ـسـ"


ممنون
اما سوال در مورد چاپ تکیشونه

ali.rezaei7
دوشنبه 13 دی 1389, 23:36 عصر
درود. فکر می کنم این مسئله بر می گرده به توانایی کنترل مورد نظر، در به نمایش در آوردن این جور کارکترها. من راه های مختلف امتحان کردم، ولی به نتیجه نرسیدم. به عنوان نمونه کد کارکتررو به تابع chrW دادم، اما لیست باکس خروجی تابعو با کاراکتر "؟" نشون داد. ولی زمانی که اون کاراکترو تو کنترل ریچ تکست باکس کپی کردم، مشکل برطرف شد.

pirmard
دوشنبه 13 دی 1389, 23:41 عصر
درود. فکر می کنم این مسئله بر می گرده به توانایی کنترل مورد نظر، در به نمایش در آوردن این جور کارکترها. من راه های مختلف امتحان کردم، ولی به نتیجه نرسیدم. به عنوان نمونه کد کارکتررو به تابع chrW دادم، اما لیست باکس خروجی تابعو با کاراکتر "؟" نشون داد. ولی زمانی که اون کاراکترو تو کنترل ریچ تکست باکس کپی کردم، مشکل برطرف شد.


ممنون
مشکل من حل شد
از طریق 4 کد دوبایتی جدا که به یونیکد هر کرکتر اضافه میشه (که تو کرکتر مپ قابل رویت ه)
یه نمونه شسته رفته و بدون اضافات می زارم اگه عمرم برسه

ali.rezaei7
سه شنبه 14 دی 1389, 00:03 صبح
ممنون می شم، اگه یه نمونه کد بزاری.آخه کامل متوجه نشدم که چه جوری به نتیجه رسیدی. چون منم از کارکتر مپ این کار انجام دادم، ولی به نتیجه نرسیدم.

vbhamed
سه شنبه 14 دی 1389, 02:00 صبح
سلام

با برنامه Font Creator يك فونت دلخواه رو طوري تغيير بدين كه كاراكتر كشيدن حرف ( ـ ) خيلي كوچيك و به عرض 0 پيكسل دربياد
اونوقت حرف دلخواه و كاراكتر كشيدن رو با همون فونت نمايش بديد يا چاپ كنيد

اينم يك نمونه كه با فونت Tahoma درست شده، البته بعد از نصب فونت اسمش Tahoma2 ميشه تا با اصلي قاطي نشه

ضمنا جاي اين كاراكتر تو اين برنامه بعد از علامت سؤال و همزه كوچك است ( ء ؟ )

64500

pirmard
سه شنبه 14 دی 1389, 12:24 عصر
ممنون می شم، اگه یه نمونه کد بزاری.آخه کامل متوجه نشدم که چه جوری به نتیجه رسیدی. چون منم از کارکتر مپ این کار انجام دادم، ولی به نتیجه نرسیدم.

ساده ترین کدی که می تونین استفاده کنین :



i = 1587
List1.AddItem (i)
List1.AddItem (ChrW(i)) ' ISOLATE
List1.AddItem (ChrW(i)) & ChrW(&H200D&) ' INITIAL
List1.AddItem ChrW(&H200D&) & (ChrW(i)) & ChrW(&H200D&) ' MEDIAL
List1.AddItem ChrW(&H200D&) & (ChrW(i)) ' FINAL



این کد حالات مختلف حرف "سین" رو به ترتیب در حالت ایزوله/اینیشیال/مدیال/فاینال به لیست باکس اضافه می کنه

می تونین نتیجه رو توی لیست باکس ببینین :
http://m1.imagemoon.us/images/10127IMMchar.JPG


64528

pirmard
سه شنبه 14 دی 1389, 12:30 عصر
سلام

با برنامه Font Creator يك فونت دلخواه رو طوري تغيير بدين كه كاراكتر كشيدن حرف ( ـ ) خيلي كوچيك و به عرض 0 پيكسل دربياد
اونوقت حرف دلخواه و كاراكتر كشيدن رو با همون فونت نمايش بديد يا چاپ كنيد


64500

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

niko2008
چهارشنبه 15 دی 1389, 16:32 عصر
ساده ترین کدی که می تونین استفاده کنین :



i = 1587
List1.AddItem (i)
List1.AddItem (ChrW(i)) ' ISOLATE
List1.AddItem (ChrW(i)) & ChrW(&H200D&) ' INITIAL
List1.AddItem ChrW(&H200D&) & (ChrW(i)) & ChrW(&H200D&) ' MEDIAL
List1.AddItem ChrW(&H200D&) & (ChrW(i)) ' FINAL



این کد حالات مختلف حرف "سین" رو به ترتیب در حالت ایزوله/اینیشیال/مدیال/فاینال به لیست باکس اضافه می کنه

می تونین نتیجه رو توی لیست باکس ببینین :
http://m1.imagemoon.us/images/10127IMMchar.JPG


64528
دوست عزیز چطوری میتوان کد یه فونت خاص رو مثلا بی لوتوس رو بدست آورد؟

vbhamed
چهارشنبه 15 دی 1389, 17:01 عصر
لول ! کشته مرده ی این روشهای تف مال ام!
لابد همراه برنامه مون باید یه پکیج فونت کریتور ! هم به یوزر بدیم ! بگیم هر فونتی که خواستی توی برنامه اضافه کنی بی زحمت برو تو فونت کریتور کرکتر فلان رو کوچیکش کن و سیوش کن و بعد استفاده کن تو برنامه ی ما !!
هر چند صورت مساله رو هم شما ندیدی انگار که چاپ تکی بود ! نه چاپ دو کرکتر! که یکیشون کوچیک شده و دیده نمیشه .
در عین حال ممنون

سلام

دوست عزيز
شما گفتي مي خوام نمايش بدم
ضمنا اين روش هم خودت گفتي، من فقط چيزي رو گفتم كه مشكل كشيدگي حل بشه

pirmard
چهارشنبه 15 دی 1389, 17:07 عصر
دوست عزیز چطوری میتوان کد یه فونت خاص رو مثلا بی لوتوس رو بدست آورد؟


در مورد فونتهایی که با B شروع میشن اطلاعی ندارم

pirmard
چهارشنبه 15 دی 1389, 17:09 عصر
ضمنا اين روش هم خودت گفتي

متوجه این قسمت نشدم . کدوم روش رو من گفتم ؟ روش آندرلاین ؟

niko2008
چهارشنبه 15 دی 1389, 21:57 عصر
در مورد فونتهایی که با B شروع میشن اطلاعی ندارم

دوست عزیز منظور من مثل کارکتر مپ ویندوز چطور میشه بدست آورد؟

vbhamed
شنبه 18 دی 1389, 14:23 عصر
متوجه این قسمت نشدم . کدوم روش رو من گفتم ؟ روش آندرلاین ؟

سلام

بله روش آندرلاين

pirmard
سه شنبه 21 دی 1389, 13:28 عصر
دوست عزیز منظور من مثل کارکتر مپ ویندوز چطور میشه بدست آورد؟

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

pirmard
سه شنبه 21 دی 1389, 13:36 عصر
سلام

بله روش آندرلاين

روش من کجاش از آندرلاین استفاده شده ؟:قهقهه:

توی روش شما دو کرکتر چاپ می شدن که یکیشو شما فرومده بودین باید دستی کوچیکش کرد تا دیده نشه !
اما روشی که من گفتم فقط یک کرکتر چاپ میشه !
اینکه کد اون کرکتر با یک کد دیگه جمع میشه هم دلیل بر دو کرکتری بودن نیست . بلکه اون کد کنترلی هست که باعث میشه یک کرکتر حالت چسبیده و یا حالتهای دیگه رو بگیره .

ali.rezaei7
سه شنبه 21 دی 1389, 14:24 عصر
روش من کجاش از آندرلاین استفاده شده ؟:قهقهه:

توی روش شما دو کرکتر چاپ می شدن که یکیشو شما فرومده بودین باید دستی کوچیکش کرد تا دیده نشه !
اما روشی که من گفتم فقط یک کرکتر چاپ میشه !
اینکه کد اون کرکتر با یک کد دیگه جمع میشه هم دلیل بر دو کرکتری بودن نیست . بلکه اون کد کنترلی هست که باعث میشه یک کرکتر حالت چسبیده و یا حالتهای دیگه رو بگیره .

ولي دقيقا دوتا كاركتر ثبت مي شه ها!!! من اون كدي كه گذاشتي رو داخل يه تكست انتقال دادم. و موقع پاك كردن حتما بايد دو بار Back Space بزني تا كاركتر پاك شه.ولي در مورد شما كارتو راه مي ندازه ديگه چون اطلاعات قراره كه تو ليست ثبت بشه.:چشمک:

vbhamed
سه شنبه 21 دی 1389, 16:02 عصر
روش من کجاش از آندرلاین استفاده شده ؟:قهقهه:

توی روش شما دو کرکتر چاپ می شدن که یکیشو شما فرومده بودین باید دستی کوچیکش کرد تا دیده نشه !
اما روشی که من گفتم فقط یک کرکتر چاپ میشه !
اینکه کد اون کرکتر با یک کد دیگه جمع میشه هم دلیل بر دو کرکتری بودن نیست . بلکه اون کد کنترلی هست که باعث میشه یک کرکتر حالت چسبیده و یا حالتهای دیگه رو بگیره .


سلام
دوست عزيز منظور منم اين نبود دو تا كاراكتر رو جمع كنيد ميشه 2 كاراكتر
اما من اشتباها فكر كردم پست شماره 2 همين تاپيك مال شماست و با توجه به اون گفتم