forked from KolibriOS/kolibrios
new font engine
git-svn-id: svn://kolibrios.org@2318 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
4a1dd808d9
commit
c01092c6cf
@ -1,4 +1,4 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;;
|
||||
;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;;
|
||||
;; Distributed under terms of the GNU General Public License ;;
|
||||
@ -130,5 +130,288 @@ dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
|
||||
popad
|
||||
pop eax ; << // Alver 22.06.2008 // <<
|
||||
ret
|
||||
|
||||
;=====================================================
|
||||
; NEW FONTS
|
||||
;_____________________________________________________
|
||||
;
|
||||
|
||||
align 8
|
||||
sdsh_data:
|
||||
|
||||
include 'sdsh.inc'
|
||||
|
||||
sdsh_code:
|
||||
|
||||
; eax = if (bit[31])
|
||||
; then lower 31 bits points to the user-selected font
|
||||
; else ax = number of preloaded system font
|
||||
; ebx = x<<16 + y
|
||||
; ecx = 0x00RRGGBB
|
||||
; edx = if (bits[31:8] == 0)
|
||||
; then dl = single char to write
|
||||
; else edx= pointer to asciiz-string
|
||||
|
||||
|
||||
sdsh_draw_char:
|
||||
; eax = left side X
|
||||
; ebx = bottom Y
|
||||
; edi = color 0x0RRGGBB
|
||||
; ebp = font@
|
||||
; ecx = ascii, zero-extended to 32bits
|
||||
push ecx, edx, ebp
|
||||
shl ebp, 4
|
||||
add ebp, sdsh_data.info
|
||||
call ch_checkscreen
|
||||
jb .exit
|
||||
call ch_checkwin
|
||||
jc .exit
|
||||
xor ch, ch
|
||||
mov edx, [ebp + 4] ; chartable addr
|
||||
mov cx, word[edx + ecx*2] ; tick info
|
||||
mov edx, ecx
|
||||
and ecx, 15 ; cl = number of ticks
|
||||
jz .blank
|
||||
shr edx, 4 ; offset in the chartable
|
||||
add edx, [sdsh_data.chars] ; edx -> the char's ticklist
|
||||
.next_tick:
|
||||
call parse_tick
|
||||
add edx, 4
|
||||
dec cl
|
||||
jnz .next_tick
|
||||
.blank:
|
||||
.exit:
|
||||
pop ebp, edx, ecx
|
||||
ret
|
||||
|
||||
|
||||
parse_tick:
|
||||
; eax = left side X
|
||||
; ebx = bottom Y
|
||||
; edx ->tickinfo
|
||||
; edi = color 0x0RRGGBB
|
||||
; ebp = font's header
|
||||
popad
|
||||
xor ecx, ecx
|
||||
mov dx, word[edx]
|
||||
mov cl, dl
|
||||
test dl, 0xE0 ; ticks #32..255
|
||||
jz .lntick.short
|
||||
cmp dl, 0xE0
|
||||
jae .lntick.long
|
||||
cmp dl, 0xC0
|
||||
jae .cstick
|
||||
.gptick:
|
||||
mov cl, dh ; three rotation bits
|
||||
and cl, 7
|
||||
mov dh, ... - origin
|
||||
mov dl, .... - num_vertices!!
|
||||
mov esi, ... - tickfield??
|
||||
jmp .draw
|
||||
|
||||
.cstick:
|
||||
and cl, 4
|
||||
shr cl, 2 ; only one rotational bit
|
||||
and dl, 3
|
||||
dec dl
|
||||
jb .cstick.0
|
||||
mov esi, sdsh_data.cs2 ; the square
|
||||
dec dl
|
||||
jb .cstick.1
|
||||
dec dl
|
||||
jb .cstick.2
|
||||
.cstick.3:
|
||||
mov esi, sdsh_data.cs3 ; 12pix-ring
|
||||
mov dl, 10
|
||||
jmp .draw
|
||||
.cstick.2:
|
||||
mov dl, 7
|
||||
jmp .draw
|
||||
.cstick.1:
|
||||
mov dl, 6
|
||||
jmp .draw
|
||||
.cstick.3:
|
||||
mov esi, sdsh_data.cs0 ; 4pix-square
|
||||
mov dl, 3
|
||||
jmp .draw
|
||||
|
||||
.ritick:
|
||||
test dl, 1
|
||||
jnz .ritick.1
|
||||
.ritick.0:
|
||||
mov cl, dh ; y
|
||||
and cl, 0x0F
|
||||
and ebx, ecx
|
||||
mov cl, dh
|
||||
shr cl, 4 ; x
|
||||
and eax, ecx
|
||||
call ch_putpixel
|
||||
jmp .exit
|
||||
.ritick.1:
|
||||
mov esi, sdsh_data.ri1 ; 8pix-ring
|
||||
mov dl, 4
|
||||
jmp .draw
|
||||
|
||||
.lntick.short:
|
||||
test dl, 0x06 ; ticks #0, 1 are reserved for
|
||||
jz .ritick ; rotational invariants
|
||||
and dl, 0x07 ; dl = line length
|
||||
jmp .lntick.both
|
||||
.lntick.long:
|
||||
and dl, 0x07
|
||||
add dl, 8
|
||||
.lntick.both:
|
||||
sub dl, 2 ; num_vertice = num_points - 2
|
||||
and cl, 0x18 ; two rotation bits
|
||||
shr cl, 3
|
||||
mov esi, sdsh_data.blank
|
||||
.draw:
|
||||
push ecx
|
||||
mov cl, dh ; y
|
||||
and cl, 0x0F
|
||||
and ebx, ecx
|
||||
mov cl, dh
|
||||
shr cl, 4 ; x
|
||||
and eax, ecx
|
||||
pop ecx
|
||||
call draw_tick
|
||||
.exit:
|
||||
popad
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
draw_tick:
|
||||
; eax = x-origin
|
||||
; ebx = y-origin
|
||||
; edi = 0x0RRGGBB
|
||||
; cl = direction (0..7)
|
||||
; ch = number of vertices
|
||||
; edx -> tick bitfield
|
||||
|
||||
pushad
|
||||
call putchpixel ; point 0
|
||||
xor ecx, ecx
|
||||
mov edx, ecx
|
||||
mov dl, byte[esi]
|
||||
and dl, 7
|
||||
mov cl, 3
|
||||
.move_and_draw:
|
||||
xor dh, dh
|
||||
call [.moves + edx*4]
|
||||
call putchpixel
|
||||
|
||||
shl edx, 5 ; prepare to move the old value to dh
|
||||
bt [esi], ecx
|
||||
|
||||
rol edx, 1
|
||||
inc ecx
|
||||
bt [esi], ecx
|
||||
rol edx, 1
|
||||
inc ecx
|
||||
bt [esi], ecx
|
||||
rol edx, 1
|
||||
inc ecx
|
||||
xor dh, dl
|
||||
jnz .move_and_draw ; any step-back means the end
|
||||
.done:
|
||||
popad
|
||||
ret
|
||||
|
||||
.move000:
|
||||
inc eax
|
||||
ret
|
||||
.move001:
|
||||
inc eax
|
||||
inc ebx
|
||||
ret
|
||||
.move010:
|
||||
inc ebx
|
||||
ret
|
||||
.move011:
|
||||
dec eax
|
||||
inc ebx
|
||||
ret
|
||||
.move111:
|
||||
dec eax
|
||||
ret
|
||||
.move110:
|
||||
dec eax
|
||||
dec ebx
|
||||
ret
|
||||
.move101:
|
||||
dec ebx
|
||||
ret
|
||||
.move100:
|
||||
dec ebx
|
||||
inc eax
|
||||
ret
|
||||
|
||||
align 4
|
||||
.moves dd .move000, .move001, .move010, .move011, .move100, .move101, .move110, .move111
|
||||
|
||||
;)
|
||||
|
||||
align 4
|
||||
ch_checkscreen:
|
||||
cmp [Screen_Max_X], eax
|
||||
jb .getout
|
||||
cmp [Screen_Max_Y], ebx
|
||||
.getout:
|
||||
ret
|
||||
|
||||
align 4
|
||||
ch_checkwin:
|
||||
; eax = x coordinate
|
||||
; ebx = y coordinate
|
||||
; ebp -> font info
|
||||
;!destroys ch, edx!
|
||||
push eax, ebx
|
||||
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]
|
||||
add edx, eax
|
||||
cmp ch, byte [edx]
|
||||
jne .fail
|
||||
moxzx eax, byte [ebp]
|
||||
cmp ch, byte [edx+eax]
|
||||
jne .fail
|
||||
moxzx ebx, byte [ebp+1]
|
||||
imul ebx, [_display.width]
|
||||
cmp ch, byte [edx+ebx]
|
||||
jne .fail
|
||||
add edx, eax
|
||||
cmp ch, byte [edx+ebx]
|
||||
clc
|
||||
je .done
|
||||
.fail:
|
||||
stc ; CF means the charbox is invisible
|
||||
.done:
|
||||
pop ebx, eax
|
||||
ret
|
||||
|
||||
align 4
|
||||
ch_putpixel:
|
||||
; eax = x coordinate
|
||||
; ebx = y coordinate
|
||||
; edi = 0x0RRGGBB
|
||||
push edx
|
||||
mov edx, ebx
|
||||
imul edx, [BytesPerScanLine]
|
||||
lea edx, [edx+eax*4]
|
||||
mov [LFB_BASE+edx], edi
|
||||
pop edx
|
||||
ret
|
||||
|
||||
;)
|
||||
|
||||
|
||||
|
||||
|
||||
;diff16 "font code end ",0,$
|
||||
diff10 "font code size",dtext,$
|
||||
|
@ -7,19 +7,20 @@
|
||||
|
||||
|
||||
macro gptick origin, r, tick
|
||||
{ dw (origin mod 64) shl 10 + (r mod 8) shl 7 + (tick mod 128) }
|
||||
{ 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 32) shl 7 + (tick mod 4) shl 4 }
|
||||
{ dw (x mod 16) shl 12 + (y mod 32) shl 8 + (tick mod 2) }
|
||||
|
||||
macro cstick x, y, r, tick
|
||||
{ dw (x mod 16) shl 12 + (y mod 32) shl 7 + (tick mod 4) shl 4 + 2 + (r mod 2)}
|
||||
|
||||
macro mstick x, y, r, tick
|
||||
{ dw (x mod 16) shl 12 + (y mod 32) shl 7 + (rmod 4) shl 5 + (tick mod 32) }
|
||||
{ dw (x mod 16) shl 12 + (y mod 32) shl 8 + 0xC0 + (r mod 2) shl 2 + (tick mod 4) }
|
||||
|
||||
macro lntick x, y, r, len
|
||||
{ dw (x mod 16) shl 12 + (y mod 32) shl 7 + (rmod 4) shl 5 + (len mod 16) }
|
||||
{ if len < 8
|
||||
dw (x mod 16) shl 12 + (y mod 32) shl 8 + (rmod 4) shl 3 + len
|
||||
else
|
||||
dw (x mod 16) shl 12 + (y mod 32) shl 8 + (rmod 4) shl 3 + ((len-8) mod 8) + 0xE0
|
||||
end if}
|
||||
|
||||
;align 8
|
||||
sdsh_data:
|
||||
@ -37,6 +38,13 @@ sdsh_data:
|
||||
.pix7 db 60
|
||||
.pix8 db 70
|
||||
|
||||
align 4
|
||||
; ---- special tickfields ----
|
||||
.blank db 0, 0, 0, 0 ; for straight lines
|
||||
.cs2 db 11001100b, 111100b
|
||||
.cs3 db 00010100b, 01000101b, 0001b
|
||||
.cs0 db 111111b ; 4-pix square
|
||||
.ri1 db 01010101b ; 8-pix ring (rot-invariant)
|
||||
|
||||
align 16
|
||||
.info:
|
||||
@ -88,6 +96,7 @@ align 4
|
||||
db 0x34 ; 27 ×Ó÷
|
||||
db 0x38 ; 28 Þé
|
||||
db 0x41 ; 29 ó
|
||||
db 0x30 ; 30
|
||||
|
||||
align 4
|
||||
.tick_table:
|
||||
@ -96,53 +105,83 @@ align 4
|
||||
db 01b ; XX XX
|
||||
db 11b ; X X
|
||||
.v2:
|
||||
; 34 35 36 37 38
|
||||
db 0100b ; XXX XXX XX XX XX
|
||||
db 1100b ; X X X XX X
|
||||
db 0001b ; X X
|
||||
db 1001b ;
|
||||
db 0101b ;
|
||||
db ?
|
||||
; 34 35 36 37 38
|
||||
db 0100b ;34 XXX XXX XX XX XX
|
||||
db 1100b ;35 X X X XX X
|
||||
db 0001b ;36 X X
|
||||
db 1001b ;37
|
||||
db 0101b ;38
|
||||
db 0 ;39
|
||||
db 0 ;40
|
||||
db 0 ;41
|
||||
.v3:
|
||||
; 40 41 42 43 44 45 46 47
|
||||
db 011001b ; XX XXX XXX XX XX XX XXXX XX
|
||||
db 001100b ; XX X X X X X X X
|
||||
db 000100b ; X X X X X X X
|
||||
db 000011b ; X X X X
|
||||
db 010001b ;
|
||||
db 000101b ;
|
||||
db 110000b ;
|
||||
db 000111b ;
|
||||
; 42 43 44 45 46 47 48
|
||||
db 000100b ;42 XXX XX XX XX XXXX XX XXX
|
||||
db 000011b ;43 X X X X X X X
|
||||
db 010001b ;44 X X X X X X
|
||||
db 000101b ;45 X X X X
|
||||
db 110000b ;46
|
||||
db 000111b ;47
|
||||
db 001100b ;48
|
||||
db 0 ;49
|
||||
|
||||
.v4:
|
||||
db 01010001b ; f0: ?23S
|
||||
db 01000101b ; f0: 35
|
||||
db 01010000b ; f0: Ë
|
||||
db 01010010b ; f0: ë
|
||||
db 00011101b ; f0: úűü
|
||||
; 50 51 52 53 54 55
|
||||
db 01010001b ;50: XX XX XXXX Y XX XX
|
||||
db 01000101b ;51: X X X X X X
|
||||
db 01010000b ;52: X X X X XXX XXX
|
||||
db 01010010b ;53: X X X
|
||||
db 00011101b ;54: X X X
|
||||
db 00110101b ;55: X
|
||||
db 0 ;56:
|
||||
db 0 ;57:
|
||||
|
||||
.v5:
|
||||
db 00000001b, 01b ;1f0: )(Ţ
|
||||
db 00000001b, 10b ; f0: /7X
|
||||
db 01000101b, 01b ;3f0: 8uÚŰć
|
||||
db 01010100b, 00b ; f0: BPRa
|
||||
db 00000010b, 01b ;5f0: \X&
|
||||
db 00010100b, 00b ; f0: ahnu×
|
||||
db 10111000b, 00b ;7f0: Ć
|
||||
db 00000001b, 01b ;58: )(Þ
|
||||
db 00000001b, 10b ;59: /7X
|
||||
db 01000101b, 01b ;60: 8uÚÛæ
|
||||
db 01010100b, 00b ;61: BPRa
|
||||
db 00000010b, 01b ;62: \X&
|
||||
db 00010100b, 00b ;63: ahnu×
|
||||
db 10111000b, 00b ;64: Æ
|
||||
db 0, 0 ;65:
|
||||
|
||||
.v6:
|
||||
db 01000000b, 0101b ; f0: Jfg
|
||||
db 01010100b, 0001b ; f0: ß
|
||||
db 01000000b, 0101b ;66: Jfg
|
||||
db 01010100b, 0001b ;67: ß
|
||||
db 0, 0 ;68:
|
||||
db 0, 0 ;69:
|
||||
db 0, 0 ;70:
|
||||
db 0, 0 ;71:
|
||||
db 0, 0 ;72:
|
||||
db 0, 0 ;73:
|
||||
.v7:
|
||||
db 11011001b, 011001b ; f0: ><vVY
|
||||
db 00010001b, 010001b ; f0: D
|
||||
db 00010100b, 000101b ; f0: bcdpqg
|
||||
db 11011001b, 011001b ;74: ><vVY
|
||||
db 00010001b, 010001b ;75: D
|
||||
db 00010100b, 000101b ;76: bcdpqg
|
||||
db 0, 0 ;77:
|
||||
db 0, 0 ;78:
|
||||
db 0, 0 ;79:
|
||||
db 0, 0 ;80:
|
||||
db 0, 0 ;81:
|
||||
.v8:
|
||||
db 00110000b, 00001100b ; f0: 5
|
||||
db 00110000b, 00001100b ;82: 5
|
||||
db 0, 0 ;83:
|
||||
db 0, 0 ;84:
|
||||
db 0, 0 ;85:
|
||||
times 4 (db 0, 0) ;86..89
|
||||
.v9:
|
||||
times 8 (db 0, 0, 0) ;90..97
|
||||
.v10:
|
||||
db 00010100b, 01010000b, 0100b ; f0: @0CGOQŃÎÝ
|
||||
db 01010100b, 01010001b, 0100b ; f0: 689
|
||||
db 00010100b, 01010000b, 0100b ; 98: @0CGOQÑÎÝ
|
||||
db 01010100b, 01010001b, 0100b ; 99: 689
|
||||
db 0, 0, 0 ;100:
|
||||
db 0, 0, 0 ;101:
|
||||
times 4 (db 0, 0, 0) ;102..105
|
||||
.v11:
|
||||
db 10100000b, 01010010b, 000001b ; f0: $s
|
||||
db 10100000b, 01010010b, 000001b ;106: $s
|
||||
db 0, 0, 0 ;107:
|
||||
times 6 (db 0, 0, 0) ;108..113
|
||||
|
||||
|
||||
align 4
|
||||
@ -291,7 +330,51 @@ align 4
|
||||
dw (.ch0_173-.chars)*16 + 3 ; #173 í
|
||||
dw (.ch0_174-.chars)*16 + 1 ; #174 î
|
||||
dw (.ch0_175-.chars)*16 + 3 ; #175 ï
|
||||
times 48 dw 0 ; #176-223
|
||||
dw (.ch0_176-.chars)*16 + 4 ; #176
|
||||
dw (.ch0_177-.chars)*16 + 6 ; #177
|
||||
dw (.ch0_178-.chars)*16 + 8 ; #178
|
||||
dw (.ch0_179-.chars)*16 + 1 ; #179
|
||||
dw (.ch0_180-.chars)*16 + 2 ; #180
|
||||
dw (.ch0_181-.chars)*16 + 3 ; #181
|
||||
dw (.ch0_182-.chars)*16 + 3 ; #182
|
||||
dw (.ch0_183-.chars)*16 + 3 ; #183
|
||||
dw (.ch0_184-.chars)*16 + 3 ; #184
|
||||
dw (.ch0_185-.chars)*16 + 3 ; #185
|
||||
dw (.ch0_186-.chars)*16 + 2 ; #186
|
||||
dw (.ch0_187-.chars)*16 + 3 ; #187
|
||||
dw (.ch0_188-.chars)*16 + 4 ; #188
|
||||
dw (.ch0_189-.chars)*16 + 3 ; #189
|
||||
dw (.ch0_190-.chars)*16 + 2 ; #190
|
||||
dw (.ch0_191-.chars)*16 + 2 ; #191
|
||||
dw (.ch0_192-.chars)*16 + 2 ; #192
|
||||
dw (.ch0_193-.chars)*16 + 2 ; #193
|
||||
dw (.ch0_194-.chars)*16 + 2 ; #194
|
||||
dw (.ch0_195-.chars)*16 + 2 ; #195
|
||||
dw (.ch0_196-.chars)*16 + 1 ; #196
|
||||
dw (.ch0_197-.chars)*16 + 2 ; #197
|
||||
dw (.ch0_198-.chars)*16 + 2 ; #198
|
||||
dw (.ch0_199-.chars)*16 + 3 ; #199
|
||||
dw (.ch0_200-.chars)*16 + 3 ; #200
|
||||
dw (.ch0_201-.chars)*16 + 3 ; #201
|
||||
dw (.ch0_202-.chars)*16 + 3 ; #202
|
||||
dw (.ch0_203-.chars)*16 + 3 ; #203
|
||||
dw (.ch0_204-.chars)*16 + 3 ; #204
|
||||
dw (.ch0_205-.chars)*16 + 2 ; #205
|
||||
dw (.ch0_206-.chars)*16 + 4 ; #206
|
||||
dw (.ch0_207-.chars)*16 + 3 ; #207
|
||||
dw (.ch0_208-.chars)*16 + 3 ; #208
|
||||
dw (.ch0_209-.chars)*16 + 3 ; #209
|
||||
dw (.ch0_210-.chars)*16 + 3 ; #210
|
||||
dw (.ch0_211-.chars)*16 + 3 ; #211
|
||||
dw (.ch0_212-.chars)*16 + 2 ; #212
|
||||
dw (.ch0_213-.chars)*16 + 2 ; #213
|
||||
dw (.ch0_214-.chars)*16 + 3 ; #214
|
||||
dw (.ch0_215-.chars)*16 + 4 ; #215
|
||||
dw (.ch0_216-.chars)*16 + 4 ; #216
|
||||
dw (.ch0_217-.chars)*16 + 2 ; #217
|
||||
dw (.ch0_218-.chars)*16 + 2 ; #218
|
||||
|
||||
times 5 dw 0 ; #219-223
|
||||
dw (.ch0_224-.chars)*16 + 2 ; #224 p
|
||||
dw (.ch0_225-.chars)*16 + 2 ; #225 c
|
||||
dw (.ch0_226-.chars)*16 + 2 ; #226 ò
|
||||
@ -312,8 +395,10 @@ align 4
|
||||
dw (.ch0_241-.chars)*16 + 4 ; #241 ¸
|
||||
times 14 dw 0 ; #142-255
|
||||
|
||||
; ----------------------------------------------------
|
||||
align 4
|
||||
.chars:
|
||||
dw 0
|
||||
.ch0_33: !
|
||||
ritick 2, 2, 0
|
||||
lntick 2, 4, 2, 5
|
||||
@ -329,12 +414,12 @@ align 4
|
||||
lntick 0, 3, 1, 5
|
||||
cstick 3, 3, 0, 0
|
||||
.ch0_38: ; &
|
||||
gptick 7, 6, v5_5
|
||||
gptick 7, 6, 62
|
||||
gptick 19, 4, 38
|
||||
.ch0_40: ; (
|
||||
gptick 5, 3, v5_1
|
||||
gptick 5, 3, 58
|
||||
.ch0_41: ; )
|
||||
gptick 9, 7, v5_1
|
||||
gptick 9, 7, 58
|
||||
.ch0_42: ; *
|
||||
gptick 3, 7, 33
|
||||
gptick 10, 3, 33
|
||||
@ -357,7 +442,7 @@ align 4
|
||||
ritick 1, 1, 0
|
||||
.ch0_47: ; /
|
||||
.ch0_55: ; 7
|
||||
gptick 1, 2, v5_2
|
||||
gptick 1, 2, 59
|
||||
lntick 0, 8, 0, 4
|
||||
.ch0_64: ; @
|
||||
cstick 3, 6, 0, 1
|
||||
@ -376,13 +461,13 @@ align 4
|
||||
lntick 0, 2, 0, 5
|
||||
lntick 1, 3, 1, 3
|
||||
.ch0_83: ; S
|
||||
gptick 3, 2, v4_1
|
||||
gptick 3, 2, 50
|
||||
.ch0_51: ; 3
|
||||
lntick 1, 5, 0, 3
|
||||
gptick 8, 1, v4_1
|
||||
gptick 8, 1, 50
|
||||
.ch0_53: ; 5
|
||||
gptick 10, 6, v4_2
|
||||
gptick 13, 4, v8_1
|
||||
gptick 10, 6, 51
|
||||
gptick 13, 4, 82
|
||||
.ch0_52: ; 4
|
||||
gptick 14, 2, 32
|
||||
lntick 0, 4, 0, 5
|
||||
@ -391,16 +476,16 @@ align 4
|
||||
gptick 14, 0, v10_2
|
||||
gptick 2, 0, 44
|
||||
.ch0_56: ; 8
|
||||
gptick 10, 6, v5_3
|
||||
gptick 10, 6, 60
|
||||
.ch0_57: ; 9
|
||||
gptick 9, 0, v10_2
|
||||
gptick 15, 0, 44
|
||||
.ch0_60: ; <
|
||||
gptick 7, 4, v7_1
|
||||
gptick 7, 4, 74
|
||||
.ch0_62: ; >
|
||||
gptick 8, 4, v7_1
|
||||
gptick 8, 4, 74
|
||||
.ch0_63: ; ?
|
||||
gptick 7, 1, v4_1
|
||||
gptick 7, 1, 50
|
||||
|
||||
.ch0_66: ; B
|
||||
.ch0_130: ; B
|
||||
@ -408,7 +493,7 @@ align 4
|
||||
.ch0_80: ; P
|
||||
.ch0_144: ; Ð
|
||||
.ch0_82: ; R
|
||||
gptick 9, 0, v5_4
|
||||
gptick 9, 0, 61
|
||||
.ch0_75: ; K
|
||||
.ch0_138: ; K
|
||||
lntick 0, 2, 2, 7
|
||||
@ -421,7 +506,7 @@ align 4
|
||||
gptick 5, 4, v10_1
|
||||
gptick 4, 5, 43
|
||||
.ch0_68: ; D
|
||||
gptick 9, 0, v7_1
|
||||
gptick 9, 0, 74
|
||||
.ch0_76: ; L
|
||||
lntick 0, 2, 2, 7
|
||||
lntick 1, 2, 0, 4
|
||||
@ -441,7 +526,7 @@ align 4
|
||||
.ch0_73: ; I
|
||||
lntick 1, 8, 0, 3
|
||||
.ch0_74: ; J
|
||||
gptick 12, 6, v6_1
|
||||
gptick 12, 6, 66
|
||||
lntick 3, 8, 0, 3
|
||||
.ch0_84: ; T
|
||||
.ch0_146: ; Ò
|
||||
@ -461,27 +546,27 @@ align 4
|
||||
.ch0_87: ; W
|
||||
lntick 0, 3, 2, 6
|
||||
lntick 4, 3, 2, 6
|
||||
gptick 0, 2, 1, 41
|
||||
gptick 0, 2, 1, 48
|
||||
.ch0_86: ; V
|
||||
lntick 0, 7, 0, 2
|
||||
lntick 4, 7, 0, 2
|
||||
.ch0_118: ; v
|
||||
.ch0_121: ; y
|
||||
gptick 12, 6, v7_1
|
||||
gptick 12, 6, 74
|
||||
lntick 0, 1, 2, 2
|
||||
.ch0_88: ; X
|
||||
.ch0_149: ; Õ
|
||||
gptick 1, 2, v5_2
|
||||
gptick 4, 6, v5_5
|
||||
gptick 1, 2, 59
|
||||
gptick 4, 6, 62
|
||||
.ch0_89: ; Y
|
||||
gptick 18, 6, v7_1
|
||||
gptick 18, 6, 74
|
||||
lntick 3, 2, 2, 2
|
||||
.ch0_90: ; Z
|
||||
lntick 0, 2, 0, 5
|
||||
lntick 0, 8, 0, 5
|
||||
lntick 0, 3, 1, 5
|
||||
.ch0_92: ; \
|
||||
gptick 4, 6, v5_5
|
||||
gptick 4, 6, 62
|
||||
.ch0_91: ; [
|
||||
lntick 1, 3, 2, 5
|
||||
.ch0_93: ; ]
|
||||
@ -494,21 +579,21 @@ align 4
|
||||
lntick 4, 2, 2, 4
|
||||
lntick 1, 4, 0, 3
|
||||
.ch0_94: ; ^
|
||||
gptick 3, 1, 41
|
||||
gptick 3, 1, 48
|
||||
.ch0_95: ; _
|
||||
lntick 0, 1, 0, 5
|
||||
.ch0_96: ; `
|
||||
lntick 3, 8, 3, 2
|
||||
.ch0_97: ; a
|
||||
.ch0_160: ; a
|
||||
gptick 5, 4, v5_4
|
||||
gptick 16, 0, v5_6
|
||||
gptick 5, 4, 61
|
||||
gptick 16, 0, 63
|
||||
.ch0_129: ; Á
|
||||
lntick 1, 8, 0, 3
|
||||
.ch0_98: ; b
|
||||
lntick 0, 2, 2, 7
|
||||
.ch0_112: ; p
|
||||
gptick 16, 0, v7_3
|
||||
gptick 16, 0, 76
|
||||
lntick 0, 0, 2, 7
|
||||
.ch0_99: ; c
|
||||
.ch0_225: ; c
|
||||
@ -517,7 +602,7 @@ align 4
|
||||
.ch0_101: ; e
|
||||
.ch0_165: ; å
|
||||
.ch0_241: ; ¸
|
||||
gptick 5, 4, v7_3
|
||||
gptick 5, 4, 76
|
||||
gptick 15, 6, 43
|
||||
ritick 1, 8, 0
|
||||
ritick 3, 8, 0
|
||||
@ -525,20 +610,20 @@ align 4
|
||||
lntick 4, 2, 2, 7
|
||||
.ch0_113: ; p
|
||||
.ch0_224: ; p
|
||||
gptick 5, 4, v7_3
|
||||
gptick 5, 4, 76
|
||||
lntick 4, 0, 2, 7
|
||||
.ch0_102: ; f
|
||||
gptick 17, 2, v6_1
|
||||
gptick 17, 2, 66
|
||||
ritick 1, 2, 0
|
||||
lntick 0, 6, 0, 3
|
||||
.ch0_103: ; g
|
||||
gptick 12, 6, v6_1
|
||||
gptick 5, 4, v7_3
|
||||
gptick 12, 6, 66
|
||||
gptick 5, 4, 76
|
||||
.ch0_104: ; h
|
||||
gptick 16, 0, v5_6
|
||||
gptick 16, 0, 63
|
||||
.ch0_107: ; k
|
||||
lntick 0, 2, 2, 7
|
||||
gptick 5, 3, 41
|
||||
gptick 5, 3, 48
|
||||
.ch0_105: ; i
|
||||
lntick 1, 2, 0, 3
|
||||
.ch0_106: ; j
|
||||
@ -555,7 +640,7 @@ align 4
|
||||
lntick 4, 2, 2, 4
|
||||
.ch0_110: ; n
|
||||
lntick 0, 2, 2, 5
|
||||
gptick 16, 0, v5_6
|
||||
gptick 16, 0, 63
|
||||
.ch0_114: ; r
|
||||
lntick 1, 2, 2, 5
|
||||
gptick 21, 1, 32
|
||||
@ -568,7 +653,7 @@ align 4
|
||||
.ch0_117: ; u
|
||||
.ch0_227: ; ó
|
||||
lntick 4, 2, 2, 5
|
||||
gptick 5, 4, v5_6
|
||||
gptick 5, 4, 63
|
||||
gptick 29, 5, 36
|
||||
.ch0_119: ; w
|
||||
lntick 2, 4, 2, 2
|
||||
@ -606,8 +691,8 @@ align 4
|
||||
ritick 4, 1, 0
|
||||
lntick 0, 3, 2, 6
|
||||
.ch0_134: ; Æ
|
||||
gptick 4, 6, v5_7
|
||||
gptick 6, 2, v5_7
|
||||
gptick 4, 6, 64
|
||||
gptick 6, 2, 64
|
||||
.ch0_148: ; Ô
|
||||
lntick 2, 2, 2, 7
|
||||
cstick 1, 8, 0, 3
|
||||
@ -618,7 +703,7 @@ align 4
|
||||
lntick 1, 4, 1, 3
|
||||
.ch0_139: ; Ë
|
||||
lntick 4, 2, 2, 7
|
||||
gptick 26, 2, v4_3
|
||||
gptick 26, 2, 52
|
||||
lntick 0, 2, 1, 2
|
||||
.ch0_143: ; Ï
|
||||
lntick 0, 2, 2, 7
|
||||
@ -626,11 +711,11 @@ align 4
|
||||
.ch0_151: ; ×
|
||||
lntick 4, 2, 2, 7
|
||||
.ch0_147: ; Ó
|
||||
gptick 27, 4, v5_6
|
||||
gptick 27, 4, 63
|
||||
lntick 4, 3, 2, 6
|
||||
lntick 1, 2, 0, 3
|
||||
.ch0_155: ; Û
|
||||
lntick 16, 0, v5_3
|
||||
lntick 16, 0, 60
|
||||
.ch0_152: ; Ø
|
||||
.ch0_153: ; Ù
|
||||
lntick 0, 3, 2, 6
|
||||
@ -640,22 +725,22 @@ align 4
|
||||
lntick 4, 1, 2, 2
|
||||
.ch0_154: ; Ú
|
||||
.ch0_156: ; Ü
|
||||
lntick 26, 0, v5_3
|
||||
lntick 26, 0, 60
|
||||
lntick 1, 3, 2, 6
|
||||
ritick 0, 8, 0
|
||||
.ch0_135: ; Ç
|
||||
ritick 3, 5, 0
|
||||
.ch0_157: ; Ý
|
||||
gptick 8, 1, v4_1
|
||||
gptick 10, 6, v4_2
|
||||
gptick 8, 1, 50
|
||||
gptick 10, 6, 51
|
||||
lntick 1, 5, 0, 4
|
||||
.ch0_158: ; Þ
|
||||
gptick 28, 7, v5_1
|
||||
gptick 28, 7, 58
|
||||
lntick 2, 3, 2, 5
|
||||
lntick 0, 2, 2, 7
|
||||
ritick 1, 5, 0
|
||||
.ch0_159: ; ß
|
||||
gptick 13, 4, v6_2
|
||||
gptick 13, 4, 67
|
||||
lntick 4, 2, 2, 7
|
||||
lntick 0, 2, 1, 3
|
||||
.ch0_161: ; á
|
||||
@ -674,8 +759,8 @@ align 4
|
||||
gptick 19, 0, 35
|
||||
lntick 0, 1, 2, 2
|
||||
.ch0_166: ; æ
|
||||
gptick 12, 6, v5_3
|
||||
gptick 1, 2, v5_3
|
||||
gptick 12, 6, 60
|
||||
gptick 1, 2, 60
|
||||
lntick 2, 2, 2, 5
|
||||
.ch0_167: ; ç
|
||||
lntick 2, 4, 0, 2
|
||||
@ -690,10 +775,10 @@ align 4
|
||||
lntick 1, 3, 1, 3
|
||||
.ch0_170: ; ê
|
||||
lntick 2, 2, 2, 5
|
||||
gptick 6, 3, 41
|
||||
gptick 6, 3, 48
|
||||
ritick 1, 5, 0
|
||||
.ch0_171: ; ë
|
||||
gptick 1, 1, v4_4
|
||||
gptick 1, 1, 53
|
||||
.ch0_172: ; ì
|
||||
lntick 4, 2, 2, 5
|
||||
gptick 13, 5, 33
|
||||
@ -726,15 +811,15 @@ align 4
|
||||
lntick 0, 2, 0, 4
|
||||
lntick 5, 1, 2, 2
|
||||
.ch0_234: ; ú
|
||||
gptick 24, 0, v4_5
|
||||
gptick 24, 0, 54
|
||||
gptick 6, 0, 43
|
||||
.ch0_235: ; û
|
||||
.ch0_236: ; ü
|
||||
lntick 0, 3, 2, 4
|
||||
gptick 26, 0, v4_5
|
||||
gptick 26, 0, 54
|
||||
lntick 4, 2, 2, 5
|
||||
.ch0_238: ; þ
|
||||
gptick 24, 2, v4_5
|
||||
gptick 24, 2, 54
|
||||
lntick 3, 2, 3, 3
|
||||
lntick 0, 2, 2, 5
|
||||
.ch0_239: ; ÿ
|
||||
@ -742,3 +827,128 @@ align 4
|
||||
lntick 4, 2, 2, 5
|
||||
gptick 1, 1, 34
|
||||
|
||||
.ch0_178: ; pseudo-graphics
|
||||
ritick 0, 8, 0
|
||||
lntick 0, 5, 1, 4
|
||||
lntick 0, 2, 1, 5
|
||||
lntick 1, 0, 1, 4
|
||||
.ch0_176: ;
|
||||
lntick 0, 4, 1, 5
|
||||
lntick 2, 0, 1, 3
|
||||
.ch0_177: ;
|
||||
lntick 0, 7, 1, 2
|
||||
lntick 0, 1, 1, 5
|
||||
lntick 0, 3, 1, 4
|
||||
lntick 0, 5, 1, 4
|
||||
lntick 1, 0, 1, 4
|
||||
lntick 3, 0, 1, 2
|
||||
.ch0_184: ;
|
||||
lntick 3, 0, 2, 6
|
||||
.ch0_181: ;
|
||||
lntick 0, 3, 0, 2
|
||||
lntick 0, 5, 0, 2
|
||||
.ch0_179: ;
|
||||
.ch0_180: ;
|
||||
lntick 2, 0, 2, 9
|
||||
lntick 0, 4, 0, 2
|
||||
.ch0_183: ;
|
||||
lntick 0, 4, 0, 4
|
||||
lntick 1, 0, 2, 4
|
||||
lntick 3, 0, 2, 4
|
||||
.ch0_185: ;
|
||||
gptick 11, 0, 43
|
||||
gptick 9, 6, 46
|
||||
.ch0_182: ;
|
||||
.ch0_215: ;
|
||||
ritick 0, 4, 0
|
||||
.ch0_186: ;
|
||||
.ch0_199: ;
|
||||
lntick 1, 0, 2, 9
|
||||
lntick 3, 0, 2, 9
|
||||
ritick 4, 4, 0
|
||||
.ch0_204: ;
|
||||
gptick 15, 4, 43
|
||||
gptick 30, 2, 46
|
||||
.ch0_187: ;
|
||||
lntick 4, 0, 2, 5
|
||||
lntick 0, 5, 0, 4
|
||||
gptick 11, 0, 43
|
||||
.ch0_188: ;
|
||||
ritick 0, 5, 0
|
||||
lntick 0, 3, 0, 4
|
||||
.ch0_189: ;
|
||||
lntick 4, 4, 2, 5
|
||||
lntick 1, 5, 2, 4
|
||||
lntick 0, 4, 0, 3
|
||||
.ch0_190: ;
|
||||
gptick 2, 0, 55
|
||||
.ch0_192: ;
|
||||
lntick 2, 5, 2, 4
|
||||
lntick 2, 4, 0, 3
|
||||
.ch0_191: ;
|
||||
lntick 0, 4, 0, 3
|
||||
.ch0_194: ;
|
||||
lntick 2, 0, 2, 4
|
||||
.ch0_193: ;
|
||||
.ch0_196: ;
|
||||
lntick 0, 4, 0, 5
|
||||
lntick 2, 5, 2, 4
|
||||
.ch0_195: ;
|
||||
lntick 0, 3, 0, 2
|
||||
.ch0_197: ;
|
||||
lntick 2, 0, 2, 9
|
||||
lntick 0, 4, 0, 5
|
||||
.ch0_198: ;
|
||||
lntick 2, 0, 2, 9
|
||||
.ch0_213: ;
|
||||
gptick 7, 4, 55
|
||||
lntick 2, 0, 2, 4
|
||||
.ch0_200: ;
|
||||
gptick 15, 4, 43
|
||||
lntick 1, 3, 0, 4
|
||||
lntick 1, 4, 2, 5
|
||||
.ch0_201: ;
|
||||
gptick 30, 2, 46
|
||||
lntick 1, 5, 0, 4
|
||||
lntick 1, 0, 2, 5
|
||||
.ch0_207: ;
|
||||
.ch0_216: ;
|
||||
lntick 2, 6, 2, 3
|
||||
.ch0_205: ;
|
||||
.ch0_209: ;
|
||||
lntick 0, 3, 0, 5
|
||||
lntick 0, 5, 0, 5
|
||||
lntick 2, 0, 2, 3
|
||||
.ch0_202: ;
|
||||
lntick 0, 3, 0, 5
|
||||
.ch0_206: ;
|
||||
gptick 9, 6, 46
|
||||
gptick 15, 4, 43
|
||||
.ch0_203: ;
|
||||
gptick 30, 2, 46
|
||||
gptick 11, 0, 43
|
||||
lntick 0, 5, 0, 5
|
||||
.ch0_211: ;
|
||||
lntick 1, 4, 0, 1
|
||||
.ch0_208: ;
|
||||
lntick 1, 5, 2, 4
|
||||
lntick 3, 5, 2, 4
|
||||
.ch0_210: ;
|
||||
lntick 0, 4, 0, 5
|
||||
.ch0_214: ;
|
||||
lntick 1, 0, 2, 4
|
||||
lntick 3, 0, 2, 4
|
||||
lntick 1, 4, 0, 1
|
||||
.ch0_212: ;
|
||||
gptick 7, 4, 55
|
||||
lntick 2, 6, 2, 3
|
||||
.ch0_217: ;
|
||||
lntick 0, 4, 0, 3
|
||||
lntick 2, 5, 2, 4
|
||||
.ch0_218: ;
|
||||
lntick 2, 4, 0, 3
|
||||
lntick 2, 0, 2, 4
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user