
這是一個 MWE:
\documentclass[a4paper,11pt]{article}
\usepackage{polyglossia}
\usepackage[normalem]{ulem}
\defaultfontfeatures{Ligatures=TeX}
\setmainlanguage{magyar}
\usepackage{color}
\usepackage{soul}
\begin{document}
árvíztűrő tükörfórógép
ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP
\hl{árvíztűrő tükörfórógép}
\hl{ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP}
\end{document}
以下是日誌中的一些有趣的訊息:
Missing character: There is no ű in font ectt1000!
Missing character: There is no ő in font ectt1000!
Missing character: There is no ű in font ectt1000!
Missing character: There is no Ű in font ectt1000!
Missing character: There is no Ő in font ectt1000!
Missing character: There is no Ű in font ectt1000!
我不知道為什麼它抱怨字體 ectt1000。可以清楚地看到,突出顯示的文字和普通文字使用了完全相同的字體。我在日誌中沒有看到任何錯誤訊息。 (也不是警告 - 但這種錯誤渲染肯定會引發錯誤!)
這是輸出:
答案1
當您使用 xelatex/lualatex 時,您需要一個包含所有字形的開放式打字機字體。此外,還必須將連字符的預設寬度重設為為此字體。在您的範例中,您可以使用 Latin Modern Mono,但如果您有其他腳本,您可能需要另一個腳本。
\documentclass[a4paper,11pt]{article}
\usepackage{fontspec}
\usepackage{color}
\usepackage{soul}
\makeatletter
\font\SOUL@tt="LMMono10-Regular"
\setbox\z@\hbox{\SOUL@tt-}
\SOUL@ttwidth\wd\z@ %reset default width of -
\makeatother
\begin{document}
árvíztűrő tükörfórógép
ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP
\hl{árvíztűrő tükörfórógép}
\hl{ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP}
\end{document}