Varsayılan Grub yazı tipini değiştirdikten sonra kutu karakteri yok


13

Grub'un varsayılan yazı tipini kullanarak

grub-mkfont -s 16 -o /boot/grub/grubfont.pf2 font.tty

ve / etc / default / grub'a aşağıdaki satırı ekleyin:

GRUB_FONT=/boot/grub/grubfont.pf2

Ve tabi ki

sudo update-grub

Ve yeni yazı tipi ve her şey ortaya çıktı (tek aralıklı bir yazı tipi seçmeyi unutmayın). Ancak , "kutu" karakterleri (girişlerin etrafında) hiçbir zaman doğru görüntülenmez. Sanırım çoğu yazı tipi bu karakter setine sahip değil. Bu karakterleri eklememin bir yolu var mı? Belki de bunları varsayılan unicode.pf2 yazı tipinden kopyalayabilir misiniz? Bu gerçekten mümkün değilse, bu karakterlere sahip yazı tiplerini biliyor musunuz?

Güncelleme:

Tf'den bdf'ye ve daha sonra pf2'ye dönüştürme gibi birçok farklı şey denedim ve sadece ascii karakterleri seçeneği ile dönüştürmeyi denedim --range=0x0-0x7f, ancak hiçbiri mükemmel çalışmasını sağladı. Varsayılandan daha büyük bir yazı tipi oluşturduğum ve varsayılan gliflerin kullanılamadığı için bir his var.

Yazı tipini değiştirmek istediğim nedenlerden biri olsa da, daha küçük bir yazı tipi boyutuyla çalışıp çalışamayacağımı görmeye çalışacağım.


1
BURG'u çok güzel deneyin ve çok fazla teması var
Extender

Ama OP yazı tipini değiştirmek istiyor - tema GRUB'u değil. Alakasız.
WindowsEscapist

Yanıtlar:


8

Teoride grub-mkfont birden çok yazı tipinin geçmesine izin verir. Bu durumda, Unifont'a veya daha geniş kapsama alanına sahip başka bir yazı tipine aynı anda geçebilirsiniz . Üretilen Grub yazı tipi, her iki giriş yazı tipinin kapsamının bir birleşimi olacaktır.

Not: Grub önyükleme zamanı yazı tipi yükleyicisindeki son performans artışı, Grub yazı tipi dosyasındaki gliflerin belirli bir artan sırada olması gerektiği anlamına gelir, ancak ne yazık ki değişiklik grub-mkfontaynı anda yardımcı programda yapılmadı ! Bu artık bir hata:

  • Hata # 729470 "grub-mkfont grubun kullanamayacağı fontlar çıkarıyor (font karakterleri artan sırada değil: 0 <= 0)"

BTW, ilgileniyorsanız, bu hata, Grub önyükleme menülerinde Ubuntu Font Ailesi geliştirme Ubuntu Mono yazı tipinin kullanımını araştırmak ve vurduğunuz aynı sorunu vurmakla yapılan deneyler nedeniyle keşfedildi !


1
Onlar grub yüklenen Ubuntu Mono yazı tipi almak kadar dinlenme izin vereceğim - Ben zaten ilk etapta ne oldu zaten :) Çok teşekkürler.
LasseValentini

9

Temel olarak yapmak istediğiniz şey, yeni grub fontunuzun içerdiği karakterleri sınırlamak için aralık operatörünü kullanmaktır. Aralık operatörünü kullanmazsanız, hedef yazı tipinizden hatalı veya yanlış kutu öğeleri de dahil olmak üzere tüm glifleri alırsınız.

Örneğin:

grub-mkfont -s 16 --range=0x0-0x7f -o /boot/grub/grubfont.pf2 font.tty

Yalnızca ASCII karakterleri olan bir yazı tipi oluşturur, yazı tipinizin sahip olmadığı her şey varsayılan yazı tipine nazikçe bozulmalıdır, böylece kutular ve oklar varsayılandan gelmelidir. Daha fazla bilgi için lütfen bu web sitesine bakın:

http://grub.enbug.org/gfxterm


1
Bu mantıklı olurdu, ama belki de unicode yazı tipi hiç yüklenmediği için garip gliflere sahibim? Varsayılan yazı tipini geri ayarlamaya çalışacağım ve bunu tekrar deneyin.
LasseValentini

1
Belki de önce bir konsol yazı tipi yüklemeli ve sonra sadece ttf ascii yazı tipini yüklemelisiniz.
Martin Owens -doctormo-

1
Birden fazla yazı tipi yüklemeyi denediniz mi? unicode font /usr/share/grub/unicode.pf2, ihtiyacınız olan kutu ve ok karakterlerini içermelidir. İstenen efekti elde edene kadar fontları loadfont kullanarak birbiri ardına yükleyebilmelisiniz.
Martin Owens -doctormo-

5

IIRC Tüm glifleri kullanırken tarif ettiğinizle karşılaştım:


(kaynak: xrmb2.net )

Belki bir sorun grub-mkfont, belki yazı tipi ile ilgili, bilmiyorum. :(

Benim için ne işe yaradı:

  1. gbdfedKonsol yazı tipinden 'bdf' dosyası oluşturmak için kullanma (örn. '/Usr/share/consolefonts/Lat15-VGA16.psf'): Dosya> İçe Aktar> Konsol Yazı Tipi, ardından Dosya> Farklı Kaydet ...
  2. Yalnızca aşağıdaki ASCII karakterlerini dönüştürme grub-mkfont:

    grub-mkfont --output=out.pf2 --range=0x0-0x7f out.bdf

1
Görünüşe göre benim asıl sorun konsolları için tasarlanmış bir yazı tipi değil, bir OpenType yazı tipi (ttf) kullanmak istiyorum. Yukarıda bir ttf dosyası ile denedim, ama bu özel sorun yardımcı olmadı. Yine de benzer bir soruna bir çözüm için çok teşekkürler :).
LasseValentini

3

Eğer çalıştırırsanız grub-mkfont ile -v bayrağı sen almak kaç glifleri gösterecektir. Binden fazla alırsanız, sınır karakteri orada olmalıdır. Aralığı sınırlamak yalnızca işleri daha da kötüleştirecektir. DejaVuSansMono yazı tipi tüm karakterleri doğru görüntüler ve .pf2 içinde 3000'den fazla glif bulunur. Diğer birçok yazı tipi okları doğru alır ancak kenarlığı sağlamaz.


2

Unicode yazı tipi kullanın .. Bu neredeyse iyi çalıştı (arialuni.ttf gibi, gerektiği gibi tüm karakterleri gösterir) .. Benim sorunum biraz daha büyük karakter aralığı ile ... ve bu test her yazı tipi ile olur.


1

Hem varsayılan yazı tipini hem de istenen yazı tipini yükleyerek bunu doğru şekilde görüntüleyebilirsiniz .

Ardından, yazı tipini istediğiniz yazı tipine ayarlayın.

Kutunun karakterleri bulunamadığında, yüklenen normal yazı tipi varsayılan olarak işlev görür ve gerekli karakterler sağlanır.


0

Bu konunun eski olduğunu anlıyorum, ama bugün okuyordum ve henüz sağlanmayan başka bir cevap buldum ... işte burada:

Yazı tiplerini değiştirdikten sonra GRUB'da garip karakterler alıyorsanız, bu karakterlerin .pf2 dosyasını oluşturmak için kullandığınız .ttf dosyasında bulunmaması nedeniyle.

Kenarlığı oluşturmak için kullanılan karakterler:

  • + 2501 U
  • + 2503 U
  • U +, 250F
  • + 2513 U
  • + 2517 U
  • U +, 251 B

Bir .ttf dosyasındaki genel olarak eksik karakterler:

  • + 2191 U
  • + 2193 U

Bu karakterleri, kullanmaya çalıştığınız .ttf dosyasına dahil olan karakterleri içeren bir .ttf dosyasından kopyalayıp yapıştırmak için FontForge'u (açık kaynaklı yazılım) kullanabilirsiniz. FontForge ile yeni bir .ttf oluşturduktan sonra, uygun karakterlerin tümünü içeren .pf2 dosyanızı oluşturmak için grub-mkfont kullanabilirsiniz.

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.