2011-08-27 2 views
1

이것이 적절한 지 물어볼지는 확실하지 않지만, 더 잘 맞는 사이트는 모르겠습니다. 그리고 그 질문은 프로그래밍과 관련이 있습니다 :반자 문자 길이만큼 정확히 두 배의 전각 문자 표시?

저는 오전 형식화 된 txt 가이드를 작성합니다. 이 발췌 부분을보십시오 : http://mad-gaksha.homelinux.net/public/width.txt. 전폭 문자를 표시해야만 반자 문자만큼 정확히 두 배의 공간을 차지할 수 있습니다. 고정 폭 글꼴은 절반 너비 문자에서만 제대로 작동하는 반면, 시도한 대부분의 전체 너비 "고정 너비"글꼴은 원하는 결과를 얻지 못했습니다.

파이어 폭스에서는 모노 스페이스 글꼴 (편집> 환경 설정> 내용> 고급)을 "모노 스페이스"로 설정할 때 작동합니다. 그러나 font-size가 14 일 때만 가능합니다. gedit의 고정 폭 글꼴 MS-Gothic과 동일한 기능은 13/14 글꼴 크기에서만 작동합니다.

이 동작이 상당히 이상하게 들리며 독자가 기술 세부 사항에 고민하는 것을 원하지 않을 것이므로 누구나 제안을하거나 자원을 제공하거나 여기에서 무슨 일이 벌어지고 있는지 설명 할 수 있습니까? 크기가 고정 된 각 글리프를 표시하는 것이 왜 그렇게 어려운 것처럼 보입니까?

시간을내어 미리 감사드립니다.

+2

텍스트가 아닌 HTML을 사용할 수 있습니다. 그러면 문제가 해결됩니다. 그리고 귀하의 사용자는 모두 문제가되지 않을 것입니다. –

답변

0

분수 픽셀을 반올림하는 것과 같습니다.

글리프의 너비가 전체 화면 픽셀 수가 아닌 경우 글꼴 렌더러가 수평 위치를 조정할 수 있습니다. Linux에서 gedit과 Firefox에서 사용되는 카이로 렌더링은 글꼴에 대한 하위 픽셀 위치 지정을 수행하지 않으므로 여기서는 이것이 필요할 수도 있습니다.

진정한 고정 폭 글꼴의 경우 모든 글리프가 동일한 폭을 가지므로 동일한 처리를 받기 때문에 문제가되지 않지만 전체 및 반자 문자가 혼합되어있는 경우에는 반올림이 균일하지 않습니다 글리프는 전체 픽셀 수 (글꼴 크기 14에서 사용자의 경우에 발생합니다)가됩니다.

Windows에서 가장 작은 크기의 경우 MS 고딕과 같은 글꼴은 윤곽선과 해당 메트릭을 렌더링하는 대신 글꼴 파일에서 사용자 지정 기본 제공 비트 맵을 사용하여 렌더링됩니다. 이렇게하면 모든 글리프가 반드시 고정 된 수의 픽셀로됩니다. 그러나 이것은 전형적인 오래된 학교의 '들쭉날쭉 한'렌더링 스타일을 초래합니다.

형식이 지정된 텍스트 파일을 만드는 경우 실제로이 작업을 수행 할 수있는 방법이 없습니다. 대상 독자에게 적합한 일본어의 고정 폭 글꼴이 있고 특정 글꼴 크기로 전환 할 수 있기를 바랍니다.

내가 원하는 렌더링을 얻으려면 HTML을 사용하는 것이 더 강력하고 현대적이며 편리 할 것이라는 Clement의 의견에 동의 할 것입니다. 레이아웃에 HTML을 사용하면 글자를 일렬로 배열하는 것에 대해 걱정할 필요가 없으며 반 폭의 모노 스페이스 라틴 글꼴보다보기 흉한 글꼴을 얻을 수 있습니다.

+0

애플에 비해 마이크로 소프트에서 글꼴이 항상 끔찍한 것처럼 보이는 이유는 무엇입니까? 나는 Opera를 사용하고 종종 재미있는 비율로 확대합니다. 글꼴은 Apple에서는 부드럽지만 Microsoft에서는 삐걱 거리는 소리가납니다. – tchrist

+0

@tchrist : Windows의 CJK 글꼴은 역사적으로 끔찍했습니다. ClearType 이전의 글꼴 'smoothing'알고리즘은 끔찍했으며, 특히 한자가 깨졌습니다. XP +의 ClearType을 사용하는 경우에도 Meiryo와 같은 글꼴이 있어야합니다. 이는 ClearType이 일반적으로 X 축을 따라 앤티 앨리어싱을 선호하기 때문에 끔찍하게 렌더링되는 거의 수평이 아닌 스트롱을 엄격하게 사용하도록 특별히 설계되었습니다. 라틴 문자 모양이지만 CJK 표의 재앙이다). – bobince

+0

요즘 WPF에서는 마침내 [고정] (http://msdn.microsoft.com/en-us/library/ms749295.aspx#y-direction_antialiasing)이지만 대부분의 응용 프로그램에서는이를 사용하지 않으므로 Meiryo를 사용하거나 그 사이에 들쭉날쭉 한 수평 스트로크를 얻습니다. – bobince