deri pushed a commit to branch master in repository groff. commit 1cd6ed080ff026f0df1e213f4f93523120d54e94 Author: Deri James <d...@chuzzlewit.myzen.co.uk> AuthorDate: Tue Apr 16 17:46:15 2024 +0100
... and the ChangeLog --- ChangeLog | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/ChangeLog b/ChangeLog index 4ec2ff55a..fd58b607d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2024-04-16 Deri James <d...@chuzzlewit.myzen.co.uk> + + [gropdf] Problem with '(' and '\' (\[rs]) + + Bpth these tokens have meaning for roff AND pdf strings. In + pdfs unbalanced parentheses have to be escaped (with '\') and + a single '\' has to be similarly escaped, '\\'. It is gropdf's + responsibility to ensure pdf strings are valid, no matter what + the input. + + If '\(ul' is passed then the UTF-16 character becomes '_'. + If '\[rs](ul' is passed (i.e. '\(ul' is intended to become the + UTF-16 string) \[rs] becomes '\' leaving '\(ul', which + becomes '_', not what is intended. If the unbalanced '(' is + eascaped first, '\[rs]\(ul' which could become '\\_' when the + '\' is escaped, yielding '\_'. The code which escapes parenthesis + checks it is not already preceded by '\' since adding another + would give you '\\(' which is not what you want. The correct + output should be '\\\(ul' to achieve the correct pdf string. + + This fixes the above issue (I hope). + + * src/devices/gropdf/gropdf.pl: Change pattern matches + 2024-04-15 G. Branden Robinson <g.branden.robin...@gmail.com> * tmac/an-ext.tmac <mV, mQ>: Trivially refactor. Rename string _______________________________________________ Groff-commit mailing list Groff-commit@gnu.org https://lists.gnu.org/mailman/listinfo/groff-commit