panda3d.core.PNMTextMaker

from panda3d.core import PNMTextMaker
class PNMTextMaker

Bases: FreetypeFont

This object uses the Freetype library to generate text directly into an image. It is different from the TextNode/DynamicTextFont interface, which use the Freetype library to generate text in the scene graph, to be rendered onscreen via the Panda render traversal.

Inheritance diagram

Inheritance diagram of PNMTextMaker

enum Alignment
enumerator A_left = 0
enumerator A_right = 1
enumerator A_center = 2
__init__(font_filename: Filename, face_index: int) → None

The constructor expects the name of some font file that FreeType can read, along with face_index, indicating which font within the file to load (usually 0).

__init__(copy: FreetypeFont) → None
__init__(copy: PNMTextMaker) → None
__init__(font_data: str, data_length: int, face_index: int) → None

This constructor works as above, but it takes the font data from an in- memory buffer instead of from a named file.

calcWidth(text: str) → int

Returns the width in pixels of the indicated line of text.

calcWidth(text: str) → int

Returns the width in pixels of the indicated line of text.

generateInto(text: str, dest_image: PNMImage, x: int, y: int) → int

Generates a single line of text into the indicated image at the indicated position; the return value is the total width in pixels.

generateInto(text: str, dest_image: PNMImage, x: int, y: int) → int

Generates a single line of text into the indicated image at the indicated position; the return value is the total width in pixels.

getAlign() → Alignment
Return type

Alignment

getDistanceFieldRadius() → int

Returns the radius previously set with set_distance_field_radius, or 0 otherwise.

getFg() → LColor

Returns the foreground color of text that will be generated by future calls to generateInto().

Return type

LColor

getGlyph(character: int) → PNMTextGlyph

Returns the glyph for the indicated index, or NULL if it is not defined in the font.

Return type

PNMTextGlyph

getInterior() → LColor

Returns the color that will be used to render the interior portions of hollow fonts.

Return type

LColor

getInteriorFlag() → bool
isValid() → bool

Returns true if the PNMTextMaker is valid and ready to generate text, false otherwise.

setAlign(align_type: Alignment) → None
setDistanceFieldRadius(radius: int) → None

If this is set to something other than 0, Panda will generate a signed distance field with the given radius.

setFg(fg: LColor) → None

Sets the foreground color of text that will be generated by future calls to generateInto(). This is the color that all of the “on” pixels in the font will show as.

setInterior(interior: LColor) → None

Sets the color that will be used to render the interior portions of hollow fonts in future calls to generateInto(). This is respected only if interior_flag is true.

setInteriorFlag(interior_flag: bool) → None

Sets the flag that indicates whether the interior of hollow fonts is identified as a preprocess as each glyph is loaded. If this flag is true, you may specify an interior color along with a fg and bg color when you place text; if the flag is false, the interior color is ignored.

It is generally best to set_native_antialias(0) when using this feature. Also, this works best when the pixel size is not very small.