def select_graphic_rendition(self, *attrs):
        """
        Act on text style ASCII escapes
        :param [ShChar] attrs: List of characters and their attributes
        """
        replace = {}

        for attr in attrs or [0]:
            if attr in graphics.FG:
                replace["fg"] = graphics.FG[attr]
            elif attr in graphics.BG:
                replace["bg"] = graphics.BG[attr]
            elif attr in graphics.TEXT:
                attr = graphics.TEXT[attr]
                replace[attr[1:]] = attr.startswith("+")
            elif not attr:
                replace = DEFAULT_CHAR._asdict()

        self.attrs = self.attrs._replace(**replace)

        Act on text style ASCII escapes
        :param [ShChar] attrs: List of characters and their attributes
        
system/shscreens.py