O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Recursos de fonte

Um recurso de fonte define uma fonte personalizada que você pode usar no seu app. As fontes podem ser arquivos de fontes individuais ou um conjunto de arquivos de fontes, conhecido como uma família de fontes e definido em XML.

Veja também como definir fontes em XML ou usar fontes para download.

Pacote de fontes

Você pode empacotar fontes como recursos em um app. As fontes são compiladas em arquivos R e ficam disponíveis automaticamente no sistema como um recurso. Em seguida, você pode acessar essas fontes com ajuda do tipo de recurso font.

localização do arquivo:
res/font/filename.ttf (.ttf, .ttc, .otf ou .xml)
O nome do arquivo é usado como ID de recurso.
referência de recurso:
Em XML: @[package:]font/font_name
sintaxe:
    <?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>
    
elementos:
<font-family>
Obrigatório. Precisa ser o nó raiz.

Nenhum atributo.

<font>
Define uma única fonte dentro de uma família. Não contém nós filhos.

atributos:

android:fontStyle
Palavra-chave. Define o estilo da fonte. Esse atributo é usado quando a fonte é carregada na pilha de fontes e substitui qualquer informação de estilo nas tabelas de cabeçalho da fonte. Se você não especificar o atributo, o app usará o valor das tabelas de cabeçalho da fonte. O valor da constante precisa ser normal ou italic.
android:fontWeight
Número inteiro. A espessura da fonte. Esse atributo é usado quando a fonte é carregada na pilha de fontes e substitui qualquer informação de espessura nas tabelas de cabeçalho da fonte. O valor do atributo precisa ser um número positivo, múltiplo de 100 e estar entre 100 e 900. Se você não especificar o atributo, o app usará o valor das tabelas do cabeçalho da fonte. Os valores mais comuns são 400 para uma espessura normal e 700 para uma espessura em negrito.
exemplo:
Arquivo XML salvo em res/font/lobster.xml:
    <?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>
    

O arquivo XML que aplica a fonte a um TextView é salvo em res/layout/:

    <?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!" />
    

Fonte para download

Um recurso de fonte para download define uma fonte personalizada que você pode usar em um app. Essa fonte não está disponível no app, mas é recuperada de um provedor de fontes.

localização do arquivo:
res/font/filename.xml O nome do arquivo é usado como ID de recurso.
referência de recurso:
Em XML:@[package:]font/font_name
sintaxe:
    <?xml version="1.0" encoding="utf-8"?>
    <font-family
        android:fontProviderAuthority="authority"
        android:fontProviderPackage="package"
        android:fontProviderQuery="query"
        android:fontProviderCerts="@[package:]array/array_resource" />
    
elementos:
<font-family>
Obrigatório. Precisa ser o nó raiz.

atributos:

android:fontProviderAuthority
String. Obrigatório. É a autoridade do provedor da fonte que define a solicitação de fonte.
android:fontProviderPackage
String. Obrigatório. O nome do pacote do provedor da fonte que será usado para a solicitação. Isso é usado para verificar a identidade do provedor.
android:fontProviderQuery
String. Obrigatório. A consulta de string da fonte. Consulte a documentação do seu provedor de fontes em relação ao formato dessa string.
android:fontProviderCerts
Recurso de matriz. Obrigatório. Define os conjuntos de hashes dos certificados usados para autorizar esse provedor. Isso é usado para verificar a identidade do provedor e só é necessário se o provedor não fizer parte da imagem do sistema. O valor pode apontar para uma lista única (recurso de matriz de string) ou uma lista de listas (recurso de matriz), em que cada lista representa um conjunto de hashes de assinatura. Consulte a documentação do seu provedor de fontes para ver esses valores.
exemplo:
Arquivo XML salvo em res/font/lobster.xml:
    <?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>
    

O arquivo XML que define a matriz cert é salvo em res/values/:

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

O arquivo XML que aplica a fonte a um TextView é salvo em res/layout/:

    <?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!" />