اطلاعیه

Collapse
No announcement yet.

راهنمایی در مورد نوشتن متون فارسی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    راهنمایی در مورد نوشتن متون فارسی

    سلام دوستان .
    من برای انجام پروزه ای میخواهم 3 تا مستطیل کوچک که داخل هر مستطیل متنی به فارسی نوشته شده رو داخل یه lcd گرافیکی 240*120 نشون بدم ولی زمانی که اینو با عکس درست میکنم نوشته من داخل lcd خیلی نا خوانا میشه هر کاری هم کردم نتونستم این 3تا مستطیل کوچک که تقریبا سایزش 35*20 هست با برنامه بنویسم .
    واسه همین تصمیم گرفتم از گذاشتن عکس بیخیال بشم و اینو با خود برنامه انجام بدهم برای درست کردن مستطیل یه چیزایی درست کردم ولی مشکل خطوط داره که به هم نمیچسبه واسه مستطیل میتونم عکس بذارم و مشکلی ندارم ولی واسه متن فارسی داخل این مستطیل ها به مشکل بر خوردم داخل هم سایت یکی از اساتید که واقعا جا دارد اینجا هم ازشون تشکر کنم آموزش گذاشتن متون فارسی داخل lcd گرافیکی با بسکام رو گذاشتند ولی حقیقتا چون من تازه برنامه نویسی رو شروع کردم واسم خیلی سنگین بود . داخل خود مثالی که زدند دو تا خط یکی به فارسی و یکی دیگه به انگلیسی نوشته اند من هم برنامه رو در پائین میذارم مشکل من اینجاست که اولا برای نوشتن یک حرف مثلا (( دمای اتاق )) اون دستورات حلقه رو متوجه نمیشم .
    اگه یکی از دوستان لطف کنه یه چند دقیقه ای وقت بذاره و به من راهنمایی کنه پیشاپیش ازش ممنون میشم .
    مثال خود بزرگوار :
    $regfile = "m64def.dat"
    $crystal = 8000000
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    Const _0 = 0
    Const _1 = 1
    Const _2 = 2
    Const _3 = 3
    Const _4 = 4
    Const _5 = 5
    Const _6 = 6
    Const _7 = 7
    Const _8 = 8
    Const _9 = 9
    Const Virgool = 10
    Const Khateh_chasban = 11
    Const Alamat_soal = 12
    Const A_ba_kolah = 13
    Const Hamzeh_chasban = 14
    Const Hamzeh_joda = 15
    Const Alef = 16
    Const Alef_chasbaan = 17
    Const Be_bozorg = 18
    Const Be_koochak = 19
    Const Pe_bozorg = 20
    Const Pe_koochak = 21
    Const Te_bozorg = 22
    Const Te_koochak = 23
    Const Se_bozorg = 24
    Const Se_koochak = 25
    Const Jim_bozorg = 26
    Const Jim_koochak = 27
    Const Che_bozorg = 28
    Const Che Koochak = 29
    Const He_jimi_bozorg = 30
    Const He_jimi_koochak = 31
    Const Khe_bozorg = 32
    Const Khe_koochak = 33
    Const Daal = 34
    Const Zaal = 35
    Const Re = 36
    Const Ze = 37
    Const Zhe = 38
    Const Sin_bozorg = 39
    Const Sin_koochak = 40
    Const Shin_bozorg = 41
    Const Shin_koochak = 42
    Const Saad_bozorg = 43
    Const Saad_koochak = 44
    Const Zaad_bozorg = 45
    Const Zaad_koochak = 46
    Const Taa = 47
    Const Zaa = 48
    Const Ein_bozorg = 49
    Const Ein_akhar_chasban = 50
    Const Ein_vasat = 51
    Const Ein_koochak = 52
    Const Ghein_bozorg = 53
    Const Ghein_akhar_chasban = 54
    Const Ghein_vasat = 55
    Const Ghein_koochak = 56
    Const Fe_bozorg = 57
    Const Fe_koochak = 58
    Const Ghaaf_bozorg = 59
    Const Ghaaf_koochak = 60
    Const Kaaf_bozorg = 61
    Const Kaaf_koochak = 62
    Const Gaaf_bozorg = 63
    Const Gaaf_koochak = 64
    Const Laam_bozorg = 65
    Const Laam_alef = 66
    Const Laam_koochak = 67
    Const Mim_bozorg = 68
    Const Mim_koochak = 69
    Const Noon_bozorg = 70
    Const Noon_koochak = 71
    Const Vav = 72
    Const He_koochak = 73
    Const He_vasat = 74
    Const He_chasbaan_avval = 75
    Const Ye_chasbaan = 76
    Const Ye_bozorg = 77
    Const Ye_koochak = 78

    Config Graphlcd = 240 * 128 , Dataport = Portc , Controlport = Portd , Ce = 7 , Cd = 4 , Wr = 5 , Rd = 6 , Reset = 3 , Fs = 2 , Mode = 8

    Declare Sub Lcdfarsi(byval X As Byte , Byval Y As Byte , Byval Font As Byte)

    Dim X As Byte
    Dim Y As Byte
    Dim Font As Byte
    Dim X1 As Byte
    Dim Y1 As Byte
    Dim X2 As Byte
    Dim Y2 As Byte
    Dim Y3 As Byte
    Dim Mask As Byte
    Dim F As Byte
    Dim F1 As Byte
    Dim Table As Word
    Dim N As Byte

    Cls
    Cursor Off
    For N = 0 To 15
    X = N + 15
    Font = Lookup(n , Word_table)
    Call Lcdfarsi(x , 1 , Font)
    Next N
    Locate 3 , 1
    Lcd "Knowledge is POWER"

    Do
    Loop
    End

    '******************************************** *****************************

    Sub Lcdfarsi(byval X As Byte , Byval Y As Byte , Byval Font As Byte )
    If X > 30 Then X = 3
    If X = 0 Then X = 1
    If Y > 16 Then Y = 16
    If Y = 0 Then Y = 1
    If Font > Ye_koochak Then Font = Ye_koochak
    X = X -1 : Y = Y -1
    Table = Font * 8
    X1 = X * 8
    Y1 = Y * 8
    For X = 0 To 7
    F = Lookup(table , Font_table)
    For Y = 0 To 7
    Y3 = Y
    Mask = 2 ^ Y3
    F1 = F And Mask
    X2 = X + X1
    Y2 = Y + Y1
    If F1 0 Then Pset X2 , Y2 , 1
    Next Y
    Table = Table + 1
    Next X
    End Sub

    '******************************************** *****************************

    Word_table:

    Data Te_bozorg , Sin_koochak , Alef
    Data Ye_chasbaan , Ye_koochak , Alef_chasbaan , Noon_koochak , Alef , Vav , Te_koochak
    Data Ye_chasbaan , Ye_koochak , Alef_chasbaan , Noon_koochak , Alef , Daal

    '******************************************** *****************************

    Font_table:

    Data &H00 , &H00 , &H30 , &H48 , &H30 , &H00 , &H00 , &H00
    DATA &H00 , &H00 , &H00 , &HFC , &H00 , &H00 , &H00 , &H00
    DATA &H00 , &H00 , &H00 , &HFC , &H10 , &H1C , &H00 , &H00
    DATA &H00 , &HFC , &H10 , &H1C , &H10 , &H1C , &H00 , &H00
    DATA &H00 , &HFC , &H10 , &H18 , &H14 , &H14 , &H00 , &H00
    DATA &H00 , &HE0 , &H98 , &HC4 , &H98 , &HE0 , &H00 , &H00
    DATA &H00 , &H80 , &HD8 , &H64 , &H24 , &H08 , &H00 , &H00
    DATA &H00 , &H0C , &H70 , &HC0 , &H70 , &H0C , &H00 , &H00
    DATA &H00 , &HC0 , &H38 , &H0C , &H38 , &HC0 , &H00 , &H00
    DATA &H00 , &H00 , &H1C , &H14 , &HFC , &H00 , &H00 , &H00
    DATA &H00 , &H00 , &H60 , &HD0 , &H40 , &H00 , &H00 , &H00
    DATA &H20 , &H20 , &H20 , &H20 , &H20 , &H20 , &H20 , &H20
    DATA &H00 , &H00 , &H0C , &HB2 , &H02 , &H04 , &H00 , &H00
    DATA &H00 , &H08 , &H04 , &H7C , &H04 , &H02 , &H00 , &H00
    DATA &H20 , &H20 , &H34 , &H2A , &H2A , &H20 , &H20 , &H18
    DATA &H00 , &H00 , &H20 , &H54 , &H2A , &H0A , &H00 , &H00
    DATA &H00 , &H00 , &H00 , &H00 , &H7E , &H00 , &H00 , &H00
    DATA &H00 , &H00 , &H00 , &H00 , &H1E , &H20 , &H20 , &H20
    DATA &H00 , &H18 , &H20 , &H20 , &HA0 , &H20 , &H20 , &H18
    DATA &H20 , &H20 , &H20 , &H20 , &HA0 , &H20 , &H20 , &H18
    DATA &H00 , &H18 , &H20 , &H60 , &HA0 , &H60 , &H20 , &H18
    DATA &H20 , &H20 , &H20 , &H60 , &HA0 , &H60 , &H20 , &H18
    DATA &H00 , &H18 , &H20 , &H24 , &H20 , &H24 , &H20 , &H18
    DATA &H20 , &H20 , &H20 , &H24 , &H20 , &H24 , &H20 , &H18
    DATA &H00 , &H18 , &H20 , &H24 , &H22 , &H24 , &H20 , &H18
    DATA &H20 , &H20 , &H20 , &H24 , &H22 , &H24 , &H20 , &H18
    DATA &H00 , &H00 , &H70 , &H98 , &H8A , &HAA , &H8C , &H18
    DATA &H20 , &H20 , &H20 , &H28 , &HA4 , &H14 , &H18 , &H30
    DATA &H00 , &H00 , &H70 , &H98 , &HAA , &HCA , &HAC , &H18
    DATA &H20 , &H20 , &H20 , &H68 , &HA4 , &H54 , &H18 , &H30
    DATA &H00 , &H00 , &H70 , &H98 , &H8A , &H8A , &H8C , &H18
    DATA &H20 , &H20 , &H20 , &H28 , &H24 , &H14 , &H18 , &H30
    DATA &H00 , &H00 , &H00 , &H60 , &H94 , &H95 , &H98 , &H10
    DATA &H20 , &H20 , &H20 , &H28 , &H25 , &H14 , &H18 , &H30
    DATA &H00 , &H00 , &H00 , &H00 , &H20 , &H44 , &H48 , &H30
    DATA &H00 , &H00 , &H00 , &H00 , &H20 , &H40 , &H4A , &H30
    DATA &H00 , &H00 , &H00 , &H00 , &H80 , &H80 , &H40 , &H38
    DATA &H00 , &H00 , &H00 , &H00 , &H80 , &H80 , &H40 , &H3A
    DATA &H00 , &H00 , &H00 , &H00 , &H80 , &H84 , &H42 , &H34
    DATA &H00 , &H60 , &H80 , &H70 , &H20 , &H30 , &H20 , &H18
    DATA &H20 , &H20 , &H20 , &H30 , &H20 , &H30 , &H20 , &H18
    DATA &H00 , &H60 , &H80 , &H70 , &H24 , &H32 , &H24 , &H18
    DATA &H20 , &H20 , &H20 , &H30 , &H24 , &H32 , &H24 , &H18
    DATA &H00 , &H60 , &H80 , &H60 , &H30 , &H28 , &H28 , &H18
    DATA &H20 , &H20 , &H30 , &H20 , &H30 , &H28 , &H28 , &H18
    DATA &H00 , &H60 , &H80 , &H60 , &H30 , &H28 , &H2A , &H18
    DATA &H20 , &H20 , &H30 , &H20 , &H30 , &H28 , &H2A , &H18
    DATA &H00 , &H20 , &H20 , &H3E , &H30 , &H28 , &H28 , &H18
    DATA &H20 , &H20 , &H20 , &H3E , &H30 , &H28 , &H2A , &H18
    DATA &H00 , &H00 , &H00 , &H00 , &H40 , &HB0 , &HA8 , &HA8
    DATA &H00 , &H00 , &H00 , &H00 , &H60 , &HAC , &H94 , &HAC
    DATA &H20 , &H20 , &H20 , &H2C , &H14 , &H2C , &H20 , &H20
    DATA &H20 , &H20 , &H20 , &H20 , &H20 , &H30 , &H28 , &H28
    DATA &H00 , &H00 , &H00 , &H00 , &H40 , &HB0 , &HAA , &HA8
    DATA &H00 , &H00 , &H00 , &H00 , &H60 , &HAC , &H96 , &HAC
    DATA &H20 , &H20 , &H20 , &H2C , &H15 , &H2C , &H20 , &H20
    DATA &H20 , &H20 , &H20 , &H20 , &H20 , &H30 , &H2A , &H28
    DATA &H00 , &H10 , &H20 , &H20 , &H20 , &H38 , &H2A , &H38
    DATA &H20 , &H20 , &H20 , &H20 , &H20 , &H38 , &H2A , &H38
    DATA &H00 , &H00 , &H70 , &H80 , &HBA , &HA8 , &HBA , &H70
    DATA &H20 , &H20 , &H20 , &H20 , &H20 , &H3A , &H28 , &H3A
    DATA &H00 , &H30 , &H20 , &H20 , &H20 , &H28 , &H34 , &H32
    DATA &H20 , &H20 , &H20 , &H20 , &H20 , &H28 , &H34 , &H32
    DATA &H00 , &H30 , &H20 , &H20 , &H24 , &H2A , &H34 , &H32
    DATA &H20 , &H20 , &H20 , &H20 , &H24 , &H2A , &H34 , &H32
    DATA &H00 , &H00 , &H60 , &H80 , &H80 , &H80 , &H80 , &H7E
    DATA &H00 , &H00 , &H00 , &H00 , &H3E , &H20 , &H20 , &H1E
    DATA &H20 , &H20 , &H20 , &H20 , &H20 , &H20 , &H20 , &H1E
    DATA &H00 , &H00 , &HE0 , &H10 , &H30 , &H48 , &H48 , &H30
    DATA &H20 , &H20 , &H20 , &H20 , &H20 , &H50 , &H48 , &H30
    DATA &H00 , &H00 , &H00 , &H70 , &H80 , &H84 , &H80 , &H70
    DATA &H20 , &H20 , &H20 , &H20 , &H24 , &H20 , &H20 , &H18
    DATA &H00 , &H00 , &H00 , &H00 , &H00 , &HB8 , &HA4 , &H7C
    DATA &H00 , &H00 , &H00 , &H00 , &H00 , &H18 , &H24 , &H38
    DATA &H20 , &H20 , &H30 , &H4C , &H78 , &H48 , &H30 , &H20
    DATA &H20 , &H20 , &H20 , &H30 , &H4C , &H78 , &H48 , &H30
    DATA &H00 , &H60 , &H80 , &H80 , &HA0 , &H50 , &H10 , &H20
    DATA &H00 , &H60 , &H80 , &H80 , &H98 , &HA4 , &H64 , &H04
    DATA &H20 , &H20 , &H20 , &HA0 , &H20 , &HA0 , &H20 , &H18



    #2
    پاسخ : راهنمایی در مورد نوشتن متون فارسی

    برنامه ای که استاد قرار دادند به این صورت هست که جمله فارسی دانایی توانایی است رو با knoledge is power نمایش میدن
    دلیل حلقه برای مکان هر حرف در موقعیت x است
    البته این فونت ها 8*8 هست
    و من دنبال 16*16 میگردم

    دیدگاه

    لطفا صبر کنید...
    X