Niestandardowe czcionki – zmora web developera - lukasz
Transkrypt
Niestandardowe czcionki – zmora web developera - lukasz
Plik pobrano z www.lukasz-socha.pl Tytuł: Niestandardowe czcionki – zmora web developera Ostatnia aktualizacja:24.09.2011 Niestandardowe czcionki – zmora web developera Kodując różnego rodzaju projekty graficzne zazwyczaj największym problemem są czcionki. Mimo że, programy typu Adobe Photoshop wyświetlają ich parametry, to i tak trudno ustawić je tak samo za pomocą CSS. Zwykle robi się to „na oko”. Pół biedy gdy używane są standardowe fonty, ale prawie zawsze kochani graficy korzystają z tych niestandardowych... i co wtedy? I tu zaczyna się problem. Mimo już ponad 20-letniej historii stron www ciągle nie opracowano jednolitego standardu... Tekst jako obrazek Najprostszym sposobem jest zapis tekstu do jpg czy gif i wstawienie go za pomocą znacznika img. Rozwiązanie to nie nadaje się w sytuacjach, gdy tekst często zmienia się – ja osobiście używam img zazwyczaj do nagłówków. Niestety ma jedną, zasadniczą wadę – nie jest wygodne dla użytkowników (brak możliwości zaznaczania tekstu) oraz nie jest SEO friendly. Użycie PHP, JS i Flash Inną znaną techniką jest sIFR, która zamienia tekst dokumentu HTML w obiekty flash. Metoda ta umożliwia łatwą zmianę treści – pliki .swf generowane są dynamiczne. Niestety spowalnia ładowanie strony dość mocno i nie jest łatwe w użyciu: <script type="text/javascript"> //<![CDATA[ /* Replacement calls. Please see documentation for more information. */ if(typeof sIFR == "function"){ // This is the preferred "named argument" syntax sIFR.replaceElement(named({sSelector:"body h1", sFlashSrc:"vandenkeere.swf", sColor:"#000000", sLinkColor:"#000000", sBgColor:"#FFFFFF", sHoverColor:"#CCCCCC", nPaddingTop:20, nPaddingBottom:20, sFlashVars:"textalign=center&offsetTop=6"})); // This is the older, ordered syntax sIFR.replaceElement("h5#pullquote", "vandenkeere.swf", "#000000", "#000000", "#FFFFFF", "#FFFFFF", 0, 0, 0, 0); sIFR.replaceElement("h2", "tradegothic.swf", "#000000", null, null, null, 0, 0, 0, 0); sIFR.replaceElement("h4.subhead", "tradegothic.swf", "#660000", null, null, null, 0, 0, 0, 0); sIFR.replaceElement("h3.sidebox","tradegothic.swf","#00000 0", "#000000", "#DCDCDC", "#DCDCDC", 0, 0, 0, 0, null); sIFR.replaceElement("h3", "tradegothic.swf", "#000000", Materiał przeznaczony tylko do własnego użytku. Publikacja na innych stronach wyłącznie za zgodą autora. [email protected] 1/2 Plik pobrano z www.lukasz-socha.pl Tytuł: Niestandardowe czcionki – zmora web developera Ostatnia aktualizacja:24.09.2011 null, null, null, 0, 0, 0, 0, null); }; //]]> </script> Do dynamicznego generowania obrazków z tekstem można także użyć skryptów napisanych w PHP. Jednakże obciąża to dodatkowo serwer i jest nieefektywne przy większych serwisach. Web fonts Chyba najbardziej popularnym rozwiązaniem problemu niestandardowych czcionek jest użycie reguły CSS @font-face: @font-face { font-family: 'czcionka'; src: url('fonts/czcionka.eot'); src: url('fonts/czcionka.ttf'); } Banalne w użyciu, prawda? Niestety byłoby zbyt pięknie... Największym problemem jest Microsoft, który wykorzystuje w Internet Explorerze autorskie rozszerzenie .eot. Do niedawna było ono zamkniętym formatem przez co ciężko było o czcionkę w tym rozszerzeniu. Ponadto .eot koduje zasady licencji, co często uniemożliwia konwertowanie fontów z otwartych formatów. Na szczęście, z pomocą przychodzą serwisy takie jak Font Squirrel. Strona ta zawiera wiele niestanowionych czcionek. Co więcej, daje możliwość pobrania wybranego fonta we wszystkich formatach wraz z wygenerowanym plikiem CSS. Podobną usługę świadczy Google Web Fonts. Podsumowanie Niestety, nadal nie istnieje jednolity standard użycia niestandardowych czcionek. Kodując projekt graficzny, web developer sam musi określić jaka technika będzie najskuteczniejsza w danym serwisie. Miejmy nadzieję, że ta niekorzystna sytuacja ulegnie wkrótce poprawie. Materiał przeznaczony tylko do własnego użytku. Publikacja na innych stronach wyłącznie za zgodą autora. [email protected] 2/2