2008-07-04 Robert Millan * 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}"