New sysfont #2 added

git-svn-id: svn://kolibrios.org@2522 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Artem Jerdev (art_zh) 2012-03-28 23:12:25 +00:00
parent af28a82b0a
commit 626b1133c8
2 changed files with 209 additions and 152 deletions

View File

@ -1,20 +1,19 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; 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
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 @@ dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
; 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 @@ dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
.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 @@ dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
popad
add eax, 6
jmp .loop
.font2:
add edx, edx
lea ebp, [FONT_II+4*edx+edx+1]
@ -128,7 +127,7 @@ dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
jmp .loop
.end:
popad
pop eax ; << // Alver 22.06.2008 // <<
pop eax
ret
diff10 "old font code size",dtext,$
@ -137,6 +136,55 @@ diff10 "old font code size",dtext,$
; 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 @@ draw_char:
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 @@ sdsh_draw_char:
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
@ -215,16 +263,16 @@ diff16 "parse_tick : ",0,$
mov dx, word[edx]
movzx ecx, dl
test dl, 0xE0
jz .lntick.short ; ticks #0..31
jz .lntick.short ; ticks #0..31
cmp dl, 0xE0
jae .lntick.long ; ticks #224..255
jae .lntick.long ; ticks #224..255
cmp dl, 0xD8
jae .cstick ; ticks #216..223
jae .cstick ; ticks #216..223
.gptick:
push edx
cmp dl, 38
jb .sptick ; special ticks #32-37
; general ticks #38..215
jb .sptick ; special ticks #32-37
; general ticks #38..215
mov cl, dh
shr cl, 3 ; number of origin
mov edx, [ebp+8] ; orig. table
@ -240,7 +288,7 @@ diff16 "parse_tick : ",0,$
.gptick.1:
; 1-byte tickgroups .v1-v4:
lea esi, [sdsh_data.v1+edx]
inc dh ; dh = 1 vertex
inc dh ; dh = 1 vertex
sub dl, 2 ; .v1 : 2 ticks only (#38, 39)
jae .gptick.1v2v4
mov dl, dh
@ -249,8 +297,8 @@ diff16 "parse_tick : ",0,$
.gptick.1v2v4:
; 1-byte tickgroups .v2-v4 : 8, 16 and 16 ticks
inc dh ; dh = 2 vertice
add dl, 8
inc dh ; dh = 2 vertice
add dl, 8
shr dl, 4
jmp .gptick.done
@ -276,8 +324,8 @@ diff16 "parse_tick : ",0,$
.gptick.4:
; 4-byte tickgroups .v13-16: 4 ticks each
cmp dl, 128 ; fix this when needed
jae .exit ; not implemented yet!
cmp dl, 128 ; fix this when needed
jae .exit ; not implemented yet!
sub dl, 128
lea esi, [sdsh_data.v13 + edx*4]
mov dh, 13
@ -470,18 +518,19 @@ ch_checkwin:
; 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]
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,13 +544,15 @@ ch_checkwin:
.fail:
stc ; CF means the charbox is invisible
.done:
pop edx
pop ecx
pop ebx
pop eax
ret
align 4
diff16 "ch_putpix : ",0,$
; ch_putpixel:
ch_putpixel:
; eax = x coordinate
; ebx = y coordinate
; edi = 0x0RRGGBB
@ -513,7 +564,7 @@ diff16 "ch_putpix : ",0,$
pop edx
ret
;)
ch_putpixel:
;ch_putpixel2:
; test version!!! ===== to be removed!!
; eax = x coordinate
; ebx = y coordinate

View File

@ -97,20 +97,20 @@ align 4
db 0x38 ; 28
db 0x41 ; 29
db 0x30 ; 30
db 0x47 ; 31 J
db 0x37 ; 31 J
align 4
diff16 "sdsh_data.tick_table: ",0,$
.tick_table:
db 0, 0, 0, 0, 0, 0 ;32..37 (reserved)
db 0, 0, 0, 0, 0, 0 ;32..37 (reserved)
.v1:
; 38 39
; 38 39
db 01b ; XX XX
db 11b ; X X
.v2:
; 40 41 42 43 44 45
; 40 41 42 43 44 45
db 0100b ;40 XXX XXX XX XX XX XX
db 1100b ;41 X X X XX X X
db 0001b ;42 X X X
@ -120,7 +120,7 @@ diff16 "sdsh_data.tick_table: ",0,$
db 0 ;46
db 0 ;47
.v3:
; 48 49 50 51 52 53 54 55
; 48 49 50 51 52 53 54 55
db 010100b ;48 XXX XX XX XX XXXX XX XXX XX
db 000011b ;49 X X X X X X X X
db 010001b ;50 X X X X X X X
@ -129,50 +129,51 @@ diff16 "sdsh_data.tick_table: ",0,$
db 000111b ;53
db 001100b ;54
db 010101b ;55
db 0, 0, 0, 0 ;56..59
db 0, 0, 0, 0 ;60..63
db 0, 0, 0, 0 ;56..59
db 0, 0, 0, 0 ;60..63
.v4:
; 64 65 66 67 68 69
; 64 65 66 67 68 69
db 01010001b ;64: XX XX XXXX Y XX XX
db 01000101b ;65: X X X X X X
db 01010000b ;66: X X X X XXX XXX
db 01010010b ;67: X X X
db 00011101b ;68: X X X
db 00110101b ;69: X
db 0 ;70:
db 0 ;71:
db 0, 0, 0, 0 ;72..75
db 0, 0, 0, 0 ;76..79
db 10100000b ;70:
db 0 ;71:
db 0, 0, 0, 0 ;72..75
db 0, 0, 0, 0 ;76..79
.v5:
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:
db 0, 0 ;87:
db 0, 0 ;87:
.v6:
db 01000000b, 0101b ;88: Jfg
db 01010100b, 0001b ;89:
db 0, 0, 0, 0 ;90,91
db 0, 0, 0, 0 ;92,93
db 0, 0, 0, 0 ;94,95
db 01000000b, 0101b ;88: Jfg
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
db 0, 0, 0, 0 ;102,103
db 0, 0, 0, 0 ;100,101
db 0, 0, 0, 0 ;102,103
.v8:
db 00110000b, 00001100b ;104: 5
db 0, 0 ;105
db 0, 0, 0, 0, 0, 0 ;106..108
db 0, 0, 0, 0, 0, 0 ;109..111
db 01010100b, 01010001b ;105: 689
db 0, 0, 0, 0, 0, 0 ;106..108
db 0, 0, 0, 0, 0, 0 ;109..111
.v9:
db 0, 0, 0 ;112:
@ -181,7 +182,7 @@ diff16 "sdsh_data.tick_table: ",0,$
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:
@ -190,7 +191,7 @@ diff16 "sdsh_data.tick_table: ",0,$
db 0, 0, 0 ;122:
db 0, 0, 0 ;123:
.v12:
db 0, 0, 0 ;124:
db 0, 0, 0 ;124:
db 0, 0, 0 ;125:
db 0, 0, 0 ;126:
db 0, 0, 0 ;127:
@ -207,7 +208,7 @@ diff16 "sdsh_data.table0: ",0,$
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 @@ diff16 "sdsh_data.table0: ",0,$
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 @@ diff16 "sdsh_data.table0: ",0,$
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 @@ diff16 "sdsh_data.table0: ",0,$
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 @@ diff16 "sdsh_data.table0: ",0,$
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 @@ diff16 "sdsh_data.chars: ",0,$
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 @@ diff16 "sdsh_data.chars: ",0,$
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,38 +488,42 @@ diff16 "sdsh_data.chars: ",0,$
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
.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 @@ diff16 "sdsh_data.chars: ",0,$
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,19 +552,18 @@ diff16 "sdsh_data.chars: ",0,$
.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
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 @@ diff16 "sdsh_data.chars: ",0,$
.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 @@ diff16 "sdsh_data.chars: ",0,$
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 @@ diff16 "sdsh_data.chars: ",0,$
.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 @@ diff16 "sdsh_data.chars: ",0,$
.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,144 +704,142 @@ diff16 "sdsh_data.chars: ",0,$
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
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 @@ diff16 "sdsh_data.chars: ",0,$
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 @@ diff16 "sdsh_data.chars: ",0,$
.ch0_185: ;
gptick 11, 0, 49
gptick 9, 6, 52
lntick 3, 0, 2, 9
.ch0_182: ;
.ch0_215: ;
ritick 0, 4, 0
@ -892,15 +897,16 @@ diff16 "sdsh_data.chars: ",0,$
.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: ;
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: ;