[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Google's NotoColorEmoji-Regular.ttf not rending
From: |
Paul Sheer |
Subject: |
Google's NotoColorEmoji-Regular.ttf not rending |
Date: |
Thu, 15 Sep 2022 12:47:58 -0500 |
Hi!
I have had great success with Google's older NotoColorEmoji.ttf and
NotoEmoji-Regular.ttf released by Google in 2019.
However they have since updated their fonts. They now have a font
NotoColorEmoji-Regular.ttf
My freetype 2.12.1 configure completes with,
Library configuration:
external zlib: yes (pkg-config)
bzip2: yes (autoconf test)
libpng: yes (pkg-config)
harfbuzz: yes (HARFBUZZ_CFLAGS and HARFBUZZ_LIBS)
brotli: yes (BROTLI_CFLAGS and BROTLI_LIBS)
pthread: yes
I use the code below to load 😀 0x1f600. Further below is the gdb dump
of the glyph struct with the non-working and working font when trying
to load the same unicode code-point.
As you can see the bitmap struct is not populated.
Can anyone help?
Kind regards,
Paul
---------------------------
if ((g = FT_Get_Char_Index(face, t))) {
error = FT_Load_Glyph(face, g, FT_LOAD_COLOR);
if (!error && face->glyph) {
error = FT_Render_Glyph(face->glyph, FT_RENDER_MODE_NORMAL);
if (!error && face->glyph->bitmap.width) {
found = 1;
}
}
}
---------------------------
(gdb) p *face->glyph
$5 = {
library = 0x5555558d35e0,
face = 0x5555559e02e0,
next = 0x0,
reserved = 0,
generic = {
data = 0x0,
finalizer = 0x0,
}
metrics = {
width = 0,
height = 0,
horiBearingX = 0,
horiBearingY = 0,
horiAdvance = 1024,
vertBearingX = -576,
vertBearingY = 0,
vertAdvance = 1024,
}
linearHoriAdvance = 1060800,
linearVertAdvance = 1040000,
advance = {
x = 1024,
y = 0,
}
format = FT_GLYPH_FORMAT_BITMAP,
bitmap = {
rows = 0,
width = 0,
pitch = 0,
buffer = 0x0,
num_grays = 256,
pixel_mode = 2 '\002',
palette_mode = 0 '\000',
palette = 0x0,
}
bitmap_left = 0,
bitmap_top = 0,
outline = {
n_contours = 0,
n_points = 0,
points = 0x0,
tags = 0x0,
contours = 0x0,
flags = 0,
}
num_subglyphs = 0,
subglyphs = 0x0,
control_data = 0x0,
control_len = 0,
lsb_delta = 0,
rsb_delta = 0,
other = 0x0,
internal = 0x555555945790,
}
(gdb) p *face->glyph
$1 = {
library = 0x5555558d35e0,
face = 0x5555559e02a0,
next = 0x0,
reserved = 0,
generic = {
data = 0x0,
finalizer = 0x0,
}
metrics = {
width = 8704,
height = 8192,
horiBearingX = 0,
horiBearingY = 6464,
horiAdvance = 8704,
vertBearingX = 0,
vertBearingY = 0,
vertAdvance = 0,
}
linearHoriAdvance = 0,
linearVertAdvance = 0,
advance = {
x = 8704,
y = 0,
}
format = FT_GLYPH_FORMAT_BITMAP,
bitmap = {
rows = 128,
width = 136,
pitch = 544,
buffer = 0x555555a566a0 "",
num_grays = 256,
pixel_mode = 7 '\a',
palette_mode = 0 '\000',
palette = 0x0,
}
bitmap_left = 0,
bitmap_top = 101,
outline = {
n_contours = 0,
n_points = 0,
points = 0x0,
tags = 0x0,
contours = 0x0,
flags = 0,
}
num_subglyphs = 0,
subglyphs = 0x0,
control_data = 0x0,
control_len = 0,
lsb_delta = 0,
rsb_delta = 0,
other = 0x0,
internal = 0x555555945790,
}
- Google's NotoColorEmoji-Regular.ttf not rending,
Paul Sheer <=