EnumCorpus

class text_renderer.corpus.EnumCorpus(cfg: CorpusCfg)[source]

Randomly select items from the list

class text_renderer.corpus.EnumCorpusCfg(font_dir: ~pathlib.Path, font_size: ~typing.Tuple[int, int], font_list_file: ~pathlib.Path | None = None, clip_length: int = -1, char_spacing: float | ~typing.Tuple[float, float] = -1, text_color_cfg: ~text_renderer.config.TextColorCfg = <factory>, horizontal: bool = True, text_paths: ~typing.List[~pathlib.Path] = <factory>, items: ~typing.List[str] = <factory>, num_pick: int = 1, filter_by_chars: bool = False, chars_file: ~pathlib.Path | None = None, filter_font: bool = False, filter_font_min_support_chars: int = 100, join_str: str = '')[source]

Enum corpus config

Parameters:
  • text_paths (List[Path]) – Text file paths

  • items (List[str]) – Texts to choice. Only works if text_paths is empty

  • num_pick (int) – Random choice {count} item from texts

  • filter_by_chars (bool) – If True, filtering text by character set

  • chars_file (Path) – Character set

  • filter_font (bool) – Only work when filter_by_chars is True. If True, filter font file by intersection of font support chars with chars file

  • filter_font_min_support_chars (int) – If intersection of font support chars with chars file is lower than filter_font_min_support_chars, filter this font file.

  • join_str (str) –

Base config for corpus

Parameters:
  • font_dir (path) – font files directory

  • font_list_file (path) – font file names to load from font_dir, if not provided, all fonts in font_dir will be used

  • font_size (tuple[int, int]) – font size in point (min_font_size, max_font_size)

  • clip_length (int) – clip get_text() output. set -1 disables clip

  • char_spacing ((Union[float, tuple[float, float]])) – Draw character with spacing. If tuple, random choice between [min, max) Set -1 to disable

  • text_color_cfg (TextColorCfg) – see TextColorCfg. has higher priority than RenderCfg.text_color_cfg

  • horizontal (bool) – generate the horizontal(default) or vertical text Set False to generate vertical text