ปรับขนาดอักขระเดี่ยวจากแบบอักษรบางแบบ
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}

ปัญหาที่ฉันเผชิญคือ
- ปัญหานี้จะปรากฏเฉพาะกับ
Kerkis Sans
แบบอักษรและเฉพาะเมื่อข้อความเป็นตัวหนา - ความพยายามของฉันแก้ไขขนาดในเครื่อง
มีวิธีปรับขนาดตัวหนาΦ
ทั่วโลกหรือไม่?
คำตอบ
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 }
}
เอาต์พุตพร้อม+
สำหรับการดีบัก

เอาต์พุตพร้อมเวอร์ชันการผลิต
