tstack / lnav

Log file navigator
http://lnav.org
BSD 2-Clause "Simplified" License
7.9k stars 314 forks source link

Problems rendering some emoji characters such as green circle #1134

Open bacforsyth opened 1 year ago

bacforsyth commented 1 year ago

lnav version v0.11.1

Describe the bug Lnav is not rendering some emoji characters such as green circle U+1F7E2 🟢. My terminal (macOS 13.2) renders the same emoji fine when a text file containing emoji is given to cat. lnav on the same file renders some of the emoji but not all. lnav:

image

TextEdit:

image

Terminal:

image

To Reproduce Steps to reproduce the behavior: create a plain text file with a variety of unicode emoji characters and open the file with lnav to verify all are rendered correctly.

tstack commented 1 year ago

Hmm, maybe it's an ncurses issue? This python program has the same issue for me on macos:

import time
import curses

scr = curses.initscr()

curses.start_color()

scr.addstr(0, 0, "Grinning \U0001f600")
scr.addstr(1, 0, "Green Sq \U0001F7E9")
scr.addstr(2, 0, "Green C  \U0001F7E2")
scr.addstr(3, 0, "White Fl \U0001F3F3")
scr.addstr(4, 0, "")
scr.getch()

curses.endwin()
Screen Region 2023-03-31 at 08 49 25
bacforsyth commented 1 week ago

I'm still having problems rendering some emojis in lnav 0.12.2 but interestingly they do show up in lo-fi mode. I'm on macOS 15.0.1.