はじめに
RStudio Serverを使っていると,ブラウザからアクセスするため使えるフォントが限られると思っていませんか?
私はそう思っていました…が!こちらによると,~/.config/rstudio/fonts
以下にフォントごとのディレクトリを作って,フォントをコピーしてやるとRStudio Serverの[Tools] - [Global Options]で選ぶことができるようになるそうです.
スクリプト
ということで,お気に入りのHackGenとUDEV Gothicをダウンロードしてインストールするスクリプトを作ってみました.バージョン番号を入力すると指定のバージョンを~/.config/rstudio/fonts
以下にコピーします.wget
とunzip
はあらかじめインストールしておいて下さい.
#!/bin/sh
if [ ! -d ~/.config/rstudio/ ]; then
exit 1
fi
cd ~/.config/rstudio/
if [ ! -d fonts/ ]; then
mkdir fonts
fi
cd fonts/
# HackGen
read -p "Input the version of HackGen: " HACKGEN_VER
if [ ! -z "$HACKGEN_VER" ]; then
mkdir -p HackGen/400
mkdir -p HackGen/700
mkdir -p HackGen\ Console/400
mkdir -p HackGen\ Console/700
mkdir -p HackGen35/400
mkdir -p HackGen35/700
mkdir -p HackGen35\ Console/400
mkdir -p HackGen35\ Console/700
if ! ls HackGen_v* > /dev/null 2>&1
then
wget https://github.com/yuru7/HackGen/releases/download/v$HACKGEN_VER/HackGen_v$HACKGEN_VER.zip
fi
unzip HackGen_v$HACKGEN_VER.zip
mv HackGen_v$HACKGEN_VER/HackGen-Regular.ttf HackGen/400
mv HackGen_v$HACKGEN_VER/HackGen-Bold.ttf HackGen/700
mv HackGen_v$HACKGEN_VER/HackGenConsole-Regular.ttf HackGen\ Console/400
mv HackGen_v$HACKGEN_VER/HackGenConsole-Bold.ttf HackGen\ Console/700
mv HackGen_v$HACKGEN_VER/HackGen35-Regular.ttf HackGen35/400
mv HackGen_v$HACKGEN_VER/HackGen35-Bold.ttf HackGen35/700
mv HackGen_v$HACKGEN_VER/HackGen35Console-Regular.ttf HackGen35\ Console/400
mv HackGen_v$HACKGEN_VER/HackGen35Console-Bold.ttf HackGen35\ Console/700
rm -r HackGen_v$HACKGEN_VER
else
continue
fi
# udev-gothic
read -p "Input the version of udev-gothic: " UDEVGOTHIC_VER
if [ ! -z "$UDEVGOTHIC_VER" ]; then
mkdir -p UDEV\ Gothic/400
mkdir -p UDEV\ Gothic/700
mkdir -p UDEV\ Gothic\ LG/400
mkdir -p UDEV\ Gothic\ LG/700
if ! ls UDEVGothic_v* > /dev/null 2>&1
then
wget https://github.com/yuru7/udev-gothic/releases/download/v$UDEVGOTHIC_VER/UDEVGothic_v$UDEVGOTHIC_VER.zip
fi
unzip UDEVGothic_v$UDEVGOTHIC_VER.zip
mv UDEVGothic_v$UDEVGOTHIC_VER/UDEVGothic-Regular.ttf UDEV\ Gothic/400
mv UDEVGothic_v$UDEVGOTHIC_VER/UDEVGothic-Bold.ttf UDEV\ Gothic/700
mv UDEVGothic_v$UDEVGOTHIC_VER/UDEVGothicLG-Regular.ttf UDEV\ Gothic\ LG/400
mv UDEVGothic_v$UDEVGOTHIC_VER/UDEVGothicLG-Bold.ttf UDEV\ Gothic\ LG/700
rm -r UDEVGothic_v$UDEVGOTHIC_VER
else
continue
fi
# Moralerspace
read -p "Input the version of Moralerspace: " MORALERSPACE_VER
if [ ! -z "$MORALERSPACE_VER" ]; then
mkdir -p MoralerspaceNeonHW/400
mkdir -p MoralerspaceNeonHW/700
mkdir -p MoralerspaceArgonHW/400
mkdir -p MoralerspaceArgonHW/700
mkdir -p MoralerspaceKryptonHW/400
mkdir -p MoralerspaceKryptonHW/700
mkdir -p MoralerspaceRadonHW/400
mkdir -p MoralerspaceRadonHW/700
mkdir -p MoralerspaceXenonHW/400
mkdir -p MoralerspaceXenonHW/700
if ! ls MoralerspaceHW_v* > /dev/null 2>&1
then
wget https://github.com/yuru7/moralerspace/releases/download/v$MORALERSPACE_VER/MoralerspaceHW_v$MORALERSPACE_VER.zip
fi
unzip MoralerspaceHW_v$MORALERSPACE_VER.zip
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceNeonHW-Regular.ttf MoralerspaceNeonHW/400
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceNeonHW-Italic.ttf MoralerspaceNeonHW/400
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceNeonHW-Bold.ttf MoralerspaceNeonHW/700
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceNeonHW-BoldItalic.ttf MoralerspaceNeonHW/700
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceArgonHW-Regular.ttf MoralerspaceArgonHW/400
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceArgonHW-Italic.ttf MoralerspaceArgonHW/400
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceArgonHW-Bold.ttf MoralerspaceArgonHW/700
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceArgonHW-BoldItalic.ttf MoralerspaceArgonHW/700
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceKryptonHW-Regular.ttf MoralerspaceKryptonHW/400
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceKryptonHW-Italic.ttf MoralerspaceKryptonHW/400
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceKryptonHW-Bold.ttf MoralerspaceKryptonHW/700
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceKryptonHW-BoldItalic.ttf MoralerspaceKryptonHW/700
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceXenonHW-Regular.ttf MoralerspaceXenonHW/400
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceXenonHW-Italic.ttf MoralerspaceXenonHW/400
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceXenonHW-Bold.ttf MoralerspaceXenonHW/700
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceXenonHW-BoldItalic.ttf MoralerspaceXenonHW/700
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceRadonHW-Regular.ttf MoralerspaceRadonHW/400
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceRadonHW-Italic.ttf MoralerspaceRadonHW/400
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceRadonHW-Bold.ttf MoralerspaceRadonHW/700
mv MoralerspaceHW_v$MORALERSPACE_VER/MoralerspaceRadonHW-BoldItalic.ttf MoralerspaceRadonHW/700
rm -r MoralerspaceHW_v$MORALERSPACE_VER
else
continue
fi
# Clean up
if ls *.zip 1> /dev/null 2>&1; then
rm -f *.zip
fi