home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0400 / CCE_0494.ZIP / CCE_0494.PD / SCRYPTO / LIESMICH.TXT < prev    next >
Encoding:
Text File  |  1992-11-25  |  15.2 KB  |  307 lines

  1.  
  2.  
  3.         Schrifterkennung mit dem Programm  S c r y p t o
  4.         ------------------------------------------------
  5.  
  6.  
  7. Wie der Name entstand:
  8.  
  9. Ein  Schriftstück heißt im lateinischen scriptum.  Auch wenn  das 
  10. Latein heute etwas aus der Mode gekommen ist, so wird dieses Wort 
  11. doch noch heute an den Hochschulen verwendet.  Aber wie kam das Y 
  12. in den Programmnamen? Nun - Schrift hat viel mit Ästhetik zu tun, 
  13. und  da das Y so ein schöner Buchstabe ist,  der leider  viel  zu 
  14. selten in der deutschen Sprache vorkommt,  habe ich das Y in  den 
  15. Programmnamen  eingebaut  und  damit das  Ganze  noch  ein  wenig 
  16. vornehm klingt (nomen est omen), habe ich ein O darangehaengt. Es 
  17. heißt  zwar "vornehm geht die Welt zugrunde",  aber man  soll  ja 
  18. posetiv  denken.  Also  hoffen  Sie mit  mir,  daß  das  Programm 
  19. möglichst  viele Buchstaben richtig erkennt und wenn  einmal  ein 
  20. falscher 50iger dabei ist, dann bedenken Sie, daß das Programm ja 
  21. nichts gekostet hat.  Irren ist schließlich nicht nur menschlich! 
  22. Mehr  zur  philosophischen  Seite der  Datenverarbeitung  in  dem 
  23. Ordner  GEGJAHWE in der Datei NEUROVOR.DOC (1st Word Plus  Text). 
  24. Dieser  Ordner  enthält  außerdem noch Texte,  die  man  bei  der 
  25. Diskussion  mit christlichen Sekten und christlichen  Fundamenta-
  26. listen als Argumentation verwenden kann. Der Ordner enthält einen 
  27. Teil  jener Texte,  die Ende 1993 als Buch unter dem  Titel  "Mit 
  28. Argumenten  gegen  die  Zeugen Jahwes"  erscheinen  sollen  (gute 
  29. Vorsätze  für  das Jahr 1993) 
  30.  
  31.  
  32. Zur Arbeitsweise des Programms SCRYPTO:
  33.  
  34.  
  35. Grundsätzliches
  36.  
  37. Jede  Art der Informationsgewinnung geht von  bestimmten  Voraus-
  38. setzungen aus. Wir gehen z. B. von der Voraussetzung aus, daß die 
  39. ganze Welt aus unterschiedlichen Dingen besteht.  Streng genommen 
  40. stimmt  das  nicht  ganz,  denn die ganze Welt  ist  erfüllt  von 
  41. elektromagnetischen Kraftfeldern und die Gravitation hält  unsere 
  42. Galaxie  zusammen.  Atome und Moleküle sind nur Energiebündel  in 
  43. diesem  Kosmos,  Bündel  mit unterschiedlicher Größe  und  unter-
  44. schiedlichen Eigenschaften.  Mit den Voraussetzungen ist das eben 
  45. so  eine  Sache.  Die  meisten  stimmen  nur  zu  einem  gewissen 
  46. Prozentsatz oder sie bleiben Ansichtssache.
  47.  
  48. Die  Informationsgewinnung aus einem Bild läßt sich grob als  ein 
  49. dreistufiger Prozeß beschreiben.  Zuerst wird das Bild aufgeteilt 
  50. in kleinere Einheiten.  Diese Einheiten werden dann mit  Gedächt-
  51. nisinhalten verglichen und schließlich wird ein symbolischer Wert 
  52. zugewiesen. Das Gedächtnis besteht hier aus einer Tabelle, in der 
  53. die  Zeichen samt ihrer Zuordnung zu bestimmten Symbolen  stehen. 
  54. Werden ähnliche Merkmale erkannt, dann wird ein symbolischer Wert 
  55. zugewiesen, in diesem Fall ein Schriftsymbol.
  56.  
  57.  
  58.   
  59. Bild lesen und korrigieren
  60.  
  61. Nach dem Einlesen des Bildes (Menüleiste "Datei"),  kann man  den 
  62. relevanten Teil des Bildes eingrenzen mit den Menüpunkten  "links 
  63. oben", "rechts unten" (Menüleiste "Markierungen").
  64.  
  65. Störende Linien,  einzelne Buchstaben oder auch  zusammenhängende 
  66. Bereiche  kann  man  mit  dem  Menüpunkt  "löschen  einer  Linie" 
  67. beseitigen  (Das  Fadenkreuz auf den Buchstaben  setzen  und  die 
  68. linke Mouse-Taste antippen).  Rechteckige Bildschirmbereiche kann 
  69. man  mit  dem  Menüpunkt "löschen  eines  Rechecks"  verschwinden 
  70. lassen.  (Bei  gedrückter linker Mouse-Taste von links oben  nach 
  71. rechts  unten ein Rechteck aufziehen.  Beim Loslassen der  Mouse-
  72. Taste  wird das Rechteck gelöscht.) Beides unter  der  Menüleiste 
  73. "Markierungen".
  74.  
  75.  
  76. Zeichensatz und Spelling-Tabelle
  77.  
  78. Nun kann,  falls vorhanden,  noch ein Zeichensatz  eingetrichtert 
  79. werden (Menüleiste "Buchstaben"). Wenn kein Zeichensatz vorhanden 
  80. ist,  reagiert das Programm wie ein Kleinkind.  Es schreit!  Aber 
  81. damit  die  Nachbarn  nicht aus dem  Bett  fallen,  erscheint  am 
  82. Bildschirm  eine Dialogbox,  auf der man bis zu  vier  Buchstaben 
  83. eingeben  kann.  Das  Programm verarbeitet also  auch  sogenannte 
  84. Ligationen - Buchstaben,  die aneinanderkleben.  Damit der Aufbau 
  85. eines  Zeichensatzes  nicht so langweilig ist,  gibt es  für  die 
  86. Zeicheneingabe zwei Dialogboxen,  die willkürlich (zufällig) aus-
  87. gewählt werden.  Und nachdem in unserer Welt große Tiere den  Ton 
  88. angeben, sind die Tiere hier auch gleichzeitig der OK Button.
  89.   
  90. Die   Zeichenkombination  wird  im  Bild  schwarz  markiert   und 
  91. erscheint,  soweit möglich über der Dialogbox.  In der  Dialogbox 
  92. wird die Zeichenkombination ebenfalls angezeigt.  Ein Icon (64  * 
  93. 64 Pixel) ist dafür reserviert.
  94.  
  95. Da  beim  Scannen  manchmal auch Punkte  erzeugt  werden,  wo  im 
  96. Original keine sind,  kann man diese Zeichen übergehen,  wenn sie 
  97. als  im Zeichensatz fehlend moniert werden.  Hierzu tippt man  in 
  98. der Dialogbox "Zeichen ignorieren" und "Zeichen nicht  speichern" 
  99. an.
  100.  
  101. Die Spelling-Tabelle dient dazu Übersetzungsfehler zu minimieren. 
  102. Das  Programm geht bei seiner Interpretation der Zeichen von  der 
  103. Annahme aus,  daß ein Zeichen aus einem zusammenhängenden  Pixel-
  104. bereich besteht.   Das Programm sieht bei einem i erst einmal nur 
  105. das  i ohne den Punkt und dann das Tüpfelchen auf dem  i.  Das  i 
  106. wird also erst einmal als "i." übersetzt.  Um dies zu korrigieren 
  107. gibt es die Spelling-Tabelle.  Wie einzelne  Zeichenkombinationen 
  108. umgesetzt werden könen,  kann man sich mit dem Menüpunkt Spelling 
  109. Tabelle ändern ansehen (Mit return durchblättern oder wie  üblich 
  110. mit  der  linken  Mousetaste auf Abbruch  tippen,  wenn  man  die 
  111. Dialogbox verlassen will).
  112.  
  113.  
  114. Zeichenabstand
  115.  
  116. Der  Menüpunkt Leerzeichen dient dazu den minimalen  Pixelabstand 
  117. zwischen zwei Worten festzulegen.  Wird hier kein Wert angegeben, 
  118. so  wird mit dem Wert gearbeitet,  der im Zeichensatz  hinterlegt 
  119. ist.  Der  eingegebene  Wert  wird  zusätzlich  bildlich  in  der 
  120. Dialogbox als Leerzeichen zwischen zwei Balken dargestellt. Diese 
  121. Dialogbox kann man verlassen,  indem man das schwarz umrahmte  OK 
  122. mit der linken Mouse-Taste antippt. Wo ist das nicht so? 
  123.  
  124.  
  125. Schrifterkennung
  126.  
  127. Tippt  man auf Analyse,  so beeilt sich das Programm den Text  zu 
  128. entziffern.  In  mehreren  Schritten  wird  jeweils  ein  Zeichen 
  129. isoliert.  Erst einmal werden die Leerzeilen markiert,  dann wird 
  130. der  Beginn  eines Zeichens ermittelt und  schließlich  wird  das 
  131. Zeichen  in den Analysebereich übertragen und  verschwindet  dann 
  132. von der Bildfläche.  So braucht immer nur nach dem ersten Zeichen 
  133. gesucht  zu  werden  und das steht immer in  der  obersten  Zeile 
  134. links.
  135.  
  136. Das  Programm arbeitet nach einem leicht  modifizierten  pattern-
  137. matching Verfahren.  d.  h. das Zeichen wird pixelweise mit einem 
  138. Zeichen  aus  der Zeichentabelle verglichen,  wobei  das  Zeichen 
  139. jeweils  um ein Pixel nach links,  rechts,  oben und  unten  ver-
  140. schoben wird. Ungenauigkeiten des Scanners werden auf diese Weise 
  141. etwas  ausgeglichen.  Der  Zeichensatz wird  so  möglichst  klein 
  142. gehalten.  Dies  hat leider aber auch einen  Nachteil:  Wenn  die 
  143. Zeichen sehr klein sind,  dann verhält sich das Programm wie  ein 
  144. alter  Dackel  ohne Brille.  Es verwechselt mal  den  einen  oder 
  145. anderen Buchstaben.
  146.  
  147. Das Programm interpretiert,  wie bereits gesagt,  jeden zusammen-
  148. hängenden Bereich als Zeichen.  Es kann daher auch  Kursivschrift 
  149. verarbeiten.
  150.  
  151. Das Programm erkennt das als Zeile,  was zwischen den  Leerzeilen 
  152. steht. Die Information wird zeilenweise abgearbeitet. Fehlt diese 
  153. Leerzeile zwischen den Zeilen,  so ist es am besten, wenn man den 
  154. Analysevorgang  mit  dem Menüpunkt  "Analyse  beenden"  vorzeitig 
  155. verläßt.  Das  Programm nimmt sonst abwechselnd einen  Buchstaben 
  156. aus  der  oberen und einen aus der unteren  Zeile.  Die  fehlende 
  157. Leerzeile  kann  man  mit  dem  Menüpunkt  "Leerzeile   erzeugen" 
  158. plazieren (Menüleiste Markierungen).
  159.  
  160. Auf  dem Textfenster kann man den Übersetzungsvorgang  verfolgen. 
  161. Jeweils  drei  Zeilen maximal 75 Zeichen werden hier dargestellt.  
  162.  
  163. Um den Text zu verarbeiten, speichert man ihn erst einmal mit dem 
  164. Menüpunkt Textausgabe ab.  Jedes Textsystem, das ASCII-Code lesen 
  165. kann, kann nun diesen Text verarbeiten. Eine Korrekturmöglichkeit 
  166. des Textes ist nicht vorgesehen,  da dies Textsysteme viel besser 
  167. können.  Das Programm Scrypto dient nur dazu,  Texte aus Büchern, 
  168. die  man  als Zitate in eigene Werke  einbauen  will,  maschinen-
  169. gerecht  aufzubereiten.   Noch  ein  kleiner  Tip:   Bei  kleinen 
  170. Schriften, hilft manchmal die Vergrößerung mit einem Kopiergerät.
  171. Allerdings dürfen die Vorlagen nicht schräg aufgelegt werden,  da 
  172. das Programm die Leerzeilen immer im 90° Winkel abgreift.
  173.  
  174. Wenn  das  Programm im Interpretermodus gestartet wird  (mit  der 
  175. Omikron-Basic-Version  vom Herbst 91),  kann man sofort nach  dem 
  176. Interpretieren   eines  Bildes  das  nächste  Bild   laden.   Das 
  177. compilierte  Programm bringt hier leider Fehler.  Diese  Funktion 
  178. ist mit Vorsicht zu genießen.
  179.  
  180. Was tun wenn...:
  181.  
  182. ...       im Text ein Umlaut markiert wird, aber in der Dialogbox 
  183.           nur Buchstabe (wie a,  o oder u) erscheint. - Geben Sie 
  184.           immer nur das ein, was Sie in der Dialogbox sehen.
  185.  
  186. ...       in der Dialogbox zur Eingabe der Zeichen ein Umlaut mit 
  187.           nur einem Punkt erscheint.  - Geben Sie den Umlaut ein. 
  188.           Die  Zeichenfolge  "Umlaut ." wird über  die  Spelling-
  189.           tabelle umgesetzt in den Umlaut.
  190.  
  191. ...       ein   Buchstabe  nur  zur  Hälfte  in   der   Dialogbox 
  192.           erscheint.  -  Wenn  dies  regelmäßig  nur  bei  diesem 
  193.           Buchstaben geschieht, so geben Sie für die erste Hälfte 
  194.           des  Buchstabens das entsprechende Zeichen ein und  für 
  195.           die  zweite Hälfte irgend ein Sonderzeichen.  Nach  dem 
  196.           Analyse-Vorgang  erweitern Sie die Spelling-Tabelle  um 
  197.           diesen  einen  Eintrag (Buchstabe  Sonderzeichen  immer 
  198.           umsetzen in Buchstabe).  Verlassen Sie nun das Programm 
  199.           und  laden  es  erneut,  dann  wird  der  Text  richtig 
  200.           übersetzt.  
  201.  
  202. ...       regelmäßig  ein Buchstabe verwechselt wird,  so  sollte 
  203.           man  den  Zeichensatz überprüfen.  Dies  geht  mit  dem 
  204.           Menüpunkt Zeichensatz ändern.  Die Dialogbox,  die dann 
  205.           erscheint,  enthält das Feld "Suche Zeichen". Hier kann 
  206.           das falsch übersetzte Zeichen angegeben werden. Wird Z. 
  207.           B.  ein a als s übersetzt,  so gibt man hier s ein.  In 
  208.           der   Dialogbox  erscheinen  dann   nacheinander   alle 
  209.           Zeichenzuordnungen für s.  Erscheint in diesem Fall als 
  210.           Zeichen ein a, so kann man das s in a umändern.
  211.  
  212. ...       man sich bei der Zeicheneingabe vertippt hat und  merkt 
  213.           dies sofort,  so kann man den Analysevorgang  abbrechen 
  214.           und kann sich mit dem Menüpunkt Zeichensatz ändern, die 
  215.           letzten drei Zeichen in einer Dialogbox ausgeben lassen 
  216.           und ggf. ändern.
  217.  
  218. Dateien:
  219.  
  220. SCRYPTO.PRG         Das Programm
  221.  
  222. Dateien mit dem     Assemblermodule,  die  vom  Programm  Scrypto 
  223. Suffix .BAX         angesprungen   werden.   Die   zeitkritischen 
  224.                     Routinen sind alle in Assembler geschrieben.
  225.  
  226. SCRYPTO.CHR         Der Zeichensatz.  Der Zeichensatz kann jedoch 
  227.                     auch anders heißen.  Er wird immer unter  dem 
  228.                     gleichen  Namen  abgespeichert  mit  dem   er 
  229.                     gelesen wurde. Dies gilt ananlog auch für die 
  230.                     Spelling-Datei und die Textdatei.
  231.  
  232. SCRYPTO.SPL         Die Spelling-Datei.
  233.  
  234. SCRYPTO.TXT         Die Textdatei.
  235.  
  236. SCRYPTO.IMG         Eine  im IMG-Format  komprimierte  Bilddatei. 
  237.                     Die Umwandlung in eine MFDB.DATEI,  die  dann 
  238.                     im  Speicher steht,  wird mit dem  Assembler-                    
  239.                     modul  IMG.BAX  erledigt.  Dieses  Assembler-
  240.                     modul   kann  auch  von  anderen   Programmen                     
  241.                     genutzt werden.  Ein Source-Code, aus dem die 
  242.                     Parameterversorgung ersichtlich ist, ist bei-
  243.                     gefügt. Das Programm wurde mit dem sehr guten 
  244.                     public-domain  Assembler  TURBOASS  erstellt. 
  245.                     Das  Programm SCRYPTO selbst ist in  OMIKRON-
  246.                     Basic  geschrieben.  Es hat daher,  wie  alle 
  247.                     Omikron-Basic-Programme,    die   mit    Gem-
  248.                     Benutzeroberfläche arbeiten, Schwierigkeiten, 
  249.                     wenn  GDOS  oder  NVDI  aus  dem  AUTO-Ordner 
  250.                     geladen wird. 
  251.                     Der Bildtext,  der momentan unter SCRYPTO.IMG 
  252.                     steht ist ein Zitat aus dem Buch
  253.                     "Ist die Bibel richtig übersetzt"  
  254.                     von Pinchas Lapide.
  255.                     Es  können  mehrere  Bildtexte   nacheinander 
  256.                     verarbeitet  werden.  Bei einem  Wechsel  des 
  257.                     Zeichensatzes   muss   man   allerdings   das 
  258.                     Programm verlassen. 
  259.  
  260. Dateien mit dem     In den ersten 20 Byte dieser Datei steht die 
  261. Suffix  .MFDB       MFDB (siehe  GEM-Befehl  VRO_CPYFM).  Dieser 
  262.                     Bereich wird von dem GEM-Befehl wird 
  263.                     normalerweise verwendet, um bit-image Dateien 
  264.                     auf dem Bildschirm zu bringen oder im 
  265.                     im Speicher zu sichern. Die bit-image Datei
  266.                     steht im Anschluß an die 20 Bytes.
  267.  
  268.  
  269. Systemgrenzen: 
  270.  
  271. Das Programm reserviert insgesamt 1,07 MB Speicher,  braucht also 
  272. ca  1,2  MB Speicher.  Das Programm SCRYPTO muß  aus  dem  Ordner 
  273. SCRYPTO  geladen  werden,  der sich auf Diskette oder  einer  be-
  274. liebigen Festplatten-Partition befinden kann.  Die IMG-Datei wird 
  275. gemäß ihrem tatsächlichen Platzbedarf im Speicher  abgelegt.  Die 
  276. Mfdb-Datei  ebenfalls.  Für die Zeichendatei werden  bei  Neuein-
  277. richtung  100000 Bytes reserviert.  Wird eine  Zeichendatei  ein-
  278. gelesen,  so  werden  zusätzlich zum tatsächlichen  Bedarf  50000 
  279. Bytes  reserviert.  Die  Einhaltung  dieser  Speichergrenze  wird 
  280. allerdings vom Programm nicht überprüft.  Es empfiehlt sich daher 
  281. nach der Analyse eines Dokuments den Zeichensatz zu sichern.  Für 
  282. die   Spelling-Datei  werden  bei  Neueinrichtung   10000   Bytes 
  283. reserviert.  Wird eine bereits vorhandene Spelling-Datei  geladen 
  284. werden zusätzlich 10000 Bytes reserviert.
  285.  
  286.  
  287. Danksagung:   
  288.  
  289. Dieses  Programm  ist  mein Dank an  all'  jene,  die  durch  ihr 
  290. Engagement  dazu beigetragen haben und noch dazu  beitragen,  daß 
  291. die  Software  für  den ATARI-Computer  sich  in  erschwinglichen 
  292. finanziellen  Grenzen  gehalten hat.  Falls Sie  auch  mal  einen 
  293. sozialen  Tag  haben,  aber nicht gleich ein  Programm  schreiben 
  294. wollen,  so  können Sie z.  B.  für die Lebenshilfe  für  geistig 
  295. Behinderte  spenden (Kontonummer:  5803865800 bei  der  Hypo-Bank 
  296. München). Falls Sie an dem Source-Code des Programms interessiert 
  297. sind, so wissen Sie ja sicher, wie das bei public-domain Software 
  298. geht.  20,-  DM  zuverlässig an meine Adresse und ein  Brief  mit 
  299. Ihrer  Adresse.  Dann erhalten Sie eine Diskette mit dem  Source-
  300. Code.  Der Überschuß aus dieser Transaktion wird der  Lebenshilfe 
  301. für geistig Behinderte gespendet. Meine Adresse:
  302.  
  303. Dieter von Spreter
  304. Tettnanger Str. 4
  305. W-8000 München 60   
  306.  
  307.