การดำเนินการแบบอักษรที่เป็นมิตรที่ด้านบนของ fontTools
-
pip ติดตั้ง python-fontbro.php
เพียงนำเข้าคลาสแบบอักษร:
จาก fontbro import Fontfont = Font("fonts/MyFont.ttf")# หรือคุณสามารถใช้วัตถุที่เหมือนไฟล์ใดก็ได้: ด้วย open("fonts/MyFont.ttf") เป็น fh:font = Font(fh)
clone
close
from_collection
get_characters
get_characters_count
get_family_classification
get_family_name
get_features
get_features_tags
get_filename
get_fingerprint
get_fingerprint_match
get_format
get_glyphs
get_glyphs_count
get_image
get_italic_angle
get_name
get_names
get_style_flag
get_style_flags
get_style_name
get_svg
get_ttfont
get_unicode_block_by_name
get_unicode_blocks
get_unicode_script_by_name
get_unicode_scripts
get_variable_axes
get_variable_axes_tags
get_variable_axis_by_tag
get_variable_instances
get_variable_instance_by_style_name
get_variable_instance_closest_to_coordinates
get_version
get_vertical_metrics
get_weight
get_width
is_color
is_monospace
is_static
is_variable
rename
sanitize
save
save_as_woff
save_as_woff2
save_to_file_object
save_variable_instances
set_family_classification
set_family_name
set_name
set_names
set_style_flag
set_style_flags
set_style_flags_by_subfamily_name
set_style_name
set_vertical_metrics
subset
to_sliced_variable
to_static
clone
"""สร้างอินสแตนซ์แบบอักษรใหม่เพื่ออ่านไฟล์ไบนารีเดียวกัน"""font_clone = font.clone()
close
"""ปิดอินสแตนซ์ TTFont ที่ห่อไว้"""font.close()
from_collection
"""รับรายการวัตถุแบบอักษรจากไฟล์คอลเลกชันแบบอักษร (.ttc / .otc):param filepath: The filepath:type filepath: str หรือ pathlib.Path:returns: รายการของวัตถุแบบอักษร:rtype: list" ""fonts = Font.from_collection(filepath="my-font-collection.ttc")
get_characters
"""รับอักขระแบบอักษร:param allowance_blank: หากเป็น True อักขระที่ไม่มีรูปทรงจะไม่ถูกส่งกลับ:type ไม่สนใจ_blank: bool:returns: ตัวอักขระ:rtype: ตัวสร้างของ dicts:raises TypeError: หากไม่สามารถค้นหาได้ unicode cmap dict ที่ 'ดีที่สุด' ในแบบอักษร"""chars = font.get_Characters(ignore_blank=False)
get_characters_count
"""รับจำนวนอักขระแบบอักษร:param allowance_blank: หากเป็น True อักขระที่ไม่มีรูปทรงจะไม่ถูกนับ:type ไม่สนใจ: bool:returns: อักขระ count.:rtype: int"""chars_count = font.get_Characters_count(ignore_blank =เท็จ)
get_family_classification
"""รับข้อมูลการจำแนกตระกูลแบบอักษรที่อ่านฟิลด์ sFamilyClass จากตาราง OS/2 หากไม่มีตาราง OS/2 ไม่มีการส่งคืน ไม่มีการส่งคืน:returns: พจนานุกรมที่มีข้อมูลการจำแนกตระกูลแบบอักษร เช่น { "full_name": "Sans Serif / นีโอพิสดารโกธิค", "class_id": 8, "class_name": "Sans Serif", "subclass_id": 5, "subclass_name": "โกธิคนีโอพิสดาร", }:rtype: dict"""family_classification = font.get_family_classification()
get_family_name
"""รับชื่อสกุลโดยอ่านบันทึกชื่อตามลำดับความสำคัญ (16, 21, 1).:returns: The Font family name.:rtype: str"""family_name = font.get_family_name()
get_features
"""รับคุณสมบัติ opentype แบบอักษร:returns: The features.:rtype: list of dict"""features = font.get_features()
get_features_tags
"""รับแท็กคุณสมบัติ opentype แบบอักษร:returns: รายการแท็กคุณสมบัติ:rtype: รายการของ str"""features_tags = font.get_features_tags()
get_filename
"""รับชื่อไฟล์เพื่อใช้ในการบันทึกแบบอักษรลงในระบบไฟล์:param Variable_suffix: ส่วนต่อท้ายตัวแปร ค่าเริ่มต้น "Variable":type Variable_suffix: str:param Variable_axes_tags: ค่าสถานะแท็กแกนตัวแปร หากเป็น True แท็กแกน จะถูกต่อท้าย เช่น '[wght,wdth]':type Variable_axes_tags: bool:param Variable_axes_values: ค่าแกนตัวแปรจะตั้งค่าสถานะเป็น True ค่าแต่ละแกนจะถูกต่อท้าย เช่น '[wght(100,100,900),wdth(75,100,125)]':type Variable_axes_values: bool:returns: The filename.:rtype: str"""filename = font.get_filename(variable_suffix="ตัวแปร", Variable_axes_tags=True, Variable_axes_values=False)
get_fingerprint
"""รับลายนิ้วมือแบบอักษร: แฮชที่คำนวณจากการแสดงรูปภาพของแบบอักษร การเปลี่ยนตัวเลือกข้อความจะส่งผลต่อลายนิ้วมือที่ส่งคืน:ข้อความพารามิเตอร์: ข้อความที่ใช้สำหรับสร้างลายนิ้วมือ ค่าเริ่มต้น: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".:type text : str:returns: แฮชลายนิ้วมือ:rtype: imagehash.ImageHash"""hash = font.get_fingerprint()
get_fingerprint_match
"""รับการจับคู่ลายนิ้วมือระหว่างแบบอักษรนี้กับแบบอักษรอื่น โดยการตรวจสอบว่าลายนิ้วมือเท่ากันหรือไม่ (ความแตกต่าง <= ความอดทน).:param other: แบบอักษรอื่นสามารถเป็นได้ทั้งพา ธ ไฟล์หรืออินสแตนซ์แบบอักษร:type other: str หรือ Font:param allowance: ค่าเผื่อความแตกต่าง ค่าเริ่มต้น 3.:type Tolerance: int:param text: ข้อความที่ใช้สำหรับสร้างลายนิ้วมือ ค่าเริ่มต้น: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".:type text: str:returns: สิ่งอันดับที่มีข้อมูลการจับคู่ (match, diff, hash, other_hash).:rtype: tuple"""match, diff, hash, other_hash = font.get_fingerprint_match (อื่นๆ = "other_font.ttf", ความอดทน = 10)
get_format
"""รับรูปแบบฟอนต์: otf, ttf, woff, woff2.:param allowance_flavor: หากเป็น True รูปแบบดั้งเดิมที่ไม่มีการบีบอัดจะถูกส่งกลับ:typeign_flavor: bool:returns: The format.:rtype: str หรือ None" ""format = font.get_format(ignore_flavor=False)
get_glyphs
"""รับฟอนต์ร่ายมนตร์และองค์ประกอบของตัวเอง:returns: The glyphs.:rtype: เครื่องกำเนิดไฟฟ้าของ dicts"""glyphs = font.get_glyphs()
get_glyphs_count
"""รับจำนวนสัญลักษณ์แบบอักษร:returns: จำนวนสัญลักษณ์สัญลักษณ์:rtype: int"""glyphs_count = font.get_glyphs_count()
get_image
"""รับการแสดงรูปภาพของแบบอักษรที่แสดงข้อความบางส่วนโดยใช้ตัวเลือกที่กำหนด:ข้อความ param: ข้อความที่แสดงผลในรูปภาพ:ประเภทข้อความ: str:ขนาดพารามิเตอร์: ขนาดตัวอักษร:ขนาดประเภท: int:สีพารามิเตอร์: ข้อความ สี:ประเภท สี: tuple:param background_color: สีพื้นหลัง:ประเภท พื้นหลัง_สี: tuple"""img = font.get_image(text="Hello!", size=48, color=(0, 0, 0, 255), background_color=(255, 255, 255, 255))
get_italic_angle
"""รับแบบอักษรตัวเอียง:returns: ค่ามุมรวมทั้งธง backslant ตัวเอียง และโรมัน:rtype: dict หรือ none"""italic_angle = font.get_italic_angle()
get_name
"""รับชื่อตามตัวระบุจากชื่อแบบอักษร table.:param key: ชื่อ id หรือคีย์ (เช่น "family_name"):type key: int หรือ str:returns: The name.:rtype: str หรือ none :raise KeyError: ถ้าคีย์ไม่ใช่ชื่อที่ถูกต้อง key/id"""family_name = font.get_name(key=Font.NAME_FAMILY_NAME)
get_names
"""รับบันทึกชื่อที่แมปโดยชื่อคุณสมบัติ:returns: ชื่อ.:rtype: dict"""names = font.get_names()
get_style_flag
"""รับแฟล็กสไตล์ที่อ่าน OS/2 และ macStyle tables.:param key: The key:type key: string:returns: The style flag.:rtype: bool"""flag = font.get_style_flag(Font.STYLE_FLAG_BOLD)
get_style_flags
"""รับแฟล็กสไตล์ที่อ่านตาราง OS/2 และ macStyle.:returns: dict ที่แสดงถึงแฟล็กสไตล์:rtype: dict"""flags = font.get_style_flags()
get_style_name
"""รับชื่อสไตล์ที่อ่านบันทึกชื่อตามลำดับความสำคัญ (17, 22, 2).:returns: The Font style name.:rtype: str"""style_name = font.get_style_name()
get_svg
"""รับการแสดงแบบอักษร SVG ที่แสดงข้อความบางส่วนโดยใช้ตัวเลือกที่กำหนด:ข้อความพารามิเตอร์: ข้อความที่จะแสดงผลเป็นเส้นทาง SVG.:พิมพ์ข้อความ: str:ขนาดพารามิเตอร์: ขนาดของแบบอักษรที่จะใช้สำหรับการแสดงผล ข้อความเป็น point.:type size: int:returns: สตริง SVG ที่แสดงถึงข้อความที่แสดงผล:rtype: str"""svg_str = font.get_svg(text="สวัสดี!", ขนาด=48)
get_ttfont
"""รับอินสแตนซ์ TTFont ที่ห่อไว้:returns: อินสแตนซ์ TTFont.:rtype: TTFont"""ttfont = font.get_ttfont()
get_unicode_block_by_name
"""รับบล็อกยูนิโค้ดตามชื่อ (ชื่อไม่คำนึงถึงขนาดตัวพิมพ์และละเว้น "-").:ชื่อพารามิเตอร์: ชื่อ:ประเภทชื่อ: str:returns: บล็อกยูนิโค้ดกำหนดว่าชื่อนั้นถูกต้อง หรือไม่เป็นอย่างอื่น: rtype: dict หรือ none"""block = font.get_unicode_block_by_name(name="Basic Latin")
get_unicode_blocks
"""รับบล็อก Unicode และความครอบคลุม เฉพาะบล็อกที่มีความครอบคลุม >= Coverage_threshold (0.0 <= Coverage_threshold <= 1.0) เท่านั้นที่จะถูกส่งคืน:param Coverage_threshold: ความครอบคลุมขั้นต่ำที่จำเป็นสำหรับบล็อกที่จะส่งคืน:type Coverage_threshold: float:returns: รายการของบล็อก Unicode.:rtype: รายการของ dicts"""blocks = font.get_unicode_blocks(coverage_threshold=0.00001)
get_unicode_script_by_name
"""รับสคริปต์ยูนิโค้ดตามชื่อ/แท็ก (ชื่อ/แท็กไม่คำนึงถึงขนาดตัวพิมพ์และละเว้น "-").:ชื่อพารามิเตอร์: ชื่อ:ประเภท ชื่อ: str:returns: สคริปต์ยูนิโค้ดกำหนดว่าชื่อ/แท็กเป็น ถูกต้อง ไม่มีอย่างอื่น:rtype: dict หรือ none"""script = font.get_unicode_script_by_name(name="Latn")
get_unicode_scripts
"""รับสคริปต์ Unicode และความครอบคลุม เฉพาะสคริปต์ที่มีความครอบคลุม >= Coverage_threshold (0.0 <= Coverage_threshold <= 1.0) เท่านั้นที่จะถูกส่งคืน:param Coverage_threshold: ความครอบคลุมขั้นต่ำที่ต้องการสำหรับสคริปต์ที่จะส่งคืน:type Coverage_threshold: float:returns: รายการสคริปต์ Unicode.:rtype: รายการ dicts"""scripts = font.get_unicode_scripts(coverage_threshold=0.00001)
get_variable_axes
"""รับตัวแปรฟอนต์ axes.:returns: รายการแกนหากฟอนต์เป็นฟอนต์แปรผัน มิฉะนั้น None.:rtype: รายการ dict หรือไม่มี"""axes = font.get_variable_axes()
get_variable_axes_tags
"""รับแท็กแกนตัวแปร:returns: แท็กแกนตัวแปร:rtype: รายการหรือไม่มี"""axes_tags = font.get_variable_axes_tags()
get_variable_axis_by_tag
"""รับแกนตัวแปรด้วย tag.:param tag: The tag:type tag: string:returns: แกนตัวแปรด้วย tag.:rtype: dict หรือ none"""axis = font.get_variable_axis_by_tag(tag="wght" )
get_variable_instances
"""รับตัวแปร instances.:returns: รายการอินสแตนซ์หากฟอนต์เป็นฟอนต์แปรผัน มิฉะนั้นเป็น None.:rtype: list of dict หรือ none"""instances = font.get_variable_instances()
get_variable_instance_by_style_name
"""รับอินสแตนซ์ของตัวแปรตามชื่อสไตล์ เช่น style_name = 'Bold':param style_name: ชื่อสไตล์:ประเภท style_name: str:returns: อินสแตนซ์ของตัวแปรที่ตรงกับชื่อสไตล์ที่กำหนด:rtype: dict หรือ none"" "อินสแตนซ์ = font.get_variable_instance_by_style_name(style_name="Bold")
get_variable_instance_closest_to_coordinates
"""รับอินสแตนซ์ของตัวแปรที่ใกล้เคียงที่สุดกับพิกัด เช่นพิกัด = {"wght": 1000, "slnt": 815, "wdth": 775}หากพิกัดไม่ได้ระบุบางแกน ระบบจะใช้ค่าเริ่มต้นของแกนในการค้นหา :param พิกัด: พิกัด:ประเภท พิกัด: dict:returns: อินสแตนซ์ของตัวแปรที่ใกล้กับพิกัดมากที่สุด:rtype: dict หรือ ไม่มี"""instance = font.get_variable_instance_closest_to_coordinates(พิกัด={"wght": 1000, "slnt": 815, "wdth": 775})
get_version
"""รับเวอร์ชันฟอนต์:returns: ค่าเวอร์ชันฟอนต์:rtype: float"""version = font.get_version()
get_vertical_metrics
"""รับเมตริกแนวตั้งของแบบอักษร:returns: พจนานุกรมที่มีเมตริกแนวตั้งต่อไปนี้: "units_per_em", "y_max", "y_min", "ascent", "descent", "line_gap", "typo_ascender", "typo_descender ", "typo_line_gap", "cap_height", "x_height", "win_ascent", "win_descent":rtype: dict"""metrics = font.get_vertical_metrics()
get_weight
"""รับค่าน้ำหนักแบบอักษรและชื่อ:returns: ชื่อน้ำหนักและค่า:rtype: dict หรือไม่มี"""weight = font.get_weight()
get_width
"""รับค่าความกว้างแบบอักษรและชื่อ:returns: ชื่อความกว้างและค่า:rtype: dict หรือไม่มี"""width = font.get_width()
is_color
"""กำหนดว่าฟอนต์เป็นฟอนต์สี:returns: True ถ้าฟอนต์สี, False อย่างอื่น:rtype: bool"""color = font.is_color()
is_monospace
"""กำหนดว่าแบบอักษรเป็นแบบอักษร monospace.:paramขีดจำกัด: ขีดจำกัด (0.0 <= n <= 1.0) ของสัญลักษณ์ที่มีความกว้างเท่ากันเพื่อพิจารณาแบบอักษรเป็น monospace.:typeขีดจำกัด: float:returns: True ถ้า แบบอักษร monospace, False อย่างอื่น:rtype: bool"""mono = font.is_monospace(threshold=0.85)
is_static
"""กำหนดว่าฟอนต์เป็นฟอนต์คงที่:returns: True ถ้าฟอนต์คงที่, False อย่างอื่น:rtype: bool"""static = font.is_static()
is_variable
"""กำหนดว่าแบบอักษรเป็นแบบอักษรตัวแปรหรือไม่:returns: True หากแบบอักษรตัวแปร, False มิฉะนั้น:rtype: bool"""variable = font.is_variable()
rename
"""เปลี่ยนชื่อบันทึกชื่อแบบอักษร (1, 2, 4, 6, 16, 17) ตาม family_name และ style_name ที่กำหนด (subfamily_name) หากไม่ได้กำหนด family_name ระบบจะตรวจจับอัตโนมัติ หากไม่ได้กำหนด style_name ก็จะ ตรวจพบอัตโนมัติ:param family_name: ชื่อตระกูล:ประเภท family_name: str:param style_name: ชื่อสไตล์:ประเภท style_name: str:param update_style_flags: หากเป็นจริง ธงสไตล์จะได้รับการอัปเดตโดยชื่อตระกูลย่อย:ประเภท update_style_flags: bool:raises ValueError: หากชื่อ PostScript ที่คำนวณแล้วยาวเกิน 63 อักขระ"""font.rename(family_name="My Font New ", style_name="ตัวหนาเอียง", update_style_flags=True)
sanitize
"""ฆ่าเชื้อไฟล์ฟอนต์โดยใช้ OpenType Sanitizerhttps://github.com/googlefonts/ots-python:param เข้มงวด: หากเป็นจริง (ค่าเริ่มต้น) ทำให้เกิดข้อยกเว้นแม้ในคำเตือนของเจลทำความสะอาด หากเป็นเท็จ จะแสดงข้อยกเว้นในเท่านั้น ความล้มเหลวของน้ำยาฆ่าเชื้อ (รหัสทางออกที่ไม่ใช่ศูนย์).:type เข้มงวด: bool:raises ข้อยกเว้น: หาก OpenType Sanitizer รายงานข้อผิดพลาดระหว่างกระบวนการฆ่าเชื้อ:return: ไม่มี:หมายเหตุ: ใช้ OpenType Sanitizer (ots) เพื่อฆ่าเชื้อไฟล์ฟอนต์ บันทึกแบบอักษรลงในไดเร็กทอรีชั่วคราวและเรียกใช้ sanitizer ในไฟล์ที่บันทึกไว้ หาก `strict` เป็น True (ค่าเริ่มต้น) จะถือว่าคำเตือนของ sanitizer เป็นข้อผิดพลาด จะตรวจสอบเฉพาะข้อผิดพลาดของเจลทำความสะอาดเท่านั้น"""font.sanitize(strict=True)
save
"""บันทึกแบบอักษรที่ filepath.:param filepath: พาธของไฟล์ ถ้าไม่มี จะใช้พาธของไฟล์ต้นทาง: พิมพ์ filepath: str หรือ None:param เขียนทับ: เขียนทับ ถ้าเป็น True ไฟล์ฟอนต์ต้นฉบับสามารถเขียนทับได้:type เขียนทับ : bool:returns: พาธไฟล์ที่ฟอนต์ได้รับการบันทึกไปที่.:rtype: str:raises ValueError: หากพาธไฟล์เหมือนกับฟอนต์ต้นฉบับและไม่ได้เขียนทับ อนุญาต"""saved_font_path = font.save(filepath=None, overwrite=False)
save_as_woff
"""บันทึกแบบอักษรเป็น woff.:param filepath: The filepath:type filepath: str:param overwrite: The overwrite, if True the source font file can be overwrite:type overwrite: bool:returns: the filepath that the font has been บันทึกไปที่:rtype: str"""saved_font_path = font.save_as_woff(filepath=None, overwrite=True)
save_as_woff2
"""บันทึกแบบอักษรเป็น woff2.:param filepath: The filepath:type filepath: str:param overwrite: The overwrite, if True the source font file can be overwrite:type overwrite: bool:returns: the filepath that the font has been บันทึกไปที่:rtype: str"""saved_font_path = font.save_as_woff2(filepath=None, overwrite=True)
save_to_fileobject
"""เขียนแบบอักษรไปยังวัตถุที่เหมือนไฟล์ หากไม่มีการส่งผ่านวัตถุไฟล์ จะมีการสร้างอินสแตนซ์ของ `BytesIO` สำหรับผู้ใช้:param fileobject: วัตถุที่เหมือนไฟล์ที่จะเขียนถึง:returns: ไฟล์ วัตถุที่เดิมผ่าน หรือ BytesIOinstance.:rtype ใหม่: Tying.io.IO"""fileobject = font.save_to_fileobject(fileobject=None)
save_variable_instances
"""บันทึกอินสแตนซ์ทั้งหมดของแบบอักษรตัวแปรไปยังไดเร็กทอรีที่ระบุในรูปแบบอย่างน้อยหนึ่งรูปแบบ: param dirpath: The dirpath:type dirpath: เส้นทางไดเร็กทอรีที่อินสแตนซ์จะถูกบันทึก:param woff2: ไม่ว่าจะบันทึกอินสแตนซ์หรือไม่ ในรูปแบบ WOFF2 ด้วย ค่าเริ่มต้นคือ True.:type woff: bool:param woff: ไม่ว่าจะบันทึกอินสแตนซ์ในรูปแบบ WOFF ด้วยหรือไม่ เขียนทับ: จะเขียนทับไฟล์ที่มีอยู่ในไดเร็กทอรีหรือไม่ ค่าเริ่มต้นคือ True.:type เขียนทับ: bool:param options: ตัวเลือกเพิ่มเติมที่จะส่งผ่านไปยัง instancer เมื่อสร้างอินสแตนซ์แบบสแตติก:type options: พจนานุกรม:returns: รายการที่มีพจนานุกรมสำหรับ แต่ละอินสแตนซ์ที่บันทึกไว้ แต่ละพจนานุกรมประกอบด้วย 'อินสแตนซ์' (ประกอบด้วยข้อมูลเมตาของอินสแตนซ์) และ 'ไฟล์' (พจนานุกรมที่มีรูปแบบไฟล์เป็นคีย์และเส้นทางไฟล์เป็นค่า): เพิ่ม TypeError: หากแบบอักษรเป็น ไม่ใช่แบบอักษรตัวแปร"""saved_fonts = font.save_variable_instances(dirpath, woff2=True, woff=True, overwrite=True, **options)
set_family_classification
"""ตั้งค่าการจัดประเภทตระกูลแบบอักษร (sFamilyClass ในตาราง OS/2) ตาม class_id และ subclass_id.:param class_id ที่ให้มา: ตัวระบุที่เป็นตัวเลขของตระกูลแบบอักษร class.:param subclass_id: ตัวระบุตัวเลขที่เป็นตัวเลือกของคลาสย่อยตระกูลแบบอักษร (ค่าเริ่มต้นคือ 0).:raises OperationError: ถ้าตาราง OS/2 ไม่พร้อมใช้งานใน font.:raises ArgumentError: ถ้า class_id ไม่ถูกต้อง หรือระบุ subclass_id แต่ไม่ถูกต้อง"""font.set_family_classification(**font.FAMILY_CLASSIFICATION_SCRIPTS_CALLIGRAPHIC)# อีกทางหนึ่ง:font.set_family_classification(class_id=10, subclass_id=5)
set_family_name
"""ตั้งค่านามสกุลที่อัปเดตบันทึกชื่อแบบอักษรที่เกี่ยวข้อง:ชื่อพารามิเตอร์: ชื่อ:ชื่อประเภท: ชื่อตระกูลใหม่"""font.set_family_name(name="My Font New")
set_name
"""ตั้งชื่อตามตัวระบุในชื่อแบบอักษร table.:param key: ชื่อ id หรือคีย์ (เช่น "family_name"):type key: int หรือ str:param value: The value:type value: str" ""font.set_name(Font.NAME_FAMILY_NAME, "เปลี่ยนชื่อสกุลแล้ว")
set_names
"""ตั้งชื่อตามตัวระบุในชื่อ table.:param ชื่อ: ชื่อ:type ชื่อ: dict"""font.set_names(names={Font.NAME_FAMILY_NAME: "Family Name Renamed",Font.NAME_SUBFAMILY_NAME: " เปลี่ยนชื่อเป็นประจำ", -
set_style_flag
"""ตั้งค่าแฟล็กสไตล์:คีย์ param: คีย์แฟล็ก:คีย์ประเภท: str:ค่าพารามิเตอร์: ค่า:ประเภทค่า: bool"""font.set_style_flag(Font.STYLE_FLAG_BOLD, True)
set_style_flags
"""ตั้งค่าแฟล็กสไตล์ โดยแฟล็กที่ตั้งค่าเป็น None จะถูกละเว้น:param ตัวหนา: ค่าแฟล็กตัวหนา:type ตัวหนา: bool หรือ None:param ตัวเอียง: ค่าแฟล็กตัวเอียง:type ตัวเอียง: bool หรือ None:param ขีดเส้นใต้: ค่าสถานะขีดเส้นใต้.:type ขีดเส้นใต้: บูลหรือไม่มี: โครงร่างพารามิเตอร์: ค่าสถานะโครงร่าง: บูลหรือ ไม่มี"""font.set_style_flags(ปกติ=ไม่มี, ตัวหนา=ไม่มี, ตัวเอียง=ไม่มี, โครงร่าง=ไม่มี, ขีดเส้นใต้=ไม่มี)
set_style_flags_by_subfamily_name
"""ตั้งค่าสถานะสไตล์ตามค่าชื่อตระกูลย่อย ค่าตระกูลย่อยควรเป็น "ปกติ", "ตัวเอียง", "ตัวหนา" หรือ "ตัวเอียงหนา" เพื่อให้วิธีนี้ทำงานได้อย่างถูกต้อง"""font.set_style_flags_by_subfamily_name()
set_style_name
"""ตั้งชื่อสไตล์ที่อัปเดตบันทึกชื่อแบบอักษรที่เกี่ยวข้อง:ชื่อพารามิเตอร์: ชื่อ:ชื่อประเภท: ชื่อสไตล์ใหม่"""font.set_style_name(name="Bold Italic")
set_vertical_metrics
"""ตั้งค่าเมตริกแนวตั้ง:พารามิเตอร์เมตริก: อาร์กิวเมนต์คำหลักที่แสดงถึงเมตริกแนวตั้งที่สามารถตั้งค่าได้: "units_per_em", "y_max", "y_min", "ascent", "descent", "line_gap", "typo_ascender" , "typo_descender", "typo_line_gap", "cap_height", "x_height", "win_ascent", "win_descent""""font.set_vertical_metrics(units_per_em=2000, y_max=2102, y_min=-533, ขึ้น=1800, ลง=-400, line_gap=0, typo_ascender=1800, typo_descender=-400, typo_line_gap=0, cap_height=1400, x_height=1080, win_ascent=2160, win_descent=540)
subset
"""ตั้งค่าย่อยแบบอักษรโดยใช้ตัวเลือกที่กำหนด (ยูนิโค้ดหรือสัญลักษณ์หรือข้อความ) เป็นไปได้ที่จะส่งผ่านตัวเลือกตัวตั้งค่าย่อยด้วย ข้อมูลเพิ่มเติมที่นี่:https://github.com/fonttools/fonttools/blob/main/Lib/fontTools /subset/__init__.py:param unicodes: unicodes:type unicodes: str หรือ list:param glyphs: glyphs:type glyphs: list:param text: The text:type text: str:param options: The subsetter options:type options: dict"""font.subset(unicodes="", glyphs=[], text="", **options)
to_sliced_variable
"""แปลงแบบอักษรตัวแปรเป็นบางส่วนโดยแบ่งแกนตัวแปรตามพิกัดที่กำหนด หากไม่ได้ระบุค่าแกน แกนจะไม่ถูกแตะต้อง หากค่าต่ำสุดของแกนและค่าสูงสุดเท่ากัน แกนจะถูกปักหมุด .:param พิกัด: พจนานุกรมพิกัด ค่าแต่ละรายการจะต้องเป็น tuple/list/dict (พร้อมคีย์ 'min', 'default' และ 'max') สำหรับการแบ่งส่วนหรือ float/int สำหรับการปักหมุด เช่น {'wdth':100, 'wght':(100,600), 'ital':(30,65,70)} หรือ {'wdth':100, 'wght':[100,600], 'ital ':[30,65,70]} หรือ {'wdth':100, 'wght':{'min':100,'max':600}, 'ital':{'min':30,'default':65,'max':70}}:type พิกัด: dict:ตัวเลือกพารามิเตอร์ : ตัวเลือกสำหรับตัวเลือก fontTools.varLib.instancer:type: พจนานุกรม: เพิ่ม TypeError: หากแบบอักษรไม่ใช่ตัวแปร แบบอักษร: เพิ่ม ValueError: หากไม่ได้กำหนดพิกัด (ว่าง): เพิ่ม ValueError: หากแกนพิกัดถูกปักหมุดไว้ทั้งหมด"""font.to_sliced_variable(พิกัด, **ตัวเลือก)
to_static
"""แปลงแบบอักษรตัวแปรให้เป็นแบบคงที่โดยปักหมุดแกนตัวแปรไว้ที่พิกัดที่กำหนดหากไม่ได้ระบุค่าแกน แกนจะถูกปักหมุดตามค่าเริ่มต้น หากไม่ได้ระบุพิกัด แต่ละแกนจะถูกปักหมุดที่ค่าเริ่มต้น value.:param พิกัด: พิกัด เช่น {'wght':500, 'ital':50}:type พิกัด: dict หรือ None:param style_name: อินสแตนซ์ที่มีอยู่ ชื่อสไตล์ เช่น 'Black':type style_name: str หรือ None:param update_names: หากเป็น True บันทึกชื่อจะได้รับการอัปเดตตามอินสแตนซ์ที่ใกล้เคียงที่สุด:type update_names: bool:param update_style_flags: หากเป็น True แฟล็กสไตล์จะได้รับการอัปเดตตาม อินสแตนซ์ที่ใกล้เคียงที่สุด:type update_style_flags: bool:param options: ตัวเลือกสำหรับตัวเลือกfontTools.varLib.instancer:type: พจนานุกรม:raises TypeError: หาก แบบอักษรไม่ใช่แบบอักษรตัวแปร: เพิ่ม ValueError: หากแกนพิกัดไม่ได้ปักหมุดไว้ทั้งหมด"""font.to_static(coordinates=None, style_name=None, update_names=True, update_style_flags=True, **options)
# ที่เก็บโคลน git clone https://github.com/fabiocaccamo/python-fontbro.git && cd python-fontbro# สร้าง virtualenv และเปิดใช้งาน itpython -m venv venv && venv/bin/activate# อัพเกรด pippython -m pip install --อัพเกรด pip# ติดตั้งข้อกำหนดpython -m pip install -r needs.txt -r needs-test.txt# ติดตั้ง pre-commit เพื่อรันฟอร์แมตเตอร์และ linterspre-commit install -- install-hooks# รันการทดสอบโดยใช้ toxtox# หรือรันการทดสอบโดยใช้ unittestpython -m unittest
เผยแพร่ภายใต้ใบอนุญาต MIT
ขอขอบคุณเป็นพิเศษสำหรับJérémie Hornus และ Just Van Rossum
ติดดาวโปรเจ็กต์นี้บน GitHub
ติดตามฉันบน GitHub
- ติดตามฉันบนทวิตเตอร์
- สนับสนุนฉันบน Github
python-benedict
- คลาสย่อย dict พร้อมการสนับสนุน keylist/keypath, ทางลัด I/O (base64, csv, json, Pickle, plist, สตริงการสืบค้น, toml, xml, yaml) และยูทิลิตี้อีกมากมาย
python-fsutil
- ยูทิลิตี้ระบบไฟล์สำหรับ devs ที่ขี้เกียจ ?