*-----------------------------------------------------------------------
      SUBROUTINE SGTXXV(VX,VY,CHARS,RSIZE,IROTA,ICENT,INDEX,ICOLOR)

      CHARACTER CHARS*(*)
      LOGICAL   LFCATR

      CALL SWQFCC(LFCATR)
      IF(.NOT.LFCATR) THEN
        CALL MSGDMP('M','SGTXXV','FULL COLOR MODE IS NOT SUPPORTED.')
      END IF


      IF (RSIZE.EQ.0) THEN
        CALL MSGDMP('M','SGTXXV','TEXT HEIGHT IS 0 / DO NOTHING.')
        RETURN
      END IF
      IF (RSIZE.LT.0) THEN
        CALL MSGDMP('E','SGTXXV','TEXT HEIGHT IS LESS THAN ZERO.')
      END IF
      IF (.NOT.(-1.LE.ICENT .AND. ICENT.LE.1)) THEN
        CALL MSGDMP('E','SGTXXV','CENTERING OPTION IS INVALID.')
      END IF
      IF (INDEX.EQ.0) THEN
        CALL MSGDMP('M','SGTXXV','TEXT INDEX IS 0 / DO NOTHING.')
        RETURN
      END IF
      IF (INDEX.LT.0) THEN
        CALL MSGDMP('E','SGTXXV','TEXT INDEX IS LESS THAN 0.')
      END IF

      CALL SWSFCM(.TRUE.)
      CALL SWSLCL(ICOLOR)

      CALL SZTXOP(RSIZE,IROTA,ICENT,INDEX)
      CALL SZTXZV(VX,VY,CHARS)
      CALL SZTXCL

      CALL SWSFCM(.TRUE.)

      END
