터미널이 기울임꼴을 지원하는지 프로그래밍 방식으로 확인하는 방법은 무엇입니까?

터미널이 기울임꼴을 지원하는지 프로그래밍 방식으로 확인하는 방법은 무엇입니까?

현재 터미널에서 이탤릭체를 올바르게 표시할 수 있는지 확인하고 싶습니다.

수동 검사는 쉽습니다.

echo -e "\e[3mfoo\e[23m"

출력이foo, 터미널(에뮬레이터)은 기울임꼴을 지원합니다. 그러나 .zshrc프로그래밍 방식으로 기울임꼴이 지원되는지 테스트하고 싶었습니다 .

이 작업을 수행하는 가장 좋은 방법은 무엇입니까?


가능하다면 표준 Linux 콘솔에서도 이탤릭체를 사용할 수 있었으면 좋겠습니다. 문제는 수동 테스트가 실패한다는 것입니다. 이탤릭체를 가능하게 만드는 방법에 대한 아이디어가 있습니까?

(이것은 원래 질문의 일부가 아니었습니다. 그러나 독립된 질문으로 묻는 것은 너무 모호하고 의미가 없습니다.)

답변1

여기에는 몇 가지 문제가 있습니다.

  • Linux 콘솔이 기울임꼴을 지원하는 경우 다른 글꼴을 사용하거나 기울임꼴 문자를 모방하는 기술을 사용합니다.
  • 이를 수행한다고 가정하면 프로그램에서 볼 수 있도록 콘솔에 표시되는 이미지를 덤프할 수 있는 도구가 필요합니다. 그러나 Linux 콘솔 화면 덤프는 텍스트만 제공하고 이미지는 제공하지 않습니다. 덤프에는 사용할 수 있는 글꼴 정보가 없습니다(굵게 또는 색상도 포함).
  • 둘 다 원시 장치를 setterm엽니다 ( 대안으로 ioctl의 기본값을 사용하면 동일한 내용을 갖습니다).screendumpvcsascreendumpTIOCLINUX
  • 할 수 있다이 오래된 ioctl을 사용하여 색상 및 굵은 글씨 사용 여부와 같은 속성을 덤프하는 데 적합한 도구를 작성합니다(즉, 커널이 매우 오래됨).

    TIOCLINUX, 하위 코드=8
    화면 너비와 높이, 커서 위치 및 모든 문자 속성 쌍을 덤프합니다. (핵심 1.1.67 통과하다91.1.1오직. 커널 1.1.92 이상의 경우 대신 /dev/vcsa*에서 읽으십시오. )

  • 즉, Linux 콘솔 화면에 있는 내용을 찾는 데 지원되는 메커니즘이 없습니다.

외에는 해결책이 없습니다.프로그래밍 방식으로기울임꼴 구현 여부를 결정할 때 해상도를 향상시키기 위해 몇 가지 특수 기능을 사용하는 것 외에는 Linux 콘솔 글꼴이 기울임꼴로 그려질 것이라고 기대할 이유가 거의 없습니다. 이것터미널 글꼴 페이지(이것은 X의 Linux 콘솔 글꼴과 동일한 효과를 제공하려고 시도하기 때문에 관련이 있습니다.)자주 묻는 질문부분:

Q: 이탤릭체 버전인가요?

대답: 아니요. 품질이 눈에 띄게 낮고 글꼴 너비를 유지하려면 문자가 겹쳐야 하는데 X11/Xft는 이를 잘 처리하지 못합니다. 어쨌든 최신 GUI는 자동 기울어짐을 지원합니다. 마음에 들지 않으면 FreeBSD에서 mkitalic을 사용하거나 Debian에서 bdfslant를 사용해 보세요.

Q: 확장형 버전인가요?

답변: 간단히 말해서 평균 디스플레이 해상도가 최소 150DPI에 도달하는 경우입니다. 200이 가장 좋습니다.

추가 자료:

답변2

터미널이 실제로 기울임꼴을 지원하는지 여부를 안정적으로 테스트할 방법이 없습니다. tput sitm또는 출력을 검사하여 tput ritm또는 값 $TERM과 해당 터미널 설명이 유지되는지 여부를 테스트 할 수 있습니다 .주장하다이를 지원하십시오. 그러나 선언과 실제 동작은 어느 방향에서든 쉽게 동기화되지 않을 수 있습니다.

가까운 미래에 Linux 콘솔이 기울임꼴을 지원할지는 정말 의심스럽습니다.

관련 정보