bug News & Bugs

15-März-2021
  • Umstellung auf den aktuellsten C Compiler auch für Fedora64 (gcc 10.2.1 20201125 (Red Hat 10.2.1-9)).
  • Memory Leaks in ReSpell bei gesetztem Parameter REL_REPEAT.
15-Feb-2021
  • Umstellung auf die aktuellsten C Compilers für Android (Android SDK Platform 30), iOS/OSX (clang version 10.0.0), Ubuntu64 (gcc-9 (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0). Bereitstellung von Kadmos für den Windows C Compiler MSVC19. Neutralisieren einiger Compiler-Fehler von Android und MSVC19.
16-Aug-2020
  • Inkonsistente Rückgabe der Koordinaten der erkannten Einzelzeichen in REL und REP. Beispiele für die Ermittlung der originalen Koordinaten im übergebenen Bild finden sich in den Beispielprogrammen RelDemo, RelWin, RepDemo und RepWin im KADMOS SDK.
24-Apr-2020
  • Verbesserte Klassifikatoren norm*.rec.
20-März-2020
  • Neue Klassifikatoren jumbo??.rec, hand??.rec und ttf??.rec. Sie sind deutlich kleiner als die bisherigen und vergleichbar mit den bisherigen Klassifikatoren hand_s_??.rec und ttf_s_??.rec. Letztere sind damit obsolet.
28-Nov-2019
  • In allen Klassifikatoren hand??.rec fehlten die Ziffern 5 bis 8.
11-Nov-2019
  • Fehler in rec_accent() bei der Unterscheidung (mehrfach) akzentuierter Zeichen und Sonderzeichen, die aus mehreren Komponenten bestehen (:, ;, ...).
06-Nov-2019
  • Abstürze in rep_do() bei gesetztem Parameter GENERAL_REPMULTITHREADING. Dieser Parameter sollte ohnehin im Server-Mode nicht gesetzt werden, wenn mehrere KADMOS Instanzen parallel gestartet werden. Darum wird er nun auch im Server-Mode nicht mehr voreingestellt.
14-Okt-2019
  • Verbesserte Erkennung mehrfach akzentuierter Zeichen (Vietnam).
  • Neuberechnung aller Klassifikatoren jumbo*.rec, hand*.rec, ttf*.rec und num*.rec.
30-Aug-2019
  • Verbesserte Segmentierung in rel_do() bei Proportionalschriften.
  • Neue Maschinenschrift-Kennungen Unicode 1EA0, 1EA1, 1EB8, 1EB9, 1ECA, 1ECB, 1ECC, 1ECD, 1EE4, 1EE5, 1EF4, 1EF5, 1EE2, 1EE3, 1EF0 und 1EF1 (Vietnam) in den Klassifikatoren jumbo, ttf, ttfvn, ttf_s und ttf_s_vn.
22-Jul-2019
  • Fehlerhaftes Lesen von TIFF-Dateien unter LINUX 64 Bit.
  • Austausch der TIFF-Bibliothek 3.9.6 gegen 4.0.10
11-Jun-2019
  • Abstürze bei Nonsense-Bildern unter Multithreading in rel_do().
03-Jun-2019
  • Fehlerhafte Koordinaten der erkannten Zeichen bei verschmutzten Bildern in rel_do().
27-Mai-2019
  • Verbesserte Klassifikatoren ttf??.rec und ttf_s_??.rec, besonders für Vietnamesisch.
  • Fehlerhafte Koordinaten der erkannten Zeichen bei verschmutzten Bildern in rep_do().
  • Fehlende Zeichen bei re_layout() und re_page().
16-Mai-2019
  • Abstürze in rel_do() bei Klassifikatoren die beide Maschinenschrift-Zeichen Zero und Capital O enthalten.
20-Mar-2019
  • KADMOS 6.1a verfügbar.
    In den KADMOS-Klassifizierungsprogrammen (die für KADMOS-Benutzer nicht sichtbar sind) sind wesentliche Verbesserungen umgesetzt worden. Für die Verbesserung der Erkennung mussten alle Klassifikatoren neu berechnet werden. Über mehrere Monate haben alle unsere Computer in Kreuzlingen Tag und Nacht gearbeitet. Das Ergebnis ist eine bemerkenswerte Verbesserung der isolierten Zeichenerkennung.
    Alle anderen Schnittstellen sind gegenüber Version 6.0 unverändert geblieben.
23-Jan-2019
  • In seltenen Fällen Dauerschleife in rel_do() bei der Erkennung von Nonsense-Bildern.
21-Jan-2019
  • In seltenen Fällen Dauerschleife bei der Erkennung diakritischer Zeichen.
  • Komplette Neuberechnung der Klassifikatoren ttf_s.rec mit verbesserten Algorithmen.
08-Dez-2018
  • In seltenen Fällen wurden bei der Erkennung diakritischer Zeichen einzelne Komponenten verschluckt.
23-Nov-2018
  • Bei der Binarisierung von Graubildern wurden zuweilen schwarze Rechtecke erzeugt.
  • Bei der Erkennung von Thai wurden zuweilen ungültige Zeichenkombinationen ausgegeben.
12-Nov-2018
  • Sehr seltener, sehr alter Fehler bei der alternativen Segmentierung, der zu einer Endlosschleife in RelGraph führte.
05-Okt-2018
  • FNeue Klassifikatoren Jumbo??.rec, Hand??.rec und Ttf??.rec mit punktuellen Verbesserungen, insbesondere für Hebräisch und Thai.
  • In sehr seltenen Fällen wurden von re*_textline() Zeichen doppelt ausgegeben.
10-Sep-2018
  • Fehler im Unterprogramm chopkern. Dadurch Fehler in den Programmen RecMaker, Chopper, Alcfill.
23-Aug-2018
  • Fehler bei der Umsetzung von Kennungen von und nach Unicode/UTF_16.
  • Seltener Crash in der OpenSource Hunspell.dll.
06-Aug-2018
  • Die Kadmos 6.0 Bibliotheken und Dlls sind jetzt auch als MSVC17-Version verfügbar.
10-Jul-2018
  • Zu lange (sinnlose) Berechnung von Blockzwischenräumen bei fast leeren Dokumenten durch re_layout().
  • Gelegentlicher Absturz (Protection Error) in re_layout().
09-06-2018
  • Die Kennungs-Auswahl ging bei aufeinanderfolgenden rel_do()-Aufrufen verloren.
18-Mai-2018
  • Seltener Absturz in rel_do() und damit auch in rep_do() und re_page().
16-Mai-2018
  • Bei den gemischten Klassifikatoren jumbo*.rec und num*.rec wurde sauber geschriebene Handschrift zuweilen nur mit dem Maschinenschrift-Teil des Klassifikators erkannt.
29-Aug-2017
  • Das Zeichen LATIN SMALL LETTER ALPHA (Unicode 0x0215) fehlte in der Liste der akzentuierten Zeichen.
24-Jul-2017
  • Seltener Absturz in re_layout(), und damit auch in re_page() und re_idcard().
30-Mai-2017
  • Das Lesen von PDF-Dateien ist implementiert.
  • Verbesserte Erkennung von Thai, Kyrillisch und Hebräisch.
  • 10% schnellere Erkennung in rec_do() für neue Intel-Prozessoren.
30-Apr-2017
  • Verbesserte Erkennung mehrfach akzentuierter Zeichen (vietnamesisch).
  • Neue Klassifikatoren jumbo??.rec, ttf??.rec und hand??.rec.
30-März-2017
  • Verbesserte Funktion re_layout().
  • Neue Klassifikatoren ttf_s_??.rec und hand_s_??.rec.
20-Jan-2017
  • Fehler in re?_textline() für Thai.
  • Memoryleak in re_readimage() bei TIFF-Dateien.
09-Jan-2017
  • Memoryleak in rel_do().
  • Zugriffsverletzung in rec_accent().
  • Fehler bei der Auswahl/Einschränkung von Kennungen.
02-Jan-2017
  • Unnötig grosse Speicherallokation bei den 64-Bit Kadmos-Versionen für Windows und Linux.
  • Fehler in den Parameter-Funktionen re_copyparm(), re_readparm() und re?_config().
  • Fehler beim Datensammeln über kadmos.ini unter Multithreading.
12-Dez-2016
  • Verbesserter hebräisch Klassifikator.
  • BIDI-Algorithmus für die Ausgabe von Texten mit gemischter Schreibrichtung verbessert.
11-Okt-2016
  • Neuer Parameter RESPELL_DICTIONARY_COMPLETE für RESPELL.
  • Erweiterung des Klassifikators hand_s.rec um die gebräuchlichsten Akzente.
01-Okt-2016
  • Fehler in re_collect beim Sammeln von Rasterbildern.
19-Sep-2016
  • Implementierung des BIDI Algorithmus für die Ausgabe von Texten mit gemischter Schreibrichtung, etwa Hebräisch+Latein.
10-Aug-2016
  • Verbesserte Erkennung akzentuierter Zeichen, zum Beispiel vietnamesisch.
  • Generierung des zugehörigen Unicodes und Markierung durch RESULT_FLAG_REC_COMBINED.
  • In einigen Fällen wurden inkorrekte Koordinaten der erkannten Zeichen zurückgeliefert.
  • Seltene Endlos-Schleife in rel_do().
30-Mai-2016
  • Fehler in rep_do() falls Zeilen durch Schmutzentfernung leer wurden.
  • Fehler in re_endofimagefile() für TIFF-Dateien.
  • Verbesserte Funktion rec_accent().
  • Verbesserter Klassifikator ttf_s.rec.
  • Neue Ligatur "LI" zur Vermeidung von Substitutionen mit 'U'.
  • Es werden nun auch JPEG-komprimierte TIFF-Dateien gelesen.
20-April-2016
  • Absturz in re_page().
  • Unvollständige Rückgabe von Resultaten in re_page().
  • Bereitstellung der Kadmos-Libraries und Dlls mit MSVC15.
20-April-2016
  • Memory Probleme, wenn rec_accent() mit farbigen Bildern (RGB) aufgerufen wurde.
  • Bug in der Kombination von rec_accent() und rel_do() beziehungsweise rel_corr() bei gesetztem Parameter TYPO_KEEPIMG.
  • Der Parameter TYPO_KEEPIMG wirkt jetzt auch für rec_accent().
  • Neue Funktion rec_freeimages() zu Speicherfreigabe nach rec_accent().
18-Feb-2016
  • Seltener Protection-Error bei der Grid-Entfernung.
  • Zuweilen fehlerhafte Rückgabe der Zeichen-Koordinaten bei Teilbildern oder gedrehten Bildern.
  • Bei der Grid-Entfernung in rel_do() wurde die Anzahl der gefundenen Grids rel_grid_len nicht korrekt zurückgegeben.
  • Neue Parameter OPTIONS_FAST_REC und OPTIONS_FAST_GRID. OPTIONS_FAST_REC ersetzt den bisherigen Parameter OPTIONS_FAST. OPTIONS_FAST_GRID dient zum aktivieren einer schnelleren Grid-Entfernung mit nur geringfügig schlechteren Resultaten. OPTIONS_FAST_GRID kann auch bei re_layout() gesetzt werden sowie als neuer Parameter bei re_page().
  • Neue Funktion rel_rec_accent_set(). Sie arbeitet wie rel_recset(), jedoch mit Resultaten von rec_accent().
Bisher unterstützte Kadmos die Erkennung von Einzelzeichen, Zeilen und einspaltigen Texten (Paragraphen). Neu wird die Erkennung (fast) beliebiger Dokumente unterstützt. Einerseits gibt es dazu die Funktion re_layout(), welche in einem Dokument nach Textbereichen sucht und diese in Form der umschreibenden Rechtecke zurückliefert. Mit der umfassenderen Funktion re_page() können Textbereichen Klassifikatoren zugeordnet werden, mit denen dann automatisch für diese Textbereiche eine Erkennung gestartet wird.

Kadmos wird häufig zum Lesen der Kodierzeilen von Pässen und Ausweisen eingesetzt. Ein Problem bereitet hier immer wieder die Bildvorverarbeitung sowie das Auffinden der Kodierzeilen selbst. Für diese Anwendungen wurde eine eigene Funktion rep_idcard() bereitgestellt. Sie liefert die Resultate in der gleichen Form als hätte man rep_do() genau auf den Bildausschnitt der Kodierzeilen angewendet. rep_idcard() ist zusätzlich als Exe oder Binary verfügbar, dass aus der Kommandozeile aufgerufen werden kann: "idcard Bild-Datei Klassifikator". Die Ausgabe erfolgt als Xml-Datei mit gleichem Namen wie die Bild-Datei.

Zur Verbesserung der Erkennungs-Qualität bei Bildern mit unruhigem Hintergrund wurde eine neue Technologie implementiert. Bei gesetztem Parameter OPTIONS_REL_REC_REPEAT werden schlecht erkannte Einzelzeichen noch einmal direkt vom Grau- oder Farb-Bild eingelesen und in Abhängigkeit von ihrer Strichdicke mit veränderten Parametern neu binarisiert.

Neu ist die Ausgabe der Resultate als XML-Datei. Dazu ist nur der Parameter TEXT_FORMAT_XML bei den Funktionen re?_textline() zu setzen. Das gilt auch für die neuen Funktionen rep_text() und page_text(), mit denen die Resultate von rep_do() und re_page() als Text ausgegeben werden können. Die Funktionen re?_textline(), rep_text() und page_text() geben Wortzwischenräume oder Folgen von Leerzeichen nur noch mit einem Leerzeichen aus. Die bisherige Lùsung machte in aller Regel keinen Sinn, da bei der Erkennung nicht klar ist, wie breit das für den Ausdruck verwendete Blank ist. Ausser beim Zeilenanfang wird die geschätzte Anzahl von Blanks in RelGraph.leading_blanks nach wie vor zurückgegeben.

Das bisherige Define CODE_UNICODE wurde durch CODE_UTF_16 ersetzt. Das gibt die Möglichkeit, bei späteren Weiterentwicklungen zwischen Microsoft (wchar_t als unsigned short) und Linux (wchar_t als unsigned int) zu unterscheiden. Das neue Define CODE_UTF_32 bezeichnet den 32-Bit Unicode.

Für MSVC werden werden keine Libraries mit dem Compiler-Schalter /Md (multithreaded dll) mehr ausgeliefert. Diese haben in der Vergangenheit mehrfach zu Problemen geführt, insbesondere beim Übergang zu neuen Windows-Versionen. Das betrifft Libraries wie rec_md.lib und rel_md.lib, also diejenigen mit der Endung _md im Dateinamen.
01-Dez-2015
  • Korrekturen mit Skalierung (Parameter PREP_SCALING).
  • Korrekturen mit den zurückgegebenen Zeilen- und Zeichenpositionen in REL und REP.
  • Neue IDCard.exe zum Erkennen von Codierungszeilen in Pässen und ID-Karten als Befehlszeilenprogramm.
  • Neue Funktion re_page () für die Volltexterkennung von Dokumenten und Formularen.
  • Erkennung von Unterstreichungen in rel_do () und höheren Funktionen. Dies wird durch RESULT_FLAG_UNDERLINED in rel_result-> result_flags markiert.
22-Okt-2015
  • Für Zeilen mit Schmutz am Anfang wurde gelegentlich kein Resultat zurückgeliefert.
  • Verbesserte Unterscheidung von Gross/Klein-Buchstaben im Anschluss an Sonderzeichen.
19-Okt-2015
  • Absturz bei der Linien-Entfernung.
  • Ergebnis-Ausgabe in den Funktionen re?_textline() auch im XML-Format.
  • Neue Funktion rep_text() zur Ausgabe der Resultate von rep_do(), auch im XML-Format.
  • Neue Funktion re_layout() zur Analyse des Inhalts von Dokumenten oder ganzen Textseiten.
02-Sep-2015
  • Seltene Endlosschleife in rel_do().
  • Memoryleak bei der Verarbeitung von Graubildern.
  • Verbesserte Erkennung von Ziffernfolgen in Alpha-Texten.
  • Verbesserte Unterscheidung von Gross- und Kleinbuchstaben in gemischten Texten.
04-Aug-2015
  • Neue, deutlich kleinere Klassifikatoren Jumbo.rec sowie neue Klassifikatoren Ttf_s.rec. Die Klassifikatoren Ttf??.rec und Ttf_s??.rec sind jetzt stukturell identisch.
  • Die Kennungen "g " und "g2" wurden dem Unicode-Standard getauscht.
  • Neue Funktion re_layout() in REP. In einer ersten Implementierungs-Stufe werden Texte (etwa Buchseiten) aus ihrer Umgebung (etwa Buchränder mit Hintergrund) herausgelöst.
  • Neue Funktion re_subimage().
21-Jul-2015
  • Fehler in re?_textline() bei der Ausgabe von Ligaturen unter Unicode.
  • Fehler "loop" in rel_do() bei der Verarbeitung horizontaler Linien ohne Linienentfernung.
01-Jun-2015
  • Fehler beim Lesen von mehrfarbigen TIFF.
  • Korrektur in respell_do() bei den Parametern rel_repeat und rep_repeat.
18-Mai-2015
  • Fehler beim Lesen von TIFF wenn bitspersample nicht spezifiziert war.
13-Mai-2015
  • Seltener Fehler "Loop" in rel_do().
  • Fehler beim Lesen von TIF-Bildern mit minisblack=1 und bitspersample=8.
23-Mrz-2015
  • Fehler beim Parameter OPTIONS_STRICTSELECT. Nicht alle abgewählten Zeichenklassen wurden beim Klassifizieren ausgeschlossen.
05-Mrz-2015
  • Fehler in Respell bei Anschluss eines eigenen Spellcheckers.
  • Fehler beim Lesen von Multi-Tiff für die nachfolgenden Bilder.
  • Deutlich verbesserte Segmentierung zusammengewachsener Zeichen bei Maschinenschrift.
19-Feb-2015
  • Sehr seltene Dauerschleife in rel_do().
05-Feb-2015
  • Seltener Fehler "Inconsistent component position" Erkennen ohne Schmutzentfernung.
  • Fehler bei der Auswahl von Label 1_ (Parameter ReParm.labels und ReParm.labels2), wenn das Basislabel 1_ (eins mit Aufstrich) nicht im Classifier enthalten war. Dies betrifft insbesondere die Klassifikatoren Handus.rec und Numplusus.rec.
14-Oct-2014
  • Allokations-Problem in rel_lineshadow().
  • Fehler bei der Kombination Kadmos Dll-Version und Server-Version.
  • Integration der vollen Open-Source Tiff-Bibliothek.
15-Sep-2014
  • Die Zeichenklasse '_ als Basiskennung fehlte in den Klassifikatoren hand??.rec und hand_s_??.rec.
  • Die Funktionen re_(w)writeparm?() haben die Liste der gesetzten RelGridParm-Parameter nicht mit GRID_END abgeschlossen.
  • Fehler beim Verarbeiten von Unicode-Dateinamen in re?_winit().
  • Extrem seltene "Access Violation" bei der Zeichen-Segmentierung in rel_do().
  • Das Programm HashMaker.exe (Download) arbeitete nicht mehr korrekt.
  • Verbesserung beim Norm.rec Klassifikator E13b (MICR), insbesondere für unvollständige Zeichen 4e ↔ 9e.
  • Neuer Parameter TYPO_EXTENDED_SEGMENTATION. Ist er bei ReParm.typograph gesetzt, gibt es insbesondere bei Maschinenschrift etwa 10% weniger Segmentierfehler, bei etwas längerer Rechenzeit.
  • Es werden auch BMP-Dateien mit 32 Bits per Pixel bearbeitet.
  • Weiter verbesserte Erkennung von Boxen. In rel_do() wird bei erkannten Boxen der darüber und darunterliegende Schmutz entfernt. Ist der Parameter OPTIONS_REL_CLEAN gesetzt, so werden zusätzlich alle Zeichen und aller ausserhalb der Boxen ignoriert.
14-Juni-2014
  • Deutlich verbesserte Leerzeichen-Erkennung, insbesondere bei Maschinenschrift.
20-Mai-2014
  • Korrigierte und verbesserte Implementierung der Parameter TYPO_NOLIGATURES und TYPO_NOTOUCHINGCHARS.
  • Der Parameter Typograph wurde nicht von rep_do () nach rel_do () übergeben.
14-Mai-2014
  • Selterne Floating-Point-Exception. Diverse Ungereimtheiten bei der Erkennung von Akzenten.
06-Mai-2014
  • Bug im neuen Programmteil zur Beschleunigung der Erkennung bei guten Vorlagen.
29-Apr-2014
  • Diverse Duplicate-File-Handles wurden nicht freigegeben.
  • Neue Klassifikatoren Ttf_s2_de.rec und Ttf_s2_us.rec. Sie haben nur etwa 30% der Grösse von Ttfde.rec und Ttfus.rec, sind aber 20% schneller. Es sind Prototypen für die Nachfolge- Generation Ttf.rec in Kadmos 5.1.
  • Code-Optimierung in rel_do() und rep_do(). "Normales" Schriftgut wird jetzt mit doppelter Geschwindigkeit erkannt. Die Optimierung erfolgte in Zusammenarbeit mit Orbograph, Israel.
  • Nach vielen Anläufen Korrektur der Beispielprogramme für Visual Basic und C#.
03-Feb-2014
  • Neuer Parameter OPTIONS_REL_REC_REPEAT für Farb- und Grau-Bilder. Nach einem ersten Durchlauf von rel_do() oder rep_do() werden die erkannten Einzelzeichen erneut aus dem Farb- oder Graubild extrahiert und einzeln binarisiert und erkannt. Es resultiert eine deutlich verbesserte Erkennungsqualität.
31-Jan-2014
  • Fehler in re_parmcopy(). Der Inhalt von parm⇒labels wurde in bestimmten Fällen nicht kopiert.
06-Jan-2014
  • Neuer Parameter OPTIONS_REL_CLEAR. Er ist zur Unterstützung des Lesens von Normschrift-Zeilen, etwa CMC7 oder E13b gedacht. Diese Zeilen enthalten oft Schmutz am Anfang oder Ende. Dieser Schmutz wird wie üblich zu erkennen versucht. Gegebenenfalls werden nun jedoch die als Schmutz erkannten Resultate aus RelGraph und RelResult entfernt.
  • Punktuelle Verbesserung der Klassifikatoren Norm.rec (E13b) und Jumbo.rec -Zeichen Maschinenschrift).
  • Fehler bei der Bearbeitung von Bildern niedriger Auflösung mit dem Parameter PREP_SCALING.
  • Korrigierte und verbesserte Version von Rec_Linker.exe. Es wurden Klassifikatoren zuweilen unvollständing in die erzeugte REC-Datei übertragen. Neu werden jetzt auch zuvor gesplittete Basis-Klassifikatoren wieder zusammengefasst.
13-Nov-2013
  • Wurde der Parameter "deskew_min" gesetzt und das gegebene Bild horizontal ausgerichtet, so wurden die Koordinaten der Resultate RelResult und RelGrid fehlerhaft zurückgegeben.
  • Neue Parameter "options" in ReInit und "rejects" in ReParm. Achtung: Die Struktur ReParm wurde damit verändert! Dadurch wird es möglich, von grossen Klassifikatoren (REC-Dateien) nur einen Ausschnitt einzulesen. Dies hat den gleichen Effekt wie die Einschränkung von Klassifikatoren mit Chopper.exe und kann erhebliche Einsparungen an Rechenzeit bewirken. Anwendung: Vor dem Aufruf von re?_init() besetze man ReInit.options mit dem Wert OPTIONS_RESTRICT_LABELS sowie die Parameter ReParm.labels_size, ReParm.labels und ReParm.rejects mit den gewünschten Kennungen. Dann werden von re?_init() nur die Teile des Klassifikators eingelesen, die für das Erkennen dieser Zeichen notwending sind.
  • Das Programm Chopper.exe wurde um eine Parameter-Zeile erweitert. Man kann dort den Namen einer Parameter-Datei (INI Datei) eintragen, in welche die Kennungen des angeschlossenen oder erzeugten Klassifikators ausgegeben werden. Diese Kennungen können dann im Fall OPTIONS_RESTRICT_LABELS mit re_readparm() vor dem Aufruf von re?_init() eingelesen werden.
  • Neues Programm Multi.exe in der Chopper-Familie. Dieses Programm ermöglicht es, Programme wie Alcstrip.exe, Alcfill.exe oder Chopper.exe im Batch mit Wildcards aufzurufen.
19-Aug-2013
  • KADMOS verfügbar für OSX auf Apple Computern (32 Bit und 64 Bit).
  • KADMOS liest jetzt auch direkt Klassifikatoren ein, die mit gzip komprimiert wurden. Auch andere Komprimierungen können verwendet werden, sofern entsprechende Dekomprimierungs- Funktionen bereitgestellt werden. Mit gzip komprimierte Klassifikatoren haben etwa halbe Grösse, jedoch die Ladezeit verdoppelt sich.
  • Neue Applikation rec_linker.exe in der Chopper-Familie. Mit diesem Programm können mehrere Rec-Dateien zusammengefasst werden - etwa ttfde.rec, ttfru.rec und ttfgr.rec. Die resultierende Rec-Datei ist deutlich kleiner als eine mit Chopper erzeugte Datei mit diesen Kennungen.
  • Nochmals verkleinerte Klassifikatoren-Familie ttf_s.rec.
28-Jun-2013
  • KADMOS verfügbar für iOS auf Apple Computern (Mac, iPhone, iPod, ...).
  • KADMOS verfügbar für Android mit den Prozessoren ARM, ARMv7a und X86.
  • Seltener Memory Allocation Error in den 64-Bit Versionen von REP (rep_do()) in der Funktion SplitComponentHori().
13-Jun-2013
  • Verbesserte Segmentierung bei kleinen Schriften.
  • Verbesserte Zeilenverfolgung.
26-März-2013
  • Seltener Fehler wenn rel.init.rel_graph_maxlen und rel.init.rel_result_maxlen mit verschiedenen Werten besetzt wurden.
  • Verbesserte Klassifikatoren durch Fertigstellung der Nachberechnung für neue Zeichen und Kennungen.
  • Erweiterung des Thai-Maschinenschrift-Klassifikators um folgende Ligaturen: 0E2A+0E31 - Aw, 0E2A+0E47 - Bw, 0E2A+0E49 - Cw, 0E2A+0E4A - Ew, 0E28+0E48 - qw.
  • Erweiterter Zeichensatz für die norwegischen Klassifikatoren.
  • Neue Klassifikatoren für welsch, serbisch, mazedonisch und tagalog.
  • Neue Klassifikator-Familien ttf_l_??.rec und ttf_s_??.rec für Maschinenschrift. Diese Klassifikatoren sind etwa 50% kleiner (ttf_l) beziehungsweise 75% kleiner (ttf_s) und etwa 15% scheller bei nur minimal verringerter Erkennungsleistung.
  • Deutliche Verbesserung der Linien- und Boxen-Entfernung.
  • Verbesserte Funktion rel_find().
10-Dez-2012
  • Die Labels 'a ', 'a2', 'a_', 'a1', (a normal oder als o mit Strich), 'g2' und 'g1' (g wie Ziffer 9), 'Zw', 'zW', 'Zw', 'ZW' und 'zW' (Z, z mit Querstrich) wurden mit Unicode abgeglichen.
    Dazu mussten die Labels 'a ' und 'a2' sowie 'a_' und 'a1' vertauscht werden.
    In den übrigen Fällen ändert sich nur der Unicode:
    Unicode für 'a2' neu: 0x0251 0x0020  Unicode für 'a1' neu: 0x0251 0x005F
    Unicode für 'a1' neu: 0x0251 0x005F  Unicode für 'g1' neu: 0x0261 0x005F
    Unicode für 'Zw' neu: 0x01B5 0x0020  Unicode für 'zw' neu: 0x01B6 0x0020
    Unicode für 'ZW' neu: 0x01B5 0x005F  Unicode für 'zW' neu: 0x01B6 0x005F
    Diese Umstellung ist nur für KADMOS-Anwender von Bedeutung, die explizit mit Basic-Labels beziehungsweise Unicode arbeiten.
  • In seltenen Fällen wurde nur der Anfang einer Textzeile gelesen.
  • re_collect() arbeitete fehlerhaft bei den 64-Bit-Versionen von KADMOS.
  • Inkorrekte Fehlerbehandlung in rep_do() bei Multithreading.
  • Bei der Linien-Entfernung wurden zuweilen einige Linien nicht entfernt.
  • Die Funktion rel_recset() hat zuweilen Zeichen in der Zeile falsch positioniert.
  • Bei aufeinanderfolgenden rep_do()-Aufrufen mit wechselnden Ausschnitten wurden in speziellen Fällen Parameter (Labels) vorangegangener Aufrufe verwendet.
  • Fehler in der Zeilenfindung (rep_do()) bei unsinnigen Bildern.
  • KADMOS verfügbar für Android.
  • Deutliche Verbesserung der Maschinenschrift-Erkennung durch Einrechnen mehrerer hunderttausend bisher schlecht erkannter Zeichen.
  • Erweiterung des Fraktur-Klassifikators um die für tschechisch benätigten Akzent-Zeichen:
    0x0106 ⇒ ;'   0x0107 ⇒ :'   0x010C ⇒ ;v   0x010D ⇒ :v
    0x011A ⇒ >v   0x011B ⇒ <v   0x0158 ⇒ ?v   0x0159 !v
    0x0160 ⇒ &v   0x0161 ⇒ +v   0x0165 ⇒ @v   0x016E ⇒ }.
    0x016F ⇒ {.   0x01CF ⇒ $v   0x01EE ⇒ ~v   0x01EF ⇒ _v
  • Verbesserte Thai-Klassifikatoren.
  • Erweiterung des Thai-Maschinenschrift-Klassifikators um diverse Ligaturen:
    0E1B+0E31 ⇒ aw   0E1B+0E34 ⇒ cw   0E1B+0E35 ⇒ ew   0E1B+0E47 ⇒ fw
    0E1B+0E49 ⇒ gw   0E1B+0E4B ⇒ iw   0E1B+0E4C ⇒ jw   0E1D+0E31 ⇒ kw
    0E1D+0E35 ⇒ mw   0E1D+0E36 ⇒ nw   0E1F+0E31 ⇒ sw   0E1F+0E34 ⇒ vw
    0E1F+0E4C ⇒ ww   0E35+0E48 ⇒ xw
  • Verbesserung der Linien-Entfernung.
  • Bei fehlenden Zugriffsrechten auf CSIDL_COMMON_APPDATA wird nicht mehr "KADMOS läuft bereits auf diesem Computer", sondern eine Aufforderung zum Kontaktieren des Administrators ausgegeben.
  • Bei Multithreading müssen die Aufrufe von re?_do() nicht mehr im gleichen Thread wie das zugehörige re?_init() erfolgen. Es muss nur noch gesichert sein, dass bei simultanen Aufrufen jeweils separate re?_init()-Aufrufe vorangegangen sind.
  • Verbesserte Funktion rel_find().
01-Juli-2012
  • Fehler in respell_do() bei gesetztem Parameter rel_repeat oder rep_repeat. Es kam eine Fehlermeldung "UNICODE .. unbekannt".
  • Fehler in der Linux-Version der Funktionen re_openimagefile() und re_wopenimagefile(). Die Dateinamen wurden nicht korrekt verarbeitet.
  • Fehler beim Error-Handling in rep_do() unter Multithreading. Er führte unter anderem zu einer falschen Fehlermeldung "KADMOS läuft bereits auf diesem Computer".
  • Sporadischer Fehler bei der Spot-Entfernung (seg⇒xpos fehlerhaft oder seg⇒ypos fehlerhaft).
  • In den Klassifikatoren Jumbo, Ttf und Numplus wurden die OCR-A Ziffern nicht konsistent eingebunden - Teils nur als Basis-Kennungen innerhalb von Gruppenkennungen.
  • Seltener Absturz bei der Unterscheidung von Hand- und Maschinenschrift (Klassifikatoren Jumbo und Numplus).
  • Sehr seltener Absturz bei der Segmentierung unsinniger Bilder.
  • Falsche Spalten-Zuordnung in rel_lineshadow(), falls am Anfang oder Ende des zu erkennenden Bildes Weisspalten waren.
  • Die Zeichen 0x2609 bis 0x2612 (Markierungen) wurden in die Klassifikatoren Jumbo.rec, Hand.rec und Ttf.rec aufgenommen. Die Zweitkennungen der zugehörigen Unicode-Labels wurden von 'd' nach ' ' geändert. Die Zweitkennungen der Ersatz-Darstellungen sind unverändert ("@d", "_d" und "*d").
  • KADMOS-CL wird nicht mehr gepflegt oder weiterentwickelt.
29-März-2012
  • Sporadisch falsche Fehlermeldung "KADMOS läuft bereits auf diesem Computer" durch fehlende Thread-Synchronisierung unter Windows.
  • Falsche Ablage von Unicode-Kennungen in ANSI-Parameter-Dateien. Bei parm.code==CODE_UNICODE werden die Labels nun im Code UTF-8 in der Parameter-Datei abgelegt und beim Lesen auch in UFT-8 Kodierung anstelle von Unicode erwartet.
  • Wesentliche Verbesserung der Klassifikatoren durch eine neue "Turbo"-Technologie. Die verbesserte Klassifikation hat teilweise eine Überadaption erzeugt, so dass wir nun vermehrt Stichproben sammeln und einrechnen müssen. Dabei sind wir auf die Mithilfe unserer Kunden und Partner angewiesen. Eine deutliche Verbesserung hat sich bei Handschrift im alphanumerischen Bereich ergeben.
20-Jan-2012
  • Die Funktion rel_do() hat beim erstem Zeichen der Zeile die führenden Blanks nicht zurückgegeben.
16-Dez-2011
  • Die Funktion re_readimage() hat bei TIF-Bildern die Bild-Auflösung nicht zurückgegeben.
  • Erster Einsatz einer neuen Klassifikator-Berechnungsmethode. ie neuen 'Turbo'-Klassifikatoren zeichnen sich durch signifikant weniger Substitutionen aus. In den nächsten Monaten wird diese Technologie konsequent auf alle KADMOS-Klassifikatoren angewendet.
10-Nov-2011
  • Bei rep_do() mit Multithreading wurden in RepResult die Koordinaten top und left nicht zurückgegeben.
13-Okt-2011
Die Grösste, aber am wenigsten sichtbare Änderung ist die Umstellung auf 64-Bit-Variablen in KADMOS sowie in allen Programmen, die zur Datensammlung und Klassifikator-Berechnung benötigt werden.

Die grössten sichtbare Veränderungen sind:
1 Einsatz von Multi-Threading beim Modul REP (rep_do()). In der Standard-Version von KADMOS wird der Parallel-Betrieb mit zwei Threads unterstützt. In der neuen Server-Version wird der Parallel-Betrieb auf allen verfügbaren Threads unterstützt. Dadurch kann bei entsprechenden Prozessoren ein Gewinn an Geschwindigkeit erzielt werden - so etwa Faktor 10 beim Intel i7. Die Server-Version liegt preislich beim Vierfachen der Standard-Version. Im Programm Famulus kann die Erkennung in beiden Varianten gestartet werden. Im Ergebnis-Fenster kann man sich dabei die jeweilige Erkennungs-Geschwindigkeit anzeigen lassen. Mithilfe der neuen Parameter GENERAL_REPMULTITHREADING und GENERAL_MULTITHREADING kann das Multithreading deaktiviert werden.
Sollten Sie beim Umstieg auf KADMOS 5.0 auf eine Fehlermeldung wie etwa "KADMOS läuft bereits auf diesem Computer" stossen, dann haben Sie in aller Regel zu wenige KADMOS-Lizenzen geordert. Sie sollten dann entweder eine Lizenz nachbestellen (4.4 oder 5.0), oder (bei echtem Server-Betrieb) gleich auf eine "KADMOS Server"- Lizenz umsteigen.
2 Neue Verfahren zur Klassifikator-Berechnung und Diskriminierung. Sie bringen eine deutliche Verbesserung der Erkennungsqualität. rec_value, der Vertrauenswert der Erkennung, hat jetzt eine inhaltlich klare Bedeutung. Bei den einzelnen Basis-Klassifikatoren werden 99% aller Zeichen aus unserem riesigen Datenfundus mit einem rec_value unter 32 erkannt. 99,9% haben einen rec_value unter 64, 99,99% einen rec_value unter 96. Bei Klassifikatoren mit etwa 100 oder 150 Zeichenklassen gilt dieses Verhältnis analog: 90% haben einen rec_value unter 32, 99% unter 64, 99,9% unter 96. Ein Absenken der Rückweisungs-Schwelle um 32 führt also in etwa zu einer zehnfachen Menge an Rückweisungen. Dies alles gilt natürlich nur für die Einzelzeichen-Erkennung REC. Bei der Zeilen-Erkennung REL verschieben sich diese Werte dadurch, dass rec_value kombiniert wird mit Bewertungen der Lage des Zeichen in der Zeile, mit Bewertungen des Fonts des Zeichens im Verhältnis zum Font des umliegenden Wortes sowie weiterer Bewertungen. Durch diese Zuordnung von Rückweisungs-Schwelle und dem Prozentsatz rückgewiesener Zeichen ist eine einfache Regel ableitbar: Beträgt der Anteil rückgewiesener Zeichen bei der Schwelle 64 mehr als 5 oder 10 Prozent, so macht eine Datensammlung zur Nachbelehrung des Klassifikators unbedingt Sinn. Im Programm Famulus.exe wurde wurde im Resultat-Fenster ein zusätzlicher Menü-Punkt "Rückweisungs-Raten" eingerichtet, unter dem nach jeder Erkennung die betreffenden Rückweisungs-Raten angezeigt werden. Im Zusammenhang mit dieser Veränderung wurde die Voreinstellung für den Parameter parm.reject_limit auf 128 gesetzt. Trotz Verkleinerung bei diesem Wert werden mit der neuen Version mehr Alternativen generiert als mit der alten Version und dem früheren Wert 150. Um ein vergleichbares Verhalten mit der alten Version zu erreichen, sollte reject_limit auf einen Wert von etwa 110 gesetzt werden.

Im Programm Famulus.exe wurde im Resultat-Fenster ein zusätzlicher Menü-Punkt "Rückweisungs-Raten" eingerichtet, unter dem nach jeder Erkennung die betreffenden Rückweisungs-Raten angezeigt werden.
Es wurden Vorbereitungen getroffen, dass KADMOS im Laufe des nächsten Jahres intern komplett auf die Verwendung von Unicode umgestellt werden kann. Das ermöglicht dann die Einbeziehung von Schriften, für die keine Codepage existiert (zum Beispiel Koreanisch).
Zwei neue Funktionen Funktionen rel_find() und rel_findg() wurden bereitgestellt. rel_find() sucht in Schwarz-Weiss-Bildern nach einer vernünftig erkennbaren Text-Zeile. rel_findg() tut das Gleiche für Maschinenschrift in Graubildern, die oftmals Probleme bei der Binarisierung bereiten. Als Beispiel sei hier die Erkennung von Seriennummern auf Banknoten genannt.
Bei den Funktionen re_(w)readparm(), re_(w)writeparm() und GetPrivateFileName() wurde für Windows die Voreinstellung des Verzeichnisses geändert, falls kein Pfad beim angegebenen Dateinamen spezifiziert wurde. Das war notwendig, weil Windows Vista und Windows 7 mit der bisherigen Voreinstellung (Windows-Verzeichnis) nicht mehr korrekt arbeiten. Die neue Voreinstellung bei Windows ist jetzt - wie schon bisher bei Linux - das Arbeits-Verzeichnis (WorkDir). Will man dies ändern, so kann man die neue Umgebungsvariale "kadmos_inifiles" verwenden und mit dem Namen eines anderen, gewünschten Verzeichnises besetzten.
In kadmos.h wurde REC_CHAR_SIZE von 8 auf 16 Byte erweitert, um den späteren Einsatz von Unicode 32-Bit Codierungen vorzubereiten.
Siehe unter "was ist neu ... " im Handbuch.
01-Jun-2011
  • Übernahme einiger Bugfixes von KADMOS 5.0 in die letzte Version von KADMOS 4.4

  • Die Funktion rel_do() hat beim erstem Zeichen der Zeile die führenden Blanks nicht zurückgegeben.
05-Mai-2011
  • Fehler in rel_do(). Die horizontale Position der erkannten Zeichen (left) wurde bei Bildern mit weissem linken Rand nicht korrekt zurückgegeben.
24-Jan-2011
  • Fehler in respell_do(), falls rep_repeat sowie Parameter für Schmutzentfernung in rep_do() gesetzt waren.
14-Jan-2011
  • Sporadische, falsche Fehlermeldungen bei der Schmutzentfernung in Bildern, die höher als breit sind.
  • Fehler bei der Binarisierung von Pseudo-Farbbildern, das heisst von Bildern, die zwar als Farbbilder abgelegt sind, aber keine Farben enthalten.
08-Dez-2010
  • Bei gesetztem Parameter TYPO_KEEPIMG wurden Bilder nicht korrekt gespeichert.
  • Fehler in respell_do() bei gesetzten Parametern rel_repeat und rep_repeat.
08-Qkt-2010
  • Bei gesetztem Parameter TYPO_NOLIGATURES wurden in seltenen Fällen Teile einer Zeile verschluckt.
  • Bei gesetztem Parameter TYPO_KEEPIMG traten Fehler bei der Speicherfreigabe auf.
23-Sep-2010
  • Seltener Protection Error in rep_do() und bei der Linien-Entfernung.
  • Verschiedene seltene Protection Errors in rel_do().
  • Einwöchiger Dauer-Massentest ohne Fehler.
16-Aug-2010
  • Fehlerhafte Plausibilitäts-Prüfung in rel_do() bei Bildern, die intern durch Skalieren (PREP_SCALING) vergrössert wurden.
  • Verbesserte Behandlung der kleinen i ohne i-Punkt.
22-Jul-2010
  • Fehler in respell_do() bei gesetztem Parameter rel_repeat oder rep_repeat.
  • Aufnahme der Zeichen kleines i ohne Punkt als Basiskennungen für i in allen betroffenen Klassifikatoren: i. j. ix für Maschinenschrift und i* j* für Handschrift.
  • Qualitäts-Verbesserungen in respell_do().
22-Jun-2010
  • Seltene Protection-Error in rep_do(), rel_do() und respell_do().
  • Kadmos lief in einem Dauertest über mehrere Tage mit mehreren Millionen Bildern fehlerfrei.
02-Jun-2010
  • Seltener Protection-Error in rep_do(), falls das Bild vertikale Linien enthält oder falls sich Komponenten über mehrere Zeilen erstrecken.
  • Seltener Protection-Error in respell_do().
  • Seltener Protection-Error bei der Vorverarbeitung.
  • Fehler in code_expand_lig() bei CODE_UNICODE.
  • Memory-Leak in rel_do().
  • Verbesserte Erkennung von Screen-Shots (etwa von Browser-Ausgaben).
  • Verbesserter Fraktur-Klassifikator.
  • Kadmos verfügbar für 64-Bit-Linux.
19-Apr-2010
  • Falsche Ersatzkennung und falsche Höheninformationen in den Fraktur-Alc-Dateien für das Zeichen LATIN CAPITAL LETTER N WITH TILDE Fraktur (Unicode 0x00d1, Zweitkennung "f"). Falsch: "*s". Richtig: "=s". Die Umsetzung der falschen in die richtige Ersatzkennung erfolgt von KADMOS wenn erforderlich automatisch.
  • Fehler bei der Font-Auswahl in den Funktionen re?_config?() aus reConfig.dll.
  • Fehler beim Support für Multithreading - KADMOS war unter Windows 2000 und unter Windows XP ohne SP1 nicht mehr lauffähig.
  • Neue Kennungen ´ , ´_ , ` und `_ in allen Maschinenschrift- und Handschrift-Klassifikatoren (jumbo*.rec, ttf*.rec, hand*.rec).
  • Neue Zeichen und Basiskennungen für Griechisch und Kyrillisch:
    F2 ⇒ Unicode 0x03A6 ⇒ wie Fg aber ohne Serifen.
    F4 ⇒ Unicode 0x0424 ⇒ wie Fk aber ohne Serifen.
    f4 ⇒ Unicode 0x0444 ⇒ wie fk aber mit Serifen.
    f6 ⇒ Unicode 0x03C6 ⇒ wie fg aber mit Serifen.
  • Erweiterte Unterstützung für die Arbeit mit zwei Wörterbuchern. Neue Funktionen rel_config3(), rep_config3(), re_readparm3(), re_wreadparm3(), re_writeparm3(), re_wwriteparm3(). Neuer Parameter respell_font für ReSpell. Dadurch kann das jeweilige Wörterbuch auf Texte beschränkt werden, die mit diesem Font gedruckt oder geschrieben sind.
  • Verbesserte Auswertung der Wörterbuch-Information im Zusammenhang mit rel_repeat und rep_repeat.
26-Feb-2010
  • Fehler beim Umsetzen in Unicode.
23-Feb-2010
  • Fehler in der neuen Blank-Erkennung für Proportionalschrift.
  • Fehler beim Auflösen von Ligaturen (code_expand_lig()) bei CODE_UNICODE.
  • Fehler in der Voreinstellung von re_GetErrorConfig().
  • Verbesserungen beim Thai-Klassifikator.
01-Feb-2010
  • Falsche Höheneinträge bei den arabischen Zeichen für Null (0I, 0i, 0M, 0m, 03) in den zugehörigen Klassifikatoren Jumbo*, Hand*, Ttf* und Numplus*.
  • Falscher Höheneitrag beim Zeichen .d in den zugehörigen Klassifikatoren Norm*.
  • Fehler in den Funktionen re*_(w)textline() bei CODE_UNICODE und TEXT_FORMAT_KADMOS_MULTIBYTE.
  • Gelegentlich zerstörter Memory-Heap in rel_do().
  • Verbesserte Blank-Erkennung bei Proportionalschrift.
  • Verbesserte Wörterbuch-Suche bei alternativen Erkennungs-Resultaten.
  • Deutlich erweiterte Anzahl von Wörterbüchern zum Downloaden von unserer Website.
  • Thai Maschinenschrift-Klassifikator fertiggestellt.
13-Okt-2009
  • Verbesserte Unterscheidung von Gross- und Kleinbuchstaben in rel_do().
  • Bei den Funktionen für die Unterstützung von Multithreading wurden immer noch einige Handles nicht korrekt abgemeldet.
  • Wiederum ein sehr seltener und sehr alter Protection-Error in rel_do().
  • Leere Dateien wurden von re_?readparm?() nicht korrekt geschlossen.
13-Okt-2009
  • Erster Klassifikator füe Thai Maschinenschrift verfügbar.
  • Es können jetzt mehrere Wörterbücher hintereinander geschaltet werden.
  • Seltener Protection-Error in rel_do() und rep_do().
  • Gelegentlich unvollständige Bild-Übertragung in re_image2bmp(), falls image.subimage besetzt war.
  • Beim den Funktionen für die Unterstützung von Multithreading wurden einige Handles nicht korrekt abgemeldet.
31-Juli-2009
  • KADMOS unterstützt Multithreading. Dazu gibt es eine neue Funktion: extern KADMOS_ERROR KADMOS_API re_ClearThreadData(void); Diese Funktion ist jeweils unmittelbar vor Beendigung eines Threads aufzurufen.
  • Famulus unterstützt Textausgabe im Unicode.
  • Memory-Leak in rep_do() bei (fast) leeren Bildern, die nur Schmutz enthalten.
  • Seltene Memory-Probleme bei Bildern mit Graphik-Anteilen.
27-Apr-2009
  • Stabiler Absturz von rec_init() unter Windows Vista.
15-Apr-2009
  • Gelegentliches "Verschlucken" der letzten Textzeile in rep_do()
  • Neue Zeichenklassen Doppel-Null Maschinenschrift (08) und Handschrift (09) in den entsprechenden Klassifikatoren.
    Achtung: Wenn die Erkennungsergebnisse direkt von rec_char[] abgeholt werden, so müssen sie mit der Funktion code_expand_lig() in die richtige Anzahl von Einzelzeichen gewandelt werden.
  • CODE_ASCII_GREEK_EXTENDED entfällt.
28-März-2009
  • Komplette Neugestaltung der Zeilentrennung in REP.
  • Deutlich verbesserte Linien-Entfernung in der Vorverarbeitung.
09-März-2009
  • Seltener Protection-Error beim Aufruf einer SSE4-Routine.
28-Jan-2009
  • Fehler beim Aufruf einer SSE4-Routine bei der Merkmalsberechnung.
05-Dec-2008
  • Komplett neu berechnete Klassifikatoren Jumbo*.rec, Hand*.rec, Ttf*.rec, Numplus*.rec, Numbers*.rec und Fraktur*.rec mit deutlich verbesserter Erkennung.
  • Erweiterung der Französischen Maschinenschrift-Klassifikatoren für Frankreich, Belgien und die Schweiz um die Zeichen OE und oe (Unicode 0152 und 0153).
  • Erweiterung aller Lateinischen Maschinenschrift-Klassifikatoren um die Ligaturen fi und fl (Kadmos Kennungen <w und >w).
  • Erweiterung des Griechischen Maschinenschrift-Klassifikators um das Beta Symbol (Unicode 03D0).
  • Aufnahme der Kyrillischen Maschinenschrift-Zeichen Unicode 0402, 040B, 040F, 0459 und 045A in die Klassifikatoren Jumbo.rec und Ttf.rec (Serbisch).
  • Verbesserung des Pixel-Editors im Programm Sichten.exe.
03-Nov-2008
  • Fehler in respell_do(), falls rel_graph_out_maxlen oder rel_result_out_maxlen zu klein gewählt waren.
  • Fehlerhafte Markierung der Thai-Ziffern in den entsprechenden Klassifikatoren.
  • Ispell akzeptiert keine Worte der Länge 1.
  • Fehler in HashMaker bei der Ergänzung von Worten in einer Hash-Datei.
  • Beim HashMaker darf das Zeichen '/' jetzt auch als reguläres Zeichen in Wortlisten vorkommen, sofern keine Affix-Datei verwendet wird.
  • Codepages 720, 1256 und ISO-8859-6 werden unterstützt.
14-Okt-2008
  • Seltener Protection-Error beim Einsatz der US-Ziffernklassifikatoren.
08-Okt-2008
  • Dauerschleife unter Windows bei einigen Fehlermeldungen.
25-Sep-2008
  • Beispielprogramm für Visual Basic 8.0 verfügbar.
  • Seltene Abstürze in rel_do(), falls TYPO_NOTOUCHINGCHARS gesetzt war.
  • Seltene unsinnige Fehlermeldungen bei der Fleck-Entfernung (SPOT_REMOVAL).
16-Sep-2008
Für die Klassifikatoren Jumbo*.rec, Hand*.rec, Ttf*.rec und Fraktur*.rec wurden eine grosse Menge von neuen Stichproben gesammelt und eingerechnet, insbesondere akzentuierte Zeichen.
Die Klassifikatoren Ttf*.rec wurden um die Zeichen « und » erweitert, sowie um die Ligatur ffl. Bei den Fraktur- Klassifikatoren wurden die Ligaturen sch und ffl ergänzt.
In Vorbereitung eines Thai-Klassifikators wurden die thailändischen Ziffern in Handschrift und Maschinenschrift implementiert.
Aus den Klassifikatoren Numplus*.rec wurden die Zeichen D und M in Handschrift und Maschinenschrift entfernt.
Die Erkennungsgeschwindigkeit von Kadmos wurde auf Prozessoren, die SSE3 oder SSE4.1 unterstützen, erheblich beschleunigt.
Im übrigen sind die Schnittstellen von Kadmos gegenüber Version 4.3 unverändert.
Siehe auch "was ist neu ..." im Handbuch.
15-Mai-2008
  • Integration von RESPELL im Beispiel-Programm Repdemo.c.
  • Fehlerhafte Rückgabe der Kennungen in parm.labels2 nach re?_info() bei parm.code==CODE_UNICODE.
  • Fehler im Beispiel Java Konsole für die Integration von RESPELL.
  • Fehlerhafte Rückgabe der Koordinaten der Resultate (RelResult) bei Anwendung von rel_repeat oder rep_repeat in RESPELL.
15-Ap-2008
  • Protection Error in respell_do() bei Dokumenten mit Graphik oder Bildern.
  • Für iSpell-Wörterbücher wurde die Option ALLOW_COMPOUND_WORDS voreingestellt. Somit entfällt der Parameter ISPELL_ALLOW_COMPOUND_WORDS. Mit einem neuen Parameter RESPELL_ALLOW_COMPOUND_WORDS kann Voreinstellung in der Struktur ReSpellParm unter 'respell_config' nun wieder verändert werden.
28-Mar-2008
  • Die Library-Version von Kadmos ist jetzt auch für Windows 64 Bit verfügbar.
26-Okt-2007
  • Umstieg auf Microsoft-Compiler MSVC 8.0. Hier gibt es keine single-threaded Compilierung mehr, die Bibiliotheken *_st.lib entfallen also. Durchgängiger Einsatz der neuen, sicheren String-Funktionen str???_s() und wcs???_s(). Für die Abwärts-Kompatibilität zu früheren Microsoft-Compilern wird statt ftol2.c jetzt eine Quelle strxxx_s.c mitgeliefert, welche die verwendeten neuen Funktionen sowie ftol2() emuliert.Seltener Fehler bei der Erkennung von Zahlwörtern.
  • KADMOS arbeitet jetzt auch mit Hunspell-Wörterbüchern von OpenOffice. Dafür gibt es unter Windows eine zusätzliche Dll Hunspell.dll. Der Parameter ispell_maxlen in kadmos.h wurde umbenannt in respell_maxlen, der Parameter ispell_minlen wurde gestrichen.
  • RESPELL bearbeitet jetzt auch Wörter, die zwischen sicher erkannten Sonderzeichen stehen.
  • Fehlerhafte Anzeige der ausgewählten Klassifikator-Kennungen in reConfig.dll.
  • Fehler in der Funktion code_expand_lig() und damit auch in den Funktionen re*_textline() für CODE_UTF_8.
  • Fehler bei der Ausgabe von List-Dateien im HashMaker (Sortierung, Flags).
  • Seltenes "Verschlucken" breiter Zeichen beim Setzen der Parameter TYPO_NOLIGATURES oder TYPO_NOTOUCHINGCHARS.
26-Okt-2007
  • Seltener Fehler bei der Erkennung von Zahlwärtern.
16-Okt-2007
  • Fehler in re_writeimagefile() bei Rasterbilddateien (*.ras).
  • Fehler bei der Verarbeitung von Codepage UTF-8 (CODE_UTF_8).
12-Sep-2007
  • iSpell-Wörterbücher können herunter geladen werden.
  • Font Farsi wurde in den Klassifikatoren jumbo.rec, hand.rec, ttf.rec und numplus??.rec nicht korrekt gekennzeichnet.
  • Von re_readparm(2) wurde der Parameter 'labels' nicht korrekt eingelesen.
  • Fehler beim Einsatz des grossen Klassifikators Jumbo.rec.
  • Fehler beim Sammeln von Rasterbildern mit TYPO_KEEPIMG, sofern ein Wörterbuch aktiviert und dort rel_repeat oder rep_repeat gesetzt waren.
28-Aug-2007
Die Griechisch-, Kyrillisch- und Fraktur-Klassifikatoren wurden um den lateinischen Zeichensatz erweitert, der Klassifikator Numplus.rec um die arabischen und farsi (bisher arabisch-indischen) Ziffern. Zur Steuerung der Erkennung in diesen Fällen wurde ein neuer Parameter font struct ReParm eingeführt. Die Makros ALC_HAND bis ALC_FONTS wurden gestrichen, statt dessen gibt es jetzt die Makros FONT_HAND und FONT_MACHINE, FONT_LATIN bis FONT_THAI, sowie FONT_OCRA bis FONT_BRAILLE, welche den neuen Parameter bedienen. Dies entspricht einer Aufteilung des bisherigen Parameters alc in zwei Parameter alc und font sowie einer Erweiterung um die Fonts FONT_LATIN bis FONT_THAI. Die bisherige Bezeichnung ARABIC_INDIAN wurde durch die gebräuchlichere FARSI ersetzt. Dem 4.2-Klassifikator numplus.rec entspricht in Version 4.3 der neue Klassifikator numpluseu.rec, dem alten Klassifikator numplusa.rec der neue Klassifikator numplusus.rec.
Zur Unterstützung von Unicode-Dateinamen wurden alle KADMOS-Funktionen, die mit Dateinamen aufgerufen werden, um eine Wide-Character-Version erweitert. Diese neuen Funktionen sind rec_winit(), rel_winit(), rep_winit(), respell_winit(), re_wreadparm2(), re_wwriteparm2(), re_wopenimagefile(), re_wreadimage(), re_wwriteimage() und re_collect_winit(). Die Funktionen rec_filetitle(), rel_filetitle(), rep_filetitle() und respell_filetitle() geben den Dateinamen als wchar_t zurück, falls die Initialisierung mit einer der Funktionen re*_winit() erfolgt war.
Ebenso wurde zur Unterstützung von Programmen unter Unicode die KADMOS- Fehlerbehandlung für Unicode erweitert. So gibt es jetzt neben der bekannten Struktur re_ErrorText eine neue Struktur re_wErrorText, bei der die Fehlertexte als Unicode-Strings abgelegt sind. Entsprechend gibt es neue Funktionen re_wGetErrorText(), re_wSetErrorText(), re_wDisplayErrorText(), re_wSetErrorHandler(), re_wGetErrorHandler() sowie die zusätzliche Definition von re_wErrorHandler.
Unter Windows lesen beziehungsweise schreiben die Funktionen re_?readparm?() und re_?writeparm?() bei fehlender Laufwerks- und Verzeichnis-Angabe nicht mehr im Windows- Verzeichnis, sondern im aktuellen Arbeits-Verzeichnis (wie bisher bereits unter Linux). Bei gleichzeitiger Verwendung einer Funktion wie etwa GetPrivateProfileString() oder WritePrivateProfileString() ist also zuvor der Dateiname der Parameter-Datei durch einen Aufruf von _fullpath() zu vervollständigen.
In der Datenstruktur ReSpellData wurden neue Elemente rel_repeat, rep_repeat und repr_rect aufgenommen. rel_repeat kann mit der Adresse der initialisierten Datenstruktur RelData besetzt werden, mit welcher die Textzeile vor dem Aufruf von respell_do() erkannt worden ist. In diesem Fall versucht respell_do() für alle Worte, die nicht im Wörterbuch gefunden wurden, eine erneute Erkennung mit leicht veränderten Parametern. Analog gilt dies für rep_repeat, falls vor den Aufrufen von respell_do() rep_do() aufgerufen worden war. Hierbei ist zusätzlich vor jedem Aufruf von respell_do() unter repr die RepResult-Datenstruktur einzutragen, die das Erkennungsergebnis der jeweiligen Textzeile enthält.
Insgesamt wurde die Leistungsfähigkeit von ReSpell deutlich verbessert. Mit einer neuen Schnittstelle wurde darüber hinaus die Mäglichkeit geschaffen, eigene SpellChecker direkt an KADMOS anzuschliessen. Hierzu wurden in die Struktur ReSpellData die neuen Elemente oem_spell_lookup, oem_codepage, oem_wordchars und oem_reject_char aufgenommen.
Ein neues Programm HashMaker macht es möglich, aus iSpell-Wörterbüchern die Wortlisten und Affix-Dateien zu extrahieren, sowie Wortlisten zu erweitern, zu kombinieren und wiederum in iSpell-Wörterbücher zu integrieren. Aus eigenen Wortlisten, die als simple Text-Datei abgelegt sind, können nun ganz einfach entsprechende iSpell-Wörterbücher erzeugt werden.
Sieheunter was ist neu in ... im Handbuch.
06-Feb-2007
  • Seltener Protection Error in rec_do() bei Bildern mit 128 Zeilen oder Spalten.
  • In den Klassifikatoren norm.rec und normocrb.rec werden die Ziffer 0b und der Grossbuchstabe Ob jetzt getrennt erkannt (nicht mehr 0b für beide Zeichen).
06-Sep-2006
  • Fehler in rep_group_labels().
  • Sporadisch fehlerhafte Auswertung von Wörterbuch-Einträgen.
  • Seltener Fehler (Division durch 0) bei Schmutz-Bildern in rel_do().
  • Fehler in re_readimagefile() beim mehrfachen Lesen des ersten Bildes (Bildnummer 0) in Tiff-Dateien mit nur einem Bild.
  • Neue Funktion respell_lookup() zur direkten Wörterbuch-Abfrage.
  • Direkte Wörterbuch-Abfrage im Famulus implementiert (Doppelklick auf ein Wort im Resultat-Fenster oder Funktionstaste F1 für das Wort unter dem Text-Cursor).
  • Erweiterung der Französisch- und Belgisch-Klassifikatoren um die Zeichen LATIN CAPITAL LETTER AE und LATIN SMALL LETTER ae.
  • Erweiterung der Java-Schnittstelle (kadmosjava.dll) sowie zusätzliches Beispielprogramm für NetBeans IDE 5.0 von Sun.
20-Jul-2006
  • Fehlerhafte Allokation in respell_init().
  • Verbesserte Klassifikatoren Maschinenschrift kyrillisch.
  • Neue Funktion re_rotateimage() zum Drehen von Bildern.
  • Einbindung dieser Funktion im Famulus unter 'Edieren'. Der Menüpunkt 'Invertieren' wurde von 'Darstellung' nach 'Edieren' verschoben.
16-Jun-2006
  • Seltener Fehler bei der Segmentierung in REL - Zeilen wurden nicht vollständig bearbeitet.
  • Die Funktionen re_readimagefile() und re_readimage() erzeugen bei leeren Bild-Dateien und leeren Bildern (Höhe*Breite==0) keine Fehlermeldung mehr sondern liefern stattdessen den Pointer NULL zurück.
  • ReSpell im Delphi-Beispielprogramm implementiert.
  • Neue Funktion re_imagehandle2image(), mit welcher das durch ein ReImageHandle gegebene Bild in eine ReImage-Datenstruktur eingetragen werden kann.
  • Unterstützung des UTF-8 Kodes.
  • Erweiterte und leicht veränderte Schnittstelle zu Java.
  • Deutlich verkleinerte und leicht verbesserte Klassifikatoren norm*.rec.
  • Leicht verbesserte Klassifikatoren mark*.rec und corner.rec.
04-Mai-2006
  • Integration von libpng Version 1.2.10 sowie Erweiterung für farbige PNG-Bilder.
28-Apr-2006
  • Fehler in der Steuerung der Segmentierung gemischter Vorlagen (Hand, Maschine). Beim Start der Segmentierung einer Zeile wurden zunächst die Font-Werte der Vorgängerzeile verwendet.
27-April-2006
  • Die Konstante (Makro) REP_RESULT war in kadmos.bas (Visual Basic) versehentlich klein geschrieben.
  • Geringe Fehler in der Bewertung durch rel_word_value().
  • Memory-Leak bei gesetztem Parameter deskew_min mit bestimmten Bildern.
  • Korrektur einer unsinnigen Fehlermeldung im Software-Kopierschutz der DLL-Version.
  • Fehler in der Funktion code_expand_lig() im Fall UNICODE.
  • Der Parameter reject_limit in ReSpellParm wurde gestrichen.
  • Neues Element result_flags in der Datenstruktur RelResult zur Kennzeichnung von Resultaten, die durch ein angeschlossenes Wörterbuch bestätigt (RESPELL) wurden (RESULT_FLAG_RESPELL_*). Entsprechende Veränderung in der Struktur RecData.
  • RESPELL arbeitet jetzt auch mit Wörterbüchern (*.hash) der Ispell-Version 3.3.
  • RESPELL bearbeitet jetzt auch Segmentier-Alternativen. Dies beansprucht natürlich viel Rechenzeit. Zum Steuern der Wörterbuch-Suche wurde ein neues Element respell_config in der Datenstruktur ReSpellData eingeführt. Es kann mit den Werten RESPELL_FAST_LOOKUP, RESPELL_NORMAL_LOOKUP und RESPELL_EXTENSIVE_LOOKUP besetzt werden. Eine weitere Optimierung (Rechenzeit, Leistung) ist in Arbeit.
  • Neue Klassifikatoren jumbo.rec und fraktur.rec. Sie sind 20%-25% kleiner und wiederum verbessert (weniger Substitutionen).
  • Zur besseren Lesbarkeit wird der Parameter code in re_writeparm?() dezimal statt hexadezimal ausgegeben. Für re_readparm?() sind beide Darstellungen zulässig.
14-Feb-2006
  • Kleines Memory Leak in rec_init(), also auch in rel_init() und rep_init().
  • Fehlerkorrekturen im Software-Kopierschutz-Modul.
  • Korrektur fehlerhafter Meldungen in Uninstall.exe.
  • Fehler bei der Bearbeitung leerer Bilder mit der Option GENERAL_PREP_ONLY.
  • Seltener Fehler bei der Binarisierung von Graubildern mit Einstellungen verschieden von PREP_GRAYTOBIN_MEDIUM.
  • Verbesserte Algorithmen zur Bildverkeinerung und Vergrösserung.
  • Zusätzlicher Parameterwert PREP_GRAYTOBIN_UNIFORM, um gleichmässig ausgeleuchtete Graubilder mit einer Schwelle zu binarisieren.
22-Nov-2005
  • respell auch für Visual Basic verfügbar.
  • Die Ispell Parameter ispell_config, ispell_minlen und ispell_maxlen wurden aus der Sruktur ReSpellParm in die Struktur ReSpellInit verlegt, da sie vor der Initialsierung von Ispell gesetzt sein müssen. Die int-Datentypen in den ReSpell Strukturen wurden als short deklariert, um auf verschiedenen Plattformen ein korrektes 8-Byte Alignment zu gewährleisten.
  • Die Integration von respell.h in kadmos.h wurde erforderlich, um respell auch für Visual Basic bereitzustellen.
  • re_closeimagefile() hat *.ras-Dateien nicht korrekt abgeschlossen.
20-Okt-2005
  • espell auch für Visual Basic verfügbar.
  • Die Integration von respell.h in kadmos.h wurde erforderlich, um respell auch für Visual Basic bereitzustellen.
29-Sep-2005
  • Unterstützung aller KADMOS Codepages durch respell.
08-Sep-2005
Es wurden neue Klassifikatoren für Frakturschrift berechnet. Bei Frakturschrift spielen Ligaturen eine grosse Rolle. Ein entsprechendes Konzept wurde erarbeitet. Für allgemeine Maschinenschrift wurden ebenfalls zwei Ligaturen ergänzt, "fi" und "fl". Die zugehörigen # Kennungen sind <w (fi) und >w (fl). Diese Kennungen werden von rec_do() zurückgeliefert. Um daraus wieder reguläre Texte zu erzeugen, wurde eine neue Funktion code_expand_lig() bereitgestellt. Die Funktionen re*_textline() rufen code_expand_lig() intern auf, so dass hier keine explizite Umwandlung zu erfolgen braucht
In alle Maschinen- und Handschrift-Klassifikatoren (jumbo*.rec, ttf*.rec, hand*.rec) wurden ausserdem die Kennungen „ und ” aufgenommen (0x84 und 0x94 in Codepage 1252).
m Klassifikator mark.rec wurde die Kennung .d (mit Ziffer gefüllte, aber unmarkierte Box) in @d umbenannt. Die Kennung .d bezeichnet neu den Punkt im font SEMI (norm*.rec).
Für die Klassifikator-Berechnungen wurden neue Strategien entwickelt. Alle Klassifikatoren wurden damit neu berechnet.
Der Anschluss von Wörterbüchern wurde implementiert. Dafür gibt es eine neue Include-Datei respell.h sowie zugehörige Bibliotheken respell_*.lib. Bei der Dll-Version von KADMOS sind die neuen Wörterbuch-Funktionen in kadmos.dll enthalten. Respell wurde kompatibel zu der Open Source Implementierung Ispell gestaltet. Dadurch ist der gesamte Ispell-Fundus von fertigen Wörterbüchern für KADMOS verfügbar, ebenso die dort bereitstehenden Werkzeuge zur Erstellung eigener Wörterbücher (http://www.gnu.org/software/ispell/ispell.html).
Da auch der Anschluss von Wörterbüchern mit Parametern konfigurierbar ist, wurden erweiterte Funktionen zum Konfigurieren sowie zum Schreiben und Lesen von Parametern bereitgestellt: rel_config2(), rep_config2(), re_writeparm2() und re_readparm2() . Die alten Funktionen rel_config(), rep_config(), re_writeparm() und re_readparm() sind unverändert einsetzbar.
Durch die universelle Einsetzbarkeit von Wörterbüchern macht die Anwendung von Trigramm-Techniken keinen Sinn mehr. Die entsprechenden Parameter und Struktur-Elemente wurden gelöscht. Da die neuen Wörterbuch-Funktionen eine bessere Selektion der Resultate gestatten, wurden die Segmentier-Alternativen erweitert: SEG_ALT hat neu den Wert 8. Zwei neue Makros TYPO_4_SEGALTERNATIV und TYPO_8_SEGALTERNATIV sichern die Kompatibilität mit den vorangehenden KADMOS- Versionen. Durch Setzen von TYPO_4_SEGALTERNATIV werden wie bisher nur maximal 4 Segmentier-Alternativen ermittelt. Voreingestellt sind 8 Segmentier-Alternativen (TYPO_8_SEGALTERNATIV).
Die Datenstruktur RelSpot und alle damit zusammenhängenden Daten wurden ersatzlos gestrichen.
Mit einem neuen Parameter deskew_min kann gesteuert werden, dass verdrehte Bilder gegebenenfalls vor der Erkennung in horizontale Lage gedreht werden. Die Blank-Erkennung bei Zahlen und Beträgen wurde verbessert.
Siehe auch unter "was ist neu .... " im Handbuch.
08-Jul-2005
  • Access violation bei der Blank-Erkennung in rel_do() bei der Erkennung von Zeilen, die nur aus Schmutz bestehen.
10-Jun-2005
  • Dauerschleife bei Blankerkennung in rel_do().
  • Access violation in kadmosj.dll, Funktionen RelGetResult() und RepGetResult().
01-Jun-2005
  • Blindenschrift-Klassifikator (6 Punkt Braille) auf Anfrage.
12-April-2005
  • Fehler bei der Auswertung der Parameter alc und labels, wenn von gemischter Einstellung (Hand+Maschine) auf singuläre Einstellung (nur Hand oder nur Maschine) umgestellt wurde.
15-Feb-2005
  • Korrektur der Windows-CE-Version für den Prozessor ARMV4.
  • Dauerschleife bei der Vorverarbeitung (morphing) in rel_do() seit Version 4.1f.
  • Deutliche Verbesserung bei der Binarisierung von Grau-Bildern.
15-Feb-2005
  • Korrektur eines Floating-Point Errors aus Version 4.1f
  • Leichte Verbesserungen bei der alternativen Segmentierung.
22-Dez-2004
  • rel_info() arbeitet nach einem Aufruf von rel_do() fehlerhaft.
  • Seltener Protection-Error in bei der Binarisierung von Graubildern.
  • rel_word_value() lieferte unsinnige Werte zurück.
  • Unsinnige Fehlermeldung in rep_do(), falls das übergebene Bild nur aus wenigen unsinnigen Komponenten bestand.
  • Korrekturen bei der Zeilenfindung in rep_do(). In seltenen Fällen wurde in einzelnen Zeilen Schmutz generiert.
  • Leicht verbesserte Trennung zusammenhängender Zeichen (Morphing).
  • Deutliche Verbesserung der Zeilenfindung in rep_do() bei Nadeldruck.
  • Entscheidend verbesserte Blank-Erkennung bei Hand- und Maschinenschrift. Die Fehlerrate bei der Blank-Erkennung konnte auf unseren Testdaten um 90% gesenkt werden.
02-Sep-2004
  • Fehler bei der Erkennung von maschinen-schriftlichen Zeichen S und s in den grossen Klassifikatoren Jumbo.rec und Ttf.rec.
18-Aug-2004
  • In seltenen Fällen wurden in rel_do() schmale Zeichen am Anfang einer Zeile als Schmutz weggeworfen.
09-Aug-2004
  • Beim Aufruf des Kontext-Dialogs in reconfig.dll wurden alle Klassifikator-Kennungen aktiviert.
  • Erweitertes Java-Beispiel (Fehlerbehandlung).
  • Für die folgenden Plattformen kännen zeitbeschränkte Mini-Developer-Kits direkt von unserer Web Site heruntergeladen werden: Windows NT-XP, Windows CE, Delphi, Visual Basic und Java.
26-Jul-2004
  • Schwarz/weiss BMP-Dateien mit RGB-Tabelle wurden von re_readimage() und re_readimagefile() invertiert eingelesen.
  • Seltener Memory-Fehler in rep_do() bei verschmutzten, doch sonst leeren Bildern.
  • KADMOS für WindowsCE/PocketPC verfügbar.
  • Zum Setzen und Abrufen von parm.labels unter Delphi wurden zwei neue Funktionen bereitgestellt:
      void KADMOS_API re_CharArrayToPointer(const char *array, long pointer, long len);
      void KADMOS_API re_PointerToCharArray(long pointer, char *array, long len);
24-Jun-2004
  • Verbesserte Speicherverwaltung in rep_do(), insbesondere für grosse Bilder.
22-Jun-2004
  • Unsinnige Fehlermeldung im Programm Chopper.exe bei Codepages ungleich 1252.
  • Fehlerhaftes Sammeln von Rasterbildern mit rel_collect_kernel() und kadmos.ini im Modus REL.
  • Die Zeichen Å und å fehlten in den finnischen Klassifikatoren.
  • In rep_do() wurden gelegentlich Buchstabenteile verschluckt.
  • Seltene unsinnige Fehlermeldung in rel_do() "Widersprüchliche Komponenten-Position".
  • Die Zeichen 5a und 6a (OCRA 5 und 6) wurden in die Klassifikatoren jumbo*.rec, ttf*.rec und numplus*.rec von den Zeichen 5 und 6 (Maschinenschrift 5 und 6) getrennt, um eine bessere Unterscheidung von 5 und 6 (Maschinenschrift) zu erzielen.
  • Verbesserte Speicherverwaltung in rep_do() und rel_do().
17-Mai-2004
  • Punktuelle Verbesserungen bei der Zeilen-Segmentierung, insbesondere für fette, zusammenhängende Maschinenschrift.
  • Verbesserung der Memory-Verwaltung für grosse Bilder.
  • Veränderte (vereinfachte) Funktion rel_lineshadow(). Das zurückgegebene Feld hat nun den Datentyp "unsigned char", der jeweilige Schatten bezieht sich direkt auf die Spaltennummer des zugrundeliegenden Bildes. Die Konstante SHADOW_OFFSET wurde damit bedeutungslos und wurde gestrichen.
08-Apr-2004
  • Protection Error in rec_init() beim Start mit einer Kommandozeile länger als _MAX_PATH.
  • Protection Error in rel_corr().
  • Bei der Angabe von Kennungen ist stets auch die Ersatz-Darstellung zulässig.
  • Mit dem Programm chopper.exe werden nun auch standardmässig die Programme Alcstrip.exe und Alcfill.exe mitgeliefert.
  • Punktuelle Verbesserungen in Jumbo*.rec, Hand*.rec und ttf*.rec.
Die Handschrift-Klassifikatoren wurden mit zusätzlichen Stichproben neu berechnet. Die Handschrift-Ziffer 4_ enthält eine neue Formklasse 41. Sie enthält solche Vierer, die als 'Blitz' geschrieben sind. Eine analoge Erweiterung gibt es bei den Handschrift-Zeichen 'S_' uns 's_' mit den Formklassen 'S5' und 's5'.
Die Codepages in kadmos.h wurden neu deklariert.
Drei neue Codepages wurden ergänzt:
- CODE_ASCII, welche nur 7-Bit-Kodierungen enthält (also alle Ersatz-Darstellungen).
- CODE_PAGE_1255 in Vorbereitung eines Hebräisch-Klassifikators.
- CODE_ISO_8859_8 in Vorbereitung eines Hebräisch-Klassifikators.
Zur Vorbereitung von Multi-Byte Darstellungen im Unicode wurde der Speicher rec_char für Resultat-Kennungen von 4 Byte auf 8 Byte erhöht (REC_CHAR_SIZE). Entsprechend wurde TEXT_FORMAT_KADMOS_2BYTE umbenannt in TEXT_FORMAT_KADMOS_MULTIBYTE.
Das Struktur-Element 'labels' in reParm ist neu als Pointer deklariert und wird von re?_init() entsprechend allokiert. Die Grösse des allokierten Speichers wird unter dem neuen Strukturelement labels_size zurückgeliefert. Die Freigabe von labels erfolgt in re?_end().
Das Makro REC_LSIZE wurde gestrichen. Da Parameter nun nicht mehr einfach kopiert werden können (überschreiben des Pointers labels!), wurde hierfür eine entsprechende Funktion bereitgestellt:
  KADMOS_ERROR KADMOS_API re_copyparm (ReParm *source, ReParm *destination);
Ein verbessertes Java-Beispiel wurde für die DLL-Version von KADMOS bereitgestellt.
Bei der Angabe von Kennungen ist stets auch die Ersatz-Darstellung zulässig. Ab 4.1b
Mit dem Programm chopper.exe werden nun auch standardmässig die Programme Alcstrip.exe und Alcfill.exe mitgeliefert. Ab 4.1b

12-März-2004
  • Fehler (RE_PARAMETERERROR) bei der Vorverarbeitung leerer Bilder in rep_do().
11-März-2004
  • Für die Eingabe von Datei-Namen bei Konsol-Programmen (Chopper, Info, Alcstrip, Alcfill, ..) unter Windows wurde die Verwendung des üblichen File-Open-Browsers ermöglicht. Dazu ist entweder in der betreffenden Menü-Zeile die F1-Taste zu drücken oder mit der Maus auf den Prompt-Text dieser Zeile zu klicken. Zur Aktivierung dieser Funktion ist die Datei filename.dll aus dem KADMOS Developer Kit in das Verzeichnis der aufgerufenen Exe-Datei zu kopieren.
04-März-2004
  • Die Handschrift-Klassifikatoren wurden mit zusätzlichen Stichproben neu berechnet. Die Handschrift-Ziffer '4_' enthält eine neue Formklasse '41'. Sie enthält solche Vierer, die als 'Blitz' geschrieben sind. Eine analoge Erweiterung gibt es bei den Handschrift-Zeichen 'S_' und 's_' - mit den Formklassen 'S5' und 's5'.
  • Die Codepages in kadmos.h wurden neu deklariert.
  • Drei neue Codepages wurden ergänzt:
    - CODE_ASCII, welche nur 7-Bit-Kodierungen enthält (also alle Ersatz-Darstellungen).
    - CODE_PAGE_1255 und CODE_ISO_8859_8 in Vorbereitung eines Hebräisch-Klassifikators.
    Die Sonderbehandlung bei der Detektion von Codepage 1252 (Umleitung auf ISO-8859-1) wurde gestrichen.
  • Zur Vorbereitung von Multi-Byte Darstellungen im Unicode wurde der Speicher 'rec_char' für Resultat-Kennungen von 4 Byte auf 8 Byte erhäht ( REC_CHAR_SIZE). Entsprechend wurde TEXT_FORMAT_KADMOS_2BYTE umbenannt in TEXT_FORMAT_KADMOS_MULTIBYTE.
  • Die Codepages in kadmos.h sind unterschiedlich aufgezählt.
  • Das Struktur-Element 'labels' in reParm ist neu als Pointer deklariert und wird von re?_init() entsprechend allokiert. Die Grässe des allokierten Speichers wird unter dem neuen Strukturelement 'labels_size' zurückgeliefert. Die Freigabe von 'labels' erfolgt in re?_end(). Das Makro REC_LSIZE wurde gestrichen. Da Parameter nun nicht mehr einfach kopiert werden kännen (überschreiben des Pointers 'labels'!), wurde hierfür eine entsprechende Funktion bereitgestellt:
      KADMOS_ERROR KADMOS_API re_copyparm(ReParm *source, ReParm *destination);
  • Ein verbessertes Java-Beispiel wurde für die DLL-Version von Kadmos bereitgestellt.
18-Feb-2004
  • Um Verwechslungen auszuschliessen, wurde der Parameter 'bufflen' in den Funktionen re?_textline() in 'buffsize' umbenannt. Er dient nunmehr zur Angabe der verfügbaren Grösse von 'buffer' in Byte (und nicht mehr in Zeichen).
12-Feb-2004
  • Unsinnige Fehlermeldung in chopper.exe: 'Keine Klassifikatoren für die ausgewählten Kennungen ...', obwohl die angegebenen Kennungen gar nicht ausgewählt wurden.
06-Feb-2004
  • Sporadischer Protection Error bei der Grid-Detektion in leeren Bildern.
  • Fehlerhafte Behandlung unsinnig spezifizierter Bildauflösungen in rel_do().
23-Jan-2004
  • Fehler in re_readimagefile() beim Lesen von *.ras Dateien.
20-Jan-2004
  • Speicherprobleme bei häufigem (10000++) Aufruf von re_hbitmap2image().
  • Die Wirkung des Parameters PREP_SCALING wurde für Bilder ohne Angabe einer Auflösung erweitert. Ist er gesetzt und die spezifizierte Auflösung xresolution==0 oder yresolution==0, so werden die übergebenen Bilder in rel_do() oder rec_do() wie folgt skaliert:
    - Bei reinen Handschrift-Klassifikatoren auf eine Zeilenanzahl von 64 Pixeln,
    - bei gemischten Klassifikatoren Hand+Maschine auf eine Zeilenanzahl von 48 Pixeln,
    - bei reinen Maschinenschrift-Klassifikatoren auf eine Zeilenanzahl von 32 Pixeln.
06-01-2004
  • Fehler in rel_do() beim Aufbau des Resultat-Grafen bei unsinnigen Bildern (ab 4.0g, Meldung als "Sort Error").
  • Fehler in rep_do() beim Aufruf von re_collect_init() vor rep_do(), falls rep_do() mit dem Parameter GENERAL_LINEPOSITION_ONLY aufgerufen wurde.
  • Fehler in rep_do() - die y-Koordinaten der Einzelzeichen in den erkannten Zeilen (rel_result) waren meist um den Wert 1 zu klein.
  • Fehler bei der Bestimmung der Koordinaten der Einzelzeichen, sofern der Parameter PREP_SCALING gesetzt war und eine Skalierung durchgeführt wurde. In diesem Fall hatte auch rel_collect_kernel() nicht korrekt gearbeitet.
  • Fehler beim Einlesen grauwertiger TIFF-Bilder.
  • Doppelte Allokation in re_clipboard2image(), dadurch nur unvollständige Speicherfreigabe in re_freeimage().
  • Inkorrekte Koordinaten und Projektionen bei der Schutzentfernung (SPOTREMOVAL).
20-11-2003
  • Seltener Fehler 'Komponenten-Nummer nicht gefunden' in rel_do().
  • Fehler in der Zeilenverfolgung in rel_do().
  • Fehler bei der Allokation von Bildern des Typs IMGTYPE_POINTERARRAY in der Funktion re_cloneimage(). Dadurch wurden die Bilder von re_freeimage() nicht korrekt freigegeben.
  • Korrekturen bei der alternativen Segmentierung in rel_do().
  • Korrekturen bei der Bestimmung von Leerzeichen bei Proportionalschrift.
  • Neuberechnung des Klassifikators mark.rec. Die Zeichenklasse '.d' (Box mit eingedruckter Nummer oder Punkt) ist isoliert belassen, wird also nicht mehr automatisch als 'unmarkiert' gewertet. Ein Klassifikator mark2.rec wurde für den einfachen Fall unmarkierter leerer und markierter Boxen bereitgestellt.
  • Etwa 10% schnellere Erkennung durch Optimierung interner Routinen.
  • Verbesserte Maschinenschrift-Klassifikatoren ttf*.rec, insbesondere für fetten Druck.
  • Schnelle Klassifikatoren *_s.rec bereitgestellt. Sie benötigen nur etwa 60% der Rechenzeit gegenüber KADMOS Version 4.0e bei nur geringfügig schlechterer Erkennungsleistung.
    Das Makro OPTIONS_FASTCHECK in kadmos.h wurde in OPTIONS_FAST umbenannt, seine Wirkung verallgemeinert.
  • Die *.alc-Dateien und chopper.exe wurden für die Verwendung bei kundenspezifischen Merkmals-Klassifikatoren verallgemeinert. Neu eingeführt bei *.alc-Dateien wurde dafür eine Sektion '[content]' mit der Angabe von 'labels'.
  • Neue Funktion rec_get_features(), mit welcher auf diejenigen Merkmale zugegriffen werden kann, die von KADMOS für die Einzelzeichen-Erkennung verwendet wurden.
25-Sep-2003
  • Verbesserter Klassifikator norm.rec, insbesondere für OCR-A (normocra.rec).
24-Sep-2003
  • Fehler beim Sammeln von Rasterbildern mit Kadmos.ini
16-Sep-2003
  • Verbesserter Klassifikator mark.rec.
  • Erweiterter Klassifikator corner.rec. Zusätzliches Zeichen BLACK SQUARE (Unicode 0x25a0) in diesem Klassifikator.
  • Seltener Protection Error bei der Zeilen-Verfolgung in rel_do().
  • Nach der Grid-Detektion in rep_do() wurde eine gesetzte Funktion rel_hook nicht aufgerufen.
18-Jun-2003
  • Überlange Rechenzeiten in rep_do() bei der Zeilenfindung in grossen Bildern.
  • TIFF-Dateien mit nur einem Bild wurden nach dem Lesen nicht ordungsgemäss freigegeben.
  • Fehler in der Binarisierung von Farbbildern im Falle von Bildern mit grossen Weissbereichen.
  • Der Famulus wurde erweitert, um auch Normschrift-Belege mit bis zu drei Zeilen mit KADMOS-CL erkennen zu können.
16-Jun-2003
  • Für den Parameter 'general' in ReParm wurde ein zusätzlicher Wert GENERAL_LINEPOSITION_ONLY bereitgestellt. Er ist nur für rep_do() wirksam. Ist er dort gesetzt, wird nur die notwendige Vorverarbeitung durchgeführt, keine Zeichenerkennung. Die Resultate werden wie gewohnt zurückgeliefert, in den Resultat-Strukturen sind jedoch nur die Positionen der (ansonsten zu erkennenden) Zeilenbilder abgelegt. Das gleiche gilt für die Message rep⇒hWND_line_message sowie für eine gesetzte Hook-Funktion rep⇒rel_hook.
  • Für den Parameter 'prep' in ReParm wurden zwei zusätzliche Werte PREP_RGBTOGRAY_COLORMIN und PREP_RGBTOGRAY_COLORMAX bereitgestellt. Ist PREP_RGBTOGRAY_COLORMIN gesetzt, so werden bei Farbbildern die Farben eliminiert, nur der Grau-Anteil bleibt erhalten. Ist PREP_RGBTOGRAY_COLORMAX gesetzt, so werden bei Farbbildern die Farben dunkel dargestellt, entsprechend dem Maximalwert des Rot-, Grün- oder Blau-Anteils.
  • Bei der Binarisierung (Umwandlung von Grau- in Schwarzweiss-Bilder) wurde eine adaptive Schwellenbildung neu entwickelt. Dadurch werden auch ungleichmässig ausgeleuchtete Bilder mit normalem Kontrast vernünftig binarisiert.
  • Der Famulus hat ein neues Fenster erhalten, in dem das Resultat der Vorverarbeitung dargestellt werden kann. Das Menü 'Filter' konnte somit enfallen.
  • Die Option OPTION_BASICLABELS wurde aufgeteilt in Spezifikation bei ReParm (labels) OPTION_BASICLABELS_PARM und in die Spezifikation bei den Resultaten (RecResult, RelResult) OPTION_BASICLABELS_RESULT. Wie bisher bewirkt das Setzen von OPTION_BASICLABELS beides.
  • Kadmos unterstützt jetzt auch die Erkennung beliebiger Objekte, welche durch kundenspezifische Merkmale gegeben sind. Dazu sind gekennzeichnete Merkmalssätze der Objekte bereitzustellen, aus denen von re Recognition eine entsprechende Rec-Datei berechnet wird. Für die Erkennung mit rec_do() sind die Merkmals-Vektoren unter RecData.image.data bereitzustellen. Die möglichen Werte von image.imgtype wurden in kadmos.h entsprechend ergänzt:
    #define IMGTYPE_FEATURE 4
    #define IMGTYPE_FEATURE_INT 5
    #define IMGTYPE_FEATURE_UINT 6
    #define IMGTYPE_FEATURE_FLOAT 7
  • Verbesserte Algorithmen zur Zeilenfindung in rep_do().
  • Neue und verbesserte Algorithmen zur Zeilenverfolgung, insbesondere bei kurzen Wörtern.
  • Update/Redesign der Visual-Basic-Schnittstelle. Insbesondere wurde die Fehlerbehandlung angepasst und es wird nun auch die Verwendung des Datentyps 'String' unterstützt. Dafür bereitgestellte neue Funktionen und Makros sind:
    re_ArrayToString(), re_StringToArray(), ARRAY_TYPE_BYTE, ARRAY_TYPE_WCHAR, re_GetErrorText_bas(), re_SetErrorText_bas(), re_DisplayErrorText_bas(), GetPointer(), FunctionAddress()
  • Die Bewertung der Schräge von Zeichen (Unterscheidung zwischen \, |, /) bei Aufrufen von rec_do() war Abhänging von der bei vorangegangenen rel_do() Aufrufen ermittelten mittleren Schräglage der Zeichen dieser Zeile.
  • Beim Chopper wurden in dem Menue "Auswahl von [reject] - Vermeidung von Substitutionen" zuweilen (fälschlicherweise) Kennungen angeboten, die dann (korrekterweise) nicht gewählt werden konnten.
  • Fehler bei der Schmutzentfernung. Trotz korrekt gesetzter Parameter wurde Schmutz in verschiedenen Fällen nicht entfernt.
  • Der Parameter PREP_SCALING wurde in rec_do() nicht korrekt ausgewertet.
  • Seltener Protection Error in rel_do() bei verschmutzten Bildern.
07-Apr-2003
  • Das Menü "Segmentierung" in reconfig.dll wurde erweitert um auch den Parameter parm.line_space im Dialog setzen zu können.
  • Die Berechnung der Schräge von Zeichen (slant, italic) konnte mit einem neuen Algorithmus wesentlich verbessert werden. Dies betrifft insbesondere die Zeichen Backslash, Vertical Mark und Slash.
  • Die Schräglagen-Information (slant) für Backslash ("\_", "\ ") fehlte in allen Klassifikatoren.
  • Bei rep_do() wurde die WM_USER-Message REP_LINE_CNT nicht mehr abgesetzt.
02-Apr-2003
  • Die Funktion re_createimage() hat in einigen Fällen zu wenig Speicherplatz bereitgestellt.
  • Bei der Linux-Version wurden die *.al0 und *.al1-Dateien im Verzeichniss 'wintools' versehentlich auch ohne 'Carriage Return'-Zeichen am Zeilenende abgelegt.
  • In seltenen Fällen Protection Error, falls rel_result_maxlen zu klein gewählt wurde.
  • Endlos-Schleife in sichten.exe, wenn die letzte Bildschirm-Seite vollständig gefüllt war und weitergeblättert wurde.
  • Neues C++ Beipiel reldemopp.cpp.
  • Bei den folgenden Funktionen werden unverändert belassene Parameter mit dem Attribut 'const' übergeben: re_SetErrorText(), rec_init(), rec_filetitle(), rel_init(), rel_filetitle(), rel_recset(), rep_init(), rep_filetitle(), re_writeparm(), re_writeimagefile(), re_writeimage(), re_image2clipboard(), re_cloneimage(), re_getpixel(), rel_textline(), repr_textline(), rep_textline(), rec_collect_kernel(), rel_collect_kernel(), GetRelGridParm(), SetRelGridParm(), GetRelGrid(), SetRelGrid(), GetRelGraph(), SetRelGraph(), GetRelResult(), SetRelResult(), GetRelSpot(), SetRelSpot(), GetRepResult() und SetRepResult().
  • Die bisherige Abweisungsklasse '#~' wurde mit Unicode 0x224B,0x0020 (TRIPPLE TILDE Maschinenschrift) und der Ersatz-Kennung '~4' bei jumbo.rec, ttf.rec und numplus*.rec in die Gruppe der Sonderzeichen aufgenommen.
  • Das Linken der mit Microsoft VC7 compilierten Bibliotheken unter Microsoft VC6 war nicht möglich, da dort eine Funktion ftol2() gefehlt hat. Eine solche Funktion (sie ruft einfach ftol() auf) wird jetzt mitgeliefert.
  • Um Kollisionen bei der Verwendung von Open-Source-Software für das Lesen und Schreiben von Bilddaten zu vermeiden, wurden die entsprechenden KADMOS-Funktionen bei der Library-Version von KADMOS in eine gesonderte Bibliothek reimageio.lib gestellt. Dies betrifft die Funktionen re_openimagefile(), re_readimagefile(), re_writeimagefile(), re_closeimagefile(), re_readimage() und re_writeimage(). Die Funktion re_freeimage() ist sowohl in reimageio.lib als auch in den Bibliotheken rec*.lib, rel*.lib und rep*.lib enthalten.
27-Feb-2003
  • Grauwert-TIFF-Bilder mit der Spezifikation PHOTOMETRIC_MINISBLACK statt PHOTOMETRIC_GRAYMINISBLACK wurden invers dargestellt.
  • Seltener Fehler "out_img⇒img_height<=0" bei verschmutzten Bildern in rel_do() und rep_do().
  • In einigen Fällen fehlende Speicherfreigabe in re_writeimage().
  • Vertauschte Koordinaten bei der Detektion vertikaler Linien (GRID_LINE_V): left⇒top, width⇒height.
  • Gelegentlicher Protection Error bei gemischtem Font (Jumbo*.rec, Numplus*.rec).
  • Zusätzliche Funktion re_image2hbitmap() bereitgestellt.
  • KADMOS Developer-Kit für Windows auf Microsoft .NET umgestellt. Dabei wurden diverse Compiler-Fehler bei der Optimierung/String-Verarbeitung festgestellt und durch Veränderungen unseres Codes neutralisiert. Deshalb empfehlen wir beim Umstieg ausführliche Tests.
14-Jan-2003
Neue Merkmalsbildung mit verbesserten Erkennungs-Resultaten. Sie kombiniert unser Winkel-Schnitt-Verfahren mit dem bewährten 'mesh'-Verfahren (früheres AEG Erkennungsverfahren). Die Erkennung wird trotz des höheren Berechnung-Aufwandes nur zwischen 10% und 30% langsamer. Zusätzliche schnelle und kleine Klassifikatoren Jumbo_s_*.rec, Ttf_s_*.rec, Hand_s_*.rec, ...) zur schnellen Erkennung bzw. zur Einsparung von Speicherplatz (Pen-Computing). Geschwindigkeit und Qualität dieser Klassifikatoren entsprechen den Werten von KADMOS 3.5. An einer zusätzlichen Beschleunigung und Klassifikator-Reduktion wird gearbeitet. Zusätzliche Kennungen (Kyrillisch, Arabisch-Indische Ziffern). Zusätzliche Sonderzeichen ( ^ ¡ ¢ ¥ § © ® ¿ ) für Hand- und Maschinenschrift. Siehe was ist neu im Handbuch.
  • Neue Merkmalsbildung mit verbesserten Erkennungs-Resultaten. Sie kombiniert unser Winkel-Schnitt-Verfahren mit dem bewährten 'mesh'-Verfahren (früheres AEG Erkennungsverfahren). Die Erkennung wird trotz des höheren Berechnung-Aufwandes nur zwischen 10% und 30% langsamer.
  • Zusätzliche schnelle und kleine Klassifikatoren (Jumbo_s_*.rec, Ttf_s_*.rec, Hand_s_*.rec, ...) zur schnellen Erkennung bzw. zur Einsparung von Speicherplatz (Pen-Computing). Geschwindigkeit und Qualität dieser Klassifikatoren entsprechen den Werten von Kadmos 3.5. An einer zusätzlichen Beschleunigung und Klassifikator-Reduktion wird gearbeitet.
  • Zusätzliche Kennungen (Kyrillisch, Arabisch-Indische Ziffern). Zusätzliche Sonderzeichen (^ ¡ ¢ ¥ § © ® ¿) für Hand- und Maschinenschrift.
  • Das Handschrift-Zeichen E_ wurde in drei Formklassen aufgeteilt:
    E_ (eckige Form)
    E1 (wie C mit Querstrich)
    E7 (wie 3 gespiegelt)
  • Das Handschrift-Zeichen b_ wurde in zwei Formklassen aufgeteilt:
    b_ (gerade, einfache Form)
    b3 (geschwungene Form mit Schleife)
  • Die Technik der von KADMOS selbst verwalteten Allokation (Parameter GENERAL_HEAP_ALLOC) hat sich bewährt. Sie wurde deshalb fest implementiert, der Parameter GENERAL_HEAP_ALLOC entfällt.
  • Zusatzliche Abweisungsklassen für kritische Anwendungen (#-#/#?#60;#=#>#?#S#[#\#]#y#~). Eine Beschreibung der zugrundeliegenden Zeichenformen befindet sich in unserer Website.
03-Dez-2002
  • Seltener Fehler bei der Schmutzentfernung (SPOTREMOVAL) in gestörten Bildern.
  • Seltener Fehler bei Segmentierung - aufeinanderfolgende rel_do()-Aufrufe brachten für gleiches Bild und gleiche Parameter unterschiedliche Resultate.
  • Fehler bei der binären Filterung von Bildern mit 1 Byte pro Bildpunkt. Dies führte auch zu Fehlern in rel_do() bei Bildern mit 1 Bit pro Bildpunkt.
  • Bereits in Version 3.5s wurde durchgängig die Bezeichnung 'slope' (und alle abgeleiteten Namen) durch 'slant' ersetzt. ('slant' hat sich seit einer Reihe von Jahren als Bezeichnung durcgesetzt.)
  • Die JPEG- und PNG-Bild I/O Routinen bearbeiten jetzt auch die Bildauflösung.
  • Bis zu 128 Aufrufe von re?_init() können simultan erfolgen (bisher nur 32).
29-Oct-2002
  • Fehler bei Verwendung von Heap-Allokation in Kombination mit Hook-Funktionen.
  • Fehler bei Grid-Erkennung in rep_do(). Korrigierte Formel zur Bestimmung von 'rep_memory_size' in der Struktur ReInit:
    rep.init.rep_memory_size = MAX_LINE*sizeof(RepResult) + MAX_GRID*sizeof(RelGrid) + MAX_LINE*MAX_CHAR*sizeof(RelGraph) + MAX_LINE*MAX_CHAR*sizeof(RelResult) + MAX_LINE*MAX_SPOT*sizeof(RelSpot);
  • Zeichenklasse '.2' (dicker Punkt Maschinhenschrift) in den Klassifikatoren jumbo*.rec, ttf*.rec und numplus*.rec hinzugefügt.
22-Oct-2002
  • Unsinnige Fehlermeldung bei der Umsetzung von Unicode.
  • Fehler bei der Behandlung von Segmentier-Alternativen.
  • Fehler bei der Erkennung von Schrägstrichen.
  • Diverse Fehler im Basic- und Delphi-Interface behoben (fehlender Parameter, fehlende Funktion, veränderte Struktur).
  • Diverse Ungereimtheiten bei der Bild Ein- und Ausgabe beseitigt (Dateien mit mehreren Bildern), verbesserte Fehlerbehandlung.
  • Leicht verbesserte Klassifikatoren jumbo*.rec, hand*.rec, ttf*.rec und numplus*.rec. Das Zeichen '1a' (OCRA-Eins) wurde bei den Klassifikatoren jumbo*.rec, ttf*.rec und numplus*.rec ergänzt.
03-Sep-2002
  • [Linux]: In Kadmos.h werden "Anonymous union members" verwendet. Dazu sollte beim GNU Compiler (GCC v3.x) die Option "-std='gnu9x'" gesetzt werden.
  • Der Datums-Eintrag aller Kadmos-Quell-Dateien (*.h, *.c, ...) wurde für den Einsatz des CVS (Concurrent Versions System) verändert. Falls Entwickler das Kadmos-Developer-Kit ebenfalls mit Hilfe von CVS verwalten, sollte beim Updaten auf eine neue Kadmos-Version dort die die CVS-Option '-ko' gesetzt werden. Ohne diese Option '-ko' wird in die Quellen das Datum des Updatens eingetragen.
  • Implementierung der Erkennung von Vektor-Bildern (Pen-Computing) mit rec_do(), rel_do() und rep_do(). Dazu Einführung einer neuen Datenstruktur ReStroke in Kadmos.h. Die Funktion re_drawline() wird damit überflüssig und aus dem Developer-Kit gelöscht.
  • Das Developer-Kit enthält ein Beispiel (cppdemo.cpp) für die Einbindung von Kadmos in C++-Programme.
  • Veränderung von kadmos.ini ("savebmp"⇒"saveimg") wegen Pen-Unterstützung.
  • Einführung eines Parameters/Makros GENERAL_HEAP_ALLOC für parm.general. Die Allokation von Speicher verbraucht etwa 15% der Rechenzeit eines rep_do()-Aufrufs. Mit GENERAL_HEAP_ALLOC kann dies auf etwa 11% unter Windows 2000/XP gesenkt werden, auf unter 1% unter Linux. GENERAL_HEAP_ALLOC ist voreingestellt.
  • Leicht verbesserte Klassifikatoren jumbo*.rec, hand*.rec, ttf*.rec und numplus*.rec.
  • Neue Funktion KADMOS_ERROR KADMOS_API re_writeimagefile(ReFileHandle, ReImage *image) zur Ausgabe von Bildern als Bmp-, Tiff-, oder Ras-Datei. Die Funktion re_openimagefile() wurde dafür um einen Parameter char *mode erweitert ("r" für Lesen, "w" für Schreiben, "a" für Anfügen).
  • Das Developer-Kit enthält ein Beispiel (imgconvert.c) für die Anwendung von re_readimagefile() und re_writeimagefile() zur Wandlung von Bilddaten in ein anderes Format. Die Programme ras2tif.exe und tif2ras.exe wurden aus dem Developer-Kit entfernt.
  • Die Funktion re_SetErrorText() wurde in das Developer-Kit übernommen, um eine korrekte Übermittlung von Fehlermeldungen zu ermöglichen. Beispielhaft wurde sie in imgconvert.c eingesetzt. Zur Vereinheitlichung wurde der Rückgabewert von re_ClearError() auf 'void' gesetzt.
16-Jul-2002
  • Fehler in Spezialfall von rel_corr() bei der Verwendung von Codepages != 1252.
11-Jul-2002
  • Fehler in den re_collect_*()-Routinen bei mehrfachem Aufruf.
  • Komplettierung von re_readimage() und re_readimagefile() mit weiteren TIFF-Varianten (Graubilder).
  • Komplettierung von re_hbitmap2image() und re_clipboard2image() mit weiteren HBITMAP-Varianten.
  • Bereitstellung einer zusätzlichen Funktion re_image2clipboard().
  • Neue Funktionen zum Bearbeiten von ReImage
  • Erweiterung von famulus.exe mit direkter Spezifikation von Teilbildern und Kopier-Funktion.
  • Neuer Klassifikator corner.rec zur Erkennung von Kanten-Markierungen (Winkel zur Kennzeichnung von Beleg-Ecken).
  • Fehler in re_readimagefile() beim Lesen aufeinanderfolgender Bilder einer TIFF-Datei.
  • Unsinnige Fehlermeldung nach dem (erfolgreichen) Aufruf von re_image2bmp().
  • Erweiterung der Funktion von re_bmp2image() für Bitmaps mit separat gespeicherten Bits.
  • Fehler in rel_do() bei der Verwendung von Codepages != 1252.
  • Kadmos für Windows-CE / Pocket-PC (Pen-Computing) verfügbar.
13-Jun-2002
  • Das MFC-Beispiel Scribble ist nun Bestandteil des Developer-Kits REP.
  • Anpassung der Unicode-Zeitkennung der Zeichen LATIN SMALL D WITH CARON ("d,") und LATIN SMALL T WITH CARON ("t,") an die übliche Kodierung:
    0x010F,0x002C⇒0x010F,0x0032  0x0165,0x002C⇒0x0165,0x0032
11-Jun-2002
  • Funktionen rep_group_labels() und repr_group_labels() zum Wandeln der rep_do() Resultate von Basis-Kennungen in Gruppen-Kennungen wurden hinzugefügt.
  • Gelegentliche Abstürze bei der Textausgabe, sofern veraltete Dateien Kadmos.de, Kadmos.hu oder Kadmos.uk verwendet wurden.
  • Die automatische Erkennung, Voreinstellung und Bearbeitung der Codepages CODE_PAGE_858, CODE_PAGE_1251 und CODE_PAGE_1253 war nicht vollständig implementiert. Bei den Nicht-Windows-Systemen betrifft dies auch die Codepages CODE_ISO_8859_7 und CODE_ISO_8859_9.
  • Anpassung der Unicode-Zeitkennung der Zeichen LATIN CAPITAL L WITH CARON ("L,") und LATIN SMALL L WITH CARON ("l,") an die übliche Kodierung:
    0x013D,0x002C⇒0x013D,0x0032  0x013E,0x002C⇒0x013E,0x0032
13-Jun-2002
  • Neue Funktions-Deklarationen für Delphi.
  • Kadmos portiert auf das Operations-System AIX.
  • Eine Funktion re_hbitmap2image() (für Windows) wurde hinzugefügt.
  • Funktionen rec_group_labels() und rel_group_labels() zum Wandeln der rec_do() und rel_do() Resultate von Basis-Kennungen in Gruppen- Kennungen wurden hinzugefügt.
  • Protection-Error in rel_corr().
  • rec_info(), rel_info() und rep_info() haben parm.code verändert, ohne dass dies dokumentiert worden ist. parm.code bleibt nun unverändert.
  • In den Datein Griechisch-Klassfikatoren fehlten Zeichenklassen (Jumbogr.*, Ttfgr.*, Handgr.*).
  • Fehlerkorrektur bei den Deklarationen für Visual Basic.
  • In rel_do() und rep_do() wurden für Codepages ungleich ISO 8859_1 zuweilen fehlerhafte Resultate zurückgeliefert.
  • Von rel_do() und rep_do() wurden nur Basis-Kennungen zurückgegeben.
13-Mai-2002
  • Protection-Error in rep_do() bei stark verschmutzten Bildern.
07-Mai-2002
  • Protection Error in rep_do() wenn in einem Subimage Zeilen gefunden und an rel_do() weitergeleitet wurden, obwohl sie nur Schmutz enthielten.
03-Mai-2002
  • OPTIONS_STRICTSELECT ist jetzt voreingestellt für parm.options.
  • Die Deklaration von GetPrivateFileName() ist jetzt in Kadmos.h enthalten.
  • Korrektur der Handschrift-Basisklassifikatoren für 0_-D_, U_-V_, C_-L_ und @_.
  • Protection-Error in rep_do() bei stark verschmutzten Bildern.
  • Die Schmutzentfernung in rec_do() arbeitete nicht korrekt.
  • Interner Fehler (gage<2) bei der Erkennung/Schmutzentfernung von Flecken.
  • Linien- und Boxen-Entfernung wurde auch in rec_do() implementiert.
  • Neue Funktionen rel_clear(), rel_recset() und rel_corr() zur Korrektur von Resultaten aus rec_do() gemäss der Zeichen-Position in einer Zeile. Dies wird unter anderem für das Pen-Computing benötigt. Ein Beispiel ist in RelDemo.c zu finden.
  • rel_char_space wird auch bei proportionlaler Zeichenteilung zurückgegeben.
27-Mar-2002
  • Aus der Zwischenablage werden nicht mehr nur Bitmaps mit 16 Bit per Pixel akzepiert.
  • Unterstützung grosser Dateien (>2GByte) für alle Plattformen.
  • rec_do() gibt für leere Bilder rec_value[0]==0 zurück, ansonsten stets rec_value[0]!=0. RE_EMPTYIMAGEERROR wird dadurch nicht mehr benötigt.
  • Verbesserte Linen- und Boxen-Erkennung.
  • Verbesserte Zeilentrennung in rep_do() - Pünktchen über Umlauten wurden gelegentlich abgetrennt.
  • Fehler bei der Bearbeitung von Bitmaps mit bis zu 16 Bit per Pixel ohne Farb-Tabelle.
  • Fehlerhafte Rückgabe der Resultate der Grid-Detektion in rel_grid.
  • rel_do() gab bei leeren Bildern die Resultate des letzten Aufrufs zurück.
  • Fehler in rep_do() bei extrem verschmutzten Bildern.
  • Fehler in rel_do(), der zu veränderten (falschen) Resultaten beim Sammeln von Rasterbildern führte.
06-Feb-2002
  • PREP_SCALING ist nicht mehr voreingestellt, um Fehler bei falsch übergebener Auflösung zu vermeiden.
  • Fehler beim Einlesen der Bild-Auflösung bei Tiff-Dateien.
  • Fehler bei der Weitergabe der Bild-Auflösung von rep_do() an rel_do().
  • Fehler bei der Erkennung von Schrägstrichen behoben.
  • Seltener Fehler in rel_do() - Division durch 0.
17-Jan-2002
  • Fehler bei der Übergabe der Grenzen des bearbeiteten Rechteckes an rep⇒rel_hook.
02-Jan-2002
  • Fehler bei der Segmentierung unterbrochener Zeichen.
  • Fehler bei der Bewertung von sehr seltenen Zeichen beim Anschluss von Kontext-Dateien.
  • Kadmos wird ab sofort von der Firma re Recognition AG, Hafenstrasse 50b, CH-8280 Kreuzlingen vertrieben.
28-Nov-2001
  • Ergänzung einiger noch nicht implementierter Fälle für das Zurückschreiben der Resultate der Vorverarbeitung mit PREP_INPLACE.
  • Fehler in rel_do() bei Wort-Kontext, sofern mehrere Klassifikatoren simultan eingesetzt werden.
26-Nov-2001
  • Fehler in rel_do() bei Bildern mit Auflösung ungleich 300 dpi und eingeschalteter Grid-Erkennung ohne Verwendung von GRID_END.
23-Nov-2001
  • Fehler in der Vorverarbeitung von Grauwert-Bildern in rel_do().
  • Das Delphi-Beispiel für die Anbindung von Kadmos wird bei der DLL-Version des Developer-Kits aktuell mitgeliefert.
07-Nov-2001
  • Fehler in reConfig.dll der Auswertung von parm.alc und parm.labels.
05-Nov-2001
  • Fehler in rec_do() bei Bildern grösser als 128*128.
  • Entfernung von umgebenden Weiss-Zeilen und -Spalten in rec_do() war inkorrekt.
  • re_readimagefile() brachte bei BMP- und Single-TIFF-Dateien auch ein Resultat bei Bildnummern verschieden von Null.
02-Nov-2001
  • Fehler in der Auswertung von PREP_SCALING - dies wurde fast immer durchgeführt.
  • Fehler in reConfig.dll und re?_info() bei der Auswertung von parm.alc.
  • Fehler beim Datensammeln über kadmos.ini unter Multithreading.Fehler bei der Rückgabe der top-Werte in rel_do() bei oberen weissen Pixel- Zeilen und Auflösung von 300 dpi (kein Skalieren).
  • Definition von KADMOS_MAJOR, KADMOS_MINOR, KADMOS_MKVER() und KADMOS_VERSION in Kadmos.h zur Versions-Kontrolle durch den C/C++ Preprocessor.
  • Bereitstellung von Funktionen zum Zugriff auf Felder von Strukturen, die durch Pointer gegeben sind, unter Visual Basic:
    GetRelGraph(RelGraph*, int n, RelGraph);
    SetRelGraph(RelGraph, RelGraph*, int n);
23-Okt-2001
  • Sporadisches Verschlucken von Zeichen in rel_do() nach vorangehenden kleinen Schmutzpunkten.
  • Protection-Error in re_collect() beim Sammeln grosser Bilder.
  • Protection-Error in rel_do() beim Segmentieren sehr komplexer Bilder.
  • Teilweise inkorrekte Werte von rec_value in rel_do() durch fehlerhafte Auswertung der Zeichenbreite.
15-Okt-2001
  • Fehler in der Auswertung von Kombinationen beim Parameter alc.
08-Okt-2001
  • Memory-Leak beim Lesen von BMP-Dateien.
05-Okt-2001
  • Bei Spezifizierung von Bildausschnitten wurden Testbilder (bmp-Dateien) nach C:\ ausgegeben.
  • Die Funktionen re_closeimagefile() und re_freeimage()geben KADMOS_ERROR zurück (bisher void).
27-Sep-2001
  • chopper.exe arbeitet jetzt auch in Fenstern mit einer Breite von mehr als 80 Zeichen.
  • rep_do() lieferte zuweilen Zeilen mit zu geringer Höhe (kleiner als 5-fache Strichdicke).
  • Memory-Leak in rep_do() beim Erkennen leerer Bilder.
  • Grid-Entfernung bei rel_do() arbeitete inkorrekt.
  • Fehler beim Lesen von Tiff-Dateien im MM-Format.
03-Sep-2001
  • Fehler bei der Binarisierung von Farb- und Graubildern in Rec, Rel und Rep.
  • Fehlerhafte Auswertung der Schräglage bei Klassifikatoren ohne Schräglagen-Information (norm*.rec, mMark.rec).
  • Die single threaded Bibliotheken rec.lib, rel.lib, rep.lib und kcl.lib wurden in rec_st.lib, rel_st.lib, rep_st.lib und kcl_st.lib umbenannt.
  • Mit kadmos.hu gibt es jetzt auch eine ungarische Version für den Famulus und die Fehlermeldungen.
  • Leicht veränderte Bewertung der Zeichenbreiten für rec_value (Rel, REP).
21-Aug-2001
  • Memory-Leak bei der Arbeit mit TIFF-Dateien.
  • Die Schrägstrich-Erkennung konnte bei Version 3.5d für Handschrift verbessert werden, hatte sich jedoch für Maschinenschrift verschlechtert. Der Fehler wurde behoben.
  • Fehler in re_readparm() beim Einlesen der GRID-Einstellungen.
  • Protection Error und Memory Leaks bei GRID-Erkennung.
  • Die Konsol-Programme (Chopper, Info, Oem) liessen sich nur mit den Codepages 1251-1253 starten.
  • Das Modul REP verschluckte einzelne Zeilen mit wenigen, untypischen Zeichen.
  • Der reConfig-Dialog wurde erweitert (Zwischenspeichern und Wiedereinlesen der Parameter-Einstellungen).
06-Aug-2001
  • Memory-Leaks beim Setzen von TYPO_KEEPIMG für rep_do().
  • Die Parameter trig_factor und trig_maximum wurden nicht ausgewertet.
  • In rel_do() - sofern nicht aus rep_do() aufgerufen - wurde die top-Position der erkannten Einzelzeichen noch immer nicht korrekt zurückgeliefert.
  • Das Visual-Basic Beispiel für die Anbindung von Kadmos wird bei der DLL-Version des Developer-Kits aktuell mitgeliefert.
  • Für den Rückgabewert "Fehlertyp"(long) der Kadmos-Funktionen wurde die folgende Deklaration in kadmos.h eingeführt: #define KADMOS_ERROR long.
  • Das Dll-Developer Kit enthält nun auch ein Programm uninstall.exe, um mit dem Löschen aller Kadmos-Dateien auch alle Kadmos-Einträge in der Registry und in den Environment-Variablen zu löschen.
  • Die Hand/Maschinenschrift-Vorklassifikation wird nur noch dann aktiviert, wenn tatsächlich Hand- und Maschinenschrift zusammen erkannt werden soll. Geschwindigkeitsgewinn bei reiner Hand- oder Maschinenschrift etwa 5%.
  • Die Struktur-Definitionen in kadmos.h wurden mit zussätzlichen Datenelementen (filler) derart aufgefüllt, dass die Struktur- Komponenten bei allen Compiler-Einstellungen für das Alignement an gleicher Stelle liegen.
  • Die Routine zum Eintragen des Trigger-Codes bei der DLL-Version wurde überarbeitet.
21-Jun-2001
  • Für die Funktionen re*_textline() wurde das Makro TEXT_FORMAT_KADMOS_2BYTE ergänzt.
  • In rel_do() - sofern nicht aus rep_do() aufgerufen - wurde die top-Position der erkannten Einzelzeichen nicht korrekt zurückgeliefert.
  • Der Parameter alc wurde nicht korrekt ausgewertet.
15-Jun-2001
  • Memory-Leak in rel_do() bei Bildern mit leeren Pixelzeilen oben oder unten.
11-Jun-2001
  • Anschluss für eine zweite Engine in REC, REL und REP mittels einer externen Struktur HookEngineData. Zusätzlicher Parameter 'general' in ReParm zur Ablauf-Steuerung von REC, REL und REP. Zusätzliche Makros GENERAL_HOOKENGINE_LOADED und GENERAL_HOOKENGINE_ON.
  • Neue Funktion rel_lineshadow(), um die Resultate der Vorklassifizierung in Hand/Maschinen-Schrift verfügbar zu machen. Zusätzliche Makros GENERAL_PREP_ONLY, GENERAL_LINESHADOW_ONLY, SHADOW_OFFSET, SHADOW_FONT_HAND und SHADOW_FONT_MACHINE. Ein Beispiel für die Anwendung von rel_lineshadow() findet sich im Demoprogramm reldemo.c.
31-Mai-2001
  • Fehler beim Setzen der Parameter für die Kammentfernung in reconfig.dll.
  • Fehler bem Sammeln von Zeichen mit kadmos.ini.
28-Mai-2001
  • Die bei Version 3.4a voreingestellte Skalierung der Bilder auf eine Auflösung von 300 dpi wurde optional gestaltet (PREP_SCALING) und ist nicht mehr voreingestellt.
  • Mit dem Famulus kann der Eintrag der Auflösung des bereitgestellten Bildes verändert und gegebenfalls in die Bilddatei zurückgeschrieben werden.
  • Zusätzliche Zeichen in den entsprechenden Klassifikatoren:
    @_ (0x0040 0x005F)  ~_ (0x007E 0x005F)  AU (0x0102 0x005F)
    aU (0x0103 0x005F)  Au (0x0102 0x0020)  au (0x0103 0x0020)
    Ð_ (0x00D0 0x005F)  ð_ (0x00F0 0x005F)   Р(0x00D0 0x0020)
    ð  (0x00F0 0x0020)  Þ_ (0x00DE 0x005F)  þ_ (0x00FE 0x005F)
    Þ  (0x00DE 0x0020)  þ  (0x00FE 0x0020)  TC (0x0162 0x005F)
    tC (0x0163 0x005F)  Tc (0x0162 0x0020)  tc (0x0163 0x0020)
  • Klassifikatoren für Kroatien, Island und Rumänien wurden bereitgestellt.
  • Das KADMOS Developer Kit enthält ab sofort auch die gemischten Klassifikatoren (jumbo*.rec).
  • Anstelle des Konsol-Programs Info enthält das Developer Kit nun ein analoges Windows-Program ImageInfo.
  • Im Famulus haben die KADMOS-CL Klassifikatoren bei Bildern mit einer Auflösung ungleich 300 dpi nicht mehr korrekt gearbeitet. Die Bilder wurden vor der Erkennung auf 300 dpi transformiert, die neue Auflösung jedoch nicht eingetragen.
  • Die neue Funktion re_clipboard2image() war fehlerhaft, und damit auch die Funktion "Bearbeiten,Einfügen" im Famulus.
  • Die Parameter-Versorgung für das Entfernen vertikaler Linien war fehlerhaft (Vertauschung von minimaler/maximaler Höhe und Breite).
  • Wurden dem Modul rel_do() leere Bilder übergeben, so wurde intern Speicher allokiert, aber nicht mehr korrekt freigegeben.
  • Inkorrekte Vorverarbeitung von Bildern mit mehr als 128 Pixel-Zeilen in rel_do() und rec_do().
  • Inkorrekte Übergabe der Auflösung im Modul rel_do() bei Tif-Dateien.
  • Fehler bei der Auswertung von OPTIONS_EXCLUDE in rec_do().
02-Apr-2001
Wie bei (fast) jeder neuen Release, so hat es auch uns bei Kadmos 3.5a wieder getroffen. Insbesondere im wesentlich neu gestalteten Modul REL haben wir schon während der CeBIT eine ganze Reihe von Fehlern entdeckt. Wir werden sie geschlossen bis Mitte Mai bearbeiten. Fordern Sie einfach ein Update bei uns an!.

15-Feb-2001
  • Erweiterung der Klassifikatoren jumbo*.rec, ttf*.rec und numplus*.rec um das OCRA-Komma.
  • Die Programme chopper.exe und RecMaker.exe lieferten einige fehlerhafte Gruppen-Kennungen, wenn bei ihrem Start die System-Codepage nicht die Codepage 850 war. Zur Kontrolle prüfe man die jeweils ersten Kennungen unter '[equivalence] rename' in den von den Programmen generierten Alc-Dateien.
22-Jan-2001
  • Sporadischer Fehler "can not execute MACHNM1.EXE" in der DLL-Version behoben.
09-Jan-2001
  • Der Klassifikator mark.rec wurde für Fälle erweitert, bei denen die Kästchen selbst nicht sichtbar sind (Blindfarbe). Dazu wurden die Zeichenklassen '.', '-', '|', 'V' und 'X' aufgenommen (Hand- und Maschinenschrift, 'V' nur Handschrift.
29-Nov-2000
  • Fehler in rel_do() bei gleichzeitigem Setzen von Schmutz- und Linienentfernung.
  • Dauerschleife in rep_do() bei sehr grossen, stark verschmutzten Bildern.
30-Okt-2000
  • Klassifikator mark.rec für Verwendung in REL und REP erweitert (bisher nur für REC geeignet).
  • Fehlerhafte Komprimierung in rel_do() bei Bildern mit Bildhöhen von 257 sowie 513-515 Pixeln korrigiert.
  • Fehlerhafte Erkennung der Zeichen -a und -b in norm.rec, NormOCRA.rec und NormOCRB.rec korrigiert.
  • Graubild-Binarisierung und Binär-Filterung in Famulus.exe korrigiert.
09-Jan-2001
  • Adaptive Schmutzentfernung. Die Parameter noise_diameter_percent, noise_width_percent und noise_length_percent sind jetzt mit 0 voreingestellt.
  • Segmentierung verklebter Zeichen verbessert.
  • Fehler in Sortierung des Ergebnisgraphen (RelGraph) behoben.
  • Fehler bei mehrfachem Aufruf von rel_do() mit Bildern höher als 128 Pixel-Zeilen und Speicher-Allocation zwischen den rel_do()-Aufrufen ohne Freigabe.
  • Fehler in re_subimage() bei Aufruf nach re*_image() oder ohne Eintrag von biClrUsed im BITMAPINFOHEADER.
06-Sep-2000
  • Zeichen *4 (Maschinenschrift '*' mit voller Zeilenhöhe) eingeführt.
  • Error oder Memory Leak bei Graubild-Verarbeitung und Filterung in rel_do().
  • Error bei Fleck-Entfernung (falls leeres Bild als Resultat).
04-Sep-2000
  • Neue Klassifikatoren Norm*.rec (Verbesserung bei E13B und CMC7).
01-Sep-2000
  • Memory-Leak im Fehlerfall (Loop-Error in rel_graph_sort) beseitigt.
31-Aug-2000
  • Memory-Leak beseitigt.
25-Aug-2000
  • Verarbeitung von Grauwert-Bildern.
  • Binärfilter zur Bild-Verbesserung.
  • Griechisch-Klassifikator für Hand- und Maschinenschrift (auch kombiniert).
  • Neue Funktion re_bmpfile() zur Speicherung der Bilder aus RecData, RelData und RepData in eine BMP-Datei.
  • Erkennung der Nadeldruck-Zeichen '.' und ',' verbessert.
  • Verbesserte Erkennung von Normschrift CMC7 und E13B.
  • Aufteilung der Maschinenschrift-Ziffer 1 in die Formklassen 1 und 12 (=kleines l).
20-Jun-2000
  • Verbesserung der Erkennung von Zahlen in Texten.
09-Jun-2000
  • Unkomprimierte Tiff-Dateien wurden unter Windows nicht mehr gelesen.
08-Jun-2000
  • Falsche (keine) Auswertung von OPTIONS_EXCLUDE bei rec_do(), falls der gleiche Klassifikator gleichzeitig mit rel_init() oder rep_init() geladen wurde.
07-Jun-2000
  • re_image() kann Datensätze von Multi-Tiff-Dateien jetzt auch unter Angabe der Datensatz-Nummer lesen (bisher nur mit NEXT_IMAGE).
  • Protection Error beim Setzen eines ungültigen Kontext (etwa CONTEXT_GERMAN für Numplus.rec) behoben.
03-Jun-2000
  • Sichten.exe wurde nach Windows portiert.
  • Fehler bei der Auswertung von OPTIONS_EXCLUDE korrigiert.
  • Fehler bei Segmentierung breiter Zeichen korrigiert.
  • Durch den Wegfall der Unterstützung des 16-bit Windows 3.11 konnten einige Windows Bibliotheken umbenannt werden:
    rec_wnt.lib, rel_wnt.lib, rep_wnt.lib ⇒ rec.lib, rel.lib, rep.lib
    rec_wntm.lib, rel_wntm.lib, rep_wntm.lib ⇒ rec_mt.lib, rel_mt.lib, rep_mt.lib
    rec_wntd.lib, rel_wntd.lib, rep_wntd.lib ⇒ rec_md.lib, rel_md.lib, rep_md.lib
    rec_wntc.lib, rel_wntc.lib, rep_wntc.lib ⇒ rec_cs.lib, rel_cs.lib, rep_cs.lib
17-Mai-2000
  • Dauerschleife in Segmentierung korrigiert.
15-Mai-2000
  • Die Funktion re_SubImage() wurde verbessert. Es werden jetzt die gewünschten Teilbilder bitgenau ausgeschnitten - ohne die bisherige Verschiebung auf Byte-Grenzen links und rechts.
08-Mai-2000
  • OPTIONS_FAST in Kadmos.h implementiert Das Setzen dieser Option bewirkt eine schnellere Erkennung bei den Handschrift-Klassifikatoren (hand*.rec von 100% auf 60%, jumbo*.rec von 100% auf 50%). Die Erkennungsqualität ist geringfügig schlechter, indem manche Werte von rec_value ungerechtfertigterweise niedriger sind als ohne diese Option. Die Alternativen bleiben erhalten, etwas äfter als sonst wird Schmutz als ein sinnvolles Zeichen erkannt.
  • Speicherschutz-Verletzung bei Segmentierung korrigiert.
  • Speicherschutz-Verletzung in GetPrivateFileName() korrigiert.
  • Speicherschutz-Verletzung beim Lesen von Multi-Tiff-Dateien korrigiert.
  • Fehler in Segmentierung (verschwindende Zeichen) behoben.
29-Feb-2000
  • Verbesserte Schmutz-Entfernung (spot removal).
  • Protection Error beim Versuch, nicht vorhandene Trigramm-Dateien anzuschliessen (etwa CONTEXT_GERMAN bei Numplus.rec), behoben.
  • Segmentierfehler (fehlendes Resultat) bei Verwendung der CMC7-Klassifikatoren Norm.rec und NormCMC7.rec behoben.
  • Segmentierfehler (sporadisches Verschlucken einzelner Zeichen) behoben.
17-Feb-2000
  • re_readparm() besetzt nur noch die explizit spezifizierten Parameter neu.
  • Veränderte Höhenlage-Beschreibung (size) für '-' und '·' in den Klassifikatoren.
  • Verbesserte Auswertung der Zeichenbreite und Schräglage, insbesondere auch für die Segmentierung.
  • Sporadischer Segmentierfehler (fehlendes Resultat) bei verschmutzten, äquidistanten Zeilen behoben.
  • Korrektur des Software-Kopierschutzes, so dass beim Rücksetzen des Rechner- Datums keine Lizenzierungs-Probleme mehr entstehen. Dies betrifft natürlich nicht die Teststellungen/Ablaufversionen.
28-Jan-2000
  • MMX-Support wieder aktiviert (war unbeabsichtigt deaktiviert)
  • Verbesserte Auswertung der Höhenlage-Information der Zeichen.
  • Bereitstellung von mehr Segmentier-Alternativen.
17-Jan-2000
  • Sporadischer GPF in REL bei nicht erkennbaren Bildern beseitigt (etwa wenn NUMPLUS.REC auf Alpha-Zeile angewendet wurde).
  • Fehler in REL bei Bildern mit image_type 'c' und mehr als 128 Bildzeilen beseitigt (bisher kein Resultat in diesem Fall).
13-Jan-2000
  • Fehler in RecMaker.exe - die ausgegebenen ALC-Dateien enthalten keine bzw. fehlerhafte size-Informationen (f:f).
3-Jan-2000
  • Die verbesserte Segmentierung ab 3.4h hatte in veschiedenen Anwendungsfällen zu erheblich längeren Rechenzeiten geführt. Mit dieser Verbesserung konnten auch die Makros TYPO_SEGALTERNATIV1 und TYPO_SEGALTERNATIV2 wieder entfallen.
  • Korrektur der Monogramm/Trigrammbehandlung. Wir sind mit dem Ergebnis jedoch noch nicht zufrieden, an dem Thema wird weiter gearbeitet.
  • Erweierung der Klassifikator-Zeichensätze (Lettland).
15-Dec-1999
  • OPTIONS_STRICTSELECT wurde nicht ausgewertet.
  • Sporadischer Protection-Fehler in Segmentierung beseitigt.
02-Dec-1999
  • Das Windows-Programm RecMaker.exe ist fertig und ersetzt nun den Batch RECMAKER.BAT. Das Programm sollte selbstbeschreibend sein, wir werden eine Beschreibung jedoch schnellstmöglich nachliefern.
  • Die Module re?_textline wurden für Unicode erweitert.
26-Nov-1999
  • Memory-leak bei der Einbindung von KADMOS in MFC-Applikationen.
  • Fehlerhafte Kennungsauswahl bei Unicode.
22-Nov-1999
  • Das Setzen von OPTIONS_EXCLUDE wurde nicht korrekt bearbeitet.
18-Nov-1999
  • kadmos.de und kadmos.uk wurden neu geordnet. Sie müssen nicht mehr notwendigerweise zu den aufgerufenen Programmen gestellt werden. Sofern sie fehlen, werden alle Texte und Meldungen in Englisch ausgegeben.
  • Verbesserungen / Korrekturen bei der Segmentierung.
  • Es werden nur noch wenige Klassifikatoren direkt ausgeliefert (TTF, HAND, NUMPLUS, NORM, MARK bzw. JUMBO mit CHOPPER).
    Alle nationalen Klassifikatoren kann man sich mit RECMAKER.BAT selbst erzeugen. Für jeden nationalen Klassifikator wird eine *.AL0-Datei mitgeliefert. Werden nur bestimmte nationale Klassifikatoren gewünscht, so lösche man vor dem Start von RECMAKER die überzähligen *.AL0-Dateien. Die Erzeugung aller möglichen nationalen Klassifikatoren benötigt ca. 300 MB Speicherplatz und einige Minuten Rechenzeit.
  • li class="kplusmin">Die Kennungen für den MARK-Klassifikator wurden geändert.
  • Die Steuerung für die alternative Segmentierung wurde verfeinert. TYPO_SEGALTERNATIV1, TYPO_SEGALTERNATIV2 (siehe Handbuch).
20-Okt-1999
  • Verbesserte Segmentierung. Windows 3.11 wird nicht mehr unterstützt.
  • Fehler bei der Auswertung von parm.labels bei Gruppen-Kennungen.
21-Sep-1999
  • Unterstützung einer Vielzahl von Codepages. Neue Klassifikatoren HAND*.REC und TTF*.REC
26-Aug-1999
  • Die KADMOS-Dateien werden teilweise in andere Unterdirektories installiert.
01-Aug-1999
  • Änderung in den KADMOS-Verzeichnisen, siehe aktuelles Handbuch, Kapitel 2.
  • Einführung der Dateien KADMOS.DE bzw. KADMOS.UK, siehe aktuelles Handbuch, Kapitel 2.
  • Verbesserung der Box-Erkennung.
18-June-1999
  • CHOPPER 3.4 fehlerhaft bei der Ausgabe von [equivalence] moma, überflüssige Ausgaben bei [equivalence] rename.
07-June-1999
  • Leere Bilder brachten ein (sinnloses) Resultat in rec_do().
01-June-1999
  • Fehler im CHOPPER bei mehr als 32 disk Äquivalenzen.
31-Mai-1999
  • Erweiterung der Konfigurationsmäglichkeiten um POS_NOWORDCONTEXT. Beim Setzen dieser Option wird das Ergebnis nicht entsprechend dem erkannten Worttyp (Grossbuchstaben, Kleinbuchstaben, Ziffern) korrigiert.
21-Mai-1999
  • Verbesserungen bei der Linien- und Box-Erkennung.
  • Fehlerkorrektur in rec_end() beim Freigeben mehrerer Klassifikatoren.
15-Mai-1999
  • rel_info() und rep_info() reagierten nicht auf das Setzen von OPTIONS_BASICLABELS (rec_info() war ok.)
12-Mai-1999
  • Die Koordinaten der Zeilenbeschreibung (Rechteck) im Modul REP waren fehlerhaft.
  • Die Kennungswauswahl im Modul REL und REP (parm.labels) war in 3.4c wirkungslos.
  • Die Fehlerbehandlung wurde um zwei neue Funktionen erweitert:
    long WINAPI re_SetPrivateData(long private_data);
    long WINAPI re_GetPrivateData(void);
    Dadurch kann jedem KADMOS Modul eine private Identifikation mitgegeben werden. Diese Identifikation wird im Fehlerfall in der erweiterten Struktur re_ErrorText zurückgegeben (wichtig bei Parallelbetrieb).
      typedef struct re_ErrorText_tag {
        long ident;
        char program[64];
        char text[512];
        char systext[512];
        long private_data;
      } re_ErrorText;
              
10-Mai-1999
  • Fehler bei Kennungsauswahl (Version 3.4a und 3.4b) behoben. (Fehler trat nicht auf, wenn OPTIONS_BASICLABELS gesetzt wurde.)
27-Jan-1999
Mit KADMOS 3.4b wurde erstmalig die Verwendung verschiedener Codepages implementiert (Codepages 850, 1250, 1252, sowie ISO-8859-1 und ISO-8859-2). Weitere Codepages kännen kurzfristig bereitgestellt werden. reImage.Dll wurde in die jeweilige Library bzw. in KADMOS.DLL integriert, entfällt jetzt also als eigenständige DLL. Dadurch konnten die Hilfsfunktionen zum Einlesen von Bilddateien bzw. zum Anschlieáen von Bitmaps vereinfacht werden - sie arbeiten nun direkt mit Pointern statt wie bisher mit Handles.
27-Jan-1999
  • Zeilentrennung in REP führte bei übergrossen, schwarzen oder verdrehten Bildern zuweilen zu einem Protection-Fehler.
18-Jan-1999
  • Der Pharlap Dos-Extender wird nicht länger unterstützt.
12-Jan-1999
  • Fehler in FAMULUS.EXE der dargestellte Bildausschnitt war beim neu Laden eines Bildes fehlerhaft, solange nicht "überblick" eingestellt war.
05-Jan-1999
  • Protection-Error bei Segmentierung eines fast völlig schwarzen Schmutzbildes (16 Bit) bzw. Fehler-Dauerschleife (32 Bit).
22-Dec-1998
  • Fehlerhafte Bearbeitung von Pfadnamen in re_writeparm() und re_readparm().
21-Dec-1998
  • Fehlerhafte Arbeit des Software-Kopierschutzes (KADMOS DLL-Version) unter Windows 95/98.
16-Dec-1998
  • Protection-Fehler im Modul REL bei grossen Schwarzbereichen (> 8 Kilobyte bei der 16-Bit-Version bzw. > 32 Kilobyte bei der 32-Bit-Version).
11-Dec-1998
  • Veränderte (verstärkte) Wirkung für parm.exclude=TRUE im Modul REL und REP.
  • Fehler beim Zeilenkontext bei stark eingeschränkten Klassifikatoren.
10-Dec-1998
  • Protection-Fehler bei extrem schrägen und schmalen Zeichen im Modul REL.
09-Dec-1998
  • Bei Fehler-Ausstieg im Modul REP stand gelegentlich noch ein altes Resultat in der Struktur RepData.
  • BMPs im 256 Farbenformat werden akzeptiert.
01-Dec-1998
  • Seltener Protection-Fehler bei der Segmentierung im Modul REL.
19-Nov-1998
  • Fehler in der Zeilentrennung bei schmalen Bildern korririert im Modul REP.
18-Nov-1998
  • Seltener Protection-Fehler bei der Segmentierung im Modul REL.
12-Nov-1998
  • Unsinnige Fehlermeldung bei leeren Bildern mit mehr als 1024 Bildzeilen im Modul REL entfernt.
11-Nov-1998
  • Fehler in Segmentierung bei der 16 Bit-Version im Modul REL.
03-Nov-1998
  • Seltene Dauerschleife bei stark verschmutzten Bildern im Modul REL.
29-Okt-1998
  • Seltener Fehler in REP bei der Erkennung vertikaler Linien entfernt ("rel⇒dim[0]<0")
27-Okt-1998
  • Fehler in Segmentation ("Segmentation impossible") entfernt.
  • Fehler bei Sammeln mit KADMOS.INI (Zeilenhöhe über 128 Pixel) entfernt.
21-Okt-1998
  • Das Programm CHOPPER ist jetzt auch als Windows NT-Version erhältlich.
14-Okt-1998
  • Der F7B Farrington Klassifokator ist neu berechnet.
6-Okt-1998
  • Noise-Reduktion in REC korrigiert.
  • Sortierung der Ergebnisse in REL korrigiert.
30-Sep-1998
  • Fehler in Segmentation ("comp number not found") entfernt.
22-Sep-1998
  • Sehr seltene Dauerschleife bei äquidistanten Bildern korrigiert.
  • Sinnlose Fehlermeldung bei Nadeldruck gelegentliche Zeilenverschmelzungen verbessert.
11-Sep-1998
  • Neuer Klassifikator für CMC7.
  • Bei stark verschmutzten Bildern traten in seltenen Faellen - Quasi-Dauerschleifen (sehr lange Rechenzeiten) auf. Das Problem ist behoben.
  • Wir mussten feststellen, dass der MSVC-Compiler nicht alle benutzten MMX-Register ordnungsgemäss zurueckgegeben hat. Wir haben dies nun explizit programmiert. Bei WATCOM und Borland trat dieses Problem nicht auf.
02-Sep-1998
  • Gelegentliche Dauerschleife bei verschmutzten Bildern korrigiert.
20-Aug-1998
  • KADMOS hat eine überarbeitete Segmentierung im Bereich Maschinenschrift.
  • Mit Hilfe der Datei KADMOS.INI lassen sich auf einfachem Weg Zeichen sammeln. Dazu muss KADMOS.INI im Verzeichnis der Klassifikatoren stehen.
02-Jul-1998
  • Korrektur in REL: graph_sort und spot_removal.
26-Jun-1998
  • Gelegentliches Bildschirmlöschen im Programm CHOPPER behoben. Fehler kam nur ohne device=ansi.sys vor.
03-Jun-1998
  • Segmentierfehler behoben.
  • Zugriffsverletzung mit POS_LINECHECK korrigiert.
19-Mai-1998
  • re_writeparm() und re_readparm() korrigiert.
  • Memory leak mit TYPO-KEEPING korrigiert.
  • ReConfig um POS_LINECHECK erweitert.
06-Mai-1998
  • Die Unterstüzung weiterer Segmentieralternativen realisiert.
  • re_writeparm() und re_readparm() korrigiert.
23-Apr-1998
  • Inkorrektheit in re_error bei Bildern über 64k Grösse oder rel⇒dim[0] über 1024 Linien beseitigt.
20-Apr-1998
  • Inkorrekter re_Error-Aufruf in der Segmentierung beseitigt.
07-Apr-1998
  • Abstürze in diskkern wurden durch abschalten einiger Optimierungen beseitigt.
01-Apr-1998
  • REL Zeilenverfolgung verbessert.
  • errno in der NT-Version ersetzt.
04-Mar-1998
  • Protection Error mit rel_unlock korrigiert.
  • REP line_spacing und REL char_spacing korrigiert.