[ascoders] Re: Blocksatz

  • From: "Mario Klingemann" <ascoders@xxxxxxxxxxxxx>
  • To: <ascoders@xxxxxxxxxxxxx>
  • Date: Mon, 13 Dec 2004 11:14:12 +0100

Mein erster Versuch war es, es tatsächlich alles innerhalb von einem Textfeld zu machen - mittels Leerzeichen in verschiedenen Schriftgrößen die per setTextformat gesetzt werden. Der Vorteil wäre, daß man Texte auch mit dem Cursor markieren könnte. Das wäre theoretisch machbar, ist aber im Detail ziemlich kompliziert, da man mit den Leerzeichen nur eine bedingt genaue Kontrolle hat - speziell bei nicht-eingebettetem Text liegt zwischen zwei Punktgrößen ein relativ großer Sprung. Außerdem darf man maximal ein Leerzeichen in der Größe des verwendeten Fonts verwenden, sonst gehen die Zeilenabstände flöten. Das bedeutet aber für große Lücken, daß man mehrere Leerzeichen aneinanderhängen muß und ab da wird es dann wirklich nervig.

Ich habe das also wieder bleibenlassen (vielleicht mag sich ja noch jemand dran versuchen - theoretisch geht es). Das was ihr seht ist quasi brute-force: Text in einzelne Worte zerlegen, für jedes Wort ein Textfeld erzeugen und Zeile für Zeile vollpacken und ausgleichen. Also genau wie Du es vermutet hast.

Es gibt noch zwei Spezialitäten: Steht nur ein Wort in einer Zeile, wird dieses in einzelne Buchstaben zerhackt und über die gesamte Breite verteilt. Passt ein Wort gerade nicht mehr so ganz in eine Zeile (die Toleranz kann man einstellen) werden alle Worte in dieser Zeile in Buchstaben zerhackt und dann zusammengequetscht. Da das bei langen Zeilen verdammt auf die Performance gehen kann, gibt es ein einstellbares Limit, wieviele Worte maximal in dieser Zeile stehen dürfen.

So - jetzt muß ich den Code nur noch hübsch machen und dann dürft Ihr ihn haben.

Gruß
Mario


----- Original Message ----- From: "martin heidegger" <mastakaneda@xxxxxxxxx>
To: <ascoders@xxxxxxxxxxxxx>
Sent: Monday, December 13, 2004 10:05 AM
Subject: [ascoders] Re: Blocksatz



Darf ich raten?

Du hast lauter textfelder gemacht und diese versucht gleichmässig zu
verteilen ... kann das sein?

hmm ...
------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------


------------------------------------------------------ Archiv : //www.freelists.org/archives/ascoders/ Optionen : //www.freelists.org/list/ascoders ------------------------------------------------------

Other related posts: