Używanie czcionek Fork dla zasobów OS 9 W CSS za pomocą @font-face

Mam kilka starych czcionek OS 9, które zawierają dane czcionki w widelcu zasobów. Kiedy próbuję połączyć taką czcionkę w @font-face i otworzyć HTML w przeglądarce, tekst nadal pojawia się w domyślnej czcionce.

Podczas wyszukiwania znalazłem, że dane czcionki można skopiować do zwykłego pliku TTF przy użyciu atrybutu rsrc. Uruchomiłem więc komendę cp <font>/rsrc <font>-attr.ttf i próbowałem połączyć nowy plik w @font-face. Ponownie, tekst pojawił się w domyślnej czcionce.

Inny dyskusja na temat stackoverflow sugerowała drukowanie binarne i kopiowanie danych za pomocą xattr -p <font> | xxd -r > <font>-xxd.ttx. Po raz kolejny połączenie tego pliku nie spowodowało zmiany czcionki.

Aby upewnić się, że HTML jest poprawny, podlinkowałem nowszą czcionkę ttf z tego samego katalogu i działała poprawnie. Czy ktoś wie, czy stare czcionki mogą być używane w @font-face, z konwersją lub bez. Dziękuję.

Author: Sameer, 2011-09-14

3 answers

Walizki czcionek mogą potencjalnie zawierać 2 różne rodzaje czcionek: czcionki Bitmapowe i czcionki TrueType. Czcionki Bitmapowe będą zasobami 'NFNT' wraz z niezbędnym 'FOND' (Informacje o rodzinie czcionek). Z drugiej strony, czcionki TrueType będą wpisami zasobów 'sfnt' wraz z niezbędnym 'FOND' (Informacje o rodzinie czcionek). Zazwyczaj walizki z czcionkami, które przechowują dane Bitmapowe, stanowią tylko połowę czcionki; aby były użyteczne, musisz mieć dodatkowe pliki czcionek z konturami PostScriptu (będą miały ikona LWFN).

W Przeciwnym Razie czcionka suitcase może reprezentować czcionkę TrueType, która w porównaniu do "walizki czcionek PostScript Type 1" jest naprawdę samodzielna.

Aby przekonwertować czcionkę Mac TrueType opartą na plikach źródłowych na czcionkę Windows TrueType, wystarczy wyodrębnić wpisy zasobów 'sfnt').

Ponieważ Rosetta już nie istnieje, nie mam Resorcerera, więc udało mi się uruchomić edytor plików zasobów barebones.

Http://www.markdouma.com/developer/ResourceFinagler.zip

Dodałem tylko kilka linii, dzięki czemu możesz teraz wybrać poszczególne zasoby 'sfnt', Jak pokazano na poniższym obrazku, i przeciągnąć je do Findera, aby utworzyć poszczególne czcionki Windows TrueType.

Tutaj wpisz opis obrazka

Tutaj wpisz opis obrazka

 37
Author: NSGod,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-14 15:25:35

Ponieważ jest to jeden z pierwszych wyników wyszukiwania podczas wyszukiwania jak obsługiwać czcionki Resource fork w nowoczesnych systemach macOS, oto rozwiązanie do konwersji wsadowej dużej grupy walizek czcionek.

Najpierw możemy zgrupować je wszystkie w jednym katalogu korzystając z polecenia find, ponieważ find nie widzi rozwidlenia zasobów i uważa plik za pusty, tworzymy nowy katalog w domu użytkownika i kopiujemy tam wszystkie walizki:

mkdir ~/rsrc
find . -type f -empty -exec cp {} ~/rsrc/ \;

Wtedy w mac możemy użyć napar aby zainstalować Fondu

brew install fondu

W końcu przechodzimy do katalogu ze wszystkimi walizkami i uruchamiamy fondu na każdym pliku w ten sposób, sekretem, aby fondu zadziałało, jest zmuszenie go do odczytania widelca zasobów przez dodanie /../ namedfork / rsrc na końcu pliku, w przeciwnym razie nie powiedzie się.

cd ~/rsrc
find . -type f -empty -exec fondu -force {}/..namedfork/rsrc \;

Po zakończeniu polecenia powinieneś mieć folder z nowym .ttf,bdf i .akta pfb.

Możesz usunąć Pliki z tego katalogu uruchamiając:

find . -type f -empty -delete
 1
Author: Diego Alifano,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-27 19:37:23

Dane czcionek w starej walizce czcionek Mac OS nie są w formacie TTF -- skopiowanie widelca zasobów do pliku TTF da dane zasobów Mac OS w pliku o nazwie "font.ttf", co nie jest w porządku. Musisz użyć narzędzia takiego jak FontForge (free/open-source), aby wykonać konwersję.

 0
Author: duskwuff -inactive-,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-14 07:32:36