Load the CPAL palette correctly so COLRv0 emoji render in color
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- cpp
- Ambito
- computer-graphics
Direzione di ricerca
Inizia in source/text/font_hb.cpp, dal caricamento della palette CPAL nel costruttore di HBFont. Controlla come hb_ot_color_palette_get_colors segnala la dimensione della palette e come viene popolato m_paletteColors; l’issue include il punto di chiamata pertinente. Il lavoro è completato quando le palette delle emoji COLRv0 vengono caricate correttamente e i relativi livelli vengono renderizzati a colori.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Load the CPAL palette correctly so COLRv0 emoji render in color.
- source/text/font_hb.cpp: load the CPAL palette: hb_ot_color_palette_get_colors returns the palette size, the in/out count only says how many colors to copy, so COLRv0 emoji (Twemoji, Segoe UI Emoji) drew every layer black
diff --git a/source/text/font_hb.cpp b/source/text/font_hb.cpp
index f490b9cb1a4743da985be271d839cd0fd2c4cf8e..bf18635190af367d266106d41d4327f259b7816d 100644
--- a/source/text/font_hb.cpp
+++ b/source/text/font_hb.cpp
@@ -844,8 +844,8 @@ HBFont::HBFont(
m_hasPNG = hb_ot_color_has_png(face);
if (m_hasColorLayers || m_hasColorPaint)
{
- unsigned int colorCount = 0;
- hb_ot_color_palette_get_colors(face, 0, 0, &colorCount, nullptr);
+ unsigned int colorCount =
+ hb_ot_color_palette_get_colors(face, 0, 0, nullptr, nullptr);
if (colorCount > 0)
{
m_paletteColors.resize(colorCount);
- Lingua principale
- C++
- Stelle
- 1.2k
- Fork
- 133
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rive-app/rive-runtime
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 83/100
rive-app/rive-runtime#143 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
rive-app/rive-runtime#141 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
rive-app/rive-runtime#140 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
rive-app/rive-runtime#137 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
rive-app/rive-runtime#134 ·
Tutte le issue di rive-app/rive-runtime
Issue simili
-
libc++ test-suite
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
llvm/llvm-project#239851 ·
I maintainer di solito rispondono entro 1 giorno
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug :bug:
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
comp-documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
ClickHouse/ClickHouse#129829 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
EchoTools/nevr-runtime#2263 ·
I maintainer di solito rispondono entro 1 giorno