Font-Line เป็นเครื่องมือสายบรรทัดคำสั่งโอเพ่นซอร์สสำหรับการรายงานตัวชี้วัดแนวตั้ง Opentype และการปรับเปลี่ยนระยะห่างจากบรรทัดคำสั่งบรรทัดคำสั่ง รองรับ .ttf และ .otf FONT สร้าง
$ pip3 install font-line$ font-line report [font path]$ font-line percent [integer %] [font path]$ font-line --help Font-Line สร้างขึ้นด้วย Python และรองรับล่าม Python 3.7+ ตรวจสอบเวอร์ชัน Python ที่ติดตั้งของคุณบนบรรทัดคำสั่งด้วยคำสั่ง:
$ python3 --version
ใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อติดตั้งแบบอักษรบนระบบของคุณ
รุ่น Font-Line ล่าสุดมีให้บริการผ่านดัชนีแพ็คเกจ Python และสามารถติดตั้งได้ด้วย PIP:
$ pip3 install font-line
ในการอัพเกรดเป็นฟอนต์-บรรทัดใหม่หลังจากติดตั้ง PIP ให้ใช้คำสั่ง pip3 install --upgrade font-line
เวอร์ชันที่เก็บปัจจุบัน (ซึ่งอาจเป็นก่อนการเปิดตัว PYPI) สามารถติดตั้งได้โดยการดาวน์โหลดที่เก็บหรือโคลนด้วย GIT:
git clone https://github.com/source-foundry/font-line.git
นำทางไปยังไดเรกทอรีที่เก็บระดับสูงสุดและป้อนคำสั่งต่อไปนี้:
$ pip3 install .
ทำตามคำแนะนำเดียวกันเพื่ออัปเกรดเป็นแอปพลิเคชันเวอร์ชันใหม่หากคุณติดตั้งด้วยวิธีการนี้
Font-Line ทำงานผ่านคำสั่งย่อยไปยังสายการใช้งานบรรทัดคำสั่ง font-line มีคำสั่งย่อยต่อไปนี้:
percent - ปรับเปลี่ยนระยะห่างของเส้นฟอนต์เป็นเปอร์เซ็นต์ของ Assender เป็นระยะทางลดลงreport - รายงานค่าตัวชี้วัด opentype สำหรับตัวอักษรการใช้คำสั่งย่อยเหล่านี้อธิบายไว้ในรายละเอียดด้านล่าง
ค่าตัวชี้วัดแนวตั้ง Opentype ต่อไปนี้และค่าที่คำนวณได้จากข้อมูลเหล่านี้จะแสดงด้วยคำสั่งย่อย report :
report การใช้คำสั่งย่อยป้อนอาร์กิวเมนต์ตัวอักษรอย่างน้อยหนึ่งรายการไปยังคำสั่ง:
$ font-line report [fontpath 1] <fontpath ...>
นี่คือตัวอย่างของรายงานที่สร้างขึ้นด้วยไฟล์ Hack Hack-Regular.ttf โดยใช้คำสั่ง:
$ font-line report Hack-Regular.ttf
=== Hack-Regular.ttf ===
Version 3.003;[3114f1256]-release
SHA1: b1cd50ba36380d6d6ada37facfc954a8f20c15ba
::::::::::::::::::::::::::::::::::::::::::::::::::
Metrics
::::::::::::::::::::::::::::::::::::::::::::::::::
[head] Units per Em: 2048
[head] yMax: 2027
[head] yMin: -605
[OS/2] CapHeight: 1493
[OS/2] xHeight: 1120
[OS/2] TypoAscender: 1556
[OS/2] TypoDescender: -492
[OS/2] WinAscent: 1901
[OS/2] WinDescent: 483
[hhea] Ascent: 1901
[hhea] Descent: -483
[hhea] LineGap: 0
[OS/2] TypoLineGap: 410
::::::::::::::::::::::::::::::::::::::::::::::::::
Ascent to Descent Calculations
::::::::::::::::::::::::::::::::::::::::::::::::::
[hhea] Ascent to Descent: 2384
[OS/2] TypoAscender to TypoDescender: 2048
[OS/2] WinAscent to WinDescent: 2384
::::::::::::::::::::::::::::::::::::::::::::::::::
Delta Values
::::::::::::::::::::::::::::::::::::::::::::::::::
[hhea] Ascent to [OS/2] TypoAscender: 345
[hhea] Descent to [OS/2] TypoDescender: -9
[OS/2] WinAscent to [OS/2] TypoAscender: 345
[OS/2] WinDescent to [OS/2] TypoDescender: -9
::::::::::::::::::::::::::::::::::::::::::::::::::
Baseline to Baseline Distances
::::::::::::::::::::::::::::::::::::::::::::::::::
hhea metrics: 2384
typo metrics: 2458
win metrics: 2384
[OS/2] fsSelection USE_TYPO_METRICS bit set: False
::::::::::::::::::::::::::::::::::::::::::::::::::
Ratios
::::::::::::::::::::::::::::::::::::::::::::::::::
hhea metrics / UPM: 1.16
typo metrics / UPM: 1.2
win metrics / UPM: 1.16
รายงานรวมถึงสตริงรุ่น Font, SHA-1 Hash Digest ของไฟล์ FONT และตัวชี้วัด Table Opentype ที่เกี่ยวข้องกับระยะห่างของบรรทัดในตัวอักษร
ผู้ใช้ UNIX/LINUX/OS X สามารถเขียนรายงานนี้ไปยังไฟล์ที่มี IDIOM บรรทัดคำสั่ง > คำสั่ง:
$ font-line report TheFont.ttf > font-report.txt
แก้ไขเส้นทางไฟล์ font-report.txt ด้านบนไปยังสตริงพา ธ ไฟล์ที่คุณเลือก
การคำนวณพื้นฐานถึงระยะทางพื้นฐาน (BTBD) จะดำเนินการตามคำแนะนำของ Microsoft สำหรับแบบอักษร opentype และ opentype OS/2 ตารางข้อมูลจำเพาะ
BTBD = hhea.Ascent + abs(hhea.Descent) + hhea.LineGap
BTBD = OS/2.typoAscent + abs(OS/2.typoDescent) + OS/2.typoLineGap
BTBD = OS/2.winAscent + OS/2.winDescent + [External Leading]
ที่ซึ่งนำภายนอกถูกกำหนดเป็น:
MAX(0, hhea.LineGap - ((OS/2.WinAscent + OS/2.winDescent) - (hhea.Ascent - hhea.Descent)))
Font-Line รองรับการปรับเปลี่ยนระยะห่างของสายอัตโนมัติเป็นเปอร์เซ็นต์ที่ผู้ใช้กำหนดไว้ของหน่วยต่อเมตริก EM ค่านี้จะย่อตาม UPM ด้านล่าง
percentป้อนเปอร์เซ็นต์ที่ต้องการของ UPM เป็นอาร์กิวเมนต์แรกของคำสั่ง ควร ป้อนเป็นค่าจำนวนเต็ม จากนั้นป้อนเส้นทางแบบอักษรอย่างน้อยหนึ่งเส้นทางที่คุณต้องการใช้การเปลี่ยนแปลงตัวอักษรของคุณ
$ font-line percent [percent change] [fontpath 1] <fontpath ...>
ค่าเริ่มต้นทั่วไปที่ใช้โดยนักออกแบบตัวพิมพ์ใหญ่คือ 20% UPM ในการแก้ไขตัวอักษรบนเส้นทาง TheFont.ttf เป็น 20% ของตัวชี้วัด UPM คุณจะป้อนคำสั่งต่อไปนี้:
$ font-line percent 20 TheFont.ttf
เพิ่มหรือลดค่าจำนวนเต็มเพื่อเพิ่มหรือลดระยะห่างบรรทัดของคุณตามลำดับ
ไฟล์ตัวอักษรดั้งเดิมจะถูกเก็บรักษาไว้ในเวอร์ชันที่ไม่ได้แก้ไขและการเขียนไฟล์ที่แก้ไขจะเกิดขึ้นบนพา ธ ใหม่ที่กำหนดเป็น [original filename]-linegap[percent].[ttf|otf] พา ธ ไปยังไฟล์จะถูกรายงานถึงคุณในเอาต์พุตมาตรฐานหลังจากการแก้ไขเสร็จสมบูรณ์ Font-Line ไม่ได้แก้ไขชุด Glyph หรือคำแนะนำที่ใช้กับตัวอักษร ดูส่วนรายละเอียดด้านล่างสำหรับคำอธิบายของการปรับเปลี่ยนตาราง opentype ที่เกิดขึ้นเมื่อใช้แอปพลิเคชันบนไฟล์ตัวอักษร
คุณสามารถตรวจสอบตัวชี้วัดแนวตั้งในไฟล์ Font ใหม่พร้อมคำสั่งย่อย report (ดูการใช้งานด้านบน)
percent การตีความและการแสดงค่าตัวชี้วัดแนวตั้งหลายค่าเหล่านี้คือแพลตฟอร์มและแอปพลิเคชันขึ้นอยู่กับ ไม่มีวิธีการ "ดีที่สุด" ที่ได้รับการยอมรับอย่างกว้างขวาง เช่นนี้ความพยายามในการรักษาแบบอักษร-บรรทัดเพื่อรักษาการออกแบบตัวชี้วัดดั้งเดิมในฟอนต์เมื่อมีการปรับเปลี่ยนด้วยคำสั่งย่อย percent
ปัจจุบัน Font-Line สนับสนุนวิธีการวัดแนวตั้งที่ใช้กันทั่วไปสามวิธี
วิธีการวัดแนวตั้ง 1 :
โดยที่ตัวชี้วัดถูกกำหนดเป็น:
Font-Line คำนวณค่าเดลต้าสำหรับความสูงที่คาดหวังทั้งหมดตามค่า % UPM ที่กำหนดไว้ในบรรทัดคำสั่ง ความแตกต่างระหว่างค่านี้และจำนวนหน่วยที่สังเกตได้ซึ่งขยาย [OS/2] winascent กับค่า WINDESCEST จะถูกหารด้วยครึ่งหนึ่งจากนั้นเพิ่มลงใน (สำหรับระยะห่างของเส้นที่เพิ่มขึ้น) หรือลบออกจาก (สำหรับระยะห่างของเส้นลดลง) แต่ละชุดของค่านักบวช/descender ในแบบอักษร [OS/2] TYPOLINEGAP และ [HHEA] ค่า LINEGAP ไม่ได้รับการแก้ไข
วิธีการวัดแนวตั้ง 2
โดยที่ตัวชี้วัดถูกกำหนดเป็น:
Font-Line คำนวณค่าเดลต้าสำหรับความสูงที่คาดหวังทั้งหมดตามค่า % UPM ที่กำหนดไว้ในบรรทัดคำสั่ง ความแตกต่างระหว่างค่านี้และจำนวนหน่วยที่สังเกตได้ซึ่งขยาย [OS/2] winascent กับค่า WINDESCESCH จะถูกหารด้วยครึ่งหนึ่งแล้วเพิ่มลงใน (สำหรับระยะห่างของเส้นที่เพิ่มขึ้น) หรือลบออกจาก (สำหรับระยะห่างของเส้นลดลง) [OS/2] WinASC/Windesc และ [Hhea] ASC/Desc ค่า [OS/2] TypOASC/Typodesc ไม่ได้รับการแก้ไขและรักษาคำจำกัดความของขนาด = ค่า UPM [OS/2] TYPOLINEGAP และ [HHEA] ค่า LINEGAP ไม่ได้รับการแก้ไข
วิธีการวัดแนวตั้ง 3
โดยที่ตัวชี้วัดถูกกำหนดเป็น:
การเปลี่ยนแปลงค่าตัวชี้วัดในตัวอักษรหมายถึง :
โปรดทราบว่าการปรับเปลี่ยนชั้นนำภายในจะถูกแบ่งอย่างสม่ำเสมอในค่า [HHEA] Ascent & Descent Descent และข้าม [OS/2] ค่า Winascent & Windescent เราเพิ่มค่าครึ่งหนึ่งของค่า [OS/2] TypolineGap ใหม่ลงใน [OS/2] TypoAscender หรือ Typodescender ดั้งเดิมเพื่อกำหนดคุณสมบัติการวัดใหม่เหล่านี้ ค่า [HHEA] LINEGAP จะถูกกำหนดเป็นศูนย์เสมอ
ค่าตัวชี้วัดแนวตั้งที่กำหนดไว้ใหม่สามารถนำไปสู่การตัดส่วนประกอบ glyph หากไม่ได้กำหนดอย่างถูกต้อง ไม่มีการทดสอบในแบบอักษรเพื่อให้การรับรองว่าสิ่งนี้ไม่ได้เกิดขึ้น เราคิดว่าผู้ใช้มีความเชี่ยวชาญในปัญหาเหล่านี้ก่อนใช้แอปพลิเคชันและปล่อยให้การทดสอบนี้กับผู้ออกแบบ / ผู้ใช้ก่อนที่จะใช้แบบอักษรที่แก้ไขในการตั้งค่าการผลิต
โปรดส่งรายงานปัญหาใหม่เกี่ยวกับที่เก็บโครงการ
Font-Line ถูกสร้างขึ้นด้วยห้องสมุด Fonttools Python ที่ยอดเยี่ยม
ใบอนุญาต MIT ดูใบอนุญาตสำหรับรายละเอียด