Bêdzie to czysty tekst bez jakichkolwiek przyk³adów w postaci
kodów ¼ród³owych! rozwi±zanie problemów stworzenie edytora i
odtworzenia w pó¼niejszym programie zapisanych czcionek
pozostawiam tobie.
1. Zastosowanie.
Korzystaj±c z trybu 13h mo¿liwe standardowo dostêpna jest systemowe
czcionki zapisane w pamiêci ROM. Nie s± to jakie¶ dzie³a sztuki
czy fantazyjne litery ale za ich pomoc± mo¿na ju¿ postawiæ tekst
w trybie 13h. Fajna rzecz, ale du¿o lepszym rozwi±zaniem jest stworzenie
w³asnego edytora czcionek chocia¿by w trybie tekstowym (ja tak zrobi³em,
najwa¿niejsze jest to aby da³o siê jako¶ zrobiæ a ten edytor jak
na moje potrzeby wystarcza mi w zupe³no¶ci). W³a¶nie najlepiej jest
to zrobiæ w tek¶cie bo jest bardzo ³atwo, a co najwa¿niejsze szybko
zaprogramowaæ taki edytorek.
Tak wygl±da mój edytor fontów
2. Zaczynamy.
Chc±c stworzyæ czcionkê wypada³oby j± zapisaæ. Tak jak kodów ASCII
jest 255 tak i my zapiszemy do pliku z czcionk± 255 literek. Nasza
literka bêdzie mia³a rozmiar 8x16 pixeli oraz postaæ tablicy.
literka = Array[1..8,1..16] of byte;
a ca³a czcionka
TFont = Array[1...255] of literka;
Chocia¿ mia³o byæ zero kodu to nie mog³em siê opanowaæ i musia³em
to napisaæ SORRY! Tak¿e edytujemy sobie czcionkê w edytorze, potem
zapisujemy j± sobie w nastêpuj±cy sposób je¿eli jest postawiony
pixel to zapisujesz w literce 1, a je¶li nie ma to 0. np literka
A bêdzie wygl±daæ tak:
| |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
|
|
Û |
|
|
|
|
| |
|
Û |
|
Û |
|
|
|
| |
Û |
|
|
|
Û |
|
|
| Û |
|
|
|
|
|
Û |
|
| Û |
|
|
|
|
|
|
Û |
| Û |
|
|
|
|
|
|
Û |
| Û |
|
|
|
|
|
|
Û |
| Û |
|
|
|
|
|
|
Û |
| Û |
Û |
Û |
Û |
Û |
Û |
Û |
Û |
| Û |
|
|
|
|
|
|
Û |
| Û |
|
|
|
|
|
|
Û |
| Û |
|
|
|
|
|
|
Û |
| Û |
|
|
|
|
|
|
Û |
|
|
| 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
| 0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
| 0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
| 1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
| 1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
| 1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
| 1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
| 1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
| 1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
| 1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
| 1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
| 1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
| 1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
Jak widaæ nie jest to przesadnie trudne a je¿eli ruszysz muzgownic±
to zauwa¿ysz, ¿e bezsensownie jest zapisywaæ bajty, lepiej jest
zastosowaæ kompresjê bitow± np. ja tak zrobi³em i czcionka sk³adaj±ca
siê z 255 znaków o wielko¶ci 8x16 zajmuje tylko 4096 bajtów czyli
4 Kb jest to ¶mieszna wielko¶æ. Odtwarzanie tych czcionek w programie
jest banalne i pozostawiam to Twojej inwencji twórczej jak wszystko
w zasadzie. To ju¿ wszystko co musisz wiedzieæ o fontach aby móc
je tworzyæ i obs³ugiwaæ je. Poni¿ej znajdziesz przyk³ady czcionek
stworzonych przeze mnie oraz przyk³ad ochydnej czcionki systemowej.