emoticons e smiles en un get son posibles?
- karinha
- Posts: 8057
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 10 times
- Contact:
emoticons e smiles en un get son posibles?
emoticons e smiles en un get son posible?
Gracias, tks.
Regards, saludos.
Gracias, tks.
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- Antonio Linares
- Site Admin
- Posts: 42836
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 169 times
- Been thanked: 123 times
- Contact:
Re: emoticons e smiles en un get son posibles?
Estimado Joao,
Puedes mostrar emojis si usas una fuente que los soporte, como Segoe UI Emoji o Segoe UI Symbol y tu texto está codificado como Unicode, pero no se verán con colores.
Para verlos con colores tendrás que usar un control RichEdit.
Puedes mostrar emojis si usas una fuente que los soporte, como Segoe UI Emoji o Segoe UI Symbol y tu texto está codificado como Unicode, pero no se verán con colores.
Para verlos con colores tendrás que usar un control RichEdit.
- karinha
- Posts: 8057
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 10 times
- Contact:
Re: emoticons e smiles en un get son posibles?
Gracias maestro. ¿Algún ejemplo práctico para "jugar" con ello?
Regards, saludos.
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- Antonio Linares
- Site Admin
- Posts: 42836
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 169 times
- Been thanked: 123 times
- Contact:
Re: emoticons e smiles en un get son posibles?
Para usar emoticones (o emojis) en un control RichEdit (como el que se usa en aplicaciones de Windows con lenguajes como C++, Delphi, o C#), necesitas considerar que este control soporta texto enriquecido (RTF) y, en versiones más modernas, puede manejar caracteres Unicode, que es donde se codifican los emojis. Aquí te explico cómo hacerlo de forma general, asumiendo que estás programando en un entorno como Windows:
Pasos básicos:
Asegúrate de que el control soporte Unicode:
El control RichEdit debe ser de una versión compatible (como RichEdit 3.0 o superior), ya que las versiones antiguas no manejan bien los caracteres Unicode necesarios para los emojis.
En Windows, esto suele implicar usar la clase RICHEDIT50W (en lugar de la antigua RICHEDIT).
Inserta los emojis como texto Unicode:
Los emojis son caracteres Unicode, representados por códigos específicos (por ejemplo, el emoji "
" es U+1F60A).
Puedes insertarlos directamente como texto en el control, ya sea escribiendo el carácter (si tu teclado lo permite) o usando su código Unicode en el código fuente.
Ejemplo en diferentes lenguajes:
C++ (WinAPI):
cpp
HWND richEdit = CreateWindowEx(0, MSFTEDIT_CLASS, L"",
ES_MULTILINE | WS_VISIBLE | WS_CHILD | WS_BORDER,
0, 0, 200, 100, hwndParent, NULL, hInstance, NULL);
SendMessage(richEdit, EM_SETTEXTMODE, TM_PLAINTEXT | TM_RICHEDIT, 0);
SetWindowText(richEdit, L"¡Hola!
"); // Emoji como texto Unicode
Aquí, L"
" usa la codificación UTF-16 (wide characters) que Windows soporta nativamente.
Delphi:
delphi
RichEdit1.Text := '¡Hola!
';
Solo asegúrate de que el proyecto esté configurado para Unicode (lo cual es predeterminado en versiones modernas de Delphi).
C# (Windows Forms):
csharp
richTextBox1.Text = "¡Hola!
";
En .NET, el control RichTextBox soporta Unicode de forma nativa, así que simplemente asigna el texto con emojis.
Usar códigos Unicode explícitos (si no puedes escribir el emoji directamente):
Si estás generando el texto dinámicamente o no puedes escribir emojis directamente en el código, usa sus valores Unicode. Por ejemplo:
En C++: L"\uD83D\uDE0A" (para "
").
En C#: "Hola " + char.ConvertFromUtf32(0x1F60A) + " mundo".
Consideraciones adicionales:
Fuente: Asegúrate de que la fuente usada en el RichEdit soporte emojis (como Segoe UI Emoji en Windows). Puedes configurarla con SendMessage(richEdit, WM_SETFONT, ...) en WinAPI o la propiedad Font en entornos como .NET o Delphi.
Codificación: Si copias y pegas emojis desde una fuente externa, verifica que el archivo fuente del programa esté guardado en UTF-8 o UTF-16 para evitar problemas de codificación.
Soporte del sistema operativo: Los emojis se renderizan bien en Windows 10 y 11. En versiones más antiguas (como Windows 7), puede que necesites instalar fuentes adicionales o que no se muestren correctamente.
Ejemplo práctico (C#):
csharp
richTextBox1.Font = new Font("Segoe UI Emoji", 12);
richTextBox1.Text = "¡Probando emojis!

";
Pasos básicos:
Asegúrate de que el control soporte Unicode:
El control RichEdit debe ser de una versión compatible (como RichEdit 3.0 o superior), ya que las versiones antiguas no manejan bien los caracteres Unicode necesarios para los emojis.
En Windows, esto suele implicar usar la clase RICHEDIT50W (en lugar de la antigua RICHEDIT).
Inserta los emojis como texto Unicode:
Los emojis son caracteres Unicode, representados por códigos específicos (por ejemplo, el emoji "
Puedes insertarlos directamente como texto en el control, ya sea escribiendo el carácter (si tu teclado lo permite) o usando su código Unicode en el código fuente.
Ejemplo en diferentes lenguajes:
C++ (WinAPI):
cpp
HWND richEdit = CreateWindowEx(0, MSFTEDIT_CLASS, L"",
ES_MULTILINE | WS_VISIBLE | WS_CHILD | WS_BORDER,
0, 0, 200, 100, hwndParent, NULL, hInstance, NULL);
SendMessage(richEdit, EM_SETTEXTMODE, TM_PLAINTEXT | TM_RICHEDIT, 0);
SetWindowText(richEdit, L"¡Hola!
Aquí, L"
Delphi:
delphi
RichEdit1.Text := '¡Hola!
Solo asegúrate de que el proyecto esté configurado para Unicode (lo cual es predeterminado en versiones modernas de Delphi).
C# (Windows Forms):
csharp
richTextBox1.Text = "¡Hola!
En .NET, el control RichTextBox soporta Unicode de forma nativa, así que simplemente asigna el texto con emojis.
Usar códigos Unicode explícitos (si no puedes escribir el emoji directamente):
Si estás generando el texto dinámicamente o no puedes escribir emojis directamente en el código, usa sus valores Unicode. Por ejemplo:
En C++: L"\uD83D\uDE0A" (para "
En C#: "Hola " + char.ConvertFromUtf32(0x1F60A) + " mundo".
Consideraciones adicionales:
Fuente: Asegúrate de que la fuente usada en el RichEdit soporte emojis (como Segoe UI Emoji en Windows). Puedes configurarla con SendMessage(richEdit, WM_SETFONT, ...) en WinAPI o la propiedad Font en entornos como .NET o Delphi.
Codificación: Si copias y pegas emojis desde una fuente externa, verifica que el archivo fuente del programa esté guardado en UTF-8 o UTF-16 para evitar problemas de codificación.
Soporte del sistema operativo: Los emojis se renderizan bien en Windows 10 y 11. En versiones más antiguas (como Windows 7), puede que necesites instalar fuentes adicionales o que no se muestren correctamente.
Ejemplo práctico (C#):
csharp
richTextBox1.Font = new Font("Segoe UI Emoji", 12);
richTextBox1.Text = "¡Probando emojis!
- cnavarro
- Posts: 6658
- Joined: Wed Feb 15, 2012 8:25 pm
- Location: España
- Has thanked: 9 times
- Been thanked: 12 times
Re: emoticons e smiles en un get son posibles?
Estimado Joao
En los says, msginfo, etc. si es posible, pero en los gets, como bien sabes, todas las aplicaciones para incluirlo en un campo de tipo input ( get en harbour/fw ) usan un boton para que el usuario seleccione el emoji que desea, imagino que será para evitar tener que validar/analizar lo que se ha introducido y buscar las cadenas unicode que dan lugar al emoji
Tengo que hacer alguna prueba y te comento
En los says, msginfo, etc. si es posible, pero en los gets, como bien sabes, todas las aplicaciones para incluirlo en un campo de tipo input ( get en harbour/fw ) usan un boton para que el usuario seleccione el emoji que desea, imagino que será para evitar tener que validar/analizar lo que se ha introducido y buscar las cadenas unicode que dan lugar al emoji
Tengo que hacer alguna prueba y te comento
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- karinha
- Posts: 8057
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 10 times
- Contact:
Re: emoticons e smiles en un get son posibles?
Gracias amados maestro.cnavarro wrote: Mon Apr 07, 2025 12:23 pm Estimado Joao
En los says, msginfo, etc. si es posible, pero en los gets, como bien sabes, todas las aplicaciones para incluirlo en un campo de tipo input ( get en harbour/fw ) usan un boton para que el usuario seleccione el emoji que desea, imagino que será para evitar tener que validar/analizar lo que se ha introducido y buscar las cadenas unicode que dan lugar al emoji
Tengo que hacer alguna prueba y te comento
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- karinha
- Posts: 8057
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 10 times
- Contact:
Re: emoticons e smiles en un get son posibles?
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- cnavarro
- Posts: 6658
- Joined: Wed Feb 15, 2012 8:25 pm
- Location: España
- Has thanked: 9 times
- Been thanked: 12 times
Re: emoticons e smiles en un get son posibles?
karinha wrote: Mon Apr 07, 2025 1:09 pmGracias amados maestro.cnavarro wrote: Mon Apr 07, 2025 12:23 pm Estimado Joao
En los says, msginfo, etc. si es posible, pero en los gets, como bien sabes, todas las aplicaciones para incluirlo en un campo de tipo input ( get en harbour/fw ) usan un boton para que el usuario seleccione el emoji que desea, imagino que será para evitar tener que validar/analizar lo que se ha introducido y buscar las cadenas unicode que dan lugar al emoji
Tengo que hacer alguna prueba y te comento
Regards, saludos.

Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- karinha
- Posts: 8057
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 10 times
- Contact:
Re: emoticons e smiles en un get son posibles?
Con esta FONTE, funciona GETS y SAYS:
https://www.fontyukle.net/downloadfont/Emoticons
No funciona con SEGOE UI EMOJI, creo que el que tengo instalado no está completo, ¿donde puedo descargar el SEGOE UI EMOJI completo?
Regards, saludos.
https://www.fontyukle.net/downloadfont/Emoticons
No funciona con SEGOE UI EMOJI, creo que el que tengo instalado no está completo, ¿donde puedo descargar el SEGOE UI EMOJI completo?
Code: Select all | Expand
// C:\FWH\SAMPLES\EMOJI.PRG
#include "FiveWin.Ch"
FUNCTION Main()
LOCAL oDlg, oGet1, oGet2, oGet3, oGet4, nVar2 := 0, nVar3 := 0, ;
dVar4 := Date(), oFont, oSay
LOCAL cEmoj := Space( 100 )
FW_SetUnicode( .T. )
cEmoj := "Emoji: 8-) - }:-) :angry: @};- "
// DEFINE FONT oFont NAME "Segoe UI Emoji" SIZE 0, -14 // No funciona
// Link: https://www.fontyukle.net/downloadfont/Emoticons
DEFINE FONT oFont NAME "Emoticons" SIZE 0, -14 BOLD // Funciona
DEFINE DIALOG oDlg FROM 0, 0 TO 400, 400 PIXEL
@ 15, 15 GET oGet1 VAR cEmoj SIZE 200, 16 OF oDlg PIXEL FONT oFont
@ 40, 15 GET oGet2 VAR nVar2 PICTURE "99999" SIZE 50, 12 OF oDlg PIXEL
@ 65, 15 GET oGet3 VAR nVar3 PICTURE "99999.99" SIZE 50, 12 OF oDlg PIXEL right
@ 90, 15 GET oSay VAR cEmoj SIZE 150, 15 OF oDlg PIXEL FONT oFont NOBORDER
ACTIVATE DIALOG oDlg CENTERED
RETURN NIL
// FIN / END
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- cnavarro
- Posts: 6658
- Joined: Wed Feb 15, 2012 8:25 pm
- Location: España
- Has thanked: 9 times
- Been thanked: 12 times
Re: emoticons e smiles en un get son posibles?
Busca en google "Seguiemj.ttf"
pero he probado
pero he probado
Code: Select all | Expand
// No funciona
DEFINE FONT oFont NAME "Segoe UI Emoji Normal" SIZE 0, -14
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- karinha
- Posts: 8057
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 10 times
- Contact:
Re: emoticons e smiles en un get son posibles?
https://github.com/thedemons/merge_colo ... guiemj.ttf
NO FUNCIONA!
Regards, saludos.
NO FUNCIONA!
Code: Select all | Expand
// C:\FWH\SAMPLES\EMOJI.PRG
#include "FiveWin.Ch"
FUNCTION Main()
LOCAL oDlg, oGet1, oGet2, oGet3, oGet4, nVar2 := 0, nVar3 := 0, ;
dVar4 := Date(), oFont, oSay
LOCAL cEmoj := Space( 100 )
FW_SetUnicode( .T. )
cEmoj := "Emoji: 8-) - }:-) :angry: @};- "
// https://github.com/thedemons/merge_color_emoji_font/blob/main/seguiemj.ttf
DEFINE FONT oFont NAME "Segoe UI Emoji Normal" SIZE 0, -14 // No funciona
// Link: https://www.fontyukle.net/downloadfont/Emoticons
// DEFINE FONT oFont NAME "Emoticons" SIZE 0, -14 BOLD // Funciona
DEFINE DIALOG oDlg FROM 0, 0 TO 400, 400 PIXEL
@ 15, 15 GET oGet1 VAR cEmoj SIZE 200, 16 OF oDlg PIXEL FONT oFont
@ 40, 15 GET oGet2 VAR nVar2 PICTURE "99999" SIZE 50, 12 OF oDlg PIXEL
@ 65, 15 GET oGet3 VAR nVar3 PICTURE "99999.99" SIZE 50, 12 OF oDlg PIXEL right
@ 90, 15 GET oSay VAR cEmoj SIZE 150, 15 OF oDlg PIXEL FONT oFont NOBORDER
ACTIVATE DIALOG oDlg CENTERED
oFont:End()
RETURN NIL
// FIN / END
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- cnavarro
- Posts: 6658
- Joined: Wed Feb 15, 2012 8:25 pm
- Location: España
- Has thanked: 9 times
- Been thanked: 12 times
Re: emoticons e smiles en un get son posibles?
No, ya te lo he mencionado en mi post anterior
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- karinha
- Posts: 8057
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 10 times
- Contact:
Re: emoticons e smiles en un get son posibles?
Este funciona, pero todos los emojis son BLANCOS y NEGROS, terrible. jajajajajaja.
https://www.fontyukle.net/downloadfont/Emoticons
No importa, solo fue para probar. Gracias.
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341