การเชื่อมโยงไซธอนที่มีความคล่องตัวสำหรับเครื่องยนต์สร้าง Harfbuzz
import sys
import uharfbuzz as hb
fontfile = sys . argv [ 1 ]
text = sys . argv [ 2 ]
blob = hb . Blob . from_file_path ( fontfile )
face = hb . Face ( blob )
font = hb . Font ( face )
buf = hb . Buffer ()
buf . add_str ( text )
buf . guess_segment_properties ()
features = { "kern" : True , "liga" : True }
hb . shape ( font , buf , features )
infos = buf . glyph_infos
positions = buf . glyph_positions
for info , pos in zip ( infos , positions ):
gid = info . codepoint
glyph_name = font . glyph_to_string ( gid )
cluster = info . cluster
x_advance = pos . x_advance
x_offset = pos . x_offset
y_offset = pos . y_offset
print ( f" { glyph_name } gid { gid } = { cluster } @ { x_advance } , { y_offset } + { x_advance } " )เมื่อสร้างแพ็คเกจ Uharfbuzz มันจะรวมแหล่ง Harfbuzz น้อยที่สุดโดยอัตโนมัติดังนั้นคุณไม่จำเป็นต้องติดตั้งไลบรารี Harfbuzz ดั้งเดิม
อย่างไรก็ตามหากคุณต้องการใช้ Uharfbuzz กับ Harfbuzz ที่จัดเตรียมไว้ด้วยระบบของคุณ (เช่นถ้าคุณสร้างจากแหล่งที่มีการกำหนดค่าที่กำหนดเอง) คุณสามารถตั้งค่า USE_SYSTEM_LIBS=1 ตัวแปรสภาพแวดล้อม (ดูตัวอย่างด้านล่าง)
USE_SYSTEM_LIBS=1 pip install uharfbuzz --no-binary :uharfbuzz: พบการติดตั้ง Harfbuzz โดยใช้ pkg-config ดังนั้นคุณต้องมีไฟล์ .pc ของ Harfbuzz ในระบบของคุณ หากคุณสร้างมันขึ้นมาจากแหล่งที่มา Meson จะติดตั้งโดยอัตโนมัติ มิฉะนั้นคุณอาจต้องการติดตั้งแพ็คเกจการพัฒนา Harfbuzz เช่น harfbuzz-devel บน distros ที่ได้มาจาก Fedora
หมายเหตุ: คุณ ต้อง สร้าง Harfbuzz ด้วยการสนับสนุนการสนับสนุน API ทดลอง
ใช้ git tag -a เพื่อสร้างแท็กหมายเหตุประกอบใหม่หรือ git tag -s สำหรับแท็กคำอธิบายประกอบที่ลงนาม GPG หากคุณต้องการ
ตั้งชื่อแท็กใหม่ด้วย 'V' ชั้นนำตามด้วยสาม major.minor.patch ตัวเลขเช่นในเวอร์ชันความหมาย ดูแท็กที่มีอยู่สำหรับตัวอย่าง
ในข้อความแท็กเขียนโน้ตรีลีสสั้น ๆ ที่อธิบายถึงการเปลี่ยนแปลงตั้งแต่แท็กก่อนหน้า บรรทัดหัวเรื่องจะเป็นชื่อปล่อยและตัวข้อความจะเป็นบันทึกย่อ
ในที่สุดกดแท็กไปยังที่เก็บระยะไกล (เช่นสมมติว่าต้นน้ำเรียกว่า Origin):
$ git push origin v0.4.3
สิ่งนี้จะทำให้ CI สร้างแพ็คเกจการแจกจ่ายและอัปโหลดไปยังดัชนีแพ็คเกจ Python โดยอัตโนมัติหากการทดสอบทั้งหมดผ่านสำเร็จ CI จะสร้างรีลีส GitHub ใหม่โดยอัตโนมัติและใช้เนื้อหาของแท็ก GIT ที่มีคำอธิบายประกอบสำหรับโน้ตรุ่น