aboutsummaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_storage.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/lua_api/l_storage.h')
0 files changed, 0 insertions, 0 deletions
ef='#n64'>64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
#!/bin/bash

# This program generates a bitmap font for font_api mod for Minetest game.
# (c) Andrzej Pieńkowski <pienkowski.andrzej@gmail.com>
# (c) Pierre-Yves Rollo <dev@pyrollo.com>
# License: GPL

usage() {
	echo "Usage: $0 fontfile fontname fontsize"
	echo "fontfile: A TTF font file to use to create textures."
	echo "fontname: The font name to be used in font_api (should be simple, with no spaces)."
	echo "fontsize: Font height to be rendered."
}

if [ $# -ne 3 ] 
then
	usage
	exit 1
fi

fontfile=$1
fontname=$2
fontsize=$3

if [ ! -r "$fontfile" ]
then
	echo "$fontfile not readable."
	exit 1
fi

# check imagemagick
hash convert &>/dev/null
if [ $? -eq 1 ]; then
	echo -e "Error: This program requires convert from ImageMagick! Please install it by typing 'sudo apt-get install imagemagick' in terminal."
	abort=1
fi

# check ttx
hash ttx &>/dev/null
if [ $? -eq 1 ]; then
	echo -e "Error: This program requires ttx from FontTools! Please install it by typing 'sudo apt-get install fonttools' in terminal."
	abort=1
fi

if [ $abort ]
then
	exit 1
fi

generate() {
	for i in $(seq $((0x$1)) $((0x$2)))
	do
		if echo "$codepoints" | grep -qi $(printf "0x%x" $i)
		then
		    hex=$(printf "%04x" $i)
		    echo -e "Generating textures/font_${fontname}_$hex.png file for \"\\U$hex\" char."
            if [[ "$hex" == "005c" ]] # Backslash char
            then
    			convert -background none -fill black -font "$fontfile" -pointsize $fontsize label:"\\\\" -colorspace gray -channel alpha -threshold 50% textures/font_${fontname}_$hex.png
            else
    			convert -background none -fill black -font "$fontfile" -pointsize $fontsize label:"$(echo -en "\\U$hex")" -colorspace gray -channel alpha -threshold 50% textures/font_${fontname}_$hex.png
            fi
 		fi
	done
}

mkdir textures

# Reads all available code points in the font.
codepoints=$(ttx -o - "$fontfile" | grep "<map code=" | cut -d \" -f 2)

# Mandatory chars
generate 0020 007f