[TYPO3-german] gifbuilder: mehrzeilger text - offene fragen
JoH
info at cybercraft.de
Sun Jul 23 23:43:38 CEST 2006
> .) kann man den zeilenabstand einstellen?
Ja, aber nicht im GIFBUILDER sondern in der Schriftart selbst mit
entsprechenden Fonttools.
Es gibt aber noch einen Workaround. (siehe unten)
> .) wie kann man den text automatisch auf mitte/mitte setzen? ich habs
> versucht mit BOX.align = c,c (datentyp VHalign), nutzt aber nix...
nicht mit BOX, sondern mit offset, weil Du dort auch rechnen kannst.
Also z.B. relativ
XY = [10.w]+20,[10.h]+20
und
10.fontSize = 20
10.offset = 10,30
die 30 ist eine circa Angabe, weil sich der Offset auf die Grundlinie der
Schrift bezieht!
oder absolut
XY = 200,40
und
10.fontSize = 20
10.offset = (200-[10.w])/2,(40-[10.h])/2
> .) wie kann man den 'absatz' des textes auf center stellen? align =
> center richtet nicht die einzelnen zeilen mittig aus sondern den
> ganzen text relativ zur X-Angabe des gifbuilders.
gar nicht, weil GIFBUILDER für einzeilige Ausgaben konzipert ist.
Hier hilft nur, den Text vorher mit stdWrap zu splitten und einzelne
"Zeilen" draus zu machen.
Das Problem liegt dabei in der spärlichen Verwendung von stdWrap im
GIFBUILDER, weswegen es mehr oder weniger unmöglich ist, eine volldynamische
Anpassung and die Anzahl der Zeilen vorzunehmen.
Im Klartext: Du mußt für alle möglichen Zeilenanzahlen einzelne COA Elemente
anlegen, die jeweils eine if-Abfrage für die Zeilen verwenden und das
passende GIFBUILDER Element zurückliefern.
Im GIFBUILDER selbst wird dann für jede Zeile ein TEXT Element mit passendem
Offset eingebaut. Die Zeilen erhältst Du mit Hilfe von listNum und
splitChar.
Der splitChar ist bei "echter" mehrzeiliger Eingabe die 13.
10 = COA
10 {
10 = GIFBUILDER
10 {
blah
10 = TEXT
10.text.field = whatever
10.text.listNum = 0
10.text.listNum.splitChar = 13
10.blah
}
if.isFalse.field = whatever
if.isFalse.listNum = 1
if.isFalse.listNum.splitChar = 13
}
20 < .10
20 {
10 {
20 < .10
20.text.listNum = 1
}
if.isFalse.listNum = 2
}
30 < .20
30 {
10 {
30 < .10
30.text.listNum = 2
}
if.isFalse.listNum = 3
}
etc.
Ist ein wenig Frickelei, aber sollte so ähnlich funktionieren.
Joey
--
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your knob sometimes!)
Dieter Nuhr, German comedian
openBC: http://www.cybercraft.de
T3 cookbook: http://www.typo3experts.com
More information about the TYPO3-german
mailing list