Cómo representar una fuente desde la memoria de colección de fuentes privadas a controles editables

Esta es una continuación deCargar una fuente de recursos en PrivateFontCollection da como resultado la corrupción

La respuesta proporcionadaaquí es suficiente para los controles que tienen elUseCompatibleTextRendering método disponible, sin embargo, no parece estar disponible para otros controles comunes cuyo texto es el foco principal, como:

Vista de la listaCaja de textoRichTextBoxCaja combo... y muchos más...

He intentado la información deaquí que es básicamente jugar con elApplication.SetCompatibleTextRenderingDefault en lineaProgram.cs (nadie aclaró dónde está esta configuración por defecto, así que la estoy documentando aquí). También he jugado con los controles de texto de Telerik, DevExpress e Infragistics, todos excepto Telerik no tienen la capacidad de representación de texto compatible incorporada. El control de Teleriks tiene el método, sin embargo, tiene un efecto cero, incluida la falta de configuración de forecolor a lo que está almacenado en la propiedad (un animal diferente, solo observando la falla del control radTextBox de Telerik).

Parece que no importa cómo lo corte, cualquier control que sea realmente útil con el texto no representará el texto mostrando correctamente los caracteres cuadrados como se muestra en la publicación original mencionada anteriormente.

En resumen :

La fuente se está cargando desde un recurso a la memoria en PrivateFontCollectionLa aplicación no se bloquea

La misma fuente se está utilizando con éxito en las etiquetas (UseCompatibleTextRendering funciona en ellas), en el mismo formulario, en el mismo proyecto.

Los controles que se ven afectados por este problema (¿nuevo?) Son estrictamente cualquier control que potencialmente se pueda 'escribir', como TextEdit, ListView, RichText, Combo, etc.

Cuando hablo de alternar y jugar o jugar, lo que esto significa es que he intentado todas las combinaciones posibles de dichos controles y / o código que me han proporcionado. Por ejemplo:Application.SetCompatibleTextRenderingDefault tiene solo 3 combinaciones posibles en sí mismo.(true) (false) o completamente omitido. Después de haber completado esas 3 combinaciones, procedí (solución de problemas básicos aquí pero encuentro necesario explicar para cubrir todas las bases) para agregar un control Telerik, luego probar todas las combinaciones en el control Telerik, junto con todas las combinaciones deApplication.SetCompatibleTextRenderingDefault mando. El número de pruebas es exponencial, ya que es el número de posibles combinaciones de posibilidades de representación multiplicado por el número de controles intentados multiplicado por el número de posibilidades de representación que tiene cada uno de esos controles, y así sucesivamente.

Respuestas a la pregunta(1)

Su respuesta a la pregunta