def setup_for_testing(family='monospace', size=11.0, dpi=96.0): opts = defaults._replace(font_family=family) set_options(opts) sprites = {} def send_to_gpu(x, y, z, data): sprites[(x, y, z)] = data sprite_map_set_limits(100000, 100) set_send_sprite_to_gpu(send_to_gpu) set_logical_dpi(dpi, dpi) cell_width, cell_height = set_font_family(opts, override_font_size=size) prerender() return sprites, cell_width, cell_height
def test_rendering(text='\'Pingšaā§½ī°', sz=144, family='monospace', underline=2, strikethrough=True): from kitty.config import defaults from kitty.fast_data_types import glfw_init, glfw_terminate if not glfw_init(): raise SystemExit('Failed to initialize glfw') try: opts = defaults._replace(font_family=family, font_size=sz) set_font_family(opts) display_bitmap(*render_string( text, underline=underline, strikethrough=strikethrough)) finally: glfw_terminate()
def __enter__(self) -> Tuple[Dict[Tuple[int, int, int], bytes], int, int]: opts = defaults._replace(font_family=self.family, font_size=self.size) set_options(opts) sprites = {} def send_to_gpu(x: int, y: int, z: int, data: bytes) -> None: sprites[(x, y, z)] = data sprite_map_set_limits(100000, 100) set_send_sprite_to_gpu(send_to_gpu) try: set_font_family(opts) cell_width, cell_height = create_test_font_group(self.size, self.dpi, self.dpi) return sprites, cell_width, cell_height except Exception: set_send_sprite_to_gpu(None) raise
def develop(family='monospace', sz=288): import pickle from .render import render_string from kitty.fast_data_types import glfw_init from kitty.config import defaults import os glfw_init() try: os.remove('/tmp/cell.data') except EnvironmentError: pass opts = defaults._replace(font_family=family, font_size=sz) set_font_family(opts, ignore_dpi_failure=True) for (bold, italic), face in main_font.items(): print('bold: {} italic: {} {}'.format(bold, italic, face)) print('cell_width: {}, cell_height: {}, baseline: {}'.format( cell_width, cell_height, baseline)) buf, w, h = render_string() open('/tmp/cell.data', 'wb').write(pickle.dumps((bytearray(buf), w, h)))
def __enter__(self): from collections import OrderedDict opts = defaults._replace(font_family=self.family, font_size=self.size) set_options(opts) sprites = OrderedDict() def send_to_gpu(x, y, z, data): sprites[(x, y, z)] = data sprite_map_set_limits(100000, 100) set_send_sprite_to_gpu(send_to_gpu) try: set_font_family(opts) cell_width, cell_height = create_test_font_group( self.size, self.dpi, self.dpi) return sprites, cell_width, cell_height except Exception: set_send_sprite_to_gpu(None) raise
def test_drawing(sz=32, family='monospace'): from .render import join_cells, display_bitmap, render_cell, set_font_family from kitty.config import defaults opts = defaults._replace(font_family=family, font_size=sz) width, height = set_font_family(opts) pos = 0x2500 rows = [] space = render_cell()[0] space_row = join_cells(width, height, *repeat(space, 32)) for r in range(8): row = [] for i in range(16): row.append(render_cell(chr(pos))[0]), row.append(space) pos += 1 rows.append(join_cells(width, height, *row)) rows.append(space_row) width *= 32 im = join_rows(width, height, rows) display_bitmap(im, width, height * len(rows))
def test_rendering(text='\'Pingšaā§½ī°', sz=144, family='monospace'): from kitty.config import defaults opts = defaults._replace(font_family=family, font_size=sz) set_font_family(opts) display_bitmap(*render_string(text))