เครื่องมือนี้เพิ่มคุณสมบัติ Opentype chws , vchw , halt และ vhal ให้กับแบบอักษร opentype/Truetype เมื่อคุณสมบัติเหล่านี้หายไป โปรดดูระยะห่างระหว่างเอเชียตะวันออกสำหรับรายละเอียดของคุณสมบัติเหล่านี้
เครื่องมือนี้ใช้แพ็คเกจระยะห่างจากเอเชียตะวันออกเป็นเครื่องมือหลักและมีข้อได้เปรียบตาม:
หากต้องการเพิ่มแบบอักษรใหม่ในรายการตัวอักษรที่รองรับโปรดดูส่วนการเพิ่มฟอนต์ด้านล่าง
pip install chws-toolหากคุณต้องการโคลนและติดตั้งในโหมดแก้ไขได้ด้วยแพ็คเกจการพัฒนา:
git clone https://github.com/googlefonts/chws_tool.git
cd chws_tool
pip install -e ' .[dev] ' ตัวอย่างต่อไปนี้เพิ่มคุณสมบัติลงใน input.otf และบันทึกลงในไดเรกทอรี build หากอาร์กิวเมนต์เป็นไดเรกทอรีเครื่องมือจะขยายไปยังแบบอักษรทั้งหมดในไดเรกทอรีซ้ำ
add-chws input.otf ใช้ตัวเลือก -o เพื่อเปลี่ยนไดเรกทอรีเอาต์พุตหรือตัวเลือก --help สำหรับรายการตัวเลือกทั้งหมด
add-chws input_dir -o output_dir ตัวอย่างต่อไปนี้สร้างแบบอักษรด้วยคุณสมบัติในไดเรกทอรี " build " หากคุณสมบัติมีผลบังคับใช้:
import chws_tool
def main ():
output_path = chws_tool . add_chws ( "fonts/input.otf" , "build" )
if output_path :
print ( f"Success! saved to { output_path } " )
else :
print ( "Skipped" )หากคุณต้องการเขียนทับฟอนต์ที่มีอยู่คุณสามารถละเว้นไดเรกทอรีเอาต์พุต
import chws_tool
def main ():
chws_tool . add_chws ( "fonts/input.otf" )หากโปรแกรมของคุณใช้ Asyncio:
import asyncio
import chws_tool
async def main_async ():
output_path = await chws_tool . add_chws_async ( "fonts/input.otf" , "build" )
if output_path :
print ( f"Success! saved to { output_path } " )
else :
print ( "Skipped" )
asyncio . run ( main_async ())แพ็คเกจนี้มีรายการแบบอักษรที่รองรับในตัวในการกำหนดค่า
แบบอักษรที่ไม่ได้อยู่ในรายการที่รู้จักจะยังคงประมวลผลด้วยการกำหนดค่าเริ่มต้น แต่แพ็คเกจนี้แสดงข้อความเตือน
เมื่อเพิ่มฟอนต์ใหม่ลงในรายการตัวอักษรที่รู้จักแนะนำกระบวนการต่อไปนี้:
add-chws ด้วย --print-name สามารถพิมพ์ได้วัตถุประสงค์หลักของกระบวนการนี้คือการหาระยะห่างที่แน่นเกินไปหรือการชนร่ายมนตร์ที่เกิดจาก Kernings
เครื่องมือนี้มีกฎฮิวริสติกเพื่อกำหนดการบังคับใช้ของเว้นวรรคโดยใช้ตัวชี้วัด Glyph แต่สันนิษฐานว่าเครื่องหมายวรรคตอนเต็มความกว้างมีช่องว่างภายในเพียงพอตามอนุสัญญาภาษาศาสตร์เช่นเดียวกับใน UAX#50 หรือใน CLREQ น่าเสียดายที่ไม่มีแบบอักษรทั้งหมดทำตามการประชุม
เพื่อเรียกใช้การทดสอบภาพ:
<script> ของ tests/test.htmlนี่คือรายการตรวจสอบและเคล็ดลับ:
การควบคุมอื่น ๆ ในการทดสอบไม่ได้บังคับ แต่อาจมีประโยชน์ในกรณีต่อไปนี้
ดู https://googlefonts.github.io/python#make-a-rease