summaryrefslogtreecommitdiff
path: root/source/a/kbd/setconsolefont
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/kbd/setconsolefont')
-rw-r--r--source/a/kbd/setconsolefont384
1 files changed, 384 insertions, 0 deletions
diff --git a/source/a/kbd/setconsolefont b/source/a/kbd/setconsolefont
new file mode 100644
index 00000000..d4cfb875
--- /dev/null
+++ b/source/a/kbd/setconsolefont
@@ -0,0 +1,384 @@
+#!/bin/sh
+
+# 06-May-2009
+# Updated by Stuart Winter <mozes@slackware.com>
+# Run 'setfont' in a chroot. This makes setfont work
+# correctly in the installer.
+
+if [ "$TMP" = "" ]; then
+ TMP=/var/log/setup/tmp
+fi
+
+load_font() {
+ if [ ! -z "$T_PX" ]; then
+ CHROOT="chroot $T_PX"
+ fi
+
+ $CHROOT setfont $*
+ if [ ! $? = 0 ]; then
+ if [ -r $T_PX/usr/share/kbd/consolefonts/$1 ]; then
+ $CHROOT setfont $T_PX/usr/share/kbd/consolefonts/$* 1> /dev/null 2> /dev/null
+ elif [ -r $T_PX/usr/lib/kbd/consolefonts/$1 ]; then
+ $CHROOT setfont $T_PX/usr/lib/kbd/consolefonts/$* 1> /dev/null 2> /dev/null
+ elif [ -r /var/adm/mount/live/usr/lib/kbd/consolefonts/$1 ]; then
+ $CHROOT setfont /var/adm/mount/live/usr/lib/kbd/consolefonts/$* 1> /dev/null 2> /dev/null
+ else # load default font
+ $CHROOT setfont
+ fi
+ fi
+}
+
+# Determine effective root path:
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$1" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+
+if [ ! "$COLOR" = "off" -o -r $TMP/SeTcolor -o -r /tmp/SeTcolor ]; then # use color menus
+ if [ ! "$1" = "" ]; then
+ dialog --title "CONSOLE FONT CONFIGURATION" --defaultno --yesno "Would you like to try \
+out some custom screen fonts?" 5 60
+ if [ $? = 1 ]; then
+ exit
+ fi
+ fi
+ REPLY=`mktemp -q $TMP/temp.XXXXXX`
+ FONT="161.cp.gz -16"
+ while [ 0 ]; do
+ dialog --default-item "$FONT" --title "SELECT A SCREEN FONT" --menu "Select one of the following \
+custom fonts. If you decide you like it, you can make it your new default \
+screen font. You'll be able to try as many of these as you like." 21 65 12 \
+"161.cp.gz -16" "" \
+"162.cp.gz -16" "" \
+"163.cp.gz -16" "" \
+"164.cp.gz -16" "" \
+"165.cp.gz -16" "" \
+"737.cp.gz -16" "" \
+"880.cp.gz -16" "" \
+"928.cp.gz -16" "" \
+"972.cp.gz -16" "" \
+"Agafari-12.psfu.gz" "" \
+"Agafari-14.psfu.gz" "" \
+"Agafari-16.psfu.gz" "" \
+"Cyr_a8x14.psfu.gz" "" \
+"Cyr_a8x16.psfu.gz" "" \
+"Cyr_a8x8.psfu.gz" "" \
+"Goha-12.psfu.gz" "" \
+"Goha-14.psfu.gz" "" \
+"Goha-16.psfu.gz" "" \
+"GohaClassic-12.psfu.gz" "" \
+"GohaClassic-14.psfu.gz" "" \
+"GohaClassic-16.psfu.gz" "" \
+"Lat2-Terminus16.psfu.gz" "" \
+"LatArCyrHeb-08.psfu.gz" "" \
+"LatArCyrHeb-14.psfu.gz" "" \
+"LatArCyrHeb-16+.psfu.gz" "" \
+"LatArCyrHeb-16.psfu.gz" "" \
+"LatArCyrHeb-19.psfu.gz" "" \
+"Mik_8x16.gz" "" \
+"UniCyrExt_8x16.psf.gz" "" \
+"UniCyr_8x14.psf.gz" "" \
+"UniCyr_8x16.psf.gz" "" \
+"UniCyr_8x8.psf.gz" "" \
+"alt-8x14.gz" "" \
+"alt-8x16.gz" "" \
+"alt-8x8.gz" "" \
+"altc-8x16.gz" "" \
+"aply16.psf.gz" "" \
+"arm8.fnt.gz" "" \
+"b.fnt.gz" "" \
+"c.fnt.gz" "" \
+"cp1250.psfu.gz" "" \
+"cp850-8x14.psfu.gz" "" \
+"cp850-8x16.psfu.gz" "" \
+"cp850-8x8.psfu.gz" "" \
+"cp857.08.gz" "" \
+"cp857.14.gz" "" \
+"cp857.16.gz" "" \
+"cp865-8x14.psfu.gz" "" \
+"cp865-8x16.psfu.gz" "" \
+"cp865-8x8.psfu.gz" "" \
+"cp866-8x14.psf.gz" "" \
+"cp866-8x16.psf.gz" "" \
+"cp866-8x8.psf.gz" "" \
+"cybercafe.fnt.gz" "" \
+"cyr-sun16.psfu.gz" "" \
+"default8x16.psfu.gz" "" \
+"default8x9.psfu.gz" "" \
+"drdos8x14.psfu.gz" "" \
+"drdos8x16.psfu.gz" "" \
+"drdos8x6.psfu.gz" "" \
+"drdos8x8.psfu.gz" "" \
+"gr737a-8x8.psfu.gz" "" \
+"gr737a-9x14.psfu.gz" "" \
+"gr737a-9x16.psfu.gz" "" \
+"gr737b-8x11.psfu.gz" "" \
+"gr737b-9x16-medieval.psfu.gz" "" \
+"gr737c-8x14.psfu.gz" "" \
+"gr737c-8x16.psfu.gz" "" \
+"gr737c-8x6.psfu.gz" "" \
+"gr737c-8x7.psfu.gz" "" \
+"gr737c-8x8.psfu.gz" "" \
+"gr737d-8x16.psfu.gz" "" \
+"gr928-8x16-thin.psfu.gz" "" \
+"gr928-9x14.psfu.gz" "" \
+"gr928-9x16.psfu.gz" "" \
+"gr928a-8x14.psfu.gz" "" \
+"gr928a-8x16.psfu.gz" "" \
+"gr928b-8x14.psfu.gz" "" \
+"gr928b-8x16.psfu.gz" "" \
+"greek-polytonic.psfu.gz" "" \
+"iso01-12x22.psfu.gz" "" \
+"iso01.08.gz" "" \
+"iso01.14.gz" "" \
+"iso01.16.gz" "" \
+"iso02-12x22.psfu.gz" "" \
+"iso02.08.gz" "" \
+"iso02.14.gz" "" \
+"iso02.16.gz" "" \
+"iso03.08.gz" "" \
+"iso03.14.gz" "" \
+"iso03.16.gz" "" \
+"iso04.08.gz" "" \
+"iso04.14.gz" "" \
+"iso04.16.gz" "" \
+"iso05.08.gz" "" \
+"iso05.14.gz" "" \
+"iso05.16.gz" "" \
+"iso06.08.gz" "" \
+"iso06.14.gz" "" \
+"iso06.16.gz" "" \
+"iso07.14.gz" "" \
+"iso07.16.gz" "" \
+"iso07u-16.psfu.gz" "" \
+"iso08.08.gz" "" \
+"iso08.14.gz" "" \
+"iso08.16.gz" "" \
+"iso09.08.gz" "" \
+"iso09.14.gz" "" \
+"iso09.16.gz" "" \
+"iso10.08.gz" "" \
+"iso10.14.gz" "" \
+"iso10.16.gz" "" \
+"koi8-14.psf.gz" "" \
+"koi8c-8x16.gz" "" \
+"koi8r-8x14.gz" "" \
+"koi8r-8x16.gz" "" \
+"koi8r-8x8.gz" "" \
+"koi8r.8x8.psfu.gz" "" \
+"koi8u_8x14.psfu.gz" "" \
+"koi8u_8x16.psfu.gz" "" \
+"koi8u_8x8.psfu.gz" "" \
+"lat0-08.psfu.gz" "" \
+"lat0-10.psfu.gz" "" \
+"lat0-12.psfu.gz" "" \
+"lat0-14.psfu.gz" "" \
+"lat0-16.psfu.gz" "" \
+"lat1-08.psfu.gz" "" \
+"lat1-10.psfu.gz" "" \
+"lat1-12.psfu.gz" "" \
+"lat1-14.psfu.gz" "" \
+"lat1-16.psfu.gz" "" \
+"lat2-08.psfu.gz" "" \
+"lat2-10.psfu.gz" "" \
+"lat2-12.psfu.gz" "" \
+"lat2-14.psfu.gz" "" \
+"lat2-16.psfu.gz" "" \
+"lat2a-16.psfu.gz" "" \
+"lat4-08.psfu.gz" "" \
+"lat4-10.psfu.gz" "" \
+"lat4-12.psfu.gz" "" \
+"lat4-14.psfu.gz" "" \
+"lat4-16+.psfu.gz" "" \
+"lat4-16.psfu.gz" "" \
+"lat4-19.psfu.gz" "" \
+"lat4a-08.psfu.gz" "" \
+"lat4a-10.psfu.gz" "" \
+"lat4a-12.psfu.gz" "" \
+"lat4a-14.psfu.gz" "" \
+"lat4a-16+.psfu.gz" "" \
+"lat4a-16.psfu.gz" "" \
+"lat4a-19.psfu.gz" "" \
+"lat5-12.psfu.gz" "" \
+"lat5-14.psfu.gz" "" \
+"lat5-16.psfu.gz" "" \
+"lat7-14.psfu.gz" "" \
+"lat7a-14.psfu.gz" "" \
+"lat7a-16.psf.gz" "" \
+"lat9-08.psf.gz" "" \
+"lat9-10.psf.gz" "" \
+"lat9-12.psf.gz" "" \
+"lat9-14.psf.gz" "" \
+"lat9-16.psf.gz" "" \
+"lat9u-08.psfu.gz" "" \
+"lat9u-10.psfu.gz" "" \
+"lat9u-12.psfu.gz" "" \
+"lat9u-14.psfu.gz" "" \
+"lat9u-16.psfu.gz" "" \
+"lat9v-08.psfu.gz" "" \
+"lat9v-10.psfu.gz" "" \
+"lat9v-12.psfu.gz" "" \
+"lat9v-14.psfu.gz" "" \
+"lat9v-16.psfu.gz" "" \
+"lat9w-08.psfu.gz" "" \
+"lat9w-10.psfu.gz" "" \
+"lat9w-12.psfu.gz" "" \
+"lat9w-14.psfu.gz" "" \
+"lat9w-16.psfu.gz" "" \
+"m.fnt.gz" "" \
+"ml.fnt.gz" "" \
+"mod_d.fnt.gz" "" \
+"mod_s.fnt.gz" "" \
+"mr.fnt.gz" "" \
+"mu.fnt.gz" "" \
+"r.fnt.gz" "" \
+"rl.fnt.gz" "" \
+"ro.fnt.gz" "" \
+"ruscii_8x16.psfu.gz" "" \
+"ruscii_8x8.psfu.gz" "" \
+"s.fnt.gz" "" \
+"sc.fnt.gz" "" \
+"scrawl_s.fnt.gz" "" \
+"scrawl_w.fnt.gz" "" \
+"sd.fnt.gz" "" \
+"sun12x22.psfu.gz" "" \
+"t.fnt.gz" "" \
+"t850b.fnt.gz" "" \
+"tcvn8x16.psf.gz" "" \
+"viscii10-8x16.psfu.gz" "" \
+2> $REPLY
+ if [ ! $? = 0 ]; then
+ load_font
+ exit
+ fi
+ FONT=`cat $REPLY`
+ rm -f $REPLY
+ load_font $FONT
+ dialog --title "SET AS DEFAULT FONT" --yesno "Well, what do you think? \
+If you'd like to make this your default font, select YES. You can change \
+the default font any time by typing 'setconsolefont' or by editing \
+/etc/rc.d/rc.font. If you don't \
+like this font, select NO, and you'll be returned to the font selection \
+menu. If you decide you want to stick with the default font, hit ESC or \
+CANCEL once you get to that menu." 11 60
+ if [ $? = 0 ]; then
+ cat << EOF > $T_PX/etc/rc.d/rc.font
+#!/bin/sh
+#
+# This selects your default screen font from among the ones in
+# /usr/share/kbd/consolefonts.
+#
+setfont -v $FONT
+EOF
+ chmod 755 $T_PX/etc/rc.d/rc.font
+ exit
+ else
+ load_font
+ fi
+ done
+else # no color!
+ echo
+ echo -n "Would you like to try out some custom screen fonts ([y]es, [n]o)? "
+ read YESNO;
+ if [ "$YESNO" = "n" ]; then
+ exit
+ fi
+ while [ 0 ]; do
+ cat << EOF
+
+SELECT A SCREEN FONT. Your choices are:
+161.cp.gz 162.cp.gz 163.cp.gz 164.cp.gz 165.cp.gz 737.cp.gz 880.cp.gz 928.cp.gz
+972.cp.gz Agafari-12.psfu.gz Agafari-14.psfu.gz Agafari-16.psfu.gz
+Cyr_a8x14.psfu.gz Cyr_a8x16.psfu.gz Cyr_a8x8.psfu.gz Goha-12.psfu.gz
+Goha-14.psfu.gz Goha-16.psfu.gz GohaClassic-12.psfu.gz GohaClassic-14.psfu.gz
+GohaClassic-16.psfu.gz Lat2-Terminus16.psfu.gz LatArCyrHeb-08.psfu.gz
+LatArCyrHeb-14.psfu.gz LatArCyrHeb-16+.psfu.gz LatArCyrHeb-16.psfu.gz
+LatArCyrHeb-19.psfu.gz Mik_8x16.gz UniCyrExt_8x16.psf.gz UniCyr_8x14.psf.gz
+UniCyr_8x16.psf.gz UniCyr_8x8.psf.gz alt-8x14.gz alt-8x16.gz alt-8x8.gz
+altc-8x16.gz aply16.psf.gz arm8.fnt.gz b.fnt.gz c.fnt.gz cp1250.psfu.gz
+cp850-8x14.psfu.gz cp850-8x16.psfu.gz cp850-8x8.psfu.gz cp857.08.gz cp857.14.gz
+cp857.16.gz cp865-8x14.psfu.gz cp865-8x16.psfu.gz cp865-8x8.psfu.gz
+cp866-8x14.psf.gz cp866-8x16.psf.gz cp866-8x8.psf.gz cybercafe.fnt.gz
+cyr-sun16.psfu.gz default8x16.psfu.gz default8x9.psfu.gz drdos8x14.psfu.gz
+drdos8x16.psfu.gz drdos8x6.psfu.gz drdos8x8.psfu.gz gr737a-8x8.psfu.gz
+gr737a-9x14.psfu.gz gr737a-9x16.psfu.gz gr737b-8x11.psfu.gz
+gr737b-9x16-medieval.psfu.gz gr737c-8x14.psfu.gz gr737c-8x16.psfu.gz
+gr737c-8x6.psfu.gz gr737c-8x7.psfu.gz gr737c-8x8.psfu.gz gr737d-8x16.psfu.gz
+gr928-8x16-thin.psfu.gz gr928-9x14.psfu.gz gr928-9x16.psfu.gz
+gr928a-8x14.psfu.gz gr928a-8x16.psfu.gz gr928b-8x14.psfu.gz gr928b-8x16.psfu.gz
+greek-polytonic.psfu.gz iso01-12x22.psfu.gz iso01.08.gz iso01.14.gz iso01.16.gz
+iso02-12x22.psfu.gz iso02.08.gz iso02.14.gz iso02.16.gz iso03.08.gz iso03.14.gz
+iso03.16.gz iso04.08.gz iso04.14.gz iso04.16.gz iso05.08.gz iso05.14.gz
+iso05.16.gz iso06.08.gz iso06.14.gz iso06.16.gz iso07.14.gz iso07.16.gz
+iso07u-16.psfu.gz iso08.08.gz iso08.14.gz iso08.16.gz iso09.08.gz iso09.14.gz
+iso09.16.gz iso10.08.gz iso10.14.gz iso10.16.gz koi8-14.psf.gz koi8c-8x16.gz
+koi8r-8x14.gz koi8r-8x16.gz koi8r-8x8.gz koi8r.8x8.psfu.gz koi8u_8x14.psfu.gz
+koi8u_8x16.psfu.gz koi8u_8x8.psfu.gz lat0-08.psfu.gz lat0-10.psfu.gz
+lat0-12.psfu.gz lat0-14.psfu.gz lat0-16.psfu.gz lat1-08.psfu.gz lat1-10.psfu.gz
+lat1-12.psfu.gz lat1-14.psfu.gz lat1-16.psfu.gz lat2-08.psfu.gz lat2-10.psfu.gz
+lat2-12.psfu.gz lat2-14.psfu.gz lat2-16.psfu.gz lat2a-16.psfu.gz lat4-08.psfu.gz
+lat4-10.psfu.gz lat4-12.psfu.gz lat4-14.psfu.gz lat4-16+.psfu.gz lat4-16.psfu.gz
+lat4-19.psfu.gz lat4a-08.psfu.gz lat4a-10.psfu.gz lat4a-12.psfu.gz
+lat4a-14.psfu.gz lat4a-16+.psfu.gz lat4a-16.psfu.gz lat4a-19.psfu.gz
+lat5-12.psfu.gz lat5-14.psfu.gz lat5-16.psfu.gz lat7-14.psfu.gz lat7a-14.psfu.gz
+lat7a-16.psf.gz lat9-08.psf.gz lat9-10.psf.gz lat9-12.psf.gz lat9-14.psf.gz
+lat9-16.psf.gz lat9u-08.psfu.gz lat9u-10.psfu.gz lat9u-12.psfu.gz
+lat9u-14.psfu.gz lat9u-16.psfu.gz lat9v-08.psfu.gz lat9v-10.psfu.gz
+lat9v-12.psfu.gz lat9v-14.psfu.gz lat9v-16.psfu.gz lat9w-08.psfu.gz
+lat9w-10.psfu.gz lat9w-12.psfu.gz lat9w-14.psfu.gz lat9w-16.psfu.gz m.fnt.gz
+ml.fnt.gz mod_d.fnt.gz mod_s.fnt.gz mr.fnt.gz mu.fnt.gz r.fnt.gz rl.fnt.gz
+ro.fnt.gz ruscii_8x16.psfu.gz ruscii_8x8.psfu.gz s.fnt.gz sc.fnt.gz
+scrawl_s.fnt.gz scrawl_w.fnt.gz sd.fnt.gz sun12x22.psfu.gz t.fnt.gz t850b.fnt.gz
+tcvn8x16.psf.gz viscii10-8x16.psfu.gz
+
+EOF
+ echo -n "Which font would you like (or ENTER to quit)? "
+ read FONT;
+ if [ "$FONT" = "" ]; then
+ load_font
+ echo
+ exit
+ fi
+ if [ ! -r $T_PX/usr/share/kbd/consolefonts/$FONT -a ! -r \
+ /var/adm/mount/usr/share/kbd/consolefonts/$FONT ]; then
+ cat << EOF
+
+Sorry, I couldn't find that font. Try again.
+
+EOF
+ fi
+ load_font $FONT
+ cat << EOF
+
+SET AS DEFAULT FONT
+
+Well, what do you think? If you'd like to make this your default font, select
+YES. You can change the default font any time by typing 'setconsolefont' or by
+editing /etc/rc.d/rc.font. If you don't like this font, select NO, and you'll
+be able to select a different one. If you decide you want to stick with the
+default font, hit RETURN once you return to the font selection menu.
+
+EOF
+ echo -n "Would you like to have this font loaded by default ([y]es, [n]o)? "
+ read DEF
+ if [ "$DEF" = "YES" -o "$DEF" = "y" ]; then
+ cat << EOF > $T_PX/etc/rc.d/rc.font
+#!/bin/sh
+#
+# This selects your default screen font from among the ones in
+# /usr/share/kbd/consolefonts.
+#
+setfont -v $FONT
+EOF
+ chmod 755 $T_PX/etc/rc.d/rc.font
+ echo
+ exit
+ else
+ load_font
+ fi
+ echo
+ done
+fi