Errato - direzione della freccia nei contesti di testo RTL

Mi sono unito alla mailing list Unicode per proporre un’aggiunta a Unicode che sarebbe una soluzione in casi come questo. Una delle risposte che ho ricevuto è stata questa:

(Io:) Il problema è che questa sostituzione viene eseguita (per quanto ne so) al di fuori di qualsiasi contesto di rendering, quando il testo è solo una sequenza di codici carattere. Non è ragionevole sapere in quale direzione va il testo. A volte è del tutto impossibile, se la direzione del testo dipende da un contesto che non è disponibile al momento della sostituzione.

Quanto sopra è a rigor di termini inaccurato. Qualsiasi rendering di testo serio oggigiorno richiede un motore di shaping, come HarfBuzz, e la legatura di “-” in “→” verrebbe eseguita da tale shaper in collaborazione con un font che supporta le legature. Il motore di shaping è consapevole del contesto bidi e dello script del testo che modella, quindi in linea di principio potrebbe specchiare la freccia.

Stanno parlando di qualcosa del genere: GitHub - tonsky/FiraCode: Free monospaced font with programming ligatures

Considera di passare all’approccio delle legature invece della sostituzione cieca dei caratteri. Un altro vantaggio discutibile sarebbe che, quando viene copiato e incollato, il testo sarebbe ancora “-” invece di una freccia.

Non ho approfondito i dettagli tecnici su come implementare questo, lascerò questo a te se scegli di utilizzare questa soluzione.

Modifica: beh, senza sorprese, Fira Text in particolare non è progettato pensando all’RTL, quindi il rendering è errato - ma almeno punta nella giusta direzione! https://fonts.google.com/specimen/Fira+Code?preview.text=A%20->%20B,%20א%20->%20ב
Firefox:

Non sono sicuro se esista oggi un font che faccia questo correttamente e supporti esplicitamente RTL/bidi.

1 Mi Piace