특정 글꼴에서 단일 문자 크기 조정

Aug 19 2020

Kerkis Sans제목, 문단 등의 문서에서 그리스어 글꼴을 보조 글꼴로 사용 합니다. 글꼴을 테스트하면서 대문자 그리스어 F (Φ)가 나머지 문자보다 훨씬 작다는 것을 알았습니다. 크기를 조정하려는 시도는 이것이었습니다.

\documentclass[english,greek]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{txfontsb,graphicx}

\newcommand{\kerkissans}[1]{{\fontfamily{maksf}\selectfont #1}}


\begin{document}
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ\\
\kerkissans{ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ}\\
\kerkissans{\textbf{ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ}}\\
\kerkissans{\textbf{\resizebox{!}{6pt}{Φ}Φ}}
\end{document}

내가 직면 한 문제는

  1. 이 문제는 Kerkis Sans글꼴과 텍스트가 굵은 경우 에만 나타납니다.
  2. 내 시도는 크기를 로컬로 수정합니다.

Φ전체적으로 굵게 크기를 조정하는 방법이 있습니까?

답변

5 egreg Aug 19 2020 at 05:04

버그는 Kerkis의 관리자에게보고되어야합니다.

그동안 다음과 같이 할 수 있습니다.

\documentclass[english,greek]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{txfontsb}
\usepackage{graphicx}
\usepackage{newunicodechar}
\usepackage{xparse}

\newcommand{\kerkissans}[1]{{\fontfamily{maksf}\selectfont #1}}

\newunicodechar{Φ}{\FIXEDPHI}

\ExplSyntaxOn
\NewDocumentCommand{\FIXEDPHI}{}
 {
  \str_if_eq:eeTF { \use:c { f@family } } { maksf }
   {
    \str_if_in:enTF { \use:c { f@series } } { b }
     { \resizebox{!}{\fontcharht\font`A}{F} +}
     { F }
   }
   { F }
 }
\prg_generate_conditional_variant:Nnn \str_if_in:nn { e } { T, F, TF }
\ExplSyntaxOff


\begin{document}

ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ

\kerkissans{ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ}

\kerkissans{\textit{ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ}}

\kerkissans{\textbf{ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ}}

\kerkissans{\textit{\textbf{ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ}}}

\end{document}

필자 +는 필요한 경우, 즉 글꼴 시리즈가 굵은 글꼴 (볼드 이탤릭체에도 버그가 있음) 인 경우에만 수정 사항이 적용됨을 보여주기 위해를 추가했습니다 .

프로덕션 버전에서 다음을 제거하십시오 +.

\NewDocumentCommand{\FIXEDPHI}{}
 {
  \str_if_eq:eeTF { \use:c { f@family } } { maksf }
   {
    \str_if_in:enTF { \use:c { f@series } } { b }
     { \resizebox{!}{\fontcharht\font`A}{F} }
     { F }
   }
   { F }
 }

+디버깅 용으로 출력

프로덕션 버전으로 출력