Subversion Repositories Kolibri OS

Rev

Rev 3163 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3163 Rev 3169
1
; Kolibri-A vectorized system fonts
1
; Kolibri-A vectorized system fonts
2
; A.Jerdev 
2
; A.Jerdev 
3
; Copyright (C) KolibriOS Team, 2011-12
3
; Copyright (C) KolibriOS Team, 2011-12
4
;
4
;
5
; font data section
5
; font data section
6
 
6
 
7
 
7
 
8
macro gptick	origin, r, tick
8
macro gptick	origin, r, tick
9
{    dw  (origin mod 32) shl 11 + (r mod 8) shl 8 + (tick mod 256) }
9
{    dw  (origin mod 32) shl 11 + (r mod 8) shl 8 + (tick mod 256) }
10
 
10
 
11
macro ritick	x, y, tick
11
macro ritick	x, y, tick
12
{    dw  (x mod 16) shl 12 + (y mod 16) shl 8 + (tick and 2) shl 3 + (tick mod 2) }
12
{    dw  (x mod 16) shl 12 + (y mod 16) shl 8 + (tick and 2) shl 3 + (tick mod 2) }
13
 
13
 
14
macro cstick	x, y, r, tick
14
macro cstick	x, y, r, tick
15
{    dw  (x mod 16) shl 12 + (y mod 16) shl 8 + 0xD8 + (r mod 2) shl 2 + (tick mod 4) }
15
{    dw  (x mod 16) shl 12 + (y mod 16) shl 8 + 0xD8 + (r mod 2) shl 2 + (tick mod 4) }
16
 
16
 
17
macro lntick	x, y, r, len
17
macro lntick	x, y, r, len
18
{
18
{
19
if  len in <2, 3, 4, 5, 6, 7>
19
if  len in <2, 3, 4, 5, 6, 7>
20
dw  ((x mod 16) shl 12 + (y mod 16) shl 8 + (r mod 4) shl 3 + len)
20
dw  ((x mod 16) shl 12 + (y mod 16) shl 8 + (r mod 4) shl 3 + len)
21
else
21
else
22
dw  ((x mod 16) shl 12 + (y mod 16) shl 8 + (r mod 4) shl 3 + ((len-8) mod 8) + 0xE0)
22
dw  ((x mod 16) shl 12 + (y mod 16) shl 8 + (r mod 4) shl 3 + ((len-8) mod 8) + 0xE0)
23
end if
23
end if
24
}
24
}
25
 
25
 
26
macro char_entry	charpos, wdbits, numticks
26
macro char_entry	charpos, wdbits, numticks
27
{
27
{
28
	dw (charpos - .chars)*16 + (wdbits mod 4)*8 + (numticks mod 8)
28
	dw (charpos - .chars)*16 + (wdbits mod 4)*8 + (numticks mod 8)
29
}
29
}
30
 
30
 
31
;align 8
31
;align 8
32
;nsvf_data:
32
;nsvf_data:
33
 
33
 
34
.numfonts   db	2		; number of system fonts
34
.numfonts   db	2		; number of system fonts
35
.numsptks   db	32		; number of special ticks
35
.numsptks   db	32		; number of special ticks
36
.numticks   dw	?		; total number of ticks
36
.numticks   dw	?		; total number of ticks
37
.ticktble   dd	nsvf.tick_table ; general table
37
.ticktble   dd	nsvf.tick_table ; general table
38
 
38
 
39
align 4
39
align 4
40
;   ---- special tickfields ----
40
;   ---- special tickfields ----
41
.blank	    db	0, 0, 0, 0	   ; for straight lines
41
.blank	    db	0, 0, 0, 0	   ; for straight lines
42
.cs2	    db	11001100b,  111100b
42
.cs2	    db	11001100b,  111100b
43
.cs3	    db	00010100b,  01000101b,	0001b
43
.cs3	    db	00010100b,  01000101b,	0001b
44
.cs0	    db	1111b		   ; 4-pix square
44
.cs0	    db	1111b		   ; 4-pix square
45
.ri1	    db	01010101b, 0101b       ; rot-invariants: 8-pix ring
45
.ri1	    db	01010101b, 0101b       ; rot-invariants: 8-pix ring
46
.ri2	    db	01000100b, 01000100b, 01000100b, 000100b   ; 16-pix ring
46
.ri2	    db	01000100b, 01000100b, 01000100b, 000100b   ; 16-pix ring
47
 
47
 
48
align 16
48
align 16
49
nsvf_info:
49
nsvf_info:
50
 
50
 
51
;    System font #0: 5x9
51
;    System font #0: 5x9
52
.fnt0.x     db	5	    ; + 0: X-width
52
.fnt0.x     db	5	    ; + 0: X-width
53
.fnt0.y     db	9	    ; + 1: Y-heigth
53
.fnt0.y     db	9	    ; + 1: Y-heigth
54
.fnt0.rs    dw	0	    ; + 2: reserved
54
.fnt0.rs    dw	0	    ; + 2: reserved
55
.fnt0.tab   dd	nsvf00.table	  ; + 4
55
.fnt0.tab   dd	nsvf00.table	  ; + 4
56
.fnt0.org   dd	nsvf00.origs	  ; + 8
56
.fnt0.org   dd	nsvf00.origs	  ; + 8
57
.fnt0.chr   dd	  nsvf00.chars	    ; +12
57
.fnt0.chr   dd	  nsvf00.chars	    ; +12
58
 
58
 
59
 
59
 
60
;align 16
60
;align 16
61
;    System font #1: 7x10
61
;    System font #1: 7x10
62
.fnt1.x     db	7	    ; X-width
62
.fnt1.x     db	7	    ; X-width
63
.fnt1.y     db	10	    ; Y-heigth
63
.fnt1.y     db	10	    ; Y-heigth
64
.fnt1.rs    dw	0	    ; reserved
64
.fnt1.rs    dw	0	    ; reserved
65
.fnt1.tab   dd	nsvf01.table
65
.fnt1.tab   dd	nsvf01.table
66
.fnt1.org   dd	nsvf01.origs
66
.fnt1.org   dd	nsvf01.origs
67
.fnt1.chr   dd	nsvf01.chars
67
.fnt1.chr   dd	nsvf01.chars
68
 
68
 
69
 
69
 
70
align 4
70
align 4
71
 
71
 
72
diff16 "sdsh_data.tick_table: ",0,$
72
diff16 "sdsh_data.tick_table: ",0,$
73
 
73
 
74
nsvf:
74
nsvf:
75
.tick_table:
75
.tick_table:
76
	    db	0, 0, 0, 0, 0, 0	;32..37 (reserved)
76
	    db	0, 0, 0, 0, 0, 0	;32..37 (reserved)
77
.v1:
77
 
78
		    ; 38    39
78
.v1:                ; 38    39
79
	    db	01b	    ; XX    XX
79
        db  01b     ; XX    XX
80
	    db	11b	    ;   X    X
80
        db  11b     ;   X    X
81
.v2:
81
 
82
		      ;      40    41     42    43    44   45
82
.v2:                    ;      40    41     42    43    44   45
83
	    db	0100b	  ;40    XXX    XXX   XX    XX    XX   XX
83
        db  0100b       ;40    XXX    XXX   XX    XX    XX   XX
84
	    db	1100b	  ;41       X     X     X     XX    X    X
84
        db  1100b       ;41       X     X     X     XX    X    X
85
	    db	0001b	  ;42                    X          X   X
85
        db  0001b       ;42                    X          X   X
86
	    db	1001b	  ;43
86
        db  1001b       ;43    
87
	    db	0101b	  ;44
87
        db  0101b       ;44    
88
	    db	1101b	  ;45?
88
        db  1101b       ;45    
89
	    db	0	    ;46
89
        db  0000b       ;46    
90
	    db	0	    ;47
90
        db  0000b       ;47    
91
.v3:
91
          
92
			      ;             48   49   50    51    52    53   54
92
.v3:               ;            48   49   50    51    52    53   54   
93
	    db	010100b     ;48    XXX   XX   XX    XX   XXXX   XX   XXX
93
	    db	010100b     ;48    XXX   XX   XX    XX   XXXX   XX   XXX  
94
	    db	000011b     ;49       X   X     X     X     X    X     X
94
	    db	000011b     ;49       X   X     X     X     X    X     X    
95
	    db	010001b     ;50       X   X      X    X         X      X
95
	    db	010001b     ;50       X   X      X    X         X      X    
96
	    db	000101b     ;51           X      X    X        X
96
	    db	000101b     ;51           X      X    X        X           
97
	    db	110000b     ;52
97
	    db	110000b     ;52
98
	    db	000111b     ;53     55    56    57
98
	    db	000111b     ;53     55    56    57
99
	    db	001100b     ;54     XX    XX    XXX
99
	    db	001100b     ;54     XX    XX    XXX
100
	    db	010101b     ;55       X     X    XX
100
	    db	010101b     ;55       X     X    XX
101
	    db	011101b     ;56       X   XX
101
	    db	011101b     ;56       X   XX
102
	    db	111100b     ;57      X
102
	    db	111100b     ;57      X
103
	  db	  0		;58
103
        db  000000b     ;58
104
	  db	  0	      ;59
104
        db  000000b     ;59
105
	    db	0, 0, 0, 0	;60..63
105
        db  000000b     ;60
-
 
106
        db  000000b     ;61
-
 
107
        db  000000b     ;62
-
 
108
        db  000000b     ;63
106
.v4:
109
.v4:
107
			      ;            64   65   66    67     68    69     70
110
			      ;            64   65   66    67     68    69     70
108
	    db	01010001b   ;64:   XX    XX  XXXX   Y      XX    XX    Y
111
	    db	01010001b   ;64:   XX    XX  XXXX   Y      XX    XX    Y
109
	    db	01000101b   ;65:     X     X     X  X        X     X   X
112
	    db	01000101b   ;65:     X     X     X  X        X     X   X
110
	    db	01010000b   ;66:      X    X     X   X    XXX    XXX   X
113
	    db	01010000b   ;66:      X    X     X   X    XXX    XXX   X
111
	    db	01010010b   ;67:      X    X          X                X
114
	    db	01010010b   ;67:      X    X          X                X
112
	    db	00011101b   ;68:     X    X           X                 XX
115
	    db	00011101b   ;68:     X    X           X                 XX
113
	    db	00110101b   ;69:                     X
116
	    db	00110101b   ;69:                     X
114
	    db	10100000b   ;70:
117
	    db	10100000b   ;70:
115
	    db	01010101b   ;71:   71
118
	    db	01010101b   ;71:   71
116
	    db	00000000b   ;72:   XX
119
	    db	00000000b   ;72:   XX
117
	db  00000000b	;73:     X
120
	db  00000000b	;73:     X
118
	db  00000000b	;74:     X
121
	db  00000000b	;74:     X
119
	db  00000000b	;75:   XX
122
	db  00000000b	;75:   XX
120
	    db	00000000b   ;76:
123
	    db	00000000b   ;76:
121
	db  00000000b	;77:
124
	db  00000000b	;77:
122
	db  00000000b	;78:
125
	db  00000000b	;78:
123
	db  00000000b	;79:
126
	db  00000000b	;79:
124
 
127
 
125
 
128
 
126
.v5:
-
 
-
 
129
.v5:                                ;   80  81  82   83    84  85    86
127
	    db	00000001b, 01b		;80: )(
130
	    db	00000001b, 01b      ;80:  X  X   XX   XXX    X  XXX    X
128
	    db	00000001b, 10b		;81: /7X
131
	    db	00000001b, 10b      ;81:   X  X    X     X  X      X   X
129
	    db	01000101b, 01b		;82: 8u
132
	    db	01000101b, 01b      ;82:   X  X    X     X  X      X   X
130
	    db	01010100b, 01b		;83:
133
	    db	01010100b, 01b      ;83:   X  X    X   XX   X      X    X 
131
	    db	00000010b, 01b		;84: \X&
134
        db	00000010b, 01b      ;84:   X  X   X         X      X   X
132
	    db	00010100b, 00b		;85: hnu—
135
	    db	00010100b, 00b      ;85:  X    X           X           X
133
	    db	10111000b, 00b		;86: a
136
	    db	10111000b, 00b      ;86:                               X
134
	    db	0, 0			;87:
137
	    db	0, 0			;87:
135
 
-
 
-
 
138
 
136
.v6:
139
.v6:                                ;     88   89    90     91
137
	    db	01000000b, 0101b	;88: Jfg
140
	    db	01000000b, 0101b    ;88:    X  XXX    X       X
138
	    db	01010100b, 0001b	;89: BPR
141
	    db	01010100b, 0001b    ;89:    X     X   X       X
-
 
142
	    db	11010010b, 0001b    ;90:    X     X    X    X X
-
 
143
	    db	11010000b, 0001b    ;91:    X    X    X X   X X
139
	    db	11010010b, 0001b	;90: s$
144
	    db	00000000b, 0000b    ;92: X  X   X      XX    X
140
	    db	11010000b, 0001b	;91
145
	    db	00000000b, 0000b    ;93:  XX
141
	    db	0, 0, 0, 0		;92,93
146
	    db	00000000b, 0000b    ;94:   
142
	    db	0, 0, 0, 0		;94,95
147
	    db	00000000b, 0000b    ;95:   
-
 
148
 
143
.v7:
149
.v7:                                    ;        96  97    98    99
144
	    db	11011001b, 011001b	;96: >
150
	    db	11011001b, 011001b	; 96: X   X  XX    XXX   XX
145
	    db	00010001b, 010001b	;97: D
151
	    db	00010001b, 010001b	; 97: X   X    X      X  X
146
	    db	00010100b, 000101b	;98: bcdpqg
152
	    db	00010100b, 000101b	; 98:  X X      X     X  X
147
	    db	0, 0			      ;99:
153
	    db	00000011b, 110000b	; 99:  X X      X     X  X
-
 
154
	    db	00000000b, 000000b	;100:   X       X  XXX   X
-
 
155
	    db	00000000b, 000000b	;101:          X         X
148
	    db	0, 0, 0, 0		;100,101
156
	    db	00000000b, 000000b	;102:        XX          XX
149
	    db	0, 0, 0, 0		;102,103
-
 
-
 
157
	    db	00000000b, 000000b	;103:        
150
.v8:
158
.v8:                                  ;     104    105    106
-
 
159
	    db	00110000b, 00001100b  ;104: XXXX   XXX   XXXXX
-
 
160
	    db	01010100b, 01010001b  ;105:    X  X   X X     X
-
 
161
	    db	00000001b, 01000101b  ;106:    X  X   X       X
-
 
162
	    db	00000000b, 00000000b  ;107: XXXX   XXX        X
151
	    db	00110000b, 00001100b	;104: 5
163
	    db	00000000b, 00000000b  ;108:                  X
152
	    db	01010100b, 01010001b	;105: 689
164
	    db	00000000b, 00000000b  ;109: 
153
	    db	0, 0, 0, 0, 0, 0	;106..108
165
	    db	00000000b, 00000000b  ;110: 
154
	    db	0, 0, 0, 0, 0, 0	;109..111
166
	    db	00000000b, 00000000b  ;111: 
155
 
167
 
156
.v9:
168
.v9:                                          
157
	    db	00100100b, 00100100b, 00b   ;112:  XXX
169
	    db	00100100b, 00100100b, 00b   ;112:  XXX
158
	    db	0, 0, 0 		    ;113:     XXXX
170
	    db	0, 0, 0 		    ;113:     XXXX
159
	    db	0, 0, 0 		    ;114:         XXX
171
	    db	0, 0, 0 		    ;114:         XXX
160
	    db	0, 0, 0 		;115:
172
	    db	0, 0, 0 		;115:
161
.v10:
173
.v10:
162
	    db	00010100b, 01010000b, 0100b	;116:
174
	    db	00010100b, 01010000b, 0100b     ;116:
163
	    db	01010100b, 01010001b, 0100b	;117:
175
	    db	01010100b, 01010001b, 0100b     ;117:
164
	    db	01010001b, 00000100b, 0100b ;118:
176
	    db	01010001b, 00000100b, 0100b     ;118:
165
	    db	0, 0, 0 			;119:
177
	    db	0, 0, 0 			;119:
166
.v11:
178
.v11:
167
	    db	10100000b, 01010010b, 000001b	; 120: $s
179
	    db	10100000b, 01010010b, 000001b	; 120: $s
168
	    db	0, 0, 0 			;121:
180
	    db	01100100b, 01000000b, 000110b	; 121: )(
169
	    db	0, 0, 0 			;122:
181
	    db	01000100b, 01000100b, 000000b	; 122: 0
170
	    db	0, 0, 0 			;123:
182
	    db	0, 0, 0 			;123:
171
.v12:
183
.v12:
172
	    db	10011001b, 10011001b, 10011001b ;124:
184
	    db	10011001b, 10011001b, 10011001b ;124:
173
	    db	01000100b, 01000100b, 01000000b ;125:
185
	    db	01000100b, 01000100b, 01000000b ;125:
174
	    db	00000000b, 00000000b, 00000000b ;126:
186
	    db	00000000b, 00000000b, 00000000b ;126:
175
	    db	00000000b, 00000000b, 00000000b ;127:
187
	    db	00000000b, 00000000b, 00000000b ;127:
176
.v13:
188
.v13:
177
	; WARNING: 13-16 vertex fields not implemented yet!
189
	; WARNING: 13-16 vertex fields not implemented yet!
178
 
190
 
179
include 'nsvf_00.asm'
191
include 'nsvf_00.asm'
180
include 'nsvf_01.asm'
192
include 'nsvf_01.asm'
181
>
-