ConsoleUser
Copyright (c) 2010-2023 Skaion Corporarion, www.skaion.com
This project was developed in part by numerous sponsorships from the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints of Governmental purposes notwithstanding any copyright notation thereon.
All content reflects those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the U.S. Government or Skaion Corporation.
- class Font.Font(config, fontname, trim_font_bottom=0)¶
A class wrapping a font type, so that images (as arrays) can be retrieved for how any letter looks in that font.
Parameters:
config: a <no title> object
fontname: a string which maps to a file in the fonts directory
trimFontBottom: a number of rows to trim from the bottom of each char
- find_in_region(text, region, fgcolor=0, bgcolor=63, maxrows=-1)¶
Attempt to find all areas of the given region that math the text rendered in this font. Return a list of all matches.
Parameters:
text: the string to search for
region: the region being searched
fgcolor: the color of the text
bgcolor: the background color on which the text is found
maxrows: the maximum number of rows of each character to include
- get_fmap(char)¶
Get the array of that represents the given character in this font
Parameters:
char: the character to lookup
Return: the character as rendered in the given font
- get_trim()¶
Get the current number of rows that will be trimmed from the bottom of each char
- set_trim(new_trim)¶
Update the number of rows trimmed from the bottom of each char
- text_to_region(text, fgcolor=0, bgcolor=63, maxrows=-1, strict=False)¶
Convert the given text to an screen as rendered in this font and with the given colors/pixel values. By default the region will be a mask of bgcolor and not bgcolor with a ring of transparent pixels around the not bgcolor section. This will handle matching antialiased text, but will not help if the only differentiator of interest is the foreground color. If that is what’s needed specify strict=True and the region will then be only bgcolor and fgcolor.
The numpy array will be created in row-major order
Parameters:
text: the string to convert to an image
fgcolor: the color (pixel value) the text
bgcolor: the color (pixel value) of the background
maxrows: the maximum number of rows to included. a value <= 0 means all rows
strict: This will construct a strict region without using the masks or transparent pixels
Return: a Region object containing this text
- text_to_region_column_major(text, fgcolor=0, bgcolor=63, maxrows=-1, mask=False)¶
Convert the given text to an screen as rendered in this font and with the given colors/pixel values.
The numpy array will be created in column-major order
Parameters:
text: the string to convert to an image
fgcolor: the color (pixel value) the text
bgcolor: the color (pixel value) of the background
maxrows: the maximum number of rows to included. a value <= 0 means all rows
mask: Use the constructed region as a mask, using values specific to PatternMatcher interpretation
Return: a Region object containing this text
- exception Font.UnusedException¶
- Font.clean_up()¶
Make sure the FONTS_DAT shelve is closed properly at exit
- Font.get_font(config, name, trim_font_bottom=0)¶
Given the name of the font, try to find the right class to load it and return a suitable instance of that class.
Parameters:
config: a <no title> object
fontname: a string which maps to a file in the fonts directory
trimFontBottom: a number of rows to trim from the bottom of each char
- Font.load_dat_from_files()¶
This assumes the filesystem itself is the organizing structure and loads from a series of directories, each of which has files representing the character in the font.