Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/LibreOffice/bin/   (Office von Apache Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 2 kB image not shown  

Quelle  replace_missing_fonts.sh   Sprache: Shell

 
#!/bin/bash

declare -A replacements
replacements["Agency FB"]="Noto Sans"
replacements["Segoe UI"]="Noto Sans"
replacements["Univers 45 Light"]="Noto Sans"
replacements["Trebuchet MS"]="Noto Sans"
replacements["Perpetua"]="Noto Sans"
replacements["Calibri Light"]="Noto Sans"
replacements["Rockwell"]="Noto Sans"
replacements["DFKai-SB"]="Noto Sans"
replacements["Gill Sans MT"]="Noto Sans"
replacements["BentonSans Medium"]="Noto Sans"
replacements["BentonSans"]="Noto Sans"
replacements["AdvPS88D1"]="Noto Sans"
replacements["NexusSansOT"]="Noto Sans"
replacements["Segoe Script"]="Noto Sans"
replacements["Impact"]="Noto Sans"
replacements["Century Gothic"]="Noto Sans"
replacements["Kings Caslon Text"]="Noto Sans"
replacements["Times"]="Liberation Serif"
replacements["Jokerman"]="Noto Sans"
replacements["FreeSans"]="Noto Sans"
replacements["DINPro-Medium"]="Noto Sans"
replacements["Open Sans Light"]="Noto Sans"
replacements["Lora - regular"]="Noto Sans"
replacements["Tahoma"]="Noto Sans"
replacements["Thorndale"]="Liberation Serif"
replacements["Albany"]="Liberation Sans"
replacements["Lucida Sans Unicode"]="Noto Sans"
replacements["Candara"]="Noto Sans"
replacements["Verdana"]="Noto Sans"
replacements["Gill Sans MT"]="Noto Sans"

extracted_folder=".temp_extracted"

for file in $(find "$1" -type f); do
    file_name=$(basename "$file")
    current_extension="${file_name##*.}"

    if [[ $current_extension == "docx" || $current_extension == "xlsx" || $current_extension == "pptx" || $current_extension == "odt" ]]; then
        base_name="${file_name%.*}"

        # move the file to a new .zip file
        cp "$file" "${base_name}.zip"

        # extract the zip file to a temporary folder
        unzip -qq ./"${base_name}.zip"  -d "$extracted_folder" > /dev/null

        for key in "${!replacements[@]}"
        do
            file_changed=false
            value=${replacements[$key]}
            for subfile in $(find "$extracted_folder" -type f); do
                # Replace only if it's between quotes
                if grep -q "\"$key\"" "$subfile"then
                    sed -i "s/\"$key\"/\"$value\"/g" "$subfile"
                    file_changed=true
                # or between '"'
                elif grep -q ""$key"" "$subfile"then
                    sed -i "s/"$key"/\"$value\"/g" "$subfile"
                    file_changed=true
                fi
            done

            if [ "$file_changed" = true ]; then
                # Create a new zip file with the modified files
                cd "$extracted_folder"; zip -r ../"${base_name}.zip" . > /dev/null; cd ..

                mv "${base_name}.zip" "$file"

                echo "Replacing '$key' with '$value' in $file"
            fi
        done

        # Clean up the temporary extracted folder
        rm -rf "$extracted_folder"
    fi
done

74%


¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.