matplotlib.dviread#

TeX에서 출력한 dvi 파일을 읽기 위한 모듈입니다. 몇 가지 제한 사항으로 인해 범용 dvi 전처리기로 (현재) 유용하지 않지만 현재 pdf 백엔드에서 usetex 텍스트를 처리하는 데 사용됩니다.

상호 작용:

with Dvi(filename, 72) as dvi:
    # iterate over pages:
    for page in dvi:
        w, h, d = page.width, page.height, page.descent
        for x, y, font, glyph, width in page.text:
            fontname = font.texname
            pointsize = font.size
            ...
        for x, y, height, width in page.boxes:
            ...
클래스 matplotlib.dviread. Dvi ( 파일명 , dpi ) [소스] #

베이스:object

TeX에서 생성한 dvi("장치 독립적") 파일용 판독기입니다.

현재 구현은 페이지를 순서대로만 반복할 수 있으며 postamble을 확인하려고 시도조차 하지 않습니다.

이 클래스는 종료 시 기본 파일을 닫는 컨텍스트 관리자로 사용할 수 있습니다. 반복을 통해 페이지를 읽을 수 있습니다. 다음은 공백을 감지하지 않고 텍스트를 추출하는 지나치게 간단한 방법입니다.

>>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi:
...     for page in dvi:
...         print(''.join(chr(t.glyph) for t in page.text))

filename 이라는 파일에서 데이터를 읽고 TeX의 내부 단위를 인치당 dpi 단위로 변환 합니다. dpi 는 단위만 설정하고 해상도를 제한하지 않습니다. TeX의 내부 단위를 반환하려면 None을 사용하십시오.

속성 기준선 [출처] #
닫기 ( ) [출처] #

기본 파일이 열려 있으면 닫습니다.

클래스 matplotlib.dviread. DviFont ( scale , tfm , texname , vf ) [소스] #

베이스:object

DVI 파일이 참조할 수 있는 글꼴의 캡슐화.

이 클래스는 글꼴의 texname과 크기를 보유하고 비교를 지원하며 AFM 파일과 동일한 단위로 글리프의 너비를 알고 있습니다. 비교에 사용 되지 않는 내부 속성(dviread.py에서 사용)도 있습니다 .

크기는 Adobe 포인트(TeX 포인트에서 변환)입니다.

매개변수 :
스케일 플로트

글꼴이 원래 크기에서 크기가 조정되는 요소입니다.

tfm tfm

이 글꼴에 대한 TeX 글꼴 메트릭

texname 바이트

TeX와 친구들이 내부적으로 ASCII 바이트 문자열로 사용하는 글꼴 이름입니다. 이것은 일반적으로 외부 글꼴 이름과 매우 다릅니다. PsfontsMap글꼴의 외부 이름을 찾는 데 사용할 수 있습니다.

vf vf

TeX "가상 글꼴" 파일 또는 이 글꼴이 가상이 아닌 경우 None입니다.

속성 :
texname 바이트
크기 플로트

약간 더 작은 TeX 포인트에서 변환된 Adobe 포인트의 글꼴 크기입니다.

너비 목록

글리프 공간 단위의 글리프 폭으로, 일반적으로 포인트 크기의 1/1000입니다.

크기 #
텍스이름 #
#
클래스 matplotlib.dviread. PsFont ( texname , psname , 효과 , 인코딩 , 파일 이름 ) [소스] #

베이스:tuple

PsFont(texname, psname, effects, encoding, filename)의 새 인스턴스 생성

효과 #

필드 번호 2의 별칭

인코딩 #

필드 번호 3의 별칭

파일명 #

필드 번호 4의 별칭

psname #

필드 번호 1의 별칭

텍스이름 #

필드 번호 0의 ​​별칭

클래스 matplotlib.dviread. PsfontsMap ( 파일 이름 ) [소스] #

베이스:object

TeX 글꼴을 PS 글꼴로 매핑하는 psfonts.map 형식의 파일입니다.

매개변수 :
파일 이름 str 또는 경로 유사

메모

역사적인 이유로 TeX는 외부 세계와 다른 이름으로 많은 Type-1 글꼴을 알고 있습니다. (한 가지로, 이름은 8자에 맞아야 합니다.) 또한 TeX의 고유 글꼴은 Type-1이 아니라 메타글꼴입니다. 이는 비트맵을 제외하고 PostScript로 변환하기가 쉽지 않습니다. Type-1 형식으로의 고품질 변환이 존재하고 최신 TeX 배포판과 함께 제공되는 동안 우리는 어떤 Type-1 글꼴이 어떤 네이티브 글꼴과 대응되는지 알아야 합니다. 이러한 이유로 내부 글꼴 이름에서 글꼴 파일 이름으로의 매핑이 필요합니다.

texmf 트리는 일반적으로 eg psfonts.map, pdftex.map또는 이라는 매핑 파일을 포함합니다 dvipdfm.map. 이 파일 psfonts.mapdvips , pdfTeXdvipdfm 에서 사용 pdftex.map됩니다 . 35개의 PostScript 글꼴(즉, 위의 Times-Bold 예에서와 같이 파일 이름이 없음)을 포함하지 않는 반면 pdf 관련 파일은 아마도 "Base 14" pdf 글꼴만 피할 수 있습니다. 그러나 사용자가 이러한 파일을 다르게 구성했을 수 있습니다.dvipdfm.mappsfonts.map

>>> map = PsfontsMap(find_tex_file('pdftex.map'))
>>> entry = map[b'ptmbo8r']
>>> entry.texname
b'ptmbo8r'
>>> entry.psname
b'Times-Bold'
>>> entry.encoding
'/usr/local/texlive/2008/texmf-dist/fonts/enc/dvips/base/8r.enc'
>>> entry.effects
{'slant': 0.16700000000000001}
>>> entry.filename
클래스 matplotlib.dviread. Tfm ( 파일 이름 ) [소스] #

베이스:object

TeX 글꼴 메트릭 파일.

이 구현은 Dvi 클래스에 필요한 최소한의 것만 포함합니다.

매개변수 :
파일 이름 str 또는 경로 유사
속성 :
체크섬 정수

dvi 파일에 대해 확인하는 데 사용됩니다.

디자인_크기 정수

글꼴의 디자인 크기(단위를 알 수 없음)

너비, 높이, 깊이 사전

각 문자의 크기는 dvi 파일에 지정된 계수로 조정해야 합니다. 인덱싱이 0부터 시작하지 않을 수 있기 때문에 이들은 딕셔너리입니다.

체크섬 #
깊이 #
디자인_크기 #
높이 #
#
클래스 matplotlib.dviread. Vf ( 파일 이름 ) [소스] #

베이스:Dvi

dvi 파일용 서브루틴을 포함하는 가상 글꼴(*.vf 파일).

매개변수 :
파일 이름 str 또는 경로 유사

메모

가상 글꼴 형식은 dvi의 파생물입니다. http://mirrors.ctan.org/info/knuth/virtual-fonts 이 클래스는 의 일부 기계를 재사용 하지만 루프 및 디스패치 메커니즘을 Dvi 대체합니다 ._read

vf = Vf(filename)
glyph = vf[code]
glyph.text, glyph.boxes, glyph.width

filename 이라는 파일에서 데이터를 읽고 TeX의 내부 단위를 인치당 dpi 단위로 변환 합니다. dpi 는 단위만 설정하고 해상도를 제한하지 않습니다. TeX의 내부 단위를 반환하려면 None을 사용하십시오.

matplotlib.dviread. find_tex_file ( 파일 이름 , 형식=<사용되지 않는 매개변수> ) [소스] #

kpathsea 를 사용하여 texmf 트리에서 파일을 찾습니다 .

Unix 계열 시스템과 Windows(MikTeX) 모두에서 대부분의 기존 TeX 배포판에서 제공하는 kpathsea 라이브러리는 luatex가 설치된 경우 오래 지속되는 luatex 프로세스를 통해 또는 그렇지 않은 경우 kpse를 통해 호출됩니다.

매개변수 :
파일 이름 str 또는 경로 유사
str 또는 바이트 형식

kpsewhich--format 에 대한 옵션 값으로 사용됩니다 . 예를 들어 'tfm' 또는 'vf'로 검색을 해당 유형의 파일로 제한할 수 있습니다. 더 이상 사용되지 않습니다.

레이즈 :
FileNotFoundError

파일을 찾을 수 없는 경우.