[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