Das ist das was ich in jedem Fall anpassen werde. So oder so ähnlich. Wobei alleine der Move Befehl ausreichen sollte. Denn dort kann es passieren, dass das letzte Zeichen überschrieben wird. Durch das Count bei SwapText wäre das letzte #0 nicht mehr notwendig. Denn wenn der in der Schleife kein Ende findet, dann rauscht der über das Ende hinweg. Aber das darf sollte nicht in einem Stack Überlauf enden sondern nur in den AVs.
Falls das auch nichts ändert dann schick mir mal das Projekt zu. Ich vermute an dem Stack Überlauf wird das nichts ändern. Und das richtige Projekt ist wahrscheinlich eher schwierig, oder?
Wobei ich nicht weiß wann ich dazu komme mir das mal anzuschauen. Ich habe gestern meinen Rechner neu gemacht und der ist noch sehr blank.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ist denn jetzt auch der Stack Überlauf weg?
Das ist ziemlich merkwürdig. Denn wie gesagt sollte alleine die Begrenzung des Moves vollkommen ausreichen. Dass es genau anders rum ist, finde ich äußerst unlogisch.
Lässt du mir den Code trotzdem mal zukommen? Und bitte MIT der Fontdatei die du verwendest. Nur um Verwechselungen auszuschließen. Mailadresse sollte ja bekannt sein. Anderenfalls auf der Teamseite.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Die Zugriffsverletzung stammt daher, da der Text eigentlich gar kein Unicode Text ist. Denn als Platform PLATFORM_ID_APPLE_UNICODE ist erst dann Unicode, wenn die EncodingID größer 0 ist. Das hatte ich in meinen Quellen schon gefixt. Aber in den Öffentlichen ist das noch enthalten. Wird Zeit, dass ich die mal aktualisiere...
Folgendes anstelle der originalen Abfrage und dann knallts nicht mehr. Selbst mit dem originalen Move und SwapText.
Was mit dem Stacküberlauf ist. Keine Ahnung. Wenn er noch mal auftreten sollte sag noch mal bescheid. Wobei ich aber auch so dabei etwas überfragt bin.
Der Schutz des Speicherbereiches sollte aber trotzdem eingebaut bleiben. Alleine schon aus Sichherheit vor manipulationen. Wobei man so aber auch echte Parserfehler verdeckt/vertuscht. Und das ist bei dem was du vor hast ja auch nicht ganz Sinn.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Tu dir keinen Zwang an. Dafür habe ich sie ja hochgeladen.
Ich weiß allerdings nicht ob richtiges Korrekturlesen schon viel bringt. Denn bei einigen Sachen weiß ich, dass die nicht sonderlich liebevoll entstanden sind. Für den Anfang wäre es daher wohl besser, wenn du mir Stellen sagst die ich in jedem Fall noch verbessern muss. Also falls es irgendwo Verständnissprobleme gibt etc. Falls ich mich grob verschrieben habe (was zum Glück passiert *hust*), dann kannste das natürlich auch sagen. Musst derzeit nur nicht explizit nach suchen.
Einfach nur toll bis jetzt , nur eine Sache fehlt mir noch:
Standardmäßig werden unter Windows, wenn man beispielsweise als Schriftart Arial nimmt, und dann japanische Zeichen benutzt, diese Zeichen nicht aus der Schriftart Arial genommen (die diese Zeichen garnicht enthält), sondern sie werden aus der Schriftart MS Gothic genommen.
Bei Textsuite ist das aber nun so, dass diese Zeichen einfach gar nicht angezeigt werden, anstatt eine Alternativschriftart zu benutzen.
Wenn du dieses Standardverhalten noch nachbauen könntest, ware es perfekt.
_________________ 2+2=5 For extremely large values of two
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Wilson hat geschrieben:
Einfach nur toll bis jetzt ,
Man dankt.
Wilson hat geschrieben:
Standardmäßig werden unter Windows, wenn man beispielsweise als Schriftart Arial nimmt, und dann japanische Zeichen benutzt, diese Zeichen nicht aus der Schriftart Arial genommen (die diese Zeichen garnicht enthält), sondern sie werden aus der Schriftart MS Gothic genommen. Bei Textsuite ist das aber nun so, dass diese Zeichen einfach gar nicht angezeigt werden, anstatt eine Alternativschriftart zu benutzen.
Wenn du dieses Standardverhalten noch nachbauen könntest, ware es perfekt.
Windows macht so etwas? Ich meine, wenn man mit der WINAPI programmiert, dann werden fehlende durch den Defaultbuchstaben ersetzt. In der TextSuite sollten fehlende Buchstaben auch durch den Defaultbuchstaben ersetzt werden. Üblicherweise ist das ein leeres Viereck. Kann aber je nach Font ganz unterschiedlich sein.
Nichts desto trotz ist der Einwand durchaus berechtigt. Aber ganz automatisch wird das nicht funktionieren können. Denn dazu müsste ich wahllos die Fonts im Windows oder Linux suchen und öffnen. Je nach Font ("Arial Unicode" aus Windows 2000) kann das auch eine ganze Weile dauern. Da die Buchstaben aber meist erst beim Rendern erzeugt werden kannst du dir ausmalen das da niemand drüber glücklich sein wird. Zu mal man solch versteckte Funktionalität auch nicht mehr sinnvoll steuern könnte. Das ist mir aber besonders wichtig.
Aber ich denke ich habe eine andere Idee wie man das lösen könnte. Und zwar wird es später eine klare Trennung zwischen Creator (Zum Buchstaben erstellen) und Font (Buchstabencontainer) geben. Derzeit ist das noch ein einzelnes Onbjekt. Aber dann wird es so sein, dass man ein Font erstellt und einen Creator an das Font anhängen kann. Oder wie jetzt mit einer Methode in einem Schritt. Dann könnte ich es auch ermöglichen, dass man mehrere Creator an ein Font anhängen kann. Sollte ein Buchstabe im Hauptcreator nicht gefunden werden so wird im nächsten gesucht. Ich weiß aber noch nicht genau wann ich diese Trennung wirklich einbaue.
Wobei aber da dann das Problem existiert, dass der Entwickler vorher wissen muss was für Buchstaben kommen und welche sich im Font befinden. Was sicher auch nicht so praktisch ist. Ist jetzt aber auch nur so eine spontane Idee. Werds aber bei Gelegenheit in meinen Bugtracker aufnehmen. Evtl gibts ja auch noch andere Ideen dazu.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich hätte vorgeschlagen, das der Nutzer deines Textsystems einen globalen Alternativfont angeben kann. Wird das zeichen im aktiven Font nicht gefunden, wird das Zeichen aus dem Alternativfont angegeben. In der Doku zum Alternativfond sollten ein paar Fonts aufgeführt werden, die Unicode weitestgehend komplett unterstützen.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ja das wäre sicher auch noch eine Alternative. Aber "Global" geht nicht so ganz. Denn die Kontexe der Bibliothek können aus verschiedenen Threads benutzt werden. Damit ich eine Sicherheit gewährleisten kann dürfe es nur Kontexbezogen global sein.
Was ich dabei aber eher als problematisch empfinde ist, dass nicht jedes Font den gleichen Stil (mit und ohne Serifen) hat. Wenn man diese verschiedenen Stile miteinander mischt, dann könnte ich mir gut vorstellen, dass das nicht mehr so schön aussieht. Und so spontan fehlt mir eine Idee wie man das dann evtl bewusst steuern könnte, da die Buchstaben ja nach Bedarf erstellt werden.
Das mit den Unicodefonts ist so eine Sache. Es gibt einige Fonts die nur einzelne Sprachen abdecken. Weswegen der Trend vermutlich eher zu einem zweit bzw dritt Alternativfont gehen wird. Denn so wirklich komplette Fonts gibts eher weniger. Das Arial Unicode von Microsoft ist extrem umfangreich (22MB mit 50377 Glyphen). Das war bei Windows 2000 dabei. Bei XP habe ich es bisher nicht gefunden. Aber leider ist das durch Copyrights geschützt und auf der Webseite auch nicht mehr zu finden. Das gab es mal zum allgemeinen Download. Schade eigentlich.
Wilson: Wo hattest du das denn gesehen? Denn genau genommen müsste es schon auf eine Lösung hinauslaufen bei der irgendjemand nach einer Alternative sucht. Denn der Entwickler kann wärend der Entwicklung nicht wissen welche Fonts im System installiert sein werden und wenn man die Fonts mit ausliefert bräuchte man auch keine Alternativfonts. Aber solch eine Suche muss in jedem Fall irgendwo vom Entwickler kontrolliert werden können. Zu mal da auch noch einige Informationen über die Fonts fehlen.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Ich mische mich hier mal ein... Wenn jemand auf der suche nach einem schönen und verhältnissmäßig vollständigen Unicode-Font ist, schaue er sich doch mal DejaVu an. Ich werde sie in meinem Strategy Game verwenden, sieht garnicht so schlecht aus, gibst als Monospace, mit und ohne Serifen.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Mitglieder in diesem Forum: 0 Mitglieder und 15 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.