def __init__(self, area, text_lines=None, aspect_ratio=<NUM_LIT:1.0>):
super().__init__()<EOL>self.area = area<EOL>self._text_lines = text_lines<EOL>self._projection_bytes = None<EOL>self._aspect_ratio = <NUM_LIT:1.0><EOL>self.aspect_ratio = aspect_ratio<EOL>self._vao = None<EOL>self._config = self.get_data('<STR_LIT>')<EOL>self._texture = self.get_texture('<STR_LIT>')<EOL>self._program = self.get_program('<STR_LIT>')<EOL>self._string_buffer = None<EOL>self._init(FontMeta(self._config))<EOL>self._string_buffer = self.ctx.buffer(reserve=self.area[<NUM_LIT:0>] * <NUM_LIT:4> * self.area[<NUM_LIT:1>])<EOL>self._string_buffer.clear(chunk=b'<STR_LIT>')<EOL>pos = self.ctx.buffer(data=bytes([<NUM_LIT:0>] * <NUM_LIT:4> * <NUM_LIT:3>))<EOL>self._vao = VAO("<STR_LIT>", mode=moderngl.POINTS)<EOL>self._vao.buffer(pos, '<STR_LIT>', '<STR_LIT>')<EOL>self._vao.buffer(self._string_buffer, '<STR_LIT>', '<STR_LIT>', per_instance=True)<EOL>self.text_lines = self._text_lines<EOL>
:param area: (x, y) Text area size (number of characters)
:param size: Text size
:param text: Initial text lines