Xft 글꼴을 사용할 때 xterm이 이중 크기 문자를 지원하지 않는 이유는 무엇입니까?


1

핵심 X11 글꼴xterm 을 사용 하도록 구성 할 때마다 :

*.vt100.renderFont:             False
*.vt100.locale:                 False
*.vt100.font:                   -monotype-courier new-medium-r-normal--*-120-*-*-m-*-koi8-r

이중 크기 문자를 올바르게 렌더링합니다 .

여기에 이미지 설명을 입력하십시오

그러나 클라이언트 측 글꼴을 사용하도록 구성하면 다음과 같습니다.

*.vt100.renderFont:             True
*.vt100.faceName:               Courier New:antialias=false
*.vt100.faceSize:               12
*.vt100.utf8:                   1
*.vt100.utf8Fonts:              True
*.vt100.utf8Title:              True

vttest유틸리티 를 통해 확인할 수있는 이중 크기 문자를 렌더링하지 못합니다 .

여기에 이미지 설명을 입력하십시오

퍼티 (에 윈도우 ) 및 konsole 클라이언트 측 글꼴을 사용하고 여전히 제대로 이중 크기의 텍스트를 렌더링합니다.

내 잘못 구성 했습니까 xterm, 아니면 알려진 문제입니까?

답변:


1

알려진 제한 사항입니다. 매뉴얼 페이지 (의 생략에 유의 말한다 트루 타입 토론에서 글꼴을) :

           Although xterm attempts to derive a bold font for other
           font selections, the font server may not cooperate.  Since
           X11R6, bitmap fonts have been scaled.  The font server claims
           to provide the bold font that xterm requests, but the
           result is not always readable.  XFree86 introduced a feature
           which can be used to suppress the scaling.  In the X server's
           configuration file (e.g., “/etc/X11/XFree86” or
           “/etc/X11/xorg.conf”), you can add “:unscaled” to the end of
           the directory specification for the “misc” fonts, which
           comprise the fixed-pitch fonts that are used by xterm.  For
           example

               FontPath                 "/usr/lib/X11/fonts/misc/"

           would become

               FontPath                 "/usr/lib/X11/fonts/misc/:unscaled"

           Depending on your configuration, the font server may have its
           own configuration file.  The same “:unscaled” can be added to
           its configuration file at the end of the directory
           specification for “misc”.

           The bitmap scaling feature is also used by xterm to
           implement VT102 double-width and double-height characters.

트루 타입 글꼴을 사용하여 두 배 / 두 배 문자 처리는 두 배 크기의 글꼴로 한 번에 한 문자 씩 그리기 / 클리핑하여 다르게 구현할 수 있습니다. 물론, 명목 바운딩 박스를 종종 무시하는 fontconfig 의 메트릭을 사용하면 결과가 멋지게 보일 것이라는 보장은 없습니다.

그만한 가치가 있기 때문에 PuTTY와 konsole은이 테스트에서 고유 한 문제가 있습니다.

PuTTY, 같은 테스트이지만 다음 페이지 ...

곤솔, 마찬가지로

XTerm, 동일한 테스트

PuTTY는 테스트의 선 그리기 부분을 처리하지 않으며 Konsole은 일반적으로 이상한 창 크기를 제공합니다. 또한 자세히 살펴보면 단일 너비 및 이중 너비 텍스트 ( ymmv ) 의 정렬에 약간의 차이가 있습니다.


자세한 답변을 주신 Thomas에게 감사합니다. PuTTY 라인 드로잉 문제는 NCURSES_NO_UTF8_ACS=1UTF-8 로켈의 ncurses 기반 응용 프로그램의 경우 내보내기를 통해 완화 할 수 있습니다 .
베이스

1
...하지만 vttest -hth에는 적용되지 않습니다
Thomas Dickey

아뇨. vttest는 ncurses =)를 사용하지 않기 때문에 가정합니다.
Bass

1
물론 ncurses는 일반적인 유형이지만 (다른 유형의 터미널에 적용) vttest는 특정 적입니다.
토마스 디키
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.