UTF-8 font for man pages?

Hi,

I'm running FreeBSD 14.2 on a headless PC with its console on a serial port, to which I connect using PuTTY on Windows 11.

I noticed that when using a UTF-8 locale, the man command uses a bit unusual characters when describing the syntax of a command: U+27E8: "⟨" and U+27E9: "⟩" (mathematical left and right angle brackets), for example:

Screenshot 2025-05-05 094753.png


So far I've only found three fonts containing these characters out of those I've installed: Consolate Elf, JuliaMono, and Reddit Mono (in above screenshot). Not one of Microsoft's monospaced fonts bundled with Windows 11 include the characters.

When using vidconsole, the characters are translated to left and greater than symbols so there it's not a problem: https://svnweb.freebsd.org/base/head/sys/dev/vt/hw/vga/vt_vga.c?view=markup&pathrev=332421

Any recommendations for monospaced fonts containing these characters? Maybe the developers tested this and have recommendations for nice fonts?
 
Let me translate what you are saying: When using FreeBSD from the CLI with locale set to a UTF-8 variant, the man command uses some unusual characters in its output for text in "angle brackets". I can certainly confirm that this is true, as I see the same angle brackets in my output.

You are saying that these angle bracket characters are actually not commonly available in the fonts used in terminal emulators. You offer as evidence what happens in Putty in a default Windows installation. It seems to me that accessing a FreeBSD CLI from common terminal emulators (such as PuTTY in Windows and iTerm on a Mac) should work flawlessly, and that it is unwise for the FreeBSD man command to use characters that are not commonly available. If this line of reasoning is correct, then the man command really has a bug, as it relies on Unicode characters that are not reliably present. You should open a bug report (PR) against man.

Now, the code from vt_vga.c you present is (in my not at all humble) opinion not only strong evidence that the man command has a bug, but it is actually pretty insane: FreeBSD's own console doesn't seem to have the characters required to render the output of its man command, and instead of fixing man, a patch (hack, workaround) was put into the console rendering. The reason this is insane: Now if an innocent victim tries to print something including the "mathematical left/right angle bracket" character, they'll see a wrong but similar character on the screen. They'd be better served by a question mark or the open box character, which more clearly indicates a hole in the font. I think someone should open yet another bug report to undo PR 227409, and instead implement the architecturally clean solution, which is that man only uses those characters that are commonly available.
 
the man command uses a bit unusual characters
You should open a bug report (PR) against man.

I'm sorry but what?

angle brackets are used in man pages as a part of a style guide (writing conventions agreed upon by authors). U+27E8 and U+27E9 are not included in the ASCII character set, so less than and greater than signs are used instead. How is this unusual? But more importantly, how is it a bug? I think that the angle brackets are expected when not using the ASCII character set.

Most official documents have some sort of style guide. For example, i have been compiling a list of Biographical Notices for prominent persons in various fields of Biology for my website. Apparently, citing books/references also has a style guideline. I read about this guideline from a Harvard document but i decided to not follow it because i do not like the order in which books are presented (I prefer author, book title, chapter, section if one exists, page number, date of publish and place of publisher). I am aware that these guides exist even though i am not a writer (obviously poor grammar skills) and i have never attended a university (high school dropout). Anyway, my opinion is that the angle brackets are supposed to be used according to some sort of agreed upon style guide. I'll attach a screen capture of the same text in ASCII character set (less than, greater than).
 

Attachments

  • markup.jpg
    markup.jpg
    57.9 KB · Views: 390
I wouldn't have noticed this if I had used Windows Terminal with SimplySerial. Windows Terminal is using a fallback font (seguisym.ttf) to pull in characters missing in the currently selected font (any of the monospaced fonts included with Windows 11).
 
OP asks for suitable console fonts only.

OT: These math angled ⟨brackets⟩ are also used in linguistics to mark precise writing. However, in my historical grammar I have replaced them with ‹quotation› marks — for wider font support. ‹Quotation› marks are also logically fit its purpose, unlike ⟨brackets⟩ or <less than & greater than> signs.
 
Any recommendations for monospaced fonts containing these characters?
Terminus font (has a Windows installer):

I also like the "Nerd" fonts, especially JetbrainsMono
 
As has been the convention for decades, for symbolic arguments they should have used italics (.Ar query-format) not utf-8 angle brackets. Like
pkg-which(8) and many other man pages for pkg subcommands do.
 
Back
Top