Tue 30 Dec 2014 10:10:44 AM UTC, original submission:
The glyph-to-codepoint and codepoint-to-glyph mappings in libgroff contain duplicate entries for the glyphs \[lt], \[lk], \[lb], \[rt], \[rk], and \[rb]. One consequence is that for the -Tutf8 output device, requesting the \[u23A7] glyph in the input stream (as documented in the groff_char(7) manual) surprisingly results in an U+256D character (0xE2 95 AD byte sequence) in the output stream because it gets internally translated u23A7 -> lt -> 256D. There may be other consequences. Using \[bracelefttp], on the other hand, works as expected.
The attached patch solves the problem.
The following lines in the following files look suspicious as well, in particular since those files do not contain "23A7", but i'm not providing patches for these three files because i don't own such devices, cannot properly test, and don't understand those files well enough:
font/devlj4/S:u256D 26346,7410,6588 1 128354 -- MSL 646 (15U 98)
font/devlj4/generate/special.map:646 256D u256D
src/utils/hpftodit/hpuni.cpp: { "646", "256D", },
|