Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][PHP][HTML]Wykrycie aktualnie używanej czcionki.
Forum PHP.pl > Forum > Przedszkole
Szunaj85
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.
trueblue
A musi być w PHP?
pedro84
Nie da się. Po co w ogóle coś takiego?

Cytat(Szunaj85 @ 4.04.2014, 15:24:55 ) *
czciąkę

Chyba czcionkę, co nie? Poza tym, "raczej" font.
Szunaj85
Cytat
A musi być w PHP?
Tak, w tym przypadku preferowałbym PHP, ale jeśli wiesz jak to rozwiązać w inny sposób opisz to.

Cytat
Nie da się. Po co w ogóle coś takiego?
To niedobrze.
W zależności, która czcionka zostanie wczytana skrypt ma za zadanie wykonać odpowiednie polecenie.
Tak przynajmniej miało to wyglądać.

Cytat
Chyba czcionkę, co nie?
Masz rację, tak to jest gdy się człowiek spieszy.
viking
Chyba coś przekombinowałeś. Od czasu gdy na stronie można osadzać własne fonty to ty decydujesz jaki user ma font i co mu wczytać. Więc po co sprawdzanie czy ma, czy nie ma?
trueblue
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%.
pedro84
Cytat(Szunaj85 @ 5.04.2014, 10:13:31 ) *
W zależności, która czcionka zostanie wczytana skrypt ma za zadanie wykonać odpowiednie polecenie.

Ok, ale konkretnie jakiego typu? Nie musisz zdradzać szczegółów, jeśli nie chcesz, ale opis przynajmniej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.