FNT
From Atariki
Wersja z dnia 22:02, 31 maj 2010 Mono (Dyskusja | wkład) (opis formatu) ← Previous diff |
Aktualna wersja Mono (Dyskusja | wkład) (→Zobacz też) |
||
Linia 1: | Linia 1: | ||
- | Format pliku czcionki rastrowej. | + | Format pliku fontu rastrowego. |
+ | Zawiera definicje poszczególnych znaków fontu w postaci wymaganej do bezpośredniego wyświetlenia przez maszynę (jest to format "zależny od urządzenia"). | ||
- | Zawiera definicje znaków czcionki w postaci wymaganej do bezpośredniego wyświetlenia przez maszynę (jest to format "zależny od urządzenia"). | + | Każdy znak zdefiniowany jest za pomocą 8 następujących po sobie bajtów i definiuje kolejne linie znaku (licząc od góry). |
- | Każdy znak zdefiniowany jest za pomocą 8 następujących po sobie bajtów i definiuje kolejne linie znaku (licząc od góry). Znaki w zestawie uporządkowane są według [[Kody znaków ANTICa|wewnętrznych kodów znaków ANTICa]], a nie wg [[ATASCII|kodów ATASCII]]. | + | 0 $00 ........ |
+ | 1 $18 ...oo... | ||
+ | 2 $3C ..oooo.. | ||
+ | 3 $66 .oo..oo. | ||
+ | 4 $66 .oo..oo. | ||
+ | 5 $7E .oooooo. | ||
+ | 6 $66 .oo..oo. | ||
+ | 7 $00 ........ | ||
- | Sposób interpretacji piksela zależy od trybu graficznego, w którym font zostanie użyty (liczby hex 0..F oznaczają indeks koloru piksela): | + | Znaki w zestawie uporządkowane są według [[Kody ekranowe|kodów ekranowych]], a nie wg [[ATASCII|kodów ATASCII]]. |
- | * w trybach [[Graphics 0|0]], [[Graphics 1|1]] i [[Graphics 2|2]] OS oraz [[ANTIC Display List#Tryby znakowe|3 ANTICa]] pojedynczy bit odpowiada pojedynczemu pikselowi znaku, | + | Sposób interpretacji piksela zależy od [[ANTIC Display List#Tryby znakowe|trybu znakowego]], w którym font zostanie użyty (patrz [[Generator znaków|generator znaków]]). |
- | 7 6 5 4 3 2 1 0 bit 0 1 2 3 4 5 6 7 piksel | + | Plik FNT zazwyczaj zawiera definicję 128 znaków i liczy sobie 1024 bajty (128 znaków po 8 bajtów). Tryby [[Graphics 1]] i [[Graphics 2]] potrafią wyświetlić tylko 64 znaki, jednak bardzo rzadko spotyka się pliki FNT o długości 512 bajtów. |
- | 0 . . . . . . . . 0 0 0 0 0 0 0 0 0 | + | |
- | 1 . . . o o . . . 1 0 0 0 1 1 0 0 0 | + | |
- | 2 . . o o o o . . 2 0 0 1 1 1 1 0 0 | + | |
- | 3 . o o . . o o . 3 0 1 1 0 0 1 1 0 | + | |
- | 4 . o o . . o o . 4 0 1 1 0 0 1 1 0 | + | |
- | 5 . o o o o o o . 5 0 1 1 1 1 1 1 0 | + | |
- | 6 . o o . . o o . 6 0 1 1 0 0 1 1 0 | + | |
- | 7 . . . . . . . . 7 0 0 0 0 0 0 0 0 | + | |
- | bajt linia | + | |
- | * w trybach [[Graphics 12|12]] i [[Graphics 13|13]] OS para bitów odpowiada pojedynczemu pikselowi znaku, | + | <table border=1> |
+ | <tr><td>offset</td><td>długość</td><td>opis</td></tr> | ||
+ | <tr><td>$0000</td><td>$0008</td><td>znak $00 ANTIC-a (spacja)</td></tr> | ||
+ | <tr><td>$0008</td><td>$0008</td><td>znak $01 ANTIC-a (wykrzyknik)</td></tr> | ||
+ | <tr><td>$0010</td><td>$0008</td><td>znak $02</td></tr> | ||
+ | <tr><td>$0018</td><td>$0008</td><td>znak $03</td></tr> | ||
+ | <tr><td>$0020</td><td>$0008</td><td>znak $04</td></tr> | ||
+ | <tr><td>...</td><td>...</td><td>kolejne bloki </td></tr> | ||
+ | <tr><td>$03F0</td><td>$0008</td><td>znak $7E</td></tr> | ||
+ | <tr><td>$03F8</td><td>$0008</td><td>znak $7F</td></tr> | ||
+ | </table> | ||
- | 76 54 32 10 para bitów 0 1 2 3 piksel | + | Spotykane są również pliki FNT zawierające dane czcionki opakowane w [[Binarny plik DOSu|binarny nagłówek DOSu]] - plik zawiera wtedy 1030 bajtów (1024 bajty czcionki + 6 bajtów nagłówka). |
- | 0 .. .. .. .. 0 0 0 0 0 | + | |
- | 1 .. .o o. .. 1 0 1 2 0 | + | |
- | 2 .. oo oo .. 2 0 3 3 0 | + | |
- | 3 .o o. .o o. 3 1 2 1 2 | + | |
- | 4 .o o. .o o. 4 1 2 1 2 | + | |
- | 5 .o oo oo o. 5 1 3 3 2 | + | |
- | 6 .o o. .o o. 6 1 2 1 2 | + | |
- | 7 .. .. .. .. 7 0 0 0 0 | + | |
- | bajt linia | + | |
- | * po włączeniu trybu GTIA w [[Rejestry GTIA#GTIACTL|rejestrze GTIACTL]] (dane obrazu interpretowane są wtedy analogicznie, jak w trybach graficznych [[Graphics 9|9]], [[Graphics 10|10]] i [[Graphics 11|11]] OS) nibble odpowiada pojedynczemu pikselowi znaku. | + | == Ciekawostki == |
+ | * Identycznie zbudowany jest też plik FNT z [https://pl.wikipedia.org/wiki/Commodore_64 Commodore 64]. Jedyną różnicą jest tylko to, że zawiera 256 znaków a nie 128, a więc jest dwukrotnie większy - liczy sobie 2048 bajtów. | ||
+ | * Analogicznie jest też z fontem [https://pl.wikipedia.org/wiki/ZX_Spectrum ZX Spectrum]. Zawiera on jednakże definicje tylko znaków $20-$7F uporządkowanych według kodów ASCII, a więc jego długość to 768 bajtów. | ||
- | 7654 3210 nibble 0 1 piksel | + | == Linki == |
- | 0 .... .... 0 0 0 | + | * Na AtariOnline można znaleźć zbiory fontów [http://atarionline.pl/v01/index.php?subaction=showfull&id=1236639234&archive=&start_from=20&ucat=7&ct=poczatki z Atari] i [http://atarionline.pl/v01/index.php?subaction=showfull&id=1242399102&archive=&start_from=20&ucat=7&ct=poczatki z C64 ]. |
- | 1 ...o o... 1 1 8 | + | * [https://www.fontspace.com/atari-classic-font-f30342 Font TrueType] autorstwa Marka Simmonsona |
- | 2 ..oo oo.. 2 3 C | + | * Inny [https://atari8bit.net/projects/artwork/atari-fonts/ zbiór fontów] |
- | 3 .oo. .oo. 3 6 6 | + | * Fonty [https://damieng.com/typography/zx-origins/ z ZX Spectrum] |
- | 4 .oo. .oo. 4 6 6 | + | |
- | 5 .ooo ooo. 5 7 E | + | |
- | 6 .oo. .oo. 6 6 6 | + | |
- | 7 .... .... 7 0 0 | + | |
- | bajt linia | + | |
- | Plik FNT zazwyczaj zawiera definicję 128 znaków i liczy sobie 1024 bajty (128 znaków po 8 bajtów). | + | == Zobacz też == |
- | + | * [[SXS]] | |
- | Spotykane są pliki FNT zawierające dane czcionki opakowane w [[Binarny plik DOSu|binarny nagłówek DOSu]] - plik zawiera wtedy 1030 bajtów (1024 bajty czcionki + 6 bajtów nagłówka). | + | * [[ODF]] |
[[Kategoria:Atari 8-bit]] | [[Kategoria:Atari 8-bit]] | ||
[[Kategoria:Formaty plików]] | [[Kategoria:Formaty plików]] |
Aktualna wersja
Format pliku fontu rastrowego. Zawiera definicje poszczególnych znaków fontu w postaci wymaganej do bezpośredniego wyświetlenia przez maszynę (jest to format "zależny od urządzenia").
Każdy znak zdefiniowany jest za pomocą 8 następujących po sobie bajtów i definiuje kolejne linie znaku (licząc od góry).
0 $00 ........ 1 $18 ...oo... 2 $3C ..oooo.. 3 $66 .oo..oo. 4 $66 .oo..oo. 5 $7E .oooooo. 6 $66 .oo..oo. 7 $00 ........
Znaki w zestawie uporządkowane są według kodów ekranowych, a nie wg kodów ATASCII.
Sposób interpretacji piksela zależy od trybu znakowego, w którym font zostanie użyty (patrz generator znaków).
Plik FNT zazwyczaj zawiera definicję 128 znaków i liczy sobie 1024 bajty (128 znaków po 8 bajtów). Tryby Graphics 1 i Graphics 2 potrafią wyświetlić tylko 64 znaki, jednak bardzo rzadko spotyka się pliki FNT o długości 512 bajtów.
offset | długość | opis |
$0000 | $0008 | znak $00 ANTIC-a (spacja) |
$0008 | $0008 | znak $01 ANTIC-a (wykrzyknik) |
$0010 | $0008 | znak $02 |
$0018 | $0008 | znak $03 |
$0020 | $0008 | znak $04 |
... | ... | kolejne bloki |
$03F0 | $0008 | znak $7E |
$03F8 | $0008 | znak $7F |
Spotykane są również pliki FNT zawierające dane czcionki opakowane w binarny nagłówek DOSu - plik zawiera wtedy 1030 bajtów (1024 bajty czcionki + 6 bajtów nagłówka).
Ciekawostki
- Identycznie zbudowany jest też plik FNT z Commodore 64. Jedyną różnicą jest tylko to, że zawiera 256 znaków a nie 128, a więc jest dwukrotnie większy - liczy sobie 2048 bajtów.
- Analogicznie jest też z fontem ZX Spectrum. Zawiera on jednakże definicje tylko znaków $20-$7F uporządkowanych według kodów ASCII, a więc jego długość to 768 bajtów.
Linki
- Na AtariOnline można znaleźć zbiory fontów z Atari i z C64 .
- Font TrueType autorstwa Marka Simmonsona
- Inny zbiór fontów
- Fonty z ZX Spectrum