X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=setsysfont;h=e4f96ab064f0b1485e3c3987e64a89f54ace0b3f;hb=HEAD;hp=dbc811d5bbd050865248b5dce4e235e7ebf1b951;hpb=29facee148be7012cda80294bca2f5d0287de0f5;p=projects%2Frc-scripts.git diff --git a/setsysfont b/setsysfont index dbc811d5..e4f96ab0 100755 --- a/setsysfont +++ b/setsysfont @@ -1,6 +1,5 @@ #!/bin/sh # -# $Id$ # [ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n @@ -8,13 +7,20 @@ [ -n "$SYSFONT" ] && CONSOLEFONT="$SYSFONT" -case "$LANG" in - *.utf8|*.UTF-8) - if [ -x /bin/unicode_start ] && /sbin/consoletype fg ; then + +charmap= +# /usr might not be mounted +if [ -x /usr/bin/locale ]; then + charmap=$(LANG="$LANG" locale charmap) +fi + +if [ "$charmap" = "UTF-8" ]; then + if [ -x /bin/unicode_start ] && /sbin/consoletype fg; then exec unicode_start $CONSOLEFONT $CONSOLEMAP fi - ;; -esac +elif [ -x /bin/unicode_stop ] && /sbin/consoletype fg; then + unicode_stop +fi # console-tools, obsolete part if [ -x /usr/bin/consolechars -o -x /bin/consolechars ]; then @@ -30,8 +36,8 @@ elif [ -x /usr/bin/setfont -o -x /bin/setfont ]; then ARGS="-u $CONSOLESCREENFONTMAP" fi if [ -n "$CONSOLEMAP" ]; then - if [ ! -f /lib/kbd/consoletrans/$CONSOLEMAP_to_uni.trans ]; then - CONSOLEMAP=$(echo "$CONSOLEMAP" | sed "s|iso0|8859-|g;s|iso|8859-|g") + if [ ! -f /lib/kbd/consoletrans/${CONSOLEMAP}_to_uni.trans ]; then + CONSOLEMAP=$(echo "$CONSOLEMAP" | awk '{ gsub(/iso[0]?/,"8859-"); print $0; }') fi ARGS="$ARGS -m $CONSOLEMAP" fi @@ -43,6 +49,3 @@ elif [ -x /usr/bin/setfont -o -x /bin/setfont ]; then fi exit 0 - -# This must be last line ! -# vi:syntax=sh