mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2024-12-21 19:08:24 +01:00
71e93e3cb5
* Changes! * lang * fake scan init, print init and pdf to text for exe * Hardening suggestions for Stirling-PDF / changes (#1099) * Switch order of literals to prevent NullPointerException * Introduced protections against predictable RNG abuse --------- Co-authored-by: pixeebot[bot] <104101892+pixeebot[bot]@users.noreply.github.com> * Update README.md * install custom fonts * Formats etc * version bump * disable WIP work * remove chinese font --------- Co-authored-by: pixeebot[bot] <104101892+pixeebot[bot]@users.noreply.github.com> Co-authored-by: systo <systo@host.docker.internal>
68 lines
2.3 KiB
Bash
68 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
LANGS=$1
|
|
|
|
# Function to install a font package
|
|
install_font() {
|
|
echo "Installing font package: $1"
|
|
if ! apk add "$1" --no-cache; then
|
|
echo "Failed to install $1"
|
|
fi
|
|
}
|
|
|
|
# Install common fonts used across many languages
|
|
#common_fonts=(
|
|
# font-terminus
|
|
# font-dejavu
|
|
# font-noto
|
|
# font-noto-cjk
|
|
# font-awesome
|
|
# font-noto-extra
|
|
#)
|
|
#
|
|
#for font in "${common_fonts[@]}"; do
|
|
# install_font $font
|
|
#done
|
|
|
|
# Map languages to specific font packages
|
|
declare -A language_fonts=(
|
|
["ar_AR"]="font-noto-arabic"
|
|
["zh_CN"]="font-isas-misc"
|
|
["zh_TW"]="font-isas-misc"
|
|
["ja_JP"]="font-noto font-noto-thai font-noto-tibetan font-ipa font-sony-misc font-jis-misc"
|
|
["ru_RU"]="font-vollkorn font-misc-cyrillic font-mutt-misc font-screen-cyrillic font-winitzki-cyrillic font-cronyx-cyrillic"
|
|
["sr_LATN_RS"]="font-vollkorn font-misc-cyrillic font-mutt-misc font-screen-cyrillic font-winitzki-cyrillic font-cronyx-cyrillic"
|
|
["uk_UA"]="font-vollkorn font-misc-cyrillic font-mutt-misc font-screen-cyrillic font-winitzki-cyrillic font-cronyx-cyrillic"
|
|
["ko_KR"]="font-noto font-noto-thai font-noto-tibetan"
|
|
["el_GR"]="font-noto"
|
|
["hi_IN"]="font-noto-devanagari"
|
|
["bg_BG"]="font-vollkorn font-misc-cyrillic"
|
|
["GENERAL"]="font-terminus font-dejavu font-noto font-noto-cjk font-awesome font-noto-extra"
|
|
)
|
|
|
|
# Install fonts for other languages which generally do not need special packages beyond 'font-noto'
|
|
other_langs=("en_GB" "en_US" "de_DE" "fr_FR" "es_ES" "ca_CA" "it_IT" "pt_BR" "nl_NL" "sv_SE" "pl_PL" "ro_RO" "hu_HU" "tr_TR" "id_ID" "eu_ES")
|
|
if [[ $LANGS == "ALL" ]]; then
|
|
# Install all fonts from the language_fonts map
|
|
for fonts in "${language_fonts[@]}"; do
|
|
for font in $fonts; do
|
|
install_font $font
|
|
done
|
|
done
|
|
else
|
|
# Split comma-separated languages and install necessary fonts
|
|
IFS=',' read -ra LANG_CODES <<< "$LANGS"
|
|
for code in "${LANG_CODES[@]}"; do
|
|
if [[ " ${other_langs[@]} " =~ " ${code} " ]]; then
|
|
install_font font-noto
|
|
else
|
|
fonts_to_install=${language_fonts[$code]}
|
|
if [ ! -z "$fonts_to_install" ]; then
|
|
for font in $fonts_to_install; do
|
|
install_font $font
|
|
done
|
|
fi
|
|
fi
|
|
done
|
|
fi
|