Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1166 → Rev 1167

/programs/develop/libraries/fontslib/trunk/fonts_lib.asm
89,7 → 89,6
mov dword [save_ecx],ecx
add ebp, 32 ;ñìåùàåìñÿ äî ÁÄÂÊ
mov dword [save_ebp],ebp
; mov dword [save_point_nt],ebp
cld ;óñòàíîâêà ôëàãà íàïðàâëåíèÿ
align 4
.start_loop:
97,21 → 96,10
lea edi,[ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè.
xor eax,eax
mov ecx,263
align 4
.again: mov al,byte[edi]
test al,al
jz .next_a
dec ecx
inc edi
jnz .again
jmp @f
; repe scasb ;íàéäåì êîíåö ñòðîêè
; jnz @f
;;;; èìÿ ïðèñóòñòâóåò, ïðîâåðèì ÿâëÿòñÿ ëè èìÿ ôàéëà ñ ðàñøèðåíèåì fnt )
; sub edi,6 ;.ksf,0
repne scasb ;íàéäåì êîíåö ñòðîêè
;;;;;;;;;;;;;;;;;;;;;;;
.next_a:
sub edi,4 ;.ksf,0
sub edi,5 ;.ksf,0
mov esi,dword name_font
mov ecx,name_font_e-name_font
repe cmpsb
164,18 → 152,6
; â íà÷àëî áóôåðà
 
mov dword [save_point_nt],ebp
; mov esi, ebp
; mov ecx,304/4
 
 
 
;align 4
;.transfer:
; lodsd
; stosd
; loop .transfer
; add dword [save_point_nt],304 ;óêàçàòåëü íà ñëåäóþùèé áëîê
;;; ñäåëàëè òàðíñôåð ïåðåìåùåíèå äàííûõ
pop ecx
mov dword [esp+28],0
popad
202,15 → 178,12
; ïîèñê â ìàññèâå øðèôòà ïðè ñîâïàäåíèè ócëîâèé çàãðóçêà øðèôòà
; esp+4 = dd width font shl 16 +hight font
; esp+0 = dd back
pop eax
pop dword [font_x_y]
push eax
; pop eax
; mov dword [font_x_y],eax
; pop dword [font_x_y]
;push eax
pushad
 
 
 
mov eax,dword [esp+32+4]
mov dword [font_x_y],eax
xor eax,eax
mov dword [number_function],eax
mov dword [index_start_block],eax ;ïîçèöèÿ â ôàéëå äëÿ ÷òåíèÿ äàííûõ
223,10 → 196,6
mov dword [offset_to_string],edi
 
 
; mov ecx,dword [save_ecx] ; êîë-âî èòåðàöèé ò.å. ïðîõîäîâ
align 4
;.start_check:
; push ecx
mov eax,70
mov ebx,dword struct_f_info
mcall
235,36 → 204,11
mov eax,dword [file_buffer]
mov ebx,dword [type_fnt]
cmp eax,ebx
; jnz @f
 
 
; xor eax,eax
; mov dword [number_function],eax
; add eax,8
; mov dword [read_block],eax
; mov dword [buffer_read_d],file_buffer
; mov ebx,dword struct_f_info
; mov eax,70
;align 4
;.start_check:
;çàãðóçèì çàãîëîâîê ôàéëà è óçíàåì åãî ðàçìåð ãëèôà.
; lea edi, [ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè.
; mov dword [offset_to_string],edi
;get in buffer info above own file
; mcall
;;;;;;;;;;;;;;;; ïðîâåðèì ôîðìàò çàãîëîâêà
; mov ecx,dword [file_buffer.type_fnt]
; mov edx,dword [type_fnt]
; cmp ecx,edx
; jnz @f
 
mov ecx,dword [file_buffer.font_size]
mov edx,dword [font_x_y]
cmp ecx,edx
; jnz @f ;óïñ íåóäà÷à âûøëà
;øðèôò ñîâïàë ò.å. ýòî íàø,íóæíûé íàì øðèôò, ìû åãî äîëæíû çàãðóçèòü â ÎÇÓ
 
; mov ebp,dword [save_point_nt]
mov ecx, 4096;dword [ebp+32] ;ðàçìåð ôàéëà äî 4294967296 áàéò ò.å. 4 Ãá
 
mov dword [read_block],ecx
292,22 → 236,14
mov dword [esp+28],0
; pop ecx
popad
ret
ret 4
 
 
 
 
;here error file system
align 4
@@:
; pop ecx
; add ebp,304
; dec ecx
; jnz .start_check
 
or dword [esp+28],-1 ;âåðíåì îøèáêó
popad
ret
ret 4
 
 
; ïîèñê âûâîä ñòîðî÷êè ïî ñèìâîëüíî ñôîðèðîâàííîãî øðèôòîì òåêñòà
324,24 → 260,6
mov ecx,dword [font_x_y] ;ðàçìåð ãëèôà x shl 16 +y
mov edi,dword [esp+8+32] ;óêàçàòåëü íà ïàëèòðó èç öâåòà è ôîíà
xor ebp,ebp ;ñì 65 ôóíêöèþ ))
 
;;;;;;;;;;;;;;;;;;;;;
; pushad
; mov ebp, dword [esp+4+32+32]
; mov ebp, dword [save_point_nt]
; lea edi, [ebp+0x28] ;â edi óêàçàòåëü íà íà÷àëî èìåíè.
; sub edi,4 ;.ksf,0
; mov eax,4
; mov ebx,dword [show_dir]
; add dword [show_dir],10
; mov ecx,0x80000000;DDBBCC
; mov edx,ebp;[ebp+0x28];eax;edi
; xor esi,esi
;mov esi,8
; mcall
; popad
;;;;;;;;;;;;;;;;;;;;;;;;
 
cld
align 4
@@: ;pushad
348,15 → 266,10
xor eax,eax
lodsb
test al,al
jz .exit
; movzx eax,al
jz .return
shl eax,4 ;óìíîæàåì íà 16 ò.ê. ýòî âûñîòà ãëèôà
; imul eax,16
 
mov ebx,dword [font_array_data] ; òóò ðàñïîëîãàþòñÿ ãëèôû ñèìâîëîâ
; add eax,ebx
; mov ebx,dword [ebx+8] ; ñìåùåíèå
; add eax,ebx
add ebx,eax
push esi
mov esi,1
365,12 → 278,7
pop esi
add edx,8 shl 16 ;ñëåäóþùèé ñèìâîë øèðèíà ñèìâîëà = 8 òî÷êàì
jmp @b
align 4
.exit: ;popad
 
; add edx,16
; loop .next
 
align 4
.return:
popad
393,7 → 301,6
mov esi,1
mov eax,65
mcall
 
popad
ret 4
 
506,8 → 413,6
font_array_data dd 0x0 ; ðåàëüíûå äàííûå ò.å. ìàòðèöà øðèôòà
save_ebp dd 0x0
save_point_nt dd 0x0
;name_of_file db 263 dup(0x0)
;name_of_file db '/sys/FONTS/font01.ksf',0
name_fulder db '/sys/FONTS',0
name_fuld_end= ($-name_fulder) -1
name_font db '.ksf'
/programs/develop/libraries/fontslib/trunk/readme.txt
24,8 → 24,8
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;*****************************************************************************
 
Ïðîñòàÿ áèáëèîòåêà øðèôòîâ.
Àëüôà âåðñèÿ 0.00002 Àâòîð Òåïëîâ Àëåêñåé. <Lrz>
Áèáëèîòåêà øðèôòîâ.
Àëüôà âåðñèÿ 0.00003 Àâòîð Òåïëîâ Àëåêñåé. <Lrz>
Äëÿ äåìîñòðàöèè ïðèìåðà âàì íåîáõîäèìî ñäåëàòü ñëåäóþùåå:
1) ïîìåñòèòü áèáëèîòåêà fonts_lib.obj â äèððåêòîðèþ ñ ïðèìåðîì font_ex.kex èëè ëó÷øå áóäåò ïîìåñòèòü áèáëèîòåêó â /sys/lib
2) ñêîïèðîâàòü ôàéë font01.ksf â äèððåêòîðèþ /sys/FONTS ïðè÷åì èìÿ ôàéëà ìîæåò áûòü ëþáîå îáÿçàòåëüíî òîëüêî ðàñøèðåíèå *.ksf