Estoy tratando de obtener un conjunto de fuentes Neo Sans Pro que funcionen en el iPhone. Tengo cuatro pesos: Light, Regular, Medium, Bold como archivos OTF (NeoSansPro-Light.otf, -Regular.otf, etc.). Los archivos están incluidos en la compilación y están registrados en info.plist.Las fuentes personalizadas no se muestran correctamente en iOS
Llamar a [UIFont fontNamesForFamilyName:@"Neo Sans Pro"]
devuelve una matriz con 4 entradas, p. "NeoSansPro-Light".
Puedo recuperar objetos de fuentes para cada una de estas cadenas usando UIFont fontWithName:size:
.
Sin embargo, cuando dibujo texto con ellos, las versiones Light, Regular y Medium dibujan exactamente lo mismo, y se parecen a la versión Light. La versión Negrita se dibuja de manera diferente.
De acuerdo con el Libro de fuentes, cada archivo de fuente contiene diferentes glifos.
Estoy completamente perplejo, ¿alguna pista de lo que tengo que hacer?
[Agregado] Un poco más de investigación:
NSArray *fonts = [UIFont fontNamesForFamilyName:@"Neo Sans Pro"];
for (NSString *fname in fonts) {
UIFont *font = [UIFont fontWithName:fname size:12.0];
NSLog(@"name: %@ font: %@", fname, font);
}
La ejecución de este código da el siguiente resultado de registro:
name: NeoSansPro-Light font: <UICFFont: 0x66304a0> font-family: "Neo Sans Pro"; font-weight: normal; font-style: normal; font-size: 12px
name: NeoSansPro-Regular font: <UICFFont: 0x66304a0> font-family: "Neo Sans Pro"; font-weight: normal; font-style: normal; font-size: 12px
name: NeoSansPro-Medium font: <UICFFont: 0x66304a0> font-family: "Neo Sans Pro"; font-weight: normal; font-style: normal; font-size: 12px
name: NeoSansPro-Bold font: <UICFFont: 0xaa06070> font-family: "Neo Sans Pro"; font-weight: bold; font-style: normal; font-size: 12px
Así que las tres fuentes que muestran la misma realidad son los mismos. Pero hay cuatro pesos de fuente y cuatro fuentes en la compilación.
También se intentó como archivos TTF, pero sucedió lo mismo –