## wxFontEnumerator

wxFontEnumerator 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 EnumerateFacenames or EnumerateEncodings and the corresponding callback (OnFacename or OnFontEncoding) will be called repeatedly until either all fonts satisfying the specified criteria are exhausted or the callback returns false.

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.

Derived from

None

Include files

<wx/fontenum.h>

See also

Font encoding overview, Font sample, wxFont, wxFontMapper

Members

wxFontEnumerator::EnumerateFacenames
wxFontEnumerator::EnumerateEncodings
wxFontEnumerator::GetEncodings
wxFontEnumerator::GetFacenames
wxFontEnumerator::OnFacename
wxFontEnumerator::OnFontEncoding

### wxFontEnumerator::EnumerateFacenames

virtual bool EnumerateFacenames( wxFontEncoding encoding = wxFONTENCODING_SYSTEM, bool fixedWidthOnly = false)

Call OnFacename for each font which supports given encoding (only if it is not wxFONTENCODING_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.

### wxFontEnumerator::EnumerateEncodings

virtual bool EnumerateEncodings(const wxString& font = "")

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

### wxFontEnumerator::GetEncodings

wxArrayString* GetEncodings()

Return array of strings containing all encodings found by EnumerateEncodings. This is convenience function. It is based on default implementation of OnFontEncoding so don't expect it to work if you overwrite that method.

### wxFontEnumerator::GetFacenames

wxArrayString* GetFacenames()

Return array of strings containing all facenames found by EnumerateFacenames. This is convenience function. It is based on default implementation of OnFacename so don't expect it to work if you overwrite that method.

### wxFontEnumerator::OnFacename

virtual bool OnFacename(const wxString& font)

Called by EnumerateFacenames for each match. Return true to continue enumeration or false to stop it.

### wxFontEnumerator::OnFontEncoding

virtual bool OnFontEncoding( const wxString& font, const wxString& encoding )

Called by EnumerateEncodings for each match. Return true to continue enumeration or false to stop it.