3.4 テキストプリミティブ

文字列を描くテキストプリミティブには, 次のような属性があります.

プログラム KIHON4 で, これらの属性を1つずつ順に変えて文字列を書 いてみましょう.

まず, SGTXV だけを呼んで, デフォルトで 'SGTXV' と書いてみ ました. ラインインデクスの初期値は1, 文字の大きさの初期値はV-座標系に おける単位で 0.05 で, 指定した座標に文字列の中心が来ます.

次に, SGSTXI ルーチンで文字を描く線のラインインデクスを変えて, 'INDEX3', 'INDEX5' と書いてみました. 大きな値にすると太字 になります. このラインインデクスはポリラインなどのラインインデクスとは 独立に管理されており, 他のラインインデクスに影響を与えたりしません. マー カーのラインインデクスも同様です.

また, 文字の大きさは SGSTXS ルーチンで変えることができます ('SMALL''LARGE').

文字列の位置ですが, 文字列の左端の座標や, 右端の座標で指定することもで きます. SGSTXCで-1を指定すると左あわせ('LEFT'), 1で右あわせ ('RIGHT')となります. 初期値は0で, 中央あわせとなっています. この引数は 整数に限られることに注意して下さい.

文字列を回転させるためには, SGSTXR ルーチンで回転角を指定します. 単位は度で, 指定した位置を中心に反時計回りに回転します. やはり, このルー チンでも引数は整数値に限られます。

      PROGRAM KIHON4

      PARAMETER( NMAX=9, X1=0.1, XC=0.5, X2=0.9 )
      REAL Y(NMAX)

      WRITE(*,*) ' WORKSTATION ID (I)  ? ;'
      CALL SGPWSN
      READ (*,*) IWS

      CALL SGOPN( IWS )
      CALL SGFRM

*-- 罫線 ----
      DO 10 N=1,NMAX
        Y(N) = 0.1*(10-N)
        CALL SGLNV( X1, Y(N), X2, Y(N) )
  10  CONTINUE

      CALL SGLNV( XC, 0.05, XC, 0.95 )

*-- デフォルト ----
      CALL SGTXV( XC, Y(1), 'SGTXV' )

*-- 文字のラインインデクス ----
      CALL SGSTXI( 3 )
      CALL SGTXV( XC, Y(2), 'INDEX3' )

      CALL SGSTXI( 5 )
      CALL SGTXV( XC, Y(3), 'INDEX5' )

      CALL SGSTXI( 1 )

*-- 文字の大きさ ----
      CALL SGSTXS( 0.03 )
      CALL SGTXV( XC, Y(4), 'SMALL' )

      CALL SGSTXS( 0.07 )
      CALL SGTXV( XC, Y(5), 'LARGE' )

      CALL SGSTXS( 0.05 )

*-- 文字列のセンタリングオプション ----
      CALL SGSTXC( -1 )
      CALL SGTXV( XC, Y(6), 'LEFT' )

      CALL SGSTXC( 1 )
      CALL SGTXV( XC, Y(7), 'RIGHT' )

      CALL SGSTXC( 0 )

*-- 文字列の回転角 ----
      CALL SGSTXR( 10 )
      CALL SGTXV( XC, Y(8), 'ROTATION+' )

      CALL SGSTXR( -10 )
      CALL SGTXV( XC, Y(9), 'ROTATION-' )

      CALL SGCLS

      END

PROGRAM KIHON4

\resizebox{10cm}{!}{\includegraphics{kihon1/kihon4.eps}}
kihon4.f: frame1