public final function drawText(
      string $text, $font, $fontSize, $color, Point $point, bool $internal = true )
      : IImage
   {

      $color = $this->getGdColorObject( $color, 'textcolor' );

      if ( ! empty( $font ) && \file_exists( $font ) )
      {
         if ( $internal )
         {
            \imagettftext( $this->r, $fontSize, 0, $point->x, $point->y, $color->getGdValue(), $font, $text );
            return $this;
         }
         $res = clone $this;
         \imagettftext( $res->r, $fontSize, 0, $point->x, $point->y, $color->getGdValue(), $font, $text );
         return $res;
      }
      
      if ( $internal )
      {
         \imagestring( $this->r, $fontSize, $point->x, $point->y, $text, $color->getGdValue() );
         return $this;
      }
      
      $res = clone $this;
      \imagestring( $res->r, $fontSize, $point->x, $point->y, $text, $color->getGdValue() );
      
      return $res;
      
   }