matherp Guru
 Joined: 11/12/2012 Location: United KingdomPosts: 10250 |
Posted: 01:32am 29 Feb 2016 |
Copy link to clipboard |
 Print this post |
|
Nothing original but may be useful for those using the MM2 rather than MM+
This code demonstrates a function that draws a keypad on a 240 x 320 screen in portrait mode (2.8" ILI9341 in this example) and allows the user to enter any number up to 9 digits, signed or unsigned "+-", with or without a decimal point. It supports character delete ">" and cancellation "C"
I think I've programmed in most protections and tried to mimic the way a standard calculator input works.
After the ninth characters further input is ignored except the delete char key
Only one decimal point allowed
Decimal point not allowed as 9th character.
I've included the font I've used in the source.
The way the touch input works is deliberately slow (human time) to ensure there are no unwanted repeat character. This seems to work well and the touch is fully usable with a British Standard Index Finger - no need for a stylus etc.
All feedback appreciated.
'
' Demo of touch number input
'
option explicit
option default none
cpu 48
'
' OPTION LCDPANEL ILI9341,L,24,16,15
' OPTION TOUCH 10,9
'
const T_IRQ = 9 'pin for touch interrupt
' set up the coordinates of the buttons
dim INTEGER pos1(3)=(2,201,57,57)
dim INTEGER pos2(3)=(61,201,58,57)
dim INTEGER pos3(3)=(121,201,57,57)
dim INTEGER pos4(3)=(2,141,57,58)
dim INTEGER pos5(3)=(61,141,58,58)
dim INTEGER pos6(3)=(121,141,57,58)
dim INTEGER pos7(3)=(2,82,57,57)
dim INTEGER pos8(3)=(61,82,58,57)
dim INTEGER pos9(3)=(121,82,57,57)
dim INTEGER pos0(3)=(61,260,58,57)
dim INTEGER possign(3)=(2,260,57,57)
dim INTEGER posdel(3)=(180,82,57,57)
dim INTEGER pospoint(3)=(121,260,57,57)
dim INTEGER posenter(3)=(180,201,57,116)
dim integer posdisp(3)=(2,2,235,78)
dim integer poscancel(3)=(180,141,57,58)
dim touched$ length 10 = ""
DIM integer dp,ret
'
dim s$
do
s$=numberpad$()
if s$="" then : print "Entry cancelled": else: print val(s$) :endif
pause 100
loop
end
'
**************************************************************************************
'
sub touchint
if touched$="0" or touched$="-0" then dp=0 'decimal point always zeroed on empty string
if len(touched$)<9 then 'add a character to the string if not full
if testtouch(pos0()) and touched$<>"0" AND touched$<>"-0" then touched$=touched$+"0"
if testtouch(pos1()) then addchar("1")
if testtouch(pos2()) then addchar("2")
if testtouch(pos3()) then addchar("3")
if testtouch(pos4()) then addchar("4")
if testtouch(pos5()) then addchar("5")
if testtouch(pos6()) then addchar("6")
if testtouch(pos7()) then addchar("7")
if testtouch(pos8()) then addchar("8")
if testtouch(pos9()) then addchar("9")
endif
if testtouch(possign()) then 'change sign, can't go negative if string full
if left$(touched$,1)="-" then
if len(touched$)<9 then touched$=right$(touched$,len(touched$)-1)
else
touched$="-"+touched$
endif
endif
if testtouch(posdel()) and touched$<>"" then ' delete a character
if right$(touched$,1)="." then dp=0
touched$ = left$(touched$,len(touched$)-1)
if touched$="" or touched$="-" or touched$="0." or touched$="." then touched$="0"
endif
if testtouch(pospoint()) and dp=0 and len(touched$)<8 then 'add a decimal point, can't add if no room for at least one digit after
if touched$="" then touched$="0"
touched$=touched$+"."
dp=1
endif
text 236,posdisp(1)+posdisp(3)\2,space$(9-len(touched$))+touched$,RM,9,,RGB(blue),RGB(green)
if testtouch(posenter()) then ' return with valid string
SETPIN T_IRQ, OFF
ret=1
endif
if testtouch(poscancel()) then 'return with null string
SETPIN T_IRQ, OFF
touched$=""
ret=1
endif
end sUB
'
function testtouch(position() as integer) as integer
if touch(x)>=position(0) and touch(y)>=position(1) and touch(x)<=position(0)+position(2) and touch(y)<=position(1)+position(3) then
testtouch=1
else
testtouch=0
endif
end function
'
sub drawbutton(posn() as integer, s$)
box posn(0),posn(1),posn(2),posn(3),,,rgb(blue):text posn(0)+posn(2)\2,posn(1)+posn(3)\2,s$,CM,9
end sub
sub addchar(s$)
if touched$<>"0" AND touched$<>"-0" then
touched$=touched$+s$
else
if touched$="0" then: touched$=s$: else: touched$="-"+s$:endif
endif
end sub
function numberpad$() as string
cls
touched$="0"
colour rgb(white),rgb(black)
BOX 0,0,240,320
BOX posdisp(0),posdisp(1),posdisp(2),posdisp(3),,,RGB(green)
text 236,posdisp(1)+posdisp(3)\2," 0",RM,9,,RGB(blue),RGB(green)
colour rgb(white),rgb(blue)
drawbutton(pos0(),"0")
drawbutton(pos1(),"1")
drawbutton(pos2(),"2")
drawbutton(pos3(),"3")
drawbutton(pos4(),"4")
drawbutton(pos5(),"5")
drawbutton(pos6(),"6")
drawbutton(pos7(),"7")
drawbutton(pos8(),"8")
drawbutton(pos9(),"9")
drawbutton(posdel(),">")
drawbutton(possign(),"+-")
drawbutton(pospoint(),".")
drawbutton(posenter(),"En")
drawbutton(poscancel(),"C")
SETPIN T_IRQ, INTb, TouchInt
ret=0 'marker to return from function - set in interrupt
dp=0 'marker to indicate decimal point used
do
pause 1000
loop while ret=0
numberpad$=touched$
SETPIN T_IRQ, OFF
end function
'
DefineFont #9
5F202018 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 1C00001C 001C0000 00001C00 1C00001C 001C0000 00001C00
1C00001C 001C0000 00001C00 1C00001C 001C0000 00001800 00000000 00000000
00001C00 3E00003E 003E0000 00001C00 00000000 00000000 00000000 00000000
00000000 01000000 E103E0C0 F0E103F0 01F0E103 E000F0E0 E0C00170 0FE0C103
070EC087 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 38000000 70380070 00E07000 7000E070 E07000E0 0FF8FF0F
FF0FF8FF C0E100F8 00C0E100 C301C0E1 80C30180 0F80C301 FF0FF8FF F8FF0FF8
03008703 87030087 00870300 07000E07 0000000E 00000000 00000000 00000000
00000000 00000000 38000038 00380000 00003800 FF01007F C0FF03C0 07808007
00070000 00000700 03008007 F80300C0 00FE0100 00807F00 0300C00F E00100C0
00E00000 0000E000 C00102E0 07C0FF07 FE0180FF 00380000 00003800 38000038
00000000 07000000 C00F7080 E0C00CE0 18C06118 63188063 00671880 18006718
DC0C006E 00DC0F00 0000B807 7700C03B 607600E0 0130EC00 CC0130CC 308C0330
07308C03 060E300C E0070E60 00C0031C 00000000 00000000 00000000 00000000
00000000 00000000 FF00007C 00FF0100 0380C703 83038083 80830380 01008703
FE0100CF 00FC0000 0370F001 BC0370F8 601E0770 0EE00F0E 030EE007 C0010EC0
07E0030F FF07E08F 70FE0370 0038F800 00000000 00000000 00000000 00000000
00000000 00000000 3C000018 001E0000 00000E00 02000007 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000700 0F00800F 001E0000 00003C00 70000038 00700000 0000E000
E00000E0 00C00100 0100C001 C00100C0 00C00100 0100C001 C00100C0 00C00100
0000E000 E00000E0 00700000 00007000 3C000038 001E0000 00000F00 03008007
00010000 00006000 780000F0 003C0000 00001E00 0700000E 00070000 00800300
03008003 C0010080 00C00100 0100C001 C00100C0 00C00100 0100C001 C00100C0
00800300 03008003 00070080 00000700 1E00000E 003C0000 00007800 600000F0
00400000 00000000 00000000 00000000 00000000 00000000 001C0000 00001C00
1C02001C E0C90320 01F0FF07 1C00C0FF 00360000 00007700 E30180F3 80E300C0
00004100 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 38000038 00380000 00003800
38000038 00380000 0FE0FF0F FF0FE0FF 003800E0 00003800 38000038 00380000
00003800 00000038 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 1F00000E 001F0000 00001F00 0700000F 000E0000 00001C00 70000078
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 0000FF00 FF0000FF 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 1C000000 003E0000 00003E00 1C00003E 00000000 00000000 00000000
00000000 00C00100 03008003 80030080 00000700 07000007 000E0000 00000E00
0E00000E 001C0000 00001C00 3800001C 00380000 00003800 70000070 00700000
0000E000 E00000E0 00E00000 0100C001 C00100C0 00800300 03008003 00070080
00000700 00000000 7C000000 00FF0100 0380FF03 830780C7 C00107C0 0EC00107
000EE000 E0300EE0 0EE0780E 780EE078 E0300EE0 0EE0000E 000EE000 C00107E0
07C00107 C703C083 80FF0380 0000FF01 0000007C 00000000 00000000 00000000
00000000 00000000 1C000000 001C0000 00007C00 FC0300FC 009C0700 00001C02
1C00001C 001C0000 00001C00 1C00001C 001C0000 00001C00 1C00001C 001C0000
00001C00 1C00001C C0FF0300 03C0FF03 0000C0FF 00000000 00000000 00000000
00000000 00000000 FC000000 00FF0300 0780FF07 0302C087 C00100C0 00C00100
0100C001 800300C0 00800700 0E000007 001C0000 00003800 E0000070 00C00100
03008003 00070080 E0FF0700 07E0FF07 0000E0FF 00000000 00000000 00000000
00000000 00000000 FC010000 00FF0F00 0680FF0F 03008007 C00100C0 00C00100
0300C001 800700C0 0000FF00 FF0000FF C0070080 00E00100 0000E000 E00000E0
00E00000 0304E001 80FF0FC0 0300FF0F 000000FC 00000000 00000000 00000000
00000000 00000000 07000000 800F0080 00801F00 3B00803F 80730080 0180F300
C30180E3 80830380 07808303 030F8003 80030E80 1F80031E FF1FF0FF F0FF1FF0
00800300 03008003 80030080 00800300 00008003 00000000 00000000 00000000
00000000 00000000 FF030000 80FF0380 0380FF03 00030000 00000300 07000003
00070000 00F00700 0700FE07 1F0000FF 80070080 00C00300 0100C001 C00100C0
00C00100 070CC003 00FF0F80 0300FE0F 000000F8 00000000 00000000 00000000
00000000 00000000 03000000 C01F00C0 00C07F00 E00100FC 00C00300 07008003
00070000 007E0600 0F80FF0F 030FC0FF E0010EC0 0EE0000E 000EE000 E0000EE0
07E00007 C307C001 80FF03C0 0000FF01 0000007E 00000000 00000000 00000000
00000000 00000000 FF0F0000 E0FF0FE0 00E0FF0F 0100E000 800300C0 00800300
07000007 000E0000 00000E00 1C00001C 00380000 00003800 70000038 00700000
00007000 E0000070 00E00000 0000E000 000000E0 00000000 00000000 00000000
00000000 00000000 7C000000 00FF0100 0380FF03 0307C0C7 C00107C0 07C00107
8107C001 80C303C0 0100F703 FF0100FE C0CF0380 06C00307 000EE001 E0000EE0
0FE0000E 8307E001 C0FF07C0 0080FF03 000000FE 00000000 00000000 00000000
00000000 00000000 FC000000 00FF0100 0780FF03 0107C087 C0010EC0 0EE0000E
000EE000 E0000EE0 07E0000F FF07E081 E0FF03E0 00E0FE00 0100C001 C00300C0
00800700 7E00000F 00FC0700 0700F807 000000C0 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00003800
7C00007C 007C0000 00003800 00000000 00000000 00000000 00000000 00000000
00003800 7C00007C 007C0000 00003800 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00003800
7C00007C 007C0000 00003800 00000000 00000000 00000000 00000000 00000000
00003800 7C00007C 007C0000 00003C00 3800001C 00700000 0100E001 000000C0
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00400000
0F00E001 C03F00E0 0300FE00 C00F00F8 00000F00 0700C00F FE0000F8 C03F0000
00E00F00 0000E001 00000040 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
FF0F0000 E0FF0FE0 00E0FF0F 00000000 00000000 00000000 FF0F0000 E0FF0FE0
00E0FF0F 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 0F000004
E00F0000 00F80700 0000FE00 0700803F E00100E0 00E00700 FE00C03F 00F80700
0F00E00F 00040000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 FF0300FE C0FF0380 00E00301 0000E000 E00000E0 00E00000
0300C001 00070080 00000E00 3C00001C 00380000 00003800 00000000 00000000
00003800 7C00007C 007C0000 00003800 00000000 00000000 00000000 00000000
00000000 00000000 FF00003F C0FF0180 03E0E101 8003E080 70000770 07700007
1F0EF007 F03F0EF0 0E703C0E 700E7078 70700E70 0E70700E 780E7070 70380E70
07F03F07 0707F01F 008007E0 0300C003 F00100C0 C0FF0000 00C07F00 0000C01F
00000000 00000000 7E00007E 007E0000 0000FF00 E70000F7 00E70000 0180E701
C30180C3 C0C30380 03C0C103 8103C081 E08107C0 07E0FF07 FF07E0FF F0000FE0
0E70000E 000E7000 78001E70 0038001C 00000000 00000000 00000000 00000000
00000000 00000000 FC0F0000 00FF0F00 0E80FF0F 030EC007 C0010EC0 0EC0010E
030EC001 80070E80 0F00FF0F FF0F00FF C0030E80 0EE0010E 000EE000 E0000EE0
0EE0000E 070EE001 C0FF0FC0 0F00FF0F 000000FC 00000000 00000000 00000000
00000000 00000000 7F00803F E0FF01E0 0340E003 800700C0 00000700 0E000007
000E0000 00000E00 0E00000E 000E0000 00000E00 0F00000E 00070000 00800700
0300C003 FF0140E0 E0FF00E0 00803F00 00000000 00000000 00000000 00000000
00000000 0F000000 FE0F00F0 00FF0F00 0E800F0E 030E8003 C0010EC0 0EE0010E
000EE000 E0000EE0 0EE0000E 000EE000 E0000EE0 0EE0000E 010EE001 C0030EC0
0E80030E FF0F800F 00FE0F00 0000F00F 00000000 00000000 00000000 00000000
00000000 07000000 FF07C0FF C0FF07C0 07000007 00070000 00000700 07000007
00070000 80FF0700 0780FF07 000780FF 00000700 07000007 00070000 00000700
07000007 FF070000 E0FF07E0 00E0FF07 00000000 00000000 00000000 00000000
00000000 07000000 FF07E0FF E0FF07E0 07000007 00070000 00000700 07000007
00070000 C0FF0700 07C0FF07 0007C0FF 00000700 07000007 00070000 00000700
07000007 00070000 00000700 00000007 00000000 00000000 00000000 00000000
00000000 00000000 FF00803F E0FF01C0 03C0E003 800740C0 00000700 0E000007
000E0000 00000E00 0E00000E 000EE000 E0000EE0 0FE0000E 0007E000 E08007E0
03E0C003 FF01E0E0 E0FF00E0 00803F00 00000000 00000000 00000000 00000000
00000000 0E000000 000EE000 E0000EE0 0EE0000E 000EE000 E0000EE0 0EE0000E
000EE000 E0FF0FE0 0FE0FF0F 000EE0FF E0000EE0 0EE0000E 000EE000 E0000EE0
0EE0000E 000EE000 E0000EE0 00E0000E 00000000 00000000 00000000 00000000
00000000 07000000 FF07C0FF C0FF07C0 00003800 38000038 00380000 00003800
38000038 00380000 00003800 38000038 00380000 00003800 38000038 00380000
00003800 FF070038 C0FF07C0 00C0FF07 00000000 00000000 00000000 00000000
00000000 01000000 FF01C0FF C0FF01C0 00C00100 0100C001 C00100C0 00C00100
0100C001 C00100C0 00C00100 0100C001 C00100C0 00C00100 0100C001 C00100C0
07C00304 FF0F8007 00FE0700 0000FC01 00000000 00000000 00000000 00000000
00000000 0E000000 030EE001 80030EC0 0E80070E 0E0E000F 001C0E00 0E003C0E
F00E0078 00E00F00 0F00E00F F80E00F0 007C0E00 0E003E0E 0F0E001E 80070E00
0EC0030E 010EC003 E0000EE0 00F0000E 00000000 00000000 00000000 00000000
00000000 07000000 00070000 00000700 07000007 00070000 00000700 07000007
00070000 00000700 07000007 00070000 00000700 07000007 00070000 00000700
07000007 FF070000 E0FF07E0 00E0FF07 00000000 00000000 00000000 00000000
00000000 03000000 80036000 F08007F0 06F08007 C106B0C1 B0E306B0 06306306
77063063 30360630 06303606 1C06303E 381C0E38 0E38000E 000E3800 38000E38
0E38000E 000E3800 38000E38 0038000E 00000000 00000000 00000000 00000000
00000000 07000000 C0077080 70C00770 0770E007 F00770E0 70700770 07707007
38077038 701C0770 07701C07 0E07700E 70060770 07700707 03077007 F00307F0
07F00107 0007F001 F00007F0 00F00007 00000000 00000000 00000000 00000000
00000000 00000000 FF01007C 80FF0300 0FC08307 000EE001 E0000EE0 1CF0001C
001C7000 70001C70 1C70001C 001C7000 70001C70 1C70001C 000EF000 E0000EE0
07E0010F FF03C083 00FF0180 00007C00 00000000 00000000 00000000 00000000
00000000 07000000 FF0700FC 80FF0700 07C00307 0007E001 E00007E0 07E00007
0007E000 E00107E0 07C00307 FF0780FF 00FC0700 07000007 00070000 00000700
07000007 00070000 00000700 00000007 00000000 00000000 00000000 00000000
00000000 00000000 FF01007C 80FF0300 0FC08307 000EE001 E0000EE0 1CF0001C
001C7000 70001C70 1C70001C 001C7000 70001C70 1C70001C 000EF000 E0000EE0
07E0010F FF03C083 00FF0180 0000FE00 3C000038 001F0000 00E00F00 0000E007
000000C0 0F000000 FE0F00F8 00FF0F00 0E80070E 010EC003 C0010EC0 0EC0010E
010EC001 80030EC0 0F80070E FE0F00FF 00FC0F00 0E001E0E 070E000E 00070E00
0E80030E 010E8003 C0010EC0 00E0000E 00000000 00000000 00000000 00000000
00000000 00000000 FF01007F C0FF03C0 0780C003 00070000 00000700 07000007
E0030080 00F80100 0000FE00 0F00803F C00300C0 00E00100 0000E000 E00000E0
0FE00104 FF0FC003 80FF07C0 0000FE01 00000000 00000000 00000000 00000000
00000000 0F000000 FF0FE0FF E0FF0FE0 00003800 38000038 00380000 00003800
38000038 00380000 00003800 38000038 00380000 00003800 38000038 00380000
00003800 38000038 00380000 00003800 00000000 00000000 00000000 00000000
00000000 0E000000 000EE000 E0000EE0 0EE0000E 000EE000 E0000EE0 0EE0000E
000EE000 E0000EE0 0EE0000E 000EE000 E0000EE0 0EE0000E 000EE000 E0010FE0
07C00107 FF03C083 00FF0180 0000FE00 00000000 00000000 00000000 00000000
00000000 1C000000 001C7000 E0000E70 0EE0000E 000EE000 C00107E0 07C00107
0107C001 808303C0 03808303 87038083 00C70180 0100C701 EE0000C7 00EE0000
0000EE00 7C00007C 007C0000 00007800 00000000 00000000 00000000 00000000
00000000 0E000000 000EE000 E0000EE0 0EE0000E 000EE000 E0000EE0 0EE0000E
380EE000 E0380EE0 0EE0380E 6C0EE06C E06C0EE0 0EE0C60E C60EE0C6 E0830FE0
0FE0830F 010FE083 C00107E0 00C00107 00000000 00000000 00000000 00000000
00000000 1E000000 000EF000 E0010FE0 03C00107 83038083 00C70180 0000EF01
FE0000EE 007C0000 00003800 7C000038 00FE0000 0100EE00 C70300C7 80830380
07C08307 010FC001 E0000EE0 00F0001E 00000000 00000000 00000000 00000000
00000000 1C000000 000E7000 E0000EE0 07E0010F 8307C001 808303C0 0180C303
EF0100C7 00EE0000 0000FE00 7C00007C 00380000 00003800 38000038 00380000
00003800 38000038 00380000 00003800 00000000 00000000 00000000 00000000
00000000 07000000 FF07E0FF E0FF07E0 00C00100 0300C003 00070080 00000F00
1E00000E 003C0000 00003800 70000078 00E00000 0100E001 C00300C0 00800300
07008007 FF0F0000 E0FF0FE0 00E0FF0F 00000000 00000000 00000000 00000000
00000000 0100FF01 C00100FF 00C00100 0100C001 C00100C0 00C00100 0100C001
C00100C0 00C00100 0100C001 C00100C0 00C00100 0100C001 C00100C0 00C00100
0100C001 C00100C0 00C00100 0100C001 C00100C0 00C00100 0100C001 FF0100C0
00FF0100 03008003 C00100C0 00C00100 0000E000 E00000E0 00700000 00007000
70000070 00380000 00003800 1C000038 001C0000 00001C00 0E00000E 000E0000
00000700 07000007 00070000 00800300 03008003 C0010080 00C00100 0000C001
E00000E0 0080FF00 030080FF 80030080 00800300 03008003 80030080 00800300
03008003 80030080 00800300 03008003 80030080 00800300 03008003 80030080
00800300 03008003 80030080 00800300 03008003 80030080 00800300 FF008003
80FF0080 00000000 7C000038 007C0000 0000EE00 C70100EE 00C70100 0380C703
83078083 C00107C0 02E0010F 00008000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 F8FF3F00 3FF8FF3F 0000F8FF 00000000 00000000 00000000
00000000 00000000 FE00007C 00C70100 01008301 83010083 00C70100 0000FE00
0000007C 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 0100FE00
FF0180FF E08301C0 00E00100 0000E000 E07F00E0 03E0FF01 C007E0FF E00007E0
07E00007 8007E000 E0FF03E0 00E0FF01 0000C07F 00000000 00000000 00000000
00000000 07000007 00070000 00000700 07000007 00070000 00000700 07007E07
FF0700FF C0830780 07C00107 0007E001 E00007E0 07E00007 0007E000 E00007E0
07E00107 0707C001 80FF07C0 0300FF07 000000FC 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00C03F00
FF03E0FF 40E003E0 07008007 000E0000 00000E00 0E00000E 000E0000 00000E00
07000007 E0030080 E0FF0360 00E0FF00 0000C03F 00000000 00000000 00000000
00000000 00E00000 0000E000 E00000E0 00E00000 0000E000 E00000E0 00E07E00
FF01E0FF E0C103E0 07E08003 0007E080 E00007E0 07E00007 0007E000 E00007E0
03E08007 E003E080 E0FF01E0 00E0FF00 0000803F 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 01007E00
FF0300FF C0C30780 07C00107 000EE000 E0FF0FE0 0FE0FF0F 000EE0FF 00000E00
07000007 C0070000 C0FF03C0 00C0FF01 0000007F 00000000 00000000 00000000
00000000 00C00F00 7F00F03F 307800F0 0000F000 E00000E0 00E00000 0FC0FF0F
FF0FC0FF 00E000C0 0000E000 E00000E0 00E00000 0000E000 E00000E0 00E00000
0000E000 E00000E0 00E00000 0000E000 000000E0 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 007F0000 03C0FF01
8107C0FF C00107C0 0EC0010F 010EC001 C0010EC0 0EC0010E 010EC001 C00107C0
03C08307 FF01C0FF C0FD00C0 00C00100 0300C001 800706C0 0780FF07 FC0300FF
00000000 07000007 00070000 00000700 07000007 00070000 00000700 0700FC07
FF0700FF 80070780 07C00307 0107C001 C00107C0 07C00107 0107C001 C00107C0
07C00107 0107C001 C00107C0 07C00107 0000C001 00000000 00000000 00000000
00000000 00000000 F0000060 00F00000 00006000 00000000 00000000 0F00F00F
F00F00F0 00700000 00007000 70000070 00700000 00007000 70000070 00700000
00007000 78000070 E03F0020 00E03F00 0000C00F 00000000 00000000 00000000
00000000 00000000 0F000006 000F0000 00000600 00000000 00000000 0380FF03
FF0380FF 80030080 00800300 03008003 80030080 00800300 03008003 80030080
00800300 03008003 80030080 00800300 03008003 80030080 0F000F06 FE0F00FF
00F80300 07000007 00070000 00000700 07000007 00070000 00000700 07E00107
0707C003 000F0780 07001E07 7807003C 00F00700 0700E007 780700F0 001C0700
07000F07 03070007 C0030780 07E00107 0000F000 00000000 00000000 00000000
00000000 0700F807 F80700F8 00380000 00003800 38000038 00380000 00003800
38000038 00380000 00003800 38000038 00380000 00003800 38000038 00380000
00003800 3C000038 F01F0010 00F01F00 0000E007 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 0FC0E307
FF0FE0FF F03C0EE0 0E701C0E 1C0E701C 701C0E70 0E701C0E 1C0E701C 70000E70
0E70000E 000E7000 70000E70 0E70000E 00007000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 0300FE00
FF0380FF C08303C0 03E08103 8003E080 E08003E0 03E08003 8003E080 E08003E0
03E08003 8003E080 E08003E0 03E08003 0000E080 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 01007C00
FF0300FF C0830780 0FC00107 000EE001 E0000EE0 0EE0000E 000EE000 E0000EE0
07E00107 8307C001 80FF03C0 0000FF01 0000007C 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 0700FC01
FF0700FF C0070780 07C00107 0007C001 E00007E0 07E00007 0007E000 E00007E0
07E00107 8307C001 80FF07C0 0700FF07 0007007C 00000700 07000007 00070000
00000700 00000000 00000000 00000000 00000000 00000000 00000000 00803F00
FF01E0FF E0E003E0 03E08003 0007E080 E00007E0 07E00007 0007E000 E00007E0
03E08007 C103E080 E0FF01E0 00E0FF00 0000E03E E00000E0 00E00000 0000E000
E00000E0 00000000 00000000 00000000 00000000 00000000 00000000 07C0FF00
FF07C0FF 808007C0 07000007 00070000 00000700 07000007 00070000 00000700
07000007 00070000 00000700 07000007 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 0100FF00
FF0380FF 80810780 07000007 C0070000 00F00300 0000FE01 1F00007F C0030080
00C00100 0306C001 80FF07C0 0180FF07 000000FE 00000000 00000000 00000000
00000000 00000000 00000000 00E00000 0000E000 E00000E0 00E00000 0FE0FF0F
FF0FE0FF 00E000E0 0000E000 E00000E0 00E00000 0000E000 E00000E0 00E00000
0000E000 F00000E0 E07F0020 00E07F00 0000C01F 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 07C00107
0107C001 C00107C0 07C00107 0107C001 C00107C0 07C00107 0107C001 C00107C0
07C00107 C103C081 C0FF03C0 00C0FF01 0000007F 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 1E70001C
000EF000 E0000EE0 07E0010F 0107C001 C08307C0 03808303 C7038083 00C70100
0000EF01 FE0000EE 007C0000 00007C00 0000007C 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 1C70001C
001C7000 70001C70 0C70101C 380EE038 E0380EE0 0EE0280E 6C0EE06C C04406E0
06C0C606 8707C0C7 C08307C0 03808307 00008003 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 0FE0011E
0307C003 80870380 0100CF03 FC0000EE 007C0000 00007800 FE00007C 00EE0100
0300C701 830780C3 C0010FC0 1EE0010E 0000F000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 0F70000E
0007F000 E00007E0 03E08007 8103E081 C0C103C0 01C0C301 E30180C3 80E70080
0080F700 7F000077 003E0000 00003E00 3C00001E 003C0000 0F007800 F00F00F0
00C00F00 00000000 00000000 00000000 00000000 00000000 00000000 07C0FF07
FF07C0FF 800300C0 00800700 1E00000F 001C0000 00003800 F0000078 00E00000
0300E001 800300C0 C0FF0700 07C0FF07 0000C0FF 00000000 00000000 00000000
00000000 00000000 70000000 00E00000 0000E000 E00000E0 00E00000 0000E000
E00000E0 00E00000 0000E000 C00100E0 00800F00 0100800F E00000C0 00E00000
0000E000 E00000E0 00E00000 0000E000 E00000E0 00E00000 0000E000 7F000070
801F0080 00001C00 1C00001C 001C0000 00001C00 1C00001C 001C0000 00001C00
1C00001C 001C0000 00001C00 1C00001C 001C0000 00001C00 1C00001C 001C0000
00001C00 1C00001C 001C0000 00001C00 1C00001C 001C0000 00001C00 1C00001C
001C0000 0000FC00 070000FF 80030000 00800300 03008003 80030080 00800300
03008003 80030080 00800300 01008003 F80000C0 00F80000 0300C001 80030080
00800300 03008003 80030080 00800300 03008003 80030080 00800300 FF000007
00FC0000 01000000 F00320E0 70FC0730 0CE03F0E 0704C00F 00000080 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
End DefineFont |