Changer la position des sous-titres
Ou collez le texte d'un sous-titre
Options
Neuf cases prédéfinies plus un retrait. Le repère écrit est {\anN} dans l'ordre du pavé numérique — 7/8/9 en haut, 4/5/6 au milieu, 1/2/3 en bas — et il est placé devant la première ligne de chaque bloc. ASS et SSA le relisent comme un vrai code d'alignement ; en SRT, c'est du texte littéral que libass, VLC et mpv respectent et que les lecteurs plus simples impriment. Les coordonnées \pos existantes ne sont jamais touchées. Choisissez la dernière option pour retirer les repères de position au lieu d'en ajouter un.
Cette page déplace chaque bloc d’un fichier de sous-titres vers l’une des neuf positions d’écran, ou retire le marqueur de position d’un fichier qui en porte déjà un. Elle écrit un code d’alignement « {\anN} » au début de la première ligne de chaque bloc, où N numérote les cases comme un pavé numérique : 7 8 9 en haut, 4 5 6 au milieu, 1 2 3 en bas. Cette disposition n’est pas un ordre de lecture, et les exemples de la page existent surtout pour qu’on ne choisisse pas « en haut à gauche » en obtenant « en bas à gauche ».
Le marqueur est le seul élément de placement sur lequel trois formats s’accordent. En ASS et SSA c’est un code d’override légal, relu dans le bloc comme un champ propre et réémis dans l’ordre documenté derrière un éventuel « \pos » : un fichier qui ne quitte jamais ASS survit donc exactement à l’aller-retour. En SRT il n’existe aucune syntaxe de placement, et le marqueur est écrit comme du texte littéral en tête de ligne : les lecteurs fondés sur libass comme VLC et mpv le respectent, un lecteur qui l’ignore affichera les quatre caractères à l’écran.
La position est traitée comme une propriété du bloc entier, donc le marqueur va devant la première ligne seulement, même quand le bloc en compte deux ou trois. Un « \pos(x,y) » existant est laissé tranquille : une coordonnée en pixels fige le bloc sur une taille d’écran et casse sur toutes les autres, tandis qu’un code d’alignement laisse le lecteur calculer la position lui-même.
Choisir « Retirer » dans la liste est une vraie instruction, pas une dixième position : la page enlève le marqueur de tête et l’alignement mémorisé de chaque bloc, ce qui est le seul moyen de ramener un SRT à sa forme simple. Un marqueur écrit au milieu d’une ligne est laissé où il est, car celui-là est du dialogue et non du placement. Rien n’est envoyé et les timecodes ne sont jamais touchés.
Exemples
Deux blocs SRT ordinaires déplacés en haut au centre
Entrée
1
00:00:01,000 --> 00:00:02,000
Hello there.
2
00:00:03,000 --> 00:00:04,000
Second line.
Sortie
1
00:00:01,000 --> 00:00:02,000
{\an8}Hello there.
2
00:00:03,000 --> 00:00:04,000
{\an8}Second line.
« \an8 » est la case du haut au centre, la touche du milieu de la rangée supérieure d’un pavé numérique. Le marqueur va au début du texte plutôt que sur une ligne à part, et les timecodes, numéros de bloc et lignes vides sont intacts : le fichier reste un SRT valide qui porte simplement quatre caractères de plus par bloc.
Le même fichier en haut à gauche et en bas à gauche
Entrée
1
00:00:01,000 --> 00:00:02,000
Hello there.
Sortie
1
00:00:01,000 --> 00:00:02,000
{\an7}Hello there.
Le haut à gauche est 7, le bas à gauche est 1 : six d’écart, parce que la numérotation suit un pavé numérique et non un ordre de lecture. C’est la correspondance que l’on confond le plus souvent à la main, et c’est pourquoi chacune des neuf positions a son exemple sur cette page.
Déplacer un bloc ASS déjà en haut à gauche
Entrée
[Script Info]
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\an7\i1}Hello there{\i0}
Sortie
[Script Info]
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\an2}{\i1}Hello there{\i0}
L’ancien « \an7 » est effacé avant l’écriture de « \an2 », donc le bloc porte un seul alignement. Un doublon laisserait le lecteur prendre le dernier, une valeur que personne n’a choisie dans ce passage. La paire d’italique reste exactement où elle était ; en ASS le marqueur est un vrai code d’override, donc rien n’apparaît à l’écran comme du texte.
Retirer les marqueurs d’un fichier qui en porte deux différents
Entrée
1
00:00:01,000 --> 00:00:02,000
{\an8}Hello there.
2
00:00:03,000 --> 00:00:04,000
{\an2}Second line.
Sortie
1
00:00:01,000 --> 00:00:02,000
Hello there.
2
00:00:03,000 --> 00:00:04,000
Second line.
« Retirer » enlève ce qui est là plutôt que seulement la position que vous auriez choisie, et n’écrit rien à la place. Un fichier qui sort de ce passage est joué à la position par défaut du lecteur, ce qui est le but : c’est le seul chemin d’un marqueur vers du texte simple, aucune position ne s’exprimant par l’absence de marqueur.
Questions fréquentes
Où se trouve « {\an1} » à l’écran, et pourquoi la numérotation ne commence-t-elle pas en haut à gauche ?
1 est le coin en bas à gauche. Les neuf valeurs suivent le pavé numérique : 7 8 9 est la rangée du haut, 4 5 6 celle du milieu, 1 2 3 celle du bas. Le haut à gauche est donc 7, le centre 5 et le bas à droite 3. La liste de la page est écrite dans l’ordre de lecture et traduit ces libellés en numéros pour vous, ce qui évite d’éditer le marqueur à la main.
Cette page fonctionne-t-elle sur des fichiers WebVTT, SAMI ou TTML ?
Non, et la liste des formats acceptés est courte à dessein : SRT, ASS et SSA seulement. WebVTT et TTML ont leur propre syntaxe de placement — réglages de bloc comme « line: » et « align: », attributs tts: — que cette page n’écrit pas ; les accepter reviendrait à annoncer un changement de position sans modifier le fichier. Le même raisonnement exclut JSON, dont le champ de position a cinq valeurs horizontales et non neuf cases.
Le marqueur est-il visible comme du texte dans un fichier SRT ?
Cela dépend du lecteur, et cette page ne peut pas y changer quelque chose. SRT n’a pas de syntaxe de placement, donc « {\an8} » est stocké comme des caractères ordinaires en tête de ligne. Les lecteurs fondés sur libass — VLC et mpv notamment — le lisent comme une instruction d’alignement ; les plus simples l’affichent comme du texte. Pour un placement garanti partout, il faut incruster le sous-titre dans l’image.
Un « \pos(x,y) » existant sera-t-il écrasé par la nouvelle position ?
Non, « \pos » est laissé exactement tel quel. Une coordonnée en pixels et un code d’alignement sont deux instructions différentes : « \an » demande au lecteur de calculer la position pour l’écran qu’il a, tandis que « \pos » fige le bloc à un point et à une résolution. Effacer un « \pos » placé à la main déferait un travail délibéré, donc la page n’écrit que l’alignement.
Un bloc tient sur deux lignes : chaque ligne reçoit-elle son marqueur ?
Seule la première ligne en reçoit un, car la position appartient au bloc et non à la ligne. Un marqueur sur chaque ligne serait au mieux redondant, et en ASS un second bloc d’override ferait la même chose que le premier. Au retrait, la même règle s’applique à l’envers : seul un marqueur tout en tête de la première ligne est enlevé, celui écrit au milieu d’une réplique reste.
Que se passe-t-il si j’applique deux fois la même position ?
Rien : le second passage produit un fichier identique octet pour octet et signale qu’aucun bloc n’a changé. La page efface le marqueur existant avant d’écrire le nouveau, donc réappliquer une position déjà présente retire et remet les mêmes quatre caractères. C’est utile dans une boucle de relecture : relancer la page ne peut rien décaler, et le téléchargement reste le même fichier.