Jak systemy operacyjne zarządzają czcionkami

3

Jak systemy operacyjne (Mac / Windows / Linux) zarządzają czcionkami?

Czy system operacyjny ładuje kopię każdej zainstalowanej czcionki do pamięci, z której może korzystać każda aplikacja wymagająca tej czcionki? Czy to oznacza, że ​​instalowanie zbyt wielu nieużywanych czcionek (szczególnie tych o dużej objętości - wielu MB) zużywa pamięć niepotrzebnie?

Czy też każda aplikacja ładuje kopię (tylko) potrzebnych czcionek. Skąd ma wiedzieć, które wszystkie czcionki są zainstalowane?

Himanshu P.
źródło

Odpowiedzi:

2

Większość systemów operacyjnych ma katalog, w którym są zainstalowane czcionki. W Linuksie, na przykład, jest to jeden z /usr/local/share/fonts, /usr/share/fonts, ~/fonts. Programy, które mogą używać czcionek, albo skanują te foldery, albo czytają dostępne czcionki z listy wygenerowanej przez inny program. W Linuksie odbywa się to przez fc-cache.

W każdym razie czcionka nie musi być ładowana do pamięci, chyba że jest używana. Program musi znać tylko ścieżki, w których można znaleźć dostępne czcionki. Gdy użytkownik zażąda określonej czcionki, wówczas ta czcionka jest wybierana spośród dostępnych i używana.

Więc nie, instalowanie wielu czcionek nie zużywa pamięci. Sprawi to, że proces generowania pamięci podręcznej czcionek będzie wolniejszy (i być może bardziej obciążający pamięć), ale trzeba to uruchomić tylko po dodaniu nowej czcionki.

terdon
źródło
1

Po pierwsze: wszystko, czego używa Twój komputer, wyświetlacze itp., Musi zostać załadowane do pamięci - nie ma na to sposobu. Krótkie i proste wyjaśnienie pamięci .

Po drugie: możesz zainstalować wszystkie potrzebne czcionki. Podobnie jak większość rzeczy na twoim komputerze, czcionki również będą indeksowane - więc czas na znalezienie, dostęp do tych czcionek nie zmieni się zauważalnie. Więcej informacji o indeksowaniu .

Po trzecie: aplikacja zazwyczaj ładuje tylko to, czego potrzebuje - ładowanie wszystkiego na wypadek, gdyby było potrzebne, jest złym projektem oprogramowania. Istnieją interfejsy API, które podstawowy system operacyjny oferuje aplikacjom w celu uzyskania dostępu do takich czcionek, jak ten link: Windows API

M.Bennett
źródło