This makes update-grub avoid expensive load of complete font files
and instead rely on ascii.pff when it is available. In qemu, it brings
startup time roughly from 25s to 1s.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
2008-07-04 Robert Millan <[EMAIL PROTECTED]>
* Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
define the codes for arrows and lines used for the menu).
(ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
as well.
* util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
fonts, because the latter are too slow.
Index: Makefile.in
===================================================================
--- Makefile.in (revision 1691)
+++ Makefile.in (working copy)
@@ -142,11 +142,16 @@
ifeq (, $(UNIFONT_HEX))
else
pkgdata_DATA += unicode.pff ascii.pff
+
+# Arrows and lines are needed to draw the menu, so we always include them
+UNICODE_ARROWS=0x2190-0x2193
+UNICODE_LINES=0x2501-0x251B
+
unicode.pff: $(UNIFONT_HEX)
ruby $(srcdir)/util/unifont2pff.rb $(UNIFONT_HEX) > $@
ascii.pff: $(UNIFONT_HEX)
- ruby $(srcdir)/util/unifont2pff.rb 0-127 $(UNIFONT_HEX) > $@
+ ruby $(srcdir)/util/unifont2pff.rb 0x0-0x7f $(UNICODE_ARROWS) $(UNICODE_LINES) $(UNIFONT_HEX) > $@
endif
all-local: $(PROGRAMS) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(MKFILES)
Index: util/update-grub_lib.in
===================================================================
--- util/update-grub_lib.in (revision 1691)
+++ util/update-grub_lib.in (working copy)
@@ -131,8 +131,9 @@
font_path ()
{
for dir in ${pkgdatadir} /boot/grub /usr/share/grub ; do
- # Prefer complete fonts over incomplete ones.
- for basename in unicode unifont ascii ; do
+ # FIXME: We prefer ascii because loading complete fonts is too slow (and
+ # we don't yet provide the gettext magic that would make unicode useful).
+ for basename in ascii unicode unifont ; do
path="${dir}/${basename}.pff"
if is_path_readable_by_grub ${path} > /dev/null ; then
echo "${path}"
_______________________________________________
Grub-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel