저는 UTF-8 문자를 출력으로 표시하는 스크립트를 작성 중입니다. 내 Gnome 터미널에서는 예쁜 단풍잎(
답변1
터미널에서 실행되는 애플리케이션은 터미널이 그린 문자 모양이 어떤 것인지(또는 대체/자리 표시자 문자인 경우에도) 터미널에서 알아낼 수 있는 방법이 없습니다.
한 가지 응용 프로그램~할 수 있다터미널이 UTF-8을 지원하는지, 지원한다면 가변 너비 문자를 지원하는지 확인하는 것입니다. 방법은 다음과 같습니다.
[
6
n
ESC를 쓰고 ESC를 예상하여 커서 위치를 읽습니다.[
선;
안부R
- 2바이트 시퀀스를 작성합니다
"\xc2\xa0"
. 터미널이 UTF-8을 지원하는 경우 이는 잘림 방지 단일 공백입니다. 터미널이 UTF-8을 지원하지 않는 경우 알 수 없는 내용이지만 아마도 2개의 문자 위치를 차지할 것입니다(Â
실제로는 줄 바꿈하지 않는 공백이 뒤따를 것임). - 커서 위치를 다시 읽어 커서가 한 위치 또는 두 위치 이동했는지 알아봅니다.
터미널이 UTF-8을 지원하는 경우 기본적으로 동일한 트릭을 사용하여 가변 문자 너비를 지원하는지 확인할 수 있습니다. 커서 위치를 읽고, あ와 같은 고정폭 글꼴에서 2폭으로 간주되는 문자를 쓴 다음 커서 위치를 다시 읽습니다. 터미널이 2바이트 문자를 지원하지 않는 경우 커서는 순진하게 한 위치만 이동했을 것입니다.