Gnome Terminalinde veya tek aralıklı yazı tiplerinin gerekli olduğu yerlerde Fixedsys nasıl kullanılır


10

Fixedsys yazı tipinin programlama için en okunaklı tek aralıklı yazı tiplerinden biri olduğunu düşünüyorum . Kenar yumuşatma sıfır, dikey çizgiler çoğunlukla 2 piksel genişliğindedir. Mevcut monitör nokta sahaları için idealdir, gözlerimde (tam anlamıyla). İşte bir örnek:

Fixedsys örneği

Yıllarca evde Windows (ailevi nedenlerle) ve Windows'ta Cygwin aracılığıyla (şirket politikası nedenleriyle) erişilen iş yerinde Linux sunucularından sonra, Fixedsys'in kabuk ve IDE yazı tipi olduğu için, sonunda evde Ubuntu'ya geçmeye karar verdim.

Tutulma ve gedit sorun değil, burada yorum # 16'da bulabileceğiniz Fixedsys Excelsior TTF yazı tipinin düzeltilmiş bir sürümünü kabul ediyorlar (dosya adı: FSEX301-L2.ttf). Ancak Gnome Terminali yalnızca tek aralıklı yazı tiplerini kabul eder.

Fixedsys Excelsior esasen tek aralıklı olmasına rağmen, daha büyük glifler (çoğunlukla doğu dilleri için) ve ayrıca bazı bitişik harfler içerir. Görünüşe göre TÜM karakterlerin tek aralıklı olarak tanınması için bir yazı tipinin aynı genişliğe sahip olması gerektiğinden, Fixedsys Excelsior, gnome terminali de dahil olmak üzere tek aralıklı fontların gerekli olduğu tüm bağlamlarda seçilemez.

Peki, Fixossys klonunu yalnızca tek aralıklı yazı tiplerini kabul eden bağlamlarda kullanmanın en kolay / temiz yolu nedir?


BTW, NetBeans'te Fixedsys Excelsior'u kullanmak -J-Dswing.aatext=falseiçin, /etc/netbeans.conf içindeki netbeans_default_options öğesini eklemeniz gerekir. Aksi takdirde NetBeans onu "renkli" ve bulanık hale getirecektir - bu Windows için de geçerlidir
Walter Tross

Önceki yorumuma güncelleme: Windows üzerindeki Netbeans 7.4, -J-Dawt.useSystemAAFontSettings=onkenar yumuşatmadan kurtulmayı gerektirir .
Walter Tross

MacBook Pro'da keskin olmayan örnek görüntü ile çalışmak zorundayım. Fixedsys yazı tipinin gri kenarlık pikselleri var gibi görünüyor. AFAICT bunun nedeni, HTML içindeki görüntülerin iki faktör kadar ölçeklendirilmesine neden olan yüksek çözünürlüklü bir ekran olan "retina" ekranıdır (evet, HTML'yi kırmayı ve bulanık görüntülere sahip olmayı tercih ettiler ...). Aynı ölçekleme yazı tipinin kendisi için de geçerli olup onu bozar. Öte yandan, yüksek çözünürlüklü ekranlar Fixedsys ihtiyacını ortadan kaldırarak tüm yazı tiplerinde okunabilirliği büyük ölçüde artırır.
Walter Tross

Yanıtlar:


7

Bulduğum çözüm bu. Birkaç kez iyice test ettim ve ortaya çıkan yazı tipini 2 yıldan fazla bir süredir çeşitli yerlerde kullanıyorum, ancak uyarılırsınız: prosedürün bazı kısımları yetersizden düze yanlış olabilir.

"Sonuçta ortaya çıkan yazı tipini neden kullanılabilir yapmıyorsunuz" diye sormadan önce cevap: "çünkü yapabileceğimden emin değilim". Yazı tipi telif hakkı karmaşık bir konudur.


Düzeltilmiş Fixedsys Excelsior yazı tipini indirin (dosya FSEX301-L2.ttf, yorum no. 16)

FontForge'u yükleyin (örn. Ubuntu Yazılım Merkezi'nden)

FSEX301-L2.ttfDosyaya sağ tıklayın ve FontForge ile açın. Görüntülenen Bitmap Yazı Tiplerini Yükle penceresinde, Hayır'a tıklayın .

Dosya → Komut Dosyasını Yürüt ... seçeneğini tıklayın ve aşağıdakileri kopyalayıp görünen pencereye yapıştırın:

SelectAll()
foreach
   if (GlyphInfo("Width") != 80)
      DetachAndRemoveGlyphs()
   else
      b = GlyphInfo("BBox")
      if (b[0] < 0 || b[1] < -30 || b[2] > 80 || b[3] > 130)
         DetachAndRemoveGlyphs()
      endif
   endif
endloop
SelectNone()

Sonra seçmek FF ve tıklayın OK (bir miktar zaman alacaktır, sen kadar beklemek zorunda kalacak Yürütme Komut penceresi kaybolana)

Click Eleman → Yazı Bilgisi ... In PS İsimler değiştirmek fontName , Aile Adı ve İnsanlar için Ad ekleyerek, örneğin Mono(boşluklar yalnızca ikinci ve üçüncü dizede izin verilir).

Aynı Yazı Tipi Bilgileri penceresinde OS / 2'yi seçin .
In Misc. sekme değiştirmek PFM Ailesi için Monospace .
Metrikler sekmesinde, Win Descent Offset ve HHead Descent Offset değerlerini her ikisini de 0 (*) olarak ayarlayın .
Gelen Panose sekmesi, değişim oranı kadar Monospaced .

Aynı Yazı Tipi Bilgileri penceresinde, Aramalar'ı seçin .
In GSUB sekmesi ve içinde GPOS sekmesi, sırayla her satırı seçip Sil .

Aynı Yazı Tipi Bilgileri penceresinde, Tamam'a tıklayın ve UniqueID değiştirilsin mi? görünen pencerede Değiştir'i tıklayın .

İsterseniz, Fixedsys'in bir veya daha fazla şüpheli özelliğini değiştirebilirsiniz. Örneğin, sıfır karakteri bir piksel sağa kaydırılır. Merkeze geri, üzerinde çift tıklama onu kaydırmak için, ardından Metrik → Seti LBearing ... , set LBearing için 10tıklayın ve OK . Karakterlerin şeklini de değiştirebilirsiniz, ancak kontrol noktalarını her zaman 10'un katlarında ve genişliği 80'de tutun.

Click Eleman → Bitmap Strikes Temin ... o zaman, görünür ayarlamanız pencerede Piksel Boyutları için 16tıklamanız Tamam .

Click Yazı Tipleri Oluştur → Dosya ... farklı bir dizin ve / veya gerekirse farklı bir dosya adı seçin emin çıkış biçimidir yapmak TrueType ve tıklayın Kaydet . Görüntülenen Standart Dışı Em-Size penceresinde Evet seçeneğine tıklayın . Görüntülenen Hatalar algılanan pencerede Kaydet'i tıklayın (endişelenmeyin).

FontForge'dan çıkın ( Dosya → Çık ). Görüntülenen Yazı tipi değiştirildi penceresinde Kaydetme'yi tıklayın .


Oluşturulan dosyayı .fontsana dizininizin alt dizinine taşıyın (yoksa oluşturun).

Gnome Terminalini açın. Düzenle → Profiller ... 'i tıklatın . Bir profilde (yeni bir tane oluşturmanızı öneririm) yazı tipini Fixedsys Excelsior 3.01-L2 Mono(ya da Fixedsys Excelsior'un mono sürümünü çağırdığınız her şeyi) boyutunda 12(tek "gerçek" Fixedsys boyutu olan) olarak değiştirin . İsterseniz kalın metinleri de devre dışı bırakabilirsiniz. Beyaz zemin üzerine siyah metin öneriyorum, ama bu bir zevk meselesi.

Bu yazı tipinin kalın değişkeni, bir piksel sağa kaydırılan karakterin tekrarlanmasına eşdeğerdir (bu, FSEX301-L2.ttfdüzeltilmiş göründüğü yerden farklıdır ). Çok okunaklı değil - ama gerçekten cesur olman gerekiyor mu? Yapmıyorum. Sorun, yalnızca kalın harflerin devre dışı bırakılamadığı (hatta sözdizimi vurgulaması düzenleyerek değil) bağlamlarda, özellikle karakter aralığının da bir piksel tarafından artırıldığı, hizalamaların kırıldığı durumlarda (gnome'da böyle değil) -terminal). Bu son sıkıntıya henüz bir çözüm bulamadım. Öneriler bekliyoruz.


(*): 2012-07-31'in FontForge sürümünden bu yana gerekli değildir (14.04 LTS - Trusty Tahr'da)


Bu tarifi kaydeden ve / veya uygulayan herkese: bazı küçük sorunları çözmek için bu arada biraz değişmiş olabileceğini ve gelecekte de değişebileceğini lütfen unutmayın. Düzenleme geçmişine bakabilirsiniz.
Walter Tross

FYI, Windows üzerinde de iyi çalışıyor. Ayrıca "Fixedsys Excelsior 2.0" ile (bence, karakterler FSEX3'ten biraz daha az yüksek olduğu için terminaller için çok daha iyi). PuTTY için harika yazı tipi! (orijinal FSEX ve tek aralıklı olarak kabul edilen herhangi bir yazı tipi , ekran çok sık yenilendiğinde
PuTTY'yi

14.04'te PhpStorm 7.1, cevabımda tanımladığım yazı tipini tek aralıklı yazı tipi olarak tanımıyor, neden bilmiyorum :-( Neyse ki, "yalnızca tek boşluklu yazı tiplerini göster" seçeneğinin işaretini kaldırırsanız, yine de alabilirsiniz. boyutu 12 yerine 15 veya 16 (aynı görünüyorlar) olmalıdır. PhpStorm bana biraz buggy gibi görünüyor ...
Walter Tross

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.