94 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| #!/sbin/runscript
 | |
| # Copyright 1999-2007 Gentoo Foundation
 | |
| # Distributed under the terms of the GNU General Public License v2
 | |
| 
 | |
| depend() {
 | |
| 	need localmount
 | |
| 	need keymaps    # sets up terminal encoding scheme
 | |
| 	after hotplug
 | |
| }
 | |
| 
 | |
| start() {
 | |
| 	# Forget about any font until we are successful
 | |
| 	rm -rf "${RC_LIBDIR}"/console
 | |
| 
 | |
| 	case "${RC_SYS}" in
 | |
| 		UML|VPS|XEN) return 0 ;;
 | |
| 	esac
 | |
| 
 | |
| 	if [ -z "${CONSOLEFONT}" ] ; then
 | |
| 		ebegin $"Using the default console font"
 | |
| 		eend 0
 | |
| 		return 0
 | |
| 	fi
 | |
| 
 | |
| 	local x= param= sf_param= retval=1
 | |
| 
 | |
| 	# 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
 | |
| 	local errmsg=
 | |
| 	ebegin "Setting user font"
 | |
| 	if [ -x /bin/setfont ] ; then
 | |
| 		# We patched setfont to have --tty support ...
 | |
| 		if [ -n "$(setfont --help 2>&1 | grep -e '--tty')" ] || \
 | |
| 			[ -n "$(setfont --help 2>&1 | grep -e '-C')" ]
 | |
| 		then
 | |
| 			if [ -n "$(setfont --help 2>&1 | grep -e '--tty')" ] ; then
 | |
| 				sf_param="--tty="
 | |
| 			else
 | |
| 				sf_param="-C "
 | |
| 			fi
 | |
| 			local ttydev=
 | |
| 			[ -d /dev/vc ] \
 | |
| 				&& ttydev=/dev/vc/ \
 | |
| 				|| ttydev=/dev/tty
 | |
| 
 | |
| 			x=1
 | |
| 			while [ ${x} -le "${RC_TTY_NUMBER}" ] ; do
 | |
| 				/bin/setfont ${CONSOLEFONT} ${param} \
 | |
| 					${sf_param}/${ttydev}${x} > /dev/null
 | |
| 				retval=$?
 | |
| 				x=$((${x} + 1))
 | |
| 			done
 | |
| 		else
 | |
| 			/bin/setfont ${CONSOLEFONT} ${param} > /dev/null
 | |
| 			retval=$?
 | |
| 		fi
 | |
| 		errmsg="Failed to set user font"
 | |
| 	else
 | |
| 		retval=1
 | |
| 		errmsg="/bin/setfont not found"
 | |
| 	fi
 | |
| 	eend ${retval} "${errmsg}"
 | |
| 
 | |
| 	# Store the last font so we can use it ASAP on boot
 | |
| 	if [ ${retval} -eq 0 -a -w "${RC_LIBDIR}" ] ; then
 | |
| 		mkdir -p "${RC_LIBDIR}"/console
 | |
| 
 | |
| 		# Pipe errors to null as maps may not be in use
 | |
| 		/bin/setfont -o "${RC_LIBDIR}"/console/font 2>/dev/null \
 | |
| 			|| rm -f "${RC_LIBDIR}"/console/font
 | |
| 		/bin/setfont -om "${RC_LIBDIR}"/console/map 2>/dev/null \
 | |
| 			|| rm -f "${RC_LIBDIR}"/console/map
 | |
| 		/bin/setfont -ou "${RC_LIBDIR}"/console/unimap 2>/dev/null \
 | |
| 			|| rm -f "${RC_LIBDIR}"/console/unimap
 | |
| 
 | |
| 		if [ "${UNICODE}" = "yes" ] ; then
 | |
| 			touch "${RC_LIBDIR}"/console/unicode
 | |
| 		else
 | |
| 			rm -f "${RC_LIBDIR}"/console/unicode
 | |
| 		fi
 | |
| 	fi
 | |
| 
 | |
| 	return ${retval}
 | |
| }
 | |
| 
 | |
| # vim: set ts=4 :
 |