chiark / gitweb /
invokes yppsc-ocr-resolver for unrecognised pixmap
[ypp-sc-tools.db-test.git] / pctb / yppsc-ocr-resolver
index 694adc3eccebbeec57a126cb7577b51697d7edd5..ec4473d2205ed19f7c114ad81775701490266916 100755 (executable)
@@ -26,6 +26,7 @@
 
 
 # invocation:
+# OUT OF DATE
 #  run this without args
 #  then on stdin write
 #     one line which is a Tcl list for unk_{l,r} unk_contexts glyphsdone etc.
@@ -125,6 +126,11 @@ proc resize_widgets {} {
 
 #---------- xpm input processor ----------
 
+proc must_gets {f lvar} {
+    upvar 1 $lvar l
+    if {[gets $f l] < 0} { error "huh?" }
+}
+
 proc read_xpm {f} {
     global glyphsdone mul inter rhsmost_max unk_l unk_r mulcols mulrows
     global cols rows wordmap
@@ -132,7 +138,7 @@ proc read_xpm {f} {
     set o {}
     set y -3
     while 1 {
-       if {[gets $f l] < 0} { error "huh? "}
+       must_gets $f l
        if {![regexp {^"(.*)",$} $l dummy l]} {
            append o "$l\n"
            if {[regexp {^\}\;$} $l]} break
@@ -399,6 +405,7 @@ proc recursor {} {
 
 #---------- database read and write ----------
 
+# OUT OF DATE
 # database format:
 # series of glyphs:
 #   <context> <ncharacters> <hex>...
@@ -550,6 +557,19 @@ proc required {} {
        return
     }
     init_widgets
+
+    required/$l
+}
+
+proc required/pixmap {} {
+    global unk_what
+    must_gets stdin unk_what
+    error nyi
+}
+
+proc required/char {} {
+    must_gets stdin l
+
     manyset [lrange $l 0 3] unk_l unk_r unk_contexts
     set glyphsdone [lrange $l 3 end]
     debug "GOT $l"