#!@PREFIX@/sbin/runscript # Copyright (c) 2007-2009 Roy Marples # All rights reserved. Released under the 2-clause BSD license. description="Sets a font for the consoles." depend() { need localmount termencoding after hotplug bootmisc keyword -openvz -prefix -uml -vserver -xenu -lxc } start() { ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} consolefont=${consolefont:-${CONSOLEFONT}} unicodemap=${unicodemap:-${UNICODEMAP}} consoletranslation=${consoletranslation:-${CONSOLETRANSLATION}} if [ -z "$consolefont" ]; then ebegin "Using the default console font" eend 0 return 0 fi if [ "$ttyn" = 0 ]; then ebegin "Skipping font setup (rc_tty_number == 0)" eend 0 return 0 fi local x= param= sf_param= retval=0 ttydev=/dev/tty # Get additional parameters if [ -n "$consoletranslation" ]; then param="$param -m $consoletranslation" fi if [ -n "${unicodemap}" ]; then param="$param -u $unicodemap" fi # Set the console font ebegin "Setting console font [$consolefont]" [ -d /dev/vc ] && ttydev=/dev/vc/ x=1 while [ $x -le $ttyn ]; do if ! setfont $consolefont $param -C $ttydev$x >/dev/null; then retval=1 break fi x=$(($x + 1)) done eend $retval # Store the last font so we can use it ASAP on boot if [ $retval -eq 0 -a -w "$RC_LIBEXECDIR" ]; then mkdir -p "$RC_LIBEXECDIR"/console for font in /usr/share/consolefonts/"$consolefont".*; do : done cp "$font" "$RC_LIBEXECDIR"/console echo "${font##*/}" >"$RC_LIBEXECDIR"/console/font if yesno ${unicode:-${UNICODE}}; then echo "" > "$RC_LIBEXECDIR"/console/unicode else rm -f "$RC_LIBEXECDIR"/console/unicode fi fi return $retval }