mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 01:47:47 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			102 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. py:module:: PIL.ImageFont
 | 
						|
.. py:currentmodule:: PIL.ImageFont
 | 
						|
 | 
						|
:py:mod:`~PIL.ImageFont` Module
 | 
						|
===============================
 | 
						|
 | 
						|
The :py:mod:`~PIL.ImageFont` module defines a class with the same name. Instances of
 | 
						|
this class store bitmap fonts, and are used with the
 | 
						|
:py:meth:`PIL.ImageDraw.ImageDraw.text` method.
 | 
						|
 | 
						|
PIL uses its own font file format to store bitmap fonts, limited to 256 characters. You can use
 | 
						|
`pilfont.py <https://github.com/python-pillow/pillow-scripts/blob/main/Scripts/pilfont.py>`_
 | 
						|
from :pypi:`pillow-scripts` to convert BDF and
 | 
						|
PCF font descriptors (X window font formats) to this format.
 | 
						|
 | 
						|
Starting with version 1.1.4, PIL can be configured to support TrueType and
 | 
						|
OpenType fonts (as well as other font formats supported by the FreeType
 | 
						|
library). For earlier versions, TrueType support is only available as part of
 | 
						|
the imToolkit package.
 | 
						|
 | 
						|
.. warning::
 | 
						|
    To protect against potential DOS attacks when using arbitrary strings as
 | 
						|
    text input, Pillow will raise a :py:exc:`ValueError` if the number of characters
 | 
						|
    is over a certain limit, :py:data:`MAX_STRING_LENGTH`.
 | 
						|
 | 
						|
    This threshold can be changed by setting
 | 
						|
    :py:data:`MAX_STRING_LENGTH`. It can be disabled by setting
 | 
						|
    ``ImageFont.MAX_STRING_LENGTH = None``.
 | 
						|
 | 
						|
Example
 | 
						|
-------
 | 
						|
 | 
						|
::
 | 
						|
 | 
						|
    from PIL import ImageFont, ImageDraw
 | 
						|
 | 
						|
    draw = ImageDraw.Draw(image)
 | 
						|
 | 
						|
    # use a bitmap font
 | 
						|
    font = ImageFont.load("arial.pil")
 | 
						|
 | 
						|
    draw.text((10, 10), "hello", font=font)
 | 
						|
 | 
						|
    # use a truetype font
 | 
						|
    font = ImageFont.truetype("arial.ttf", 15)
 | 
						|
 | 
						|
    draw.text((10, 25), "world", font=font)
 | 
						|
 | 
						|
Functions
 | 
						|
---------
 | 
						|
 | 
						|
.. autofunction:: PIL.ImageFont.load
 | 
						|
.. autofunction:: PIL.ImageFont.load_path
 | 
						|
.. autofunction:: PIL.ImageFont.truetype
 | 
						|
.. autofunction:: PIL.ImageFont.load_default
 | 
						|
.. autofunction:: PIL.ImageFont.load_default_imagefont
 | 
						|
 | 
						|
Methods
 | 
						|
-------
 | 
						|
 | 
						|
.. autoclass:: PIL.ImageFont.ImageFont
 | 
						|
    :members:
 | 
						|
 | 
						|
.. autoclass:: PIL.ImageFont.FreeTypeFont
 | 
						|
    :members:
 | 
						|
 | 
						|
.. autoclass:: PIL.ImageFont.TransposedFont
 | 
						|
    :members:
 | 
						|
    :undoc-members:
 | 
						|
 | 
						|
Constants
 | 
						|
---------
 | 
						|
 | 
						|
.. class:: Layout
 | 
						|
 | 
						|
    .. py:attribute:: BASIC
 | 
						|
 | 
						|
        Use basic text layout for TrueType font.
 | 
						|
        Advanced features such as text direction are not supported.
 | 
						|
 | 
						|
    .. py:attribute:: RAQM
 | 
						|
 | 
						|
        Use Raqm text layout for TrueType font.
 | 
						|
        Advanced features are supported.
 | 
						|
 | 
						|
        Requires Raqm, you can check support using
 | 
						|
        :py:func:`PIL.features.check_feature` with ``feature="raqm"``.
 | 
						|
 | 
						|
.. data:: MAX_STRING_LENGTH
 | 
						|
 | 
						|
    Set to 1,000,000, to protect against potential DOS attacks. Pillow will
 | 
						|
    raise a :py:exc:`ValueError` if the number of characters is over this limit. The
 | 
						|
    check can be disabled by setting ``ImageFont.MAX_STRING_LENGTH = None``.
 | 
						|
 | 
						|
Dictionaries
 | 
						|
------------
 | 
						|
 | 
						|
.. autoclass:: Axis
 | 
						|
    :members:
 | 
						|
    :undoc-members:
 | 
						|
    :show-inheritance:
 |