Mecha versi 2.6.4 sudah dirilis!

Menggunakan @font-face

Tabel Konten
  1. font-style dan font-weight 
    1. Satu Nama Font dengan Empat Gaya 
    2. Pengguna Google Fonts 
    3. Gunakan @font-face Seperlunya 
  2. Sintaks Aman @font-face 
  3. Catatan Tambahan 
  4. Lisensi Font 

Yang dilakukan @font-face kepada file font pada dasarnya hanyalah memanggil file tersebut ke halaman web untuk diberi nama sesuai dengan nama yang ditentukan oleh pengguna agar bisa digunakan di dalam CSS font sebagai font-family:

@font-face {
  font-family:'Nama Font';
  src:url('files/my-font.woff') format('woff');
  font-style:normal;
  font-weight:normal;
}

Fungsi masing-masing kode di atas adalah:

  1. font-family berfungsi untuk menentukan nama font yang datang dari my-font.woff
  2. src digunakan untuk menyatakan di mana font tersebut disimpan
  3. format digunakan untuk menentukan format font
  4. font-style dan font-weight tidak wajib. Bisa dibuang jika memang tidak diperlukan. Dan akan menjadi wajib untuk alasan yang akan Saya jelaskan nanti.

@font-face lebih baik dinyatakan di bagian paling awal CSS untuk memastikan agar file font bisa diunduh sesegera mungkin. Setelah itu, nama font bisa dinyatakan ke elemen mana saja yang Anda inginkan dengan nama font yang telah dinyatakan pada font-family:

@font-face {
  font-family:'Nama Font';
  src:url('files/my-font.woff') format('woff');
  font-style:normal;
  font-weight:normal;
}

body {font-family:"Nama Font"}

Jangan lupa berikan beberapa font fallback dengan nama-nama font yang sudah biasa ada pada komputer Anda untuk berjaga-jaga agar jika font eksternal tersebut gagal dimuat atau terlalu lama dimuat atau belum berhasil dimuat, maka tampilannya tidak akan hanya jatuh ke font Serif. Pastikan tampilan font lokal tersebut mirip dengan font eksternal yang ingin ditampilkan. Inilah fungsi utama dari CSS Font Stack:

body {font-family:"Nama Font","Arial Narrow",Arial,Sans-Serif}

font-style dan font-weight 

Bagi para pengguna yang baru pertama kali menggunakan @font-face mungkin akan merasa baik-baik saja dengan tampilan seperti ini. Namun tidak untuk para tipografer dan juga orang-orang yang sudah terbiasa melihat berbagai jenis font:

Font italic tampak terlalu miring, bahkan dan dalam beberapa browser, font bold akan tampak begitu tebal
Font italic tampak terlalu miring.

Font dengan model italic akan tampak terlalu miring. Bahkan dalam beberapa peramban, font dengan gaya bold juga akan tampak terlalu tebal. Ini adalah contoh font Ubuntu Regular yang Saya lihat melalui peramban Safari di Windows:

Font italic tampak terlalu miring, bahkan dan dalam beberapa browser, font bold akan tampak begitu tebal
Ubuntu, Safari Windows.

Menurut Saya tampilan masing-masing gaya font di atas kurang stabil dan tidak menarik. Itu disebabkan karena kita hanya memuat satu model font saja yaitu font regular. Ketika kita hanya memuat satu model font saja, maka model font yang lain seperti bold, italic dan bold-italic akan disesuaikan oleh peramban. Dan hasilnya tentu saja tidak akan sebagus model font asli dari keluarga tersebut. Para pembuat font yang baik setidaknya akan membuat minimal empat model font yaitu regular, italic, bold dan bold-italic. Itulah sebabnya mengapa kita harus menggunakan keempat-empatnya:

Daftar gaya font Ubutu yang umum.
Gaya font Ubuntu.

Satu Nama Font dengan Empat Gaya 

Memanggil file font dengan jumlah gaya minimal empat buah tentu saja memiliki cara tersendiri. Setiap @font-face harus tetap diberi satu nama font yang sama namun harus tetap bisa menampilkan masing-masing font eksternal dengan benar berdasarkan gayanya. Dan sekarang adalah saatnya kita menggunakan font-style dan font-weight dalam @font-face untuk menangani setiap gaya font.

Pertama-tama, yang terpenting adalah pastikan setiap font disimpan dengan nama yang mudah dan jelas berdasarkan gayanya:

Contoh cara memberi nama file pada setiap font berdasarkan gayanya.
Contoh pemberian nama file pada setiap font berdasarkan gayanya.

Setelah semua file diberi nama dengan baik, maka tugas selanjutnya adalah memanggil font, kemudian memberi masing-masing @font-face dengan font-family yang sama. Perbedaan setiap gaya hanya ditentukan oleh font-style dan font-weight:

/* Regular */
@font-face {
  font-family:'Ubuntu';
  src:url('ubuntu-regular.woff') format('woff');
  font-style:normal;
  font-weight:normal;
}

/* Italic */
@font-face {
  font-family:'Ubuntu';
  src:url('ubuntu-italic.woff') format('woff');
  font-style:italic;
  font-weight:normal;
}

/* Bold */
@font-face {
  font-family:'Ubuntu';
  src:url('ubuntu-bold.woff') format('woff');
  font-style:normal;
  font-weight:bold;
}

/* Bold Italic */
@font-face {
  font-family:'Ubuntu';
  src:url('ubuntu-bolditalic.woff') format('woff');
  font-style:italic;
  font-weight:bold;
}

Dan ini adalah tampilan font setelah keempat gaya dimuat:

Font terlihat lebih ideal setelah kita memuat empat buah gaya font.
Tampilan masing-masing gaya font sudah tampak ideal sekarang.

Pengguna Google Fonts 

Jika Anda adalah pengguna layanan Google Fonts, pada halaman Quick Use sudah terlihat dengan jelas beberapa pilihan gaya font. Ambil minimal empat gaya seperti ini untuk memastikan agar tampilan teks terlihat ideal satu sama lain:

Deret pilihan dalam bentuk kotak centang pada halaman Quick Use Google Fonts
Pilih gaya normal/regular, italic, bold dan bold-italic (jika ada).

Gunakan @font-face Seperlunya 

Font ideal paling minimal setidaknya hanya terdiri dari dua buah tipe font dengan satu gaya pada font pertama untuk tampilan judul dan empat gaya pada font ke dua untuk tampilan teks utama (5 @font-face).

Sintaks Aman @font-face 

Fontspring menyarankan kita untuk memuat beberapa font dengan tipe file tertentu secara bersamaan untuk memastikan agar @font-face bisa bekerja pada hampir semua peramban dan perangkat:

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

Meski hasilnya akan lebih stabil, namun tentu saja itu akan membuat file yang dipanggil menjadi bertambah banyak. Jika target pembaca Anda hanya sebatas pada pemakai desktop, maka file font dengan format WOFF saja sudah cukup dan bisa lolos pada semua peramban modern.

Catatan Tambahan 

Saat praktek, biasanya Anda akan menemui beberapa masalah seperti ini:

  1. CSS @font-face Not Working with Firefox
  2. CSS @font-face, Fungsi src:local('#')

Lisensi Font 

Font merupakan karya seni dan itu bisa saja masuk ke dalam kategori komersial (seperti halnya komik), atau terlarang untuk ditampilkan ke dalam media berupa web, sehingga kita harus tetap berhati-hati dalam menampilkan font eksternal ke dalam halaman web. Untuk sumber font berlisensi gratis yang bisa digunakan dengan aman baik secara pribadi maupun komersial bisa dengan mudah Anda dapatkan di Google Fonts dan FontSquirrel. Beberapa ada juga yang dibuat di Deviant Art. Mungkin itu font buatan para hobiis.

12 Komentar

Anonim

Wah, dapat info baru nih, \o/

Anonim

Cara mengetahui Berlisensi dan tidak itu bagaimana bang..??
Kerena dari dulu pingin juga pakai dan upload sendiri tapi takutnya yach itu Licensi dan hingga hari saya pilih pakai yang bawaan blogger...

Unknown

Penerapan nya sederhana ya, tapi banyak orang yang menggunakan nya secara berlebihan. :)

Unknown

apa fungsi memakai @font-face ?, apakah blog kita jadi ringgan ?

Bakteri

Bang saya mau nanya . kok saya buat font sendiri dengan fontcreator . jadi huruf A sampe E saya ganti dengan Icon . tapi pas saya import dengan
@font-face {
font-family: 'tukangbasic_fontregular';
src: url('https://edinofri-2014.googlecode.com/svn/trunk/tukangbasic_font-webfont.eot');
src: url('https://edinofri-2014.googlecode.com/svn/trunk/tukangbasic_font-webfont.eot?#iefix') format('embedded-opentype'),
url('https://edinofri-2014.googlecode.com/svn/trunk/tukangbasic_font-webfont.woff') format('woff'),
url('https://edinofri-2014.googlecode.com/svn/trunk/tukangbasic_font-webfont.ttf') format('truetype'),
url('https://edinofri-2014.googlecode.com/svn/trunk/tukangbasic_font-webfont.svg#tukangbasic_fontregular') format('svg');
font-weight: normal;
font-style: normal;

}

di firefox gak bisa tapi di chrome bisa . ada saran gak kak ^_^

sOe

informasine sangat2 jelas dan membantu kaum alit...top markotob deh masss!
matursuwun nggih..:D :-bd

Muhammad Qhodi

Mas taufik, saya ada pertanyaan mengenai font. Saya menggunakan iPhone 4s untuk melihat responsive blog, tetapi jika layarnya saya lanskap di beberapa bagian font tampak lebih besar. DTE juga sama.

Ini pada mode potret

Ini pada mode lanskap

Saya tes wikipedia, tetapi font mereka tetap walau HP dalam mode Potret atau lanskap. Bwt blog DTE tidak bisa dimuat dalam safari, tampilannya hanya setengah (tidak bisa discrol kebawah)

Taufik Nurrohman

Sepertinya itu bawaan dari perangkat mas. Coba cek https://stackoverflow.com/a/6210810

Untuk bug di Safari memang sudah lama. Saya masih belum bisa mengatasinya. Kemungkinan besar karena efek samping dari layout fixed-fluid yang dibuat menggunakan teknik CSS lama pada blog ini.

Muhammad Qhodi

Jadi kita menggunakan code
body {
-webkit-text-size-adjust: 100%;
}

Pada bagian responsive mas? Kemarin saya menggunakan kode ini, pantes gak bekerja.

/* Typographical Elements */
html{font-size:62.5%}

/* Chrome fix */
body > div {font-size:1.6rem}

Terima kasih mas ;)

Komentar telah ditutup.