Re: Denkhilfe Fonts/MySQL
Kai Hauser <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
Joerg Rossdeutscher schrieb: >Am Sonntag, den 26.12.2004, 14:40 +0100 schrieb Kai Hauser: > > >>Joerg Rossdeutscher schrieb: >> >> > > > >>>00,50,99 sind nur Beispiele gewesen. Ich definier den Fingerprint jetzt >>>mal ganz genau. Er hat genau die Form: >>> >>>XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX >>> >>>wobei jedes XX-PÀrchen ein Integer zwischen(!) 0 und 99 ist. >>> >>> > > > >>64 Felder mit Werten zw 0 und 99: 100^64 verschiedene Werte(!) >> >> > >Hm? > >400.000 Fonts. >Jeder mit 52 Zeichen [a-zA-Z] > >Macht 400.000 x 52 Fingerprints/DatensÀtze. > >Was ich ja vermeiden wollte, war, fÌr jeden der 64 Einzelwerte ein Feld >anzulegen, aber selbst dann kommen wir auf >400.000 x 52 x 64 Fingerprint"werte". > >Unangenehm viel, aber kein 100^64. > > ok letzter versuch *g* Stichwort: _Zahlensysteme_ zu vereinfachung, schreib einfach 64 mal 99 nebeneinander: 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 da jedes XX von 0-99 (100 Werte) geht, hast du 100^64 verschiedene Werte. um genau zu sein wÀren es dann also 100^64 * 400.000 * 52 Werte insgesamt. > > > >>Ich wÌrde mysql, wenn Ìberhaupt, als reinen Datenspeicher benutzen. >>Mit Perl die Daten auslesen und analysieren. >> >> > >Das tue ich ja schon, das klappt auch, ist aber zu lahm. Ich brauche >eine Vorauswahl. Da hat sich hier ja inzwischen was nettes ergeben. > genau das ist was ich im ersten Reply geschrieben habe: optimiere den Vergleichsalgorithmus + Fingerprint. Ich denke es macht nicht wirklich Sinn einen Bildbereich mit einem Prozentwert von 0-99 zu beschreiben, da kann man auch gleich die Bitmaps vergleichen. Als erstes wÌrde ich die Meta-Daten der Fonts auslesen und vergleichen, dann wÌrd ich von allen Fonts ein Bitmap speichern, das muss nur einmal gemacht werden nicht bei jedem Vergleich, dann wÌrd ich zu jedem Font Meta-Angaben generieren, wenn die internen nicht reichen, zb AbstÀnde und Stil. Dann Kategorien bilden. Das ganze in mysql speichern. Um dann von einem eingescannten bzw Font als Bitmap zu vergleichen, wÌrd ich ein zwei Buchstaben bei denen die Unterschiede am ausgeprÀgtesten sind als Referenz definiern. Dann erkennen welcher Stil es ist (serif oder was) und nur die Kategorie vergleichen. Kein Ergebniss - die Suchkategorien erweitern und nochmal. blabla, das sind alles DenkansÀtze die dir hoffentlich weiterhelfen, oder auch nicht, ich kenn mich mit Fonts nicht genug aus um dir eine detailierte Lösung zu prÀsentieren. mach doch mal n announcment auf Sourceforge http://sf.net/people/ vielleicht joint ja der ein oder andere noch deinem Projekt. Was sagen eigentlich die anderen Projektmitglieder haben die keine Ideen? Hier wirst du sehr wahrscheinlich nur Hilfe zu grundsÀtzlichen Problemen bekommen, da diese Liste sich mit Programmieren unter Linux beschÀftigt, Perl und mysql kann man da einschliesen, Fonts eher nicht. Weist du warum mysql "so schnell ist", weil es die Daten binÀr speichert. Dazu kommen noch die Indizes und die optimierte Strukturierung der Daten, wofÌr aber der Benutzer zustÀndig ist.