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, }