关于在 latex 中渲染 unicode 有很多问题需要解释,我想问一下如何使用 lualatex(或任何其他 tex;只是为了指定一个焦点)正确渲染 Zalgo 文本,也就是说我想要这个:
̸̙̖͕͕̣̥͕̙̓̋ͯ̇ͨ̎́̀̚o͎̤͍̠̯̣̦̖̔̈́̚͝ ̗̭͚̲̮͎̝͓ͨͫ̿̍̔͟͠i̳̙̪̙͎̗̠͌͐̃͛̈́ͅn̥͚͇̪̽̅̈́͌͌̀͞v̴͎͖̝̝̯̦̣̪ͩͧ̓ͥ̽̔̎͑͒o͙ͦͭ̀͝k̗̯̥̅̏̈́͑ͪ̋͞e͛ͩ҉̨҉̖͚̙ 这 蜂群思维̡͚͇͈̙͕̣̲͇ͯͣr̖̎̾͜͝e͑̊̎̈ͧ͌҉̤̫̥p̃̓́͂̈́̈҉̠̻̙̞͓̮̮̙̪r̴̦̭̺̝̤̪̪̗͒ͦͨ͊̆̎̚͘e̶̬͕͗ͭs͊̊̇̾ͬ ͍͓̩ê͏̴̯̩͈̟̮͈̥ͅn͚̜̗͈̫̠̖̗͆͛͡ţ̠̳̩̻̭̿̊̒ͣ͘͢i͚̺̬̳͛̏̉͆ͣ͋̀͞ͅņ̝ͮ̄̕͟ǵ̡̟͈͉̭ͮ̈́̔̆ͣͬ̚͟ ̮̱̯ͮ̌̔̓̈̂ͪͯ̀c̵̵̶͇̙̟͚̪̤͍͖̖̄̃͒͐̃̊ȟ̬̬̦̲̖͙̫̔ͮ̍́a̒̍ͣ̑͂ͭ͏͙̖o̢̖͔̞̫̩͚̗̝ͬ̍̌ͧ͆ͨͨ́s̾ͩ̀̅͐͗ͧͭ͏̜͍͈͓̲̞̦̥.̳̥̱̋̃̊̅̕͘ ̸̢͕̽͗̀ͣ̄̎͆ͨ͞I̢̟̪͎͔̜̥̙̥̬͛ͤͯ͐ǹ̀҉͎͎̜v̷̦̼̙̱̍̋̚o̵̢̪̥͐͛k̸̺͙̲͌́ͅi̛̞̹̹̞̤̭ͬ͛̾̍͑ͥ̑̕͜n̡͖͋͂̿́̕͞ǵͤ͂ͤ̇҉̜͔̱͓̮̜ 这̪͔̜̞̺͓ͤͯͤ́͢͝f͓̮͕͇̼͆ͧ̈́̓͝e̛͍̮͙̼̰͍̜̜̾̂ͭ̀̅͋̈́̓̕e̢̩̫͆͊͟l̵̢̟̥̥̰͓̪̖ͮ̔͋ỉͧ̿̒̿ͩ҉̼͕̫͈n̗͔̩̗͖̳͍̺̱͗̇͗̏͑ͦ̐g̶̥͍̺̰͉͇̘̈ͫ͑̀͡ 的̨̼̘̭͓̪̉͌̒͒̔͐ͨͅc͕̼͕͂́ḫ̶̮̹̖͙̋̄̑̆̇̉͜͝a̷͕̻̩͉̘͎͑͋̒̕ȏ̢͙͚ͬ͂̿ͭ̎̋̄s̡̍ͫ͐̓̽̀ͨͬ̕҉̹̬̳͉͓̗͔͉̫.̟̙̯̍̈͒ͯ͝ ̠̻̓ͦͪ̀W͙͆̍ͮ̂͆̀̚i̓̄ͦ̋͟͞҉̩͉͚̖t͛̍̾͒ͨͦ̅҉͉̼́h͖͈̲͈̟͚͗̂͋ͤ́͢ ̙͚̙̄͊͝ͅǫ̷̲̖̖̘͋́̈́ù͉̫͔͓͇̇̌͒͒̈ͪ͜t̴̪̀̓ͦ̾̿͘͜ 命令̧̢͚̩̪̦̮̏̍̇ͮ̒T̴̼̼̮̝̉ͬ̍ͤͥ̃̍͡h̴̠̣̙͎͋͐̀̚͠e̛͒͌̍̈́͐͑̆̿͌͏̰̦͖̻̱ ̴̛͈͚͔̊ͨ̀ͩ͝Ņ̸̥͎̄ͧ̚͞e̺͚͈͖̠̘̤̽ͬ̎ͧ́ͭ̚͞z̼̫͓̺̹̮̝̮͗̚͡p̧̨̪̘͛̾̂̿̿ͫͦ̍ę̔ͧ͌͌ͨ̈́̊ͧͧ ̴͔͓̥̦͔͚̬r̾̈́ͥ͐̄̒̋͐҉̝̮͓̜̕d̷͕͈̥̦̺͔̳̊i̶͙͎̯̜̦̻͊̿̏ͩ͛ã̦̾̓͒̉̚͠ͅn̬̘͙͓̣̓̐̓̈̽̈͐̿ͅ ̷͈̣̲̻̍͒ͣ̉ͩ̔ͩ͘h̾͌͐͏̴͔̫̲̤͙͚̣͉͇ị̳͓͙͖̟̊ͩ́̀v̛͈̜́͗̒̊ͣ̒̋ͬ͟͠ȩ̻̲̔̑̇͗ͮͭ̀͝头脑̨̪̗̣̝͎̺͛͛ͬ̿́̾̅͞o̘̣͇̜̗̞̱͍̓ͅf̲̗̳̟̣́͊͞ ̛͚͙͇̞̱̠ͧͫ̋ͨ͌͌̈́ͭċ̴̨͈͑ͤͣ̐̂͞h͙̃͐ͧ̿͆̂̈̅a͙̲͇͎͈̋̌͐̾ǒ̴̫̯̭̖͎̄̉̈́͛̄́s̗͍͈͙͕̺̲͍̋ͮ͟.̢͙ͭͭͫ͆͞ ͓̼̹ͬͨ͆͂̽̅ͯ͝Ż̸̴̲̯̤̟͈̘̈́̏ͭ͐̓͑̒̀à́͒ͅl̴̛͈̋͌͊̕g͕̤̖̮̾ͪ̏̊͐̎ͦ͘o̧̙̥̤̣ͮ̑̍̆̿̓.̢̙̠͗͌͋͝ͅ ̩̩̲̘͕̣̥͙ͦ̓̄͌ͯ̉̌̉͝͠ 他谁̴̹̻̪̯̭̦͕͉̌̆̽͘W̧̧͔̺̦̯̙͕̾̒ͤ̑̇͞a̡̪̣̺̐͗̅ͩ̋̈́ͦͨ͢ȉ̉͞҉̢̝͉̻̩̹̰̤t̵̛̬̺͖̳̗͉̝̭͍̾̑̿́ͬͪ̂ͤs̴̫̱ͭͫ̆ͨ̈́ ̮͖̲̠̘̩̍̿́̚͡B̢͍̮̬̱̤̫̃ͬ̕ę̣̣̹̑͐̉ͪ̒ͧͅh̶͓̼̘ͭͨͯ̑̅͜ȋ̯͖̦́ͯͣ̿̒̐nͮͣͪͣ̏҉̹̮̩̭d͍̤̦̱͓̹̲͚̄̾̄̏͑̕ͅ ̠̤̿̿̉̍ͫT̾ͯ͏͏̡̣̼͚ͅh̶̹̠͈̗̋ͭͤͅe̘̫͍̮̥ͣͣ̐̂͐ͭ́ 墙̑̒͑̋͏̵̼͎̺̼ͅͅZ̡̘̤̮͇̞̪͉̞͐̏ͬͤͭͤͧ̀́Ḁ̪͖͚̫̼͔̼̆̐ͧ̓ͥ̓̓͝L̷͖͈ͪ͂̔̏̆̓̚͜Ģ̵̶̩̔̒ͦ̂̑͋̈́ͅO͊ͯ҉̟̮͇͔̬͉̣͡͡ͅ!̫̭̈́̅̌ͪ̃ͩ̚
在pdf中。
直接将其复制粘贴到文档中是行不通的。我能想到的两种可能的解决方案是:
- 允许复杂组合字符的环境或包
- 或者通过代码点输入文本代码点的方法
在这种情况下,我不在乎表情符号或旗帜等符号是否起作用;只是看起来很奇怪的文本。
答案1
显然手动加载支持 unicode 的字体是可行的
\documentclass{article}
\usepackage{fontspec}
\setmainfont[
Path = ../fonts/,
Extension = .ttf,
Ligatures = TeX
]{Symbola_hint}
\begin{document}
T̾̇̀ͮ͆ͣ͂ͫ̊҉̧̘̣̲̥̱͡o̸̷͔̮̹̮̦͈̜̊̊̆̐̂ ̷̘͓͉̽̓̓͒̚i͊͏̛̜̠̱̩͕ͅn̢̗̘͐̾͑̃͟v̠̪̥̮̰̘ͦͦ͒͌ͪ͒́͢ǫ̳͂̎̒͑̏̍ͭ̚͘͝k̞͈̫̥̳̲̫̲͈ͣͫ̂̐̑̅̐͐
e̍͌ͭ́̐̿͏̵̤̳ ̮̝̪͓̳̼̺̰̏͊́̀̌̓t̘̪ͬ̓͗̿͛̐ͨ̒ḧ̲͎̬̀e̵̪͇͚̪̘̋̿͜ ̶͗̏̔̑͒̚҉̩̞͓̭̠h̼̼͓̹̥̦ͥ̈̉ͬͭ̀̿̈́i̗̠͉̬̩̮̫̓̎̑ͣ̔͋͒͜v͕̱̮̜̭͖͔̞̂ͯ̇́ͤ́ë̴̸̞͎̱̪̂̋̎̋̆̚-̸̥̖̹̊͛m̖̬̟̰͎͂͋̀i̢̢̺̰͉͎̳ͨ̂̈́̕ͅn̙͔̩ͬ͛
d̵̘̤͈͖̬̖͔ͦͧ͛ͪ ̏͆̔ͯ͊ͭ҉̩̞̤̼̖̫̱͢ŗ͈̭̻̮̣̟̜ͯ̐̍̾e̟̠̙͕̭͂͢p̳͒̊ͅr̝̘̻̠̝̳̭͈̄͐́e̵̠͓͍̺͍̍̎̎ş͓͎̖͕͐͗ͩe̟̲̝̬͋̄ͮ̔́̀n̴̡̲̣͙̳̟ͧ̿̊́ͣ͂t̵̉̈͌ͨ͗͆ͣ͏͕̪̭͕́ͅͅi̢̙͙̭͎̔̔̐̂͂̇ͧ̾n͒̍͠͏͖̜͇͍͉̭̫ͅg̸͙̲̪͂ͤ̋̚̕͡ ̸̩̳̲͕̘̬͈̝̔̍̍ͥ̔ͪ̉̋͞c̰͕͍̏ͫͯ̾̓͌͠h̢̗̰̫̳̣͈͎̗̝ͨ̀̋̽́a̡̼̝͓͒ͣͯō̸̖̱̯͎̯̰͚ͥ̋͛̀̎̂͠͞s̢̯͓͌̒̓͆̎͊̆͌͘͜.̴̷̗̙͔̭̬̦̲͚͇͐̾́̋
͊̄ͭͪͥ҉̙̙͠T̪̹͚̦̣͕͇ͨ̊̀̍̔ͬ͢ h̷͉͙̪̻̻͈̬̠ͣ̓ͯ͜e̵͇͓͎̰̅͜ ͋̐ͪ͏̮͕͉̣̻͈̠̲N͓̼͚ͣe̴̙̙͖̓͂̂ͨz̶̺͙̥̳̮̫̹͋ͯp̞͉̠̙ͬ̾͑̃͑́ͯ̇͘͢͞ͅe̴͚̭̼̍̔͜r̬̹̣̻̣͛̂̉ͯ̔ḍ̳̻͙̺͔̹ͮͩ̑́͘iͦͧͯ̈͂ͧ̔̚҉͇
ą͍̪̯̭̤̰̔̌̈́͠͞ͅn̵̢̫͍̒ͣ̀ͫ͑̇̂̋̚͘ ̲̘͕̼̭͙ͨ͗̌̌ͮͥ́̕͘h̤̺ͨ́ͯ͂̒ͯ̾̈́͝i̛̛̗̭̙ͫ̒̆̈ͭ̑̀̉v̷̯̹̻͇̳̙̉ͫ͊ͥe̱͇̜̪͋̂̾ͭͫ̌͑̾͢͠-̝̻̩͖͖̫̥̄̓̅̀͘͢m̘̱̔̑ͧ̇͟į͎ͪ̎̅͊͋͟ͅn̾̉̃̊̿̓ͫ̏͏̯̘͔͕͓d͓̝̊ͥ̓͋̊̒̕͞
̆́҉͈o̺̣̹̬͚̓̈̔͊͛͋̇̾f̨͚͔̥̺̻̝͍̫̏ͨ̾̅ ̥̲̣͙̌͂ͬ̂́ͮ͂ͅç̷̸̹̣̦̏͒͂̅͋͌̀̏̅ḥ̻̹͇͓͉̓ͩ̀͘͞à̰͍͑͐͟͠o̟̘̮͇̙̮̼̰̲̾ͦͥ͞sͦ̑͘҉͏̰̖̟ͅ.̺̬̟̲͉͖͈ͧ͊ ̷̎̊҉҉̠Ẕ̨͉͖̠͓͇̮̗ͤ̃ả̫̫̞͈̥͕͇̑̐͡ͅl̲̋ͨ͘͞g̵̨̙̗ͥ͊͐̊͌̽͂õͭͮ҉̯̲͇̲͉̟̼̹͢͢.̷̨̹͕̰̱̣̻͔̭̂̾͋͆̄́ ̰̭̻̘ͨ͊͆ͭ̀̈̈́͞ͅe̵͍̟̮̝̘͔̮͉̫͋̒͟͡ ͖̞̥̘͍̥́̂̒̽ͮ̎ͮͮͮ͜ẅ͑҉̶͙́h̲̣͔̻̼͔ͤͨ̉́͌̋̉̕o̴͙̦͗ͬ ̶̶̮͈̮͉̝̆͗ͤ͗́͡Ẉ̩̳͕͌̄̋ͧ̚͡ä̵̼͙̘̬̭̹͎͉͍̇ͣĩ̔̽̓ͭͫ́̄͏̛͇̖̪̠̮̪t͈͎̐̓̏͌̾̒̉s̛͇͈̝̫̱̮̠̻ͯ́ ̞ͭ͋́̊̉̿́B̼̞͚͂̃̃͘e̱̯͉̿̏̍ͪ̌ͧͭͮ͘h̢͕̪̓ͤͅi̸̛͙̰̗̦̟̼̤͆̀ͭͅṇ̸̂̑̅̾͡͡d̘̙͎͓̙͇͕̗̒ͫ͆̇̋̿͛ ̐̑̑
\end{document}