Hi Rene,

dazu musst Du dich sehr mit den Schriften besch�ftigen. Genau genommen gibt
es ein Verfahren - aber viele Interpretationen. Einige Programme stellen
Schrift etwas anders(vermeintlich besser) dar als andere Programme (vor
allem wenn's um Embedded Fonts geht). Manche betreiben mehr
Anti-Aliasing(was leicht auf die Breite gehen kann, da man dabei manchmal
mehr Abstand zwischen den Zeichen schaffen muss, gleichzeitig aber auch eine
geringere sichtbare Breite der Kontur ausgibt) - andere weniger oder auch
gar keins. Zwar gibt es eine einheutliche Windows-Render-Engine, aber wer
sagt, dass man die verwenden muss. Ich sch�tze(!), dass vor allem die
Browser die auf vielen anderen Betriebssystemen laufen sollen, so etwas
selbst erledigen.

----

Vor allem die Outlines(die Kontur(als Vektor) eines Letters) und das
Kerning(Unterschneidung) der Schrift sind ausschlaggebend �ber Laufweite
eines Textes... Damit alleine w�rdest Du schon gute Ergebnisse erzielen -
h�chstwahrscheinlich ausreichend.
Das Kerning geht dabei bis runter auf einzelne Buchstaben-Kombinationen und
dient nur der Versch�nerung - kann aber auch zur weiteren Einengung von Text
dienen.
Beste Beispiele sind die Kombinationen AV oder ff - aber wie gesagt. Es geht
letztendlich wirklich um jede einzelne Kombination. Wenn man AV ohne Kerning
anbieten w�rde, w�re der Abstand "unsch�n". So werden die beiden Buchstaben
zusammen gezogen und ergeben ein warmes Bild.

Es gibt noch weitere Optimierungen - und man kommt noch nicht einmal
Ansatzweise an eine richtige Rechnung finden - nur das Nachschauen in den
Kerning-Tabellen bringt wirkliche Abhilfe - oder das verwenden von
Fixed-Fonts. 
Letztere haben keine Kerning-Tabelle und einen festen Abstand von Letter zu
Letter - wobei zus�tzlich gilt, dass jeder Letter gleich gro� ist.

Was man auf die schnelle tun kann ist, die Anzahl der breiten
Buchstaben(WKD..) mit einem Mittelwert zu multiplizieren und die Anzahl der
weniger Breiten(ijl..) mit einem anderen Mittelwert. Je mehr
Unterscheidungen du machst, desto genauer das Ergebnis.
Dies ist von Schriftart zu Schriftart unterschiedlich und kann nur probiert
werden. Ein "Umrechnen" gibt es definitiv nicht.

Falls du z.B. PDFLib auf dem Server hast, kannst Du die Berechnung damit
veranstalten. Aber auch PDFLib rechnet leicht anders als es der IE tut!


Andersrum hast Du mehr Chancen (ob das reicht ist eine andere Frage).
Du kannst auch den Text in eine Textbox laden und (im IE zumindest) mittels
createTextRange() eine Range erstellen. Dieses Range sagt dir auch, wie
breit sie ist(boundingWidth). Danach kannst Du die Textbox daran anpassen
und fertig.


Viele Gr��e,
Wolfgang .. der gestern seinen ersten Schultag hatte ;)
http://www.vbwelt.de/

> -----Urspr�ngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
> Auftrag von Rene Drescher-Hackel
> Gesendet: Dienstag, 21. September 2004 08:45
> An: [EMAIL PROTECTED]
> Betreff: [Asp.net] richtige Umrechnung
> 
> Ich hab noch in der Nacht danach gesucht aber nichts brauchbares
> gefunden.
> Wie kann ich die L�nge eines Stings so umrechnen, dass die jeweilige
> Textbox, die den String aufnimmt genau diese Gr��e hat.
> 
> Danke
> 
> Rene



_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an