После изменения шрифта Grub по умолчанию нет символов в ящике

Я смог изменить шрифт по умолчанию Grub, используя

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

, а затем добавив следующую строку в / etc / default / grub:

GRUB_FONT=/boot/grub/grubfont.pf2

И, конечно,

sudo update-grub

И появился новый шрифт и все (не забудьте выбрать моноширинный шрифт). Но символы «box» (вокруг записей) никогда не отображаются правильно. Думаю, у большинства шрифтов просто нет этого набора символов. Есть ли способ добавить эти символы? Может быть, даже скопировать их из шрифта unicode.pf2 по умолчанию?

Обновление:

Я пробовал много разных вещей, таких как преобразование из ttf в bdf, а затем pf2, и я попытался преобразовать только символы ascii с опцией --range=0x0-0x7f, но ни один из них, похоже, не сработал. Я чувствую, что это потому, что я создаю более крупный шрифт, чем по умолчанию, поэтому глифы по умолчанию поэтому не могут быть использованы.

Я попытаюсь посмотреть, смогу ли я заставить его работать с меньшим размером шрифта, хотя это была одна из причин, по которой я хотел изменить шрифт.

1
задан 24 October 2015 в 20:39

5 ответов

В основном, что вы хотите сделать, это использовать оператор диапазона, чтобы ограничить символы, содержащиеся в вашем новом шрифте grub. Если вы не используете оператор диапазона, вы получите все глифы, включая ошибочные или неправильные элементы окна, из вашего целевого шрифта.

Например:

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

Генерирует шрифт только с символами ASCII, все, что не имеет вашего шрифта, должно грациозно распадаться на шрифт по умолчанию, поэтому поля и стрелки должны появляться по умолчанию. Дополнительную информацию см. На этом веб-сайте:

http://grub.enbug.org/gfxterm

9
ответ дан 26 May 2018 в 00:33
  • 1
    Это имело бы смысл, но у меня все еще есть странные глифы, может быть, потому, что шрифт unicode не загружен вообще? Я попробую установить шрифт по умолчанию, и повторите попытку. – LasseValentini 11 November 2010 в 06:08
  • 2
    Возможно, сначала вы должны сначала загрузить шрифт консоли, а затем загрузить только шрифт ttf ascii. – Martin Owens -doctormo- 12 November 2010 в 01:04
  • 3
    Вы пытались загрузить несколько шрифтов? шрифт unicode /usr/share/grub/unicode.pf2 должен содержать нужные вам символы и стрелки. Вы должны иметь возможность загружать шрифты, используя loadfont один за другим, пока не получите желаемый эффект. – Martin Owens -doctormo- 12 November 2010 в 09:17

IIRC Я столкнулся с тем, что вы описываете при использовании всех глифов:

Возможно, это проблема с grub-mkfont, возможно, это связано с шрифтом, Знаю. : (

Что сработало для меня:

Используя gbdfed для создания файла «bdf» из шрифта консоли (например, «/ usr / share / consolefonts / Lat15-VGA16 .psf '): Файл> Импорт> Консольный шрифт, затем Файл> Сохранить как ... Преобразование только символов ASCII с помощью grub-mkfont: grub-mkfont --output=out.pf2 --range=0x0-0x7f out.bdf
5
ответ дан 26 May 2018 в 00:33
  • 1
    Похоже, что моя основная проблема заключается в том, что я хочу использовать шрифт OpenType (ttf), а не шрифт, предназначенный для консолей. Я пробовал это с помощью файла ttf, но это не помогло в этой конкретной проблеме. Большое спасибо за решение подобной проблемы, хотя :). – LasseValentini 7 November 2010 в 05:12

Если вы запустите grub-mkfont с флагом -v, он покажет вам, сколько глифов вы получите. Если вы получите более тысячи, пограничный характер должен быть там. Ограничение диапазона только ухудшит ситуацию. Шрифт DejaVuSansMono отображает все символы правильно и имеет более 3000 глифов в .pf2. Многие другие шрифты имеют правильные стрелки, но не границу.

3
ответ дан 26 May 2018 в 00:33

используйте шрифт unicode .. Это работало почти нормально (например, arialuni.ttf, показывает все символы по мере необходимости). Моя проблема связана с небольшим большим интервалом между символами ... и это происходит с каждым тестируемым шрифтом.

2
ответ дан 26 May 2018 в 00:33

Вы можете получить это, чтобы отобразить правильно, загрузив шрифт по умолчанию и нужный шрифт.

Затем установите шрифт на нужный шрифт.

Когда символы для поле не будет найдено, обычный шрифт, который также будет загружен, будет действовать по умолчанию, и будут добавлены необходимые символы.

1
ответ дан 26 May 2018 в 00:33

Другие вопросы по тегам:

Похожие вопросы: