نویسنده: اوژن کی نژاد

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

اولین شرط لازم برای نوشتن کاراکترهای فارسی، تعریف فونت آن بصورت مناسب برای تمام شکل های مختلف حروف و علامت های مورد استفاده است. برای تعریف این فونت ها باید این مسئله مد نظر قرار داده شود که به دلیل چسبیدن حروف به یکدیگر در فارسی، ارتفاع فونت ها باید بگونه ای طراحی شوند که در هنگام چسبیدن به حروف کناری، یک پیوستگی منطقی بین آنها ایجاد شود. نکته بعدی در حروفی مانند "خ" یا "ق" است که باید علاوه بر حفظ ارتفاع درست برای فونت، در فضای موجود برای تعریف آن وجود قوس و نقطه در حرف هم رعایت شود که در سایزی مانند 8x8، رعایت همه این موارد با یکدیگر کار چندان ساده ای نیست. مسئله بعدی این است که با فرض صحت تعریف فونت ها، چگونه باید آنها را توسط دستور LCDAT احضار کرد و کلمات و جملات مورد نظر را روی LCD ایجاد کرد.

برای حل هردوی این موارد یک نوع فونت فارسی طراحی شده توسط مولف این مقاله، در اختیار علاقه مندان قرار خواهد گرفت و روش استفاده از آن در اینجا توضیح داده می شود.

روش های مختلفی برای احضار فونت های فارسی قابل تعریف است که یکی از آنها، منتسب کردن یک عبارت به هر فونت است که بجای فونت جایگزین می شود. در این روش برای کنار هم قرار دادن فونت ها از علامت جمع (+) استفاده می شود. به عنوان مثال بر مبنای کدی که در ادامه خواهد آمد، دستور زیر عبارت "نوین تراشه البرز را روی سطر اول LCD نمایش می دهد:

Dim S As String * 16

S = Ze + Re + Be_koochak + Laam_koochak + Alef + He_koochak + Shin_koochak + Alef + Re + Te_koochak + Noon_bozorg + Ye_koochak + Vav + Noon_koochak

Lcdat 1 , 1 , S

با این روش، ترکیب حروف فارسی و لاتین هم مقدور است و کاراکترهای استاندارد باید در بین دو علامت "" قرار بگیرند. متن کامل برنامه ای که بتواند عبارت های فارسی و لاتین را بصورت دلخواه بنویسد، در زیر آورده شده است. در این برنامه در سطر اول عبارت "نوین تراشه البرز" و در سطر سوم عبارت "فارسی+ENGLISH" نمایش داده می شود.

توجه: برای نمایش کاراکترهای فارسی باید فایل اصلاح شده font8x8.font بجای فایل استاندارد بسکام جایگزین شود. در غیر اینصورت کاراکترهای دیگری بجای کاراکترهای فارسی نمایش داده خواهند شد.این فایل اصلاح شده هم اکنون در بخش دانلود سایت قرار داده شده است. این فایل باید در مسیری که برنامه بسکام در آن قرار دارد، کپی شود.

در بخش های بعدی در مورد کار با LCD های مبتنی بر کنترل کننده T6963c و روش فارسی نویسی روی این LCD ها توضیح داده خواهد شد.

لینک بخش هفتم




$regfile = "m64def.dat"

$crystal = 16000000

$lib "glcdks108.lbx"

_0 Alias Chr(128)

_1 alias Chr(129)

_2 alias Chr(130)

_3 alias Chr(131)

_4 alias Chr(132)

_5 alias Chr(133)

_6 alias Chr(134)

_7 alias Chr(135)

_8 alias Chr(136)

_9 alias Chr(137)

Virgool alias Chr(138)

Khateh_chasban alias Chr(139)

Alamat_soal alias Chr(140)

A_ba_kolah alias Chr(141)

Hamzeh_chasban alias Chr(142)

Hamzeh_joda alias Chr(143)

Alef alias Chr(144)

Alef_chasbaan alias Chr(145)

Be_bozorg alias Chr(146)

Be_koochak alias Chr(147)

Pe_bozorg alias Chr(148)

Pe_koochak alias Chr(149)

Te_bozorg alias Chr(150)

Te_koochak Alias Chr(151)

Se_bozorg alias Chr(152)

Se_koochak alias Chr(153)

Jim_bozorg alias Chr(154)

Jim_koochak alias Chr(155)

Che_bozorg alias Chr(156)

Che Koochak alias Chr(157)

He_jimi_bozorg alias Chr(158)

He_jimi_koochak alias Chr(159)

Khe_bozorg alias Chr(160)

Khe_koochak alias Chr(161)

Daal alias Chr(162)

Zaal alias Chr(163)

Re Alias Chr(164)

Ze Alias Chr(165)

Zhe alias Chr(166)

Sin_bozorg alias Chr(167)

Sin_koochak alias Chr(168)

Shin_bozorg alias Chr(169)

Shin_koochak alias Chr(170)

Saad_bozorg alias Chr(171)

Saad_koochak alias Chr(172)

Zaad_bozorg alias Chr(173)

Zaad_koochak alias Chr(174)

Taa alias Chr(175)

Zaa alias Chr(176)

Ein_bozorg alias Chr(177)

Ein_akhar_chasban alias Chr(178)

Ein_vasat alias Chr(179)

Ein_koochak alias Chr(180)

Ghein_bozorg alias Chr(181)

Ghein_akhar_chasban alias Chr(182)

Ghein_vasat alias Chr(183)

Ghein_koochak alias Chr(184)

Fe_bozorg alias Chr(185)

Fe_koochak alias Chr(186)

Ghaaf_bozorg alias Chr(187)

Ghaaf_koochak alias Chr(188)

Kaaf_bozorg alias Chr(189)

Kaaf_koochak alias Chr(190)

Gaaf_bozorg alias Chr(191)

Gaaf_koochak alias Chr(192)

Laam_bozorg alias Chr(193)

Laam_alef alias Chr(194)

Laam_koochak alias Chr(195)

Mim_bozorg alias Chr(196)

Mim_koochak alias Chr(197)

Noon_bozorg alias Chr(198)

Noon_koochak alias Chr(199)

Vav Alias Chr(200)

He_koochak alias Chr(201)

He_vasat alias Chr(202)

He_chasbaan_avval alias Chr(203)

Ye_chasbaan alias Chr(204)

Ye_bozorg alias Chr(205)

Ye_koochak alias Chr(206)

Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 6 , Ce2 = 7 , Cd = 2 , Rd = 3 , Reset = 5 , Enable = 4

Setfont Font8x8

Cls

Dim S As String * 16

S = Ze + Re + Be_koochak + Laam_koochak + Alef + He_koochak + Shin_koochak + Alef + Re + Te_koochak + Noon_bozorg + Ye_koochak + Vav + Noon_koochak

Lcdat 1 , 1 , S

S = "ENGLISH+" + Ye_chasbaan + Sin_koochak + Re + Alef_chasbaan + Fe_koochak

Lcdat 3 , 1 , S

Do

Loop

End

$include "font8x8.font"

نظر
افزودن جدید جستجو
محمد  - مشکل فارسی نویسی کاملا حل شد     |2010-10-10 20:34:52
اگه اینجا رو بخونید میدونید منظورم
چیه
http://elecom.agape.ir/persian_writing/

د یگه دغدغه ای
برای فارسی نویسی وجود نداره
رضا  - مرسی   |2011-02-11 23:09:02
اقا ممنون واقعا عالی بود.....
هادی  - تشکر   |2011-03-07 22:16:27
واقعا ممنون. خیلی لطف کردید.
Reza  - Mersi ghorban   |2011-04-26 01:11:13
Kheyli Mamnoon
......  - فونت فارسی در بسکام   |2011-08-15 12:07:59
سلام
من نتونستم فایل اصلاح شده رو بجای فایل
استاندارد شده بسکام جایگزین کنم
اگه میشه
کمکم کنید
یه سوال دیگه
کد حروف فارسی رو توی
بسکام میخوام سایتی هست که بتونم بگیرم؟؟
نوشتن نظر
نام:
ایمیل:
 
آدرس سایت:
عنوان:
 

کامپوننت نظرات بر مطالب، جوملا فارسی توسعه و پشتیبانی توسط گروه نرم افزاری جوملا - http://www.joomla.ir"

با کلیک روی 1+ نوین تراشه را محبوب کنید!

| + -