OpenSuse - Installing Microsoft Fonts

Материал из AlexNook
Перейти к: навигация, поиск

Установка шрифтов от MS на openSuse.

Весь материал взял вот по этой ссылке. Лучше пользоваться ей, возможно там будут вносится некие изменения в будущем. Я лишь тут сохраню то, что есть там, на случай если тот сайт вдруг упадёт.

Установка

Сперва надо установить CabExtract

zypper in cabextract

Затем скачать нужный скрипт, который и выполнит всю работу:

wget http://www.freetechie.com/upload/font/fetchmsttfonts.sh

Даём права на выполнение скрипту

chmod a+x fetchmsttfonts.sh

Запускаем скриптик

sh fetchmsttfonts.sh

Код скрипта fetchmsttfonts.sh

File: fetchmsttfonts.sh
  1. #!/bin/sh
  2.  
  3. EULA="http://corefonts.sourceforge.net/eula.htm"
  4.  
  5. FONTS=" \
  6. dl.sourceforge.net/project/corefonts/the%20fonts/final/andale32.exe \
  7. dl.sourceforge.net/project/corefonts/the%20fonts/final/andale32.exe \
  8. dl.sourceforge.net/project/corefonts/the%20fonts/final/arial32.exe  \
  9. dl.sourceforge.net/project/corefonts/the%20fonts/final/arialb32.exe \
  10. dl.sourceforge.net/project/corefonts/the%20fonts/final/comic32.exe  \
  11. dl.sourceforge.net/project/corefonts/the%20fonts/final/courie32.exe \
  12. dl.sourceforge.net/project/corefonts/the%20fonts/final/georgi32.exe \
  13. dl.sourceforge.net/project/corefonts/the%20fonts/final/impact32.exe \
  14. dl.sourceforge.net/project/corefonts/the%20fonts/final/times32.exe  \
  15. dl.sourceforge.net/project/corefonts/the%20fonts/final/trebuc32.exe \
  16. dl.sourceforge.net/project/corefonts/the%20fonts/final/verdan32.exe \
  17. dl.sourceforge.net/project/corefonts/the%20fonts/final/webdin32.exe \
  18. "
  19.  
  20. SERVER=" \
  21. jaist    \
  22. voxel    \
  23. heanet   \
  24. kent     \
  25. nchc     \
  26. easynews \
  27. waix     \
  28. internode \
  29. internap \
  30. "
  31.  
  32. CURL_OPTIONS="-s --speed-limit 3500 --speed-time 15"
  33.  
  34. if [ ! -f /usr/bin/id -o ! -f /usr/bin/cabextract -o ! -f /usr/sbin/fonts-config ]; then
  35.  echo "Running in non-chrooted (install into directory) mode... Exit safely."
  36.  exit 0
  37. fi
  38.  
  39. if [ "`id -u`" != "0" ]; then
  40.  echo "error: You must be root to use this program!"
  41.  exit 1
  42. fi
  43.  
  44. if [ ! -x /usr/bin/cabextract ]; then
  45.   echo "error: cabextract missing! Please install package cabextract first."
  46.   exit 2
  47. fi
  48.  
  49. . /etc/sysconfig/proxy
  50.  
  51. if test "$PROXY_ENABLED" != "no"; then
  52.   if test -n "$HTTP_PROXY" ; then
  53.     export http_proxy="$HTTP_PROXY"
  54.   fi
  55. fi
  56.  
  57. if [ -z $http_proxy ]; then
  58.   echo
  59.   echo "note: No proxy is used. Please set the environment variable \"http_proxy\""
  60.   echo "note: to your favorite proxy, if you want to use a proxy for the download."
  61.   echo "note:"
  62.   echo "note:   bash: export http_proxy=\"http://proxy.example.com:3128/\""
  63.   echo "note:   tcsh: setenv http_proxy \"http://proxy.example.com:3128/\""
  64. fi
  65.  
  66. echo "EULA:"
  67. mkdir -p /usr/share/doc/corefonts
  68. echo -n "  Fetching   ... "
  69. curl $CURL_OPTIONS -o /usr/share/doc/corefonts/EULA.html $EULA || \
  70.   rm -f /usr/share/doc/corefonts/EULA.html
  71. echo "done"
  72.  
  73. tmpname=`basename $0`
  74. tmpdir=`mktemp -d /tmp/$tmpname.XXXXXX`
  75. trap "rm -rf $tmpdir" EXIT
  76. if [ $? -ne 0 ]; then
  77.   echo "$0: Can't create temp dir, exiting..."
  78.   exit 4
  79. fi
  80.  
  81. pushd $tmpdir &> /dev/null
  82.  
  83. echo
  84. echo "Trying to find the fastest server:"
  85. besttime=1000
  86.  
  87. for server in $SERVER; do
  88.   echo -n " $server ... "
  89.   start=$SECONDS
  90.   curl $CURL_OPTIONS --connect-timeout 10 -o cabextract.rpm \
  91.     http://$server.dl.sourceforge.net/project/corefonts/cabextract/0.5/cabextract-0.5-1.i386.rpm
  92.   if [ $? -ne 0 ]; then
  93.     echo "too slow (aborted)"
  94.     continue
  95.   fi
  96.   stop=$SECONDS
  97.   time=$((stop - start))
  98.   echo "$time sec"
  99.   if [ $time -lt $besttime ]; then
  100.     besttime=$time
  101.     useserver=$server
  102.   fi
  103. done
  104.  
  105. rm -f cabextract.rpm
  106. if [ -n "$useserver" ]; then
  107.   echo "The winner is: >> $useserver <<"
  108.   echo
  109. else
  110.   echo "Connection too slow or no server available. Aborting ... "
  111.   exit 5
  112. fi
  113.  
  114. for font in $FONTS; do
  115.  for i in $useserver $SERVER; do
  116.   archive=http://$i.$font
  117.   file=`echo $archive|awk -F "/" '{print $NF}'`
  118.   rm -f $file
  119.   echo "$file ($archive):"
  120.   echo -n "  Fetching   ... "
  121.   curl $CURL_OPTIONS -o $file $archive
  122.   if [ $? -ne 0 ]; then
  123.     rm -f $file
  124.     echo "failed ... deleted!"
  125.     continue
  126.   fi
  127.   echo done
  128.   echo -n "  Extracting ... "
  129.   cabextract -l $file &> /dev/null
  130.   if [ $? -ne 0 ]; then
  131.     rm -f $file
  132.     echo "failed ... deleted!"
  133.   else
  134.     cabextract $file &> /dev/null
  135.     echo "done"
  136.     success=true
  137.     break
  138.   fi
  139.   rm -f $file
  140.  done
  141. done
  142.  
  143. if [ "x$success" != "x" ]; then
  144.   for i in *.[Tt][Tt][CFcf]; do
  145.     lower=`echo $i|tr [:upper:] [:lower:]`
  146.     test "$i" != "$lower" && mv $i $lower
  147.   done
  148.   chmod 644 *.tt[cf]
  149.   # impact.ttf already in agfa-fonts package
  150.   test -s /usr/share/fonts/truetype/impact.ttf && rm impact.ttf
  151.   mv -f *.tt[cf] /usr/share/fonts/truetype
  152.   /usr/sbin/fonts-config
  153.   echo "*** Fonts installed. ***"
  154. else
  155.   echo "*** No Fonts installed. ***"
  156. fi
  157.  
  158. popd &> /dev/null

Ссылки

  • Стаья, которая стала основой данного материала.