GLCD ile Farklı Font Kullanımı ?

Başlatan muhittin_kaplan, 05 Aralık 2007, 23:20:40

muhittin_kaplan

Crownhill Proton Plus Kullanıyorum Bazı Perogramlar Buldum Font Yapımıyla İlgili.Ama Beceremedim.
Daha Büyük Fontlar la çalışmam Gerek.Yardım Ederseniz Sevinirim.

fatihvelid

8x8'den daha büyük font kullanmak için, büyük fontu lcd'ye yazdırabilen fonksiyona ihtiyacınız olacak.

Kendi yazdığım Font Converter programını da sizlerle paylaşayım. Kullanımı gayet basit. Fontu seçiyorsunuz. Oluşturmak istediğiniz font aralığını bilgisinide giriyorsunuz ve ekrana uygun bir yere yerleştirdikten sonra size Font için C kodu üretiyor.

Yaklaşık iki ay önce delphi ile yazmıştım. Beraberinde Glcd İmage Generator'da var. Ama orası tam hazır değil. Fırsat bulamadım tamamlamaya. Ama bu haliyle font üretebiliyor.

http://www.4shared.com/file/31303425/a8766db3/Glcd_Tool_by_Fatihvelid.html
Kainatta her canlı "DNA" diliyle yazılmış bir programdır...

muhittin_kaplan

Nasıl Bir Fonksiyon Bu
Yada Plot larla Yazdırabilirmiyiz.
Bugün Bmp dosyadan Plotları Oluşturan Bir Program Hazırladım (Vb.net) Biraz Olgunlaşsın Siteye Eklerim (Ama Nasıl)

muhittin_kaplan

Neyse arkadaşlar u Font İşinide Çözdüm Tüm Yardım Eden Arkadaşlara Teşekkür Ederim ( :( )

Mucit23

Muhittin hocam Aradan üç yıl zaman geçmiş belki hatırlamıyorsunuzdur bile. Banimde bu işi öğrenmem lazım. Protonda128x64glcd ler için farklı fontlarda yazılar yazmak için neler yapılmalı

M_B

Mucit23 Hocam;
forumda aykut54 hoca GLCD uygulaması yapmıstı. Yanılmıyorsam farklı fontta basmıstı.  Onun mesajlarını bir arayın.
Kolay gelsin.
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

Mucit23

Evet hocam onlara bende bakıyorum aykut abi yapmıştı. Hatta bi yazısında font generator programından bahsediyor. Fakat ben nasıl kullanıldığını anlayamadım. Programı indirdim fakat farklı font dosyaları oluşturamadım.
http://www.teknomerkez.net/makale.php?m=476
Bahsettiğim yazısı burada
Programı kullanan arkadaşlardan yardım istiyorum.

Burak B

"... a healthy dose of paranoia leads to better systems." Jack Ganssle

Mucit23

Önerin için teşekkür ederim. Biraz inceledimde galiba işime yaramıyacak. Ben proton kullanıyorum. Bu ise C kodu veriyor. :(

Burak B

Aslında önemli olan temel mantık şudur. GLCD bitmap gösterir. GLCD ile kullanılacak fontlarımız sabit boyutlu birer bitmapten ibarettir. Kullandığımız dilin ne olduğunun önemi olmaksızın. Bu bitmapler bir array olarak kullanılarak yada imkanlar uygunsa bitmap dosyası içerisinden okunmak suretiyle ekrana basılır. Bu işin esası budur. Kısaca elde ettiğin C kodu sadece basit bir array onu isteidğin dilin array yapısına dönüştürebilirsin. Bunu bir tablo gibi düşünürsek 0 nolu hücredeki harfi basacak fonksiyon harfin genislik(W) ve yükseklik(H) bilgisini alır. Daha sonra X ve Y konum bilgisine bu W ve H bilgisinide ekleyerek ilgili diziyi taramaya başlar. GLCD miz 2 renkli ise 0 ve 1 lere göre piksel var veya yok şeklinde gerçekleştirilecek bu işlem sonucunda Y kadar X piksel ekrana basılmış olur. Renkli LCD lerde bu işlem RGB şeklinde renklerin birleşkesi olacağından renk bilgiside bu işleme tabi tutulur.

00111100
01100110
01111110
01100110
01100110


Yukarıda 8 x 5 piksellik fontlar içeren bir font tablosundaki 'A' harfi için temsili bir bit haritası görünüyor. Bu karakter ASCII tablosuna uygun olarak bizim tablomuzda 65 numaralı karakter ise. Her bir hücre(Karakter) için 8*5=40/8bit(1byte)=5 byte kadar veri gerekir. Buradan tablomuzda Tablo[(65*5)-1] şeklinde erişebiliriz. Böylece 'A' harfimizin başlangıc noktasına konumlanarak buradan okuyacağımız 5 bytelık bilgiyi ekrana uygun şekilde 8 piksel genişlik ve 5 piksel yükseklik olacak şekilde basarsak LCD mizde bir 'A' harfimiz görünecektir.

Eğer tablomuzda 256 karakter olacaksa 256*5=1280 byte uzunluğunda bir tabloya 256 adet karakterimizi yerleştirip kulanabiliriz. Eğer GLCD miz renkli ise bu durum kullanacağımız renk derinliğine göre tablo boyutunu ek olarak etkileyecektir.

Burada verdiğim örnek çok basit bir örnektir. Çok güzel fontlar basayım istiyorsanız LCD nizin büyüklüğüne göre hayal gücünüzü ve uygun araçları kullanmanız kaçınılmaz olur.

 

"... a healthy dose of paranoia leads to better systems." Jack Ganssle

Mucit23

Aslında fast lcd programını kullanarak istediğim bitmap resimleri ekrana basabiliyorum.  Burada sorunum yok şükür. Sizin dediğiniz gibide olur fakat pek fazla programlama bilgim yok. Şimdilik bu beni çok fazla uğraştırır ve bıktırır.. Benim merak ettiğim bu font dosyalarının nasıl oluşturulduğu. Font generator programı ile uğraşıyorum ama bir türlü istediğim font dosyalarını oluşturamadım.