글꼴의 "자동"굵은 체 버전이 동일한 pt 크기를 갖는 일반 글꼴보다 넓지 않게하는 방법은 무엇입니까?


10

PT MonoIDE 프로그래밍에 선호 하는 고정 폭 글꼴 ( )이 있습니다. 폰트만을 가지고 Regular, 모든 다른 BoldItalic경사와의 "boldification"에 의해 유도된다 Regular. 문제는 "굵은 체"문자가 일반 문자보다 넓기 때문에 IDE 창의 소스 코드 문자열이 이제 공백이 아닌 문자로 구성되어 있다는 것입니다.

글꼴의 "굵게"를 조정하여 일반 글꼴보다 넓지 않게하려면 어떻게해야합니까?

아래 스크린 샷에 문제가 설명되어 있습니다 ( PT Mono, 전용 굵은 체 없음). "부호없는 문자"및 "sizeof"단어가 올바른 위치에서 어떻게 이동하는지보십시오.

자동 굵게 변경하면 너비가 변경됩니다

여기 또 다른 예가 있습니다 Droid Sans Mono(전용 굵은 체 없음). 여기에 이미지 설명을 입력하십시오

여기에 글꼴에 전용 굵은 체 버전 ( Liberation Mono) 이있는 예가 있습니다. 대담하고 규칙적입니다. 여기에 이미지 설명을 입력하십시오

따라서 문제는 굵게 표시되지 않은 상황에서 분명히 대담한 굵게 렌더링에 있습니다. 폰트 엔진은 책임이 있습니다.

UPD : 굵은 체 버전이없는 글꼴의 합성 엠보싱을 수행하기 위해 글꼴 엔진을 튜닝 /etc/fonts/conf.avail/90-synthetic.conf할 때 참조 하는 파일 이 /etc/fonts/conf.d/있습니다. 이 파일에 대한 심볼릭 링크가에서 제거 /etc/fonts/conf.d/되면 임베딩이 사라집니다. 이것은 정확히 원하는 것이 아니지만 최소한 모노 스페이스 글꼴이 모노 스페이스가 아닌 경우를 치료합니다 (아래 참조 PT Mono). 구성 파일 또는 freetype2패치에 의해 엠보싱의 미세 조정이 여전히 필요 합니다.

여기에 이미지 설명을 입력하십시오


당신은 그것을 제어 할 수 없습니다. 글꼴 디자인이 망가 졌을 것입니다. 일반 글꼴 간격과 일치하도록 크기를 정확하게 줄이더라도 (굵은 글꼴) 굵은 글꼴은 더 ​​작게 보입니다. 균일 한 간격의 글꼴을 원한다면 굵은 글꼴을 사용하지 마십시오 ... 또는 터미널을 시도하십시오
zetah

그건 사실이 아니야. 별도의 파일로 제공되는 일반 및 굵은 서체가있는 글꼴은 일반 및 굵게 동일한 문자 너비를 갖습니다. 예를 들어 LetterGothic입니다.
mbaitoff

나는 정정되었다. 내 글꼴이 Droid Sans Mono 인 동안 SciTE (아마도 Scintilla 기반 편집기-아마도 Geany?)를 사용하는 것과 동일한 것을 알았지 만 허용 된대로 가져 갔으며 가중치 글꼴은 다른 간격을 가질 수 있다는 생각이 없었습니다. 모노 스페이스 글꼴의 경우에도 굵은 글꼴은 일반과 동일한 간격을 사용합니다. 또한 비례 글꼴에도이 "기능"이있는 것 같습니다. 미안 내 대담한 첫 번째 응답을, 나는 먼저 확인해야
zetah의

@zetah : 다른 글꼴 파일을 통해 보았고 실제로 글꼴의 대담한 버전이없는 경우에만 너비 변경이 발생하는 것처럼 보입니다. 더 많은 스크린 샷으로 질문을 업데이트하겠습니다.
mbaitoff

답변:


9

mbaitoff , 답변이 아닌 업데이트에 추가로 게시하고 있습니다

사용자가 이름이 ~/.fonts.conf다음과 같은 파일을 만드는 경우 :

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <test name="spacing" compare="eq">
            <const>mono</const>
        </test>
        <edit name="embolden" mode="assign">
            <bool>false</bool>
        </edit>
    </match>
</fontconfig>

그런 다음 응용 프로그램은 사용 가능한 경우 굵은 체 모노 스페이스 글꼴을 사용하고 사용 된 글꼴에 굵은 체가 없으면 "합성 굵은 체"를 비활성화 할 수 있습니다.

그것은 단지 대안이며 결과가 다른 약간 다른 접근법입니다.


이후에 심볼릭 링크 /etc/conf.d/50-user.conf가 실행되도록 이름이 90-synthetic.conf바뀌면 색전을 완전히 제거하지 않아도됩니다. 99-user.conf잘 작동합니다. 그렇지 않으면 90-synthetic.conf다시 활성화하십시오.
musiKk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.