Я смог изменить шрифт Grub по умолчанию, используя
grub-mkfont -s 16 -o /boot/grub/grubfont.pf2 font.tty
и затем добавьте следующую строку в / etc / default / grub:
GRUB_FONT=/boot/grub/grubfont.pf2
И конечно
sudo update-grub
И новый шрифт действительно появился и все (не забудьте выбрать моноширинный шрифт). Но символы «коробки» (вокруг записей) никогда не отображаются правильно. Я думаю, что большинство шрифтов просто не имеют этого набора символов. Есть ли способ, которым я могу добавить эти символы? Может быть, даже скопировать их из шрифта unicode.pf2 по умолчанию? Если это на самом деле невозможно, знаете ли вы какие-нибудь шрифты с этими символами?
Обновить:
Я пробовал много разных вещей, таких как преобразование из ttf в bdf, а затем в pf2, и я пытался конвертировать только символы ascii с опцией --range=0x0-0x7f
, но ни одна из них, казалось, не позволяла работать идеально. У меня такое ощущение, что это потому, что я генерирую шрифт большего размера, чем по умолчанию, и поэтому глифы по умолчанию использовать нельзя.
Я попытаюсь выяснить, смогу ли я заставить его работать с меньшим размером шрифта, хотя это было одной из причин, по которой я хотел изменить шрифт.
Ответы:
Теоретически
grub-mkfont
позволяет передавать несколько шрифтов. В этом случае вы можете одновременно передать ссылку на Unifont или другой шрифт с более широким охватом. Полученный шрифт Grub будет представлять собой комбинацию покрытия обоих входных шрифтов.Примечание: недавнее улучшение производительности загрузчика шрифтов Grub во время загрузки означает, что глифы в файле шрифта Grub должны быть в определенном порядке возрастания, но, к сожалению, изменения не были внесены в
grub-mkfont
утилиту одновременно! Теперь это ошибка:Кстати, если вам интересно, эта ошибка была обнаружена из-за экспериментов по исследованию использования шрифта Ubuntu Font Family в процессе разработки Ubuntu Mono в меню загрузки Grub и попадания в ту же проблему, о которой вы только что упоминали!
источник
По сути, вы хотите использовать оператор диапазона, чтобы ограничить количество символов, содержащихся в вашем новом шрифте grub. Если вы не используете оператор диапазона, вы получите все глифы, включая ошибочные или неправильные элементы box, из целевого шрифта.
Например:
grub-mkfont -s 16 --range=0x0-0x7f -o /boot/grub/grubfont.pf2 font.tty
Сгенерирует шрифт только с ASCII-символами, все, что не имеет ваш шрифт, должно изящно распадаться на шрифт по умолчанию, поэтому поля и стрелки должны исходить по умолчанию. Пожалуйста, смотрите этот сайт для получения дополнительной информации:
http://grub.enbug.org/gfxterm
источник
IIRC Я столкнулся с тем, что вы описываете при использовании всех глифов:
(источник: xrmb2.net )
Может быть, это проблема
grub-mkfont
, может быть, это связано со шрифтом, я не знаю. :(Что сработало для меня:
gbdfed
для создания файла 'bdf' из шрифта консоли (например, '/usr/share/consolefonts/Lat15-VGA16.psf'): Файл> Импорт> Консольный шрифт, затем Файл> Сохранить как ...grub-mkfont
:grub-mkfont --output=out.pf2 --range=0x0-0x7f out.bdf
источник
Если вы запустите grub-mkfont с флагом -v, он покажет вам, сколько символов вы получили. Если вы получите больше тысячи, там должен быть пограничный персонаж. Ограничение диапазона только ухудшит ситуацию. Шрифт DejaVuSansMono правильно отображает все символы и содержит более 3000 символов в формате .pf2. Многие другие шрифты получают правильные стрелки, но не границу.
источник
использовать шрифт Unicode ... Это работало почти нормально (например, arialuni.ttf, показывает все символы по мере необходимости) .. Моя проблема с небольшим большим интервалом между символами ... и это происходит с каждым протестированным шрифтом.
источник
Вы можете заставить это отображаться правильно, загружая и шрифт по умолчанию и желаемый шрифт.
Затем установите шрифт на нужный шрифт.
Если символы для поля не найдены, стандартный загруженный шрифт также будет использоваться по умолчанию, и будут предоставлены необходимые символы.
источник
Я понимаю, что эта ветка древняя, но я читала ее сегодня и придумала еще один ответ, который еще не был предоставлен ... вот оно:
Если вы получаете нечетные символы в GRUB после изменения шрифтов, это потому, что эти символы не существуют в файле .ttf, который вы использовали для создания файла .pf2.
Символы, используемые для создания границы:
Другими обычно отсутствующими символами в файле .ttf являются стрелки, которые:
Вы можете использовать FontForge (программное обеспечение с открытым исходным кодом), чтобы скопировать и вставить эти символы из .ttf, который содержит символы, включенные в .ttf, который вы пытаетесь использовать, но этого не происходит. После создания нового .ttf с помощью FontForge вы можете использовать grub-mkfont для создания вашего файла .pf2, содержащего все соответствующие символы.
источник