紙送り機構がついた高速スキャナ(せめて1分10枚 10ppm ないと、嫌になってしまうだろう)と
連続処理機能を持ったOCRソフトがあれば、実用可能かな。
学籍番号 | 氏名 | ||
---|---|---|---|
□ | 十万の位 | @ A B C D E F G H ◎ | |
□ | 万の位 | @ A B C D E F G H ◎ | |
□ | 千の位 | @ A B C D E F G H ◎ | |
□ | 百の位 | @ A B C D E F G H ◎ | |
□ | 十の位 | @ A B C D E F G H ◎ | |
□ | 一の位 | @ A B C D E F G H ◎ |
1【 @ A B C D E F G H ◎ 】 2【 @ A B C D E F G H ◎ 】 3【 @ A B C D E F G H ◎ 】 4【 @ A B C D E F G H ◎ 】 5【 @ A B C D E F G H ◎ 】 6【 @ A B C D E F G H ◎ 】 7【 @ A B C D E F G H ◎ 】 8【 @ A B C D E F G H ◎ 】 9【 @ A B C D E F G H ◎ 】 10【 @ A B C D E F G H ◎ 】 11【 @ A B C D E F G H ◎ 】 12【 @ A B C D E F G H ◎ 】 13【 @ A B C D E F G H ◎ 】 14【 @ A B C D E F G H ◎ 】 15【 @ A B C D E F G H ◎ 】 16【 @ A B C D E F G H ◎ 】 17【 @ A B C D E F G H ◎ 】 18【 @ A B C D E F G H ◎ 】 19【 @ A B C D E F G H ◎ 】 20【 @ A B C D E F G H ◎ 】 21【 @ A B C D E F G H ◎ 】 22【 @ A B C D E F G H ◎ 】 23【 @ A B C D E F G H ◎ 】 24【 @ A B C D E F G H ◎ 】 25【 @ A B C D E F G H ◎ 】 |
26【 @ A B C D E F G H ◎ 】 27【 @ A B C D E F G H ◎ 】 28【 @ A B C D E F G H ◎ 】 29【 @ A B C D E F G H ◎ 】 30【 @ A B C D E F G H ◎ 】 31【 @ A B C D E F G H ◎ 】 32【 @ A B C D E F G H ◎ 】 33【 @ A B C D E F G H ◎ 】 34【 @ A B C D E F G H ◎ 】 35【 @ A B C D E F G H ◎ 】 36【 @ A B C D E F G H ◎ 】 37【 @ A B C D E F G H ◎ 】 38【 @ A B C D E F G H ◎ 】 39【 @ A B C D E F G H ◎ 】 40【 @ A B C D E F G H ◎ 】 41【 @ A B C D E F G H ◎ 】 42【 @ A B C D E F G H ◎ 】 43【 @ A B C D E F G H ◎ 】 44【 @ A B C D E F G H ◎ 】 45【 @ A B C D E F G H ◎ 】 46【 @ A B C D E F G H ◎ 】 47【 @ A B C D E F G H ◎ 】 48【 @ A B C D E F G H ◎ 】 49【 @ A B C D E F G H ◎ 】 50【 @ A B C D E F G H ◎ 】 |
十万の位@ABCDEFGH○
万の位@ABCDEFGH○
干の位@ABCDEFGH○
百の位@ABCDEFGH○
十の位@ABCDEFGH○
−の位@ABCDEFGH●
1【@ABCDE●GH○】
2【@ABCD●FGH○】
3【@ABC●EFGH○】
4【@AB●DEFGH○】
5【@A●CDEFGH○】
6【@●BCDEFGH○】
7【●ABCDEFGH○】
以下略
おお、ちゃんと読みとってる。
$0~/位/{ split($0,a,"位"); temp=jsubstr(a[2],1,10); n=num(temp); printf n; } $0~/【/{ split($0,a,/[【】]/); s=num(a[2]); printf"\t%s",s; if (a[1]==50){print""} } function num(a){ ichi=jindex(a,"●"); if(ichi==0){r="?"} else{r=ichi} if(ichi==10){r=0} return(r) }
処理すると
?????0 7 6 5 4 3 2 1 ?
とタブ区切りのデータ列を出力した。
いっさいエラー処理をしていないので、ご注意。