2011-11-14 22:37:38 +01:00
|
|
|
|
|
|
|
|
|
; Kolibri-A vectorized system fonts
|
|
|
|
|
; A.Jerdev <artem@jerdev.co.uk>
|
2012-08-29 02:20:57 +02:00
|
|
|
|
; Copyright (C) KolibriOS Team, 2011-12
|
2012-03-23 02:10:27 +01:00
|
|
|
|
;
|
2011-11-14 22:37:38 +01:00
|
|
|
|
; font data section
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
macro gptick origin, r, tick
|
2011-11-26 02:25:06 +01:00
|
|
|
|
{ dw (origin mod 32) shl 11 + (r mod 8) shl 8 + (tick mod 256) }
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
|
|
|
|
macro ritick x, y, tick
|
2012-09-07 01:20:44 +02:00
|
|
|
|
{ dw (x mod 16) shl 12 + (y mod 16) shl 8 + (tick and 2) shl 3 + (tick mod 2) }
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
|
|
|
|
macro cstick x, y, r, tick
|
2012-03-23 02:10:27 +01:00
|
|
|
|
{ dw (x mod 16) shl 12 + (y mod 16) shl 8 + 0xD8 + (r mod 2) shl 2 + (tick mod 4) }
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
|
|
|
|
macro lntick x, y, r, len
|
2012-03-23 02:10:27 +01:00
|
|
|
|
{
|
|
|
|
|
if len in <2, 3, 4, 5, 6, 7>
|
|
|
|
|
dw ((x mod 16) shl 12 + (y mod 16) shl 8 + (r mod 4) shl 3 + len)
|
2011-11-29 10:40:16 +01:00
|
|
|
|
else
|
|
|
|
|
dw ((x mod 16) shl 12 + (y mod 16) shl 8 + (r mod 4) shl 3 + ((len-8) mod 8) + 0xE0)
|
|
|
|
|
end if
|
2012-08-29 02:20:57 +02:00
|
|
|
|
}
|
|
|
|
|
|
2013-01-11 18:03:03 +01:00
|
|
|
|
macro char_entry charpos, wdbits, numticks
|
2012-08-29 02:20:57 +02:00
|
|
|
|
{
|
|
|
|
|
dw (charpos - .chars)*16 + (wdbits mod 4)*8 + (numticks mod 8)
|
|
|
|
|
}
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
|
|
|
|
;align 8
|
2012-08-29 02:20:57 +02:00
|
|
|
|
;nsvf_data:
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
2012-03-23 02:10:27 +01:00
|
|
|
|
.numfonts db 2 ; number of system fonts
|
|
|
|
|
.numsptks db 32 ; number of special ticks
|
|
|
|
|
.numticks dw ? ; total number of ticks
|
2013-01-11 18:03:03 +01:00
|
|
|
|
.ticktble dd nsvf.tick_table ; general table
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
2011-11-26 02:25:06 +01:00
|
|
|
|
align 4
|
|
|
|
|
; ---- special tickfields ----
|
2012-03-23 02:10:27 +01:00
|
|
|
|
.blank db 0, 0, 0, 0 ; for straight lines
|
|
|
|
|
.cs2 db 11001100b, 111100b
|
|
|
|
|
.cs3 db 00010100b, 01000101b, 0001b
|
|
|
|
|
.cs0 db 1111b ; 4-pix square
|
2013-01-11 18:03:03 +01:00
|
|
|
|
.ri1 db 01010101b, 0101b ; rot-invariants: 8-pix ring
|
|
|
|
|
.ri2 db 01000100b, 01000100b, 01000100b, 000100b ; 16-pix ring
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
|
|
|
|
align 16
|
2012-08-29 02:20:57 +02:00
|
|
|
|
nsvf_info:
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
2012-03-23 02:10:27 +01:00
|
|
|
|
; System font #0: 5x9
|
|
|
|
|
.fnt0.x db 5 ; + 0: X-width
|
|
|
|
|
.fnt0.y db 9 ; + 1: Y-heigth
|
|
|
|
|
.fnt0.rs dw 0 ; + 2: reserved
|
2013-01-11 18:03:03 +01:00
|
|
|
|
.fnt0.tab dd nsvf00.table ; + 4
|
|
|
|
|
.fnt0.org dd nsvf00.origs ; + 8
|
|
|
|
|
.fnt0.chr dd nsvf00.chars ; +12
|
2012-08-29 02:20:57 +02:00
|
|
|
|
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
2011-11-29 10:40:16 +01:00
|
|
|
|
;align 16
|
2012-09-07 01:20:44 +02:00
|
|
|
|
; System font #1: 7x10
|
2013-01-11 18:03:03 +01:00
|
|
|
|
.fnt1.x db 7 ; X-width
|
|
|
|
|
.fnt1.y db 10 ; Y-heigth
|
|
|
|
|
.fnt1.rs dw 0 ; reserved
|
|
|
|
|
.fnt1.tab dd nsvf01.table
|
|
|
|
|
.fnt1.org dd nsvf01.origs
|
|
|
|
|
.fnt1.chr dd nsvf01.chars
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
align 4
|
2012-03-15 02:02:08 +01:00
|
|
|
|
|
|
|
|
|
diff16 "sdsh_data.tick_table: ",0,$
|
|
|
|
|
|
2012-08-29 02:20:57 +02:00
|
|
|
|
nsvf:
|
2011-11-14 22:37:38 +01:00
|
|
|
|
.tick_table:
|
2012-03-29 01:12:25 +02:00
|
|
|
|
db 0, 0, 0, 0, 0, 0 ;32..37 (reserved)
|
2011-11-14 22:37:38 +01:00
|
|
|
|
.v1:
|
2013-01-11 18:03:03 +01:00
|
|
|
|
; 38 39
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 01b ; XX XX
|
|
|
|
|
db 11b ; X X
|
2011-11-14 22:37:38 +01:00
|
|
|
|
.v2:
|
2013-01-11 18:03:03 +01:00
|
|
|
|
; 40 41 42 43 44 45
|
|
|
|
|
db 0100b ;40 XXX XXX XX XX XX XX
|
|
|
|
|
db 1100b ;41 X X X XX X X
|
|
|
|
|
db 0001b ;42 X X X
|
|
|
|
|
db 1001b ;43
|
|
|
|
|
db 0101b ;44
|
|
|
|
|
db 1101b ;45?
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 0 ;46
|
|
|
|
|
db 0 ;47
|
2011-11-14 22:37:38 +01:00
|
|
|
|
.v3:
|
2013-01-11 18:03:03 +01:00
|
|
|
|
; 48 49 50 51 52 53 54
|
|
|
|
|
db 010100b ;48 XXX XX XX XX XXXX XX XXX
|
|
|
|
|
db 000011b ;49 X X X X X X X
|
|
|
|
|
db 010001b ;50 X X X X X X
|
|
|
|
|
db 000101b ;51 X X X X
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 110000b ;52
|
2012-10-17 22:23:29 +02:00
|
|
|
|
db 000111b ;53 55 56 57
|
|
|
|
|
db 001100b ;54 XX XX XXX
|
|
|
|
|
db 010101b ;55 X X XX
|
|
|
|
|
db 011101b ;56 X XX
|
|
|
|
|
db 111100b ;57 X
|
2013-01-11 18:03:03 +01:00
|
|
|
|
db 0 ;58
|
|
|
|
|
db 0 ;59
|
2012-10-17 22:23:29 +02:00
|
|
|
|
db 0, 0, 0, 0 ;60..63
|
2011-11-14 22:37:38 +01:00
|
|
|
|
.v4:
|
2012-10-17 22:23:29 +02:00
|
|
|
|
; 64 65 66 67 68 69 70
|
|
|
|
|
db 01010001b ;64: XX XX XXXX Y XX XX Y
|
|
|
|
|
db 01000101b ;65: X X X X X X X
|
|
|
|
|
db 01010000b ;66: X X X X XXX XXX X
|
|
|
|
|
db 01010010b ;67: X X X X
|
|
|
|
|
db 00011101b ;68: X X X XX
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 00110101b ;69: X
|
2012-03-29 01:12:25 +02:00
|
|
|
|
db 10100000b ;70:
|
2012-10-17 22:23:29 +02:00
|
|
|
|
db 01010101b ;71: 71
|
|
|
|
|
db 00000000b ;72: XX
|
2013-01-11 18:03:03 +01:00
|
|
|
|
db 00000000b ;73: X
|
|
|
|
|
db 00000000b ;74: X
|
|
|
|
|
db 00000000b ;75: XX
|
2012-10-17 22:23:29 +02:00
|
|
|
|
db 00000000b ;76:
|
2013-01-11 18:03:03 +01:00
|
|
|
|
db 00000000b ;77:
|
|
|
|
|
db 00000000b ;78:
|
|
|
|
|
db 00000000b ;79:
|
2012-03-23 02:10:27 +01:00
|
|
|
|
|
2011-11-26 02:25:06 +01:00
|
|
|
|
|
2011-11-14 22:37:38 +01:00
|
|
|
|
.v5:
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 00000001b, 01b ;80: )(
|
|
|
|
|
db 00000001b, 10b ;81: /7X
|
|
|
|
|
db 01000101b, 01b ;82: 8u
|
2012-03-29 01:12:25 +02:00
|
|
|
|
db 01010100b, 01b ;83:
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 00000010b, 01b ;84: \X&
|
2012-08-29 02:20:57 +02:00
|
|
|
|
db 00010100b, 00b ;85: hnu<6E>
|
|
|
|
|
db 10111000b, 00b ;86: a
|
2012-03-29 01:12:25 +02:00
|
|
|
|
db 0, 0 ;87:
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
|
|
|
|
.v6:
|
2012-03-29 01:12:25 +02:00
|
|
|
|
db 01000000b, 0101b ;88: Jfg
|
2012-08-29 02:20:57 +02:00
|
|
|
|
db 01010100b, 0001b ;89: BPR
|
2012-03-29 01:12:25 +02:00
|
|
|
|
db 11010010b, 0001b ;90: s$
|
2012-10-17 22:23:29 +02:00
|
|
|
|
db 11010000b, 0001b ;91
|
2012-03-29 01:12:25 +02:00
|
|
|
|
db 0, 0, 0, 0 ;92,93
|
|
|
|
|
db 0, 0, 0, 0 ;94,95
|
2011-11-14 22:37:38 +01:00
|
|
|
|
.v7:
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 11011001b, 011001b ;96: ><vVY
|
2012-03-29 01:12:25 +02:00
|
|
|
|
db 00010001b, 010001b ;97: D
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 00010100b, 000101b ;98: bcdpqg
|
|
|
|
|
db 0, 0 ;99:
|
2012-03-29 01:12:25 +02:00
|
|
|
|
db 0, 0, 0, 0 ;100,101
|
|
|
|
|
db 0, 0, 0, 0 ;102,103
|
2011-11-14 22:37:38 +01:00
|
|
|
|
.v8:
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 00110000b, 00001100b ;104: 5
|
2012-03-29 01:12:25 +02:00
|
|
|
|
db 01010100b, 01010001b ;105: 689
|
|
|
|
|
db 0, 0, 0, 0, 0, 0 ;106..108
|
|
|
|
|
db 0, 0, 0, 0, 0, 0 ;109..111
|
2012-03-23 02:10:27 +01:00
|
|
|
|
|
2013-01-11 18:03:03 +01:00
|
|
|
|
.v9:
|
2012-10-17 22:23:29 +02:00
|
|
|
|
db 00100100b, 00100100b, 00b ;112: XXX
|
2013-01-11 18:03:03 +01:00
|
|
|
|
db 0, 0, 0 ;113: XXXX
|
|
|
|
|
db 0, 0, 0 ;114: XXX
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 0, 0, 0 ;115:
|
2011-11-14 22:37:38 +01:00
|
|
|
|
.v10:
|
2013-01-11 18:03:03 +01:00
|
|
|
|
db 00010100b, 01010000b, 0100b ;116:
|
|
|
|
|
db 01010100b, 01010001b, 0100b ;117:
|
2012-10-17 22:23:29 +02:00
|
|
|
|
db 01010001b, 00000100b, 0100b ;118:
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 0, 0, 0 ;119:
|
2011-11-28 02:09:32 +01:00
|
|
|
|
.v11:
|
2012-03-23 02:10:27 +01:00
|
|
|
|
db 10100000b, 01010010b, 000001b ; 120: $s
|
|
|
|
|
db 0, 0, 0 ;121:
|
|
|
|
|
db 0, 0, 0 ;122:
|
|
|
|
|
db 0, 0, 0 ;123:
|
2011-11-28 02:09:32 +01:00
|
|
|
|
.v12:
|
2013-01-11 18:03:03 +01:00
|
|
|
|
db 10011001b, 10011001b, 10011001b ;124:
|
|
|
|
|
db 01000100b, 01000100b, 01000000b ;125:
|
|
|
|
|
db 00000000b, 00000000b, 00000000b ;126:
|
|
|
|
|
db 00000000b, 00000000b, 00000000b ;127:
|
2011-11-28 02:09:32 +01:00
|
|
|
|
.v13:
|
2012-03-23 02:10:27 +01:00
|
|
|
|
; WARNING: 13-16 vertex fields not implemented yet!
|
2011-11-14 22:37:38 +01:00
|
|
|
|
|
2012-08-29 02:20:57 +02:00
|
|
|
|
include 'nsvf_00.asm'
|
|
|
|
|
include 'nsvf_01.asm'
|
2011-11-26 02:25:06 +01:00
|
|
|
|
|