Греческие буквы с продолжающимся циркумфлексом

Греческие буквы с продолжающимся циркумфлексом

Я заметил, что LuaTeX, похоже, неправильно отображает продолжающиеся символы (например, циркумфлекс, U+0302), когда они следуют за греческими буквами. Мне особенно интересно, как заставить это работать с моноширинным шрифтом (потому что это появляется в блоках кода):

\documentclass{article}
\usepackage{fontspec} 
\setmonofont{DejaVu Sans Mono}
\begin{document}
\texttt{â \quad b̂ \quad ĉ \quad α̂ \quad β̂ \quad γ̂ \quad α̇ \quad β̇ \quad γ̇}
\end{document}

моноширинные греческие буквы с продолжающимся циркумфлексом

Я перепробовал несколько шрифтов, но не смог найти подходящий. Мне интересно, является ли это общей проблемой шрифтов или более характерной для TeX.

решение1

Я думаю, это связано со шрифтом.DejaVu Санс Мононе работает в TeX или LibreOffice.

НоНото Санс Моноотлично работает. Попробуйте:

\documentclass{article}
\usepackage{fontspec} 
\setmonofont{Noto Sans Mono}
\begin{document}
\texttt{â \quad b̂ \quad ĉ \quad α̂ \quad β̂ \quad γ̂ \quad α̇ \quad β̇ \quad γ̇}
\end{document}

выход

решение2

Это связано со шрифтом: в шрифтах Unicode акценты в основном расставляются с помощью так называемых якорей: каждый символ имеет специальную позицию, отмеченную в файле шрифта, так что отмеченная позиция акцента выровнена с этим «якорем». Дизайнеры шрифтов не добавляли эти якоря к греческим буквам.

Конечно, вы можете исправить это, добавив якоря самостоятельно, но если вам это нужно только в редких случаях и только с маленькими символами, вы можете просто разместить ударение вручную. В большинстве случаев вам просто нужно \llapразместить ударение над следующим символом, а иногда вам приходится делать \raiseэто. Например:

\documentclass{article}
\usepackage{fontspec} 
\setmonofont{DejaVuSansMono.ttf}
\begin{document}
\texttt{â \quad b̂ \quad ĉ \quad \llap{̂}α \quad \raisebox{2pt}{\llap{̂}}β \quad \llap{̂}γ \quad \llap{̇}α \quad \raisebox{2pt}{\llap{̇}}β \quad \llap{̇}γ}
\end{document}

введите описание изображения здесь

Связанный контент