Je viens d’aller lire les échanges sur le suivi du Frido. Les tests de quark67 sur OverLeaf confirment ce que je pense se passer :
- avec Xe/Lua(La)TeX, et même pdf(La)TeX≥2022 quand on n’indique pas d’encodage, HyperRef introduit les octets comme étant de l’UTF-8
- avec pdf(La)Tex et d’autres moteurs historiques, HyperRef lit chaque octet comme de l’ISO-8859-1 (mais le codage par défaut est passé de l’ASCII à UTF-8 vers 2021) et ne dialogue pas avec InputEnc pour savoir l’interprétation
Ce serait plus simple si HyperRef et Url étaient (ou pouvaient être) transparents avec l’argument transmis, mais j’imagine que des traitements dessus (comme le fait de pouvoir faire la césure au niveau des tirets par exemple) font que ce n’est pas possible ? Or en réinjectant dans le flux sans tenir compte de InputEnc ça fait de beaux mojibake ! La façon de faire correctement, et indépendant de tout encodage, est d’utiliser les codes TeX des caractères (sous réserve d’avoir bien décodé les suites d’octets en entrée, ce que fait le code Expl3 proposé)
On est ici à la limite de deux mondes, une sorte de tectonique des plaques.
"It is seldom that liberty of any kind is lost all at once." ― David Hume
[^] # Re: je pensais que c’était su...
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal pdfLaTeX, XeLaTeX et LuaLaTeX sont dans un bateau. Évalué à 2.
Je viens d’aller lire les échanges sur le suivi du Frido. Les tests de quark67 sur OverLeaf confirment ce que je pense se passer :
- avec Xe/Lua(La)TeX, et même pdf(La)TeX≥2022 quand on n’indique pas d’encodage, HyperRef introduit les octets comme étant de l’UTF-8
- avec pdf(La)Tex et d’autres moteurs historiques, HyperRef lit chaque octet comme de l’ISO-8859-1 (mais le codage par défaut est passé de l’ASCII à UTF-8 vers 2021) et ne dialogue pas avec InputEnc pour savoir l’interprétation
Ce serait plus simple si HyperRef et Url étaient (ou pouvaient être) transparents avec l’argument transmis, mais j’imagine que des traitements dessus (comme le fait de pouvoir faire la césure au niveau des tirets par exemple) font que ce n’est pas possible ? Or en réinjectant dans le flux sans tenir compte de InputEnc ça fait de beaux mojibake ! La façon de faire correctement, et indépendant de tout encodage, est d’utiliser les codes TeX des caractères (sous réserve d’avoir bien décodé les suites d’octets en entrée, ce que fait le code Expl3 proposé)
On est ici à la limite de deux mondes, une sorte de tectonique des plaques.
"It is seldom that liberty of any kind is lost all at once." ― David Hume