GRAFİK LCD

Başlatan ~ENES~, 05 Haziran 2015, 20:02:39

~ENES~

pro-tr ustam bu programı kullanarak oluşturuyorum fontları zaten sorun şu ki yazı büyüklüğü 18 puntodan büyük olmuyor çözemedim gitti rüyamda ks0108 görmeye başladım ya :D
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

magic_gun




  Device = 18F2520
    Xtal = 4




Config_Start

 
   OSC = INTIO67; intrnl Oscillator with ra6 and ra7 as ports
   FCMEN = On; Disabled
   IESO = On ; Enabled
   PWRT = On ; Enabled

   WDT = OFF ; Disabled
   WDTPS = 1 ; 1:1
   MCLRE = off ; Enabled
   LPT1OSC = off ; Enabled
   STVREN = On ; Enabled
   LVP = OFF ; Disabled
   Debug = OFF ; Disabled
Config_End

Dim _OVERWRITE#MASKHHHH As Byte System
Dim _PCHAR#DATAHHHH As Byte System
Dim _GLCD_FLAG2 As Byte System
Dim late As Byte System         

Declare LCD_DTPort = PORTC
Declare LCD_RSPin=PORTB.5
Declare LCD_ENPin=PORTB.3
Declare LCD_RWPin=PORTB.4
Declare LCD_CS1Pin=PORTB.7
Declare LCD_CS2Pin=PORTB.6
Declare LCD_Type=Samsung
Declare Internal_Font=On
               
Declare Font_Addr = 0
Declare GLCD_EXTERNAL_PRINT = PPRINT


Dim LM35 As Word
Dim axc As Float
Dim akn As Word
Dim X As Byte
Dim Y As Byte
Dim deger As Float
Dim  Xpos    As Byte
Dim  Ypos    As Byte
Dim  Addr    As Word
Dim  Char    As Byte

Dim i As Byte

TRISB=0
TRISC=0
TRISA=%00001111
ADCON0=%11000001
ADCON1=%00001100
ADCON2=%10111111
OSCCON=%01100001         


Cls

Print Font Minis____14o25
Print At 0,20,"TEST 1234"
Print Font Calib____8o25
Print At 33,2,"test1234"
Print Font Mobil____14o25
Print At 16,20,"TEST 1234"

takil:

GoTo takil
     



 
     
     
kenar:
Print At 0,0,"00"
Print At 1,0,"01"
Print At 2,0,"02"
Print At 3,0,"03"
Print At 4,0,"04"
Print At 5,0,"05"
Print At 6,0,"06"
Print At 7,0,"07"
For i=12 To 127
Plot 28,i
Next
Return
 
Include "calib8.txt"
Include "minis14.txt"
Include "mobile14.txt"


hayal etemeden basaramazsınız
u cnt achieve w/out dreamin

Hattuşa

isis şemanız ile bas dosyanızı ekleyebilirmisiniz? birde ben isisde deneme yapayım

~ENES~

bas ve ısıs şeması ektedir proteus 8 versiyondur
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

~ENES~

Magic_gun hocam fontu 14 punto yerine 24 punto yapıp deneye bilir misiniz zahmet olmazsa size ? Çünkü 18 puntodan yukarı saçmalıyor ..
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

Hattuşa

ustam sorun converter programı ile alakalı bir durum zira converter programı font 20 den büyüğünü convertleyemiyor, programsal veya donanımsal bir sorun yok.
çözüm olarak başka bir convert programı bulmak lazım, inan bende şimdi farkettim

~ENES~

Araştırmaya devam ozaman hocam :) inşaAllah sorunu cozecegiz
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

est32

Merhaba,
Protonda font kullanmakla ilgili kendi tecrübemi paylaşmak istedim.

Söylendiği gibi protonda bir kısıtlama mevcut. En fazla 24 pixel yüksekliğinde font kullanımına izin veriyor(24 deyip geçmeyin bu bile çok fazla bellek tüketiyor). 24 pixel ise 24/8=3 satırlık bir yer kaplıyor. 128*64 bir ekranda 64/8=8 satır yazabilirsiniz.

Peki böyle bir kısıtlamayı nasıl aşabiliriz?
Akıl akıldan üstündür. Proton bize böyle bir kısıtlama koymuşsa biz de küçük bir hile yapacağız. Yapılacak iş çok basit, yapmayı düşündüğümüz fontu bölerek oluşturup, ekran üzerinde birleştireceğiz. Şöyle;
Benim 6 satırlık yani 48 pixel yüksekliğinde rakamların gösterileceği bir fonta ihtiyacım vardı. Önce aşağıda paylaştığım program üzerinde 48 pixel yüksekliğinde fontlarımı hazırladım. Daha sonra bu fontları 24 pixel üst, 24 pixel alt olmak üzere ikiye böldüm.
Rakamları ekrana basmaya gelince de üst 3 satıra rakamların 24 pixellik üst kısmını, alt 3 satıra da 24 pixellik alt kısmını bastım. Böylece iki font ekranda birleşerek daha büyük olan 48 pixel yüksekliğinde yeni bir font oluşturmuş oldu. Resimlerde de görebilirsiniz.


paylaşacağım program mikroelektronikanın GLCD font creator programıdır. Eski bir versiyon. uzun zamandır uğraşmadığımdan sanırım yeni versiyonlarında proton, ccs c gibi diğer firmalara desteğini kesmiş, sadece kendi yazılımlarına uygun versiyonlar çıkarıyor diye hatırlıyorum.
Eski sürüm olduğuna bakmayın işinizi fazlasıyla görüyor.
Programın kullanımı ilk başta karmaşık gelecek ama klasör içerisindeki videoyu birkaç kez izlerseniz ve deneme yaparsanız basit gelecek.
programı 08.09.2011 de yazmışım, yani acemilik zamanlarım. Bu devreyi evde iken masa saati ve digital radyo, dışarıya çıktığımda ise bisiklet hız göstergesi olarak kullanacaktım ama proje bu haliyle yarıda kaldı, nedense vazgeçmiştim.
Programda kusurlar olabilir, hem yarım kalmış bir proje, hem de acemilik zamanlarımda uğraştığım bir şeydi. Eski proje olduğundan da detaylarını hatırlamıyorum ama belki biraz faydası olur.

Font oluşturma programı;
http://s3.dosya.tc/server3/8lukyw/GLCD.rar.html
resimler;




Kaynak kod;
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [ESAT METİN ERDOĞAN]                              *
'*  Notice  : Copyright (c) 2011 [İZİNSİZ KULLANMAK HARAMDIR]   *
'*          : All Rights Reserved                               *
'*  Date    : 08.09.2011                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
Device = 16F877A
Config CP_ALL, DEBUG_OFF, WRT_OFF, CPD_ON, LVP_OFF, BODEN_OFF, PWRTE_ON, WDT_OFF, XT_OSC
Xtal = 4
Include "MODEDEFS.BAS"
'***********************ADC TANIMLAMALARI************************
TRISA=0
TRISB=%11111001
TRISC=0
TRISE=0
OPTION_REG.6=0'RB.0 PİNİ DÜŞEN KENARDA KESME
OPTION_REG.7=0'DAHİLİ PULL UP DİRENÇLERİ DEVREDE
ADCON1 = 7
ADCON0=0
ADCON1=%00000111
INTCON=%11010000'KESMELERE İZİN VER
T1CON=%00111101
PIE1.0=1'
On Interrupt GoTo KESME
Dim PP7HH As Byte System
Dim PP7HHH As Byte System
'***************************DEĞİŞKENLER**************************
Dim XPOS As Byte,YPOS As Byte,HAM As Word,ISI As Word,KSRT As Word,SA_YNL As Byte
Dim SA As Byte,DK As Byte,SN As Byte,MESGUL As Byte,ISRT As Byte,HIZ As Byte
Dim TMR0_SAY As Word,KM_YNL As Byte,ESK_HIZ As Byte,YN_HIZ As Byte,GUN As Byte
Dim AY As Byte,YIL As Byte,MEM As Byte,SAYI As Byte,DAY As Byte,BIRLER As Byte
Dim ONLAR As Byte,DS_SAY As Byte,EKRN_YNL As Byte,OK As Byte,A_DAY As Byte
Dim A_SN As Byte,A_DK As Byte,A_SA As Byte,A_GUN As Byte,A_AY As Byte,A_YIL As Word
'DIM F As Dword,KAN AS WORD
'****************************************************************

'****************************************************************
Symbol SDA = PORTC.3
Symbol SCL = PORTC.0
Symbol RST=PORTE.0
Symbol CLK=PORTE.2
Symbol DTA=PORTE.1
Symbol DQ=PORTA.1
Symbol YUKARI=PORTB.5
Symbol ONAY=PORTB.4
Symbol ASAGI=PORTB.3
Symbol EKRAN_LED=PORTC.7
'******************LCD TANIMLAMALARI*****************************
LCD_DTPort = PORTD                 'GLCD DTA PORTLARI PORTD'YE BAĞLI
LCD_RSPin = PORTC.6                'GLCD RS PİNİ PORTB.5 BAĞLI
LCD_ENPin = PORTC.4                'GLCD ENABLE PİNİ PORTC.4 BAĞLI
LCD_RWPin = PORTC.5                'GLCD RW PİNİ PORTB.6 BAĞLI
LCD_CS1Pin = PORTB.1               'GLCD CS1 PİNİ PORTB.3 BAĞLI
LCD_CS2Pin = PORTB.2               'GLCD CS2 PİNİ PORTB.4 BAĞLI
LCD_Type =  GRAPHIC                'GLCD TİPİ GRAFİK KS0108 128*64 POWERTIP
Internal_Font = 1                 
Font_Addr = 0
GLCD_EXTERNAL_PRINT = PPRINT

DelayMS 500
PORTA=0
RST=0:CLK=0  'RESET VE CLOCK PİNLERİ SIFIRLADIK saat saymaya baslıyor   
GoSub DS_1302_OKU
GoSub DS_OKU
'GoTo KM_OLC
GoSub SIL
'KAN = 9000
'GOSUB PLL
'GOTO RADYO
'***************************************************************
'////////////////////BÜYÜK SAAT GÖSTER//////////////////////////
'***************************************************************
SAAT_GOSTER:
        EKRAN_LED=1
        If SN=0 Then GoSub SIL
        Print Font BUY_HRF_UST24
        Print At 0,0,Dec SA Dig 1
        Print At 0,30,Dec SA Dig 0
        Print At 0,68, Dec DK Dig 1
        Print At 0,98, Dec DK Dig 0
        Print Font BUY_HRF_ALT24
        Print At 24,0,Dec SA Dig 1
        Print At 24,30,Dec SA Dig 0
        Print At 24,68, Dec DK Dig 1
        Print At 24,98, Dec DK Dig 0
'-------------------SANİYE GÖSTERGELERİ-------------------------
        Print Font PROTON_FONT
        For XPOS = 60 To 65 : LCDWrite 1, XPOS, [0]:Next XPOS
        Print At 8,60,Dec1 SN Dig 1
        For XPOS = 60 To 65 : LCDWrite 4, XPOS, [0]:Next XPOS
        Print At 32,60,Dec1 SN Dig 0
'--------------------TARİH VE GÜN GÖSTER-------------------------
        Select DAY
        Case 1:Print At 48,0,"PAZAR"
        Case 2:Print At 48,0,"PAZARTESi"
        Case 3:Print At 48,0,"SALI"
        Case 4:Print At 48,0,"cARsAMBA"
        Case 5:Print At 48,0,"PERsEMBE"
        Case 6:Print At 48,0,"CUMA"
        Case 7:Print At 48,0,"CUMARTESi"
        EndSelect
        Print At 56,0,Dec2 GUN,".",Dec2 AY,".20",Dec2 YIL
       
        Print At 56,93,"#12:30"'ALARM/ÇAN İŞARETİ 56,65,76
'-----------------------SICAKLIK GÖSTER--------------------------
        If SN=0 Then GoSub DS_OKU:For XPOS=94 To 127 : LCDWrite 6,XPOS,[0]:Next XPOS
        If ISRT=0 Then Print At 48,94,"+" : Else: Print At 48,94,"-"
        Print At 48,100, Dec2 ISI,",",Dec1 KSRT,"^"
'----------------------------PİL GÖSTER--------------------------
        'Line 1,116,56,126,56'PİL ÜST ÇİZGİSİ
        'Line 1,116,63,126,63'PİL ALT ÇİZGİSİ
        'Line 1,115,56,115,63'PİL + KUTUP BİTİŞİĞİ ÇİZGİSİ
        'Line 1,127,56,127,63'PİL - KUTUP ÇİZGİSİ
        'Line 1,114,58,114,61'PİL + KUTUP ÇİZGİSİ
        'PRINT AT 48,60,"102.5"'48,60 RADYO FREKANS GÖSTER
        SA_YNL=0
'----------------------------------------------------------------
SA_OYLN:
If ONAY=0 Then GoTo AYAR
'If ASAGI=0 Then DelayMS 200:GoTo KM_OLC
If SA_YNL=0 Then GoTo SA_OYLN
GoSub DS_1302_OKU
GoTo SAAT_GOSTER
'****************************************************************
'****************************************************************
AYAR:
        A_SA=SA:A_DK=DK:A_GUN=GUN:A_DAY=DAY:A_AY=AY:A_YIL=YIL
        GoSub TUS_BEKLET:GoSub SIL
AYARR:
        Print At OK,0,">"
        Print At  0,6,"SAAT__:",Dec A_SA
        Print At  8,6,"DAKiKA:",Dec A_DK
        Print At 16,6,"GuN___:",Dec A_GUN
        Print At 24,6,"HGN___:",Dec A_DAY
        Print At 32,6,"AY____:",Dec A_AY
        Print At 40,6,"YIL___:","20",Dec A_YIL
       
        If OK=0 Then
        If YUKARI=0 Then A_SA=A_SA+1:GoSub SIL
        If ASAGI=0 Then A_SA=A_SA-1:GoSub SIL
        If ONAY=0 Then OK=OK+8:GoSub TUS_BEKLET:GoSub SIL
        EndIf
       
        If OK=8 Then
        If YUKARI=0 Then A_DK=A_DK+1:GoSub SIL
        If ASAGI=0 Then A_DK=A_DK-1:GoSub SIL
        If ONAY=0 Then OK=OK+8:GoSub TUS_BEKLET:GoSub SIL
        EndIf
       
        If OK=16 Then
        If YUKARI=0 Then A_GUN=A_GUN+1:GoSub SIL
        If ASAGI=0 Then A_GUN=A_GUN-1:GoSub SIL
        If ONAY=0 Then OK=OK+8:GoSub TUS_BEKLET:GoSub SIL
        EndIf
       
        If OK=24 Then
        If YUKARI=0 Then A_DAY=A_DAY+1:GoSub SIL
        If ASAGI=0 Then A_DAY=A_DAY-1:GoSub SIL
        If ONAY=0 Then OK=OK+8:GoSub TUS_BEKLET:GoSub SIL
        EndIf
       
        If OK=32 Then
        If YUKARI=0 Then A_AY=A_AY+1:GoSub SIL
        If ASAGI=0 Then A_AY=A_AY-1:GoSub SIL
        If ONAY=0 Then OK=OK+8:GoSub TUS_BEKLET:GoSub SIL
        EndIf
       
        If OK=40 Then
        If YUKARI=0 Then A_YIL=A_YIL+1:GoSub SIL
        If ASAGI=0 Then A_YIL=A_YIL-1:GoSub SIL
                If ONAY=0 Then
                OK=0
                SA=A_SA:DK=A_DK:SN=0:GUN=A_GUN:DAY=A_DAY:AY=A_AY:YIL=A_YIL
                GoSub DS_1302_YAZ
                GoSub TUS_BEKLET
                GoSub DS_1302_OKU
                GoTo SAAT_GOSTER
                EndIf
       
        EndIf
       
        If A_SA>23 Then A_SA=0
        If A_DK>59 Then A_DK=0
        If A_GUN>31 Then A_GUN=1
        If A_DAY>7 Then A_DAY=1
        If A_AY>12 Then A_AY=1
        If A_YIL>99 Then A_YIL=13
       
        DelayMS 250
               
        GoTo AYARR
'****************************************************************
'//////////////////////////RADYO DİNLE///////////////////////////
'****************************************************************
'RADYO:
        'Print Font PROTON_FONT
        'PRINT AT 0,0,Dec KAN/100,".",DEC KAN DIG 1       
       
        'IF YUKARI=0 THEN KAN=KAN+10:DELAYMS 250:GOSUB PLL
        'IF ASAGI=0 THEN KAN=KAN-10:DelayMS 250:GoSub PLL
       
        'GOTO RADYO
'****************************************************************
'PLL:
        'PORTA.3=1
        'PORTA.4=1
        'F = KAN * 10000 + 225000
        'F = F * 4 / 32768
        'I2COut SDA,SCL,192,[F.HIGHBYTE,F.LOWBYTE,16,16,0]
        'GoSub SIL 
        'RETURN
'****************************************************************
'///////////////////HIZ VE MESAFE ÖLÇÜM//////////////////////////
'****************************************************************
'KM_OLC:
        'HIZ=120
        'While ASAGI=0:Wend
        'Cls
        'Print Font BUY_HRF_UST24
        'If HIZ>99 Then' 3 HANELİ
        'Print At 0,19,Dec HIZ Dig 2
        'Print At 0,49,Dec HIZ Dig 1
        'Print At 0,79,Dec HIZ Dig 0
        'GoTo ALT_SATIR_1
        'EndIf
        'If HIZ>9 Then' 2 HANELİ
        'Print At 0,34,Dec HIZ Dig 1
        'Print At 0,64,Dec HIZ Dig 0
        'EndIf
        'If HIZ<10 Then Print At 0,49,Dec HIZ Dig 0'TEK HANELİ

'ALT_SATIR_1:       
        'Print Font BUY_HRF_ALT24
        'If HIZ>99 Then' 3 HANELİ
        'Print At 24,19,Dec HIZ Dig 2
        'Print At 24,49,Dec HIZ Dig 1
        'Print At 24,79,Dec HIZ Dig 0
        'GoTo ALT_SATIR_2
        'EndIf
        'If HIZ>9 Then' 2 HANELİ
        'Print At 24,34,Dec HIZ Dig 1
        'Print At 24,64,Dec HIZ Dig 0
        'EndIf
        'If HIZ<10 Then Print At 24,49,Dec HIZ Dig 0'TEK HANELİ
'--------------------TARİH VE DİĞER BİLGİLER---------------------
'ALT_SATIR_2:
        'GoSub DS_1302_OKU       
        'Print Font PROTON_FONT
        'For XPOS=0 To 48 : LCDWrite 6,XPOS,[0]:Next XPOS
        'Print At 48,0,Dec2 SA,":",Dec2 DK,":",Dec2 SN
        'Print At 56,0,Dec2 GUN,".",Dec2 AY,".20",Dec2 YIL
        'SA_YNL=0       
       
'KM_EKN_YNL:
        'IF SN=0 THEN GOTO KM_OLC' EKRANI YENİLE
        'If SA_YNL=0 Then GoTo ALT_SATIR_2
        'If YUKARI=0 Then DelayMS 200:Cls:GoTo SAAT_GOSTER
        'If SA_YNL=0 Then GoTo KM_EKN_YNL
        'GoTo ALT_SATIR_2
        'GoTo KM_OLC
'****************************************************************
'////////////////////SICAKLIK SENSÖRÜNÜ OKU//////////////////////
'****************************************************************
DS_OKU:
        DS_SAY=0
        OWrite   DQ, 1, [$CC, $44]
        DelayMS 750
OYALAN:
        ORead    DQ, 4, [MESGUL]
        If      MESGUL = 0 Then OYALAN
        OWrite   DQ, 1, [$CC, $BE]
        ORead    DQ, 2, [HAM.LowByte, HAM.HighByte]
        HESAPLA:
        ISRT=HAM.11'   +/- sıcaklık İşaret biti,  1 = olursa eksi sıcaklık
        If ISRT=1 Then GoTo NEGATIF
        ISI=HAM/16
        KSRT=ISI*16
        KSRT=((HAM-KSRT)*10)/16
        Return
NEGATIF:
        ISI=(65537-HAM)/16
        KSRT=ISI*16
        KSRT=((65537-HAM-KSRT)*10)/16
        Return
'****************************************************************
'BTN_BKLT:
        'While YUKARI=0 Or ONAY=0 Or ASAGI=0:DelayMS 100:Wend       
        'Return
'****************************************************************
'////////////////////////DS1302 OKU-YAZ//////////////////////////
'****************************************************************                           
DS_1302_OKU:
        RST=1
        SHOut DTA,CLK,0,[$BF]
        SHIn DTA,CLK,1,[SN,DK,SA,GUN,AY,DAY,YIL,MEM]  'OKU
        RST=0
        MEM=SN:GoSub CEVIR:SN=SAYI 
        MEM=DK:GoSub CEVIR:DK=SAYI
        MEM=SA:GoSub CEVIR:SA=SAYI
        MEM=GUN:GoSub CEVIR:GUN=SAYI
        MEM=AY:GoSub CEVIR:AY=SAYI
        MEM=YIL:GoSub CEVIR:YIL=SAYI
        MEM=DAY:GoSub CEVIR:DAY=SAYI
       
        Return
'----------------------------------------------------------------
DS_1302_YAZ:
        MEM=SN:GoSub TERSCEVIR:SN=SAYI
        MEM=DK:GoSub TERSCEVIR:DK=SAYI
        MEM=SA:GoSub TERSCEVIR:SA=SAYI
        MEM=GUN:GoSub TERSCEVIR:GUN=SAYI
        MEM=AY:GoSub TERSCEVIR:AY=SAYI
        MEM=YIL:GoSub TERSCEVIR:YIL=SAYI
       
        RST=1
        SHOut DTA,CLK,0,[$8E,0]    'YAZMAK İÇİN HAZIRLA
        RST=0:DelayMS 1
        RST=1         
        SHOut DTA,CLK,0,[$BE, SN, DK, SA,GUN,AY,DAY,YIL,0]  'YAZ, DAY:RTC DE HAFTANIN GÜNÜ
        RST=0                 
        DelayMS 10
CEVIR:
         ONLAR=MEM & %01110000
         ONLAR=ONLAR>>4
         BIRLER=MEM & %00001111
         SAYI=ONLAR*10+BIRLER
         Return 

TERSCEVIR:               
         ONLAR=MEM Dig 1
         ONLAR=ONLAR<<4
         BIRLER=MEM Dig 0
         SAYI=ONLAR+BIRLER
         Return
'****************************************************************
TUS_BEKLET:
        While ONAY=0:DelayMS 100:Wend
        Return
'****************************************************************
SIL:
        Cls
        Return
'/////////////////////////KESME//////////////////////////////////
'****************************************************************
Disable
KESME:
        'INTCON.7=0'KESMELERİ KAPAT
'----------------------TIMER1 KESMESİ----------------------------
        If PIR1.0=1 Then'TIMER1 KESME BAYRAĞI KURULMUŞSA
        EKRN_YNL=EKRN_YNL+1
        TMR1H=%00001011' 1/8 TİMER ÖN YÜKLEME 3037, 0.5 SANİYEDE BİR KESME
        TMR1L=%11011101' 1/16 OLSAYDI 1 SANİYE OLACAKTI
        PIR1.0=0'TIMER1 taşma bayrağını sıfırla
        EndIf
       
        If EKRN_YNL>1 Then EKRN_YNL=0:SA_YNL=1 
'----------------------DİĞER KESMELER----------------------------       
        'INTCON.7=1'KESMELERİ AÇ
        'INTCON.1=0'RB.0 KESMESİ
         
        Resume'KESME BİTTİ, PROGRAM KALDIĞI YERDEN DEVAM
'****************************************************************
'////////////////////////FONTLAR/////////////////////////////////
'****************************************************************
End
'Include "FONT.INC"
Include "PRTN_FONT.fnt"
Include "BUY_HRF_UST.fnt"
Include "BUY_HRF_ALT.fnt"

~ENES~

Est hocam mevla sizden razi olsun bu bilgiler yeterli sanırım programa devam ederken aklıma takılan. Olursa sormak isterim :)
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

~ENES~

EST32 HOCAM

font programında fontu ikiye nasıl böldünüz baya uğrştım ama hep fontları tam convert yapıyor tam ortadan nasıl böleriz fontu ?
ALLAH'a teslim olmuş bir insan ! Ne sultan tanir , ne sadrazam !

est32

Enes merhaba,
Yukarıda yaptığım uygulamadan örnek vereyim.
Önce ayarlardan fontu 48 pixel yüksekliğe ayarladım. Sonra tüm fontları 48 pixel yüksekliğinde tasarladım. DERLEME YAPMADIM. Her harfin/rakamın ekran görüntüsünü print screen yaparak pc de bir klasöre kaydettim. Sonra paintte 24. Ve 25. Pixeller arasına resimde gördüğün kırmızı klavuz çizgisini cizdim.
Ardından 24 pixel yüksekliğinde olacak şekilde yeni bir font oluşturmak için ayarları yaptım. Önce tüm rakamların üst kısımlarını resimlere bakarak yeniden cizdim. Çizim bitince de üst font diye isimlendirerek derledim. Aynı şekilde rakamların alt kısmını da alt font diye isimlendirerek yukarıdaki işlemleri alt kısımlar için uygiladim.
Elimde 2 adet font oldu. Ekrana 48 pixellik fontu basarken önce üst fontu ekrana yazdım, ardından da ust fontun bittiği noktada itibaren alt fontu yazdım. Böylece ekranda 24 pixel yüksekliğindeki 2 font birleşerek 48 pixellik daha büyük bir font oluştu.
Kolay gelsin

Hattuşa

slm arkadaşlar font.inc ile ilgili şöyle bir sorum olacaktı.
malum protonun orjinal "font.inc" dosyası var ve bir de kendimizin converter programları ile oluşturduğumuz font dosyaları mevcut, sorunum ise büyük veya küçük font dosyaları orj. "font.inc" dosyaları gibi düzgün ve güzel olmuyor en azından ben sevmedim. orjınal "font.inc" karakterlerini büyük veya küçük ebatta oluşturmanın bir yolu yokmudur?

Powered by EzPortal