.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.FontEnumerator:

==========================================================================================================================================
|phoenix_title|  **wx.FontEnumerator**
==========================================================================================================================================

:ref:`wx.FontEnumerator`  enumerates either all available fonts on the system or only the ones with given attributes - either only fixed-width (suited for use in programs such as terminal emulators and the like) or the fonts available in the given encoding).          

To do this, you just have to call one of EnumerateXXX() functions - either :meth:`wx.FontEnumerator.EnumerateFacenames`   or :meth:`wx.FontEnumerator.EnumerateEncodings`   and the corresponding callback (:meth:`wx.FontEnumerator.OnFacename`   or :meth:`wx.FontEnumerator.OnFontEncoding` ) will be called repeatedly until either all fonts satisfying the specified criteria are exhausted or the callback returns ``False``. 



|phoenix_title| Virtual functions to override
=============================================

Either OnFacename or OnFontEncoding should be overridden depending on whether you plan to call EnumerateFacenames or EnumerateEncodings. Of course, if you call both of them, you should override both functions.   



.. seealso:: :ref:`Font Encodings <font encodings>`, :ref:`Font Sample <font sample>`, :ref:`wx.Font`, :ref:`wx.FontMapper`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>FontEnumerator</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.FontEnumerator_inheritance.png" alt="Inheritance diagram of FontEnumerator" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.FontEnumerator.html" title="wx.FontEnumerator" alt="" coords="5,5,155,35"/> </map> 
   </p>
   </div>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.FontEnumerator.__init__`                                              
:meth:`~wx.FontEnumerator.EnumerateEncodings`                                    Call :meth:`~FontEnumerator.OnFontEncoding`   for each encoding supported by the given font - or for each encoding supported by at least some font if `font`  is not specified.
:meth:`~wx.FontEnumerator.EnumerateFacenames`                                    Call :meth:`~FontEnumerator.OnFacename`   for each font which supports given encoding (only if it is not  ``FONTENCODING_SYSTEM`` ) and is of fixed width (if  `fixedWidthOnly`  is ``True``).
:meth:`~wx.FontEnumerator.GetEncodings`                                          Return array of strings containing all encodings found by :meth:`~FontEnumerator.EnumerateEncodings` .
:meth:`~wx.FontEnumerator.GetFacenames`                                          Return array of strings containing all facenames found by :meth:`~FontEnumerator.EnumerateFacenames` .
:meth:`~wx.FontEnumerator.InvalidateCache`                                       Invalidate cache used by some of the methods of this class internally.
:meth:`~wx.FontEnumerator.IsValidFacename`                                       Returns ``True`` if the given string is valid face name, i.e.
:meth:`~wx.FontEnumerator.OnFacename`                                            Called by :meth:`~FontEnumerator.EnumerateFacenames`   for each match.
:meth:`~wx.FontEnumerator.OnFontEncoding`                                        Called by :meth:`~FontEnumerator.EnumerateEncodings`   for each match.
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.FontEnumerator(object)

   **Possible constructors**::

       FontEnumerator()
       
   
   FontEnumerator enumerates either all available fonts on the system
   or only the ones with given attributes - either only fixed-width
   (suited for use in programs such as terminal emulators and the like)
   or the fonts available in the given encoding).



   .. method:: __init__(self)






   .. method:: EnumerateEncodings(self, font=EmptyString)

      Call :meth:`OnFontEncoding`   for each encoding supported by the given font - or for each encoding supported by at least some font if `font`  is not specified.                  


      :param `font`: 
      :type `font`: string




      :rtype: `bool`








   .. method:: EnumerateFacenames(self, encoding=FONTENCODING_SYSTEM, fixedWidthOnly=False)

      Call :meth:`OnFacename`   for each font which supports given encoding (only if it is not  ``FONTENCODING_SYSTEM`` ) and is of fixed width (if  `fixedWidthOnly`  is ``True``).                  

      Calling this function with default arguments will result in enumerating all fonts available on the system.                  


      :param `encoding`: 
      :type `encoding`: wx.FontEncoding
      :param `fixedWidthOnly`: 
      :type `fixedWidthOnly`: bool




      :rtype: `bool`








   .. staticmethod:: GetEncodings(facename=EmptyString)

      Return array of strings containing all encodings found by :meth:`EnumerateEncodings` .                  


      :param `facename`: 
      :type `facename`: string




      :rtype: `list of strings`








   .. staticmethod:: GetFacenames(encoding=FONTENCODING_SYSTEM, fixedWidthOnly=False)

      Return array of strings containing all facenames found by :meth:`EnumerateFacenames` .                  


      :param `encoding`: 
      :type `encoding`: wx.FontEncoding
      :param `fixedWidthOnly`: 
      :type `fixedWidthOnly`: bool




      :rtype: `list of strings`








   .. staticmethod:: InvalidateCache()

      Invalidate cache used by some of the methods of this class internally.                  

      This method should be called if the list of the fonts available on the system changes, for whatever reason. In particular, it is called automatically by :meth:`wx.Font.AddPrivateFont` . 

                 



      .. versionadded:: 4.1/wxWidgets-3.1.1  
     








   .. staticmethod:: IsValidFacename(facename)

      Returns ``True`` if the given string is valid face name, i.e.                  

      it's the face name of an installed font and it can safely be used with :meth:`wx.Font.SetFaceName` .                  


      :param `facename`: 
      :type `facename`: string




      :rtype: `bool`








   .. method:: OnFacename(self, font)

      Called by :meth:`EnumerateFacenames`   for each match.                  

      Return ``True`` to continue enumeration or ``False`` to stop it.                  


      :param `font`: 
      :type `font`: string




      :rtype: `bool`








   .. method:: OnFontEncoding(self, font, encoding)

      Called by :meth:`EnumerateEncodings`   for each match.                  

      Return ``True`` to continue enumeration or ``False`` to stop it.                  


      :param `font`: 
      :type `font`: string
      :param `encoding`: 
      :type `encoding`: string




      :rtype: `bool`







