Sélectionner une révision Git
karafont.sh 1,06 Kio
#!/bin/sh
BASE=/home/kara
# Extract all fonts from the MKV file ($1)
function extract_fonts ()
{
STA=0
IDX=0
while [ $STA -eq 0 ] ; do
IDX=$[ $IDX + 1 ]
mkvextract "$1" attachments "$IDX:/tmp/fontfile$IDX.ttf" 2>/dev/null >/dev/null
STA=$?
done
return $IDX
}
# Update attachments with the right type MIME, $1 is the MKV file, $2 is the id of the attachments
function update_attachments ()
{
mkvpropedit "$1" --attachment-mime-type application/x-truetype-font --update-attachment "$2" 2>/dev/null >/dev/null
}
function update_kara_main ()
{
[ -z "$1" ] && return 1
# Get if there are fonts as attachments in the MKV
FILE=$(mkvinfo -t "$1" | grep -iE 'ttf|otf' 2>/dev/null | grep -oE '[^ ]+$')
STA=$?
! [ $STA -eq 0 ] && return 1
extract_fonts "$1"
COUNT=$[ $? - 1 ]
while [ $COUNT -gt 0 ] ; do
update_attachments "$1" "$COUNT"
COUNT=$[ $COUNT - 1 ]
done
echo "$1"
}
if [ -z "$1" ] ; then
find $BASE -type f -name '*.mkv' -exec "$0" "{}" \;
else
update_kara_main "$1"
fi