Tek bir karakteri belirli yazı tipinden yeniden boyutlandırın
Aug 19 2020
Kerkis SansYunanca yazı tipini belgelerimde, başlıklar, paragraflar vb. İçin ikincil yazı tipi olarak kullanıyorum. Yazı tipini test ederken, büyük yunanca F (Φ) 'nin diğer harflerden çok daha küçük olduğunu fark ettim. Yeniden boyutlandırma girişimim buydu
\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}
Karşılaştığım sorunlar
- Bu sorun yalnızca
Kerkis Sansyazı tipinde ve yalnızca metin kalın olduğunda ortaya çıkar - Denemem boyutu yerel olarak düzeltir
Kalınlığı Φglobal olarak yeniden boyutlandırmanın bir yolu var mı ?
Yanıtlar
5 egreg Aug 19 2020 at 05:04
Hata, Kerkis'in geliştiricisine bildirilmelidir.
Bu arada şunları yapabilirsiniz:
\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}
+Düzeltmenin yalnızca gerektiğinde, yani yazı tipi serisi kalın olduğunda (ayrıca kalın italik hata içeriyorsa) uygulandığını göstermek için bir ekledim .
Üretim sürümünde +şunları kaldırın :
\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 }
}
+Hata ayıklama için çıktı
Üretim versiyonu ile çıktı
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı