Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Text in Handschrift umwandeln

  Alt 21. Feb 2009, 02:48
Du brauchst nicht nur einzelne Buchstaben, sondern auch Buchstabenkombinationen von häufigen Buchstabenfolgen (z.B. sch, st, en, ch, ll, tt, ss, ie, eu, au, ...).
Viele dieser Kombinationen müssen auch mit einem Großbuchstaben beginnen.
Dadurch kommt genügend "Leben" in die Handschrift, ohne dass du bei jedem Zeichen das Problem mit der Angleichung der Übergänge hast.
Du brauchst ungefähr: 26 kleinbuchstaben, 26 Großbuchstaben, 7 Umlaute, 10 Ziffern, ~ 15 Sonderzeichen und vielleicht noch 50 Doppel- und Dreifachbuchstabenkombinationen.
Das ganze Zeug legst du dann in einem Konstantenarray ab:
Delphi-Quellcode:
type
TLetterEntry = record
  t: string;
  pic: string;
end;

const letters: array[0..120] of TLetterEntry = (
(t: 'sch'; pic:'sch.bmp'),
(t: 'Sch'; pic:'sch_gr.bmp'),
(t: 'au'; pic:'au.bmp'),
...

(t: '9'; pic:'neun.bmp'),
(t: ' '; pic:'blank.bmp')
);
// die Endung .bmp sollte später weggelassen werden (zu viel Schreibarbeit)
// ich wollte nur zeigen, dass hier die Bilder verankert sind
Die Dreifachkombinationen kommen zuerst, dann die Doppelbuchstaben und danach der Rest.
Wenn man das Array von Vorne durchsucht, findet man zuerst die Kombinationen, die ja gegenüber Einzelbuchstaben bevorzugt werden.
Wenn du soweit bist, dann sag Bescheid und ich zeig dir, wie man durch eine Erweiterung das Problem der Angleichung der Übergänge angehen kann.
  Mit Zitat antworten Zitat