Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Win32] Emojis not displayed in text string when GC.setAdvanced(true)

Abierto
#3,581 8 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
1-2 días
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
java
Área
backend, desktop

Línea de trabajo

Start by tracing GC.setAdvanced(true) and GC.drawText through SWT’s Windows-specific graphics implementation, then inspect related text-rendering tests. Reproduce the supplied snippet on Windows 11 with Java 21 and compare advanced mode on and off; done means the emoji renders in advanced mode without regressing existing text rendering.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Describe the bug
On Windows when GC.setAdvanced(true) an emoji is displayed as a square box.

To Reproduce
Run the Snippet below. Set e.gc.setAdvanced(false); to see the emoji.

import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class EmojiTest {
    
    public static void main(String[] args) {
        final Display display = new Display();

        final Shell shell = new Shell(display);
        shell.setText("SWT Test");
        shell.setLayout(new FillLayout());
        shell.setSize(300, 250);
        shell.setBackground(new Color(255, 255, 255));
        
        String emoji = Character.toString(0x1F600);
        
        shell.addPaintListener(e -> {
            e.gc.setAdvanced(true);
            e.gc.drawText("Hello World " + emoji, 20, 50);
        });
        
        shell.open();

        while(!shell.isDisposed()) {
            if(!display.readAndDispatch()) {
                display.sleep();
            }
        }

        display.dispose();
    }
}

Expected behavior
Should see the emoji when advanced mode is true

Screenshots

With advanced mode false:

Image

With advanced mode true:

Image

Environment:

  1. Select the platform(s) on which the behavior is seen:
    • All OS
    • Windows
    • Linux
    • macOS
  1. Additional OS info (e.g. OS version, Linux Desktop, etc)
    Windows 11
    Java 21
Lenguaje dominante
Java
Estrellas
202
Forks
206
Merge medio
14 h 7 min
PR fusionados (30 d)
103

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de eclipse-platform/eclipse.platform.swt

Todos los issues de eclipse-platform/eclipse.platform.swt

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.