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.map
은 dvips , pdfTeX 및 dvipdfm 에서 사용pdftex.map
됩니다 . 35개의 PostScript 글꼴(즉, 위의 Times-Bold 예에서와 같이 파일 이름이 없음)을 포함하지 않는 반면 pdf 관련 파일은 아마도 "Base 14" pdf 글꼴만 피할 수 있습니다. 그러나 사용자가 이러한 파일을 다르게 구성했을 수 있습니다.dvipdfm.map
psfonts.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
파일을 찾을 수 없는 경우.