Erreur de détection mimetype avec mmg (mkvmerge)

mmg est un utilitaire graphique (GUI) pour mkvmerge qui permet de muxer des éléments pour en faire une vidéo.

Seulement il y a un bug assez gênant et seulement présent sous GNU/Linux qui est une erreur de détection des mimetype lors de l’ajout de polices.

Le problème est le suivant, lors de l’ajout de polices d’écritures dans mmg, les formats “ttf” sont détectés en “application/x-font-ttf” au lieu de “application/x-truetype-font” ce qui empêche de charger les fonts à la lecture de la vidéo. Les sous-titres n’utiliseront donc pas les polices indiqués dans le fichier de sous-titres, ce qui peut-être très problématique…

Pour corriger cela j’ai regardé quel fichier lisait mmg pour déterminer les mimetype avec un “strace -e trace=open mmg” ce qui me donne ce genre de résultat:

Avant de charger la font, le fichier magic.mgc est chargé. Celui-ci contient tout les mimetype du système. Le petit hic c’est qu’il est binaire, mais ont peut le modifier facilement avec un éditeur héxadécimal, il suffit donc de chercher x-font-ttf et de le remplacer par x-truetype-font.

Et voila, maintenant mmg l’identifie bien la font comme il faut 🙂

Nota : Le fichier magic.mgc appartient à la commande file, donc celle-ci voit le “bug” aussi corrigé.