
유니코드로 된 데이터를 읽으면 Linux 터미널(X 창 없이 열리는 가상 터미널을 의미)에 올바르게 표시되지 않습니다.
나는 읽었다여기 토론에서다음과 같은 프로그램을 설치하는 것입니다.JFBTERM, 작동하므로 추가 소프트웨어 없이 유니코드를 올바르게 처리하도록 터미널을 구성(콘솔 글꼴?)할 수 있는 방법이 없는지 궁금합니다.
Windows 터미널(gnome-terminal, xterm 등)에서는 다음과 같습니다.
가상 터미널에서는 다음과 같습니다.
JFBTERM을 사용하는 가상 터미널에서는 다음과 같습니다:
다음은 출력의 스크린샷입니다 locale
.
출력은 다음과 같습니다 showconsolefont
.
기본 가상 터미널만으로 동일한 작업을 수행할 수 있는지 아는 사람이 있습니까?
답변1
실제로 이러한 문자가 포함된 글꼴이 필요합니다. 예를 들어 Arch Linux에서는 Lat2-Terminus16
.
이를 시도하려면 가상 콘솔에서 다음 명령을 실행하십시오 setfont Lat2-Terminus16
.
나머지 부분에 대해서는 대부분의 최신 배포판이 이미 이를 기본적으로 지원합니다.
답변2
콘솔 글꼴은 최대 512개(제 생각에는 그와 유사한 것 같습니다)의 다양한 글리프에 글꼴을 로드할 수 있습니다. 그러나 일반적으로 글리프는 256개에 불과합니다.
200개 미만의 복잡하지 않은 기호를 사용하는 라틴어, 키릴어 또는 기타 언어를 표시하는 데에는 문제가 없습니다.
그러나 복잡한 스크립트나 다양한 기호(예: 일본어)가 필요한 스크립트의 경우 이를 처리하기 위해 추가 레이아웃을 사용하는 것 외에는 다른 방법이 없습니다.
ASCII 및 두 Kana 세트에 대해 512 제한이 충분해야 하는 경우 너비에 문제가 있습니다.
CJK와 Kana는 정사각형에 맞으며 라틴 문자 너비의 두 배입니다. 이는 콘솔이 즉시 처리할 수 있는 것이 아닙니다.
오래되고 보기 흉한 "반폭 가타카나"를 사용하거나(어쩌면 그런 글꼴을 찾을 수도 있음) 콘솔을 40열 너비로 설정하고 라틴 문자를 가나만큼 넓게 만들 수도 있습니다.
나는 Kana와 같은 콘솔 글꼴을 모릅니다. 직접 그려야 합니다(이를 수행할 수 있는 도구가 있으며 비트맵 일본어 글꼴의 점을 복사하면 됩니다.
iconv
또한 가나를 ASCII로 음역하는 데 사용할 수도 있습니다 .
답변3
외에도 터미널에 수행할 작업을 알려주는 데 필요한 유용한 글꼴과 매핑을 로드해야 할 수도 LANG/LC_ALL
있습니다 . 여전히 문제가 있는 경우 커널 구성 설정을 확인하고 자동으로 로드되지 않으면 확인해야 할 수도 있습니다 (하지만 이는 유니코드 파일 이름에만 필요한 것 같습니다).stty iutf8
setfont
CONFIG_NLS_xx
modprobe nls_utf8
일부 Linux 배포판에서는 이를 자동화하는 스크립트를 unicode_start
제공 합니다.unicode_stop
문제가 발생하는 경우 less
환경 변수를 LESSCHARSET
설정해야 할 수도 있습니다(또는 잘못된 경우 설정을 해제해야 함).
마르쿠스 쿤의Unix/Linux용 UTF-8 및 유니코드 FAQ매우 귀중합니다.
답변4
설치하여유니틸유니코드를 찾을 수 있습니다.
$ sudo apt-get install uniutils
그런 다음 다음을 사용하십시오 uniname
.
ubuntu@shin-instance:~$ echo 岡田shin | uniname
No LINES variable in environment so unable to determine lines per page.
Using default of 24.
character byte UTF-32 encoded as glyph name
0 0 005CA1 E5 B2 A1 岡 CJK character Nelson 621
1 3 007530 E7 94 B0 田 CJK character Nelson 2994
2 6 000073 73 s LATIN SMALL LETTER S
3 7 000068 68 h LATIN SMALL LETTER H
4 8 000069 69 i LATIN SMALL LETTER I
5 9 00006E 6E n LATIN SMALL LETTER N
6 10 00000A 0A LINE FEED (LF)
ubuntu@shin-instance:~$