If the description or the prompt contains non-ASCII characters, the dialog is broken. Looks like the dialog width is not correctly calculated. For example, the following commands:
$ ./curses/pinentry-curses OK Pleased to meet you setdesc 中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文 OK setprompt 中文中文中文中文中文 OK getpin
Generates such a dialog:
┌─────────────────────────────────────────────────────┐ │ 中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文 │ │ │ 中文中文中文中文中文 ________________________________________ │ │ │ <OK> <Cancel> │ └─────────────────────────────────────────────────────┘
I gave it a try to fix the issue and got a patch (attached below). For the description it looks good:
┌──────────────────────────────────────────────────────────────┐ │ 中文中文中文中文中文中文中文中文中文中文中文中文中文中文中文 │ │ │ │ 中文中文中文中文中文 _________________________________________________ │ │ │ <OK> <Cancel> │ └──────────────────────────────────────────────────────────────┘
But the dialog is still broken with non-ASCII prompts.