Ver Mensaje Individual
  #1  
Antiguo 16-03-2007
Avatar de MDSato
MDSato MDSato is offline
Miembro
 
Registrado: nov 2005
Posts: 17
Reputación: 0
MDSato Va por buen camino
Alternativa a TEXTOUT que soporte Unicode

Buenos días,

Estoy modificando mi aplicación para que sea capaz de presentar textos UNICODE en pantalla. La aplicación en concreto debe generar un bitmap a partir del texto almacenado en un widestring. El problema que me encuentro es que hasta ahora utilizaba el método TEXTOUT del canvas para generar el texto en el bitmap, y por lo visto esta opción no soporta UNICODE, con lo cual se pierden los caracteres especiales.
¿Qué alternativa podría utilizar? Es que no estoy muy puesto en cuanto a representación gráfica y aunque he estado mirando la documentación, no me hago una idea... Pido disculpas...
Os dejo un ejemplo del código para que tengáis una idea más clara:

Código:
AuxBitmap := TBitmap.Create;
AuxBitmap.Canvas.Font.Name  := NombreFuente;
AuxBitmap.Canvas.Font.Size  := PuntosPant;
AuxBitmap.Canvas.Font.Style := EstiloFuente;
//Aquí asigno el Charset
libIncluirCharset(AuxBitmap.Canvas.Font,Charset);
//Aquí obtengo las dimensiones que tendrá el bitmap a partir de la fuente utilizada
dibTextWidthHeight(auxbitmap.canvas,texto,anchoF,altoF);
AuxBitmap.Width  := anchoF;
AuxBitmap.Height := altoF;
 
//Aquí es donde TEXTO, que es unicode, pierde los caracteres especiales en pantalla...
AuxBitmap.Canvas.TextOut(0,0,Texto); 
////////////////////////////////////////////
Muchas gracias de antemano por vuestra ayuda.
Un saludo.
Responder Con Cita