deri pushed a commit to branch master
in repository groff.
commit 1cd6ed080ff026f0df1e213f4f93523120d54e94
Author: Deri James <[email protected]>
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 <[email protected]>
+
+ [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 <[email protected]>
* tmac/an-ext.tmac <mV, mQ>: Trivially refactor. Rename string
_______________________________________________
Groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit