The default template data/templates/hypersetup.latex enumerates keywords using simple comma. That fails to properly encode keywords that contains a comma.
Please replace this line:
pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$},
with these:
pdfkeywords={$for(keywords)$
\xmpquote{$keywords$}$sep$, $endfor$},
The difference can be seen when generating a tagged PDF and extracting the embedded XMP metadata (a crude way to do that is to open the PDF file in a text editor, because the XMP data is uncompressed).
The default template
data/templates/hypersetup.latexenumerates keywords using simple comma. That fails to properly encode keywords that contains a comma.Please replace this line:
pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$},with these:
pdfkeywords={$for(keywords)$ \xmpquote{$keywords$}$sep$, $endfor$},The difference can be seen when generating a tagged PDF and extracting the embedded XMP metadata (a crude way to do that is to open the PDF file in a text editor, because the XMP data is uncompressed).