Pregunta

Quiero usar fuentes externas en mi aplicación. Intenté agregar nuevas fonts usando AssetManager pero no funcionó. A continuación se muestra mi código:

Typeface face;

face = Typeface.createFromAsset(getAssets(), "font.otf");

textview.setTypeface(face);

pero no muestra el texto ...

Por favor, ayúdame con esto.

¿Fue útil?

Solución

AFAIK, Android no es compatible con OpenType. Utilice una fuente TrueType en su lugar.


ACTUALIZACIÓN: Aparentemente, ahora OpenType es compatible, al menos algo. Originalmente no era compatible, por lo que querrá probar su fuente a fondo en cualquier versión de Android que admita su aplicación.

Otros consejos

Para acceder fácilmente a nuestra fuente, necesitamos agruparla con nuestra aplicación de manera que nuestro código pueda cargarla posteriormente. Para hacer esto, creamos una carpeta de Fuentes en nuestros activos directamente

Este puede ser tu .xml

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
    android:id="@+id/DefaultFontText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="30sp"
    android:text="Here is some text." />
<TextView
    android:id="@+id/CustomFontText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="30sp"
    android:text="Here is some text.">
    </TextView>

Escriba el siguiente código en su clase .java

Typeface tf = Typeface.createFromAsset(getAssets(),
            "fonts/BPreplay.otf");
    TextView tv = (TextView) findViewById(R.id.CustomFontText);
    tv.setTypeface(tf);

Android es compatible con OTF (no estoy seguro de qué versión de SDK pero definitivamente funciona con 1.6), estaba usando una fuente OTF de máquina de escribir durante un tiempo, pero el renderizado no es tan preciso como con la versión TTF que terminé usando (a través del convertidor de fuente en línea). La línea de base estaba por todas partes (algunas letras eran 2 píxeles más altas que otras), y en teléfonos LDPI como el HTC Wildfire, el problema se agranda mucho debido a los píxeles más grandes.

Estaba teniendo el mismo problema. Mi fuente tampoco funcionaba en Android, pero la necesitaba para funcionar. Utilizando un editor de fuentes, copié los caracteres de mi fuente en la fuente que viene con el ejemplo FontSampler de Android-src-2_1. Funcionó perfectamente.

Aunque admitiré que mi método era cuestionable desde el punto de vista de la propiedad intelectual, en realidad no terminé usando la fuente original, ya que todos los caracteres fueron reemplazados y todas las referencias a la fuente anterior también fueron reemplazadas . Intenté 'mirar' la forma en que se definieron las dos fuentes, pero tampoco todas las variables de fuente coincidieron. Entonces, en el ned, usé un esqueleto de la fuente original como plantilla para la nueva fuente.

Android admite los formatos otf y ttf, los experimenté ambos.

tv3 = (TextView)findViewById(R.id.tv1);
    Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/TRAJANPRO-BOLD.OTF");
    tv3.setTypeface(typeFace);

este es el paso que utilicé para los idiomas inglés y local

Utilice Fontinator, admite las fuentes OTF y TTF de la cabina

Es una biblioteca de Android que facilita el uso de fuentes personalizadas.

https://github.com/svendvd/Fontinator

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top