Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CSS][PHP][HTML]Wykrycie aktualnie używanej czcionki.
Szunaj85
post
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

Ostrzeżenie: (0%)
-----


Obecnie aby wybrać dla swojej strony jaką chcemy mieć czciąkę wystarczy wpisać kawałek kodu.
  1. {font-family: arial, verdana, sans-serif, georgia;}
Naturalnie zaczynamy od najbardziej przez nas preferowanej do najmniej.
Mając taką listę kilku czcionek w przypadku jeżeli pierwsza czcionka na liście nie jest zainstalowana na komputerze na którym otwierana jest strona, przeglądarka poszuka kolejnej czcionki na liście dopóki nie znajdzie odpowiedniej.
Tu akurat nie ma nic nadzwyczajnego.
Moje pytanie brzmi... Czy da się za pomocą PHP zidentyfikować, która z czcionek została wczytana? Czy Pierwsza - domyślna, czy któraś kolejna z listy i oczywiście która.

Ten post edytował Szunaj85 4.04.2014, 15:27:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 807
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Cytat(Szunaj85 @ 5.04.2014, 11:13:31 ) *
Tak, w tym przypadku preferowałbym PHP, ale jeśli wiesz jak to rozwiązać w inny sposób opisz to.

Wybierasz z websafe fonts z systemu najbardziej nietypowy font.
Tworzysz na stronie element wypełniony najszerszymi znakami: mmmmwwww, duży font-size.
Obliczasz szerokość tego elementu, będzie to szerokość "wzorcowa".
Tworzysz drugi element na stronie, który wypełniasz takim samym tekstem, podstawiasz mu font-family: testowany_font, wzorcowy_font. Font-size jak wyżej.
Porównujesz szerokość elementu z szerokością wzorcową. Jeśli taka sama, to znaczy, że element nie używa testowanego_fontu.

Niestety trzeba operację powtórzyć dla każdej czcionki, którą chcemy zbadać. W iteracji, w której napotkamy na różnicę szerokości, stwierdzamy, że element używa tej czcionki.

Skuteczność prawie 100%.

Ten post edytował trueblue 5.04.2014, 10:48:57
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 10:52