2012-10-19 7 views
14

Ich habe die DejaVu open source font heruntergeladen und möchte es mit einem WebFont verwenden, aber auch wenn ich es konvertiere, bekomme ich eine große Datei, und weil die Website, die ich verwenden werde, nur in wenigen Sprachen sein wird (arabisch, französisch, amazigh) dann brauche ich keine Charaktere.Wie man Zeichen aus einer Schriftartdatei entfernt?

Also gibt es eine Möglichkeit, die Schriftart-Datei zu durchsuchen und den unnötigen Bereich von Unicode-Zeichen zu löschen, die ich nicht brauche?

Antwort

6

Mit FontForge können Sie öffnen Element ->Font Info ->Unicode Ranges. Sie sehen alle verfügbaren Bereiche und Sie können mit einem einzigen Klick einen ganzen Unicode-Bereich auswählen. Dann können Sie Ihre Auswahl optimieren und löschen mit Encoding -> .

Sie können auch Edit ->Select ->Select by Script verwenden.

+1

Weitere Suche ergab, dass FontForge ist das Werkzeug bezeichnet wird. – John

+0

@John Danke für den Kommentar. Meine ursprüngliche Antwort basierte auf einer anderen Antwort, die jetzt gelöscht wird !!! Ich habe der Antwort den Namen der Anwendung hinzugefügt. –

1

Die einfachste Methode, die ich fand, ist pyftsubset Werkzeug von FontTools zu verwenden. Hier ein Beispiel:

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

Hinweis: woff2 Ausgang erfordert Brotli.

Ich habe ein einfaches Skript geschrieben, das den gesamten Prozess einschließlich der Erstellung einer CSS-Datei nach dem Teilen der Schriftart-Datei automatisiert. Sie können es hier finden: https://github.com/johncf/ttf2web