Jak dodać niestandardową czcionkę do strony internetowej?

Czy istnieje sposób na dodanie niestandardowej czcionki na stronie internetowej bez użycia obrazów, Flash lub innej grafiki?

Na przykład pracowałem nad jakąś stroną ślubną i znalazłem wiele fajnych czcionek na ten temat, ale nie mogę znaleźć odpowiedniego sposobu, aby dodać tę czcionkę na serwerze, a jak włączyć tę czcionkę z CSS do HTML? Czy jest to możliwe bez grafiki?

Author: Peter Mortensen, 2008-09-20

21 answers

Można to zrobić za pomocą CSS:

<style type="text/css">
@font-face {
    font-family: "My Custom Font";
    src: url(http://www.example.org/mycustomfont.ttf) format("truetype");
}
p.customfont { 
    font-family: "My Custom Font", Verdana, Tahoma;
}
</style>
<p class="customfont">Hello world!</p>

Jest to obsługiwane dla wszystkich zwykłych przeglądarek , Jeśli używasz TrueType-Fonts (TTF) lub Web Open Font Format (WOFF).

 441
Author: hangy,
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
2015-12-22 12:32:04

Możesz dodać niektóre czcionki za pomocą Google Web Fonts .

Technicznie, czcionki są hostowane w Google i łączy je w nagłówku HTML. Następnie możesz używać ich swobodnie w CSS z @font-face (przeczytaj o tym ).

Na przykład:

W sekcji :

 <link href=' http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>

Następnie w CSS:

h1 { font-family: 'Droid Sans', arial, serif; }

Rozwiązanie wydaje się dość wiarygodne (nawet Smashing Magazine używa go jako tytułu artykułu.). Nie ma jednak tak wielu czcionek dostępne do tej pory w katalogu czcionek Google .

 104
Author: Michał Pękała,
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
2013-04-18 06:53:51

The way To go is using the @ font-face CSS declaration which allows authors to specific online fonts to display text on their web pages. Pozwalając autorom na dostarczanie własnych czcionek, @font-face eliminuje potrzebę polegania na ograniczonej liczbie czcionek zainstalowanych przez użytkowników na swoich komputerach.

Spójrz na poniższą tabelę:

Tutaj wpisz opis obrazka

Jak widać, istnieje kilka formatów, o których musisz wiedzieć głównie ze względu na kompatybilność między przeglądarkami. Na scenariusz w urządzeniach mobilnych nie różni się zbytnio.

Rozwiązania:

1 - Pełna kompatybilność przeglądarki

Jest to metoda z najgłębszym możliwym wsparciem w tej chwili:

@font-face {
  font-family: 'MyWebFont';
  src: url('webfont.eot'); /* IE9 Compat Modes */
  src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('webfont.woff') format('woff'), /* Modern Browsers */
       url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

2 - Większość przeglądarki

Rzeczy sąprzesuwa się mocno w kierunku WOFF, więc prawdopodobnie można uciec z:

@font-face {
  font-family: 'MyWebFont';
  src: url('myfont.woff') format('woff'), /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
       url('myfont.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5, Opera 10+, Safari 3—5 */
}

3 - tylko najnowsze przeglądarki

Albo nawet po prostu WOFF.
Następnie używasz go jak to:
body {
  font-family: 'MyWebFont', Fallback, sans-serif;
}

Referencje i dalsze informacje:

To głównie to, co musisz wiedzieć o implementacji tej funkcji. Jeśli chcesz dowiedzieć się więcej na ten temat, zachęcam do zapoznania się z poniższymi zasobami. Większość tego, co tu umieściłem, pochodzi z następującego

 66
Author: Javier Cadiz,
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
2014-03-30 01:07:00

Jeśli przez niestandardową czcionkę masz na myśli niestandardową czcionkę w standardowym formacie, oto jak to robię i działa dla wszystkich przeglądarek, które sprawdziłem do tej pory:

@font-face {
    font-family: TempestaSevenCondensed;
    src: url("../fonts/pf_tempesta_seven_condensed.eot") /* EOT file for IE */
}
@font-face {
    font-family: TempestaSevenCondensed;
    src: url("../fonts/pf_tempesta_seven_condensed.ttf") /* TTF file for CSS3 browsers */
}

Więc będziesz potrzebował zarówno czcionek ttf, jak i EOT. Niektóre narzędzia dostępne online mogą dokonać konwersji.

Ale jeśli chcesz dołączyć czcionkę w niestandardowym formacie (bitmapy itp.), nie mogę ci pomóc.

 16
Author: BiAiB,
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
2012-09-12 15:30:55

Odkryłem, że najprostszym sposobem na posiadanie niestandardowych czcionek na stronie internetowej jest użycie sIFR

Wymaga użycia obiektu Flash, który zawiera czcionkę, ale ładnie rozkłada się do standardowego tekstu / czcionki, Jeśli Flash nie jest zainstalowany.

Styl jest ustawiony w CSS, a JavaScript ustawia zamiennik Flash dla Twojego tekstu.

Edit: (nadal zalecam używanie obrazów dla niestandardowych czcionek, ponieważ sIFR dodaje czas do projektu i może wymagać konserwacja).

 11
Author: Matt,
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
2012-04-09 08:15:45

Artykuł Font-face W IE: Tworzenie czcionek internetowych mówi, że działa ze wszystkimi trzema głównymi przeglądarkami.

Oto próbka, którą mam działającą: http://brendanjerwin.com/test_font.html

Więcej dyskusji jest w osadzanie czcionek.

 10
Author: brendanjerwin,
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
2012-05-17 22:13:04

Krój pisma.js i Cufon to dwie inne ciekawe opcje. Są to Komponenty JavaScript, które renderują specjalne dane czcionek w formacie JSON (które można przekonwertować z formatów TrueType lub OpenType na ich stronach internetowych) za pomocą nowego elementu we wszystkich nowszych przeglądarkach z wyjątkiem Internet Explorera i za pomocą VML w Internet Explorerze.

Główny problem z obydwoma (na razie) polega na tym, że zaznaczanie tekstu nie działa lub przynajmniej działa tylko całkiem niezręcznie.

Mimo to, jest to bardzo miłe dla nagłówków. Tekst... Nie wiem.

I jest zaskakująco szybki.

 10
Author: Thomas,
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
2012-05-17 22:17:06

LUB możesz spróbować sIFR . Wiem, że używa Flasha, ale tylko jeśli jest dostępny. Jeśli program Flash nie jest dostępny, wyświetla oryginalny tekst w oryginalnej czcionce (CSS).

 8
Author: Casper,
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
2012-04-09 08:10:15

Czy istnieje sposób na dodanie niestandardowej czcionki na stronie internetowej bez użycia ... Flash ?

Jasne, użyj Silverlight .

 5
Author: TraumaPony,
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
2012-04-09 08:21:56

Technika, którą zaleca W3C, nazywa się "osadzanie" i jest dobrze opisana przez trzy artykuły tutaj: osadzanie czcionek. W moich ograniczonych eksperymentach odkryłem, że proces ten jest podatny na błędy i odniosłem ograniczony sukces, dzięki czemu działa w środowisku wielu przeglądarek.

 4
Author: Steve Moyer,
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
2008-09-20 11:39:19

Safari i Internet Explorer obsługują regułę CSS @font-face, jednak obsługują dwa różne typy osadzonych czcionek. Firefox planuje wkrótce obsługiwać ten sam typ Co Apple. SVG może osadzać czcionki, ale nie jest jeszcze tak szeroko obsługiwany (bez wtyczki).

Myślę, że najbardziej przenośnym rozwiązaniem, jakie widziałem, jest użycie funkcji JavaScript do zastąpienia nagłówków itp. z obrazem wygenerowanym i buforowanym na serwerze z wybraną czcionką - w ten sposób po prostu zaktualizujesz tekst i nie trzeba się rozpisywać w Photoshopie.

 4
Author: zobier,
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
2008-09-20 11:43:39

Jeśli używasz ASP.NET, bardzo łatwo jest generować czcionki oparte na obrazach bez konieczności instalowania (jak dodawanie do zainstalowanej bazy czcionek) czcionek na serwerze za pomocą:

PrivateFontCollection pfont = new PrivateFontCollection();
pfont.AddFontFile(filename);
FontFamily ff = pfont.Families[0];

A następnie rysowanie tą czcionką na Graphics.

 4
Author: mattlant,
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
2012-05-17 22:08:52

Wygląda na to, że działa tylko w Internet Explorerze, ale szybkie wyszukiwanie w Google "HTML embed fonts" daje http://www.spoono.com/html/tutorials/tutorial.php?id=19

Jeśli chcesz pozostać agnostykiem (i powinieneś!) będziesz musiał użyć obrazów lub po prostu użyć standardowej czcionki.

 3
Author: James Muscat,
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
2008-09-20 11:39:12

Trochę poszperałem i wykopałem dynamiczne zastępowanie tekstu (Data publikacji: 2004-06-15)

Ta technika wykorzystuje obrazy, ale wydaje się być "wolna od rąk". Piszesz swój tekst i pozwalasz kilku automatycznym skryptom na automatyczne znajdowanie i zastępowanie na stronie w locie.

Ma pewne ograniczenia, ale jest to prawdopodobnie jeden z łatwiejszych wyborów (i bardziej kompatybilny z przeglądarką) niż wszystkie inne, które widziałem.

 3
Author: Kent Fredric,
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
2012-05-17 22:10:49

Możliwe jest również użycie czcionek WOFF-przykład tutaj

@font-face {
font-family: 'Plakat Fraktur';
src: url('/resources/fonts/plakat-fraktur-black-modified.woff') format('woff');
font-weight: bold;
font-style: normal;
 }
 3
Author: Wilf,
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
2014-02-22 19:18:24

Po prostu podaj link do takiej czcionki, a będziesz gotowy

<!DOCTYPE html>
<html>
<head>
<link href='https://fonts.googleapis.com/css?family=Montserrat'   rel='stylesheet'>
<style>
body {
font-family: 'Montserrat';font-size: 22px;
}
</style>
</head>
<body>

<h1>Montserrat</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>


</body>
</html>
 3
Author: Abhijeet Kumar,
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
2017-11-11 16:11:09

Krój pisma.JS JavaScript Way:

Z krojem pisma.js możesz osadzić niestandardowe czcionek na swoich stronach internetowych, dzięki czemu nie trzeba renderować tekst do obrazów

Zamiast tworzyć obrazy lub używać flash tylko po to, aby pokazać grafikę Twojej strony tekst w odpowiedniej czcionce, możesz użyć krój pisma.js i pisać w zwykłym HTML i CSS, tak jakby odwiedzający mieli czcionka zainstalowana lokalnie.

Http://typeface.neocracy.org/

 2
Author: bakkal,
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
2010-05-31 03:35:45

Monotype niedawno wydało wiele swoich czcionek wraz z nowym systemem do ich używania na stronach internetowych: http://www.webfonts.fonts.com/

 2
Author: Cogwheel,
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
2010-06-18 21:10:26

Zobacz artykuł 50 przydatne narzędzia do projektowania pięknej typografii internetowej dla metod alternatywnych.

Używałem tylko Cufon . Uważam, że jest niezawodny i bardzo łatwy w użyciu, więc utknąłem z nim.

 2
Author: Blair,
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
2012-05-17 22:18:25

Jeśli Masz plik z czcionką, musisz dodać więcej formatów tej czcionki dla innych przeglądarek.

Do tego celu używam font generator jak Fontsquirrel zapewnia on wszystkie formaty czcionek i jego @ font-face CSS, wystarczy tylko przeciągnąć i upuścić go do pliku CSS.

 2
Author: saadeez,
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
2016-02-11 05:37:36

Obawiam się, że grafika jest jedyną opcją w tym przypadku.

 1
Author: Ed Brown,
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
2008-09-20 11:30:22