Cambiare la posizione dei sottotitoli
Oppure incollare il testo dei sottotitoli
Opzioni
Nove celle preimpostate più una rimozione. Il marcatore scritto è {\anN} nell’ordine del tastierino numerico: 7/8/9 è la riga superiore, 4/5/6 quella centrale, 1/2/3 quella inferiore, e va davanti alla prima riga di ogni blocco. ASS e SSA lo leggono come un vero codice di allineamento; in SRT è testo letterale che libass, VLC e mpv rispettano e i lettori più semplici stampano. Le coordinate \pos esistenti non vengono mai toccate. Scegliere l’ultima opzione per rimuovere i marcatori di posizione anziché aggiungerne uno.
Questa pagina sposta ogni blocco di un file di sottotitoli in una delle nove posizioni dello schermo, oppure toglie il marcatore di posizione da un file che ne ha già uno. Scrive un codice di allineamento `{\anN}` all’inizio della prima riga di ogni blocco, dove N numera le celle come fa un tastierino numerico: `7` `8` `9` lungo l’alto, `4` `5` `6` in mezzo, `1` `2` `3` lungo il basso. Quella disposizione non è un ordine di lettura, e gli esempi della pagina esistono soprattutto per rendere impossibile scegliere in alto a sinistra e ritrovarsi in basso a sinistra per caso.
Il marcatore è l’unica cosa sulla collocazione su cui tre formati concordano. Su ASS e SSA è un codice di override legale, riletto nel blocco come un campo proprio e riscritto nell’ordine documentato dietro qualsiasi `\pos`: un file che non esce mai da ASS sopravvive quindi al viaggio di andata e ritorno esattamente. Su SRT non esiste alcuna sintassi di posizionamento, quindi il marcatore viene scritto come testo letterale davanti alla riga: i lettori basati su libass come VLC e mpv lo rispettano, e un lettore che non lo conosce stamperà i quattro caratteri sullo schermo. La pagina lo dice chiaramente invece di promettere un posizionamento che non può garantire.
La posizione è trattata come una proprietà dell’intero blocco, quindi il marcatore va davanti alla prima riga soltanto, anche quando il blocco è lungo due o tre righe. Un `\pos(x,y)` già presente viene lasciato stare: una coordinata in pixel fissa il blocco a una dimensione dello schermo e si rompe su ogni altra, mentre un codice di allineamento lascia che sia il lettore a calcolare la posizione, e spostare un blocco che qualcuno aveva posizionato a mano non è ciò che è stato chiesto a questa pagina.
Scegliere Rimuovi dall’elenco delle posizioni è un’istruzione vera, non una decima posizione. Toglie il marcatore iniziale e l’allineamento memorizzato da ogni blocco — l’unico modo per riportare un SRT alla sua forma semplice, senza marcatori — mentre un marcatore scritto a metà riga viene lasciato dov’è, perché quello è dialogo e non collocazione. Nulla viene caricato e i timecode non vengono mai toccati.
Esempi
Due blocchi SRT spostati in alto al centro
Ingresso
1
00:00:01,000 --> 00:00:02,000
Hello there.
2
00:00:03,000 --> 00:00:04,000
Second line.
Uscita
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` è la cella in alto al centro, il tasto centrale della fila superiore di un tastierino numerico. Il marcatore va all’inizio del testo invece che su una riga propria, e i timecode, i numeri dei blocchi e le righe vuote non vengono toccati, quindi il file è ancora un SRT valido che porta semplicemente quattro caratteri in più per blocco.
Lo stesso file in alto a sinistra e in basso a sinistra
Ingresso
1
00:00:01,000 --> 00:00:02,000
Hello there.
Uscita
1
00:00:01,000 --> 00:00:02,000
{\an7}Hello there.
In alto a sinistra è `7`, mentre in basso a sinistra è `1`: sei di distanza, perché la numerazione segue un tastierino invece di un ordine di lettura. È la corrispondenza che più spesso viene sbagliata a mano, ed è il motivo per cui ognuna delle nove posizioni predefinite ha un caso proprio su questa pagina: una singola cifra trasposta è altrimenti invisibile finché qualcuno non guarda il video.
Spostare un blocco ASS che era già in alto a sinistra
Ingresso
[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}
Uscita
[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}
Il vecchio `\an7` viene cancellato prima che venga scritto `\an2`, quindi il blocco porta un solo allineamento invece di due: un duplicato lascerebbe al lettore l’ultimo che incontra, che è un valore che nessuno in questa esecuzione ha scelto. La coppia di corsivo resta esattamente dov’era. Su ASS il marcatore è un vero codice di override, quindi qui nulla compare come testo sullo schermo.
Rimuovere i marcatori da un file che ne ha due diversi
Ingresso
1
00:00:01,000 --> 00:00:02,000
{\an8}Hello there.
2
00:00:03,000 --> 00:00:04,000
{\an2}Second line.
Uscita
1
00:00:01,000 --> 00:00:02,000
Hello there.
2
00:00:03,000 --> 00:00:04,000
Second line.
Rimuovi toglie qualunque cosa ci fosse invece di limitarsi alla posizione predefinita che avreste scelto, e non riscrive nulla. Un file che esce da questa esecuzione viene mostrato nella posizione predefinita del lettore, che è il punto: è l’unica via di ritorno da un marcatore al testo semplice, dato che nessuna posizione si esprime come assenza di posizione.
Domande frequenti
In quale posizione dello schermo sta `{\an1}`, e perché non parte dall’alto a sinistra?
`1` è l’angolo in basso a sinistra. I nove valori seguono il tastierino numerico: `7` `8` `9` è la fila superiore di celle, `4` `5` `6` quella centrale, `1` `2` `3` quella inferiore. Quindi in alto a sinistra è `7`, il centro è `5` e in basso a destra è `3`. L’elenco delle posizioni della pagina è scritto in ordine di lettura e viene tradotto in questi numeri per voi, che è il motivo principale per usarlo invece di modificare il marcatore a mano.
Questa pagina funziona su file WebVTT, SAMI o TTML?
No, e l’elenco dei formati accettati è breve di proposito: solo SRT, ASS e SSA. WebVTT e TTML hanno una sintassi di posizionamento propria — impostazioni del blocco come `line:` e `align:`, oppure attributi `tts:` — e questa pagina non le scrive; accettarli significherebbe che l’esecuzione riporta un cambio di posizione mentre il file esce invariato. Lo stesso ragionamento esclude JSON, il cui campo di posizione ha cinque valori orizzontali invece di nove celle.
Il marcatore è visibile come testo in un file SRT?
Dipende dal lettore, e questa pagina non può cambiarlo. SRT non ha sintassi di posizionamento, quindi `{\an8}` viene memorizzato come caratteri ordinari all’inizio della riga. I lettori costruiti su libass — tra cui VLC e mpv — lo leggono come istruzione di allineamento e collocano il blocco di conseguenza; i lettori più semplici lo trattano come testo e mostreranno i quattro caratteri sullo schermo. Se vi serve una collocazione garantita su ogni dispositivo, il blocco deve essere inciso nell’immagine, cosa che va oltre ciò che un file di sottotitoli può fare.
Un `\pos(x,y)` già presente verrà sovrascritto dalla nuova posizione?
No, `\pos` viene lasciato esattamente com’era. Una coordinata in pixel e un codice di allineamento sono istruzioni diverse: `\an` chiede al lettore di calcolare la posizione per lo schermo su cui si trova, mentre `\pos` fissa il blocco a un punto a una risoluzione. Rimuovere un `\pos` collocato a mano annullerebbe un lavoro deliberato, quindi questa pagina scrive solo l’allineamento e cancella solo un allineamento precedente, mai una coordinata.
Un blocco è lungo due righe: ogni riga riceve il proprio marcatore?
Solo la prima riga ne riceve uno, perché una posizione appartiene al blocco invece che alla riga. Un marcatore su ogni riga sarebbe al meglio ridondante, e su ASS sarebbe un secondo blocco di override che fa la stessa cosa del primo. Quando il marcatore viene rimosso vale la stessa regola al contrario: viene tolto solo un marcatore all’inizio assoluto della prima riga, e uno scritto a metà frase è trattato come parte del dialogo.
Che cosa succede se applico due volte la stessa posizione?
Nulla: la seconda esecuzione produce un file identico byte per byte e riporta che nessun blocco è cambiato. La pagina cancella qualsiasi marcatore esistente prima di scrivere quello nuovo, quindi riapplicare una posizione che il file ha già toglie e riaggiunge gli stessi quattro caratteri. Questo conta quando un file gira in un ciclo di revisione: rieseguire la pagina per essere sicuri che la posizione sia applicata non può spostare nulla, e il file scaricato è lo stesso file invece di una copia con qualcosa di diverso in silenzio.