J'ai pu changer la police par défaut de Grub, en utilisant
grub-mkfont -s 16 -o /boot/grub/grubfont.pf2 font.tty
puis en ajoutant la ligne suivante à / etc / default / grub:
GRUB_FONT=/boot/grub/grubfont.pf2
Et bien sûr
sudo update-grub
Et la nouvelle police est apparue et tout (n'oubliez pas de choisir une police à espacement fixe). Mais , les caractères "encadrés" (autour des entrées) ne s'affichent jamais correctement. Je suppose que la plupart des polices n'ont tout simplement pas ce jeu de caractères. Est-il possible d'ajouter ces caractères? Peut-être même les copier à partir de la police unicode.pf2 par défaut? Si ce n'est pas vraiment possible, connaissez-vous des polices qui ont ces caractères?
Mise à jour:
J'ai essayé beaucoup de choses différentes, telles que la conversion de ttf en bdf puis en pf2, et j'ai essayé de convertir uniquement les caractères ascii avec l'option --range=0x0-0x7f
, mais aucun ne semblait le faire fonctionner parfaitement. J'ai le sentiment que c'est parce que je génère une police plus grande que celle par défaut, et les glyphes par défaut ne peuvent donc pas être utilisés.
Je vais essayer de voir si je peux le faire fonctionner avec une taille de police plus petite, bien que ce soit l'une des raisons pour lesquelles je voulais changer la police.
Réponses:
En théorie,
grub-mkfont
permet de passer plusieurs polices. Dans ce cas, si vous pouvez transmettre un lien vers Unifont ou une autre police avec une couverture plus large en même temps. La police Grub produite sera une combinaison de la couverture des deux polices d'entrée.Remarque: une amélioration récente des performances du chargeur de polices au démarrage Grub signifie que les glyphes dans un fichier de police Grub doivent être dans un ordre croissant spécifique, mais malheureusement, la modification n'a pas été apportée à l'
grub-mkfont
utilitaire en même temps! C'est maintenant un bug:BTW, si vous êtes intéressé, ce bogue a été découvert à la suite d'expériences portant sur l'utilisation de la police Ubuntu Mono en développement Ubuntu Mono dans les menus de démarrage de Grub et sur le même problème que vous venez de rencontrer!
la source
Fondamentalement, ce que vous voulez faire, c'est utiliser l'opérateur de plage pour limiter les caractères que contient votre nouvelle police grub. Si vous n'utilisez pas l'opérateur de plage, vous obtiendrez tous les glyphes, y compris les éléments de boîte erronés ou incorrects de votre police cible.
Par exemple:
grub-mkfont -s 16 --range=0x0-0x7f -o /boot/grub/grubfont.pf2 font.tty
Générera une police avec uniquement des caractères ASCII, tout ce que votre police n'a pas devrait se désintégrer gracieusement à la police par défaut, les boîtes et les flèches devraient donc provenir de la police par défaut. Veuillez consulter ce site Web pour plus d'informations:
http://grub.enbug.org/gfxterm
la source
IIRC J'ai rencontré ce que vous décrivez en utilisant tous les glyphes:
(source: xrmb2.net )
C'est peut-être un problème avec
grub-mkfont
, peut-être cela a à voir avec la police, je ne sais pas. :(Ce qui a fonctionné pour moi:
gbdfed
pour générer le fichier 'bdf' à partir d'une police de console (par exemple '/usr/share/consolefonts/Lat15-VGA16.psf'): Fichier> Importer> Police de la console, puis Fichier> Enregistrer sous ...grub-mkfont
:grub-mkfont --output=out.pf2 --range=0x0-0x7f out.bdf
la source
Si vous exécutez grub-mkfont avec l' indicateur -v , il vous montrera combien de glyphes vous obtenez. Si vous en obtenez plus d'un millier, le caractère de bordure doit être là. Limiter la portée ne fera qu'empirer les choses. La police DejaVuSansMono affiche correctement tous les caractères et contient plus de 3000 glyphes dans le .pf2. De nombreuses autres polices obtiennent les flèches à droite mais pas la bordure.
la source
utilisez une police unicode .. Cela a fonctionné presque très bien (comme arialuni.ttf, affiche tous les caractères comme requis) .. Mon problème est avec l'espacement des caractères un peu plus grand ... et cela se produit avec chaque police que j'ai testée.
la source
Vous pouvez obtenir ceci pour s'afficher correctement en chargeant à la fois la police par défaut et la police souhaitée.
Ensuite, définissez la police sur la police souhaitée.
Lorsque les caractères de la boîte ne sont pas trouvés, la police standard qui est également chargée agira par défaut et les caractères nécessaires seront fournis.
la source
Je me rends compte que ce fil est ancien, mais je le lisais aujourd'hui et j'ai trouvé une autre réponse non encore fournie ... alors voici:
Si vous obtenez des caractères étranges dans GRUB après avoir changé de police, c'est parce que ces caractères n'existaient pas dans le fichier .ttf que vous avez utilisé pour créer le fichier .pf2.
Les caractères utilisés pour créer la bordure sont:
Les autres caractères généralement manquants dans un fichier .ttf sont les flèches qui sont:
Vous pouvez utiliser FontForge (logiciel open source) pour copier et coller ces caractères à partir d'un fichier .ttf contenant les caractères inclus dans le fichier .ttf que vous essayez d'utiliser, ce qui n'est pas le cas. Après avoir généré un nouveau .ttf avec FontForge, vous pouvez utiliser grub-mkfont pour créer votre fichier .pf2 qui contient tous les caractères appropriés.
la source