[systemd-devel] [PATCH] vconsole: default to the kernel compiled-in font

Tom Gundersen teg at jklm.no
Fri Sep 21 05:30:34 PDT 2012


No longer override the default kernel font if nothing is specified in
vconsole.conf.

The default kernel font[0] provides ISO-8859-1 and box characters. Users
of Arabic, Cyrilic or Hebrew must set a different font manually as these
character sets were provided by the old default font [1], but are not
any longer.

Rationale:

 * it is counter-intuitive that an empty vconsole.conf file is different
   from adding FONT="";
 * the version of the default font shipped with Arch (which is the
   upstream one) behaves very badly during early boot[2] (which should
   admittedly be fixed in the font itself);
 * the kernel already supplies a default font, it seems reasonable to
   use that unless anything else is specified;
 * This also avoids a needless slow call to setfont; and
 * We don't want to work around problems in the kernel (in case the
   compiled-in font is not acceptable for whatever reason).

[0]: <https://dev.archlinux.org/~tomegun/kernel.bdf>
[1]: <https://dev.archlinux.org/~tomegun/latarcyrheb.bdf>
[2]: <http://i.imgur.com/J2tM4.jpg>
---
 Makefile.am                   | 19 ++++++-------------
 man/vconsole.conf.xml         |  4 +---
 src/vconsole/vconsole-setup.c |  5 ++---
 3 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 5da132c..717e325 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -160,43 +160,36 @@ AM_LDFLAGS = $(OUR_LDFLAGS)
 if TARGET_GENTOO
 AM_CPPFLAGS += \
 	-DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-	-DKBD_SETFONT=\"/usr/bin/setfont\" \
-	-DDEFAULT_FONT=\"LatArCyrHeb-16\"
+	-DKBD_SETFONT=\"/usr/bin/setfont\"
 else
 if TARGET_ARCH
 AM_CPPFLAGS += \
 	-DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-	-DKBD_SETFONT=\"/usr/bin/setfont\" \
-	-DDEFAULT_FONT=\"LatArCyrHeb-16\"
+	-DKBD_SETFONT=\"/usr/bin/setfont\"
 else
 if TARGET_FRUGALWARE
 AM_CPPFLAGS += \
 	-DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-	-DKBD_SETFONT=\"/usr/bin/setfont\" \
-	-DDEFAULT_FONT=\"LatArCyrHeb-16\"
+	-DKBD_SETFONT=\"/usr/bin/setfont\"
 else
 if TARGET_MANDRIVA
 AM_CPPFLAGS += \
 	-DKBD_LOADKEYS=\"/bin/loadkeys\" \
-	-DKBD_SETFONT=\"/bin/setfont\" \
-	-DDEFAULT_FONT=\"LatArCyrHeb-16\"
+	-DKBD_SETFONT=\"/bin/setfont\"
 else
 if TARGET_ANGSTROM
 AM_CPPFLAGS += \
 	-DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-	-DKBD_SETFONT=\"/usr/bin/setfont\" \
-	-DDEFAULT_FONT=\"LatArCyrHeb-16\"
+	-DKBD_SETFONT=\"/usr/bin/setfont\"
 else
 if TARGET_MAGEIA
 AM_CPPFLAGS += \
 	-DKBD_LOADKEYS=\"/bin/loadkeys\" \
-	-DKBD_SETFONT=\"/bin/setfont\" \
-	-DDEFAULT_FONT=\"LatArCyrHeb-16\"
+	-DKBD_SETFONT=\"/bin/setfont\"
 else
 AM_CPPFLAGS += \
 	-DKBD_LOADKEYS=\"/bin/loadkeys\" \
 	-DKBD_SETFONT=\"/bin/setfont\" \
-	-DDEFAULT_FONT=\"latarcyrheb-sun16\"
 endif
 endif
 endif
diff --git a/man/vconsole.conf.xml b/man/vconsole.conf.xml
index e23a980..258c82b 100644
--- a/man/vconsole.conf.xml
+++ b/man/vconsole.conf.xml
@@ -112,9 +112,7 @@
 
                                 <listitem><para>Configures the console
                                 font, the console map and the unicode
-                                font map. <varname>FONT=</varname>
-                                defaults to
-                                <literal>latarcyrheb-sun16</literal>.</para></listitem>
+                                font map.</para></listitem>
                         </varlistentry>
 
                 </variablelist>
diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
index 62d9c8d..1227b04 100644
--- a/src/vconsole/vconsole-setup.c
+++ b/src/vconsole/vconsole-setup.c
@@ -215,10 +215,9 @@ int main(int argc, char **argv) {
         utf8 = is_locale_utf8();
 
         vc_keymap = strdup("us");
-        vc_font = strdup(DEFAULT_FONT);
 
-        if (!vc_keymap || !vc_font) {
-                log_error("Failed to allocate strings.");
+        if (!vc_keymap) {
+                log_error("Failed to allocate string.");
                 goto finish;
         }
 
-- 
1.7.12.1



More information about the systemd-devel mailing list