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