...\DF98\SAMPLES\TUTORIAL フォルダに収録されている Visual Fortran サンプルの SHOWFONT.F90 は,システムで使用可能なフォントでテキストを表示します。画面がテキストで埋まったら,Enter キーを押せば次の画面を表示することができます。次に,このサンプルの簡略版を示します。SHOWFONT は SETFONT を呼び出してタイプフェイスを指定します。その後,MOVETO が各テキスト文字列の開始位置を設定します。プログラムは初期化された個々のフォントについて,画面にサンプル・テキストのメッセージを送ります。
! SHOWFONT.F90 の簡易版
USE DFLIB
INTEGER(2) grstat, numfonts,indx, curr_height
TYPE (xycoord) xyt
TYPE (fontinfo) f
CHARACTER(6) str ! フォント番号用の 5 文字。最大は 327675。'n' は 1。
! 初期化します。
numfonts=INITIALIZEFONTS( )
IF (numfonts.LE.0) PRINT *,"INITIALIZEFONTS error"
IF (GRSTATUS().NE.$GROK) PRINT *,'INITIALIZEFONTS GRSTATUS error.'
CALL MOVETO (0,0,xyt)
grstat=SETCOLORRGB(#FF0000)
grstat=FLOODFILLRGB(0, 0, #00FF00)
grstat=SETCOLORRGB(0)
! 後で比較するために,基本フォント文字高を得ます。
grstat = SETFONT('n1')
grstat = GETFONTINFO(f)
curr_height = f.pixheight
! 初期化が終了しました。フォントの表示を開始します。
DO indx=1,numfonts
WRITE(str,10)indx
grstat=SETFONT(str)
IF (grstat.LT.1) THEN
CALL OUTGTEXT('SetFont error.')
ELSE
grstat=GETFONTINFO(f)
grstat=SETFONT('n1')
CALL OUTGTEXT(f.facename(:len_trim(f.facename)))
CALL OUTGTEXT(' ')
! フォントを表示します。
grstat=SETFONT(str)
CALL OUTGTEXT('ABCDEFGabcdefg12345!@#$%')
END IF
! 次の行に進みます。
IF (f.pixheight .GT. curr_height) curr_height=f.pixheight
CALL GETCURRENTPOSITION(xyt)
CALL MOVETO(0,INT2(xyt.ycoord+curr_height),xyt)
END DO
10 FORMAT ('n',I5.5)
END