AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 11846
Accepted
LasseValentini
LasseValentini
Asked: 2010-11-07 15:58:09 +0800 CST2010-11-07 15:58:09 +0800 CST 2010-11-07 15:58:09 +0800 CST

更改默认 Grub 字体后没有方框字符

  • 772

我已经能够通过使用更改 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,并且我尝试使用 option 仅转换 ascii 字符--range=0x0-0x7f,但它们似乎都无法使其完美运行。我有一种感觉,这是因为我生成的字体比默认字体大,因此无法使用默认字形。

我会尝试看看是否可以使用较小的字体,尽管这是我想更改字体的原因之一。

grub2 fonts
  • 7 7 个回答
  • 27260 Views

7 个回答

  • Voted
  1. Martin Owens -doctormo-
    2010-11-09T00:56:50+08:002010-11-09T00:56:50+08:00

    基本上你想要做的是使用范围运算符来限制你的新 grub 字体包含的字符。如果您不使用范围运算符,那么您将从目标字体中获取所有字形,包括错误或不正确的框元素。

    例如:

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

    将生成仅包含 ASCII 字符的字体,您的字体没有的任何字体都应该优雅地衰减为默认字体,因此框和箭头应该来自默认字体。请参阅此网站以获取更多信息:

    http://web.archive.org/web/20100429235139/http://grub.enbug.org/gfxterm

    • 9
  2. Best Answer
    sladen
    2011-03-21T20:12:12+08:002011-03-21T20:12:12+08:00

    理论上 grub-mkfont允许传递多种字体。在这种情况下,如果您可以同时传递指向Unifont或其他覆盖范围更广的字体的链接。生成的 Grub 字体将结合两种输入字体的覆盖范围。

    注意:最近对 Grub 启动时字体加载器的性能改进意味着 Grub 字体文件中的字形必须按特定的升序排列,但不幸的是,该grub-mkfont实用程序并未同时进行更改!现在这是一个错误:

    • 错误 #729470 “grub-mkfont 输出 grub 无法使用的字体(字体字符不按升序排列:0 <= 0)”

    顺便说一句,如果您有兴趣,这个错误是因为在 Grub 启动菜单中调查使用Ubuntu Font Family开发中的Ubuntu Mono字体的实验发现的,并且遇到了与您刚刚遇到的完全相同的问题!

    • 8
  3. htorque
    2010-11-07T16:18:49+08:002010-11-07T16:18:49+08:00

    IIRC 我在使用所有字形时遇到了您所描述的内容:


    (来源:xrmb2.net)

    也许这是一个问题grub-mkfont,也许它与字体有关,我不知道。:(

    什么对我有用:

    1. 用于从控制台字体生成“ bdf gbdfed”文件(例如“/usr/share/consolefonts/Lat15-VGA16.psf”):文件>导入>控制台字体,然后文件>另存为...
    2. 仅转换 ASCII 字符grub-mkfont:

      grub-mkfont --output=out.pf2 --range=0x0-0x7f out.bdf
    • 5
  4. daithib8
    2011-06-03T11:34:31+08:002011-06-03T11:34:31+08:00

    如果您使用-v标志运行grub-mkfont ,它将显示您获得了多少字形。如果你得到一千多个,边框字符应该在那里。限制范围只会让事情变得更糟。DejaVuSansMono 字体正确显示所有字符,并且在 .pf2 中有超过 3000 个字形。许多其他字体的箭头是正确的,但不是边框。

    • 3
  5. sarathkcm
    2012-01-07T13:05:48+08:002012-01-07T13:05:48+08:00

    使用 unicode 字体.. 这几乎可以正常工作(例如 arialuni.ttf,根据需要显示所有字符).. 我的问题是字符间距稍大......我测试的每种字体都会发生这种情况。

    • 2
  6. mchid
    2016-07-03T01:56:31+08:002016-07-03T01:56:31+08:00

    您可以通过加载默认字体和所需字体来使其正确显示。

    然后,将字体设置为所需的字体。

    当找不到框的字符时,也加载的常规字体将作为默认字体,并提供所需的字符。

    • 1
  7. notorious.dds
    2019-04-08T19:30:19+08:002019-04-08T19:30:19+08:00

    我意识到这个线程很古老,但我今天正在阅读它并想出了另一个尚未提供的答案......所以这里是:

    如果您在更改字体后在 GRUB 中得到奇怪的字符,那是因为这些字符在您用于创建 .pf2 文件的 .ttf 文件中不存在。

    用于创建边框的字符是:

    • U+2501
    • U+2503
    • U+250F
    • U+2513
    • U+2517
    • U+251B

    .ttf 文件中其他常见的缺失字符是箭头,它们是:

    • U+2191
    • U+2193

    您可以使用 FontForge(开源软件)从 .ttf 复制和粘贴这些字符,其中包含的字符包含到您尝试使用的 .ttf 中,但没有。使用 FontForge 生成新的 .ttf 后,您可以使用 grub-mkfont 创建包含所有适当字符的 .pf2 文件。

    • 0

相关问题

  • 与 Grub 相比,使用 Grub2 有什么好处?

  • 如果旧版 grub 安装在引导分区扇区而不是 MBR 中,如何将 grub 更新为 grub2?

  • 升级到 10.04 后字体模糊,Nvidia 问题?

  • 如何解决 Firefox 中的字体问题?

  • 如何在 Ubuntu 启动时显示或隐藏启动消息?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve