Teckentabeller för 5, 7/8 och 15/16 punkters höjd
Teckentabeller för 5, 7/8 och 15/16 punkters höjd
Trevligt forum det här!
Jag funderar på att bygga en liten ljusskylt med några 8x8 LED-matrisdisplayer.
Jag ska ha två moduler på höjden för att kunna ha upp till 16 punkters teckenhöjd.
Vad jag däremot inte har, är lust till är att sitta och rita upp alla tecken och räkna ut hex-värde för varje kolum i tecknet, det måste ju finna andra som har gjort det redan...
Som rubriken anger så tänker jag använda flera fontstorlekar (och kanske typsnitt) så att man kan visa antingen en rad med 15/16 punkters tecken, två rader med 7/8 eller "nästan" tre rader med 5 punkters teckenhöjd.
Jag funderar på att bygga en liten ljusskylt med några 8x8 LED-matrisdisplayer.
Jag ska ha två moduler på höjden för att kunna ha upp till 16 punkters teckenhöjd.
Vad jag däremot inte har, är lust till är att sitta och rita upp alla tecken och räkna ut hex-värde för varje kolum i tecknet, det måste ju finna andra som har gjort det redan...
Som rubriken anger så tänker jag använda flera fontstorlekar (och kanske typsnitt) så att man kan visa antingen en rad med 15/16 punkters tecken, två rader med 7/8 eller "nästan" tre rader med 5 punkters teckenhöjd.
De fonter som windows 3.1x använde (.fnt) har jag för mig kan vara bitmappade och borde därför vara enkla att använda. du kan söka på www.wotsit.org
Annars kan ett sätt att få snygga 8x8 fonter va att kika plocka ut de ur en minnesdump från t ex en c64-emulator
Annars kan ett sätt att få snygga 8x8 fonter va att kika plocka ut de ur en minnesdump från t ex en c64-emulator
Det är inte så jobbigt att göra egna teckentabeller.
Jag tänkte samma som du när jag byggde min LED-snurra. Ville ha 7x15-tecken eller något sånt. När jag väl hittade en tabell som passade kom jag fram till att det var lika jobbigt att konvertera den till den standard jag skulle ha i mikrokontrollerns program som det skulle vara att skriva ett helt eget. Så jag skrev ett helt eget, så blev det ju precis som jag ville ha det också!
Jag tänkte samma som du när jag byggde min LED-snurra. Ville ha 7x15-tecken eller något sånt. När jag väl hittade en tabell som passade kom jag fram till att det var lika jobbigt att konvertera den till den standard jag skulle ha i mikrokontrollerns program som det skulle vara att skriva ett helt eget. Så jag skrev ett helt eget, så blev det ju precis som jag ville ha det också!
Hmm... Jag misstänkte att det kanske skulle bli enklast "den hårda vägen".
Men det måste väl finnas någon liten smidig editor där man kan rita upp sina typsnitt och få ut hex-värdet av varje 16-bitars kolumn.
Att sitta med rutat kollegerblock och rita gör jag inte - igen!
Byggde för många år sedan en liten skylt med 5x20 lysdioder helt utan uP. Man fick knappa in teckenuppbyggnaden i ett SRAM med vippbrytare!
Men det måste väl finnas någon liten smidig editor där man kan rita upp sina typsnitt och få ut hex-värdet av varje 16-bitars kolumn.
Att sitta med rutat kollegerblock och rita gör jag inte - igen!
Byggde för många år sedan en liten skylt med 5x20 lysdioder helt utan uP. Man fick knappa in teckenuppbyggnaden i ett SRAM med vippbrytare!
ska du skriva in det i assembler?
jag progga i PBasic, där kan man ju mata in det binärt (det kan man väl i assembler också?
eftersom de står på rad går det utmärkt att "rita" med binära 16-bitstal i notepad eller whatever. Efter några bokstäver börjar du se mönstret med ettor och nollor som pixlar
Själv satt jag med ett bidprogram och fyllde i pixlar och skrev sedan av varje vertikal rad till ett 2x8bits tal... den hårda vägen alltså.
jag progga i PBasic, där kan man ju mata in det binärt (det kan man väl i assembler också?
eftersom de står på rad går det utmärkt att "rita" med binära 16-bitstal i notepad eller whatever. Efter några bokstäver börjar du se mönstret med ettor och nollor som pixlar

Själv satt jag med ett bidprogram och fyllde i pixlar och skrev sedan av varje vertikal rad till ett 2x8bits tal... den hårda vägen alltså.
$tiff:
Nej, jag pladdrar också PicBasic, och att rita i t.ex. notepad funkar ju för att rita upp tecknen men det jobbiga är ju att räkna fram hex-värdet för varje kolumn och sedan knappa in det. Jag skulle föredra Ctrl+C, Ctrl+V
Varför sparade du din teckendata i 2x8bit istället för i ett word? Var det för att slippa stycka upp wordet när du skall lägga ut det till port?
Fragge:
Tack för den länken! Ser vid snabb anblick nästan ut att kunna vara tänkt för något liknande...!
Nej, jag pladdrar också PicBasic, och att rita i t.ex. notepad funkar ju för att rita upp tecknen men det jobbiga är ju att räkna fram hex-värdet för varje kolumn och sedan knappa in det. Jag skulle föredra Ctrl+C, Ctrl+V

Varför sparade du din teckendata i 2x8bit istället för i ett word? Var det för att slippa stycka upp wordet när du skall lägga ut det till port?
Fragge:
Tack för den länken! Ser vid snabb anblick nästan ut att kunna vara tänkt för något liknande...!

>> Pjoms
2x8bit är precis samma sak som ett word. sen om det är högnivåspråket som trollar om det eller man själv spelar ingen roll. Jo, jag sparade som ett word. Ville bara vara lite extra tydlig ifall du var en assemblare
Du måste ju inte skriva in det som HEX. Det går lika bra decimalt eller binärt, åtminstone i PICBasic. Resten fixar kompilatorn...
En snutt från min teckentabell för LED-snurran:
Ja, du förstår nog resten... 
2x8bit är precis samma sak som ett word. sen om det är högnivåspråket som trollar om det eller man själv spelar ingen roll. Jo, jag sparade som ett word. Ville bara vara lite extra tydlig ifall du var en assemblare

Du måste ju inte skriva in det som HEX. Det går lika bra decimalt eller binärt, åtminstone i PICBasic. Resten fixar kompilatorn...
En snutt från min teckentabell för LED-snurran:
Kod: Markera allt
A:
buffer = %0000000000111000
GoSub general_clock
buffer = %0000000111000000
GoSub general_clock
buffer = %0000011001000000
GoSub general_clock
buffer = %0000100001000000
GoSub general_clock
buffer = %0000100001000000
GoSub general_clock
buffer = %0000011001000000
GoSub general_clock
buffer = %0000000111000000
GoSub general_clock
buffer = %0000000000111000
GoSub general_clock
GoTo afterbranch
B:
buffer = %0001111111111000
GoSub general_clock
buffer = %0001000100001000
GoSub general_clock
'buffer = %0001000100001000
GoSub general_clock
'buffer = %0001000100001000
GoSub general_clock
buffer = %0001001010001000
GoSub general_clock
buffer = %0000110001110000
GoSub general_clock
GoTo afterbranch

$tiff:
Jo, det är klart att man inte måste använda hex, men det är ju det mest "kompakta" formatet i programlistningen.
Nu spelar det väl kanske ingen större roll, men då jag skulle vilja kunna byta typsnitt genom att t.ex. ladda i en ny teckentabell via RS232, skulle det vara trevligt om den var relativt enkel att skapa.
Jo, det är klart att man inte måste använda hex, men det är ju det mest "kompakta" formatet i programlistningen.
Nu spelar det väl kanske ingen större roll, men då jag skulle vilja kunna byta typsnitt genom att t.ex. ladda i en ny teckentabell via RS232, skulle det vara trevligt om den var relativt enkel att skapa.
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Och jag gjorde en app som "pixeliserar" ut TrueType-fonter. Fast jag fuskar lite genom att printa ut bokstav för bokstav och kolla hur bittarna hamnar på skärmen, men de är ju slutresultatet som räknas :-)
Att generera .DB -rader för PIC eller AVR är ju sedan enkelt. Iallfall om man vet hur man ska ha dom. VErtikala eller horisontella, fix bredd eller variabel, med eller utan lookuptabell för ascii-till-position i tabellen och så.

Att generera .DB -rader för PIC eller AVR är ju sedan enkelt. Iallfall om man vet hur man ska ha dom. VErtikala eller horisontella, fix bredd eller variabel, med eller utan lookuptabell för ascii-till-position i tabellen och så.