Yazı tipi kaynakları

Yazı tipi kaynağı, uygulamanızda kullanabileceğiniz özel bir yazı tipi tanımlar. Yazı tipleri, ayrı yazı tipi dosyaları veya yazı tipi ailesi olarak bilinen ve XML'de tanımlanan bir yazı tipi dosyaları koleksiyonu olabilir.

Ayrıca XML'de yazı tiplerinin nasıl tanımlanacağını veya bunun yerine İndirilebilir Yazı Tipleri'nin nasıl kullanılacağını öğrenin.

Gruplandırılmış yazı tipi

Yazı tiplerini bir uygulamada kaynaklar olarak gruplandırabilirsiniz. Yazı tipleri R dosyasında derlenir ve sistemde otomatik olarak kaynak şeklinde kullanılabilir. Daha sonra font kaynak türünün yardımıyla bu yazı tiplerine erişebilirsiniz.

dosya konumu:
res/font/filename.ttf (.ttf, .ttc, .otf veya .xml)
Dosya adı, kaynak kimliği olarak kullanılır.
kaynak referansı:
XML olarak: @[package:]font/font_name
söz dizimi:
<?xml version="1.0" encoding="utf-8"?>
<font-family>
  <font
    android:font="@[package:]font/font_to_include"
    android:fontStyle=["normal" | "italic"]
    android:fontWeight="weight_value" />
</font-family>
öğeler:
<font-family>
Zorunlu. Bu, kök düğüm olmalıdır.

Özellik yok.

<font>
Aile içinde tek bir yazı tipini tanımlar. Alt düğüm içermiyor.

Özellikler:

android:fontStyle
Anahtar kelime. Yazı tipi stilini tanımlar. Bu özellik, yazı tipi yığına yüklendiğinde kullanılır ve yazı tipinin başlık tablolarındaki tüm stil bilgilerini geçersiz kılar. Özelliği belirtmezseniz uygulama, yazı tipinin başlık tablolarındaki değeri kullanır. Sabit değer normal veya italic olur.
android:fontWeight
Tamsayı. Yazı tipinin ağırlığı. Bu özellik, yazı tipi yığına yüklendiğinde kullanılır ve yazı tipinin başlık tablolarındaki ağırlık bilgilerini geçersiz kılar. Özellik değeri, 100 ile 900 arasında (100 ve 900 dahil) 100'ün katı olmalıdır. Özelliği belirtmezseniz uygulama, yazı tipinin başlık tablolarındaki değeri kullanır. En yaygın değerler, normal ağırlık için 400 ve kalın ağırlık için 700'dir.
örnek:
XML dosyasının res/font/lobster.xml konumuna kaydedildi:
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
    <font
        android:fontStyle="normal"
        android:fontWeight="400"
        android:font="@font/lobster_regular" />
    <font
        android:fontStyle="italic"
        android:fontWeight="400"
        android:font="@font/lobster_italic" />
</font-family>

Yazı tipini TextView öğesine uygulayan XML dosyası res/layout/ olarak kaydedildi:

<?xml version="1.0" encoding="utf-8"?>
<EditText
    android:fontFamily="@font/lobster"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello, World!" />

İndirilebilir yazı tipi

İndirilebilir bir yazı tipi kaynağı, bir uygulamada kullanabileceğiniz özel bir yazı tipi tanımlar. Bu yazı tipi, uygulamanın kendisinde kullanılamaz. Bunun yerine, yazı tipi bir yazı tipi sağlayıcıdan alınır.

dosya konumu:
res/font/filename.xml Dosya adı, kaynak kimliğidir.
kaynak referansı:
XML olarak:@[package:]font/font_name
söz dizimi:
<?xml version="1.0" encoding="utf-8"?>
<font-family
    android:fontProviderAuthority="authority"
    android:fontProviderPackage="package"
    android:fontProviderQuery="query"
    android:fontProviderCerts="@[package:]array/array_resource" />
öğeler:
<font-family>
Zorunlu. Bu, kök düğüm olmalıdır.

özellikler:

android:fontProviderAuthority
Dize. Zorunludur. Yazı tipi isteğini tanımlayan yazı tipi sağlayıcısının yetkilisi.
android:fontProviderPackage
Dize. Zorunludur. İstek için kullanılacak yazı tipi sağlayıcının paket adı. Bu, sağlayıcının kimliğini doğrulamak için kullanılır.
android:fontProviderQuery
Dize. Zorunludur. Yazı tipinin dize sorgusu. Bu dizenin biçimiyle ilgili yazı tipi sağlayıcınızın dokümanlarına bakın.
android:fontProviderCerts
Dizi kaynağı. Zorunludur. Bu sağlayıcıyı imzalamak için kullanılan sertifikalar için karma kümeleri tanımlar. Bu kimlik, sağlayıcının kimliğini doğrulamak için kullanılır ve yalnızca sağlayıcı sistem görüntüsüne dahil değilse gereklidir. Değer, tek bir listeye (dize dizisi kaynağı) veya liste listesine (dizi kaynağı) işaret edebilir. Buradaki her bir liste, bir imza karmaları koleksiyonunu temsil eder. Bu değerler için yazı tipi sağlayıcınızın dokümanlarına bakın.
örnek:
XML dosyasının res/font/lobster.xml konumuna kaydedildi:
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
    android:fontProviderAuthority="com.example.fontprovider.authority"
    android:fontProviderPackage="com.example.fontprovider"
    android:fontProviderQuery="Lobster"
    android:fontProviderCerts="@array/certs">
</font-family>

res/values/ olarak kaydedilmiş ve sertifika dizisini tanımlayan XML dosyası:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="certs">
      <item>MIIEqDCCA5CgAwIBAgIJA071MA0GCSqGSIb3DQEBBAUAMIGUMQsww...</item>
    </string-array>
</resources>

Yazı tipini TextView öğesine uygulayan XML dosyası res/layout/ olarak kaydedildi:

<?xml version="1.0" encoding="utf-8"?>
<EditText
    android:fontFamily="@font/lobster"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello, World!" />