Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2521 → Rev 2522

/kernel/branches/Kolibri-A/trunk/gui/font.inc
1,13 → 1,13
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
;; Distributed FOR KOLIBRIOS AND ITS DIRECT BRANCHES ONLY ;;
;; under conditions of the GNU General Public License ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
$Revision$
 
; // Alver 22.06.2008 // {
align 4
dtext_asciiz_esi: ; for skins title out
push eax
14,7 → 14,6
xor eax, eax
inc eax
jmp dtext.1
; } \\ Alver \\
 
align 4
dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
27,11 → 26,12
; edx start of text
; edi 1 force
 
; // Alver 22.06.2008 // {
test ecx, 0x20000000
jnz .font3
 
push eax
xor eax, eax
.1:
; } \\ Alver \\
pushad
call [_display.disable_mouse]
 
50,12 → 50,10
.test_asciiz:
cmp byte [edx], 0
jz .end
; // Alver 22.06.2008 // {
cmp byte [esp+28], 1 ; was the entry point = dtext.1 ?
jne @f
dec esi
js .end
; } \\ Alver \\
@@:
inc edx
pushad ; esp -= 64 !
92,6 → 90,7
popad
add eax, 6
jmp .loop
 
.font2:
add edx, edx
lea ebp, [FONT_II+4*edx+edx+1]
128,7 → 127,7
jmp .loop
.end:
popad
pop eax ; << // Alver 22.06.2008 // <<
pop eax
ret
 
diff10 "old font code size",dtext,$
137,7 → 136,56
; NEW FONTS
;_____________________________________________________
;
align 4
.font3:
pushad
call [_display.disable_mouse]
movsx eax, bx ; eax=y
sar ebx, 16 ; ebx=x
xchg eax, ebx ; eax=x, ebx=y
 
xor ebp, ebp ; font#
mov [font_check_routine], ebp
 
test ecx, ecx
js .checked
inc [font_check_routine]; .check_esi
.checked:
mov edi, ecx ; colour
and edi, 0x0FFFFFF ; RGB
align 4
.draw_char:
mov cl, byte[edx] ; char#
movzx ecx, cl
call nsvf_draw_char
add eax, 6
test [font_check_routine], 1
jz .check_asciz
 
.check_esi:
inc edx
dec esi
jz .exit
jmp .draw_char
 
align 4
.check_asciz:
or byte[edx], 0
jz .exit
inc edx
jmp .draw_char
 
align 4
.exit:
popad
ret
 
align 4
 
font_check_routine dd ?
 
 
 
align 8
sdsh_data:
 
169,10 → 217,10
mov ebp, edi
 
 
sdsh_draw_char:
nsvf_draw_char:
; eax = left side X
; ebx = bottom Y
; edi = color 0x0RRGGBB
; edi = colour 0x0RRGGBB
; ebp = font@
; ecx = ascii, zero-extended to 32bits
push ecx
180,10 → 228,10
push ebp
shl ebp, 4
add ebp, sdsh_data.info
; call ch_checkscreen
; jb .exit
; call ch_checkwin
; jc .exit
call ch_checkscreen
jb .exit
call ch_checkwin
jc .exit
mov edx, [ebp + 4] ; chartable addr
mov cx, word[edx + ecx*2] ; tick info
mov edx, ecx
470,11 → 518,12
; eax = x coordinate
; ebx = y coordinate
; ebp -> font info
;!destroys ch, edx!
 
push eax
push ebx
push ecx
push edx
mov ch, byte[CURRENT_TASK]
mov al, byte [ebp] ; char X-width
mov edx, [_display.width] ; screen X-size
imul edx, ebx
add edx, [_WinMapAddress]
481,7 → 530,7
add edx, eax
cmp ch, byte [edx]
jne .fail
movzx eax, byte [ebp]
movzx eax, byte [ebp] ; char X-width
cmp ch, byte [edx+eax]
jne .fail
movzx ebx, byte [ebp+1]
495,6 → 544,8
.fail:
stc ; CF means the charbox is invisible
.done:
pop edx
pop ecx
pop ebx
pop eax
ret
501,7 → 552,7
 
align 4
diff16 "ch_putpix : ",0,$
; ch_putpixel:
ch_putpixel:
; eax = x coordinate
; ebx = y coordinate
; edi = 0x0RRGGBB
513,7 → 564,7
pop edx
ret
;)
ch_putpixel:
;ch_putpixel2:
; test version!!! ===== to be removed!!
; eax = x coordinate
; ebx = y coordinate
/kernel/branches/Kolibri-A/trunk/gui/fonts/sd_data.asm
97,7 → 97,7
db 0x38 ; 28
db 0x41 ; 29
db 0x30 ; 30
db 0x47 ; 31 J
db 0x37 ; 31 J
 
align 4
 
139,7 → 139,7
db 01010010b ;67: X X X
db 00011101b ;68: X X X
db 00110101b ;69: X
db 0 ;70:
db 10100000b ;70:
db 0 ;71:
db 0, 0, 0, 0 ;72..75
db 0, 0, 0, 0 ;76..79
149,7 → 149,7
db 00000001b, 01b ;80: )(
db 00000001b, 10b ;81: /7X
db 01000101b, 01b ;82: 8u
db 01010100b, 01b ;83: BPRa
db 01010100b, 01b ;83:
db 00000010b, 01b ;84: \X&
db 00010100b, 00b ;85: ahnu—
db 10111000b, 00b ;86:
157,13 → 157,14
 
.v6:
db 01000000b, 0101b ;88: Jfg
db 01010100b, 0001b ;89:
db 0, 0, 0, 0 ;90,91
db 01010100b, 0001b ;89: BPRa
db 11010010b, 0001b ;90: s$
db 0, 0 ;91
db 0, 0, 0, 0 ;92,93
db 0, 0, 0, 0 ;94,95
.v7:
db 11011001b, 011001b ;96: ><vVY
db 00010001b, 010001b ;97: ..none found
db 00010001b, 010001b ;97: D
db 00010100b, 000101b ;98: bcdpqg
db 0, 0 ;99:
db 0, 0, 0, 0 ;100,101
170,7 → 171,7
db 0, 0, 0, 0 ;102,103
.v8:
db 00110000b, 00001100b ;104: 5
db 0, 0 ;105
db 01010100b, 01010001b ;105: 689
db 0, 0, 0, 0, 0, 0 ;106..108
db 0, 0, 0, 0, 0, 0 ;109..111
 
181,7 → 182,7
db 0, 0, 0 ;115:
.v10:
db 00010100b, 01010000b, 0100b ;116: @0CGOQ
db 01010100b, 01010001b, 0100b ;117: 689
db 01010100b, 01010001b, 0100b ;117: ---
db 0, 0, 0 ;118:
db 0, 0, 0 ;119:
.v11:
207,7 → 208,7
dw (.ch0_33 -.chars)*16 + 2 ; #33 !
dw (.ch0_34 -.chars)*16 + 2 ; #34 "
dw (.ch0_35 -.chars)*16 + 4 ; #35 #
dw (.ch0_36 -.chars)*16 + 2 ; #36 $
dw (.ch0_36 -.chars)*16 + 3 ; #36 $
dw (.ch0_37 -.chars)*16 + 3 ; #37 %
dw (.ch0_38 -.chars)*16 + 4 ; #38 &
dw (.ch0_39 -.chars)*16 + 1 ; #39 '
255,7 → 256,7
dw (.ch0_81 -.chars)*16 + 3 ; #81 Q
dw (.ch0_82 -.chars)*16 + 3 ; #82 R
dw (.ch0_83 -.chars)*16 + 3 ; #83 S
dw (.ch0_84 -.chars)*16 + 3 ; #84 T
dw (.ch0_84 -.chars)*16 + 2 ; #84 T
dw (.ch0_85 -.chars)*16 + 3 ; #85 U
dw (.ch0_86 -.chars)*16 + 3 ; #86 V
dw (.ch0_87 -.chars)*16 + 3 ; #87 W
286,7 → 287,7
dw (.ch0_112-.chars)*16 + 2 ; #112 p
dw (.ch0_113-.chars)*16 + 2 ; #113 q
dw (.ch0_114-.chars)*16 + 2 ; #114 r
dw (.ch0_115-.chars)*16 + 1 ; #115 s
dw (.ch0_115-.chars)*16 + 2 ; #115 s
dw (.ch0_116-.chars)*16 + 3 ; #116 t
dw (.ch0_117-.chars)*16 + 2 ; #117 u
dw (.ch0_118-.chars)*16 + 1 ; #118 v
300,39 → 301,39
dw (.ch0_126-.chars)*16 + 2 ; #126 ~
dw (.ch0_127-.chars)*16 + 2 ; #127
 
dw (.ch0_128-.chars)*16 + 4 ; #128
dw (.ch0_128-.chars)*16 + 4 ; #128 A
dw (.ch0_129-.chars)*16 + 3 ; #129
dw (.ch0_130-.chars)*16 + 3 ; #130
dw (.ch0_131-.chars)*16 + 2 ; #131
dw (.ch0_132-.chars)*16 + 6 ; #132
dw (.ch0_133-.chars)*16 + 4 ; #133
dw (.ch0_133-.chars)*16 + 4 ; #133 E
dw (.ch0_134-.chars)*16 + 3 ; #134
dw (.ch0_135-.chars)*16 + 3 ; #135
dw (.ch0_136-.chars)*16 + 3 ; #136
dw (.ch0_137-.chars)*16 + 4 ; #137
dw (.ch0_138-.chars)*16 + 3 ; #138
dw (.ch0_138-.chars)*16 + 3 ; #138 K
dw (.ch0_139-.chars)*16 + 3 ; #139
dw (.ch0_140-.chars)*16 + 4 ; #140
dw (.ch0_141-.chars)*16 + 4 ; #141
dw (.ch0_142-.chars)*16 + 2 ; #142
dw (.ch0_140-.chars)*16 + 4 ; #140 M
dw (.ch0_141-.chars)*16 + 3 ; #141 H
dw (.ch0_142-.chars)*16 + 2 ; #142 O
dw (.ch0_143-.chars)*16 + 3 ; #143
dw (.ch0_144-.chars)*16 + 2 ; #144
dw (.ch0_145-.chars)*16 + 2 ; #145
dw (.ch0_146-.chars)*16 + 3 ; #146
dw (.ch0_144-.chars)*16 + 2 ; #144 P
dw (.ch0_145-.chars)*16 + 2 ; #145 C
dw (.ch0_146-.chars)*16 + 2 ; #146 T
dw (.ch0_147-.chars)*16 + 3 ; #147
dw (.ch0_148-.chars)*16 + 3 ; #148
dw (.ch0_149-.chars)*16 + 2 ; #149
dw (.ch0_148-.chars)*16 + 2 ; #148
dw (.ch0_149-.chars)*16 + 2 ; #149 X
dw (.ch0_150-.chars)*16 + 4 ; #150
dw (.ch0_151-.chars)*16 + 2 ; #151
dw (.ch0_152-.chars)*16 + 4 ; #152
dw (.ch0_153-.chars)*16 + 5 ; #153
dw (.ch0_154-.chars)*16 + 3 ; #154
dw (.ch0_154-.chars)*16 + 3 ; #154 tvz
dw (.ch0_155-.chars)*16 + 3 ; #155
dw (.ch0_156-.chars)*16 + 2 ; #156
dw (.ch0_156-.chars)*16 + 2 ; #156 mz
dw (.ch0_157-.chars)*16 + 3 ; #157
dw (.ch0_158-.chars)*16 + 4 ; #158
dw (.ch0_159-.chars)*16 + 3 ; #159
dw (.ch0_160-.chars)*16 + 2 ; #160
dw (.ch0_160-.chars)*16 + 2 ; #160 a
dw (.ch0_161-.chars)*16 + 2 ; #161
dw (.ch0_162-.chars)*16 + 3 ; #162
dw (.ch0_163-.chars)*16 + 2 ; #163
342,7 → 343,7
dw (.ch0_167-.chars)*16 + 3 ; #167
dw (.ch0_168-.chars)*16 + 3 ; #168
dw (.ch0_169-.chars)*16 + 4 ; #169
dw (.ch0_170-.chars)*16 + 3 ; #170
dw (.ch0_170-.chars)*16 + 2 ; #170 ka
dw (.ch0_171-.chars)*16 + 2 ; #171
dw (.ch0_172-.chars)*16 + 3 ; #172
dw (.ch0_173-.chars)*16 + 3 ; #173
429,14 → 430,18
lntick 1, 8, 2, 2
.ch0_36: ; $
lntick 2, 1, 2, 7
gptick 11, 0, 120
.ch0_115: ; s
gptick 7, 3, 90
lntick 0, 2, 0, 4
.ch0_37: ; %
cstick 0, 8, 0, 0
lntick 0, 3, 1, 5
cstick 3, 3, 0, 0
.ch0_38: ; &
gptick 7, 6, 84
gptick 8, 6, 84
gptick 19, 4, 44
gptick 4, 0, 44
ritick 3, 3, 0
.ch0_40: ; (
gptick 5, 3, 80
.ch0_41: ; )
466,7 → 471,7
gptick 1, 2, 81
lntick 0, 8, 0, 4
.ch0_64: ; @
cstick 3, 6, 0, 1
cstick 2, 6, 0, 1
.ch0_48: ; 0
.ch0_79: ; O
.ch0_142: ;
483,23 → 488,24
lntick 1, 3, 1, 3
.ch0_51: ; 3
gptick 8, 1, 64
gptick 10, 6, 65
.ch0_83: ; S
lntick 1, 5, 0, 3
gptick 8, 1, 55
gptick 3, 2, 55
.ch0_53: ; 5
gptick 10, 6, 65
gptick 13, 4, 104
.ch0_52: ; 4
gptick 14, 2, 38
lntick 0, 5, 1, 4
lntick 0, 4, 0, 5
lntick 3, 2, 2, 7
.ch0_54: ; 6
gptick 14, 0, 117
gptick 14, 0, 105
gptick 2, 2, 50
.ch0_56: ; 8
gptick 10, 6, 82
.ch0_57: ; 9
gptick 9, 0, 117
gptick 9, 0, 105
gptick 15, 6, 50
.ch0_60: ; <
gptick 7, 4, 96
506,15 → 512,18
.ch0_62: ; >
gptick 8, 0, 96
.ch0_63: ; ?
gptick 7, 1, 64
 
gptick 4, 1, 64
gptick 24, 2, 38
ritick 2, 2, 0
.ch0_66: ; B
.ch0_130: ; B
gptick 10, 6, 51
gptick 4, 0, 89
lntick 0, 2, 2, 7
.ch0_80: ; P
.ch0_144: ;
.ch0_82: ; R
gptick 9, 0, 83
gptick 9, 0, 98
.ch0_75: ; K
.ch0_138: ; K
lntick 0, 2, 2, 7
522,12 → 531,12
lntick 1, 5, 1, 4
.ch0_67: ; C
.ch0_145: ;
ritick 5, 3, 0
ritick 4, 3, 0
.ch0_71: ; G
gptick 5, 4, 116
gptick 4, 5, 49
gptick 13, 0, 49
.ch0_68: ; D
gptick 9, 0, 96
gptick 9, 0, 97
.ch0_76: ; L
lntick 0, 2, 2, 7
lntick 1, 2, 0, 4
543,7 → 552,7
.ch0_141: ; H
lntick 1, 5, 0, 3
lntick 0, 2, 2, 7
lntick 5, 5, 2, 7
lntick 4, 2, 2, 7
.ch0_73: ; I
lntick 1, 8, 0, 3
lntick 2, 3, 2, 5
550,12 → 559,11
lntick 1, 2, 0, 3
.ch0_74: ; J
gptick 31, 6, 88
lntick 3, 8, 0, 3
lntick 2, 8, 0, 3
.ch0_84: ; T
.ch0_146: ; ’
lntick 3, 3, 2, 5
lntick 2, 2, 0, 3
lntick 1, 8, 0, 5
lntick 2, 2, 2, 6
lntick 0, 8, 0, 5
.ch0_77: ; M
.ch0_140: ; M
gptick 21, 2, 38
576,7 → 584,7
.ch0_118: ; v
.ch0_121: ; y
gptick 12, 6, 96
lntick 2, 0, 2, 2
lntick 1, 0, 1, 2
.ch0_88: ; X
.ch0_149: ;
gptick 1, 2, 81
609,8 → 617,8
lntick 3, 8, 3, 2
.ch0_97: ; a
.ch0_160: ;
gptick 5, 4, 83
gptick 16, 0, 85
gptick 5, 4, 89
gptick 7, 2, 70
.ch0_129: ;
lntick 1, 8, 0, 3
.ch0_98: ; b
667,8 → 675,6
.ch0_114: ; r
lntick 1, 2, 2, 5
gptick 21, 1, 38
.ch0_115: ; s
gptick 1, 0, 120
.ch0_116: ; t
gptick 16, 0, 49
gptick 20, 3, 38
689,7 → 695,7
.ch0_122: ; z
lntick 0, 2, 0, 5
lntick 0, 6, 0, 5
lntick 1, 2, 3, 3
lntick 1, 3, 1, 3
.ch0_123: ; {
gptick 5, 3, 43
gptick 23, 2, 38
698,15 → 704,14
gptick 24, 6, 38
.ch0_126: ; ~
gptick 2, 1, 39
lntick 3, 3, 1, 2
lntick 3, 4, 1, 2
.ch0_127: ;
lntick 2, 2, 2, 3
lntick 2, 6, 2, 3
.ch0_131: ;
lntick 1, 8, 0, 4
.ch0_132: ;
lntick 1, 3, 2, 5
lntick 1, 8, 0, 4
lntick 1, 2, 2, 6
lntick 0, 1, 2, 2
.ch0_150: ;
lntick 0, 2, 0, 5
713,129 → 718,128
lntick 3, 3, 2, 6
ritick 4, 1, 0
lntick 0, 3, 2, 6
.ch0_134: ;
.ch0_134: ; ZH
gptick 4, 6, 86
gptick 6, 2, 86
.ch0_148: ;
.ch0_148: ; EF
lntick 2, 2, 2, 7
cstick 1, 8, 0, 3
.ch0_137: ;
.ch0_137: ; IJ
gptick 25, 2, 39
.ch0_136: ;
.ch0_136: ; I
lntick 0, 2, 2, 7
lntick 1, 4, 1, 3
.ch0_139: ;
.ch0_139: ; K
lntick 4, 2, 2, 7
gptick 26, 2, 66
lntick 0, 2, 1, 2
.ch0_143: ;
.ch0_143: ; PE
lntick 0, 2, 2, 7
lntick 1, 8, 0, 3
.ch0_151: ;
.ch0_151: ; CHA
lntick 4, 2, 2, 7
.ch0_147: ;
.ch0_147: ; UU
gptick 27, 4, 85
lntick 4, 3, 2, 6
lntick 1, 2, 0, 3
.ch0_155: ;
lntick 16, 0, 82
.ch0_152: ;
.ch0_153: ;
.ch0_155: ; YY
gptick 3, 0, 82
.ch0_152: ; SHA
.ch0_153: ; SCHA
lntick 0, 3, 2, 6
lntick 4, 2, 2, 7
lntick 2, 3, 2, 6
lntick 0, 2, 0, 5
lntick 4, 1, 2, 2
.ch0_154: ;
.ch0_156: ;
lntick 26, 0, 82
.ch0_154: ; TVZNAK
.ch0_156: ; MZNAK
gptick 14, 0, 89
lntick 1, 3, 2, 6
ritick 0, 8, 0
.ch0_135: ;
.ch0_135: ; ZE
ritick 3, 5, 0
.ch0_157: ;
.ch0_157: ; AE
gptick 8, 1, 64
gptick 10, 6, 65
lntick 1, 5, 0, 4
.ch0_158: ;
.ch0_158: ; JU
gptick 28, 7, 80
lntick 2, 3, 2, 5
lntick 0, 2, 2, 7
ritick 1, 5, 0
.ch0_159: ;
.ch0_159: ; JA
gptick 13, 4, 89
lntick 4, 2, 2, 7
lntick 0, 2, 1, 3
.ch0_161: ;
.ch0_161: ; be
gptick 8, 1, 42
.ch0_162: ;
.ch0_162: ; ve
.ch0_111: ; o
.ch0_174: ;
.ch0_174: ; o
cstick 1, 6, 0, 3
gptick 3, 2, 44
ritick 2, 7, 0
.ch0_163: ;
.ch0_163: ; ge
lntick 1, 6, 0, 4
.ch0_164: ;
.ch0_164: ; de
lntick 1, 2, 2, 4
gptick 23, 0, 49
gptick 19, 0, 41
lntick 0, 1, 2, 2
.ch0_166: ;
.ch0_166: ; zhe
gptick 12, 6, 82
gptick 1, 2, 82
lntick 2, 2, 2, 5
.ch0_167: ;
.ch0_167: ; ze
lntick 2, 4, 0, 2
.ch0_237: ;
.ch0_237: ; ae
gptick 2, 1, 50
gptick 7, 5, 50
lntick 2, 4, 0, 3
.ch0_169: ;
.ch0_169: ; ji
gptick 28, 5, 39
.ch0_168: ;
.ch0_168: ; ii
lntick 4, 2, 2, 5
lntick 1, 3, 1, 3
.ch0_170: ;
lntick 1, 2, 2, 5
gptick 6, 3, 54
ritick 1, 5, 0
.ch0_171: ;
.ch0_170: ; ka
lntick 0, 2, 2, 5
gptick 5, 3, 54
.ch0_171: ; el
gptick 1, 1, 67
.ch0_172: ;
.ch0_172: ; em
lntick 4, 2, 2, 5
gptick 13, 5, 39
.ch0_173: ;
.ch0_173: ; en
lntick 0, 2, 2, 5
lntick 1, 4, 0, 3
.ch0_175: ;
.ch0_175: ; pe
lntick 4, 2, 2, 5
lntick 0, 2, 2, 4
.ch0_226: ;
.ch0_226: ; te
lntick 0, 6, 0, 5
lntick 2, 2, 2, 4
.ch0_228: ; ä
.ch0_228: ; ef
cstick 1, 6, 0, 3
lntick 2, 0, 2, 6
.ch0_229: ; å
.ch0_229: ; ha
lntick 0, 2, 1, 5
lntick 4, 2, 3, 5
.ch0_230: ; æ
.ch0_230: ; tse
lntick 0, 2, 2, 5
lntick 3, 3, 2, 4
gptick 22, 0, 52
.ch0_231: ; ç
.ch0_231: ; che
gptick 27, 4, 48
.ch0_232: ; è
.ch0_233: ; é
.ch0_232: ; sha
.ch0_233: ; scha
lntick 4, 2, 2, 5
lntick 0, 3, 2, 4
lntick 2, 3, 2, 4
lntick 0, 2, 0, 4
lntick 5, 1, 2, 2
.ch0_234: ; ê
.ch0_234: ; tvznak
gptick 24, 0, 68
gptick 6, 0, 49
gptick 3, 0, 49
.ch0_235: ; ë
.ch0_236: ; ì
lntick 0, 3, 2, 4
866,7 → 870,7
lntick 1, 0, 1, 4
lntick 3, 0, 1, 2
.ch0_184: ;
lntick 3, 0, 2, 6
lntick 2, 0, 2, 6
.ch0_181: ;
lntick 0, 3, 0, 2
lntick 0, 5, 0, 2
881,6 → 885,7
.ch0_185: ;
gptick 11, 0, 49
gptick 9, 6, 52
lntick 3, 0, 2, 9
.ch0_182: ;
.ch0_215: ;
ritick 0, 4, 0
892,8 → 897,9
.ch0_204: ;
gptick 15, 4, 49
gptick 30, 2, 52
lntick 1, 0, 2, 9
.ch0_187: ;
lntick 4, 0, 2, 5
lntick 3, 0, 2, 5
lntick 0, 5, 0, 4
gptick 11, 0, 49
.ch0_188: ;
900,7 → 906,7
ritick 0, 5, 0
lntick 0, 3, 0, 4
.ch0_189: ;
lntick 4, 4, 2, 5
lntick 3, 4, 2, 5
lntick 1, 5, 2, 4
lntick 0, 4, 0, 3
.ch0_190: ;