Byłem w stanie zmienić domyślną czcionkę Grub, używając
grub-mkfont -s 16 -o /boot/grub/grubfont.pf2 font.tty
a następnie dodając następujący wiersz do / etc / default / grub:
GRUB_FONT=/boot/grub/grubfont.pf2
I oczywiście
sudo update-grub
Pojawiła się nowa czcionka i wszystko (pamiętaj, aby wybrać czcionkę o stałej szerokości). Ale znaki „pola” (wokół wpisów) nigdy nie są wyświetlane poprawnie. Myślę, że większość czcionek po prostu nie ma tego zestawu znaków. Czy jest jakiś sposób na dodanie tych znaków? Może nawet skopiujesz je z domyślnej czcionki unicode.pf2? Jeśli nie jest to naprawdę możliwe, czy znasz jakieś czcionki, które mają te znaki?
Aktualizacja:
Próbowałem wielu różnych rzeczy, takich jak konwersja z ttf na bdf, a następnie do pf2, i próbowałem konwertować tylko znaki ascii z opcją --range=0x0-0x7f
, ale żadna z nich nie sprawiała, że działał idealnie. Mam wrażenie, że dzieje się tak, ponieważ generuję czcionkę większą niż domyślna, dlatego domyślnych glifów nie można używać.
Spróbuję sprawdzić, czy uda mi się sprawić, by czcionka działała z mniejszym rozmiarem czcionki, chociaż był to jeden z powodów, dla których chciałem zmienić czcionkę.
Odpowiedzi:
Teoretycznie
grub-mkfont
pozwala na przekazywanie wielu czcionek. W takim przypadku, jeśli możesz przekazać link do Unifont lub innej czcionki o szerszym zasięgu w tym samym czasie. Wytworzona czcionka Grub będzie kombinacją pokrycia obu czcionek wejściowych.Uwaga: niedawna poprawa wydajności programu ładującego czcionki Grub podczas uruchamiania oznacza, że glify w pliku czcionek Grub muszą być w określonej kolejności rosnącej, ale niestety zmiana nie została wprowadzona w
grub-mkfont
narzędziu w tym samym czasie! To jest teraz błąd:BTW, jeśli jesteś zainteresowany, ten błąd został odkryty z powodu eksperymentów z badaniem wykorzystania czcionek Ubuntu Mono w fazie rozwoju w menu rozruchowym Grub i napotkaniem dokładnie tego samego problemu, który właśnie trafiłeś!
źródło
Zasadniczo chcesz użyć operatora zakresu, aby ograniczyć liczbę znaków zawartych w nowej czcionce grub. Jeśli nie użyjesz operatora zakresu, otrzymasz wszystkie glify, w tym błędne lub niepoprawne elementy ramki z docelowej czcionki.
Na przykład:
grub-mkfont -s 16 --range=0x0-0x7f -o /boot/grub/grubfont.pf2 font.tty
Wygeneruje czcionkę zawierającą tylko znaki ASCII, wszystko, czego nie ma, powinno z wdziękiem rozpaść się na czcionkę domyślną, więc pola i strzałki powinny pochodzić z domyślnej. Więcej informacji można znaleźć na tej stronie:
http://grub.enbug.org/gfxterm
źródło
IIRC Wpadłem na to, co opisujesz, używając wszystkich glifów:
(źródło: xrmb2.net )
Może to problem
grub-mkfont
, może ma to związek z czcionką, nie wiem. :(Co dla mnie zadziałało:
gbdfed
do generowania pliku „bdf” z czcionki konsoli (np. „/Usr/share/consolefonts/Lat15-VGA16.psf”): Plik> Importuj> Czcionka konsoli, a następnie Plik> Zapisz jako ...grub-mkfont
:grub-mkfont --output=out.pf2 --range=0x0-0x7f out.bdf
źródło
Jeśli uruchomisz grub-mkfont z flagą -v , pokaże ci ile masz glifów. Jeśli dostaniesz więcej niż tysiąc, powinna tam być postać graniczna. Ograniczenie zasięgu tylko pogorszy sytuację. Czcionka DejaVuSansMono wyświetla poprawnie wszystkie znaki i ma ponad 3000 glifów w .pf2. Wiele innych czcionek ma odpowiednie strzałki, ale nie obramowanie.
źródło
użyj czcionki Unicode. To działało prawie dobrze (takie jak arialuni.ttf, pokazuje wszystkie znaki zgodnie z wymaganiami) .. Mój problem dotyczy nieco większych odstępów między znakami ... i tak się dzieje z każdą testowaną czcionką.
źródło
Aby uzyskać prawidłowe wyświetlanie, można załadować zarówno czcionkę domyślną, jak i żądaną.
Następnie ustaw czcionkę na żądaną.
Gdy znaki dla skrzynki nie zostaną znalezione, załadowana również standardowa czcionka będzie działać domyślnie i zostaną dostarczone wymagane znaki.
źródło
Zdaję sobie sprawę, że ten wątek jest starożytny, ale czytałem go dzisiaj i wpadłem na inną odpowiedź, której jeszcze nie podano ... więc oto:
Jeśli w GRUB-ie pojawiają się nieparzyste znaki po zmianie czcionek, to dlatego, że te znaki nie istniały w pliku .ttf, którego użyto do utworzenia pliku .pf2.
Znaki użyte do utworzenia ramki to:
Innymi często brakującymi znakami w pliku .ttf są strzałki, które są:
Możesz użyć FontForge (oprogramowanie open source), aby skopiować i wkleić te znaki z pliku .ttf, który zawiera znaki zawarte w pliku .ttf, którego próbujesz użyć, a który nie. Po wygenerowaniu nowego pliku .ttf za pomocą FontForge możesz użyć grub-mkfont, aby utworzyć plik .pf2 zawierający wszystkie odpowiednie znaki.
źródło