2016-09-26 5 views
0

Eclipse에서 대담한 글꼴 렌더링이 Linux와 Windows에서 매우 다른 이유는 무엇입니까?Eclipse와 대담한 글꼴 렌더링이 리눅스와 Windows에서 매우 다릅니다

"소스 코드 프로"글꼴의 샘플을 봐 : 리눅스 렌더링 내가 다른 글꼴을 테스트 enter image description here

, 그리고 그들 모두는 좀 더 대담하고, 글꼴의 굵은 버전에 보인다 다른 글꼴 일 수 있습니다. 매우 다릅니다.

이 효과를 최소화하는 방법이 있습니까?

편집 : 하드웨어 및 가상화

는 모두 같은 모니터에서 실행된다. 베어 메탈의 Windows, VirtualBox의 Linux (Windows는 호스트 OS)

답변

2

일반적인 컴퓨터 화면의 픽셀 밀도가 너무 낮아 서체 모양과 같은 작은 모양을 정확하게 표시 할 수 없습니다 (너무 많은 반올림 오류).

따라서 모든 주요 텍스트 스택 (운영 체제별로 더 이상 복잡하지 않음)은 정확한 픽셀 배수로 깔끔하게 맞지 않을 때 글리프 크기를 반올림할지 또는 내릴지를 결정해야합니다. 그레이 스케일 픽셀 또는 심지어 컬러 픽셀을 사용하여 가장자리를 매끄럽게 처리하는지 여부에 상관없이, 프로세스에서 글리프 모양을 왜곡 할 준비가되었는지 (픽셀 화, 한 차원에서 일부 비트 이동, 다른 차원에서 다른 비트 맵 이동) ("subpixel"smoothing 또한 색상 변두리를 만듭니다)

그리고 일관되게 그렇게하십시오. 매우 명확한 글리프를 생성하지만 동일한 글꼴의 다른 글리프와 정렬을 잃으면 도움이되지 않습니다. 글꼴의 연속 크기가 선형이 아닌 경우 일부는 반올림되고 나머지는 반올림되므로 도움이되지 않습니다. 렌더링 알고리즘이 변경되거나 동일한 글리프의 연속 된 반복을 다르게 이동하면 일련의 iiiiiii 또는 lllll이 드물지만 일련 번호 또는 11111111은 스프레드 시트에없는 경우 도움이되지 않습니다.

일반적인 크기의 일반적인 화면에서 대부분의 글리프 줄기에 대해 글꼴이 1 ~ 2 픽셀 너비로 수렴 되었기 때문에 굵게는 일반 텍스트보다 훨씬 더 까다 롭습니다. 그러나 사용자는 굵은 글꼴을 두 번 사용하지 않고 굵은 글꼴로 만들 것을 기대합니다.

두 가지 텍스트 스택은 동일한 절충안을 만들지 않으며 Windows 기본 렌더링은 특히 극단적으로 다른 모든 요소를 ​​희생하여 날카로운 얇은 셰이프를 얻으려고합니다. 애플과 어도비 렌더링은 일반적으로 부드럽지만 ("흐릿한") 리눅스는 어딘가에 있으며, 어도비는 최근 몇 년 동안 리눅스 렌더링 스택에 크게 기여했다.

아무도 다른 렌더링 스타일보다 한 가지 렌더링 스타일을 더 잘 증명할 수있었습니다. 유일하게 일관성있는 요소는 사용자가 익숙한 것인데, 사용자를 몇 달 동안 하나의 스타일로 렌더링하여 다른 모든 사람들이 싫어할 것입니다. 어떤 렌더링에 노출되어 있는지, 그리고 그를 사용하도록 강요하면 변경 될 수 있습니다. 또 다른 렌더링 몇 달. 아마도 두뇌 모양 인식 과정이 자체 훈련을 수행하고 가장 자주 보는 방향으로 최적화되는 방식 때문일 수 있습니다. 한 사용자가 특정 글꼴 및 텍스트 렌더링에 더 많이 노출 될수록이 특정 조합을 즐겁고 쉽게 읽을 수 있습니다.

리눅스는 눈에 띄게 조정할 수 있으므로 렌더링 스택이 Windows와 비슷한 방식으로 작동하도록 할 수 있습니다. Windows 렌더링에 익숙하다면 더 즐겁습니다. Windows에서 자신의 인생을 보내지 않는 사람에게는 그다지 즐겁지 않을 것입니다.일반적으로 글꼴 구성에서 hinting 공격성을 변경합니다. 회색조에서 rgbA로 부드럽게 변경됩니다 (이 색 번짐을 만듭니다). 또는 무차별과 같은 패치 된 버전을 사용해도됩니다 (상당히 극단적이며 실제로 필요하지는 않습니다. fontconfig 설정을 변경하면 충분합니다). gnome-tweak-tool과 같은 것이 그래픽으로 도울 수 있으며, Eclipse는 SWT를 통해 GTK 설정을 상속받습니다.

또는 큰 텍스트를 사용하거나 고밀도 (highdpi) 화면을 구입하십시오. 작은 픽셀은 글리프 요소와 비교되므로 사용중인 텍스트 스택에 관계없이 눈금 맞춤에 거의 영향을주지 않습니다. 픽셀 밀도가 충분히 높으면 좋은 레이저 프린터에서와 같이 "이상적인"글리프 모양과 무게를 얻을 수 있습니다.

물론 운영 체제가 high-dpi 화면을 구동 할 수 있다고 가정합니다. 리눅스는 거기에 도착해야하지만 윈도우는 지난번에 내가 확인한 96dpi 땅에 아직도 단단히 붙어있다.

마지막으로 가상 환경에서 작업하는 경우 VM 계층이 일부 하드웨어 특성을 가상화 된 소프트웨어에 숨길 수 있습니다. 따라서 화면 특성을 정확하게 감지하고 적절하게 렌더링을 조정할 가능성이 적습니다.