Andy Koppe schrieb:
moo.tinys wrote:
using mintty
LANG=zh_CN.UTF-8 mintty
inside mintty:
$ man man
/-
Pattern not found (press RETURN)
With UTF-8, hyphen/minus symbols in the man page are displays as the
Unicode codepoints for hyphen or minus. These are different from ASCII
'-', which is why your search didn't turn up anything.
This isn't mintty-specific.
Thomas Wolff:
This was discussed here before but I'm not sure whether a solution was
already outlined.
The problem appeared on Linux too, some years ago, but has been fixed
meanwhile.
Differences are:
man calls nroff -mandoc on cygwin, nroff -mandocdb on Linux. The latter
macro package of groff includes the following which is prepended to the
manual page before feeding it to nroff for formatting:
.if '\*[.T]'utf8' \{\
. char \- \N'45'
. char - \N'45'
. char ' \N'39'
. char ` \N'96'
.\}
Thanks, glad to hear there is a fix. I'll use this in the mintty
manpage, so at least searching will work there.
Question: what's the *[.T] pattern matched against?
I guess the -Tutf8 parameter also showed by procps (with some luck while
invoking man...):
troff -mtty-char -mandoc -Tutf8
groff -mtty-char -Tutf8 -P-c -mandoc
I have no idea why both groff and troff appear in the process list or
how the -Tutf8 parameter is set there.
Checking the program chain of 'man' with procps, some other macros are added
already (simply using 'echo'), that's where it could also be added without a
complete new macro package (i.e. without changing groff). However, the
auxiliary roff codes are apparently hard-coded in man.exe so that'll have to
be changed.
What are those auxiliary roff codes?
I mean those being echoed into the nroff pipe as revealed by 'procps
xww' while running man:
sh -c (cd "/usr/share/man" && (echo ".pl 1100i"; /usr/bin/gunzip -c
'/usr/share/man/man1/mintty.1.gz'; echo ".\\\""; echo ".pl \n(nlu+10") |
/usr/bin/tbl | /usr/bin/nroff -c -mandoc 2>/dev/null | /usr/bin/less -isrR)
I guess the additional lines as quoted above can simply be added by a
few strcat calls inserted before line 572 of man.c.
I couldn't test, though, because the man source package needs some
interactive configuration before make works.
------
Thomas
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple