Ölçeklenebilir fontlarda bitmap'leri yoksaymak için fontconfig öğesini yapılandırın


12

Microsoft C-Fontları yükledim ve harikalar. Ancak Calibri, göründüğü boyutların çoğunda bir bitmap yazı tipi olarak görünür. Fontconfig'e yerleşik bitmap'lerden oluşturulmasını Calibri (ve Cambria, vb.) Yasaklamasını nasıl söyleyebilirim? Zaten var 70-no-bitmaps.confbenim de /etc/fonts/conf.d/dizindeki.

Söz konusu yazı tipleri PowerPoint Viewer'dan çıkarılabilir .


AFAIK bu yazı tipleri serbestçe dağıtılamaz mı? (Bu yüzden onları test edemiyorum.) Ama bitmap'leri kullandıklarından ve sadece antiassasslamayı devre dışı bırakmadıklarından emin misiniz?
JanC

@JanC Yazı tipleri gerçekten önceden hazırlanmış bitmap'ler kullanır.
Paul Fisher

Yanıtlar:


19

/etc/fonts/conf.d/70-no-bitmaps.confyalnızca bitmap yazı tiplerini reddeder, gömülü bitmap'leri devre dışı bırakmazlar, burada durum böyle. Neden aynı conf dosyasında gömülü bitmap'leri devre dışı bırakmak için ayar koymadı bilmiyorum. Her neyse, aşağıdakileri ~/.config/fontconfig/conf.d/20-no-embedded.conf(veya Ubuntu'nun eski sürümleri için) içine koyun ~/.fonts.conf.d/20-no-embedded.conf:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>

Bu, tüm yazı tipleri için katıştırılmış bitmap'i devre dışı bırakır. Yalnızca belirli yazı tipleri için devre dışı bırakmak istiyorsanız, <test>öğe ekleyin :

<test name="family" compare="contains">
  <string>Calibri</string>
  <string>Cambria</string>
</test>

önce <edit ....


Bu /etc/fonts/conf.d veya daha iyisi /etc/fonts/conf.avail içine konulmalı ve diğer tüm yapılandırma dosyaları gibi conf.d'ye mi eklenmelidir? Bu ubuntu dağıtımı tarafından sağlanan yapılandırma dosyaları için ayrıldı mı? Önemli mi?
12'de

1
@knb varsayılan ubuntu / debian ayarları olarak, fontconfig de her şeyi yükler ~/.fonts.conf.d/. Bu yüzden sistem yapılandırmaları ile mucking önlemek için oraya koymanızı öneririz. Tüm kullanıcılar için kullanılabilir hale getirmek istemiyorsan, o zaman içine katmaya /etc/fonts/conf.dya koymak availve onu için sembolik bir link conf.dihtiyacınız olduğunda kullanmak için (bunu açmadan gibi hissediyorum zaman sembolik silebilir, ya da tam tersi)
syockit

3
Fontconfig dosyasının geçerli sürümlerinde, dosya adının ~/.fonts.conf.d/20-no-embedded.confönüne bir sayı eklenmemişse yüklenmeyecektir. Örneğin FC_DEBUG=1024 gedit, yapılandırmanızın herhangi bir etkisi olmadığı görülüyorsa, yüklenip yüklenmediğini görmek için çalıştırın .
pascal

FC_DEBUG için @pascal +1. Ve hayır, 10.04 LTS'de isimden önce numara gerekli değildi, sadece ismini vermek .fonts.configyeterliydi. Hangi fontconfig sürümüne başvuruyorsunuz?
LAFK, Reinstate Monica'nın

1

Verdiğiniz örnekte, "<test>" standardında iki kez belirtilen "<string>" özelliğine sahipsiniz. Bu Ubuntu 13.10 ve 14.04'te bir uyarıya neden olur. Uyarıyı ortadan kaldırmak için dosyadaki stanza şöyle görünmelidir:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <test name="family" compare="contains">
       <string>Calibri</string>
    </test>
    <test name="family" compare="contains">
       <string>Cambria</string>
    </test>
    <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>
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.