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>
26 loadfont_command (grub_command_t cmd
__attribute__ ((unused
)),
31 return grub_error (GRUB_ERR_BAD_ARGUMENT
, "no font specified");
34 if (grub_font_load (*args
++) != 0)
35 return GRUB_ERR_BAD_FONT
;
41 lsfonts_command (grub_command_t cmd
__attribute__ ((unused
)),
42 int argc
__attribute__ ((unused
)),
43 char **args
__attribute__ ((unused
)))
45 struct grub_font_node
*node
;
47 grub_printf ("Loaded fonts:\n");
48 for (node
= grub_font_list
; node
; node
= node
->next
)
50 grub_font_t font
= node
->value
;
51 grub_printf ("%s\n", grub_font_get_name (font
));
57 static grub_command_t cmd_loadfont
, cmd_lsfonts
;
59 GRUB_MOD_INIT(font_manager
)
61 grub_font_loader_init ();
64 grub_register_command ("loadfont", loadfont_command
,
66 "Specify one or more font files to load.");
68 grub_register_command ("lsfonts", lsfonts_command
,
69 0, "List the loaded fonts.");
72 GRUB_MOD_FINI(font_manager
)
74 /* TODO: Determine way to free allocated resources.
75 Warning: possible pointer references could be in use. */
77 grub_unregister_command (cmd_loadfont
);
78 grub_unregister_command (cmd_lsfonts
);