diff options
author | Brad Erickson <eosrei@gmail.com> | 2016-03-21 08:25:59 +0300 |
---|---|---|
committer | Brad Erickson <eosrei@gmail.com> | 2016-03-21 08:27:15 +0300 |
commit | ac15ea44c7e2f454aed844e85949394792161333 (patch) | |
tree | aa9286092e7259555fc8805c883c95e2141697fe /linux | |
parent | e7eed4a90ee764b9a0e4326a25543f792a9bc873 (diff) |
linux: Create install.sh for Bitstream Vera conf
For #17
Fixes #14
Diffstat (limited to 'linux')
-rw-r--r-- | linux/fontconfig/user-bitstream-vera-fonts.conf | 144 | ||||
-rwxr-xr-x | linux/install.sh | 46 |
2 files changed, 190 insertions, 0 deletions
diff --git a/linux/fontconfig/user-bitstream-vera-fonts.conf b/linux/fontconfig/user-bitstream-vera-fonts.conf new file mode 100644 index 0000000..a691fe3 --- /dev/null +++ b/linux/fontconfig/user-bitstream-vera-fonts.conf @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<!-- +Emoji One Color SVGinOT Font +Fontconfig fonts.conf for a Bitstream Vera default + +https://github.com/eosrei/emojione-color-font + +The DejaVu font family is based on the Bitstream Vera font family to provide +greater unicode coverage. The only way to override the emoji it includes is +to make the emoji font the primary system font. This shouldn't be a problem, +but a number of programs do not correctly use font fallback resulting in font +rendering errors everywhere. + +This font.conf makes Bitstream Vera the default font for Serif, Sans-Serif, +and Monospace font requests since it does not contain any Unicode Emoji +characters. Emoji One Color font is the first fallback, followed by DejaVu +to provide everything else. + +Install required fonts with: +sudo apt-get install ttf-bitstream-vera + +Test with: +fc-match -s serif +fc-match -s sans-serif +fc-match -s monospace +--> +<fontconfig> + <match target="font"> + <!-- If the requested font is Bitstream Vera Serif --> + <test name="family" compare="eq"> + <string>Bitstream Vera Serif</string> + </test> + <!-- Replace the entire match list with Bitstream Vera Serif alone --> + <edit name="family" mode="assign_replace"> + <string>Bitstream Vera Serif</string> + </edit> + <!-- Assign the serif family --> + <edit name="family" mode="append_last"> + <string>serif</string> + </edit> + </match> + + <match> + <!-- If the requested font is serif --> + <test qual="any" name="family"> + <string>serif</string> + </test> + <!-- Make Bitstream Vera Serif the first result --> + <edit name="family" mode="prepend_first"> + <string>Bitstream Vera Serif</string> + </edit> + <!-- Followed by Emoji One Color --> + <edit name="family" mode="prepend_first"> + <string>Emoji One Color</string> + </edit> + </match> + + <match target="font"> + <!-- If the requested font is Bitstream Vera Sans --> + <test name="family" compare="eq"> + <string>Bitstream Vera Sans</string> + </test> + <!-- Replace the entire match list with Bitstream Vera Sans alone --> + <edit name="family" mode="assign_replace"> + <string>Bitstream Vera Sans</string> + </edit> + <!-- Assign the sans-serif family --> + <edit name="family" mode="append_last"> + <string>sans-serif</string> + </edit> + </match> + + <match target="pattern"> + <!-- If the requested font is sans-serif --> + <test qual="any" name="family"> + <string>sans-serif</string> + </test> + <!-- Make Bitstream Vera Sans the first result --> + <edit name="family" mode="prepend_first"> + <string>Bitstream Vera Sans</string> + </edit> + <!-- Followed by Emoji One Color --> + <edit name="family" mode="prepend_first"> + <string>Emoji One Color</string> + </edit> + </match> + + <match target="font"> + <!-- If the requested font is Bitstream Vera Sans Mono --> + <test name="family" compare="eq"> + <string>Bitstream Vera Sans Mono</string> + </test> + <!-- Replace the entire match list with Bitstream Vera Sans Mono alone --> + <edit name="family" mode="assign_replace"> + <string>Bitstream Vera Sans Mono</string> + </edit> + <!-- Assign the monospace family last --> + <edit name="family" mode="append_last"> + <string>monospace</string> + </edit> + </match> + + <match target="pattern"> + <!-- If the requested font is monospace --> + <test qual="any" name="family"> + <string>monospace</string> + </test> + <!-- + Make Bitstream Vera Sans Mono the first result + Note: If you want a different monospace font, this is where you change it. + --> + <edit name="family" mode="prepend_first"> + <string>Bitstream Vera Sans Mono</string> + </edit> + <!-- Followed by Emoji One Color --> + <edit name="family" mode="prepend_first"> + <string>Emoji One Color</string> + </edit> + </match> + + <!-- Add emoji generic family --> + <alias binding="strong"> + <family>emoji</family> + <default><family>Emoji One Color</family></default> + </alias> + + <!-- Alias requests for the other emoji fonts --> + <alias binding="strong"> + <family>Apple Color Emoji</family> + <prefer><family>Emoji One Color</family></prefer> + <default><family>sans-serif</family></default> + </alias> + <alias binding="strong"> + <family>Segoe UI Emoji</family> + <prefer><family>Emoji One Color</family></prefer> + <default><family>sans-serif</family></default> + </alias> + <alias binding="strong"> + <family>Noto Color Emoji</family> + <prefer><family>Emoji One Color</family></prefer> + <default><family>sans-serif</family></default> + </alias> +</fontconfig> diff --git a/linux/install.sh b/linux/install.sh new file mode 100755 index 0000000..bb1fff9 --- /dev/null +++ b/linux/install.sh @@ -0,0 +1,46 @@ +#!/bin/sh +#https://github.com/eosrei/emojione-color-font +echo "Emoji One Color font installer for Linux\n" + +# Check for Bitstream Vera +fc-list | grep "Bitstream Vera" > /dev/null +RETURN=$? +if [ $RETURN -ne 0 ];then + echo "Bitstream Vera font family not found. Please install it:" + echo "sudo apt-get install ttf-bitstream-vera" + exit 1 +fi +echo "NOTE: Changing default font family to Bitstream Vera" + +# Stop on errors +set -e +# Set XDG_DATA_HOME to default if empty. +if [ -z "$XDG_DATA_HOME" ];then + XDG_DATA_HOME=$HOME/.local/share +fi + +# Remove font from old directory if exists (temporary backwards compat) +if [ -f ~/.fonts/EmojiOneColor-SVGinOT.ttf ];then + echo "Removing the font from ~/.fonts" + rm ~/.fonts/EmojiOneColor-SVGinOT.ttf +fi + +# Create a user font directory +mkdir -p $XDG_DATA_HOME/fonts +echo "Installing the font in: $XDG_DATA_HOME/fonts/" +cp EmojiOneColor-SVGinOT.ttf $XDG_DATA_HOME/fonts/ +# Create a font config directory +FONTCONFIG=$HOME/.config/fontconfig +mkdir -p $FONTCONFIG +# Check for an existing font config +if [ -f $FONTCONFIG/fonts.conf ];then + echo "Existing fonts.conf backed up to fonts.bak" + cp $FONTCONFIG/fonts.conf $FONTCONFIG/fonts.bak +fi +# Install fonts.conf +cp fontconfig/user-bitstream-vera-fonts.conf $FONTCONFIG/fonts.conf + +echo "Clearing font cache" +fc-cache -f + +echo "Done!" |