Pregunta

Cuando llamo el método PrivateFontCollection.AddFontFile en Mono.net Siempre devuelve una familia de fuentes estándar. Este error ya se ha informado en varias páginas web, pero por lo que yo sé sin una manera de resolverlo. El fallo en si mismo no es fijo en los Mono-bibliotecas todavía. ¿Hay alguna solución para esto?

EDIT: Como reacción a la respuesta del hombre de confianza voy a publicar el código:

PrivateFontCollection pfc = new PrivateFontCollection();
pfc.AddFontFile("myFontFamily.ttf");
myFontFamily = pfc.Families[0x00];
Font myFont = new Font(myFontFamily,14.0f);

Sé que este código no tendrán ningún problema en el marco Microsoft.Net, pero cuando se ejecuta en Mono, sólo se da una familia de fuentes estándar (creo que es Arial) con el nombre de myFontFamily.ttf

¿Fue útil?

Solución

encontrado este post de Google. Si te sirve de consuelo, yo estoy experimentando el mismo problema con AddMemoryFont (bien funciona en Windows, mono me da una fuente genérica.) Si te sirve de consuelo, parece que se trata de un problema con Mono, y no su código.

Digging través de la fuente, System.Windows.Drawing.PrivateFontCollection es más que nada una envoltura alrededor de GDIPlus.GdipPrivateAddFontFile, que en sí es una envoltura alrededor de FcConfigAppFontAddFile fontconfig. La razón por la que no aparece a tirar cualquier error es que GDIPlus no comprueba un valor devuelto de fontconfig, por lo que parece fontconfig no es capaz de leer la fuente por cualquier razón, pero GDIPlus no sabe nada de ella , por lo que tampoco PrivateFontCollection.

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