urxvt의 글꼴 렌더링 문제 — 문자 사이에 너무 많은 공간

오늘 초부터 rxvt-unicode에서 글꼴 렌더링 문제가 발생합니다. 특히 많은 글꼴을 사용하면 문자 사이에 추가 공간이 충분합니다. 다른 글꼴에서는 rxvt가 크기 변경을 거부합니다.

다음은 urxvt와 xterm 간 간격 문제의 예입니다.

글꼴 리소스 :

URxvt*font:     xft:Terminus:medium:size=10
xterm*faceName: xft:Terminus:medium:size=10

그리고 렌더링

  • urxvt 나쁜 글꼴
  • xterm 좋은 글꼴

힌트와 앤티 앨리어싱의 모든 순열을 시도했습니다. 크기 또는 픽셀 크기를 변경하면 urxvt에서 글꼴 크기가 조정되지만 추가 간격이 늘어납니다.

누구든지 내가 이것을 고칠 수있는 아이디어가 있습니까?



답변

Urxvt에는 기본 커닝 옵션이 있습니다 : letterSpace. 참조 man urxvt:

-letsp number
컴파일 프릴 : 전체 문자 간격을 제어하여 계산 된 문자 너비를 조정하는 양입니다. 음수 값은 문자 간격을 강화하고 양수 값은 문자 간격을 넓 힙니다. 홀수 글꼴 메트릭을 해결하는 데 유용합니다. 리소스 letterSpace.

따라서 다음 ~/.Xresources과 같이 줄을 추가하여 간격을 조정할 수 있습니다 .

URxvt.letterSpace: -1

참고 : 첫 번째 스크린 샷에서 말하기는 어렵지만 Urxvt가 Terminus를 찾거나로드 할 수 없으므로 넓은 간격으로 기본 글꼴로 돌아가는 것처럼 보입니다. Terminus는 비트 맵 글꼴 (기본적으로 비활성화되어 있음)이므로 xfontsel올바른 글꼴 문자열을 정의에 복사하는 데 사용해야 합니다.

이 시스템의 작동 방식에 대한 자세한 설명은 X 논리 글꼴 설명 의 아치 위키 페이지를 참조하십시오 .


답변

내 시스템에서 Terminus와 같은 비트 맵 글꼴을 차단하는 규칙이 활성화되었습니다.

이 규칙 (내 시스템)은 다음에 /etc/fonts/conf.d/70-no-bitmap-fonts포함되어 있습니다.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Reject bitmap fonts -->
 <selectfont>
  <rejectfont>
   <pattern>
     <patelt name="scalable"><bool>false</bool></patelt>
   </pattern>
  </rejectfont>
 </selectfont>
</fontconfig>

conf.d디렉토리 에서 이것을 제거 하고 내 글꼴이에서 다시 올바르게 렌더링됩니다 urxvt.


답변

가 있음을 유의하시기 바랍니다 버그 리포트 문자 간격에.

비슷한 문제가있었습니다. 버그 토론의 권고에 따라, 나는 설정 Xft.rgba: noneXft.hintstyle: hintfull에서 ~/.Xdefaults(대신 Xft.rgba: rgb하고 Xft.hintstyle: hintslight). 이것은 나를 위해 그것을 고쳤다 – 나는 우분투 모노를 폰트로 사용했다.


답변

내 솔루션은 간단했습니다.

URxvt*font:     xft:mono:medium:size=10
xterm*faceName: xft:mono:medium:size=10

이제 완벽하게 작동합니다.


답변

이것은 실제 글꼴 파일 (필자의 경우 모노 스페이스)에서 urxvt의 다른 것보다 더 많이 발생할 수 있습니다. 글꼴이 (잘못된) 일부 글리프를 너무 넓게 선언하면 urxvt는 그리드도 넓게 만들어야합니다.

필자의 경우 “확인”글꼴은 Bitstream Vera Sans Mono였습니다.


답변