2012-10-19 11 views
14

Pobrałem plik DejaVu open source font i chcę go użyć jako WebFont, ale nawet przy jego konwersji otrzymuję duży plik, a ponieważ strona internetowa będzie używana będzie tylko w kilku językach (arabskim, francuskim, amazigh) to nie potrzebuję znaków.jak usunąć znaki z pliku czcionki?

więc czy istnieje sposób na przeglądanie pliku czcionki i usuwanie niepotrzebnego zakresu znaków Unicode, które nie będą potrzebne?

Odpowiedz

6

Używając FontForge, możesz otworzyć Element ->Font Info ->Unicode Ranges. Zobaczysz wszystkie dostępne zakresy i możesz wybrać cały zakres Unicode za pomocą jednego kliknięcia. Następnie możesz dostroić swój wybór i usunąć za pomocą Encoding ->Detach & Remove Glyphs.

Możesz również użyć Edit ->Select ->Select by Script.

+1

Dalsze wyszukiwanie ujawniło, że FontForge jest narzędziem, które jest przekazywane. – John

+0

@John Dzięki za komentarz. Moja oryginalna odpowiedź została oparta na innej odpowiedzi, która jest teraz usuwana !!! Dodałem nazwę aplikacji do odpowiedzi. –

1

Najprostszą metodą, jaką znalazłem, jest użycie narzędzia pyftsubset z FontTools. Oto przykład:

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

Uwaga: woff2 wyjście wymaga Brotli.

Napisałem prosty skrypt, który automatyzuje cały proces, w tym generowanie pliku CSS po podzieleniu pliku czcionki. Możesz go znaleźć tutaj: https://github.com/johncf/ttf2web