Files
tdesktop/Telegram/ThirdParty/hime/distro/dev-tools/icons/hime-create-icons.sh
allhaileris afb81b8278
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
init
2026-02-16 15:50:16 +03:00

214 lines
4.8 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#
# Copyright (C) 2011 Lu, Chao-Ming (Tetralet). All rights reserved.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#
#!/bin/sh
export LC_ALL=zh_TW.UTF8
CONVERT=`whereis -b convert | tr -d '\n' | sed 's/^convert: *//g'`
if [ -z "$CONVERT" ]; then
echo "Command 'convert' is not find. Please install imagemagick package and try again!"
exit 0
fi
print_help()
{
case $1 in
-h|--help)
echo "Usage: $0 SourceImage.png HalfCharImage.png FullCharImage.png Font_Patch Font_Color Mini_Color"
echo "Example: $0 HIME.png HIME_Half.png HIME_Full.png ~/.fonts/DroidSansFallback.ttf \"#1650b8\" \"c81bca\""
exit 0
;;
esac
}
if [ "$1" == '' ]; then
print_help -h
fi
if [ ! -f "$1" ]; then
echo "ERROR: Source Image file $1 Not find!"
echo ""
print_help -h
fi
SOURCE_IMAGE="$1"
if [ "$2" == '' ]; then
print_help -h
fi
if [ ! -f "$2" ]; then
echo "ERROR: HalfChar Image file $1 Not find!"
echo ""
print_help -h
fi
HALF_IMAGE="$2"
if [ "$3" == '' ]; then
print_help -h
fi
if [ ! -f "$3" ]; then
echo "ERROR: FullChar Image file $1 Not find!"
echo ""
print_help -h
fi
FULL_IMAGE="$3"
if [ "$4" == '' ]; then
print_help -h
fi
if [ ! -f "$4" ]; then
echo "ERROR: Font file $4 Not find!"
echo ""
print_help -h
fi
FONT_FILE="$4"
if [ "$5" == '' ]; then
print_help -h
fi
COLOR="$5"
if [ "$6" == '' ]; then
print_help -h
fi
MINI_COLOR="$6"
convert_word()
{
while [ "$1" != '' ]; do
FILE=$1
shift
if [ "$1" != '' ]; then
WORD=$1
else
echo "ERROR: No target file inputed!"
exit 1
fi
shift
SIZE=`echo "$WORD" | wc -m`
if [ "$WORD" == "En" ]; then
SIZE=2
fi
WORK_IMAGE="$SOURCE_IMAGE"
echo "Trying to draw '$WORD' (Size $SIZE) on $SOURCE_IMAGE to $FILE.png ..."
case $SIZE in
1)
FONT_SIZE=18
DRAW_STR="text +0-1 '$WORD'"
TEMP_FILE=""
;;
2)
FONT_SIZE=18
DRAW_STR="text +0-1 '$WORD'"
TEMP_FILE=""
;;
3|4)
if [ "$FILE" == "half-simp" -o "$FILE" == "half-trad" ]; then
WORK_IMAGE="$HALF_IMAGE"
fi
if [ "$FILE" == "full-simp" -o "$FILE" == "full-trad" ]; then
WORK_IMAGE="$FULL_IMAGE"
fi
ORIGINAL_WORD="$WORD"
WORD=`echo $ORIGINAL_WORD | sed -e 's/\(.\)\(.\)/\1/g'`
FONT_SIZE=14
DRAW_STR="text -4-4 '$WORD'"
TEMP_FILE="hime_temp"
convert -pointsize $FONT_SIZE \
-font $FONT_FILE \
-fill $COLOR \
-gravity center \
-draw "$DRAW_STR" \
$WORK_IMAGE "$TEMP_FILE.png"
WORD=`echo $ORIGINAL_WORD | sed -e 's/\(.\)\(.\)/\2/g'`
FONT_SIZE=11
DRAW_STR="text +5+5 '$WORD'"
;;
*)
echo "The input word '$WORD' is too long!"
exit 1
;;
esac
if [ "$TEMP_FILE" == '' -o ! -f "$TEMP_FILE.png" ]; then
convert -pointsize $FONT_SIZE \
-font $FONT_FILE \
-fill $COLOR \
-gravity center \
-draw "$DRAW_STR" \
$WORK_IMAGE "$FILE.png"
else
convert -pointsize $FONT_SIZE \
-font $FONT_FILE \
-fill $MINI_COLOR \
-gravity center \
-draw "$DRAW_STR" \
"$TEMP_FILE.png" "$FILE.png"
rm "$TEMP_FILE.png"
fi
done
}
convert_word 'hime-tray' 'En' \
'4corner' '四' \
'NewCJ3' '亂' \
'amis' '阿' \
'ar30' '行' \
'chewing' '酷' \
'cj' '倉' \
'dayi3' '易' \
'erbi' '二' \
'ez' '輕' \
'fcitx-qxm' '冰' \
'fcitx-wanfeng' '晚' \
'greek' 'αβ' \
'esperanto' '★' \
'hakka' '客' \
'halfwidth-kana' 'ア' \
'intcode' '內' \
'jtcj_gb' '仓' \
'juyin' '注' \
'jyutping' '粵' \
'kana-nippon' 'あ' \
'latin-letters' 'ā' \
'newcj' '新' \
'noseeing' '嘸' \
'paiwan' '排' \
'pinyin' '拼' \
'sakura' '櫻' \
'scj' '快' \
'shuangpin' '双' \
'simplex' '簡' \
'symbols' '%' \
'taiwan' '台' \
'telecode' '電' \
'tsin' '詞' \
'tsou' '鄒' \
'wm2' '象' \
'wubi' '五' \
'russian' 'Э' \
'hangul' '한' \
'cj5' '倉五' \
'cj-punc' '倉;' \
'en-kana-nippon' 'あE' \
'en-tsin' '詞E' \
'half-simp' ' 简' \
'half-trad' '  ' \
'full-simp' ' 简' \
'full-trad' '  ' \
'gdayi3' '易三'