Nella maggior parte degli IDE, puoi scegliere il tipo di carattere che preferisci. Se trovi un carattere oldstyle più leggibile, selezionalo.
Nota che tutti i (quasi tutti?) caratteri oldstyle sono proporzionali, mentre i font proporzionali hanno alcuni problemi quando si utilizzano li in contesto di programmazione.
A parte questo, proviamo e confrontiamo alcuni font oldstyle con i font solitamente usati negli IDE. Ho solo un ambiente Windows per i test; se qualcuno può aggiungere illustrazioni per i caratteri utilizzati in MacOS o Linux, sentiti libero di modificare la risposta.
Ci sono più font oldstyle installati di default in Windows / Microsoft Office:
Per evitare duplicati e abbreviare la risposta, prendo solo tre font oldstyle: Georgia, Corbel e Gabriola e tre font classici: Courier New, Lucida Console e Consolas.
Courier New
Semplice da usare, ma difficile da fare la differenza tra la cifra "0" e la maiuscola "O". Il testo è troppo chiaro, il che renderebbe difficile la lettura su uno sfondo nero con testo chiaro.
Console di Lucida
Lo stesso problema con le cifre "0" e maiuscole "O", ma rispetto a Courier New, il testo è facile da leggere anche su sfondo nero.
Consolas
Il recente font di Consolas è stato appositamente creato per l'utilizzo in IDE e altri contesti correlati al codice sorgente e per sostituire l'ex Courier New. Rimuove totalmente l'ambiguità tra la lettera "O" e la cifra "0" utilizzando il carattere zero barrato .
Rimane molto leggibile sia per i formati grandi che piccoli, sia per il testo chiaro su sfondo scuro che per il testo scuro su contesti di sfondo chiari. Se usi ClearType, Consolas è una scelta eccellente.
Georgia
Questo è un font carino, ma è stato progettato per la stampa. Su uno schermo LCD, il testo piccolo ha alcuni problemi con spazi bianchi che non sembrano molto uniformi (come puoi vedere sullo screenshot).
Il problema più grosso è che quasi non c'è modo di fare la differenza tra la piccola lettera "o" e la cifra "0" . Seriamente, è CoordinatesOfo
o CoordinatesOf0
? Questo unico problema è un deal breaker per un IDE .
Corbel
Il carattere è molto leggibile, anche con un testo di piccole dimensioni. A causa del vecchio stile, anche i numeri sono molto facili da leggere.
D'altra parte, questo font ha lo stesso problema di Garamond : nessuna chiara differenza tra la piccola lettera "o" e la cifra "0". Questo unico problema è un deal breaker per un IDE .
Gabriola
Come puoi vedere, il font è impossibile da usare, a meno che tu non abbia impostato una dimensione molto grande nel tuo IDE. Questo font è per le carte di felice anno nuovo, non per la programmazione.
In conclusione, la maggior parte dei caratteri oldstyle soffre della somiglianza tra la piccola lettera "o" e la cifra "0", e in molti casi, non c'è assolutamente modo di fare la differenza tra i due. Vedi ad esempio Gabriola o High Tower Text: quei due caratteri sembrano identici .
Soluzioni
Se sei innamorato di figure oldstyle, ci sono altre due soluzioni.
1. OpenType oldstyle
In realtà, OpenType ha una funzionalità obsoleta per alcuni caratteri non obsoleti. Ad esempio, il font Consolas ha questa funzione . Non riesco a trovare né come attivare questa funzionalità in Visual Studio, né come farlo in Microsoft Word 2007, ma puoi approfondire maggiormente questa direzione se oldstyle è qualcosa di cui hai veramente bisogno, ma non puoi permetterti di perdere i punti di forza dei font monospace.
Microsoft Word 2010 sembra supportare l'opzione vecchio stile per i font OpenType, ma non ho Office 2010 per testarlo effettivamente.
Visual Studio 2010 potrebbe anche essere in grado di supportarlo tramite un componente aggiuntivo che modifica le opzioni WPF dell'editor, poiché esiste l'opzione oldstyle in XAML e Visual Studio 2010 e versioni successive utilizza WPF.
2. Evidenziazione della sintassi
Un'altra soluzione è usare un vero font oldstyle, ma con l'evidenziazione della sintassi per le cifre:
Personalmente, non conosco alcun IDE che possa supportarlo. Visual Studio, ad esempio, consente di personalizzare il colore dei numeri (ad esempio "123D" in var a = 123D;
), ma non di cifre (ad esempio "5" in this.label5.Text = "Hello";
). Ma c'è probabilmente un modo per scrivere un addin per un IDE per cambiare l'evidenziazione della sintassi.