*
* F U T U R E N U M S
*
* Ein kleiner Font; definiert sind lediglich die
* Zahlen 0-9 (ASCII $30-$39). Sieht ein wenig futurisch aus.
*

Startup:        moveq #0,d0                      * Startup-Code
                rts

* Ab hier steht der DiskFontHeader des Fonts ...

DiskFontHeader:

* Dies hier ist die Node-Struktur für die Font-Node ...

Node:           dc.l 0                           * Node^.succ
                dc.l 0                           * Node^.pred
                dc.b 12                          * Node^.type (Font)
                dc.b 0                           * Node^.pri
                dc.l FontName                    * Node^.name

                dc.w $0F80                       * fileId
                dc.w 0                           * revision
                dc.l 0                           * segment

FontName:       dc.b "FutureNums/12"             * Name des Fonts
                ds.b 19                          * Füllbytes

* Nun kommt die TextFont-Struktur ...

TextFont:       

* Gestartet wird mit der Message-Struktur ...

Message:        dc.l 0                           * Node^.succ
                dc.l 0                           * Node^.pred
                dc.b 12                          * Node^.type (Font)
                dc.b 0                           * Node^.pri
                dc.l FontName                    * Node^.name
                dc.l 0                           * Message^.replyPort
                dc.w Ende-TextFont               * Message^.length

                dc.w 12                          * TextFont^.ySize
                dc.b 0                           * TextFont^.style
                dc.b $80|$20|$2                  * TextFont^.flags

* Die Flags sind: removed, proportional und diskfont

                dc.w 9                           * TextFont^.xSize
                dc.w 10                          * TextFont^.baseLine
                dc.w 1                           * TextFont^.boldSmear
                dc.w 0                           * TextFont^.accessors
                dc.b $30                         * TextFont^.loChar
                dc.b $39                         * TextFont^.hiChar
                dc.l charData                    * TextFont^.charData
                dc.w 10                          * TextFont^.modulo
                dc.l charLoc                     * TextFont^.charLoc
                dc.l charSpace                   * TextFont^.charSpace
                dc.l charKern                    * TextFont^.charKern

* Dies sind die eigentlichen Zeichendaten ...

charData:       dc.w %0111110001011111,%0011100000111100
                dc.w %1111111011111011,%1111100111100011,%1111000000000000
                dc.w %1000001001100000,%1100010001000100
                dc.w %1000000100000100,%0000101000010100,%0001000000000000
                dc.w %1000001001000000,%1000010010000100
                dc.w %1000000100000000,%0000101000010100,%0001000000000000
                dc.w %1000001001000011,%0000010010000100
                dc.w %1000000100000000,%0000101000010100,%0001000000000000
                dc.w %1000001011001100,%0001111010000100
                dc.w %1111111111111000,%0001101111110100,%0011000000000000
                dc.w %1000011111011000,%0000011111111111
                dc.w %0000111100011100,%0011110000111011,%1111000000000000
                dc.w %1000111111111000,%0000011100001100
                dc.w %0000111100011100,%0011110000111000,%0111000000000000
                dc.w %1000111111111000,%0000011100011100
                dc.w %0000111100011100,%0011110000111000,%0111000000000000
                dc.w %1000111111111000,%0100011100011100
                dc.w %1000111100011100,%0011110000111000,%0111000000000000
                dc.w %0111110111111111,%1111111100011100
                dc.w %0111111011111100,%0011101111111000,%0111000000000000
                dc.w %0000000000000000,%0000000000000000
                dc.w %0000000000000000,%0000000000000000,%0000000000000000
                dc.w %0000000000000000,%0000000000000000
                dc.w %0000000000000000,%0000000000000000,%0000000000000000

* Hier steht die Tabelle mit Bitposition und Breite im Datenblock ...

charLoc:        dc.w 0,7
                dc.w 7,3
                dc.w 10,7
                dc.w 17,7
                dc.w 24,8
                dc.w 32,7
                dc.w 39,7
                dc.w 46,7
                dc.w 53,8
                dc.w 61,7
                dc.w 68,8

* Dies ist die charKern-Tabelle ...

charKern:       dc.w 1
                dc.w 1
                dc.w 1
                dc.w 1
                dc.w 1
                dc.w 1
                dc.w 1
                dc.w 1
                dc.w 1
                dc.w 1
                dc.w 1

* Und schließlich die Zeichenbreite insgesamt ...

charSpace:      dc.w 8
                dc.w 4
                dc.w 8
                dc.w 8
                dc.w 9
                dc.w 8
                dc.w 8
                dc.w 8
                dc.w 9
                dc.w 8
                dc.w 9

Ende:
                END

