•  Back 
  •  Auskunftsfunktionen 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File7.6.65  vqt_width                                                  TOS

 Name:         »Inquire Character Cell Width« - ermittelt die Breite 
               einer Zeichenzelle.

 VDI-Nummer:   117

 Deklaration:  int16_t vqt_width ( int16_t handle, int8_t character, 
               int16_t *cell_width, int16_t *left_delta, int16_t 
               *right_delta );

 Beschreibung: Die Funktion ermittelt die horizontalen Ausmaße eines 
               Zeichens des akuellen Zeichensatzes sowie der 
               Zeichenzelle. Es gilt:

                Parameter    Bedeutung

                handle       Kennung der Workstation
                character    Zeichennummer
                cell_width   Zeichenzellenbreite (bzgl. x-Achse)
                left_delta   Abstand des linken Zeichenzellenrands zum 
                             linken Zeichenrand bzgl. der x-Achse
                right_delta  Abstand des rechten Zeichenzellenrands 
                             zum rechten Zeichenrand bzgl. der y-Achse

               Hinweis: Texteffekte und Drehungen werden von der 
               Funktion nicht beachtet.

               Wendet man die Funktion auf einen Vektorfont an, wird 
               für das Zeichen character die gerundete Schrittweite 
               zurückgegeben. Diese Schrittweite kann nur im 
               Zusammenhang mit v_gtext benutzt werden. Versucht man 
               diese Schrittweiten auf v_ftext anzuwenden, wird man 
               falsche Zeichenpositionen berechnen.

index=2985
Um festzustellen, ob ein Font äquidistant (monospaced) oder proportional ist, sollten nicht alle Zeichenpaare über vqt_width verglichen, sondern zuerst überprüft werden, ob vqt_name() hierüber Informationen zurückgibt. Die Werte in left_delta und right_delta entsprechen exakt den Positionen in der Horizontal-Offset-Table. Fehlt diese Angabe im Zeichensatzkopf (was bei den meisten Bitmap-Fonts der Fall ist), so erhält man als Ergebnis eine Null. Ergebnis: Die Funktion liefert den Wert -1, falls die Ausmaße aus irgendeinem Grund nicht berechnet werden konnten. Verfügbar: Supported by all drivers. Gruppe: Auskunftsfunktionen Querverweis: Binding vst_effects