diff --git a/kernel/branches/Kolibri-A/trunk/gui/font.inc b/kernel/branches/Kolibri-A/trunk/gui/font.inc index b452913f1f..ca1803b87b 100644 --- a/kernel/branches/Kolibri-A/trunk/gui/font.inc +++ b/kernel/branches/Kolibri-A/trunk/gui/font.inc @@ -146,8 +146,10 @@ align 4 xor ebp, ebp ; font# mov [font_check_routine], ebp -; inc ebp - + test ecx, 0x10000000 + jz @f + inc ebp +@@: test ecx, ecx js .checked inc [font_check_routine]; .check_esi @@ -227,7 +229,7 @@ nsvf_draw_char: push ecx push edx push ebp - shl ebp, 5 + shl ebp, 4 ; font header = 16 bytes add ebp, nsvf_info call ch_checkscreen jb .exit @@ -366,6 +368,8 @@ diff16 "parse_tick : ",0,$ .ritick: test dl, 1 jnz .ritick.1 + test dl, 8 + jnz .ritick.2 .ritick.0: movzx ecx, dh ; y and cl, 0x0F @@ -379,6 +383,10 @@ diff16 "parse_tick : ",0,$ mov esi, nsvf_data.ri1 ; 8pix-ring mov dl, 6 jmp .draw +.ritick.2: + mov esi, nsvf_data.ri2 ; 16pix-ring + mov dl, 14 + jmp .draw .lntick.short: test dl, 0x06 ; ticks #0, 1 are reserved for diff --git a/kernel/branches/Kolibri-A/trunk/gui/fonts/nsvf_01.asm b/kernel/branches/Kolibri-A/trunk/gui/fonts/nsvf_01.asm index 98d449868b..c2630c78d9 100644 --- a/kernel/branches/Kolibri-A/trunk/gui/fonts/nsvf_01.asm +++ b/kernel/branches/Kolibri-A/trunk/gui/fonts/nsvf_01.asm @@ -620,7 +620,7 @@ diff16 "font01.chars: ",0,$ .ch_162: ; ve .ch_111: ; o .ch_174: ; o - cstick 1, 6, 0, 3 + ritick 2, 8, 2 gptick 3, 2, 44 ritick 2, 7, 0 .ch_163: ; ge diff --git a/kernel/branches/Kolibri-A/trunk/gui/fonts/sd_data.asm b/kernel/branches/Kolibri-A/trunk/gui/fonts/sd_data.asm index e9b7ce74a1..14ce488d81 100644 --- a/kernel/branches/Kolibri-A/trunk/gui/fonts/sd_data.asm +++ b/kernel/branches/Kolibri-A/trunk/gui/fonts/sd_data.asm @@ -10,7 +10,7 @@ macro gptick origin, r, tick { dw (origin mod 32) shl 11 + (r mod 8) shl 8 + (tick mod 256) } macro ritick x, y, tick -{ dw (x mod 16) shl 12 + (y mod 16) shl 8 + (tick mod 2) } +{ dw (x mod 16) shl 12 + (y mod 16) shl 8 + (tick and 2) shl 3 + (tick mod 2) } macro cstick x, y, r, tick { dw (x mod 16) shl 12 + (y mod 16) shl 8 + 0xD8 + (r mod 2) shl 2 + (tick mod 4) } @@ -43,7 +43,8 @@ align 4 .cs2 db 11001100b, 111100b .cs3 db 00010100b, 01000101b, 0001b .cs0 db 1111b ; 4-pix square -.ri1 db 01010101b, 0101b ; 8-pix ring (rot-invariant) +.ri1 db 01010101b, 0101b ; rot-invariants: 8-pix ring +.ri2 db 01000100b, 01000100b, 01000100b, 000100b ; 16-pix ring align 16 nsvf_info: @@ -58,12 +59,13 @@ nsvf_info: ;align 16 -;; System font #1: 7x10 -;.fnt1.x db 7 ; X-width -;.fnt1.y db 9 ; Y-heigth -;.fnt1.rs dw 0 ; reserved -;.fnt1.tab dd .table1 -;.fnt1.org dd .origs1 +; System font #1: 7x10 +.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 align 4