2009-08-06 Felix Zielcke * util/grub-mkconfig_lib.in (font_path): Move the functionality of it to ... * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used. Index: util/grub-mkconfig.in =================================================================== --- util/grub-mkconfig.in (revision 2469) +++ util/grub-mkconfig.in (working copy) @@ -24,6 +24,8 @@ address@hidden@ address@hidden@ address@hidden@ address@hidden@ address@hidden@ +pkgdatadir=${datadir}/`echo @PACKAGE_TARNAME@ | sed "${transform}"` grub_prefix=`echo /boot/grub | sed ${transform}` grub_cfg="" grub_mkconfig_dir=${sysconfdir}/grub.d @@ -151,22 +153,30 @@ esac # check for terminals that require fonts case ${GRUB_TERMINAL_OUTPUT} in gfxterm) - if path=`font_path` ; then - GRUB_FONT_PATH="${path}" - else - # fallback to the native terminal for this platform - unset GRUB_TERMINAL_OUTPUT + for dir in ${pkgdatadir} /boot/grub /usr/share/grub ; do + for basename in unicode unifont ascii; do + path="${dir}/${basename}.pf2" + if is_path_readable_by_grub ${path} > /dev/null ; then + GRUB_FONT_PATH=${path} + else + continue + fi + if [ "${basename}" = "ascii"] ; then + # make sure all our children behave in conformance with ascii.. + export LANG=C + fi + break 2 + done + done + if [ -z "${GRUB_FONT_PATH}" ] ; then + # fallback to the native terminal for this platform + unset GRUB_TERMINAL_OUTPUT + fi fi ;; -esac - -# does our terminal support utf-8 ? -case ${GRUB_TERMINAL_OUTPUT} in - gfxterm) ;; *) # make sure all our children behave in conformance with ascii.. export LANG=C - ;; esac # These are defined in this script, export them here so that user can Index: util/grub-mkconfig_lib.in =================================================================== --- util/grub-mkconfig_lib.in (revision 2470) +++ util/grub-mkconfig_lib.in (working copy) @@ -148,23 +148,6 @@ prepare_grub_to_access_device () fi } -font_path () -{ - for dir in ${pkgdatadir} /boot/grub /usr/share/grub ; 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}.pf2" - if is_path_readable_by_grub ${path} > /dev/null ; then - echo "${path}" - return 0 - fi - done - done - - return 1 -} - grub_file_is_not_garbage () { if test -f "$1" ; then