.png)
Возможно ли перенести приведенные ниже символы Unicode в современный шрифт Latex — обычный, курсивный и полужирный?
Ŧ :
u+0166
(латинская заглавная буква t со штрихом)ŧ :
u+0167
(латинская строчная буква t с чертой)
решение1
Он есть в CM Unicode
, но не в Latin Modern
, поэтому вы можете использовать его с fontspec
XeLaTeX или LuaLaTeX: поскольку по умолчанию для fontspec используется Latin Modern, вам необходимо указать, что вы используете CM Unicode:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{CMU Serif}
\begin{document}
Here it is:
Ŧ ŧ
\end{document}
решение2
С помощью XeLaTeX или LuaLaTeX вы просто вводите символы, и, если в текущем шрифте есть глифы для них, вы их получите.
Если вы случайно используете шрифт, в котором нет глифов, в XeLaTeX или LuaLaTeX вы можете их создать (я предполагаю, что шрифт имеет U+00AF MACRON). Конечно, для этого требуется предоставитьдля этого случаяопределения, которые должны быть созданы для каждого желаемого стиля. Вот одно, которое работает для вертикальных шрифтов; не пытайтесь использовать их с курсивом. ;-)
Однако не должно быть слишком сложно добавить горизонтальный кернинг, когда шрифт наклонный.
\documentclass{article}
\usepackage{fontspec}
\usepackage{relsize,newunicodechar}
\newunicodechar{ŧ}{\texttstroke}
\newunicodechar{Ŧ}{\textTstroke}
\DeclareRobustCommand{\texttstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\larger[-1]\kern-.05em\symbol{"AF}}%
\ialign{%
\hfil##\hfil\cr
{\larger[-1]\kern-.05em\symbol{"AF}}\cr
\noalign{\kern-\ht0 \kern-.7ex}
t\cr
}%
}%
}
\DeclareRobustCommand{\textTstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\symbol{"AF}}%
\ialign{%
\hfil##\hfil\cr
\symbol{"AF}\cr
\noalign{\kern-\ht0 \kern-.86ex}
T\cr
}%
}%
}
\begin{document}
ŧŦ
\large ŧŦ
\huge ŧŦ
\small ŧŦ
\footnotesize ŧŦ
\end{document}
С некоторыми изменениями макросы могут работать также с pdflatex
. Здесь код немного сложнее, чтобы гарантировать работу со всеми движками, но идея заключается в том, чтобы определить \tstroke
подходящим образом в зависимости от движка. Версия pdflatex
использует \={}
(ударение макрона).
\documentclass{article}
\usepackage{ifxetex,ifluatex}
\newif\ifunicodeengine
\ifxetex\unicodeenginetrue\fi
\ifluatex\unicodeenginetrue\fi
\ifunicodeengine
\usepackage{fontspec}
\newcommand{\tstroke}{\symbol{"AF}}
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\newcommand{\tstroke}{\={}}
\fi
\usepackage{newunicodechar,relsize}
\newunicodechar{ŧ}{\texttstroke}
\newunicodechar{Ŧ}{\textTstroke}
\DeclareRobustCommand{\texttstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\larger[-1]\kern-.05em\tstroke}%
\ialign{%
\hfil##\hfil\cr
{\larger[-1]\kern-.05em\tstroke}\cr
\noalign{\kern-\ht0 \kern-.7ex}
t\cr
}%
}%
}
\DeclareRobustCommand{\textTstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\tstroke}%
\ialign{%
\hfil##\hfil\cr
\tstroke\cr
\noalign{\kern-\ht0 \kern-.86ex}
T\cr
}%
}%
}
\begin{document}
ŧŦ
\large ŧŦ
\huge ŧŦ
\small ŧŦ
\footnotesize ŧŦ
\end{document}
Вот версия, которая добавляет кернинг, когда текущий шрифт наклонен.
\documentclass{article}
\usepackage{ifxetex,ifluatex}
\newif\ifunicodeengine
\ifxetex\unicodeenginetrue\fi
\ifluatex\unicodeenginetrue\fi
\ifunicodeengine
\usepackage{fontspec}
\newcommand{\tstroke}{\symbol{"AF}}
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\newcommand{\tstroke}{\={}}
\fi
\usepackage{newunicodechar,relsize}
\newunicodechar{ŧ}{\texttstroke}
\newunicodechar{Ŧ}{\textTstroke}
\DeclareRobustCommand{\texttstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\larger[-1]\kern-.05em\tstroke}%
\ialign{%
\hfil##\hfil\cr
\ifdim\fontdimen1\font>0pt \kern-.1em\fi
{\larger[-1]\kern-.05em\tstroke}\cr
\noalign{\kern-\ht0 \kern-.7ex}
t\cr
}%
}%
}
\DeclareRobustCommand{\textTstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\tstroke}%
\ialign{%
\hfil##\hfil\cr
\ifdim\fontdimen1\font>0pt \kern-.15em\fi
\tstroke\cr
\noalign{\kern-\ht0 \kern-.86ex}
T\cr
}%
}%
}
\begin{document}
\itshape
ŧŦ
\large ŧŦ
\huge ŧŦ
\small ŧŦ
\footnotesize ŧŦ
\end{document}
Вывод для прямых букв такой же, как и раньше. Вот вывод для курсива.
Разумеется, различные размеры должны быть адаптированы к шрифту основного текста.
Альтернативой pdflatex
является использование шрифтов в кодировке T4, которые, однако, доступны только в растровой форме. Глифы кодируются в слотах "97
и "B7
, поэтому это можно быстро настроить.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T4,T1]{fontenc}
\DeclareUnicodeCharacter{0167}{\texttstroke}
\DeclareUnicodeCharacter{0166}{\textTstroke}
\DeclareTextSymbolDefault{\texttstroke}{T4}
\DeclareTextSymbolDefault{\textTstroke}{T4}
\DeclareTextSymbol{\texttstroke}{T4}{"97}
\DeclareTextSymbol{\textTstroke}{T4}{"B7}
\begin{document}
tŧŦT
\large tŧŦT
\huge tŧŦT
\small tŧŦT
\footnotesize tŧŦT
\end{document}