1 /* font_cmd.c - Font command definition. */
3 * GRUB -- GRand Unified Bootloader
4 * Copyright (C) 2003,2005,2006,2007,2008,2009 Free Software Foundation, Inc.
6 * GRUB is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * GRUB is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
20 #include <grub/font.h>
22 #include <grub/misc.h>
23 #include <grub/command.h>
24 #include <grub/i18n.h>
27 loadfont_command (grub_command_t cmd
__attribute__ ((unused
)),
32 return grub_error (GRUB_ERR_BAD_ARGUMENT
, N_("filename expected"));
35 if (grub_font_load (*args
++) == 0)
38 return grub_error (GRUB_ERR_BAD_FONT
, "invalid font");
46 lsfonts_command (grub_command_t cmd
__attribute__ ((unused
)),
47 int argc
__attribute__ ((unused
)),
48 char **args
__attribute__ ((unused
)))
50 struct grub_font_node
*node
;
52 grub_puts_ (N_("Loaded fonts:"));
53 for (node
= grub_font_list
; node
; node
= node
->next
)
55 grub_font_t font
= node
->value
;
56 grub_printf ("%s\n", grub_font_get_name (font
));
62 static grub_command_t cmd_loadfont
, cmd_lsfonts
;
64 #if defined (GRUB_MACHINE_MIPS_LOONGSON) || defined (GRUB_MACHINE_COREBOOT)
65 void grub_font_init (void)
70 grub_font_loader_init ();
73 grub_register_command ("loadfont", loadfont_command
,
75 N_("Specify one or more font files to load."));
77 grub_register_command ("lsfonts", lsfonts_command
,
78 0, N_("List the loaded fonts."));
81 #if defined (GRUB_MACHINE_MIPS_LOONGSON) || defined (GRUB_MACHINE_COREBOOT)
82 void grub_font_fini (void)
87 /* TODO: Determine way to free allocated resources.
88 Warning: possible pointer references could be in use. */
90 grub_unregister_command (cmd_loadfont
);
91 grub_unregister_command (cmd_lsfonts
);