*-----------------------------------------------------------------------
      SUBROUTINE SGTXXU(UX,UY,CHARS,RSIZE,IROTA,ICENT,INDEX,ICOLOR)

      CHARACTER CHARS*(*)
      LOGICAL   LFCATR

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

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

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

      CALL SZTXOP(RSIZE,IROTA,ICENT,INDEX)
      CALL SZTXZU(UX,UY,CHARS)
      CALL SZTXCL

      CALL SWSFCM(.FALSE.)

      END
