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'2,> |
181 | >2,> |
- |