CFonts: Sexy fonts for the console

https://img.shields.io/pypi/v/python-cfonts.svg https://img.shields.io/pypi/pyversions/python-cfonts.svg _images/example.png

This is a Python port of @dominikwilkowski’s cfonts. Thanks for the original code and beautiful console fonts!

This project supports Python 3.6+

Installation

Recommended way: use pipx:

$ pipx install python-cfonts

Or alternatively, install using Pip:

$ pip install python-cfonts

Command Line Interface

usage: cfonts [-h] [-V]
              [-f {console,block,simpleBlock,simple,3d,simple3d,chrome,huge,grid,pallet,shade,slick}]
              [-c COLORS] [-b BACKGROUND] [-a {left,center,right}]
              [-l LETTER_SPACING] [-z LINE_HEIGHT] [-s] [-m MAX_LENGTH]
              [-g GRADIENT] [-i] [-t]
              text

positional arguments:
  text

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -f {console,block,simpleBlock,simple,3d,simple3d,chrome,huge,grid,pallet,shade,slick}, --font {console,block,simpleBlock,simple,3d,simple3d,chrome,huge,grid,pallet,shade,slick}
                        Use to define the font face
  -c COLORS, --colors COLORS
                        Use to define the font color
  -b BACKGROUND, --background BACKGROUND
                        Use to define the background color
  -a {left,center,right}, --align {left,center,right}
                        Use to align the text output
  -l LETTER_SPACING, --letter-spacing LETTER_SPACING
                        Use to define the letter spacing
  -z LINE_HEIGHT, --line-height LINE_HEIGHT
                        Use to define the line height
  -s, --spaceless       Use to define the background color
  -m MAX_LENGTH, --max-length MAX_LENGTH
                        Use to define the amount of maximum characters per
                        line
  -g GRADIENT, --gradient GRADIENT
                        Define gradient colors(separated by comma)
  -i, --independent-gradient
                        Set this option to re-calculate the gradient colors
                        for each new line.Only works in combination with the
                        gradient option.
  -t, --transition-gradient
                        Set this option to generate your own gradients. Each
                        color set in the gradient option will then be
                        transitioned to directly.

Examples

_images/demos.png

API References

cfonts.render(text: str, font: str = 'block', size: Tuple[int, int] = os.terminal_size(columns=80, lines=24), colors: Optional[List[str]] = None, background: str = 'transparent', align: str = 'left', letter_spacing: Optional[int] = None, line_height: int = 1, space: bool = True, max_length: int = 0, gradient: Optional[List[str]] = None, independent_gradient: bool = False, transition: bool = False, raw: bool = False)str

Main function to get the colored output for a string.

Parameters
  • text – the string you want to render

  • font – use to define the font

  • size – a (width, height) tuple to define the window size

  • colors – a list of color names to render sequentially

  • background – background color name

  • align – the alignment method: left/center/right

  • letter_spacing – the amount of spacing inserted between letters

  • line_height – the height of each line

  • space – whether to wrap the output with blank lines

  • max_length – define the max length of per line, use 0 to disable

  • gradient – define the gradient color sequence

  • independent_gradient – whether to apply gradient to each line independently

  • transition – If set to True, will generate transition gradient colors

Returns

the colored output string

cfonts.say(text: str, **options)None

Render and write the output to stout.

Parameters
  • text – the string you want to render

  • options – options passed as same as cfonts.render()

Returns

None