ปัญหาเดียวกันนี้ถูกกล่าวถึงในที่กำหนดเองติดตั้งตัวอักษรแสดงไม่ถูกต้องใน UILabel ไม่มีวิธีแก้ปัญหาใด ๆ
นี่คือวิธีแก้ปัญหาที่ใช้ได้กับแบบอักษรที่กำหนดเองของฉันซึ่งมีปัญหาเดียวกันใน UILabel, UIButton และอื่น ๆ ปัญหาเกี่ยวกับฟอนต์กลายเป็นความจริงที่ว่าคุณสมบัติการขึ้นลงของมันมีขนาดเล็กเกินไปเมื่อเทียบกับค่าของฟอนต์ระบบ Ascender คือช่องว่างแนวตั้งเหนืออักขระของแบบอักษร ในการแก้ไขแบบอักษรของคุณคุณจะต้องดาวน์โหลดยูทิลิตี้บรรทัดคำสั่งของApple Font Tool Suite จากนั้นใช้แบบอักษรของคุณและทำสิ่งต่อไปนี้:
~$ ftxdumperfuser -t hhea -A d Bold.ttf
Bold.hhea.xml
นี้จะสร้าง เปิดด้วยโปรแกรมแก้ไขข้อความและเพิ่มมูลค่าของascender
แอตทริบิวต์ คุณจะต้องทดลองเล็กน้อยเพื่อหาค่าที่เหมาะสมที่สุดสำหรับคุณ ในกรณีของฉันฉันเปลี่ยนจาก 750 เป็น 1200 จากนั้นเรียกใช้ยูทิลิตี้อีกครั้งโดยใช้บรรทัดคำสั่งต่อไปนี้เพื่อรวมการเปลี่ยนแปลงของคุณกลับเข้าไปในไฟล์ ttf:
~$ ftxdumperfuser -t hhea -A f Bold.ttf
จากนั้นใช้แบบอักษร ttf ที่เป็นผลลัพธ์ในแอปของคุณ
OS X El Capitan
โปรแกรมติดตั้ง Apple Font Tool Suite ไม่ทำงานอีกต่อไปบน OSX El Capitan เนื่องจากSIPเนื่องจากพยายามติดตั้งไฟล์ไบนารีลงในไดเรกทอรีที่มีการป้องกัน ftxdumperfuser
คุณต้องสารสกัดด้วยตนเอง ก่อนอื่นให้คัดลอก pkg จาก dmg ไปยังโลคัลไดเร็กทอรีหลังจากนั้นแกะไฟล์OS X Font Tools.pkg
ด้วย
~$ xar -xf OS\ X\ Font\ Tools.pkg
ตอนนี้ไปที่โฟลเดอร์fontTools.pkg
ด้วย
~$ cd fontTools.pkg/
แยกข้อมูลด้วย
~$ cat Payload | gunzip -dc | cpio -i
ตอนนี้ftxdumperfuser
ไบนารีอยู่ในโฟลเดอร์ปัจจุบันของคุณ คุณสามารถย้ายไป/usr/local/bin/
เพื่อใช้ในทุกโฟลเดอร์ภายในแอปพลิเคชันเทอร์มินัลดังต่อไปนี้
~$ mv ftxdumperfuser /usr/local/bin/