mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-01-16 16:31:02 +00:00
Thin fonts
This commit is contained in:
parent
bab302ebc1
commit
297c0ab493
@ -1,7 +1,10 @@
|
||||
import dcgrutils
|
||||
const FONT_WIDE = 0
|
||||
const FONT_THIN = 1
|
||||
predef dcgrAllocBl7Mem(w, h)#2
|
||||
predef dcgrStr(x, y, strptr)#0
|
||||
predef dcgrBoldStr(x, y, strptr)#0
|
||||
predef dcgrBoldStr(clr, x, y, strptr)#0
|
||||
predef dcgrFont(font)#0
|
||||
predef dcgrRect(x, y, w, h)#0
|
||||
predef spriteRead(filestr)#5
|
||||
predef spriteWrite(filestr, xorg, yorg, width, height, sprptr)#1
|
||||
|
@ -5,87 +5,7 @@ include "inc/dcgrlib.plh"
|
||||
//
|
||||
// Apple //e hires character font
|
||||
//
|
||||
byte fontBits[]
|
||||
byte = $1C,$22,$2A,$3A,$1A,$02,$3C,$00,$08,$14,$22,$22,$3E,$22,$22,$00
|
||||
byte = $1E,$22,$22,$1E,$22,$22,$1E,$00,$1C,$22,$02,$02,$02,$22,$1C,$00
|
||||
byte = $1E,$22,$22,$22,$22,$22,$1E,$00,$3E,$02,$02,$1E,$02,$02,$3E,$00
|
||||
byte = $3E,$02,$02,$1E,$02,$02,$02,$00,$3C,$02,$02,$02,$32,$22,$3C,$00
|
||||
byte = $22,$22,$22,$3E,$22,$22,$22,$00,$1C,$08,$08,$08,$08,$08,$1C,$00
|
||||
byte = $20,$20,$20,$20,$20,$22,$1C,$00,$22,$12,$0A,$06,$0A,$12,$22,$00
|
||||
byte = $02,$02,$02,$02,$02,$02,$3E,$00,$22,$36,$2A,$2A,$22,$22,$22,$00
|
||||
byte = $22,$22,$26,$2A,$32,$22,$22,$00,$1C,$22,$22,$22,$22,$22,$1C,$00
|
||||
byte = $1E,$22,$22,$1E,$02,$02,$02,$00,$1C,$22,$22,$22,$2A,$12,$2C,$00
|
||||
byte = $1E,$22,$22,$1E,$0A,$12,$22,$00,$1C,$22,$02,$1C,$20,$22,$1C,$00
|
||||
byte = $3E,$08,$08,$08,$08,$08,$08,$00,$22,$22,$22,$22,$22,$22,$1C,$00
|
||||
byte = $22,$22,$22,$22,$22,$14,$08,$00,$22,$22,$22,$2A,$2A,$36,$22,$00
|
||||
byte = $22,$22,$14,$08,$14,$22,$22,$00,$22,$22,$14,$08,$08,$08,$08,$00
|
||||
byte = $3E,$20,$10,$08,$04,$02,$3E,$00,$3E,$06,$06,$06,$06,$06,$3E,$00
|
||||
byte = $00,$02,$04,$08,$10,$20,$00,$00,$3E,$30,$30,$30,$30,$30,$3E,$00
|
||||
byte = $00,$00,$08,$14,$22,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7F
|
||||
byte = $00,$00,$00,$00,$00,$00,$00,$00,$08,$08,$08,$08,$08,$00,$08,$00
|
||||
byte = $14,$14,$14,$00,$00,$00,$00,$00,$14,$14,$3E,$14,$3E,$14,$14,$00
|
||||
byte = $08,$3C,$0A,$1C,$28,$1E,$08,$00,$06,$26,$10,$08,$04,$32,$30,$00
|
||||
byte = $04,$0A,$0A,$04,$2A,$12,$2C,$00,$08,$08,$08,$00,$00,$00,$00,$00
|
||||
byte = $08,$04,$02,$02,$02,$04,$08,$00,$08,$10,$20,$20,$20,$10,$08,$00
|
||||
byte = $08,$2A,$1C,$08,$1C,$2A,$08,$00,$00,$08,$08,$3E,$08,$08,$00,$00
|
||||
byte = $00,$00,$00,$00,$08,$08,$04,$00,$00,$00,$00,$3E,$00,$00,$00,$00
|
||||
byte = $00,$00,$00,$00,$00,$00,$08,$00,$00,$20,$10,$08,$04,$02,$00,$00
|
||||
byte = $1C,$22,$32,$2A,$26,$22,$1C,$00,$08,$0C,$08,$08,$08,$08,$1C,$00
|
||||
byte = $1C,$22,$20,$18,$04,$02,$3E,$00,$3E,$20,$10,$18,$20,$22,$1C,$00
|
||||
byte = $10,$18,$14,$12,$3E,$10,$10,$00,$3E,$02,$1E,$20,$20,$22,$1C,$00
|
||||
byte = $38,$04,$02,$1E,$22,$22,$1C,$00,$3E,$20,$10,$08,$04,$04,$04,$00
|
||||
byte = $1C,$22,$22,$1C,$22,$22,$1C,$00,$1C,$22,$22,$3C,$20,$10,$0E,$00
|
||||
byte = $00,$00,$08,$00,$08,$00,$00,$00,$00,$00,$08,$00,$08,$08,$04,$00
|
||||
byte = $10,$08,$04,$02,$04,$08,$10,$00,$00,$00,$3E,$00,$3E,$00,$00,$00
|
||||
byte = $04,$08,$10,$20,$10,$08,$04,$00,$1C,$22,$10,$08,$08,$00,$08,$00
|
||||
byte = $1C,$22,$2A,$3A,$1A,$02,$3C,$00,$08,$14,$22,$22,$3E,$22,$22,$00
|
||||
byte = $1E,$22,$22,$1E,$22,$22,$1E,$00,$1C,$22,$02,$02,$02,$22,$1C,$00
|
||||
byte = $1E,$22,$22,$22,$22,$22,$1E,$00,$3E,$02,$02,$1E,$02,$02,$3E,$00
|
||||
byte = $3E,$02,$02,$1E,$02,$02,$02,$00,$3C,$02,$02,$02,$32,$22,$3C,$00
|
||||
byte = $22,$22,$22,$3E,$22,$22,$22,$00,$1C,$08,$08,$08,$08,$08,$1C,$00
|
||||
byte = $20,$20,$20,$20,$20,$22,$1C,$00,$22,$12,$0A,$06,$0A,$12,$22,$00
|
||||
byte = $02,$02,$02,$02,$02,$02,$3E,$00,$22,$36,$2A,$2A,$22,$22,$22,$00
|
||||
byte = $22,$22,$26,$2A,$32,$22,$22,$00,$1C,$22,$22,$22,$22,$22,$1C,$00
|
||||
byte = $1E,$22,$22,$1E,$02,$02,$02,$00,$1C,$22,$22,$22,$2A,$12,$2C,$00
|
||||
byte = $1E,$22,$22,$1E,$0A,$12,$22,$00,$1C,$22,$02,$1C,$20,$22,$1C,$00
|
||||
byte = $3E,$08,$08,$08,$08,$08,$08,$00,$22,$22,$22,$22,$22,$22,$1C,$00
|
||||
byte = $22,$22,$22,$22,$22,$14,$08,$00,$22,$22,$22,$2A,$2A,$36,$22,$00
|
||||
byte = $22,$22,$14,$08,$14,$22,$22,$00,$22,$22,$14,$08,$08,$08,$08,$00
|
||||
byte = $3E,$20,$10,$08,$04,$02,$3E,$00,$3E,$06,$06,$06,$06,$06,$3E,$00
|
||||
byte = $00,$02,$04,$08,$10,$20,$00,$00,$3E,$30,$30,$30,$30,$30,$3E,$00
|
||||
byte = $00,$00,$08,$14,$22,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7F
|
||||
byte = $00,$00,$00,$00,$00,$00,$00,$00,$08,$08,$08,$08,$08,$00,$08,$00
|
||||
byte = $14,$14,$14,$00,$00,$00,$00,$00,$14,$14,$3E,$14,$3E,$14,$14,$00
|
||||
byte = $08,$3C,$0A,$1C,$28,$1E,$08,$00,$06,$26,$10,$08,$04,$32,$30,$00
|
||||
byte = $04,$0A,$0A,$04,$2A,$12,$2C,$00,$08,$08,$08,$00,$00,$00,$00,$00
|
||||
byte = $08,$04,$02,$02,$02,$04,$08,$00,$08,$10,$20,$20,$20,$10,$08,$00
|
||||
byte = $08,$2A,$1C,$08,$1C,$2A,$08,$00,$00,$08,$08,$3E,$08,$08,$00,$00
|
||||
byte = $00,$00,$00,$00,$08,$08,$04,$00,$00,$00,$00,$3E,$00,$00,$00,$00
|
||||
byte = $00,$00,$00,$00,$00,$00,$08,$00,$00,$20,$10,$08,$04,$02,$00,$00
|
||||
byte = $1C,$22,$32,$2A,$26,$22,$1C,$00,$08,$0C,$08,$08,$08,$08,$1C,$00
|
||||
byte = $1C,$22,$20,$18,$04,$02,$3E,$00,$3E,$20,$10,$18,$20,$22,$1C,$00
|
||||
byte = $10,$18,$14,$12,$3E,$10,$10,$00,$3E,$02,$1E,$20,$20,$22,$1C,$00
|
||||
byte = $38,$04,$02,$1E,$22,$22,$1C,$00,$3E,$20,$10,$08,$04,$04,$04,$00
|
||||
byte = $1C,$22,$22,$1C,$22,$22,$1C,$00,$1C,$22,$22,$3C,$20,$10,$0E,$00
|
||||
byte = $00,$00,$08,$00,$08,$00,$00,$00,$00,$00,$08,$00,$08,$08,$04,$00
|
||||
byte = $10,$08,$04,$02,$04,$08,$10,$00,$00,$00,$3E,$00,$3E,$00,$00,$00
|
||||
byte = $04,$08,$10,$20,$10,$08,$04,$00,$1C,$22,$10,$08,$08,$00,$08,$00
|
||||
byte = $1C,$22,$2A,$3A,$1A,$02,$3C,$00,$08,$14,$22,$22,$3E,$22,$22,$00
|
||||
byte = $1E,$22,$22,$1E,$22,$22,$1E,$00,$1C,$22,$02,$02,$02,$22,$1C,$00
|
||||
byte = $1E,$22,$22,$22,$22,$22,$1E,$00,$3E,$02,$02,$1E,$02,$02,$3E,$00
|
||||
byte = $3E,$02,$02,$1E,$02,$02,$02,$00,$3C,$02,$02,$02,$32,$22,$3C,$00
|
||||
byte = $22,$22,$22,$3E,$22,$22,$22,$00,$1C,$08,$08,$08,$08,$08,$1C,$00
|
||||
byte = $20,$20,$20,$20,$20,$22,$1C,$00,$22,$12,$0A,$06,$0A,$12,$22,$00
|
||||
byte = $02,$02,$02,$02,$02,$02,$3E,$00,$22,$36,$2A,$2A,$22,$22,$22,$00
|
||||
byte = $22,$22,$26,$2A,$32,$22,$22,$00,$1C,$22,$22,$22,$22,$22,$1C,$00
|
||||
byte = $1E,$22,$22,$1E,$02,$02,$02,$00,$1C,$22,$22,$22,$2A,$12,$2C,$00
|
||||
byte = $1E,$22,$22,$1E,$0A,$12,$22,$00,$1C,$22,$02,$1C,$20,$22,$1C,$00
|
||||
byte = $3E,$08,$08,$08,$08,$08,$08,$00,$22,$22,$22,$22,$22,$22,$1C,$00
|
||||
byte = $22,$22,$22,$22,$22,$14,$08,$00,$22,$22,$22,$2A,$2A,$36,$22,$00
|
||||
byte = $22,$22,$14,$08,$14,$22,$22,$00,$22,$22,$14,$08,$08,$08,$08,$00
|
||||
byte = $3E,$20,$10,$08,$04,$02,$3E,$00,$3E,$06,$06,$06,$06,$06,$3E,$00
|
||||
byte = $00,$02,$04,$08,$10,$20,$00,$00,$3E,$30,$30,$30,$30,$30,$3E,$00
|
||||
byte = $00,$00,$08,$14,$22,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7F
|
||||
byte fontWide[]
|
||||
byte = $00,$00,$00,$00,$00,$00,$00,$00,$08,$08,$08,$08,$08,$00,$08,$00
|
||||
byte = $14,$14,$14,$00,$00,$00,$00,$00,$14,$14,$3E,$14,$3E,$14,$14,$00
|
||||
byte = $08,$3C,$0A,$1C,$28,$1E,$08,$00,$06,$26,$10,$08,$04,$32,$30,$00
|
||||
@ -134,6 +54,9 @@ byte = $00,$00,$22,$14,$08,$14,$22,$00,$00,$00,$22,$22,$22,$3C,$20,$1C
|
||||
byte = $00,$00,$3E,$10,$08,$04,$3E,$00,$38,$0C,$0C,$06,$0C,$0C,$38,$00
|
||||
byte = $08,$08,$08,$08,$08,$08,$08,$08,$0E,$18,$18,$30,$18,$18,$0E,$00
|
||||
byte = $00,$2C,$1A,$00,$00,$00,$00,$00,$00,$2A,$14,$2A,$14,$2A,$00,$00
|
||||
var fontThin = NULL
|
||||
var fontPtr = @fontWide
|
||||
var fontWidth = 7
|
||||
//
|
||||
// Utility functions
|
||||
//
|
||||
@ -148,11 +71,11 @@ export def dcgrStr(x, y, strptr)#0
|
||||
byte i
|
||||
|
||||
for i = 1 to ^strptr
|
||||
dcgrBitmap(x, y, 7, 8, @fontBits + (^(strptr + i) + 128) * 8)
|
||||
x = x + 7
|
||||
dcgrBitmap(x, y, fontWidth, 8, fontPtr + (^(strptr + i) - 32) * 8)
|
||||
x = x + fontWidth
|
||||
next
|
||||
end
|
||||
export def dcgrBoldStr(x, y, strptr)#0
|
||||
export def dcgrBoldStr(clr, x, y, strptr)#0
|
||||
byte h, v
|
||||
|
||||
for v = y - 1 to y + 1
|
||||
@ -160,9 +83,36 @@ export def dcgrBoldStr(x, y, strptr)#0
|
||||
dcgrStr(h, v, strptr)
|
||||
next
|
||||
next
|
||||
dcgrColor(CLR_BLACK)
|
||||
dcgrColor(clr)
|
||||
dcgrStr(x, y, strptr)
|
||||
end
|
||||
export def dcgrFont(font)#0
|
||||
var rows, pWide, pThin
|
||||
byte bits
|
||||
if font
|
||||
if not fontThin
|
||||
fontThin = heapalloc(96*8)
|
||||
pThin = fontThin
|
||||
pWide = @fontWide
|
||||
for rows = 0 to 96*8
|
||||
//bits = (^pWide | ^pWide >> 1) & $02
|
||||
//bits = bits | (^pWide >> 1 | ^pWide >> 2) & $04
|
||||
//bits = bits | (^pWide >> 2 | ^pWide >> 3) & $08
|
||||
bits = (^pWide ) & $02
|
||||
bits = bits | (^pWide | ^pWide >> 1 | ^pWide >> 2) & $04
|
||||
bits = bits | ( ^pWide >> 2) & $08
|
||||
^pThin = bits
|
||||
pThin++
|
||||
pWide++
|
||||
next
|
||||
fin
|
||||
fontPtr = fontThin
|
||||
fontWidth = 4
|
||||
else
|
||||
fontPtr = @fontWide
|
||||
fontWidth = 7
|
||||
fin
|
||||
end
|
||||
export def dcgrRect(x, y, w, h)#0
|
||||
byte x2, y2, v
|
||||
|
||||
|
@ -193,7 +193,11 @@ def dcgrTest#0
|
||||
dcgrHLin((21/7)*7-1, (21/7)*7+(100/7)*7, 29+133)
|
||||
dcgrVLin(29, 29+133, (21/7)*7-1)
|
||||
dcgrVLin(29, 29+133, (21/7)*7+(100/7)*7)
|
||||
dcgrBoldStr(30, 10, "Hello, DCGR!")
|
||||
dcgrColor(CLR_BLACK) // Outline color
|
||||
dcgrBoldStr(CLR_WHITE, 48, 10, "Hello!")
|
||||
dcgrFont(FONT_THIN)
|
||||
dcgrColor(CLR_WHITE) // Outline color
|
||||
dcgrBoldStr(CLR_BLACK, 42, 20, "from DCGRTEST")
|
||||
i = 64; j = 64; k = 86
|
||||
k7 = k/7
|
||||
inci = 1; incj = 1; inck = 2
|
||||
@ -257,9 +261,9 @@ def dcgrTest#0
|
||||
dcgrSurfMem(OP_SRC, SPR_H, restrblk, restrspan)
|
||||
dcgrMemBl7(0, 0, restr7w, SPR_H, backblk + (k7 << 1), backspan)
|
||||
dcgrColor(CLR_BLACK)
|
||||
dcgrRect(km7 + 2, 3, 14 + 2, 10)
|
||||
dcgrRect(km7 + 2, 3, 16 + 2, 10)
|
||||
dcgrColor(CLR_WHITE)
|
||||
dcgrStr(km7 + 3, 4, "DC")
|
||||
dcgrStr(km7 + 3, 4, "DCGR")
|
||||
dcgrSurfScr(OP_SRC)
|
||||
dcgrMemBl7(k7, SLIDE_Y, restr7w, SPR_H, restrblk, restrspan)
|
||||
break
|
||||
|
Loading…
x
Reference in New Issue
Block a user