Ich konnte die Standardschriftart von Grub mithilfe von ändern
grub-mkfont -s 16 -o /boot/grub/grubfont.pf2 font.tty
und füge dann die folgende Zeile zu / etc / default / grub hinzu:
GRUB_FONT=/boot/grub/grubfont.pf2
Und natürlich
sudo update-grub
Und die neue Schriftart wurde angezeigt und alles (denken Sie daran, eine monospaced Schriftart zu wählen). Aber die „Box“ Zeichen (rund um die Einträge) nie richtig angezeigt. Ich denke, die meisten Schriftarten haben einfach keinen Zeichensatz. Kann ich diese Zeichen auf irgendeine Weise hinzufügen? Vielleicht sogar aus der Standardschrift unicode.pf2 kopieren? Wenn dies nicht möglich ist, kennen Sie Schriftarten mit diesen Zeichen?
Aktualisieren:
Ich habe viele verschiedene Dinge ausprobiert, wie das Konvertieren von ttf nach bdf und dann nach pf2, und ich habe versucht, nur die ASCII-Zeichen mit der Option zu konvertieren --range=0x0-0x7f
, aber keine davon schien perfekt zu funktionieren. Ich habe das Gefühl, dass dies daran liegt, dass ich eine größere Schriftart als die Standardschrift generiere und die Standard-Glyphen daher nicht verwendet werden können.
Ich werde versuchen zu sehen, ob ich es mit einer kleineren Schriftgröße zum Laufen bringen kann, obwohl dies einer der Gründe war, warum ich die Schrift ändern wollte.
Antworten:
Theoretisch
grub-mkfont
können mehrere Schriftarten übergeben werden. In diesem Fall, wenn Sie gleichzeitig einen Link zu Unifont oder einer anderen Schriftart mit größerer Abdeckung übergeben können. Die erzeugte Grub-Schriftart ist eine Kombination aus der Abdeckung beider Eingabeschriftarten.Hinweis: Eine kürzliche Leistungsverbesserung beim Laden von Grub-Schriftarten während des Startvorgangs hat zur Folge, dass die Glyphen in einer Grub-Schriftdatei in einer bestimmten aufsteigenden Reihenfolge angezeigt werden müssen. Leider wurde die Änderung nicht gleichzeitig am
grub-mkfont
Dienstprogramm vorgenommen! Dies ist jetzt ein Fehler:Übrigens, wenn Sie interessiert sind, wurde dieser Fehler aufgrund von Experimenten entdeckt, bei denen die Verwendung der Ubuntu-Schriftfamilie in Ubuntu Mono in den Grub-Startmenüs untersucht wurde und genau dasselbe Problem auftrat, das Sie gerade getroffen haben!
quelle
Grundsätzlich möchten Sie den Bereichsoperator verwenden, um die Zeichen zu begrenzen, die Ihre neue Grub-Schriftart enthält. Wenn Sie den Bereichsoperator nicht verwenden, erhalten Sie alle Glyphen einschließlich der fehlerhaften oder falschen Feldelemente aus Ihrer Zielschriftart.
Beispielsweise:
grub-mkfont -s 16 --range=0x0-0x7f -o /boot/grub/grubfont.pf2 font.tty
Wird eine Schriftart mit nur ASCII-Zeichen generiert, sollte alles, was Ihre Schriftart nicht enthält, ordnungsgemäß in die Standardschrift verwandelt werden, sodass Felder und Pfeile aus der Standardschrift stammen sollten. Weitere Informationen finden Sie auf dieser Website:
http://grub.enbug.org/gfxterm
quelle
IIRC Ich bin auf das gestoßen, was Sie beschreiben, wenn Sie alle Glyphen verwenden:
(Quelle: xrmb2.net )
Vielleicht ist es ein Problem mit
grub-mkfont
, vielleicht hat es mit der Schriftart zu tun, ich weiß es nicht. :(Was hat bei mir funktioniert:
gbdfed
generieren Sie die 'bdf'-Datei aus einer Konsolenschriftart (z. B.' /usr/share/consolefonts/Lat15-VGA16.psf '): Datei> Importieren> Konsolenschriftart, dann Datei> Speichern unter ...grub-mkfont
:grub-mkfont --output=out.pf2 --range=0x0-0x7f out.bdf
quelle
Wenn Sie grub-mkfont mit der Option -v ausführen, wird angezeigt , wie viele Glyphen Sie erhalten. Wenn du mehr als tausend bekommst, sollte der Grenzcharakter drin sein. Die Einschränkung der Reichweite wird die Situation nur verschlimmern. Die DejaVuSansMono-Schriftart zeigt alle Zeichen korrekt an und enthält über 3000 Glyphen in der PF2-Datei. Bei vielen anderen Schriftarten werden die Pfeile richtig angezeigt, der Rand jedoch nicht.
quelle
Verwenden Sie eine Unicode-Schriftart. Das hat fast einwandfrei funktioniert (z. B. arialuni.ttf, zeigt alle erforderlichen Zeichen an). Mein Problem ist der geringfügig größere Zeichenabstand. Dies passiert bei jeder getesteten Schriftart.
quelle
Sie können dies erreichen, indem Sie sowohl die Standardschrift als auch die gewünschte Schrift laden .
Stellen Sie dann die Schriftart auf die gewünschte Schriftart ein.
Wenn die Zeichen für das Feld nicht gefunden werden, wird die ebenfalls geladene reguläre Schriftart als Standard verwendet und die erforderlichen Zeichen werden bereitgestellt.
quelle
Mir ist klar, dass dieser Thread uralt ist, aber ich habe ihn heute gelesen und eine andere Antwort gefunden, die noch nicht bereitgestellt wurde ... also hier ist er:
Wenn in GRUB nach dem Ändern der Schriftarten ungerade Zeichen angezeigt werden, sind diese Zeichen in der .ttf-Datei, die Sie zum Erstellen der .pf2-Datei verwendet haben, nicht vorhanden.
Die Zeichen, die zum Erstellen des Rahmens verwendet werden, sind:
Die anderen häufig fehlenden Zeichen in einer .ttf-Datei sind die folgenden Pfeile:
Sie können FontForge (Open Source-Software) verwenden, um die Zeichen aus einer .ttf-Datei zu kopieren und einzufügen, die die Zeichen enthält, die in der .ttf-Datei enthalten sind, die Sie verwenden möchten. Nachdem Sie mit FontForge eine neue .ttf-Datei erstellt haben, können Sie mit grub-mkfont eine .pf2-Datei mit allen entsprechenden Zeichen erstellen.
quelle