Mam czcionkę o stałej szerokości ( PT Mono
), której wolę używać w programowaniu IDE. Czcionka ma tylko Regular
, wszystkie inne Bold
i Italic
są uzyskiwane przez pochylenie i „pogrubienie” Regular
. Problem polega na tym, że „pogrubione” znaki są szersze niż zwykłe, więc łańcuchy kodu źródłowego w oknie IDE składają się teraz ze znaków nieposiadających odstępu.
Jak kontrolować „pogrubienie” czcionki, aby nie stała się szersza niż zwykła?
Problem zilustrowano na zrzucie ekranu poniżej ( PT Mono
bez pogrubionej czcionki). Zobacz, jak słowa „unsigned char” i „sizeof” wychodzą ze swoich właściwych pozycji.
Oto kolejny przykład Droid Sans Mono
(bez dedykowanego pogrubienia).
A tutaj przykład, kiedy czcionka ma dedykowaną pogrubioną wersję ( Liberation Mono
). Pogrubienie i regularność są idealnie dopasowane.
Problemem jest z pewnością niepoważne renderowanie pogrubione w sytuacjach, w których pogrubienie nie jest zapewnione. Winien jest silnik czcionek.
UPD: Istnieje plik, do /etc/fonts/conf.avail/90-synthetic.conf
którego odwołuje się z /etc/fonts/conf.d/
tuningu silnika czcionek, aby wykonać syntetyczne pogrubienie czcionek, które nie mają pogrubionej wersji. Jeśli dowiązanie symboliczne do tego pliku zostanie usunięte z /etc/fonts/conf.d/
, pogrubienie zniknie. Nie jest to dokładnie potrzebne, ale przynajmniej leczy przypadek, gdy czcionki monospace nie są monospace (patrz poniżej PT Mono
). Nadal pożądane jest precyzyjne dostrojenie pogrubienia (za pomocą pliku konfiguracyjnego lub freetype2
poprawki.
Odpowiedzi:
mbaitoff , zamieszczam to jako uzupełnienie twojej aktualizacji, a nie jako odpowiedź
Jeśli użytkownik utworzy plik o nazwie
~/.fonts.conf
:wówczas aplikacje mogą używać pogrubionej czcionki o stałej szerokości, jeśli jest dostępna, i wyłączać „pogrubienie syntetyczne”, jeśli używana czcionka nie jest pogrubiona.
Jest to po prostu alternatywa i nieco inne podejście z innym rezultatem
źródło
/etc/conf.d/50-user.conf
nazwa dowiązania symbolicznego zostanie zmieniona na później90-synthetic.conf
, nie musisz całkowicie usuwać pogrubienia.99-user.conf
działa w porządku. W przeciwnym razie90-synthetic.conf
włącza to ponownie.