[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] avoid expensive load of all fonts
From: |
Robert Millan |
Subject: |
Re: [PATCH] avoid expensive load of all fonts |
Date: |
Wed, 23 Jul 2008 00:23:11 +0200 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
Committed.
On Fri, Jul 04, 2008 at 03:55:01PM +0200, Robert Millan wrote:
>
> 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 <address@hidden>
>
> * 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
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel
--
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 /.)