matplotlib.font_manager#

여러 플랫폼에서 글꼴을 찾고 관리하고 사용하기 위한 모듈입니다.

이 모듈은 백엔드와 플랫폼 간에 공유할 수 있는 단일 FontManager인스턴스를 제공합니다. fontManagerfindfont 함수는 지정된 FontProperties 인스턴스와 일치하는 로컬 또는 시스템 글꼴 경로에서 최상의 TrueType(TTF) 글꼴 파일을 반환합니다. 또한 FontManagerPostScript 백엔드에서 사용할 AFM(Adobe Font Metrics) 글꼴 파일도 처리합니다.

디자인은 W3C Cascading Style Sheet, Level 1(CSS1) 글꼴 사양 을 기반으로 합니다 . 향후 버전은 레벨 2 또는 2.1 사양을 구현할 수 있습니다.

클래스 matplotlib.font_manager. FontManager ( size = None , weight = 'normal' ) [소스] #

베이스:object

가져올 때 FontManager싱글톤 인스턴스는 ttf 및 afm 글꼴 목록을 만들고 해당 FontProperties. 이 FontManager.findfont 메서드는 가장 가까운 이웃 검색을 수행하여 사양과 가장 일치하는 글꼴을 찾습니다. 충분히 일치하는 항목이 없으면 기본 글꼴이 반환됩니다.

addfont ( 경로 ) [소스] #

에서 사용할 수 있도록 경로 에서 글꼴 속성을 캐시합니다 FontManager. 글꼴 유형은 경로 접미사에서 유추됩니다.

매개변수 :
경로 str 또는 경로 유사
속성 defaultFont #
findfont ( prop , fontext = 'ttf' , directory = None , fallback_to_default = True , rebuild_if_missing = True ) [출처] #

주어진 글꼴 속성과 가장 일치하는 글꼴을 찾습니다.

매개변수 :
소품 str 또는FontProperties

검색할 글꼴 속성입니다. 이것은 개체이거나 fontconfig 패턴을FontProperties 정의하는 문자열 일 수 있습니다 .

fonttext {'ttf', 'afm'}, 기본값: 'ttf'

글꼴 파일의 확장자:

  • 'ttf': TrueType 및 OpenType 글꼴(.ttf, .ttc, .otf)

  • 'afm': Adobe 글꼴 메트릭(.afm)

디렉토리 str, 선택사항

주어진 경우 이 디렉토리와 하위 디렉토리만 검색합니다.

fallback_to_default 부울

True인 경우 첫 번째 조회가 실패하면 기본 글꼴 패밀리(일반적으로 "DejaVu Sans" 또는 "Helvetica")로 대체됩니다.

rebuild_if_missing 부울

첫 번째 일치 항목이 존재하지 않는 글꼴을 가리키는 경우(즉, 글꼴 캐시에 오래된 항목이 포함된 경우) 글꼴 캐시를 다시 빌드하고 다시 검색할지 여부입니다.

반환 :
str

가장 일치하는 글꼴의 파일 이름입니다.

메모

가장 가까운 이웃 검색을 수행합니다. 각 글꼴에는 대상 글꼴 속성에 대한 유사성 점수가 부여됩니다. 점수가 가장 높은 첫 번째 글꼴이 반환됩니다. 특정 임계값 미만의 일치 항목이 없으면 기본 글꼴(일반적으로 DejaVu Sans)이 반환됩니다.

결과가 캐시되므로 후속 조회에서 O(n) 최근접 이웃 검색을 수행할 필요가 없습니다.

글꼴 찾기 알고리즘에 대한 설명은 W3C Cascading Style Sheet, Level 1 설명서를 참조하십시오 .

static get_default_size ( ) [소스] #

기본 글꼴 크기를 반환합니다.

get_default_weight ( ) [출처] #

기본 글꼴 두께를 반환합니다.

get_font_names ( ) [출처] #

사용 가능한 글꼴 목록을 반환합니다.

score_family ( 가족 , 가족 2 ) [출처] #

패밀리의 글꼴 패밀리 목록과 글꼴 패밀리 이름 family2 간의 일치 점수를 반환합니다 .

목록 헤드의 정확한 일치는 0.0을 반환합니다.

목록 아래에 있는 일치 항목은 0과 1 사이에서 반환됩니다.

어떤 일치 항목도 1.0을 반환하지 않습니다.

점수_크기 ( 크기 1 , 크기 2 ) [출처] #

size1size2 사이의 일치 점수를 반환합니다 .

size2 (글꼴 파일 에 지정된 크기)가 'scalable'이면 모든 글꼴 크기를 생성할 수 있으므로 이 함수는 항상 0.0을 반환합니다.

그렇지 않으면 결과는 size1size2 사이의 절대 거리 이며 일반적인 글꼴 크기 범위(6pt - 72pt)가 0.0과 1.0 사이에 있도록 정규화됩니다.

score_stretch ( 스트레치1 , 스트레치2 ) [소스] #

stretch1stretch2 사이의 일치 점수를 반환합니다 .

결과는 0.0과 1.0 사이에서 정규화된 stretch1stretch2 의 CSS 숫자 값 간 차이의 절대값입니다 .

score_style ( 스타일1 , 스타일 2 ) [출처] #

style1style2 사이의 일치 점수를 반환합니다 .

정확한 일치는 0.0을 반환합니다.

'italic'과 'oblique'가 일치하면 0.1이 반환됩니다.

일치하는 항목이 없으면 1.0을 반환합니다.

score_variant ( 변형 1 , 변이2 ) [출처] #

variant1variant2 사이의 일치 점수를 반환합니다 .

정확히 일치하면 0.0이 반환되고 그렇지 않으면 1.0이 반환됩니다.

score_weight ( weight1 , weight2 ) [출처] #

weight1weight2 사이의 일치 점수를 반환합니다 .

weight1과 weight 2가 모두 문자열로 주어지고 값이 같으면 결과는 0.0입니다.

그렇지 않으면 결과는 0.05와 1.0 사이에서 정규화된 weight1weight2 의 CSS 숫자 값 간 차이의 절대값입니다 .

set_default_weight ( 무게 ) [출처] #

기본 글꼴 두께를 설정합니다. 초기값은 '정상'입니다.

클래스 matplotlib.font_manager. FontProperties ( family = None , style = None , variant = None , weight = None , stretch = None , size = None , fname = None , math_fontfamily = None ) [소스] #

베이스:object

글꼴 속성을 저장하고 조작하기 위한 클래스입니다.

글꼴 속성은 W3C Cascading Style Sheet, 레벨 1 글꼴 사양 및 수식 글꼴에 대한 math_fontfamily 에 설명된 6개의 속성입니다 .

  • family: 우선 순위 내림차순의 글꼴 이름 목록입니다. 항목에는 'sans-serif', 'serif', 'cursive', 'fantasy' 또는 'monospace'와 같은 일반 글꼴 패밀리 이름이 포함될 수 있습니다. 이 경우 사용할 실제 글꼴은 에서 검색 프로세스 중에 연결된 rcParam에서 조회됩니다 findfont. 기본값: rcParams["font.family"](기본값: ['sans-serif'])

  • 스타일: '보통', '이탤릭체' 또는 '비스듬한'. 기본값: rcParams["font.style"](기본값: 'normal')

  • 변형: '보통' 또는 '작은 대문자'. 기본값: rcParams["font.variant"](기본값: 'normal')

  • stretch: 0~1000 범위의 숫자값 또는 '초집중', '초집중', '응축', '반응축', '보통', '반팽창', '팽창', '추가 확장' 또는 '초 확장'. 기본값: rcParams["font.stretch"](기본값: 'normal')

  • weight: 0-1000 범위의 숫자 값 또는 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', '데미', '볼드', '헤비', '엑스트라 볼드', '블랙'. 기본값: rcParams["font.weight"](기본값: 'normal')

  • size: 'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'의 상대 값 또는 절대 글꼴 크기, 예: 10. 기본값: rcParams["font.size"](기본값: 10.0)

  • math_fontfamily: 수학 텍스트를 렌더링하는 데 사용되는 글꼴 모음입니다. 지원되는 값은 'dejavusans', 'dejavuserif', 'cm', 'stix', 'stixsans' 및 'custom'입니다. 기본값: rcParams["mathtext.fontset"](기본값: 'dejavusans')

또는 fname kwarg 를 사용하여 글꼴 파일에 대한 절대 경로를 사용하여 글꼴을 지정할 수 있습니다 . 그러나 이 경우 일반적으로 객체의 글꼴 kwarg에 경로( a pathlib.Path가 아닌 a 로 str)를 전달하는 것이 더 간단 합니다.Text

글꼴 크기의 기본 사용법은 절대 글꼴 크기(예: 12) 대신 상대 값(예: '크게')을 사용하는 것입니다. 이 방법을 사용하면 글꼴 관리자의 기본 글꼴 크기를 기반으로 모든 텍스트 크기를 크거나 작게 만들 수 있습니다.

이 클래스는 제공된 유일한 인수인 경우 fontconfig 패턴 도 허용합니다. 이 지원은 fontconfig에 의존하지 않습니다. 우리는 여기서 사용하기 위해 패턴 구문을 빌릴 뿐입니다.

Matplotlib의 내부 글꼴 관리자와 fontconfig는 다른 알고리즘을 사용하여 글꼴을 조회하므로 동일한 패턴의 결과가 fontconfig를 사용하는 다른 응용 프로그램과 Matplotlib에서 다를 수 있습니다.

복사 ( ) [출처] #

자신의 복사본을 반환합니다.

get_family ( ) [출처] #

개별 글꼴 패밀리 이름 또는 일반 패밀리 이름 목록을 반환합니다.

글꼴 패밀리 또는 일반 글꼴 패밀리(일치하는 글꼴을 검색할 때 해당 rcParams에서 확인됨)는 기본 설정 순서대로입니다.

get_file ( ) [소스] #

연관된 글꼴의 파일 이름을 반환합니다.

get_fontconfig_pattern ( ) [출처] #

fontconfig의 유틸리티 로 지정된 대로 글꼴을 찾는 데 적합한 fontconfig 패턴 을 가져 옵니다 .fc-match

이 지원은 fontconfig에 의존하지 않습니다. 우리는 여기서 사용하기 위해 패턴 구문을 빌릴 뿐입니다.

get_math_fontfamily ( ) [출처] #

수학 텍스트에 사용되는 글꼴 패밀리의 이름을 반환합니다.

기본 글꼴은 rcParams["mathtext.fontset"](기본값: 'dejavusans')입니다.

get_name ( ) [소스] #

글꼴 속성과 가장 일치하는 글꼴의 이름을 반환합니다.

get_size ( ) [출처] #

글꼴 크기를 반환합니다.

get_size_in_points ( ) [출처] #

글꼴 크기를 반환합니다.

get_slant ( ) [출처] #

글꼴 스타일을 반환합니다. 값은 'normal', 'italic' 또는 'oblique'입니다.

get_stretch ( ) [출처] #

글꼴 스트레치 또는 너비를 반환합니다. 옵션은 '초집광', '초집광', '응축', '반응축', '보통', '반팽창', '팽창', '초팽창', '초팽창'입니다. .

get_style ( ) [출처] #

글꼴 스타일을 반환합니다. 값은 'normal', 'italic' 또는 'oblique'입니다.

get_variant ( ) [소스] #

글꼴 변형을 반환합니다. 값은 '보통' 또는 '작은 대문자'입니다.

get_weight ( ) [출처] #

글꼴 두께를 설정합니다. 옵션: 0-1000 범위의 숫자 값 또는 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi' 중 하나 , '굵게', '무겁게', '매우 굵게', '검은색'

set_family ( 가족 ) [출처] #

글꼴 패밀리를 변경합니다. 'serif', 'sans-serif', 'cursive', 'fantasy' 또는 'monospace'와 같은 별칭(일반 이름은 CSS 용어임), 실제 글꼴 이름 또는 실제 글꼴 이름 목록일 수 있습니다. . rcParams["text.usetex"](기본값: False)이 인 경우 실제 글꼴 이름은 지원되지 않습니다 True. 기본값: rcParams["font.family"](기본값: ['sans-serif'])

set_file ( 파일 ) [소스] #

사용할 글꼴 파일의 파일 이름을 설정합니다. 이 경우 다른 모든 속성은 무시됩니다.

set_fontconfig_pattern ( 패턴 ) [소스] #

fontconfig 패턴 을 구문 분석하여 속성을 설정합니다 .

이 지원은 fontconfig에 의존하지 않습니다. 우리는 여기서 사용하기 위해 패턴 구문을 빌릴 뿐입니다.

set_math_fontfamily ( fontfamily ) [출처] #

수학 모드에서 텍스트의 글꼴 모음을 설정합니다.

명시적으로 설정하지 않으면 rcParams["mathtext.fontset"](기본값: 'dejavusans')이 사용됩니다.

매개변수 :
폰트패밀리 str

글꼴 모음의 이름입니다.

사용 가능한 글꼴 모음은 여기 matplotlibrc.template 파일에 정의되어 있습니다.

또한보십시오

text.Text.get_math_fontfamily
set_name ( 가족 ) [소스] #

글꼴 패밀리를 변경합니다. 'serif', 'sans-serif', 'cursive', 'fantasy' 또는 'monospace'와 같은 별칭(일반 이름은 CSS 용어임), 실제 글꼴 이름 또는 실제 글꼴 이름 목록일 수 있습니다. . rcParams["text.usetex"](기본값: False)이 인 경우 실제 글꼴 이름은 지원되지 않습니다 True. 기본값: rcParams["font.family"](기본값: ['sans-serif'])

set_size ( 크기 ) [출처] #

글꼴 크기를 설정합니다.

매개변수 :
size float 또는 {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, 기본값: rcParams["font.size"](기본값: 10.0)

부동인 경우 글꼴 크기(포인트)입니다. 문자열 값은 기본 글꼴 크기에 상대적인 크기를 나타냅니다.

set_slant ( 스타일 ) [소스] #

글꼴 스타일을 설정합니다.

매개변수 :
스타일 {'보통', '기울임꼴', '사선'}, 기본값: rcParams["font.style"](기본값: 'normal')
set_stretch ( 늘이기 ) [소스] #

글꼴 늘이기 또는 너비를 설정합니다.

매개변수 :
stretch int 또는 {'초응축', '초응축', '응축', '반응축', '보통', '반팽창', '팽창', '초팽창', '초팽창' '}, 기본값: rcParams["font.stretch"](기본값: 'normal')

int인 경우 0-1000 범위에 있어야 합니다.

set_style ( 스타일 ) [소스] #

글꼴 스타일을 설정합니다.

매개변수 :
스타일 {'보통', '기울임꼴', '사선'}, 기본값: rcParams["font.style"](기본값: 'normal')
set_variant ( 변형 ) [소스] #

글꼴 변형을 설정합니다.

매개변수 :
변형 {'normal', 'small-caps'}, 기본값: rcParams["font.variant"](기본값: 'normal')
set_weight ( 무게 ) [출처] #

글꼴 두께를 설정합니다.

매개변수 :
무게 int 또는 {'초경량', '가벼움', '보통', '일반', '책', '중간', '로만', '세미볼드', '데미볼드', '데미', '볼드', '무거움 ', '매우 굵게', '검은색'}, 기본값: rcParams["font.weight"](기본값: 'normal')

int인 경우 0-1000 범위에 있어야 합니다.

matplotlib.font_manager. afmFontProperty ( 글꼴 경로 , 글꼴 ) [소스] #

AFM 글꼴 파일에서 정보를 추출합니다.

매개변수 :
글꼴 AFM

정보를 추출할 AFM 글꼴 파일입니다.

반환 :
FontEntry

추출된 글꼴 속성입니다.

matplotlib.font_manager. findSystemFonts ( fontpaths = None , fontext = 'ttf' ) [소스] #

지정된 글꼴 경로에서 글꼴을 검색합니다. 경로가 지정되지 않은 경우 표준 시스템 경로 집합과 fontconfig가 설치되어 사용 가능한 경우 fontconfig에서 추적하는 글꼴 목록을 사용합니다. 트루타입 글꼴 목록은 옵션으로 AFM 글꼴과 함께 기본적으로 반환됩니다.

matplotlib.font_manager. findfont ( prop , fontext = 'ttf' , directory = None , fallback_to_default = True , rebuild_if_missing = True ) [출처] #

주어진 글꼴 속성과 가장 일치하는 글꼴을 찾습니다.

매개변수 :
소품 str 또는FontProperties

검색할 글꼴 속성입니다. 이것은 개체이거나 fontconfig 패턴을FontProperties 정의하는 문자열 일 수 있습니다 .

fonttext {'ttf', 'afm'}, 기본값: 'ttf'

글꼴 파일의 확장자:

  • 'ttf': TrueType 및 OpenType 글꼴(.ttf, .ttc, .otf)

  • 'afm': Adobe 글꼴 메트릭(.afm)

디렉토리 str, 선택사항

주어진 경우 이 디렉토리와 하위 디렉토리만 검색합니다.

fallback_to_default 부울

True인 경우 첫 번째 조회가 실패하면 기본 글꼴 패밀리(일반적으로 "DejaVu Sans" 또는 "Helvetica")로 대체됩니다.

rebuild_if_missing 부울

첫 번째 일치 항목이 존재하지 않는 글꼴을 가리키는 경우(즉, 글꼴 캐시에 오래된 항목이 포함된 경우) 글꼴 캐시를 다시 빌드하고 다시 검색할지 여부입니다.

반환 :
str

가장 일치하는 글꼴의 파일 이름입니다.

메모

가장 가까운 이웃 검색을 수행합니다. 각 글꼴에는 대상 글꼴 속성에 대한 유사성 점수가 부여됩니다. 점수가 가장 높은 첫 번째 글꼴이 반환됩니다. 특정 임계값 미만의 일치 항목이 없으면 기본 글꼴(일반적으로 DejaVu Sans)이 반환됩니다.

결과가 캐시되므로 후속 조회에서 O(n) 최근접 이웃 검색을 수행할 필요가 없습니다.

글꼴 찾기 알고리즘에 대한 설명은 W3C Cascading Style Sheet, Level 1 설명서를 참조하십시오 .

matplotlib.font_manager. get_font ( font_filepaths , hinting_factor = 없음 ) [출처] #

ft2font.FT2Font파일 경로 목록이 주어진 개체를 가져옵니다 .

매개변수 :
font_filepaths Iterable[str, 경로, 바이트], str, 경로, 바이트

사용할 글꼴 파일의 상대 또는 절대 경로입니다.

단일 문자열, bytes 또는 pathlib.Path이면 해당 항목만 포함된 목록으로 처리됩니다.

둘 이상의 파일 경로가 전달되면 반환된 FT2Font 개체는 필요한 글리프를 찾기 위해 주어진 순서대로 글꼴을 통해 대체됩니다.

반환 :
ft2font.FT2Font
matplotlib.font_manager. get_font_names ( ) [출처] #

사용 가능한 글꼴 목록을 반환합니다.

matplotlib.font_manager. get_fontconfig_fonts ( fonttext = 'ttf' ) [출처] #

[ Deprecatedfc-list ] 지정된 확장자 를 갖는 것으로 알려진 글꼴 파일 이름을 나열 합니다.

메모

버전 3.5부터 사용되지 않습니다.

matplotlib.font_manager. get_fontext_synonyms ( fonttext ) [출처] #

주어진 파일 확장자 fileext 의 동의어인 파일 확장자 목록을 반환합니다 .

matplotlib.font_manager. is_opentype_cff_font ( 파일 이름 ) [소스] #

지정된 글꼴이 OpenType 래퍼에 포함된 Postscript Compact 글꼴 형식 글꼴인지 여부를 반환합니다. 이러한 글꼴을 하위 집합으로 지정할 수 없는 PostScript 및 PDF 백엔드에서 사용됩니다.

matplotlib.font_manager. json_dump ( 데이터 , 파일 이름 ) [소스] #

filename 이라는 파일에 데이터 를 JSON으로 덤프 합니다 .FontManager

또한보십시오

json_load

메모

Matplotlib 데이터 경로의 하위 파일 경로(일반적으로 Matplotlib와 함께 제공되는 글꼴)는 해당 데이터 경로에 상대적으로 저장됩니다(virtualenvs에서 유효한 상태로 유지됨).

이 기능은 여러 프로세스가 서로의 출력을 덮어쓰는 것을 방지하기 위해 출력 파일을 일시적으로 잠급니다.

matplotlib.font_manager. json_load ( 파일 이름 ) [소스] #

filenameFontManager 이라는 JSON 파일에서 를 로드합니다 .

또한보십시오

json_dump
matplotlib.font_manager. list_fonts ( 디렉토리 , 확장자 ) [소스] #

디렉토리 아래에서 재귀적으로 발견된 모든 확장자와 일치하는 모든 글꼴 목록을 반환합니다.

matplotlib.font_manager. ttfFontProperty ( 글꼴 ) [출처] #

트루타입 글꼴 파일에서 정보를 추출합니다.

매개변수 :
폰트FT2Font

정보가 추출될 트루타입 글꼴 파일입니다.

반환 :
FontEntry

추출된 글꼴 속성입니다.

matplotlib.font_manager. win32FontDirectory ( ) [출처] #

Win32용 사용자 지정 글꼴 디렉토리를 반환합니다. 이것은 레지스트리 키에서 조회됩니다.

\\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Fonts

키를 찾을 수 없으면 %WINDIR%\Fonts반환됩니다.

matplotlib.font_manager. win32InstalledFonts ( 디렉토리 = 없음 , fontext = 'ttf' ) [출처] #

[ Deprecated ] 지정된 글꼴 디렉토리에서 글꼴을 검색하거나 지정되지 않은 경우 시스템 디렉토리를 사용하십시오. 또한 설치된 사용자 글꼴을 검색합니다. TrueType 글꼴 파일 이름 목록이 기본적으로 반환되거나 fontext == 'afm'인 경우 AFM 글꼴이 반환됩니다.

메모

버전 3.5부터 사용되지 않습니다.

클래스 matplotlib.font_manager. FontEntry ( fname : str = '' , 이름 : str = '' , 스타일 : str = 'normal' , 변형 : str = 'normal' , weight : str = 'normal' , stretch : str = 'normal' , 크기 : str = '중간' ) #

글꼴 속성을 저장하기 위한 클래스입니다.

글꼴 조회 사전을 채울 때 사용됩니다.