Home

Computerized handwriting duplication system

image

Contents

1. 9230 GOSUE 15540 oe 9250 RETURN 2 9400 9410 SUBROUTINE TO KILL SIGDATA RAW J 9420 HNN 9450 REM KILL WRKDRVS SIGDATA RAW 9440 RETURN 9600 9610 REM SUBROUTINE KILL SIGDATA PRO 9670 REM 9430 KILL WRKDRVF SIGDATA PRO e Le 9540 RETURN i 9700 REM 9705 SUBROUTINE GET SIGNATURE IDENTIFICATION b 9706 REM JE AE IE AE E HEF AE AE HEE JE AEAEE PEBE AEAEE BE BEE HEDE E E E 7 9709 BRANCH O gt z 19712 LOCATE 15 1 PRINT BLANKS 2 9715 LOCATE 17 1 FRINT BLANKS 7 9718 LOCATE 19 1 PRINT BLANKS 9721 LOCATE 15 6 PRINT ENTER SIGNATURE IDENTIFICATION 2 9724 LDCATE 17 17 L 9727 GOSUB 5600 9730 IF CHOICES NO THEN 9700 9755 IF CHOICES RESET THEN BRANCH 2 9736 SIGID SELECTIONS ee 9759 GOSUB 4800 9742 GD
2. ME EI He 6410 REM SUERDUTINE FLOT 6420 RRR TE IE E E E 6420 ON FLOTTER GOSUB 17500 14230 1 SCREEN 2 59 6450 RETURN 6600 HHHH FEF E E EE ESE SEH E EEE AF E A He 5510 SUBROUTINE CREATE USER FILE AND SAVE SIGNATURE DATA 6520 E E COE 6620 CLS 6640 GOSUE 12150 6645 GOSUB 12220 6650 RETURN 6800 FF HF E E IE E E E FER 5810 SUBROUTINE TO CREATE NECESSARY FILE NAMES 6820 REM E E E DF E HE DE E E E FF 4 6859 SIGFILES DATDRVE SIGIDS SFACE 8 1610 DAT 840 SIGUSER DATDRY SIGID SFACE LEN 516104 USR 6850 RETURN 7000
3. 12400 REM SUGROUTINE TO INFUT SINGLE FDINT FROM GTCO 12420 15 81 INFUT ENTERED POINT 12450 XD 00L VAL MIDS 2 2 5 YOR 0O01 VAL MIDS XYS B8 5 CONVERT BATA UNITS OF INCHES 12455 14 Y XD CONVERSION TO NEW OVERLAY ORIENTATION 12450 RETURN 12460 FE HE HE E HE E HE E E E HE HF HE HF E E E E HE E E E E E E E E E E HE HF JF REE E E MERE 12470 SUBROUTINE TO RETURN SELECTED EEYFAD ITEM 4 817 034 43 44 12480 ENTRY s FUNC 0 CHOICE ATTEMPTS 0 INITIALIZE FOSSIELE VARIABL ES 12490 ON DIGITIZER GOSUE 12200 12400 10200 1 2 GTCO S KEYEDARD 12500 REM CHECK THAT INPUT IS WITHIN GENERAL BOUNDS OF KEYPAD AREA 12510 IF X lt S OR X310 5 GOTO 12580 WITHIN X LIMITS 12520 IF lt 9 OR 210 5 GOTO 12580 WITHIN LIMITS 12520 TRANSFER CONTROL TO DECODE SUBROUTINE 12540 IF 7 5 THEN GOSUE 12710 GOTO 12580 FUNCTION 12550 IF X lt 5 THEN GOSUB 12850 GOTO 12580 ALPHABET 12560 IF 25 5 AND 57 5 THEN GOSUB 12610 GOTO 12580 NUMBER 12570 ENTRY CHR 13 CARRIAGE RETURN i 12580 IF ENTRYS AND FUNC 0 GOTO 12592 AGAIN FOR ENTRY 12590 RETURN 12592 ATTEMPTS ATTEMPTS 1 BEEP 12594 IF ATTEMPTS lt S THEN 12490 12596 GOSUE 140460 12598 ATTEMPTS 0 GO
4. E AE E E IE KC e 3F H E ae 11920 SUBROUTINE TO RETRIEVE USER FILE RECORD TIME AND UFDATE NUMEER OF USERS 11920 OFEN SIGUSERF AS 2 LEN 40 11940 FIELD 2 8 AS 4 AS NU 1G AS CRDT 18 AS CRTME 11950 FIELD 2 10 AS 10 AS XMX 10 AS 10 AS 11950 FIELD 2 10 AS OFDT 8 AS 10 AS CLOT 8 AS CLTME 4 AS NSF 11970 GET 2 1 d 11980 USERID FW NU VAL 1 CRDATE CRDT CRTIMET CRTH 12000 LSET NUF RIGHTE STR NU LEN NU 1 12010 PUT 82 1 20 GET 2 2 XMINF XMNF YMAXS VMNXF 12040 LSET OFDT DATES 12050 OF TMF TIMNES 12060 LSET CLDT 9999999999 12070 LSET CLTM 99999999 12080 LSET 5 0 k ae I 12090 PUT 2 NU 2 12100 CLOSE 2 12110 RETURN 12290 E FE E E HE E E REM SUBROUTINE TO INPUT SINGLE FOINT FROM CALCOMP 1 XYS INPUT 12 41 INPUT ENTERED POINT 12250 XD OOS VAL 1 4 YD 005 VAL MIDS XY 6 4 CONVERT DATA Q UNITS OF INCHES 12355 X 11 YD CONVERSION NEW OVERLAY ORIENTATION 12580 RETURN 12590 HEH E E J E E E
5. ER EEE EE E 8210 SUBROUTINE TO ADVANCE FAPER FEED 8220 E HE E E E E EEE 8250 FULSE D DELAYLEN IFDELAY 8555 GOSUE 8400 GDSUE 5000 RESET RELAYS AND DELAY 8260 OUT 201 0 OUT amp H205 0 82465 GOSUB 5000 8270 OUT amp H201 9 OUT amp H205 0 8275 GOSUE 5000 8280 FULSE FULSE 1 IF PULSE gt FWD THEN GOSUE B400 RETURN 8285 OUT amp H205 0 OUT amp H207 0 8290 GDSUR 5000 8295 FULSE FULSE 1 IF FULSE gt FWD THEN GOSUB 8400 RETURN 8700 OUT amp HIOS 0 OUT HADI 8305 GOSUR 5200 8510 PULSE FULSE 1 IF FULSES FWD THEN GOSUE 8400 RETURN 8515 QUT amp H207 0 OUT amp 208 0 8520 GOSUB 5000 8555 FULSE FULSE 1 IF PULSE gt FWD THEN GOSUE 8400 RETURN 8230 GOTO 8270 B400 REM TEE EE EEE HEHE EEE EE HH EERE HEN EEE HEHEHE 8410 SUBROUTINE TO RESET FEED RELAYS 420 HHH HF E E HF E E E 8430 FOR TO 5 Sy 8440 209 0 84950 NEXT I 8460 RETURN 8500 REM E DE E E E FE E HF E E E E HE E E HE E E CC HE E FF 8810 SUBROUTI
6. EF E E E E SUBROUTINE TO ACCEPT YES NO RESET CHOICE 44446 E AE I GOSUE 12470 IF CHOICES YES THEN FRINT CHOICES RETURN IF CHOICES NO THEN FRINT CHOICE RETURN IF THEN PRINT CHOICES RETURN GOTO 5240 RETURN REM E SUBROUTINE TO DISFLAY READY MESSAGE E E CLS LOCATE 15 12 FRINT PRINTER NOT READY LOCATE 17 5 FRINT FREPARE PRINTER AND TOUCH YES LOCATE 19 19 BEEP GOSUE 5200 RETURN HEH EE E E EE HE E E IE IE E E JE SUBROUTINE TO ACCEFT TEXT ENTRIES E FE SELECTION GOSUE 11720 gt SELE
7. HF E RHEE AE EERE 1405 SINGLE SHEET MODE 1410 REM HF 1415 CLS 1420 LOCATE 15 6 FRINT TOUCH WRITING FAD TO INDICATE 1425 LOCATE 17 10 FRINT BEGINNING OF SIGNATURE 1420 LOCATE 19 6 FRINT TOUCH RESET TO TERMINATE JOE 1435 LOCATE 21 18 1440 GOSUB 7500 1445 IF GFFSET RESET THEN GOSUB 15510 GOTO 400 1450 IF VALID TRUE THEN 1475 1455 GDSUB 7800 1450 IF CHOICES YES THEN 1475 1445 IF CHOICE NO THEN 1400 1470 IF CHOICES RESET THEN GOSUB 15516 GOTO 400 1475 BOSUE 6200 CALL SUBROUTINE TO CHECK FOR PAPER AND FREADVANCE 1480 IF READY FALSE THEN 6085 5400 GOTO 1475 1485 GOSUB 8800 CALL SUEROUTINE FEED 1490 CLS 1495 1500 1505 1510 1515 1520 1525 1550 1555 1540 1545 1550 1555 15250 1565 1270 1575 1580 1285 1590 1600 1610 1620 1550 1655 1640 1645 1647 1648 1650 1655 1470 1680 1705 1710 1715 1750 1740 1750 1760 1800 1810 1820 1820 1840 1845 1847 1850 1855 1850 1870 1880 1890 1900 1910 1920 1950 1925 1940 1945 1950 1955 1940 1965 1970 2200 2210 2220 2229 2240 2245 2250 lt lt 5260 4 817 034 23 24 LOCATE 15 17 F
8. IE SCREEN 21 REM CLS LOCATE 15 9 PRINT DD YOU WISH TD SEE LOG LOCATE 17 12 FRINT OF ANY SIGNATURE LOCATE 19 15 PRINT YES NO ms GOSUB 5200 IF CHOICES YES THEN 4400 IF THEN 4820 IF CHOICEF RESET THEN 400 REM FE HF E HE E HE HF EE EH EEE HE HE EE E HH 6 22 4 4 E E E CLS LOCATE 6 1 FRINT SIGNATURES NOW ON FILE ARE FILES DATDRY DAT LOCATE 15 1 PRINT BLANKS LOCATE 17 1 PRINT BLANKS LOCATE 19 1 FRINT BLANKS LOCATE 15 6 FRINT WHICH LOG DO YOU WISH TO SEE LOCATE 17 17 GOSUB 5500 SIGID SELECTIONS IF THEN 4652 IF THEN 400 GOSUB 4800 GOSUB 5 2 2 EXIST TRUE IF EXIST FALSE THEN 4500 GOSUE 7000 LOCATE 22 7 FRINT TOUCH RESET WHEN FINISHED GOSUE S200 GOTO 400 E E 3 3 55 HF S
9. E O E E REM SCREEN B REM He 424434 EE ee CLS LOCATE 15 10 FRINT PRINTING 3FLOTS OF JOBSIZE LOCATE 19 6 FRINT TOUCH RESET TO TERMINATE JOE LOCATE 21 18 GOSUB 6400 LOCATE 17 16 PRINT COMPLETED GOSUB 8000 IF FLOTS gt JOBSIZE THEN 2200 IF EOF 1 1 THEN DELAYLEN INT XOFF 1 5 GOSUB 5000 GOTO 1720 GOSUR 5200 IF CHOICE RESET THEN 1920 GOTO 1720 CLS LOCATE 15 8 FRINT JOB HALTED PLOTS OF 0065172 LOCATE 17 9 FRINT TOUCH YES TD CONTINUE LOCATE 19 8 PRINT TOUCH RESET TO TERMINATE LOCATE 21 18 GOSUB 5200 IF CHOICES YES THEN DELAYLEN INT XDFF 1 S GOSUE 5000 GOTO 1720 CLS LOCATE 15 7 FRINT JOB TERMINATED PLOTS OF JOBSIZE GDTO 2245 3 SEE He EH 4 5 222552252222 23 HF HF HE HF f E E 3 REM SCREEN 10 Se E E HE E HE HE E HE HE J E HF HE HE E E E E E H E CLS LOCATE 15 15 FRINT JOB COMPLETED LOCATE 17 2 PRINT TOUCH YES TO REUSE CURRENT SIGNATURE LOCATE 19 4 PRINT TOUCH RESET TO START ANOTHER JOB LOCATE 21 18 GOSUB 5200 25255 2257 2270 2400 2410 2420 2420 2440 2445 2450 2455 2460 2465 2600 2610 2620 2550 2640
10. 15890 LSET CLIM TIME 15900 LSET NS LOG 15910 FUT 2 NU 2 15920 CLOSE 2 15930 RETURN 15940 REM FE HF FF HE E E EE EEK EEE E HE REE RHE 15950 SUBROUTINE TO LOG PASSWORD FAILURE 15960 OFEN SIGUSERS AS 2 LEN 40 15970 FIELD 2 0 AS FWt 4 AS NUF 10 AS 18 AS CRIME 15980 FIELD 82 10 AS OFDT 9 AS OPTM 10 AS CLDT 8 AS CLTM 4 AS NSE 15990 GET 2 HU 2 16000 LSET CLOTS DATES 16010 LSET CLIMS TIMEF 16020 LSET NSF SY 16020 FUT it2 NU 2 16040 CLOSE 2 16050 RETURN 18060 4 817 034 53 54 16060 REM E E E HE E YF E E E H E E E E E AE 15070 SUBROUTINE TO REALIGN DIGITIZER 15080 READS 1 16090 XY E INFUT 1 1 15100 IF 13 THEN RETURN 15110 READS READS 1 16120 IF READS lt 14 THEN 16090 16125 CLOSE 1 15127 OFEN COM1 9600 N 9 2 CS5 DS CD AS 1 OPEN COM FORT GTCO 4 FOR DIGITIZER AS FILE 1 16120 RETURN 146140 E U E HF HE HE HF YF HE JE ee 15150 SUBROUTINE TO REMOVE EXCESS SFACES 15160 EHF KO HF E E HE E E E DF E E E HF E J JE HE HF HE E DF DF HF E E i E E FH HF E FF HF E E HK HE E E HE EEE HEH 16170 XI VAL AFE 16180 IF XI gt 0 GOTO 16200 15190 X STR XI GOTO 15210 16200 2 LEN STR 1 18210 IF YI
11. 8400 RETURN 9095 FULSE FULSE 1 IF FULSE gt REVMAX THEN GOSUE 6400 READY FALSE RETURN 9100 OUT amp H205 0 OUT amp H207 0 9105 9110 9115 GOSUB 5000 Mit BAS FAPERSINP amp H201 IF PAPER lt gt SENSOR THEN READY TRUE 8400 RETURN REM INPUT ENTER PAPER FEED STATUS O IF NOT ALIGNED 1 IF ALIGNED R IF PAPER lt gt 1 THEN READY TRUE GOSUB 8400 RETURN 9120 9125 9120 9155 PULSE FULSE 1 IF PULSE gt REVMAX THEN GOSUB 8400 READY FALSE RETURN OUT amp SH201 0 OUT amp H203 0 GOSUE 5000 PAFER INF 201 PAPER lt gt SENSOR THEN READY TRUE GOSUB 8400 RETURN 4 817 034 37 38 9140 INPUT ENTER PAPER FEED STATUS 0 IF NOT ALIGNED 1 IF ALIGNED IF PAPER lt gt 1 THEN READY TRUE GOSUB 8400 RETURN gt gt 9145 FULSE FULSE 1 IF PULSE gt REVMAX THEN GOSUB 8400 READY FALSE RETURN 9150 OUT 207 0 OUT amp H205 0 9155 GOSUB 5000 eS aera 9160 PAPER INP amp H201 1 IF PAPER lt gt SENSOR THEN READY TRUE GOSUE 8400 RETURN 9165 INPUT ENTER PAPER FEED STATUS O IF NOT ALIGNED i IF ALIGNED FAFE R IF PAPER lt gt 1 THEN READY TRUE GOSUB 8400 RETURN 9170 PULSE PULSE 1 IF PULSE gt REVMAX THEN GOSUB 8400 READY FALSE RETURN 9175 GOTO 9075 9200 REM FREESE E HEE E A E E E E HEHEHE IEEE 9210 REM SUBROUTINE TO PROCESS SIGNATURE DATA 9220 REM
12. TE HE E HF 3F HE JF EEE REE 7010 SUBROUTINE TO DISFLAY LOG 7020 E GOSUE 11920 GOSUB 15540 7250 GOSUE 15510 7060 RETURN 52 7200 REM FE 4 HE HE HE E E E 7210 SUBROUTINE OFEN LOG FILE 7220 W E AE HF REE ER EE 7240 GOSUB 11920 7260 RETURN 7400 E 7410 REM SUERDUTINE NUMBER ENTRIES 7420 E E E E HE E HE E E HE AE E 7450 NUMBERS 7440 BOSUE 11720 7450 NUMBERF TEXTS 7460 RETURN 7600 E E DF E HE E HF HE E HE E EF E HE E E JE E HE E E E E E E HF ELE HEHE EEE EEE E
13. IF A U IF D IF AS E IF Ag H IF 55 GOTD 18200 1 82 4 817 034 AF CHRF 15 GOTO 18070 THEN GOSUB 18220 GOTO 18070 OR THEN GOSUB 19260 OR AF D THEN GOSUB 18290 THEN GOSUB 18520 THEN GOSUE 18250 THEN 50508 18440 THEN GOSUB 18780 IF Af THEN GOTO 18010 GOSUB 19510 GOTO 18070 GOTO GOTO GOTO GoTo 18070 18070 18070 18070 CLOSE 3 kq 7 PRINT TOUCH YES TO CONTINUE GOSUB S200 SCREEN 0 COLOR 7 0 RETURN REM SUBROUTINE INITIALIZE AF INFUT 1 5 IF lt gt GOTO 18230 RETURN REM SUBROUTINE COORD COORDS A RETURN REM SUBROUTINE FEN RETURN REM SUBROUTINE ORIGIN YO YARS RETURN REM SUBROUTINE RESOLUTION NARSF AF INFUT 2 IF NRSF RESF N RETURN GOTO 18070 GOTO 18070 RESFAC VAL RIGHTS 55 1 VAL RIGHTS RESFE 1 XO XO RESFAC YO YO RESFAC XABS XABS RESFAC XCONV XCONV RESF RES F NRS E RETURN REM SUBROUTINE PNE U 0 0 YO 0 0 YABS 0 GOSUB 18700 GOSUB 18740 RETURN REM SUBROUTINE XDATS YDAT XDATF XDATE AS AF INFUTE 1 3 YARBS YABS RESFAC YCONV YCONV RESFAC HOME DATA IF A 60 0 18580 GOTO 18540 AF INFUTSE 1 3 IF Af OR YDATSSYDATE AE GOTO 18560 XDAT YDAT VAL IF COORD A THEN 5 XAHS KABS X DAT Y
14. IF THEN GOSUB 9400 GOTO 400 GOSUB 9200 IF GOOD FALSE 2920 SCREEN 15 CLS LOCATE 15 12 PRINT SIGNATURE ACCEPTED LOCATE 17 11 PRINT DO YOU WANT A SAMPLE LOCATE 19 15 PRINT YES NO GOSUB 5200 ie IF 5 THEN 2875 5 IF CHOICE NO THEN 3200 IF THEN GOSUB 9400 POSUB 9092 GOTO 400 SIGFILES WRKDRV SIGDATA PRO CLS GOSUB 6200 IF READY FALSE THEN GOSUB 5400 Baro 2880 FLOTPOS 4000 3 PLOTEJECS 5620 OFFSET 1620 1875 SCOFFSETS OFFSETS GOSUB B800 B GOSUB 6400 GOTO 5200 CLS GOSUB 9400 GOSUB 9600 Sua 5 LOCATE 15 10 PRINT SIGNATURE ACCEPTED LOCATE 17 7 PRINT DO YOU WANT TO RECORD AGAIN LOCATE 19 15 PRINT YES NO GOSUB 5200 IF 1 THEN 2400 Way Bie les IF CHOICE NO THEN 400 IF CHOICES RESET THEN 400 24 io SCREEN 15 CLS LDCATE 15 5 PRINT DO YDU WANT SAVE THIS SIGNATURER LOCATE
15. RE REM SUBROUTINE TO INFUT FROM KEYEDARD HF HF KYED IHFEY T IF KYEDE THEN GOTO 1055 IF LEN KYRD gt I1 THEN FUNC ASC RIGHTS KYBD4 1 58 ELSE ENTRY KYEDS ON FUNC GOTO 10570 10280 10390 CHOICES YES GOTO 16 CHOICEF NO GOTO 10295 CHOICE RESET GOTO 10595 RETURN 3 4 E 3F 30 E HE E HE N A E REM SUBROUTINE TO READ SIGNATURE DATA POINT REM HE E HE E HE E AF 44 44 E JE E E RE E E E E E E E FF E FF AF INFUT E 12 5 XOF MIDSE AF 1 4 6 4 11 19 XFaSTRE BSGOO S VAL YS STRS S VAL XD 2250 RETURN REM FRE ROE ROR IOS IE AE E A IE R IE E E E II ak AE E SUBROUTINE TO READ GTCO SIGNATURE DATA FOINT REM HE ME E HE HE AE E FE ab ai
16. signal has been received by microcomputer 12 Every five thousandths of a sec ond digitizer pad 20 sent the coordinates of a point As can be seen from FIG the signers pen moved downwardly toward the bottom left hand corner of digitizer pad 20 Thus it can be expected that both the X and the Y coordinates should decrease This can be seen in the next coordinate point listed in columns G and H of row 7 whereby the absolute value of the X position changed by two thousandths of an inch toward the left hand side but the Y position did not change at all Since each point is sent every five thousandths of a second the space between points will simply be a function of the time it takes the signer to move the pen over digi tizer pad 20 In row 46 columns G and H it can be seen that for one hundredths of a second the computer re ceived a pen up signal because the X coordinate is pre ceded by a 0 Based on a review of the signature it can be seen that the signers pen did not leave the paper except to place a dot above the i the dot being denoted by numeral 504 It is believed that the pen up signal received in row 46 as well as the pen up signals re ceived in rows 48 and 49 are probably the result of the signers simply not bearing down on the pen In any case they are aberations in the overall signature It can be noticed that there is a distance between the absolute positions of the point coordinates located before and after t
17. 58 57 48 44 48 32 36 22 23 10 11 2 0 9 10 10 51 2 1 55 22 75 33 82 29 74 32 54 29 28 19 15 21 9 45 4 50 4 51 77 4 1 6 41 7 0 1 0 22 2 45 10 41 15 33 15 25 25 15 22 3 32 17 45 24 53 29 124 30 15 26 11 18 9 17 9 0 1 19 511 32 12 46 15 52 18 50 14 59 16 21 19 10 17 47 15 64 7 57 2 736 0 17 1 24 1 44 5 48 15 59 16 22 25 2 35 26 35 42 38 46 34 53 33 57 25 57 25 22 11 2 1 2 1 71 51 74 28 72 4 18 66 14 52 12 52 15 3 0 28 8 108 20 103 14 85 2 58 11 28 14 12 5 55 27 78 24 77 12 57 1 56 15 19 27 2 44 20 45 30 33 30 30 20 17 11 12 1 6 9 2 19 2 23 5 22 77 12 4 12 5 2 1 9 5 25 5 35 5 18 1 9 4 5 77 2 5 17 26 17 41 19 29 8 17 4 4 8 12 18 56 28 41 23 40 22 8 4 0 2 15 6 1 5 7 45 19 32 12 19 5 8 6 4 12 16 20 24 23 31 25 28 21 28 20 2 5 5 5 1 4 1 24 6 25 11 20 7 14 4 11 1 6 1 4 1 1 2 1 1 1 1 1 1 0 2 0 5 9 9 7 7 27 25 29 27 20 25 20 25 1 5 5 1 5 2 8 2 7 5 5 4 1 1 0 1 15 5 15 4 2 3 6 2 150 1576 E 19 2 8 6 12 23 42 35 81 41 80 40 110 54 35 14 i 7 4 15 5 196 1444 GD 36 9 15 0 3 5 21 19 31 27 30 26 52 27 2 1 5 2 51 30 7 21 3 11 0 5 2 1 2 3 5 17 19 17 16 10 10 3 4 5 0 4 0 18 0 10 2 4 5 3 16 11 27 11 27 18 47 18 47 6 4 6 3 OQ 407 1658 QO 1 1 0 9 5 14 8 14 8CU 5 22 TRUE 1 FALSE 0 BLANKS SPACE 39 LEVEL 1 ALLOW S ALLDW2
18. SIGFILE INFUT AS 3 OPEN SIGNATURE FILE AS 2 17590 FILLEN LOF 3 LENGTH OF FILE 17590 FILLENS 128 GOTO 17640 CHECK FOR FULL BLOCK REMAINING 17600 AS INFUTS 129 INFUT FULL BLOCK 17610 FILLEN FILLEN 128 DECREASE REMAINING LENGTH 17620 2 SEND DATA TO PLOTTER 17620 GOTO 17590 50 BACK FOR MORE DATA 17640 IF EDF 2 THEN GOTO 17660 ELSE AS INFUT 1 2 17550 FRINT 2 A GOTO 17640 SEND DATA TO FLOTTER 17650 FRINT 2 H F FLOTEJECE RETURN FLOTTER LOAD POSITION ANC DESELECT 17670 CLOSE 2 5 17970 REM RHE REE HERR 17980 REM SUBROUTINE TO FLOT ON SCREEN 17990 REM 19000 WREDRVE FLOTFILE DAT FOR INFUT AS 3 18002 SCREEN COLOR 7 0 WIDTH 80 16004 CLS 18010 0 0 YORO 18020 18020 1 XCONV Z0 25 RESFAC 2 SCREEN 1 COLOR 0 0 18070 18080 180906 181006 19110 18120 18120 19140 18150 19150 18170 18130 18190 18500 18205 18205 18207 18210 18220 18220 18240 18250 18260 18270 18250 198750 18570 18280 18390 18400 18410 18420 16430 19440 18450 16450 18470 18380 18490 18500 18510 18520 18570 18540 18550 18560 18270 18580 18590 18400 18510 18520 18620 18640 18650 18550 18670 19680 18590 18700 18710 18720 18720 18740 18750 18760 18770 IF EOF 2 AS INFUTS IF IF
19. for a singular use Other disadvantages include the diffi culty in providing on the one hand security and on the other hand easy accessibility by authorized persons and easy reproduction of any one of a plurality of signatures or handwritten messages SUMMARY OF THE INVENTION The present invention provides a method and appara tus for replicating a handwritten word at a determinable location on a piece of paper Such a word can include a person s signature as well as a handwritten note by that person The present invention utilizes a computer con nected to a means for providing a plurality of coordi nate points that together represent the handwritten word In a preferred embodiment the computer refines the raw data received from the coordinate producing 20 25 30 35 45 35 60 65 2 means and provides the refined data to a plotter which replicates the handwritten word at a predetermined location on a piece of paper The refined data points are stored in a memory that is accessible by the computer which in a preferred embodiment is a floppy disc The computer is a general purpose programmable computer that is controlled by a computer program according to the present invention Thus the present invention provides a readily trans portable computer program and data base that can be utilized on any compatible general purpose program mable computer In a specific embodiment of the pres ent invention the com
20. 17 15 PRINT 7 YES NO BOSUE 5200 gt IF CHOICE YES THEN 3600 IF CHOICE NO THEN 3400 3275 2280 5400 5410 5420 5421 3422 3423 5454 5425 2426 5427 3428 3430 5425 3440 3455 460 5463 5470 5479 3480 TS SOC 505 2519 5515 2520 5525 552 5525 5550 5500 5610 3620 650 3640 5545 5645 3550 5655 5570 5580 5590 3910 3820 3830 5840 845 5845 850 2855 40060 4010 4020 4050 4025 4040 4050 4060 4065 4070 4085 4090 4095 4100 4200 4210 4220 4230 4240 250 4260 4 817 034 27 28 IF CHOICE RESET THEN GOSUR 9400 GOSUB 9600 GOTO 400 GOTO 3600 38 AE E E HE E E E HE HH SCREEN 18 REM E FH HF HE E HE H E HE i E E E HE E JE E HE E HE JF HE HE E E E E E JF E E HF E HE E E E ERE EER EER HEH CLS 5 LOCATE 15 2 PRINT DO YOU WISH TO REFROCESS THE SIGNATURE LOCATE 17 8 PRINT WITH ADDITIONAL SMOOTHING LOCATE 19 15 YES NO Ug GOSUB 5200 IF CHOICE YES THEN 3500 IF CHOICES NO THEN 2430 IF CHOICES RESET THEN 3439 CLS i GOSUB 9400 GOSUE 9600 LOCATE 15 13 FRINT SIGNATURE ERASED LOCATE 17 4 PRINT DO YOU WANT TO RECORD ANOTHER LOCATE 19 15 5 5 5200 IF CHOIC
21. 3 15 2 1 2 19 48 5 65 9 52 21 51 18 5 50 2748 49 35 59 40 50 31 59 52 62 17 59 17 4 5 26 15 62 24 81 28 77 25 59 9 61 9 57 711 3 0 28 99 26 117 14 97 7 67 9 52 24 5 17 52 46 94 524 102 22 77 1 57 14 15 28 2 40 24 60 38 43 39 23 31 24 10 5 1 7 0 190 5 29 5 28 9 21 8 2 2 2 1 9 3 25 5 43 10 27 0 1 5 1 9 18 109 46 27 49 29 55 9 18 2 5 16 9 12 29 28 60 39 45 17 17 10 1 2 8 8 50 11 48 25 42 15 20 5 6 7 3 14 17 18 28 28 32 27 38 26 25 17 8 5 5 5 12 5 23 55 28 15 15 4 B 1 8 5 1 2 1 2 2 2 1 1 1 1 2 2 1 2 1 4 18 15 27 25 33 26 24 28 12 19 4 5 2 0 11 5 8 2 7 5 5 4 2 2 5 15 5 20 8 9 1 8 CUXA 150 1376 ED 24 2 14 7 2 7 33 41 71 46 120 47 110 54 51 24 18 5 1 6 ID 1906 1464 8 0 57 20 16 2 7 9 21 10 58 55 41 54 52 27 1 2 8 5 2 10 557 9 29 5 13 1 9 5 1 4 2 3 8 8 31 33 20 13 1 5 2 1 10 4 17 2 19 1 3 4 2 8 10 28 20 58 22 51 14 45 5 11 9 4 407 1658 0 1 1 9 30 0 10 28 11 DLHS CD 537 726 GWM 0 2 0 71 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 2 1 0 4 2 28 1 16 29 16 B7 45 80 41 61 28 47 24 30 18 17 11 9 9 5 4 1 1 0 1 17 1 4 28 19 40 25 59 25 41 32 28 19 27 19 6 4 0 1 1 0 21 8 22 58 12 38 7 29 5 20 0 18 8 11 15 1 17 21 31 45 44 66 36 74 55 72 29 66 20 53 8 58 25 12 14 14 4 17 9 20 26 19 58 21 46 25 45 12 43 1 38 5 55 16 25 18 12 27 7 39 25 58
22. 3 E E E HE E E E HF E E HF HF E E HE HF E E E FE HE E E E E E E E HE YF E FF CLS LOCATE 15 8 FRINT THIS SIGNATURE WILL HAVE LOCATE 15 8 FRINT IDENTIFICATION SIGIDS LOCATE 17 8 PRINT SECURITY CODE PASSWORDS LOCATE 19 12 FRINT IS THIS CORRECT LOCATE 21 15 FRINT YES NO GDSUB 5200 IF CHOICES YES THEN 4100 IF CHOICES NO THEN 5600 IF CHOICE RESET THEN GOSUB 9400 GOSUE 9600 400 GOSUB 4600 REM EERE EKER SCREEN 20 2 CLS LOCATE 15 4 PRINT SIGNATURE SIGID IS NOW ON FILE DELAYLENS2500 GOSUB 5000 GOTO 400 4400 4410 4420 4450 4440 4445 4445 4450 4455 4450 4465 4600 4510 4520 4550 4640 4550 4652 465 4653 46550 4645 4670 4673 4675 4680 4690 495 4700 4710 4720 4730 4740 4800 4802 4804 4805 4808 4810 4812 4814 4820 4822 4824 4826 4828 48720 4832 4854 4836 4858 4840 48352 4844 4846 4848 4850 452 4854 4856 4858 4950 4862 4854 4856 4847 4858 4859 4870 4872 4874 4876 4878 48380 4 817 034 29 30 EF E
23. 7 2 CS DS CD AS 1 OFEN COM FORT AS FILE 1 12970 WREDRVE SIGDATA RAW FOR OUTFUT AS 3 OFEN DATA FILE AS FILE 3 12975 PRINT 1 I INITIALIZE DIGITIZER AT 100 POINTS SEC 12980 FOR J 1 509 UP DELAY FRIOR 12985 NEXT J 12990 BEEP 12995 1 0 INITIALIZE END OF DATA TIMEOUT LOOP gt I I 1 INCREMENT COUNTER IF I gt i1000 GOTO 12110 CHECK FOR TIMEOUT IF 1 THEN 15000 INFUT CONTINUE TIMING AS INFUT LOC 1 81 INPUT DATA FRINT 5 SAVE DATA 4 817 034 13050 CLS 45 46 15060 LOCATE 10 15 PRINT ENTER SIGNATURE l 12070 LOCATE 12 7 FRINT REMOVE FROM WRITING FAD 13080 LOCATE 14 14 FRINT WAIT FOR MENU 12090 1 0 RESET TIMEOUT LOOF 15100 GOTO 15020 60 BACK TO GET MORE DATA 12110 FRINT 1 0 DESELECT DIGITIZER 12120 CLOSE 3 15150 RETURN 7 15140 SE OAE T A BEHAE AEW E AE AE HEIE HE HE AE 152150 REM SUBROUTINE TD SAVE SIGNATURE FILE TO DISK 15160 WRKDRY SIGDATA FRO AS SIGFILE 13170 RETURN 13180 OFEN WREDRV SIGDATA FRO FOR INFUT AS 3 PROCESSED DATA FILE 5 13190 SIGFILE FOR OUTFUT AS 2 SIGNATURE FILE 5 2 15200 FILLEN LOF 5 LENGTH OF FILE 12210 IF FILLEN lt 255 Goto 13260 CHECK FOR FULL BLOCK REMAINING 15220 AF INPUTS 2S4 3 INPUT FULL BLOCK 13230 PRINT 2 FRINT As SAVE BLOCK AND DISFLAY 12240 FILLEN FILLEN
24. LOCATE WHERE SIGNATURE IS TO BE PLACED FEED PAPER AND PRINT COMPLETED 5 44 YES TIMED HALT CHECK IF TO BE HALTED REUSE SAME SIGNATURE FIG 6 U S Patent Mar 28 1989 Sheet 6 of 1 4 817 034 MULTI SIGNATURE REPLICATION SUBROUTINE FOR FIG 5 TO FIG 4 TOUCHED FIG 4 PRE FEED PAPER NOT READY ROUTINE FEED PAPER AND PRINT SELECTED NUMBER PRINTED 84 NO OR TOUCHED TOUCHED SAME SIGNATURE 7 US Patent Mar 28 1989 Sheet 7 of 10 4 817 034 SIGNATURE RECORDING ROUTINE FM FIG 4 202 TO FIG 4 B INITIALIZE GIVE START SIGNAL AND RECORD DATA RECORDING COMPLETED RESET ACCEPT TOUCHED DATA TOUCHED YES PROCESS DATA AND TEST DATA FM FIG REDO gt NO SIGNATURE os 5 RESET TO FIG 4 SAMPLE PLOT DESIRED 248 TO FIG 10 U S Patent Mar 28 1989 Sheet 8 of 10 CAPTURE SUBROUTINE INITIALIZE GIVE START TONE AND RECEIVE DATA NO BUT PROXIMATE 212 COORD PROXIMATE FIG 217 4 817 034 REFINE SUBROUTINE COMPACT 224 DATA CALL SMOOTHING SUBROUTINE 228 FIG GO 230 RETURN U S Patent Mar 28 1989 Sheet 9 of 10 4 817 034 RECORDING ROUTINE CONTIN
25. QUT amp H201 0 OUT amp H205 0 GOSUE 5000 PAPER INP amp H201 IF PAPER SENSOR THEN GOSUE 8400 RETURN 4 817 034 33 34 6256 INFUT ENTER PAPER FEED STATUS IF NOT ALIGNED 1 IF ALIGNED R IF FAFER 1 THEN GOSUB 8400 RETURN 6250 FULSE FULSE L IF FULSE gt PREMAX THEN GOSUB 8400 READY FALSE RETURN 62565 OUT amp H205 0 OUT amp H207 0 6270 GOSUB 5000 6275 PAPERSINP amp H201 IF FAFER SENSOR THEN GOSUE 9400 RETURN 276 REM FEED STATUS IF NOT ALIGNED 1 IF ALIGNED FAFE IF FAPER 1 THEN GOSUB 8400 RETURN 280 FULSE PULSE 1 IF PULSE gt PREMAX THEN GOSUB 8400 READY FALSE RETURN 6285 OUT 205 0 OUT amp H201 0 6290 GOSUB 5000 6295 PAFER INP amp H201 IF FAFER SENSOR THEN GOSUB 8400 RETURN 6296 REM FEED STATUS IF ALIGNED 1 IF ALIGNED PAFE R IF FAFER 1 THEN GOSUB 8400 RETURN F 8200 FULSE FULSE 1 IF FULSE gt FREMAX THEN GOSUS 8400 READY FALSE RETURN 6505 OUT amp H207 0 OUT amp H205 0 6210 GOSUB 5000 h 6515 IF PAFER SEMSOR THEN GOSUB 8400 RETURN 3514 REM INFUT ENTER PAPER FEED STATUS IF NOT ALIGNED 1 IF ALIGNED IF 1 THEN GOSUB 8400 RETURN 6520 FULSE FULSE 1 IF PULSE gt FREMAX THEN GOSUB 400 READY FALSE RETURN 6325 GOTO 6245 6400 HRH FE HF IE
26. THEN 15010 AF INPUTS 15 820 27 422 S S ease 5984 9 4 C MID A 1 1 IF AND C O THEN 14680 P AND C 1 THEN 14770 IF F R D AND C 1 THEN 14840 IF D AND C 0 THEN 14940 PRINT FEN UF DOWN ERROR AND Y Y WITH C AND GOOD FALSE GOTO 15040 D XE STRE VAL X 2500 Y STR VAL CYS 2220 GOSUE 16144 GOSUE 17370 N A PRINT 2 1 GOTO 14680 XFeSTRE VAL XE 2500 VAL 2250 GOSUB 17270 IF 2 AND THEN 2 24 GOTO 14680 GOSUE 15080 GOSUB 15270 YR U FRINT 2 2 1 2 2 2 GOTO 14680 F U 42 GOSUB 15270 NF XRF YRF FRINT B2 N 5 GOTO 146580 LOCATE 10 12 ALL DATA FROCESSED XMINF STRECXMIN XMAXF STR XHAX YMIN STRECYMIN s YMAX STRE CLOSE 2 5 RETURN SUBROUTINE TO CORRECT FOR EXCESSIVE DEVIATION X1 VAL X1 YI VAL 715 X2 VAL X2 Y2 VAL YEB YEVAL YF DELX X X1 DELY Y Y1 IF DELX 0 THEN XD X1 YO0 S Y1 Y GOTO 15220 IF DELY 0 THEN 0 1 0 5
27. computer keeps track of the number of signatures that have been printed If the number of signatures which has been completed is not equal to the number indicated by the operator in decision box 122 FIG 5 the program branches back to the top of process box 134 As the program controls plotter 48 to write the signatures on a plurality of sheets the operator is kept apprised of the progress by the message Printing of touch reset to terminal being displayed on video monitor 46 Thus the program indicates not only the number of pages to be printed but also the current page which is being printed As in the subroutine for the single signature replication the operator can terminate the job at any time simply by touching reset command box 42 with cursor 22 The program poles digitizer pad 20 upon completion of each signed sheet If it detects that the reset command box has been touched the pro gram branches to decision box 154 where the following message is indicated job temrinated at number of touch yes to resume current signature touch reset to start another job Thus if the operator touches yes command box 38 the program branches back to the top of process box 134 If either the no or reset command boxes 40 or 42 are touched the program branches to decision box 156 where the program asks the operator to indicate whether the current signature should be reused or whether another job is to be started If the opera
28. date and time of use to provide desirable accounting information to the opera tor The purpose of the log routine 300 is to provide the information that has been kept to the operator As with decision boxes 100 and 200 the operator can select reset yes If the operator selects yes the program branches through offpage connector 302 to decision box 304 FIG 11 In decision box 304 the program instructs the opera tor to supply the identification of the signature file that is desired As with other selection procedures decision box 304 requires the operator to supply the name of the signature identification by touching the appropriate one or ones of the alphanumeric square 34 and 36 The selected square is displayed on video monitor 46 FIG 1 If the operator makes a mistake or desires a different identification number he or she touches the no com mand box 40 and the program branches back to the top of decision box 304 The operator also has the option of returning to the main menu routine depicted in FIG 4 by touching reset command box 42 whereupon the program branches through off page connector 84 back to the top of decision box 100 in FIG 4 As soon as the operator has selected the identification of the signature file and has touched the enter command box 44 the program branches to decision box 304 In decision box 304 the system checks to see that the signature is on file If the signature is
29. members of Congress send out large numbers of letters to their constituents and if they had to sign each letter they would spend a large part of their time doing nothing but signing the letters Other uses would be in the advertising field by example charitable organizations soliciting contri butions or companies advertising their products through the mails With the modern age of computers and multiple printers a large number of individually typewritten letters can be mass produced Such letters would largely loose their effectiveness unless they were signed with an authentic signature In addition occa sionally there is the desire to handwrite a postscript to the letter below the signature Obviously the time re quirements for such activity could be prohibitive to the sender This problem has been solved to some extent by prior art machines which are basically analog devices that trace a previously written signature While these analog machines have generally proven to be satisfac tory they do have a number of drawbacks and disad vantages For example they tend to be extremely heavy and thus not readily portable Secondly the machine is fairly limited to a simple signature and thus could not be used also to handwrite a message in the form of a note or postscript to a typed letter Further more these machines are fairly singular in their use thereby requiring a relatively large capital expenditure
30. operator is also given the choice to touch reset whereupon the program branches through off page connector 84 to the main menu de picted in FIG 4 As soon as the operator touches digi tizer pad 20 with cursor 22 the program calculates where the signature is to be placed and then enters decision box 130 where a determination is made whether the entire signature will be within the bound 9 ary capabilities of plotter 48 FIG 1 If the program calculates that the signature will not be within proper bounds then the program branches to decision box 132 where the operator is asked whether the signature should be used anyways If the operator touches the reset command box 42 the program branches back to the main menu through off page connctor 84 Alterna tively if the operator selects no command box 40 then the program branches back to the top of process box 128 where the procedure is repeated If the pro gram determines in decision box 130 that the signature is within the boundary limits or if the operator indicates to use the signature anyway the program proceeds to process box 134 where paper feeder 50 is commanded to feed a sheet of paper to plotter 48 The program then proceeds to decision box 136 where the program deter mines whether there is a print ready command from the plotter 48 Typically plotter 48 provides such a com mand by using a hardwired handshanking signal con nected to microcomputer 12 as an i
31. seen from Appendix 2 the smoothing subroutine also supplies printer commands The program first applies the com mand A to indicate that the following two data points are absolute values The program supplies the absolute A 2 005187 005196 09504 09 2 OOST 5 18 value for the first set of coordinates received after a pen down signal has been received Following the absolute value the program supplies the commands R and D to instruct plotter 48 that the subsequent points are relative movement positions from the preceding point and to place the plotter pen into contact with the paper respectively When a pen up signal is received after a pen down signal the program supplies the commands U and A after the relative data point to instruct the plotter to raise the plotter pen from the paper and to move to the absolute position given by the next coordi nate All of the plotter commands in Appendix 2 are circled It is noted that the set of points for the signature having the identification of DLH100 and the identifi cation DLHS represent the actual coordinates which were used to plot signatures in FIGS 3C where there was no smoothing and FIG 3B where there was maxi mum smoothing Appendix 3 contains a computer pro gram listing The present invention has now been described with respect to a presently preferred embodiment thereof Obviously other features
32. the security code Assuming the security code is correct the program continues to process box 120 where the programs asks the number of signatures which the oper ator wishes to have written Again the operator is given the opportunity to change his or her mind by selecting the no command box 40 in which case the program branches back to the top of process box 120 Alternatively the operator can touch the reset com mand box 42 whereupon the program branches back to FIG 4 through off page connector 84 As described above the program will decode the selected number depending upon which numerical square 36 cursor 22 touches If the wrong square is touched e g alphabet square 34 the program indicates an error and again asks for the number of signatures to be written The selected numbers are displayed on video monitor 46 and the program continues as soon as the enter command box 44 is touched The program then determines in decision box 122 whether one or greater than one signatures have been selected and the program branches respectively through off page con nector 124 and 126 to the appropriate routine depicted in FIG 6 or FIG 7 If the operator selects just one signature to be repli cated then the program continues through off page connector 124 to FIG 6 where the software in process box 128 asks the operator to place the cursor 22 on digitizer pad 20 at the location where the signature is to be replicated The
33. video monitor 46 to indicate by touching reset command box 44 if the operation is to be terminated or the yes command box 38 if the single signature mode is to be rerun If the operator touches the yes com mand box 38 the program branches through on page connector 144 back to process box 128 On the other hand if the operator touches reset command box 42 the program branches to decision box 148 where the operator is asked whether the same signature is to be reused If the operator touches reset command box 42 the program branches through off page connector 84 back to the main menu routine of FIG 4 On the other hand if the operator touches the yes command box 38 then the program branches back through off page connector 150 to the use routine depicted in FIG 5 at the top of process box 120 where the operator is again asked to enter the number of signatures to be written If in decision box 122 FIG 5 the program deter mines that the operator has requested more than signature then the program branches through off page 4 817 034 25 30 45 55 60 65 10 connector 126 to FIG 7 The program proceeds through the same initial steps beginning with process box 128 and continuing through process box 140 as described above with respect to FIG 6 for a single signature replication However from process box 140 as shown in FIG 7 the program proceeds to decision box 152 where the
34. 000 GOSUB 5000 9855 GOTO 9840 9890 LOCATE 19 11 FRINT WRONG SECURITY CODE 9895 DELAYLEN 1000 GOSUE 9900 GOSUB 15950 9905 GOSUB 15510 9910 ERANCH 2 RETURN RETURN on 10100 10110 10120 10120 10140 10200 10210 10220 10220 10240 10550 10500 10310 10520 10550 10540 10250 10360 10570 107280 10590 10295 10400 10410 10420 10450 10440 10450 10440 10500 10510 10520 10520 10540 10990 10560 10600 10610 10620 106720 10640 10550 10550 10700 10710 10720 10750 10740 10750 10800 10010 10820 109212 10840 10850 10870 10900 10910 10920 102920 10940 10950 109650 11400 11410 11520 1152 4 817 034 39 40 REM SUBROUTINE TO INITIALIZE CALCOMP DIGITIZER OFEN COHM1 96D00 E 7 2 CS DS CD AS 1 COM CALCOMP FOR DIGITIZER AS FILE 1 FRINT 1 Q INITIALIZE DIGITIZER FOR POINT MODE RETURN TEE AHI REM SUBROUTINE INITIALIZE GTCO DIGITIZER COM1 9600 N 9 2 CS DS CD AS 1 OF EN COM FORT GTCO FOR DIGITIZER AS FILE 1 COMMAND E RS GOSUE 19000 RETURN HF FE E E E E E E HEJE HE E E E E HE E
35. 02929 002978 002967 002999 02992 102972 102973 192903 102792 102755 102900 102895 102889 105089 105074 102963 103118 103312 1035176 105069 102049 105154 193296 102276 105175 105164 105292 105465 102561 105589 105597 105501 105475 105481 105424 105528 105472 193602 102585 105589 105614 102715 105705 08942 29990 03964 58994 09034 gt Dice 09056 DZY B683 08845 08821 08660 06945 09151 089352 05940 09075 29916 99692 08710 08955 68801 286546 9855 08685 09001 06690 CORI 09886 08577 08788 08591 08795 28626 08785 08631 08774 08681 28650 0866 08744 06734 0002719 0029941 bb 02238 OOTO 102972 162667 122772 102744 107906 102985 102910 1092114 1072054 102972 193196 O4 1125151 105070 192051 105156 103303 105261 103160 105167 195528 102470 102224 102440 105498 102478 102471 105426 103520 193486 105607 105581 192590 102637 105710 103706 29898 09011 09956 lt UI PITT 99650 VELIA 08859 08785 068655 09015 129145 29872 08985 99074 08720 28757 00876 29708 28875 08741 2875297 78722 ODS 09529 08936 08784 08715 09729 29700 08777 08655 08777 28654 08782 09647 06693 98755 08749 4 817 034 19 105716 08769 105715 08778 103700 087790046 20 2 105628 0867265 105655 08612 105642 08614 1056
36. 1 GOTO 15220 SLDFE DELYZ DELX ve NORMAL DELX DELY XO Y2 Y1 SLOFE X1 X2 NORMAL SLOFE NORMAL gt YO SLOFE XO Y1 SLOFE X1 DEVa X2 XO 2 2 0 2 IF DEV2 lt ALLOW2 THEN RETURN X2 GINT S X1 X 2Z2 CINT S Y1 Y X2 STRE XS Y2E STRECY2 RETURN EEE E fe ERE REE HEH RH i REM SUBROUTINE TO MAKE DATA RELATIVE AND REMOVE EXCESS SPACES XR VAL X24 VAL X14 YR VAL Y2 VAL Y13 IF gt 0 GOTO 15220 XRE STRECXR GOTO 15220 XRE MID E CXR 2 LEN STRE XR IF gt 0 GOTO 15550 YRE STRZE YR GOTO 15560 YRE MID STR YR 2 LEN STRE CYR 1 RETURN 4 817 034 51 52 18370 EE HLH ERE 15580 REM SUBROUTINE UPDATE OF SIGNATURES 15590 OFEN SIGUSER AS 2 LEN 40 153400 FIELD 2 8 AS FWE 4 AS 0 10 AS CRDT 18 AS CRIMS 15410 FIELD 2 10 AS OPDT 8 AS 10 AS 8 AS CLTM 4 AS NSF 15420 GET 2 1 15450 NU VAL NUF 15440 GET 2 NU 2 15450 NS VAL NS 1 15460 LSET NS RIGHT 5 5 LEN STRE NS 1 15470 FUT 2 NU 2 15480 CLOSE 2 15490 RETURN z 15500 15510 REM SUBROUTINE RECORD USER FILE CLOSE TIME 5520 OFEN SIGUSERS AS 2 LEN 40 15550 FIELD 2 8 AS FWE 4 AS NUS 10 AS 18 AS CRIME 15540 FIELD 2 10 AS OPDT 8 AS 10 AS 8 AS CLTM 4 AS N
37. 10 REM AF INFUTS 12 2 13620 REM X MIDE 14 1 Y MID 6 4 11 1 15920 0 AND GOTO 12600 15640 IF C 1 AND Fe U GOTO 12690 152550 IF C 1 AND P R D GOTO 127450 15660 IF AND RAR D GOTO 12860 15670 PRINT UF DOWN ERROR AT AND 3Y WITH CH 3CBr AND F F 12675 GOOD FALSE 12680 GOTO 13950 15690 12700 REM XF STRE S VAL 2500 YF STRE S VAL YE 2250 12705 GOSUE 146140 15710 GOSUB 17270 4 817 034 47 48 12720 XF VYF U 12720 PRINT 2 Nf 12740 1 13750 GOTO 15600 12760 XS STR S VAL 2500 Ys 2STRF S VAL YE 2250 12770 GOSUB 17370 15780 IF 2 AND 2 THEN 2 Y2 Yf GOTO 12600 12790 50508 15080 15800 GOSUB 15270 12810 257 15820 2 I 12820 X13 X2F 2 13940 25 VIFF 12850 GOTO 12600 17860 12872 GOSUB 15276 15890 NFSXRE YRE U 12890 PRINT 2 12900 YEE 15910 GDTO 15500 13920 10 12 ALL FROCESSED 15950 XMINF STRECXMIN XMAXS STRE XMAX 12940 YMINE STRECYMIN YMAX STR 15950 CLOSE 85 5 13970 RETURN 12980 EK SET FE IE R FE H E E E F
38. 254 12250 GOTO 12210 60 TO GET MORE DATA 17250 AF INFUTF FILLEN 3 INPUT FINAL BLOCK 15270 FRINT 2 SAVE FINAL BLOCK AND DISFLAY 12280 PRINT ALL DATA STORED j w 15290 CLDSE C ook a GOSUE 9400 GOSUE 9600 ERASE FROCESSED DATA FILE RETURN REM os 0 SUBROUTINE TO CREATE USER FILE 15540 OFEN SIGUSER AS 2 LEN 40 15550 FIELD 2 8 AS Fw 4 AS NU 10 AS 18 AS CRIMS 13360 FIELD 2 10 AS 10 AS XMX 10 AS 10 AS 15270 LSET FWE FASSWORDS Pu 152380 LSET NUS R IGHT STRE LEN STR 0 1 13390 LSET 15400 LSET 13410 FUT 2 12420 XMNF XMINF 15450 LSET 15440 LSET 13450 LSET YMX YMAKS 13460 LSET XMNS XMINE 13470 LSET XMX XMAX E 13490 LSET YMN YMINE 15490 LSET 12500 FUT 12 2 12510 CLOSE 2 15520 RETURN 15550 REM SE E D W BESE E AE EH LLL LT CELT TTT TT eT eee EE EEE 12540 REM SUBROUTINE TO FROCESS SIGNATURE DATA FOR CALCOMP 13543 CLs 12546 LOCATE 10 14 PRINT FROCESSING DATA 12550 WREDRVE SIGDATA RAW FOR INFUT AS 3 13560 OFEN WREDRVE SIGDATA FRO FOR OUTFUT AS 2 15555 GOQD TRUE 2570 Fes Yoga 12590 XMINZO YMAX 0 15600 IF EOF 2 THEN 15920 15605 ON DIGITIZER GOSUB 10400 10500 136
39. 2650 2660 2255 2670 2700 2710 2720 2750 2740 2750 2755 2757 2780 2765 2770 2772 2775 2780 2800 2810 2820 2850 2840 2850 2855 2850 2865 2870 2872 2875 200 210 5220 250 5240 5245 5250 265 5270 4 817 034 25 26 IF CHOICEF YES THEN 1200 GOSUB 15510 GOTO 400 REM REM SCREEN 11 REH E HF HF JF HF E HF E HE E HF E HF E HF JF jE HF E HF E HE HF E E JF CLS LOCATE 15 2 PRINT YOU WISH TO RECORD A NEW SIGNATURE LOCATE 17 15 PRINT YES NO ss GDSUB 5200 IF CHOICES YES THEN 2400 IF CHOICES NO THEN 4400 r THEN 400 REM E E E E E EEC E E E E E E E E E i E E JE E E E E E HF FF JF E JE EF HF E E FF E E E E E HE HE SCREEN 12 EBE AE CLS LOCATE 15 8 PRINT WAIT FOR BEEP AND 8 LOCATE 17 4 FRINT WRITE SIGNATURE WITH RECORDING PEN LOCATE 19 6 PRINT THEN REMOVE PEN FROM VICINITY LOCATE 21 14 PRINT WRITING PAD GOSUB 6000 REM SCREEN 12 CLS LOCATE 15 14 PRINT DATA ACCEPTED LOCATE 17 9 PRINT TOUCH YES CONTINUE LOCATE 19 5 FRINT TOUCH NO RE ENTER SIGNATURE LOCATE 21 19 GOSUB 5200 IF CHOICET YES THEN 2775 IF CHOICES NO THEN GOSUB 9400 GOTO 2600
40. 2S IFDELAY 35 5 DATDRVS A 3 WREDRV A 40 DIGITIZER 2 1 2 GTCD Z KEYEOARD 45 FLOTTER 2 1 SCREEN 2 595 47 FEEDER 2 L NOT PRESENT 2 60 CLS 70 DIGITIZER GOSUB 10100 10200 1 CALCOMF 2 GTCO BO GOSUB 8400 CALL SUBROUTINE TO RESET FEEDER RELAYS 4 817 034 21 2 2 22 90 KEY OFF FOR 1 1 10 KEY I NEXT I WIDTH 40 200 210 240 245 250 270 280 400 410 450 252 45 REM geese REM SYSTEM INTRODUCTION LOCATE 6 12 FRINT SIGNATURE SYSTEMS LOCATE 8 20 PRINT BY LOCATE 10 11 PRINT 5 SYSTEMS LOCATE 14 14 FRINT COPYRIGHT 1985 LOCATE 16 11 PRINT U S FATENT FENDING DELAYLEN 2S500 DIGITIZER GOSUB Sooo I E E HE E E E HF A E E MENU INTRODUCTION 5 CURRT IME LEFTS TIMES IF VAL CURRTIMES 417 THEN MESS24 MORNING ELSE IF VAL CURRTIME lt 18 THEN ME E5255 AFTERNOON ELSE MESS2 EVENING 45 460 470 473 475 480 485 490 495 610 620 640 550 660 655 970 675 680 85 Soc 815 830 840 850 860 B70 MES GOOD MESS2 LOCATE 10 42 LEN MESS 2 FRINT MESS LOCATE 15 11 PRINT DO YOU WANT TO USE LOCATE 17 4 PRINT PREVIOUSLY RECORDED SIGNATUR
41. 3F 12 7 4 3 4 YD MID AT 9 4 CH MID AF 1 1 gt Xt STF 8SOO VAL VAL XD 2250 RETURN REM IE E HF E E E HF EEE EERE RARER ERNE EE HH REM SUBROUTINE TO INITIALIZE CALCOMP FOR SIGNATURE ENTRY IRIE IE IE FE HE PRINT 1 I BEEFWAIT 1000 DATWAIT 1000 RETURN REM FOO E E RAE HE E E E E REM SUBROUTINE TO DESELECT CALCOMF FROM SIGNATURE ENTRY E HE EH EE ERE ERE E FRINT 1 ENDWAIT 1000 RETURN SUBROUTINE TO INITIALIZE GTCO FOR SIGNATURE ENTRY CGOHHAND CN U CHR 12 UR2 GOSUE 19000 7000 DATWAIT 10000 RETURN E AE FE IE JIE F SUBROUTINE TO DESELECT GTCO FROM SIGNATURE ENTRY REM E Hb Hi E HF E HE HF E E HF E
42. 5200 IF CHOICE YES THEN 48466 IF CHOICE NO THEN 400 IF CHOICE RESET THEN 400 GOSUB 9700 ON BRANCH GOTO 4870 400 4842 GOTO 4842 GOSUB 9800 GDSUB 9800 ON BRANCH GOTO 48764 400 GOTO 4842 CLS LOCATE 15 2 FRINT DO YOU REALLY WANT ERASE 516104 7 LOCATE 17 15 FRINT YES NQ s 4852 4884 4686 4988 4890 4892 4698 4990 5000 5010 5020 5040 S260 S200 5210 5220 5220 S240 SAS S260 S270 5290 5290 5400 5410 5420 54 0 5440 5450 5460 5470 5480 5490 5610 5620 5550 5640 565 5550 58900 5810 5820 5829 5840 5845 S850 58655 5870 5980 5000 SOLD 6020 6050 6200 6210 6220 6222 5225 6224 ADY 6225 6226 6227 6250 6255 6240 6245 6250 6255 4 817 034 31 32 GOSUE 5200 IF CHOICES YES THEN 4890 IF THEN 4010 IF CHOICES RESET THEN 400 GOSUR 15510 KILL SIGFILES GOTO 400 STOP AE E E HE E 6 HE E HE E E E E E E E HE E E E HE E E E E FF E E E E EE SUBROUTINE TO DELAY FOR VARIABLE AMOUNT OF TIME HF KH FF E E E FF E E E JE HF E E E HE FE E HEE TEE TEE TE FOR 1 1 DELAYLEN NEXT I RETURN HH E JE J E E E E E E E E HE E EF E HF
43. 595 09055 08570 08785 08712 08768 06682 08724 08499 08679 08765 5 08646 08750 08728 002981 062927 002985 002977 102972 102971 102844 102750 102856 122911 102869 102051 105115 102989 103052 105081 105051 105097 105274 105504 195210 105167 102213 193431 102395 105549 105546 105297 105494 105472 103493 105406 105520 105470 102559 105615 102585 105595 103710 105701 102976 09047 08912 0899 08961 09952 09056 909055 08798 089651 08763 089864 08687 08776 09158 09020 09814 OFOA 08990 08622 09898 08748 7 9 876 06608 8875 8661 08900 06856 08525 09052 086555 08795 98691 08795 49 08769 08657 08711 08742 08549 08247 08762 08755 002950 002950 002977 002986 002997 102971 102975 192970 102806 102750 102870 102907 102872 105059 105090 102964 105067 105514 105221 105074 105051 105105 105289 105288 103188 105165 105245 105448 103370 103375 105500 105557 105501 105474 103490 105408 105550 105465 105585 105600 7105587 105599 105715 105700 08992 08754 08981 08978 090521 09057 09057 DLNS 08724 08555 08812 09849 08676 038655 99147 08977 08815 09064 08912 98648 08994 722 99922 08847 0805 08874 98456 08962 98759 08722 68655 08796 08689 08796 08651 082862 08657 08749 08709 08548 08648 087646 08721 0
44. 84 For the pur pose of describing the presently preferred embodiment of the present invention the Houston Instruments plot ter will be described This plotter is a small rugged plotter designed for use with personal computers such as the IBM PC computer The plotter uses the Houston Instrument Digital Microprocessor Plotting Language DM PL for operation with the microcomputer Such plotter is a tabletop unit with all electronic circuitry provided The plots can be produced on standard sized paper 83 by 11 inches by moving the plotting paper vertically in and out and moving the drawing pen trans versely back and forth to produce the desired plot The plotter receives its operating instructions from the mi crocomputer using standard RS 232C signals The Model 595 plotter also has a provision for using and selecting one of four different pens This is done by mounting the four pens on a rotatable housing that can be controlled by the host computer The plotter has a buffer of 256 bites and utilizes 7 data bits with a select able one parity bit and two stop bits The model 595 plotter used to replicate signatures in FIGS 3B and C was configured with a 9600 baud rate for data with no parity and bit number 8 to set to a 1 In performance it has a maximum speed of 3 inches per second in the axial direction and 4 2 inches per second in the diagonal direction and has an addressable resolution of 0 001 inches 0 005 inches 0 1 mm or 0 025 m
45. 85 08647 10572 53054 08999 1 57 09017 1058951 09016 Joos Fa 208650 2955 75719 QU 2105748 98689 102782 08734 105809 08762 102811 08765 105806 08757 105798 08731 1057687 08695 105782 08666 105785 08655 105786 086555 105790 08654 105795 08656 103801 08664 105854 08695 105647 08715 105850 08716 102849 08715 103845 08705 105645 08686 103844 08667 103548 08554 103856 08666 105884 98676 105922 08696 03973 08718 104016 08722 104027 08755 108023 4 8 7 5 51005988 16005972 005941 08934 005919 08925 002709 08916 09906 103907 057103 08905 105920 989354 APPENDIX DLHIOO gt 537 72 QO 2 1 2 1 9 2 0 2 0 1 0 1 1 1 0 1 1 9 1 0 1 2 1 0 1 4 2 49 26 81 49 95 45 74 36 41 16 33 20 14 11 3 5 2 6 4 0 4 3 15 1 1 219 17 58 24 52 51 49 24 33 30 14 6 6 4 2 2 5 1 15 4 28 12 28 12 42 1 14 34 1 20 1 11 3 18 17 5 21 9 20 44 44 68 57 87 28 82 20 70 25 61 12 40 4 22 9 9 25 4 16 6 20 22 25 42 19 51 25 55 25 45 1 40 10 54 12 27 26 17 21 1 35 25 51 43 78 52 55 58 32 47 20 24 11 11 2 1 6 11 19 2 1 511 52 55 78 22 96 45 88 25 67 54 34 27 1 9 22 7 44 5 65 1 58 5 52 10 31 6 6 0 6 2 22 2 45 5 45 15 58 16 25 16 15 51 2 22 19 42 20 54 3 2 22 35 15 31 7 22 7 10 7 0 1 9 7 29 16 46 12 50 15 58 22 48 11 27 18 5 22 41 15 85 15 82 2 49
46. AHS YABS YDAT GOSUR 18700 GOSUB 18740 RETURN GOTO 18620 SUBROUTINE CONVERT XS CINT XABS XCONV YS 199 CINT YARS RETURN SUBROUTIINE IF FNS U THEN PSET XS YS LINE 5 8 RETURN YCONY FLOT YAES YO GOTO 18770 4 817 034 57 187 0 SUBROUTINE FORM FEED 19790 AF INFUTE 1 3 18800 GOTO 18790 19810 RETURN 19000 REM 19010 19020 19030 PRINT 1 1 19040 GOSUE 19200 19050 FRINT 1 COMMAND 19050 GOSUE 19200 19070 PRINT 1 CHRE 27 3 19080 REM GOSUB 19200 19090 RETURN 19200 FOR 1 1 400 19210 I 7 19220 AF INFUT LOC 1 1 19240 RETURN We claim 1 method of duplicating handwriting comprising producing a set of a plurality of serial mutually adja cent coordinates of points of raw data by moving a cursor through a plurality of locations on a digitizer pad to produce handwriting said digitizer pad comprising means for detecting said locations and means for gener ating the coordinates of each location said coordinates representative of a plurality of representative points which when connected by a line would replicate said cursor movement and thus replicate said handwriting wherein said cursor can be placed out of proximity of said digitizer s pad can be placed in proximity but not touching said digitizer pad and can touch said digitizer pad said digitizer pad and cursor producing a signal when said cursor is in cont
47. CREEN 24 E HF 3F E E HE E E E E IF E HF E E AE E CM E HF amp CLS LOCATE 15 4 FRINT THIS IDENTIFICATION HAS BEEN USED LOCATE 17 14 PRINT CHOOSE ANOTHER LOCATE 19 17 GOTO 2650 REM SCREEN 25 HE HF HF HE FF OF E HE E E E FE E E E E E E E E E E E E 3F E E E E E CLS LOCATE 15 4 PRINT DO YOU WISH TO ERASE SIGNATURE LOCATE 17 15 PRINT YES NO GOSUB 5200 2 IF CHOICE F YES THEN 4842 IF CHOICET NO THEN 400 IF CHOICE RESET THEN 400 GOTO 400 HE REM ERASE SIGNATURE 3 E f ee CLS LOCATE 6 1 PRINT SIGNATURES ON FILE ARE PRINT FILES DATDRV DAT LOCATE 15 4 PRINT DO YOU WANT TO ERASE ONE OF THESE LOCATE 17 15 YES NO GOSUB
48. CT ION TEXT SFPACES B LEN TEXT RETURN EE E E SUBROUTINE TO CHECK THAT DAT AND USR FILES EXIST E EH E E E J E HE E E EXIST TRUE SIGFILE AS 2 IF LOF 2 0 THEN EXIST FALSE CLOSE 2 KILL SIGFILEF CLOSE 2 SIGUSER AS 2 IF LOF 2 0 THEN EXIST FALSE CLOSE 2 KILL SIGUSERS CLOSE 2 RETURN E HEE E E E Hi E EH E E E E HE HF iE E E REM SUBROUTINE TO INFUT SIGNATURE DATA HE HE E E E E E E E GDSUB 15980 RETURN EE SUBROUTINE TO CHECK FOR PAFER AND FREADVANCE FE EE CLS LOCATE 10 18 PRINT FREFEEDING eg it THEN INPUT ENTER STATUS PREFEED 1 READY NOT READY RETURN READY TRUE FPULSE 0 DELAYLEN IFDELAY 50 SENSOR 239 201 IF PAFER SENSOR THEN GOSUB 9000 IF READY FALSE THEN RETURN GOSUB GOSUB 50090 RESET RELAYS AND DELAY OUT amp H201 03 OUT amp H205 0 GOSUF 5000
49. E LOCATE 19 15 PRINT YES NO GOSUB S200 IF CHOICE YES THEN 600 CHOICES NO THEN 2400 IF 1 5 THEN 400 E HF E HE E E HF HE E HE E HE E 3 HE E IE AE JE JE FE E HE REM SCREEN CLS LOCATE 6 1 PRINT SIGNATURES ON FILE ARE PRINT FILES DATDRVE i LOCATE 15 5 FRINT DO YOU WANT TD USE ONE OF THESE LOCATE 17 15 PRINT YES NO 3 GOSUB 5200 i IF CHOICES YES THEN 800 IF CHOICES NO THEN 2400 IF CHOICES RESET THEN 400 REM E HE E E E EEE HEF EF EE E RII E FE SE EIE EE E E E EEE E E E A DESIRED SIGNATURE IDENTIFICATIDN AND SECURITY CODE GOSUB 9700 ON BRANCH GOTO 860 400 600 GOTO GOSUB 98900 ON BRANCH GOTO 1200 400 GOTO 00 1200 REM 1210 REM SCREEN 5 1220 REM AE A AF Ee 1250 CLS i 1240 LOCATE 15 11 FRINT HOW MANY SIGNATURES 1243 LOCATE 17 10 PRINT DO YOU WISH TO WRITE 1245 LOCATE 19 20 8 1350 GOSUR 7400 JORSIZE NUMEER JOESIZE VAL 308517 1255 IF CHOICES NO THEN 1200 125 5 IF CHOICES RESET THEN 400 1270 IF JOBRSIZE lt 0 THEN 1200 1280 IF JOHSIZE L THEN GOTO 1600 1400 HF FF IE E IE FE HE
50. E YES THEN 2500 IF CHOICE NO THEN 400 IF CHOICE RESET THEN 400 GOTO 2600 CLS LOCATE 15 4 FRINT CURRENT LEVEL FOR SMOOTHING IS LEVEL LOCATE 17 6 PRINT AVAILABLE LEVELS ARE 1 2 3 4 5 LOCATE 19 15 PRINT SELECTION 3 GOSUB 7400 LEVEL VAL NUMBER IF LEVEL gt 5 THEN ALLOW LEVEL ELSE ALLOW 6 LEVEL ALLOW2 ALLOW 2 CLS GOTO 2775 REM 4 E E E E E 4 He E 444 4 4 E HF 34 E HE E HE E E E HE E E E HF HF E HF E HF E E HE FF 3E E i E HE ee EE r EF e REM SCREEN 17 CLS 4 LOCATE 15 9 FRINT WHAT IDENTIFICATION WILL LOCATE 17 11 FRINT THIS SIGNATURE HAVE LOCATE 19 17 GOSUB 5600 SIGID SELECTIDN IF CHOICES RESET OR CHOICES NO THEN 3600 GOSUB 6800 GOSUE 5800 IF EXIST TRUE THEN 4800 REM HE SCREEN 18 REH FE HE AE E E E E EE CLS LOCATE 15 11 FRINT ENTER SECURITY CODE LOCATE 17 11 PRINT FOR THIS SIGNATURE LOCATE 19 17 GOSUE 5500 PASSWORDS SELECTION gt IF CHOICES RESET OR CHOICE NO THEN 5800 3434 4 4 E E E HE E 4 E H HE E E E E E REM SCREEN 19 REH Pee HE E E HE ee ee E E E HE
51. E HF E EAE HEH FE E HF 12990 SUERDUTINE TO INFUT SIGNATURE DATA FOR GTCD 14010 OFEN WREDRVS SIGDATA RAW FOR OUTFUT AS 5 RAW DATA FILE AS 5 14015 ON DIGITIZER GOSUB 10400 108066 14020 DELAYLEN BEEPWAIT GOSUB 5000 14050 BEEP 14052 CLS 14053 LOCATE 7 17 PRINT START 14054 LOCATE 10 12 FRINT ENTER SIGNATURE 14056 LOCATE 12 7 FRINT REMOVE FEN FROM WRITING FAD 14059 LOCATE 14 14 FRINT WAIT FOR MENU 14050 T 0 INITIALIZE END OF DATA TIMEOUT LOOP 14070 I I 1 INCREMENT COUNTER 14080 IF IXDATWAIT GOTO 14180 IF 1 gt 7000 GOTO 14180 CHECK FOR TIMEOUT 14090 IF EOF 1 THEN 14070 IF NO INPUT CONTINUE TIMING 14100 AF INPUT I LOC 1 1 INFYT DATA 14110 SAVE DATA 14120 CLS 14150 LOCATE 10 12 PRINT ENTER SIGNATURE 14140 LOCATE 12 7 FRINT REMOVE FEN FROM WRITING FAD 14150 LOCATE 14 14 FRINT WAIT FOR MENU 14160 0 RESET TIMEOUT LOOF 14170 GOTO 14090 GO GET MORE DATA 14180 ON DIGITIZER GOSUB 10700 10900 14195 DELAYLEN ENDWAIT GOSUE 5000 14200 CLOSE 3 14210 RETURN 14220 ME EE EE E HF 14250 REM SUBROUTINE TO FLOT 14240 OFEN COM2 946400 N 7 2 CS20000 AS 2 OF EN COM FORT AS FILE 2 14280 A U OFFSETF QO INITIALIZE PLOTTER MOVE TO START LOCA TION SET NEW ORIGIN 14290 FRINT 2 A43 14300 OFEN SIGFILE FOR INFUT AS 3 SIGNA
52. GS 9 and 10 are schematic flow charts of the signature recording program routine FIG 11 is a schematic flow chart of the program routine for displaying the log of the history of a particu lar signature file FIG 12 is a schematic flow chart of the program routine that erases a signature file DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT With reference now to the figures in which like nu merals represent like elements throughout the several views and in particular with reference to FIG 1 a computerized hardware duplication system 10 is de picted System 10 is based on a general programmable digital microcomputer 12 Microcomputer 12 can be any one of a number of commercially available mi crocomputers such as an IBM PC brand computer or a compatible thereto Microcomputer 12 is bidirection ally electrically connected to a RAM buffer 14 and a program memory 16 which can be a ROM Alterna tively program memory 16 can be a floppy disc or hard disc and then when the program is needed it can be transferred to the directly accessible RAM memory of microcomputer 12 Microcomputer 12 also includes off line memory such as disc memory 18 Disc memory 18 can be either a hard disc or a floppy disc driven by appropriate mechanical drives Input is provided to microcomputer 12 through a digitizer pad 20 and stylus or cursor 22 An operating embodiment of the present invention used a commer cially available digitizer pad manufacture
53. HE E E E RE COMMANDE RS GOSUB 19000 ENDWAIT 3000 RETURN MOOM E JF E HE E E E REM SUBROUTINE TO ENTER SIGNATURE LOCATION DIGITIZER GOSUE 12200 12400 1 CALCOMF 2 GTCO CONVERT DATA UNITS OF 001 IN AND ADJUST FOR DIFFERENCE BETWEEN Th CORNER OF THE DIGITIZER AND THE CORNER OF FLOTTER 11546 OFF 11541 10009 875 YORFF INT 1000 375 X STRF YF STRECY GOSUB 16150 4 IF XOFF VAL XMIN 33620 THEN 5 6000 FLOTEJECS 2 5420 X STR FF Z620 YF STRSF YOFF GOSUR 16150 DFFSET X Y 4 817 034 41 42 11542 IF XOFF YAL THEN X STR 9620 XOFF VAL YF STR XOFF VAL XMINE 2000 GOSUE 16150 FLOTFOSt XF XF STRF VALCXMINS gt Y STRE YOFF GOSUB 10150 OFFSETS X YF 11544 RETURN 11545 E E AE S 11548 REM SUBROUTINE TO CHECK SIGNATURE LOCATION 11550 MEf 11555 VALID TRUE 11557 IF gt 8 5 THEN OFFSET RESET RETURN 11560 IF XOFF YAL XMINS lt O THEN MES MES TOP 211570 IF XOFF VAL
54. K 7510 REM SUBROUTINE TO ACCEPT AND CHECK SIGNATURE LOCATION 7620 FRR FE EE FF E E FH 7840 GOSUB 11410 7659 GOSUB 11550 7650 RETURN 7800 E E a E 7819 REH SUBROUTINE TO FRINT INVALID SIGNATURE LOCATION MESSAGE 7820 REM EEE EERE EEK 3 3 EERE EH 7820 CLS 7840 LOCATE 15 5 FRINT THE SELECTED LOCATION WILL LOSE 7850 LOCATE 16 7 FRINT ALL OR FART THE SIGNATURE 7840 LOCATE 17 6 FRINT EXCEEDS THE BOUNDARY ON THE 7870 LOCATE 18 21 LEN ME 2 PRINT 7890 LOCATE 19 8 FRINT DO YOU WISH TO USE ANYWAY 4 817 034 35 36 7900 LOCATE 20 15 FRINT YES NO a 791 GOSUB 5200 7950 RETURN gt SOND 222555542442 HF E E EEE EEE EEE RHEE E HF E HF FF H BOLO REM SUBROUTINE LOG FLOT IN USER FILE E A AE 4 80506 GOSUB 15280 BOSO RETURN 8200 REM E
55. LINE 12760 IF 04 OR YC gt 96 OR lt 05 OR XC gt 95 THEN RETURN 7 WITHIN 050 OF L INE 12770 7 12780 IF FUNC 1 THEN CHOICE YES GOTO 12810 12790 IF FUNC 2 THEN CHOICE NO GOTO 12810 12800 IF FUNC 3 THEN CHOICE RESET GOTO 12810 12910 BEEP RETURN 12920 12850 SUBROUTINE DECODE THE ALFHAEET AREA 12840 CONVERT ENTERED POINT INTO POSITION WITHIN THE ALFHABET AREA 12850 REM FOSITIONS ARE NUMBERED 1 2 12860 REM ENTRIES FALLING NEAR THE LINES ARE ELIMINATED 12855 IF gt 4 5 THEN GOTO 12910 12970 2 2 2 FOR NEAR LINE 12930 IF XC lt 1 OR gt 9 OR lt 1 gt 9 THEN RETURN WITHIN 050 OF LINE 12890 KEYPOS ZeCINT 2 X 75 4 CINT 2 8 75 CONVERT DATA TO FOSITION 12900 GOTO 12950 12910 IF lt 9 25 OR gt 10 25 THEN RETURN 12920 XC 2 X INT 2 X 2 25 INT 2 Y 25 CHECK FOR NEAR LINE 12920 IF XC lt 1 2 9 OR lt 1 9 THEN RETURN WITHIN 050 LINE 12740 KEYFOS 24 CINT 2 CY 9 gt CONVERT DATA TO FOSITION 12950 ENTRYF CHRF 64 KEYFOS BEEF RETURN CONVERT TO ASCII 12955 HF E E E E E EER HR 12960 SUERQUTINE INFUT SIGNATURE DATA FOR CALCOMF 12965 OFEN COM1 9600 6
56. NE TD PREADVANCE IN FLOTTER B420 HE E E E E E E E E HF E HE 8550 2 9500 7 2 520000 AS 2 DFEN FORT AS FILE 2 8440 FRINT 2 U F PLOTADVS 6 8550 CLOSE 2 8660 RETURN 8800 REM E E E HF E 8810 REM SUBROUTINE TO FEED FAFER 8920 x E 3F E E E E EE 8850 CLS 8840 LOCATE 10 18 FRINT FEEDING 9845 IF FEEDER 1 THEN DELAYLEN 1000 GOSUB 5000 RETURN 8850 FWD 148 GOSUBR 8200 8900 FLOTADVS FLOTFOS GOSUB 8600 995 RETURN 9000 eS Pe ee fe ee 9010 REM SUBROUTINE TO CHECK FOR FREADVANCED AND CORRECT HE HE HE E HE E E E E HE ERE E KHER HEH 9050 READY FALSE FULSE O DELAYLEN IFDELAY REVMAX 108 SENSOR 23 97060 GOSUB 8400 GOSUE 5000 RESET RELAYS AND DELAY 9055 OUT amp H205 90 OUT amp H205 0 9070 GDSUE 5000 9075 OUT amp H20 0 OUT H201 0 9080 GDSUR 5000 i 9085 FAFER INP 201 IF FAFERC gt SENSOR THEN READY TRUE GOSUB B400 RETURN 99 REM INFUT ENTER FEED STATUS IF NOT ALIGNED 1 IF ALIGNED PAFE R IF FAFER lt gt 1 THEN READY TRUE
57. RINT PRINTING LOCATE 19 6 FRINT TOUCH RESET TO TERMINATE JOB LOCATE 21 18 GOSUE 6400 I LOCATE 17 16 PRINT COMPLETED GOSUB 8000 IF EOF 1 1 THEN 1415 GOSUB 5200 IF CHOICES RESET THEN 1545 GOTO 1475 CLS LOCATE 15 15 PRINT JOE HALTED LOCATE 17 9 FRINT TOUCH YES TO CONTINUE LOCATE 19 8 FRINT TOUCH RESET TO TERMINATE LOCATE 21 18 54 GOSUE 5200 IF CHOICES YES THEN 1415 CLS LOCATE 15 13 PRINT JOB TERMINATED GOTO 2245 ME II E E E SCREEN 7 MULTIPLE SHEET MODE HF E JF 4E E FE JE E eS HF E Ee 4F E 4F HE E HF 3F E CLS FLOTS 0 LOCATE 15 6 PRINT TOUCH WRITING PAD TO INDICATE LOCATE 17 10 PRINT BEGINNING OF SIGNATURE LOCATE 19 6 PRINT TOUCH RESET TO TERMINATE JOB LOCATE 21 18 GOSUB 7200 IF OFFSET RESET THEN GOSUB 15510 GOTO 409 VALID TRUE THEN 1750 GDSUB 7800 IF CHOICE YES THEN 1730 IF CHOICE NO THEN 1600 IF THEN GOSUB 15510 GOTO 400 GDSUB 6200 CALL SUEROUTINE TG CHECK FOR PAPER AND PREADVANCE IF READY FALSE THEN GOSUB 5400 GOTO 1750 PLOTS FLOTS 1 3 GOSUB B800 CALL SUBROUTINE TO FEED PAPER REM
58. SF 15550 GET 2 1 15560 NU VAL NU 15570 GET 2 NU 2 7 15580 LSET CLDTF DATE gt 15590 LSET CLIMF TIMES 15400 FUT 2 NU 2 15510 CLOSE 2 15620 RETURN 154620 ee ee 15540 REM SUBROUTINE TO DISFLAY USER FILE 15650 OFEN SIGUSERS AS 2 LEN 40 15660 FIELD 2 9 AS FW 4 AS NUF 10 AS 18 15670 FIELD 2 10 AS 9 AS 10 AS CLDT 8 AS CLTM 4 AS NSF 15500 GET 2 1 15690 UTDE STRS VAL NUE 1 CREATEDATE CRDT CREATETIMES LEFT CRTM 5 3 NU V AL NUF 15700 SIGID LEFT SIGUSER 8 15710 0 15720 CLS LOCATE 3 1 15720 PRINT TAR 9 SIGNATURE FILE SIGID FRINT 15740 FRINT TAB S CREATED ON CREATEDATES FRINT 15745 FRINT TAB 9 TOTAL USERS DATE FRINT 15750 PRINT 9 25 CLOSE TAB 36 USES 15760 FOR I 1 TO 10 15770 UN 10 J I 15780 GET 2 UN 2 15790 OFENDATES OFDT OFENTIMNES LEFT 5 CLOSEDATES CLDT CLOSETIMESF LE FTE CLIMN 5 USES S NSF 15800 UN gt NU 1 GOTO 15870 15810 2 3 OPENDATES 15 OPENTIMES 19 CLOSEDATE TAB 30 CLOSET IMEF TAR SS sUSESF 15820 NEXT I 15850 J J 1 t 15835 IF UN NU 1 GOTO 15870 15840 LOCATE 22 8 PRINT TOUCH YES FOR NEXT PAGE 15850 GOSUE S200 15950 GOTO 15720 15870 GET 2 NU 2 15880 LSET 6
59. SUB 5800 i gt A S SS s 9745 IF EXIST TRUE THEN 60508 7200 BRANCH 11 RETURN 9748 LOCATE 15 1 PRINT BLANKS 9751 LOCATE 16 1 PRINT BLANK 9754 LOCATE 17 1 PRINT BLANKS 9757 LOCATE 15 6 PRINT REQUESTED SIGNATURE NOT FOUND 2 9760 LOCATE 17 12 PRINT INSERT FROFER DISK 9765 LOCATE 19 10 TOUCH YES WHEN READY qtr zo B 9764 LOCATE 21 19 9769 GOSUB 5200 9772 BRANCH 3 9775 RETURN 9800 E E HE HE BE EIE HE AE JE EBEE HE IE HE EE EAE 9805 SUBROUTINE TO GET SECURITY CODE 9810 JE E DE 9915 CLS 9820 TRIES 0 9825 BRANCH 0 9820 LOCATE 15 11 FRINT ENTER SECURITY CODE 9825 LOCATE 17 10 PRINT FOR SIGNATURE SIGID 9840 LOCATE 19 17 9845 GOSUB 5600 9850 IF CHOICE ND THEN 9800 9855 IF CHOICE RESET THEN BRANCH 2 RETURN 9960 IF SELECTIONS USERID THEN RETURN 9855 TRIES TRIES 1 9870 IF TRIES 3 THEN 9890 9875 LOCATE 19 5 FRINT WRONG SECURITY CODE TRY AGAIN 9880 DELAYLEN 1
60. TO 12490 12600 He HF 3369 55 55 E HE E HE E HF E E 12610 SUBROUTINE TO DECDDE THE NUMBER AREA 12620 CONVERT ENTERED POINT INTO POSITION WITHIN THE NUMBER AREA 12620 FOSITIONS ARE NUMBERED 1 TO 10 FOSITION IS 10 CALL IT 12540 REM ENTRIES FALLING NEAR THE LINES ARE ELIMINATED 12645 IF X27 THEN GOTO 12680 12650 2 2 CHECK FOR NEAR LINE 12550 lt 1 OR gt 9 OR lt 1 OR 9 THEN RETURN WITHIN 055 OF LINE 12570 KEYFOS 3 CINT 28 5 75 2 Y 8 7S CONVERT POINT FOSITION 15579 GOTO 124690 12690 IF lt 9 5 OR gt 10 THEN RETURN 12582 2 2 YC 2 Y INMT 2 V CHECK FOR NEAR LINE 12684 IF lt 1 OR gt 9 OR lt 1 OR 9 THEN RETURN WITHIN 5 OF LINE 12585 12090 ENTRYS CHRE 49 KEYFOS BEEP RETURN CONVERT TO ASCII 12700 HH f E E E E E RE E KEKE E 12710 SUBROUTINE TO DECODE THE FUNCTION AREA 15720 REM CONVERT ENTERED FOINT INTO FOSITION WITHIN THE FUNCTION AREA 12720 REM FOSITIONS ARE NUMEERED 1 TO 5 15740 REM ENTRIES FALLING NEAR THE LINES ARE ELIMINATED 12750 YC Y 1 S INT Y 1 S XC X S INT X 5 CHECK FOR ENTRY NEAR
61. TURE FILE AS 3 z FILLEN LOF 2 1 GET LENGTH OF FILE IF FILLEN S 255 GOTO 14570 FOR FULL BLOCK REMAINING 320 AF INFUT 254 INPUT FULL BLOCK 14340 FILLEN FILLEN 254 DECREASE REMAINING LENGTH 14350 PRINT 2 SEND DATA FLOTTER 14260 GOTO 14220 50 BACK FOR MORE DATA 19270 AS INFUT FILLEN 2 INFUT FINAL BLOCK 14280 PRINT 2 SEND TD FLDTTER 14290 PRINT 2 H F PLOTEJECE RETURN FLOTTER TO LOAD FOSITION AND DESELECT 14430 CLOSE 2 14440 RETURN 14590 REM 4 T EH 14500 SUBROUTINE TO FROCESS SIGNATURE DATA FOR GTCO 14603 CLS 14606 14610 14620 14555 14650 14640 14550 14680 14690 14700 14710 14720 14750 14740 14750 14755 14760 14770 14780 14785 14790 14800 14810 14820 14830 14640 14450 14850 14870 14880 14890 14900 14910 14920 14950 14940 14950 14960 14970 14980 14990 15010 19020 19056 19040 15060 15070 15080 15120 15120 15140 15150 15160 15170 15180 15190 15200 15210 15220 15220 15240 15250 15260 15270 15280 15290 15300 15210 15220 15550 15240 15250 15560 4 817 034 49 50 LOCATE 10 14 FRINT FROCESSING DATA OFEN 5 RAW FOR INFUT AS 3 OFEN WREDRVE SIGDATA FRO FOR AS 2 GOOD TRUE XD Fo 1 Y2s XMAX O YMIN 0 YMAX 0 IF EOF 5
62. UED FM FIG 8 TO FIG 4 NTER TOUCHED ENT TOUCHED RESET 258 CODE VERIFIED SAVE SIGNATURE ID AND CODE TO DISK FM FIG 8 TO FIG 4 REPROCESS SUBROUTINE 262 SELECT SMOOTHING TO FIG 8 FIG 8 FIG ZO U S Patent Mar 28 1989 Sheet 10 of 10 4 817 034 ERASE ROUTINE TO FIG 4 PRINT SIGNATURE NOT PRESENT 412 VERIF Y ERASE YES TOUCHED 414 FIG 12 4 817 034 1 COMPUTERIZED HANDWRITING DUPLICATION SYSTEM FIELD OF THE INVENTION The present invention relates to a system for duplicat ing handwriting and in particular relates to grammed general purpose digital computer for captur ing in memory a digitized handwriting sample such as a signature and for driving a plotter to replicate that signature BACKGROUND OF THE INVENTION In today s modern society where there is a wide use of the mail system for sending substantially the same letter to a large number of different addressees there is a need for replicating an actual signature on each letter in order to enhance the credibility of the letter On the other hand it would be nearly impossible for the sender of the letter to sign literally thousands of such letters For example heads of large organizations or companies often send letters to each of their employees or mem bers respectively and like to have the personal touch of an actual signature Similarly
63. United States Patent r Hardin Sr et al 54 75 73 21 22 51 52 58 56 COMPUTERIZED HANDWRIIING DUPLICATION SYSTEM Inventors William Hardin Sr Sterling William M Mack Jr Reston both of Va Assignee 5 Systems Inc Locust Grove Va Appl No 828 400 Filed Feb 11 1986 G06F 3 13 US OL 364 900 382 2 382 13 340 728 178 18 Field of Search 382 2 13 59 178 18 178 20 340 712 728 364 200 MS File 900 MS File References Cited U S PATENT DOCUMENTS 2 518 694 8 1950 3 111 646 11 1963 3 133 266 5 1964 4 020 463 4 1977 4 070 649 1 1978 Wright Jr et al 382 13 4 071 690 1 1978 Joannou 178 18 4 262 281 4 1981 Buckle al 382 13 4 319 331 3 1982 Elbaum al 364 515 4 344 135 8 1982 Crane et al 364 419 4 364 024 12 1982 Paetsch 382 3 4 440 513 4 1984 Kataoka et al 400 165 1 4 542 412 9 1985 Fuse et al 358 260 4 550 438 10 1985 Convis et 382 56 4 641 354 2 1987 Fukunaga et al 382 13 4 653 107 3 1987 Shojima et 382 13 PAPER FEEDER PLOTTER DIGITIZER PAD MICRO COMPUTER Patent Number 4 817 034 45 Date of Patent Mar 28 1989 4 656 662 4 1987 Fi
64. XMAX gt 9250 THEN BOTTOM 11580 YOFF VALCYMINE lt O THEN MES ME LEFT 11590 IF YOFF VALCYMAX gt 7000 THEN ME ME RIGHT 11600 IF LEN ME 50 THEN VALID FALSE 11605 RETURN 11710 HC EF E HE E HE EH E E TE NSF 11720 REM SUBROUTINE TO ENTER TEXT 117509 TEXT CLEAR HOLDING VARIABLE 11740 STLIN CSRLIN STROW F OS 0 11780 GOSUB 12470 CALL SUBROUTINE TO ACCEPT KEYFAD ENTRY 11790 CHECK FOR LETTER OR NUMBER OR STOP 11800 IF ENTRY AND FUNC D OR FUNC 1 THEN 11780 11810 IF ENTRY CHRE 15 GOTO 1188 11820 IF CHOICES RESET CHOICES NO THEN 11900 11850 11855 LOCATE CSRLIN FOS O LEN TEXT 1 PRINT TEXT 11850 GOTO 11780 GO BACK TO GET ANOTHER ENTRY 11870 CHECK THAT TOTAL ENTRY IS 8 CHARACTERS 11880 IF LEN TEXT gt 8 THEN LOCATE 21 2 PRINT ENTRY IS TOO LONG FLEASE BEGIN GAIN BEEF BEEP DELAYLEN 10 0 GOSUE 5000 LOCATE STLIN 1 FRINT BLANE LOCA 21 1 FRINT BLANKS LOCATE STLIN STROW 1 GOTO 11720 11890 IF LEN TEXT 0 THEN LOCATE 21 1 FRINT ENTRY IS NOT VALID PLEASE EEGIN AGAIN BEEF DELAYLEN 1800 5000 LOCATE STLIN 1 FRINT BLANK LO 21 1 FRINT BLANKS LOCATE STLIN STROW 1 GOTO 11750 11900 RETURN 11910 REM FE AE A ESE E E E E E
65. act with said digitizer pad and wherein said cursor and digitizer pad produce said raw coordinates as data at a predetermined rate irre spective of whether said cursor is in contact with said digitizer pad and wherein said digitizer pad and cursor provide as indication data a first indication when said cursor is out of proximity of said pad provide a second indication when said cursor is in proxmity of said pad but not touching said pad and provide said signal as a third indication when said cursor is in contact with said pad serially storing at a predetermined rate said raw coor dinate data and said indication data in a memory means readable by a digital computer refining said coordinate point data by compressing said data by deleting all data having either said first indication or said second indication serially recalling said plurality of point coordinate data from said memory means and driving a writing instrument to traverse serially a path from each point coordinates to the next adja cent point coordinate and thus serially over all of said plurality of point coordinates so as to produce a line connecting together each point coordinate and thus replicating said handwriting 2 Apparatus for duplicating a handwritten word such as a signature comprising a digitizer pad a cursor having a predetermined origin a cursor capable of being moved by a user into and out of proximity to said digitizer pad and through a pluralit
66. and modifications of the pres ent invention would be apparent to those skilled in the art APPENDIX 109425 09522 Qu OU OPAL 295151 09374 605652 202911 002990 0029643 HOBOS DORIUS 102772 102973 10102976 102761 102781 102910 102049 17102950 103126 105051 102995 105251 20 105287 105117 102067 105056 105198 105510 105259 105162 105175 105568 19103457 105541 105587 105255 1903443 27105492 195485 103444 103464 192509 103504 105612 102580 105591 105665 4103708 09187 00879 09021 04952 9024 09025 08972 28656 08675 08865 8741 08664 09076 09122 08858 08955 09065 09661 98815 08727 0968 08811 08744 08791 08979 08592 09005 08707 08754 08740 08725 08731 296654 08747 9651 08777 8 08648 08726 08745 Paso 05 7902912 002999 002970 095005 202979 102972 102972 102887 102756 102895 102912 192868 102974 105122 102012 LOSOLL 195285 1095274 105090 105057 105071 105252 105511 105228 105165 105197 105599 102455 105541 103565 105259 102489 105484 102493 105415 102505 103483 102522 105617 105585 105595 102691 102705 09114 4 09016 06955 09055 08891 096555 08711 08867 08707 8708 09116 29081 0981 08992 99042 08627 08857 28786 08737 08885 08635 08692 08841 08917 08
67. ately Hence referring again to FIG 4 if the yes selection is touched by the operator as shown in decision box 100 the program branches through an off page connector 102 to FIG 5 If the no selection is touched the pro gram proceeds to a decision box 200 Finally if the reset command box 42 is touched the program branches back to the top of decision box 100 Assuming that the operator selected the option to the question of whether a previous signature is to be used the program branches to the USE routine and enters process box 104 In process box 104 the program displays all of the signatures which are presently stored on the floppy disc in the default disc drive of micro processor 12 indicated as disc memory 18 In decision box 106 the program ascertains from the operator whether the desired signature is on the file At this point the operator can select reset in which case the program branches through off page connector 84 back to the main menu routine 80 of FIG 4 If the operator positions cursor 22 on NO command box 40 the pro gram branches through off page connector 107 back to FIG 4 and into decision diamond 200 where the main menu asks whether the operator wishes to record a new signature Assuming that the operator selects the YES command box 38 with cursor 22 the program then enters process box 108 where the program causes the screen of video monitor 46 to display a request for the entry of t
68. basic program was written to print the data in the format as it appears in Appendix 1 There are six data points listed in each row in pairs of two Thus columns A and B repre sent respectively the X and Y coordinates of a single point and columns C and D represent the X and Y coordinates of the next point adjacent to the point ap pearing in columns A and B As soon as the signer position cursor 22 proximate to the top of digitizer pad 20 digitizer pad 20 commenced sending points to microcomputer 12 at the rate of two hundred points per second Because cursor 22 was not in contact with digitizer pad 20 the first group of points in the uppermost box of Appendix have the X coordi nate 1 6 the value in columns E G I and preceded by a 0 Thus digitizer pad 20 sent thirty eight points to microcomputer 12 from the time cursor 22 was proximate to digitizer pad 20 until the pen down signal was sent The first point in which the pen down signal was sent has the coordinates listed in 5 20 25 30 35 40 45 50 55 65 16 columns and in row 7 Thus the absolute position from the origin of digitizer pad 20 which is in the lower left hand corner thereof is X 2 976 inches Y 9 37 inches This point was generated at location 502 in the signature of FIG 3A It can also be seen that the X coordinate in column E is preceded by the number 1 indicating that the pen down
69. con tains only acceptable values and is of the correct length and by asking the operator to enter the security code and then comparing this later entered code with the first selected code If the code is not proper the operator is asked whether to abort or to reenter the signature iden tification and security code If the operator responds by touching the no command box 40 the program branches back to the beginning of input box 250 If the reset command box 42 is touched the program branches back to the main menu routine through off page connector 84 If the operator verifies the code and reenters the same code as previously selected the pro gram proceeds to process box 260 where the signature identification and security code are stored on disc mem ory 18 FIG 1 After saving the signature identifica tion and code the program proceeds back to the main menu routine through off page connector 84 With reference now to FIG 10 the program pro ceeds through offpage connector 248 from FIG 8 if the operator indicates that the signature is not to be saved The program enters decision box 260 and asks the oper ator whether to reprocess the signature It is noted as described hereinbelow that the operator can select the reprocessing level This can be done at this time and is described in greater detail hereinbelow If the operator indicates to reprocess the signature then the program proceeds to process box 262 where the operator is r
70. d 20 a switch is thrown therein and a pen down signal is produced by digi tizer pad 20 Thus from process box 206 the program proceeds to a decision box 208 where the program awaits the receipt of a pen up or a pen down signal 4 817 034 11 If neither signals are present the program will branch to process box 210 and will load a zero in buffer 14 After a time delay of about 0 005 second the program branches back to the top of decision box 208 As soon as digitizer pad 20 indicates that cursor 22 is proximate thereto the program determines in decision box 208 whether a pen up or a pen down signal has been received If a up signal has been received the program in process box 212 prefaces the X Y coordi nate received from digitizer pad 20 with a zero then in process box 214 stores the number in buffer memory 14 The program then proceeds to decision box 216 where the program again determines whether cursor 22 is not proximate to digitizer pad 20 As long as cursor 22 is proximate to but not touching digitizer pad 20 the pro gram continues to loop to the top of decision box 208 When the program receives a pen down signal it branches to a process box 216 where it prefaces the X Y coordinate received from digitizer pad 20 with a 1 The program then proceeds as described above by stor ing the received number in buffer memory 14 and de termining whether cursor 22 is not proximat
71. d by the GTCO Corporation of Rockville Md The signatures reproduced as FIGS 3B and 3C were produced by GTCO digitizer pad Model DIGI PAD 5 This digi tizer pad is fully described in the DIGI PAD Users Manual Serial Number 21A71D4 Revision E dated Feb 29 1984 The DIGI PAD digitizer pad 20 operates an elec tromagnetic principle based upon measuring the time for an electromagnetic signal to travel down an axis The wave front is generated by a rapidly switched cur rent signal in a matrix of conducting wires embedded in a rigid tablet The electromagnetic wave is used to produce an absolute coordinate system of information The DIGI PAD system also includes a stylus or cursor having an inductance coil which is operable at high signal switching levels The DIGI PAD digitizer pad utilizes a complex signal that is induced in the cursor coil by an electromagnetic field created by the sequen tially pulsed current applied to consecutive tablet ma trix wires This system provides a means for measuring the cursor position relative to an aribitrary reference point or orgin on the tablet which for Digi Pad 5 is located in the lower left hand corner as seen in FIG 2 as a result of the linear relationship between the distance and time the current signal arrives as sensed by the cursor coil The electronics provided with the digitizer pad which is disclosed in greater detail in the aforemen tioned user s manual utilizes a precision clock s
72. dication 10 35 45 50 55 65 60 and all data received from said digitizer pad having said second indication 6 The method as claimed in claim 3 and further in cluding determining the point coordinates of a starting loca tion for said handwriting on a piece of paper and directing said writing instrument to begin replicating said handwriting on said paper at said starting loca tion 7 The method as claimed in claim 6 wherein said writing instrument comprises a plotter having a writing implement and said method further comprising using said computer to provide said refined point coordinates to said plotter 8 The method as claimed in claim 7 and further com prising assigning a password to said stored coordinates and prior to said step of using said computer to provide said refined coordinates to said plotter requiring a user to provide said password on a computer input means to said computer and having said computer verify if said password corresponds to said assigned password 9 The method as claimed in claim 3 wherein said writing instrument comprises a plotter having a writing implement and said method further comprising using said computer to provide said refined data point coordi nates to said plotter and further including providing a piece of paper to said plotter and directing said plotter to replicate said handwriting on said paper
73. e 30 the beginning of which is marked with an X 31 By defining the location for placing the signature a more simplified computer pro gram described below and disclosed in the microfiche appendix can be used with digitizer pad 20 to accu rately locate the signature when it is being recorded and to cause it to be accurately reproduced at a different and usually lower location on paper This simplifica tion results from the use of a constant offset from X 31 to a point that is indicated in area 24 by an operator using cursor 22 as described in greater detail hereinbe low Digitizer pad 20 also has a keyboard area 32 which contains three types of indicia alphabet numbers and commands The alphabet indicia are located in the upper portion of keyboard area 22 and each letter of the alphabet is located in its own square such as alphabet square 34 for the letter A The numbers of keyboard 4 817 034 5 area 32 are located in a midportion thereof with each number being in its own numerical square such as nu merical square 36 for the number 9 Keyboard 32 is also provided with four commands three of which are located in the lower portion thereof These are the command box 38 the no command box 40 and the reset command box 42 However for ease of use a forth command box 44 for the command enter is located between alphabet squares 34 and numerical squares 36 Althought the op
74. e in subroutine box 226 for smoothing the compacted data The smoothing subroutine is described in greater detail here inbelow with respect to FIG 3 Smoothing subroutine 226 also changes the data from absolute to relative and further inserts the computer commands necessary to operate plotter 48 From subroutine box 226 the pro gram stores the refined data to disc in storage box 228 An example of refined data obtained from the raw data listed in appendix 1 is shown in appendix 2 and is ex plained in greater detail hereinbelow From storage box 228 the program proceeds to terminal 230 where the program returns to the main subroutine depicted in FIG 8 and enters decision box 232 The program in decision box 232 asks the operator whether the signature should be accepted or not If the operator touches the yes command box 38 the program proceeds to decision box 234 where the program asks the operator whether the operator desires a sample plot or not If the data is not acceptable the program branches to decision box 236 where the program asks the operator whether the signature is to be redone If the operator indicates yes then the program branches back to the top of subroutine box 204 If the operator touches no or reset command boxes 40 or 42 the pro gram branches back through off page connector 84 to the main menu routine of FIG 4 If when the program is in decision box 234 the operator indicates that no sample plot is desired the
75. e to digi tizer pad 20 in decision box 216 Thus it can be seen that in the process of a person signing his or her signature initially a number of zeros will preceed the raw data received from digitizer pad 20 Then a number of coordinates preceeded by a 0 will be stored and finally a number of coordinates preceeded by a 1 will be stored As the signature is being written the pen may be lifted from the surface of digitizer pad 20 such as to begin a new word or to dot an i At that time cursor 22 still remains proximate to digitizer pad 20 but the pen down signal is no longer received Therefore the digitizer pad still produces an X Y coordinate but the program through decision box 208 in process box 212 will preceed the coordinates with a 0 As soon as cursor 22 is again placed into contact with digitizer pad 20 the pen down signal will be received and the coordinates will be preceded by a 1 When the signer is done with the signature or other handwritten message cursor 22 is lifted away from being proximate to digitizer pad 20 and the program determines in decision box 216 that the cursor is no longer proximate to the surface of digitizer pad 20 At this point the program returns through terminal 217 to the record routine depicted in FIG 8 An example of such raw data is depicted in appendix 1 This data represents the signature written in FIG 3a When the program returns to the record routine in F
76. equested to select the smoothing level desired This procedure is also described hereinbelow As soon as the operator selects the smoothing level by touching the appropriate numerical square 36 and then touches the enter command box 44 the program branches back to the recording routine of FIG 8 through offpage connector 264 and the data is repro cessed in subroutine box 222 and the subsequent steps repeated If the operator selects not to reprocess the data the program branches to decision box 266 where the opera tor is asked whether another signature is to be recorded If the operator touches the yes command box 38 then the program branches back to the top of the recording routine beginning in FIG 8 through offpage connec tor 202 On the other hand if the operator touches the reset command box 42 when asked by the program when in decision box 260 or 266 then the program branches back to the main menu routine depicted in FIG 4 through offpage connector 84 10 20 25 30 40 45 50 55 60 65 14 Returning to the main menu routine FIG 4 if the operator when asked whether to record a new signature in decision box 200 touches the no com mand box 40 the program proceeds to decision box 300 In decision box 300 the program asks the operator whether a review of the signature log is desired The program keeps track of all uses of a particular signature the particular user and the
77. eration of keyboard area 32 is de scribed in greater detail hereinbelow for ease of under standing the present invention the use of keyboard area 32 will be described now As mentioned above when cursor 22 is placed anywhere within the active area of pad 20 and in proximity to the surface thereof the coor dinates of the location of the tip of cursor 22 is provided by the counter of the electronics of pad 20 when cursor 22 senses the travelling current pulses Thus it should be obvious to those skilled in the art that for example the letter A can be provided to the computer simply by placing cursor 22 over the area defined by A and then using software to decode the received position information of cursor 22 with the known position of the A square 34 Returning to FIG 1 computerized handwriting du plication system 10 further comprises two output de vices a video monitor 46 and an X Y plotter 48 Video monitor 46 is a standard commercially available video monitor together with a video board located in mi crocomputer 12 In the present embodiment of the in vention video monitor can simply be an alphanumeric monitor and need not be a color or graphics quality monitor Plotter 48 is a conventional commercially available X Y plotter such as Model 595 manufactured by Hous ton Instrument Inc of Austin Tex and described in their publication entitled PC Series Digital Plotter Operation Manual No MI 1050 19
78. erator touches the yes command box 38 the system branches to process box 406 where the operator is instructed to enter the identification code of the signature on file As the operator selects the appropriate alphanumeric squares 34 and 36 the selected choice is displayed on 4 817 034 15 video monitor 46 If the operator makes an error the operator can touch the no command box 40 and the program will return to the top of process box 406 When the operator touches the enter command box 44 the program branches to decision box 408 In decision box 408 the program ascertains whether the file for the requested signature identification code is present on the installed diskette If the file is not present the program branches to process box 410 whereupon the message Signature not present is printed on video monitor 46 and the program branches to the top of decision box 404 If the requested signature file is present the pro gram proceeds to process box 412 In process box 412 the program requests the operator to verify that the selected signature file is in fact to be erased by display ing an appropriate message on video monitor 46 If the operator touches the no or reset command boxes 40 or 42 the program branches back to the main menu rou tine through offpage connector 84 If the operator touches the yes command box 38 the program proceeds to process box 414 In process box 414 the program erases the identified signature fi
79. gt D GOTO 15250 15220 5 1 GOTO 16240 15220 YF MIDS STRECYI 2 LEN STRE YI 1 16240 RETURN i 17220 EE EH EERE E REE EEE ERE HHH 17230 REM SUBROUTINE TO DISPLAY FILE 17240 INFUT ENTER NAME FILE TO DISFLAY DISFFILES 17250 OFEN DIGPFILES FOR INFUT AS 5 pee ET RE2 17260 FILLEN LOF 53 1 17270 IF FILLENS2SS GOTO 172 17280 DF INFUTF 2 54 62 17290 PRINT 17500 FILLEN FILLEN 254 17210 GOTO 17270 17520 D INPUTS FILLEN 85 17520 FRINT DF 17540 CLOSE 3 4 175250 STOP i 17260 HEI HE EE FF HE HE HH HE EE HE HF e HE 17570 SUBROUTINE TO KEEP TRACK OF SIGNATURE ROUNDS 17580 X VAL YeVAL Y3 Pus N ae 17290 IF X lt XMIN THEN GOTO 17410 17400 IF X gt XMAX THEN XMAX X 17410 IF lt THEN YMIN Y GOTO 17450 17420 IF gt THEN 17420 RETURN 17500 REM 17520 175520 OFEN WREDAVS FLOTFILE DAT FOR DUTFUT AS 2 17540 FRINT 2 3 U F 9620 3 INITIALIZE FLOTTER MOVE TO START LO CATION SET NEW ORIGIN 17550 U 5 O INITIALIZE FLOTTER MOVE TO START LO CATION SET NEW ORIGIN 17560 FRINT 2 17570
80. h the computer has refined from the raw data supplied to it by the digitizer pad 9 Claims 10 Drawing Sheets U S Patent Mar 28 1989 Sheetlof10 4 817 034 PAPER FEEDER PLOTTER Mar 28 1989 Sheet 2 of 10 4 817 034 U S Patent 619963 2 8 889900 gt 3 8 20 FIG 2 U S Patent Mar 28 1989 Sheet3of10 4 817 034 MAIN MENU ROUTINE USE PREVIOUS SIGNATURE 102 TO FIG 5 IO7 RECORD A NEW SIGNATURE YES REVIEW SIGNATURE LOG FIG 4 OR ERASE A SIGNATURE FM FIG 4 TO FIG 4 YES DISPLAY LOG YES NO RESET TOUCHED FIG 11 U S Patent Mar 28 1989 Sheet 4 of 10 4 817 034 USE ROUTINE TO FIG 4 FM FIG 4 3 102 Qe DISPLAY SIGNATURES ON FILE IS DESIRED SIGNAT URE ON FILE NO 104 7 FIG 4 ENTER 10 OF DESIRED SIGNATURE RESET TOUCHED ENTER SIGNATURE TOUCHED PRESENT 2 2 YES INSERT PROPER DISK AND TOUCH SECURITY DISK TOUCHED CODE TOUCHED YES WHEN OK ENTER TOUCHED NO 1 NUMBER OF TRIES IS CODE CORRECT YES 150 FM FIG 6 7 O TOUCHED ENTER ENTER NUMBER TOUCHED OF SIGNATURES TO BE WRITTEN 122 gt 24 FIG 6 FIG 7 TOUCHED OS U S Patent Mar 28 1989 Sheet 5of10 4 817 034 SINGLE SIGNATURE REPLICATION FIG 4 FM FIG 5 SUBROUTINE
81. he groups of pen up coordinates This is one reason why the signatures should be smoothed with a smoothing program further observation is that dot 504 in FIG 3A can be seen in the raw data in Appendix A in the entire row 56 This means that it took six data points or three hundredths of a second for the signer to dot the i of the signature It should also be observed that the coordinates of the dot are substantially the same thereby confirming that these data points do in deed designate dot 504 The operation of the smoothing algorithm will be briefly explained with reference to FIGS 3D and 3E Basically the computer compares all of the points in sets of three beginning with the first point generated and then proceeding in the direction of the drawn line After performing the smoothing function on the first three points the remote end point is dropped and a new set of three points is considered by adding the next point along the line Thus as shown in FIG 3E the first set of three points are 506 508 and 510 and the second set of three points are 508 510 and 512 For each three point set the computer calculates the equation for a straight line using the two end points Next the computer calculates the perpendicular dis tance delta d that the midpoint is off the calculated line As shown in Fig 3E delta d is the distance be tween point 510 and dashed line 512 in a direction that is perpendicular to line 512 as i
82. he identification of the desired signature The signature file identification is provided by the oper ator touching the appropriate alphabet square 34 or numerical square 36 On the other hand the operator can also select reset command box 42 in which case the program immediately branches back to FIG 4 through off page connector 84 or can select the NO com mand box 40 in which case the program branches back to the top of process box 108 When the operator selects the appropriate alphanumeric square the program uses a similar locating subroutine as described above with respect to the command boxes 38 40 and 42 To summarize the program first makes an in bounds check and then uses a similar mathematical algorithm to check for the particular alphanumeric square that has been touched Once the selection has been decoded the selection is displayed on video monitor 46 The pro gram waits until another alphanumeric box is selected thereby repeating the foregoing process or until the enter command box 44 is selected Once the enter com mand box 44 is selected the program continues to deci sion box 110 where the program checks whether the 20 25 35 40 45 50 35 60 65 requested signature is present If the requested signature is not present the program branches to process box 112 where the program causes video monitor 46 to display the message insert proper disc and touch yes when okay and then bra
83. ig 8 it enters a decision box 218 to determine whether the recording is complete When the recording is com plete the program branches to decision box 220 where the program determines whether to accept the data or not Basically the program simply checks all of the data received to make sure that it is in the correct format The expected format is blocks of 12 digits where the first digit of the block is a zero or one the next five digits are the absolute position in ten thousandths of an inch in the X direction then a space then five digits to indicate in tens of thousandths of an inch the absolute position in the Y direction If the data is unacceptable the program provides that message on video monitor 46 that the operator should either touch reset command box 42 or the no command box 40 depending upon whether the operator desires to return to the main menu depicted in FIG 4 or whether the operator wishes to try again and record another signature If the data was received in the correct format and is acceptable to the 15 20 25 30 35 40 45 55 65 12 program the program proceeds to subroutine box 222 where the program processes the data and tests the data further The refine subroutine is depicted in greater detail in FIG 8b First the subroutine proceeds to pro cess box 224 where the program compacts the data by deleting all coordinates that have a leading zero Then the subroutine calls a nested subroutin
84. le and then returns to the main menu routine through offpage connector 84 As mentioned above with respect to nested refine subroutine 222 FIG 8B of the recording routine the present invention also involves refining the received signature The refined subroutine 22 involves not only compacting data but also smoothing the signature in accordance with a preselected variable amount of smoothing The algorithm for performing the smooth ing function will now be described with reference being had to FIGS 3A through 3E and Appendices 1 and 2 As mentioned above digitizer pad 20 sends 200 points per second to microcomputer 12 After the program has disregarded all points generated when cursor 22 was not touching the top of digitizer pad 20 and ing the remaining points the program performs a smoothing function on the remaining points Basically the computer compares all the remaining points in sets of three beginning with the first point generated and then proceeding in the direction of the drawn line FIG 3A shows a signature of D L Hardin as actually written on digitizer pad 20 while the recording routine was being run The point coordinates which form the signa ture data as actually received by microcomputer 12 and stored in ram buffer 14 are depicted in Appendix 1 attached hereto The data as produced does not have carriage returns or spaces between the X and Y coordi nates However for the purposes of display a
85. lliman et al 38273 4 672 677 6 1987 Yamakawa 382 13 4 679 241 7 1987 382 13 Primary Harkcom Assistant Examiner Randy W Attorney Agent or Firm Larson and Taylor 57 ABSTRACT computerized handwriting duplication system in cludes a general purpose programmable digital mi crocomputer having a buffer memory a program mem ory for a computer program and a memory for storing the digital representation of the coordinates of a signa ture The system also includes a digitizer pad for pro viding to the microcomputer as raw data the X and Y coordinates of points travelled by a pen writing a signa ture thereon and for providing a keyboard type of input information to the microcomputer The computer pro gram comprises routines for receiving a large string of bytes of serial raw data in absolute distances for con verting the data to relative distances beginning from a predetermined starting point and then from the previ ous adjacent coordinate point for compressing the data by deleting all coordinate information generated when the cursor pen is out of contact with the digitizer pad and for smoothing the handwriting by determining new coordinates for all points falling outside a predeter mined locus An X Y plotter is connected to the mi crocomputer and is supplied with plotting commands and data points whic
86. m The plotter has grit wheels and pinch wheels for grasping the paper while plotting The grit wheels have small particles on 10 15 20 25 35 45 50 55 60 65 6 their periphery which make small indentations in the paper thereby preventing slippage while plotting The plotter can be manually fed one sheet at a time or can be coupled to a paper feeder In the embodiment depicted in FIG 1 plotter 48 is coupled to an automatic paper feeder physically mounted on top of plotter 48 and feeds one sheet of paper at a time Paper feeder 50 receives software com mands from microcomputer 12 and provides status sig nals back to microcomputer 12 Similarly plotter 48 receives its programming commands and data com mands from microcomputer 12 and returns status com mands to microcomputer 12 With reference now to FIGS 4 through 12 and also to the appendix the computer program which operates system 10 will now be described Initially it is noted that the computer program is written in Microsoft basic to be run under the MSDOS operating system With respect to FIG 4 a main menu selection routine 80 is depicted When the computer is powered up an autoex ec bat program not shown in the DOS operating sys tem causes computer 12 to load main menu routine 80 into program memory 16 The main program begins in process box 82 where an introductory message is dis played on video monitor 46 see Appendix beginni
87. nches back to the top of process box 104 If the signature is present and the operator enters the response yes by touching cursor 22 to command box 38 the program will continue to process box 114 In process box 114 the program requests the entry of the security code corresponding to the signature identifica tion However the operator can also select the reset command box whereupon the program branches back through off page connector 84 to FIG 4 As with the selection of the signature identification the operator if an error is made can restart the security code by touch ing NO command box 40 Also as with the entry of the signature identification the selection of the appro priate alphanumeric square will result in the selection being displayed on video monitor 46 The process will continue until the enter command box 44 is touched When the enter command box 44 is touched the program will branch to decision box 116 whereupon the program will check the security code If the code is incorrect the program will index a counter so that no more than three tries or guesses at the security code can be attempted The program does this in decision box 118 and if the number of tries is greater than or equal to three the program branches back to FIG 4 through off page connector 84 If the number of tries is less than three the program branches back to the top of process box 114 where the operator is again asked to enter
88. ndicated by dash line 514 The perpendicular distance delta d is then com pared with a predesignated tolerance value and if that tolerance value is exceeded then the coordinates of the midpoint 0 510 in FIG 3E are changed to bring the perpendicular distance delta d to within the selected tolerance value In the present embodiment of the pres ent invention the selected tolerance values are from a 4 817 034 17 maximum smoothing of 0 001 inches to 0 005 inches in steps of 0 001 inches for the least amount of smoothing FIG 3B represents the result of the program apply ing the maximum amount of smoothing to the signature written and appearing in FIG 3A On the other hand FIG 3C is the plotted signature corresponding to that plotted in FIG 3B but without any smoothing whatso ever As mentioned above after the smoothing algorithm has been performed on all of the received raw data the program calculates the relative distance between points This is done because plotter 48 operates faster using relative points than using absolute points although the latter could also be used In addition it is noted that the smoothing algorithm is performed on the absolute data see program line 15080 in the microfiche because it is simplest However the program could also smooth after the relative values are calculated The part of the program that calculates the relative values begins at line 15280 of the program In addition as can be
89. ng at line 240 The screen of video monitor 46 is then blanked and a message of Good morning afternoon evening as the case may be is displayed together with the message Do you want to use a previously recorded signature yes no The program then proceeds to decision box 100 while the program awaits an answer from the operator The operation of the choice selection and entry will now be described As soon as an entry is made by touch ing cursor 22 to the appropriate command box 38 40 or 42 FIG 2 The program branches to subroutine 5200 see program listing where the keyboard entry is de noted CHOICES and the program calls subroutine at line 12470 of the program listing This subroutine re turns the selected key pad item and first initializes the possible variables When the digitizer pad 20 is touched an interrupt is sent to the program and the program branches to a third nested subroutine at program line 12400 because the GTCO digitizer pad is being used At this subroutine the point touched on digitizer pad 20 is called XY by the statement XY input 13 1 The program then converts data to inches with the command XD 0 001 VAL MID X Y 2 5 VAL MID XY 8 5 The program executes a coordinate transform to con vert the absolute value received to the overlay orienta tion as depicted in FIG 2 For the present example this is simply the program line X 11 YD Y XD The point touched on
90. not on file the operator is prompted by a message displayed on video monitor 46 to install a new diskette If the signature identification identifies a signature that is on file the system proceeds to process box 308 where the log infor mation is caused to be displayed on video monitor 46 When the operator is finished with the display he or she can touch yes no or reset command boxes 38 40 or 42 to return the system back to the main menu routine depicted in FIG 4 through offpage connector 84 Returning to FIG 4 if the operator touches the no command box 40 when the program box is in decision box 300 the program branches to decision box 400 In decision box 400 the program prompts the operator by displaying a message on video monitor 46 asking if the operator desires to erase a signature If the operator touches yes command box 38 the program branches through offpage connector 402 to decision box 404 in FIG 12 Alternatively the operator can touch reset command box or no command box 42 or 40 whereupon the system returns back to the beginning of decision box 100 In decision box 404 of the erase routine the program displays the signatures on the diskette and asks the oper ator by printing a message on video monitor 46 whether the signature sought to be erased is on file If the opera tor touches no or reset command boxes 40 or 42 the system branches back through offpage connector 84 to the main menu routine in FIG 4 If the op
91. nput signal If the program determines in decision box 136 that plotter 48 is not ready the program branches to process box 138 where the program runs the not ready rou tine This routine notifies the operator by displaying a message on video monitor 46 that the plotter is not ready and that the operator should attend to the error condition The program then branches back to the top of process box 134 where the program waits until it receives an indication that the paper has been properly fed If the program determines in decision box 136 that plotter 48 is ready the program proceeds to process box 140 where the program instructs plotter 48 to feed the paper and commence printing the signature at the loca tion indicated by the operator in process box 128 It is noted that the paper which is fed is usually a typed letter that simply needs a signature or handwritten post script before it can be sent The program proceeds from process box 140 into a timing loop 142 whereupon if no interruption is indi cated the program branches back to the top of process box 128 through on page connector 144 On the other hand while the signature is being printed video moni tor 46 displays a message instructing the operator that the process can be halted by touching reset command box 42 Should the operator thus respond the program is interrupted and proceeds to process box 146 where the program halts and displays a message to the opera tor on
92. ource set to a digital counter at the moment the electromag netic signal passes the tablet reference point The count in the clock is frozen when the detection circuitry con 10 15 20 25 30 35 40 45 50 55 65 4 nected to the cursor coil senses the phase reversal that occurs when the current signal sweeps past The con tents of the counter then contains a number that is pre cisely related to the cursor position on the cursor pad The digitizer pad also contains a Cartesian X Y scan ning system to determine the horizontal and vertical positions DIGI PAD digitizer pad also produces two positive signals that are indicative of the relative loca tion of cursor 22 with respect to the surface of pad 20 The pad produces a one together with location infor mation when cursor 22 is in contact with digitizer pad 20 and produces a zero together with location infor mation when cursor 22 is located proximate to the sur face of digitizer pad but not in contact therewith In a preferred embodiment of the present invention the contact indication is provided by a switch located in cursor 22 which switch is activated by pressing cursor 22 against the surface of digitizer pad 20 A third type of indication is also possible from digitizer pad 20 when cursor 22 is not located proximate to the surface of digitizer pad 20 This indication is simply the transmis sion of no location information If microcompu
93. program also branches back to the main menu routine of FIG 4 through off page connector 84 If the operator responds that a sample plot is desired the program then proceeds through a series of steps similar to steps in process boxes 134 through 140 of FIG 6 Therefore from decision box 234 the program proceeds to process box 238 where the paper is prefed from paper feeder 50 to plotter 48 FIG 1 the program waits in decision box 240 until the paper is ready and then in process box 242 the program commands plotter 48 to feed and print the paper From process box 242 the program proceeds to a decision box 244 where the oper ator is asked whether the sample signature is to be saved or not The operator has three choices If the operator touches reset command box 42 the program returns to the main menu routine of FIG 4 through offpage con nector 84 If the operator touches the yes command box 38 the program branches through off page connector 246 to a continuation of the recording routine depicted in FIG 9 If the operator touches the no command box 40 the program branches through off page connector 248 to a reprocess subroutine depicted in FIG 10 Continuing the recording routine in FIG 9 the pro gram enters input box 250 where the operator is asked to supply the identification for the desired signature The operator can supply a signature identification of either letters or numbers by touching the appropriate alphanumeric square
94. puter program includes a security subroutine which is used to assign a security code to each handwritten word or signature and which before it will drive the plotter to replicate the signature re quires the correct presentation of that associated secu rity code In a preferred embodiment of the invention the hand written word is written on a digitizer pad that produces a plurality of raw coordinates which together represent the handwritten word The computer operating under the computer program refines the raw coordinate data by adjusting certain data points that fall outside a prede termined value so as to smooth a line connecting all the coordinates The raw coordinate data is also com pressed by the computer program by deleting coordi nates that are not relevant The raw data is further refined by translating it from absolute values to relative values According to the method of the present inven tion the coordinates are produced of a plurality of representative points which when connected by a line replicate a handwritten word The plurality of point coordinates are stored in a memory of a digital com puter The handwritten word is replicated by providing a piece of paper to a plotter which has a writing imple ment associated therewith providing the computer with the starting location on the paper of where the word is to be begun and using the computer to provide the starting location and the plurality of point coordi nates to
95. s 34 or 36 on digitizer pad 20 These letters and numbers are decoded as described hereinabove Alternatively the operator can touch reset command box 42 if a particular signature identifi cation is not wanted and the program branches back to the top of input box 250 As the operator selects each 4 817 034 13 letter or number it is displayed on video monitor 46 When the operator is satisfied with the signature identi fication the operator touches the enter command box 42 and the program proceeds to decision box 252 In decision box 252 the program determines whether the identification has been previously used If the identifica tion has been previously used the program branches to process box 254 where the message Identification al ready used is printed on video monitor 46 From pro cess box 254 the program branches back to the top of input box 250 If the identification has not been previ ously used then the program proceeds to input box 256 where the operator is asked to supply a security code As with the signature identification the operator can touch the no or reset command boxes 40 or 42 to reject a selected entry and the program will return to the top of input box 256 When the operator is satisfied with the selected security code the enter command box 44 is touched and the program proceeds to decision box 458 where the program verifies whether the selected secu rity code is proper or not by checking to see if it
96. ter 12 were receiving information from digitizer pad 20 start ing at a timed pulse and no information were received until a known time interval later then this lack of re ceived information would be indicative of cursor 22 being not proximate to the surface of digitizer pad 20 For the DIGI PAD 5 digitizer pad the proximate lock height is one inch Such a pad has a maximum scan rate of 200 X and Y points per second with a resolution and repeatability of 0 001 inches To write the signatures in FIGS 3B and C the Digi Pad 5 digitizer pad was configured to provide 200 coordinate pairs of continuous information per second at a Baud rate of 9600 with parity disabled and using an eight bit character in the serial Input Output RS232 mode It was also configured to include a pushbutton code with space and carriage return but no line feed with a five digit ASCII high resolution packed binary character of inch data being transmitted With reference to FIG 2 the top surface of digitizer pad 20 is depicted Digitizer pad 20 is utilized not only for recording a signature or other written note but also for providing input commands to microcomputer 12 Digitizer pad 20 includes a paper location area 24 out lined by a perimeter border 26 Area 24 in the presently preferred embodiment is 8 inches by 11 inches so that a standard sheet of paper can be accurately located Located inside border 26 is a signature rectangle 28 having a signature lin
97. that are a relative distance from another coordi nate and driving a writing instrument to traverse serially a path from each refined point coordinates to the next adjacent refined point coordinate and thus serially over all of said plurality of refined point coordinates so as to produce a line connecting together each point coordinate with the point coor dinates adjacent thereto and thus repliciting said handwriting 4 The method as claimed in claim 3 wherein said refining step initially comprises determining new coor dinates for those raw data points that are outside a pre determined locus thereby producing a smoothened handwriting word by said driving step 5 The method as claimed in claim 3 wherein said raw coordinates are produced by a digitizer pad and cursor at a predetermined rate irrespective of whether said cursor is in contact with said digitizer pad said digitizer pad also providing a first indicator when said cursor is out of proximity of said pad providing a second indica tion when said cursor is in proximity of said pad and providing a third indication when said cursor is in contact with said pad and further comprising having said computer send a start signal to said digitizer pads and thereupon commence receiving data from said digitizer pad at said predetermined rate and wherein said refining step includes compressing said received data by deleting all data received from said digitizer pad having said first in
98. the digitizer pad has now been converted to inches and transformed to the proper X Y coordinate system The program checks beginning with program line 12500 whether the point coordinates that have been provided by cursor 22 touching digitizer pad 20 are within the limits of the key pad area Depending upon which one of a series of IF THEN tests are true the appropriate subroutine is called Since presumably a command box has been touched the program will branch to program line 12710 where the program con verts the entered point into a position within the appro priate function area and where entries falling near the YD 0 001 4 817 034 7 boundary lines are eliminated The program lines for making these calculations are as follows YC Y 1 5 INT Y L5 XC X 0 5 INT X 0 5 IF lt 004 or YC gt 0 96 OR XC lt 0 05 OR XC gt 0 95 THEN RETURN FUNC CINT X 7 IF FUNC 1 THEN CHOICE YES GOTO 12810 IF FUNC 2 THEN CHOICES NO GOTO 12810 IF FUNC 3 THEN CHOICE RESET GOTO 12810 The first two lines check that the point is not within 0 05 inches of the line The next line rounds the input point to an integer and then substracts 7 from it and the re 10 mainder will either be a 1 representing the choice of 15 yes a 2 representing the choice of no or a 3 repre senting the choice of reset The function has now been selected and it is printed on the screen of monitor 46 and the program responds appropri
99. the plotter so as to drive the plotter and the writing implement from the starting location to produce the handwritten word on the paper Other features objects and advantages of the present invention are set forth in or are apparent from the de tailed description set forth hereinbelow BRIEF DESCRIPTION OF THE DRAWINGS FIG 1 is a schematic block diagram of an apparatus for duplicating a signature according to the present invention FIG 2 is a top plan view of a digitizer pad depicting the layout of the pad for use with a computer program according to the present invention including the layout of an input keyboard FIGS 3A 3B and 3C are photoduplications of three signatures FIG 3A being a duplication of the actual signature as written by D L Hardin FIG 3B being a replication of the signature of FIG 3A by an embodi ment of the present invention in which the greatest amount of smoothing was utilized and Fig 3C being a replication of the signature of FIG 3A in which there has been no smoothing FIG 3D is an enlarged portion of FIG 3C and FIG 3E is an enlarged portion of FIG 3D both used to illustrate the smoothing algorithm utilized by the present invention 4 817 034 3 FIG 4 is a schematic flow chart of the main menu of a computer program according to the present invention FIGS 5 6 and 7 are a schematic flow chart of the program routine used to replicate a signature FIGS 8 8A and 8B collectively and FI
100. tor touches reset command box 42 the program branches through off page connector 84 back to the main menu in FIG 4 On the other hand if the operator indicates that the current signature is to be reused the program branches back through off page connector 150 to the top of process box 120 in FIG 5 Returning again to FIG 4 as mentioned above the program asks the operator in decision box 200 whether a new signature is to be recorded If that is the case a program branches through off page connector 202 to FIG 8 where the program enters the signature record ing routine and in particular a capture subroutine 204 which is depicted in FIG 8A Subroutine 204 begins in process box 206 where the program first initializes digitizer pad 20 sets up ram buffer 14 and prepares the system to commence accept ing a large number of data points at the rate of 200 points per second Then the program gives the opera tor a start tone and begins to receive data As mentioned above the computer will receive data from the digitizer from the commencement of the start tone If cursor 22 is not located proximate to the surface of digitizer pad 20 about an inch above the top thereof then no data will be sent to the computer and effectively only zeros will be stored When cursor 22 is located proximate to digitizer pad 20 but is not pressing on the pad digitizer pad 20 will give a pen down signal When cursor 22 is pressing down on digitizer pa
101. y of locations on said digitizer pad said digitizer pad said digitizer pad comprising means for producing a set of raw data point coordinates of the location of said cursor when said cursor is in 20 25 30 35 45 50 55 65 58 SUBRBUTINE TO FRINT COMMANDS QUT TD GTCO DIGITIZER HEH HE E IE AE HF i E proximity to said pad and for producing indica tion signal when said cursor is in contact with said pad said coordinates being in absolute units from said predetermined origin a plotter capable of receiving data and capable of being driven by said received data so as to mark a piece of paper a programmable computer connected to said pad to receive as inputs said coordinates and said indica tion signal and connected to said plotter to provide data thereto to drive said plotter a buffer memory for storing data received by said computer from said pad a program memory that stores a computer program for operating said computer and means for causing the storing of a plurality of raw data point coordinates provided by said digitizer Pad in said buffer memory for causing the com pacting of the raw data point coordinates by said computer by deleting those point coordinates hav ing predetermined characteristics causing the refin ing of said raw data point coordinates b
102. y said com puter to produce a plurality of refined data points by changing said raw data point coordinates from absolute units to relative units that are a relative distance from another coordinate and for causing the smoothing of the raw date point coordinates and thus thereby converting the data to a form unable by said plotter 3 method of duplicating handwriting comprising producing an initial set of a plurality of serial mutu ally adjacent coordinates of points of raw data of a handwritten word as the word is being written by moving a cursor through a plurality of locations on a digitizer pad to produce the handwritten word said digitizer pad comprising means for detecting said locations and means for generating the coordi nates of each location said coordinates representa tive of a plurality of representative points which when connected by a line would replicate said cursor movement and thus replicate said handwrit ing said raw data point coordinates being in abso lute units from a predetermined origin serially storing said set of raw data point coordinates in a memory means readable by a digital computer serially recalling said plurality of refined point coor dinates from said memory means refining said recalled raw data point coordinates with said computer to produce a plurality of refined data 4 817 034 59 point coordinates by changing said raw data point coordinates from absolute units to relative units

Download Pdf Manuals

image

Related Search

Related Contents

USER MANUAL - Institut für Photogrammetrie und GeoInformation  Mode d`emploi des cassettes de décontamination  3Com 3CNJ100 Switch User Manual  点 灯 順 序  Sony CDP-CX270 User's Manual  Morphy Richards KT43530 User's Manual  SECTION 6 Troubleshooting  Radio Shack DX-395 - User manual  firebird  Wessamat Crushed Eisbereiter W 120 CL Combi-Line  

Copyright © All rights reserved.
Failed to retrieve file