coord-transf.2d elements3d elementsnon geo scriptsfunctionscontrol statem.attributesvariousaddons
generallinesfillsmaterialstextextended
STYLE DEFINE STYLE DEFINE STYLE{2} PARAGRAPH TEXTBLOCK
Name
DEFINE_STYLE
Syntax
DEFINE STYLEname font_family, char_height, anchor, fontstyle
Aufklappen Range
name, Typ text
font_family, Typ text
0 ≤ char_height, Typ real
0 < anchor < 10, Typ integer
0 ≤ fontstyle < 256, Typ integer (*)

(*) mit fontstyle=j1+j2+j3+j4+j5+j6+j7+j8

j1-8=0: normal
j1=1: fett
j2=2: kursiv
j3=4: unterstrichen
j4=8: outline (nur Kontur) (nur unter MacOS bis Version 9.2.2)
j5=16: mit Schatten (nur unter MacOS bis Version 9.2.2)
j6=32: hochgestellt (since ArchiCAD® 9)
j7=64: tiefgestellt (since ArchiCAD® 9)
j8=128: durchgestrichen (since ArchiCAD® 9)
Aufklappen Description
Definiert einen Texttyp für die Darstellung in 2D mit TEXT2 oder in 3D mit TEXT. Bevor Texttypen mit STYLE aktiviert werden können, müssen sie mit der DEFINE STYLE-Anweisung definiert werden.

Der gewählte Zeichensatz wird mit font_family angegeben. Er muss im Betriebssystem installiert und in ArchiCAD verfügbar sein. Zusätze unter Windows wie "Western" müssen nicht angegeben werden.

Die Zeichensatzgröße gibt char_height an. Das Maß ist die nominelle Höhe zwischen Schriftlinie und Oberlängenlinie in mm auf dem Papier. Das entspricht nicht der Gesamthöhe der Schriftart. Siehe hierzu auch die Funktion REQUEST ("HEIGHT_OF_STYLE", ...). Eine maßstäbliche Schriftgröße erhält man mit der Formel:
fontsize = RealeHöhe / GLOB_SCALE * 100

Zur Definition des fontstyle siehe die möglichen Werte unter Wertebereich.

Der anchor gibt die Ausdehnungsrichtung des Textfeldes zum Einsetzpunkt an. Die 9 Ankerpunkte entsprechen den Zahlen auf einer Telefontastatur (nicht Zehnerblock einer Computertastatur!). 1 ist also links-oben (Text dehnt sich nach unten und rechts vom Ankerpunkt aus), 9 rechts unten (Text dehnt sich nach oben und links vom Ankerpunkt aus). Siehe Abbildung.
Aufklappen Example
! Definition
DEFINE STYLE "Schrift_1" "Arial",
  2.5, 6, 1+2
DEFINE STYLE "Schrift_2" "Arial",
  2.5*1000/GLOB_SCALE, 4, 2+3

! Ausgabe
STYLE "Schrift_1"
TEXT2 0,0,"Ich bleibe fixiert"

STYLE "Schrift_2"
TEXT2 0,0," und ich skaliere mit!"
Aufklappen Specialities
Neben der Zuordnung eines im Skript eindeutigen Namens (name) wird ArchiCAD-intern für jede Instanz eines Objektes ein lokaler Index aller definierten Texttypen angelegt und mit der DEFINE STYLE-Anweisung automatisch erzeugt. Der Index ist mit IND(STYLE,...) abfragbar. Beide Definitionsbefehle (DEFINE STYLE und DEFINE STYLE{2}) für Schrifttypen verwenden eine gemeinsame Namens- und Indexverwaltung. Daher müssen die Namen der Typen nicht nur innerhalb eines Befehls eindeutig sein.

Es gibt bis ArchiCAD9 keine Möglichkeit die im System definierten und in ArchiCAD verfügbaren Zeichensätze aus GDL heraus abzufragen. Bernhard Binder hat im deutschen ArchiCAD-Forum ein kleines Programm veröffentlicht, das eine Zeichensatzliste generiert und als Makro in die Bibliothek eingebunden werden kann. Das Programm muss aber manuell aus der Windowsoberfläche heraus gestartet werden. Ab ArchiCAD 10 gibt es hierfür einen REQUEST-Befehl.

Ab ArchiCAD 9 gibt es mehrere zusätzliche Befehle zur komfortablen Ausgabe formatierten Textes. Siehe die übrigen Befehle in diesem Abschnitt. Mit DEFINE STYLE definierte Schrifttypen können zwar innerhalb eines PARAGRAPH-Befehls verwendet werden, doch kann das zu Unstimmigkeiten bei Schrifthöhen führen. Es wurde extra der DEFINE STYLE{2}-Befehl eingeführt und im Handbuch empfohlen. Dieser sollte für formatierten Text auch nach Möglichkeit verwendet werden.
Aufklappen Context
2D-Skript, 3D-Skript
Aufklappen Tips and Tricks
Gerade die Zeichensatznamen sind ein immer wiederkehrender Parameter, für den voll automatisiert keine Auswahlliste erzeugt werden kann. Es empfiehlt sich eine MASTER_GDL-Datei anzulegen und dort z.B. mit dem Befehl
VALUES "Zeichensatz" "Arial","Helvetica",CUSTOM für die selbstgeschriebenen Objekte der Bürobibliothek eine Auswahlliste vorzudefinieren. Alle Objekte, die einen Textparameter mit dem Namen "Zeichensatz" beinhalten werden mit dem Befehl aus dem MASTER_GDL.gdl mit der Vorschlagliste versorgt. Erfolgt im Objekt selbst nochmal ein VALUES-Befehl wird die bestehende Liste einfach überschrieben.
Aufklappen References
GDL-Handbuch 4.5 (DE) p. 112
GDL-Handbuch 5.0 (DE) p. 149
GDL-Handbuch 6.0 (DE) p. 164
GDL-Handbuch 6.5 (DE) p. 160
GDL-Handbuch 7.0 (DE) p. 160
GDL-Handbuch 8.0 (DE) p. 109
GDL-Handbuch 8.1 (DE) p. 110
GDL-Handbuch 9.0 (DE) p. 176
GDL-Handbuch 10.0 (DE) p. 173
GDL-Handbuch 11.0 (DE) p. 179
GDL Reference Guide 9.0 (INT) p. 171
GDL Reference Guide 10.0 (INT) p. 173
GDL Reference Guide 11.0 (INT) p. 173
GDL Cookbook 3.1 (EN/DE) p. 1.44
 






Die Ankerpositionen des Textes.