2012-10-19 6 views
14

ho scaricato il DejaVu open source font e voglio usarlo ad un WebFont, ma anche quando lo converto, ottengo un file di grandi dimensioni, e perché il sito web che userò sarà solo in alcune lingue (arabo, francese, amazigh) quindi, non ho bisogno di alcuni personaggi.come rimuovere caratteri da un file di font?

quindi c'è un modo per sfogliare il file del carattere ed eliminare l'intervallo non necessario di caratteri Unicode che non mi serviranno?

risposta

6

Utilizzando FontForge, è possibile aprire Element ->Font Info ->Unicode Ranges. Vedrai tutti gli intervalli disponibili e puoi selezionare un'intera gamma Unicode con un solo clic. Quindi, è possibile ottimizzare la selezione ed eliminare utilizzando Encoding ->Detach & Remove Glyphs.

Inoltre, è possibile utilizzare Edit ->Select ->Select by Script.

+1

Ulteriori ricerche hanno rivelato che FontForge è lo strumento che si sta indirizzando. – John

+0

@John Grazie per il commento. La mia risposta originale era basata su un'altra risposta che è stata cancellata ora !!! Ho aggiunto il nome dell'applicazione alla risposta. –

1

Il metodo più semplice che ho trovato è quello di utilizzare lo strumento pyftsubset da FontTools. Ecco un esempio:

$ pyftsubset NotoSans-Regular.ttf \ 
     --unicodes=U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116 \ 
     --output-file=NotoSans-Regular.cyrillic.woff2 \ 
     --flavor=woff2 

Nota: woff2 uscita richiede Brotli.

Ho scritto un semplice script attorno ad esso che automatizza l'intero processo compresa la generazione di un file CSS dopo aver diviso il file del font. Puoi trovarlo qui: https://github.com/johncf/ttf2web