Bir yazı tipinin “otomatik” kalın sürümünün aynı pt boyutuna sahip normalden daha geniş olmasını nasıl önleyebilirim?


10

PT MonoIDE programlamada kullanmayı tercih ettiğim bir tek aralıklı font ( ) var. Yazı tipi yalnızca Regulardiğerlerine sahiptir Boldve Italiceğimli ve kalın harflerle türetilmiştir Regular. Sorun, "kalınlaştırılmış" karakterlerin normal karakterlerden daha geniş olmasıdır, bu nedenle IDE penceresindeki kaynak kodu dizeleri artık tek boşluklu olmayan karakterlerden oluşur.

Normalden daha geniş olmayacak şekilde yazı tipinin "kalınlaştırılmasını" nasıl kontrol edebilirim?

Sorun aşağıdaki ekran görüntüsünde gösterilmektedir ( PT Monoözel kalın değildir). "İmzasız karakter" ve "sizeof" kelimelerinin uygun konumlarından nasıl çıktıklarını görün.

otomatik kalınlaştırma genişliği değiştirir

Burada başka bir örnek, Droid Sans Mono(adanmış kalın değil). resim açıklamasını buraya girin

Ve burada yazı tipi özel kalın sürüm ( Liberation Mono) olduğunda bir örnek . Kalın ve düzenli olarak mükemmel şekilde hizalanır. resim açıklamasını buraya girin

Bu yüzden, sorun kesinlikle cesurun sağlanamadığı durumlarda anlamsız kalınlaştırma sunumundadır. Yazı tipi motoru suçlanacak.

UPD: Cesur sürümü olmayan yazı tiplerinin sentetik emboldenmasını gerçekleştirmek için yazı tipi motorunu ayarlarsa bir dosya /etc/fonts/conf.avail/90-synthetic.confvardır /etc/fonts/conf.d/. Eğer bu dosyaya sembolik link kaldırılırsa /etc/fonts/conf.d/, embolden kaybolur. Tam olarak istenen bu değildir, ancak en azından bu, tek aralıklı yazı tiplerinin tek aralıklı olmaması durumunu iyileştirir (aşağıya bakın PT Mono). Emboldenmanın ince ayarının yapılması istenir (yapılandırma dosyası veya freetype2yama ile).

resim açıklamasını buraya girin


Bunu kontrol edemezsin. Yazı tipi tasarımı bozulur. Normal yazı tipi aralığıyla eşleşmesi için boyutu (yapamayacağınız) kesin olarak azaltsanız bile, kalın yazı tipi daha küçük görünür. Eşit aralıklı yazı tipi istiyorsanız, kalın yazı tipi kullanmayın ... veya terminali deneyin
zetah

Bu doğru değil. Ayrı dosyalarda hem normal hem de kalın yazı tiplerine sahip yazı tipleri, normal ve kalın olarak aynı karakter genişliğine sahiptir. Örneğin, LetterGothic.
mbaitoff

Ben düzeltilmiş duruyorum. Yazı tipimi Droid Sans Mono iken SciTE'yi (ve belki de Scintilla tabanlı editör - belki de Geany? tek aralıklı yazı tipleri için bile, kalın yazı tipi normal ile aynı aralığı kullanır. Dahası, orantılı yazı tiplerinin fark ettiğiniz bu "özelliğe" sahip olduğu görülüyor, hepiniz değil. Cesur ilk
cevabım

@zetah: Farklı yazı tipi dosyalarına baktım ve genişlikteki değişimin sadece yazı tipinin adanmış kalın bir sürümü olmadığında gerçekleştiği gibi görünüyor. Soruyu daha fazla ekran görüntüsü ile güncelleyeceğim.
mbaitoff

Yanıtlar:


9

mbaitoff , bunu güncellemenize ek olarak gönderiyorum , cevap olarak değil

Kullanıcı adlı dosya oluşturursa ~/.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>

daha sonra, uygulamalar varsa kalın tek aralıklı yazı tipini kullanabilir ve kullanılan yazı tipinin kalın yazı tipi yoksa "sentetik kalınlaştırma" özelliğini devre dışı bırakabilir.

Sadece alternatif ve farklı sonuçlarla biraz farklı bir yaklaşım


Symlink /etc/conf.d/50-user.confdaha sonra yürütülecek şekilde yeniden adlandırılırsa 90-synthetic.conf, embolden'i tamamen kaldırmanız gerekmez. 99-user.confiyi çalışıyor. Aksi takdirde, 90-synthetic.conftekrar etkinleştirir.
musiKk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.