tkinter.font --- پوششی برای فونت Tkinter

کد منبع: Lib/tkinter/font.py


ماژول tkinter.font کلاس Font را برای ایجاد و استفاده از فونت‌های نام‌گذاری‌شده فراهم می‌کند.

وزن‌ها و شیب‌های مختلف فونت عبارتند از:

tkinter.font.NORMAL
tkinter.font.BOLD
tkinter.font.ITALIC
tkinter.font.ROMAN
class tkinter.font.Font(root=None, font=None, name=None, exists=False, **options)

The Font class represents a font used by Tk widgets. It either creates a new named font or refers to an existing font. A named font is Tk's way of identifying a font as a single object that can be referred to by name and reconfigured in place, rather than respecifying its attributes at each use.

With exists false (the default), a new named font is created. Its attributes are taken from the font description font if it is given, overridden by any keyword options. The new font is named name, or a generated unique name if name is omitted.

With exists true, an existing font is referred to instead of being created. If name is given, it is the name of the font, which is reconfigured by font and options if either is given. If name is omitted, the font description font is wrapped as is, without creating a named font, so that it is used without loss of precision by actual(), measure() and metrics(). In this case no keyword options are accepted, and the name attribute is the description itself rather than a string.

The font description font is a tuple of the family name, the size and zero or more styles, or any other form accepted by Tk, such as the name of a named font.

The keyword options are:

family - خانواده قلم، برای مثال Courier، Times
size - اندازه‌ی قلم
اگر size مثبت باشد، به‌عنوان اندازه بر حسب نقطه تفسیر می‌شود.
اگر size عددی منفی باشد، مقدار مطلق آن در نظر گرفته می‌شود
به‌عنوان اندازه به پیکسل.
weight - تأکید قلم (NORMAL, BOLD)
slant - ROMAN, ITALIC
underline - زیرخط قلم (۰ - بدون زیرخط، ۱ - زیرخط)
overstrike - خط‌خوردگی قلم (۰ - بدون، ۱ - خط‌خورده)

تغییر یافته در نسخه‌ی 3.10: Two fonts now compare equal (==) only when both are Font instances with the same name belonging to the same Tcl interpreter.

تغییر یافته در نسخه‌ی 3.16.0a0 (unreleased): A font description can now be wrapped without creating a new named font, and keyword options now override the attributes of the specified font.

actual(option=None, displayof=None)

ویژگی‌های واقعی قلم را برمی‌گرداند، که ممکن است به دلیل محدودیت‌های سکو با ویژگی‌های درخواست‌شده متفاوت باشند. بدون option، یک دیکشنری از تمام ویژگی‌ها را برمی‌گرداند؛ اگر option داده شود، مقدار همان ویژگی واحد را برمی‌گرداند. ویژگی‌ها بر روی نمایشگرِ ابزارک displayof تعیین می‌شوند، یا در صورت مشخص نبودن، بر روی پنجره‌ی اصلی برنامه.

cget(option)

ویژگی‌ای از فونت را بازیابی می‌کند.

توجه

cget() and configure() operate on a named font and raise TclError for a wrapped font description. Use actual() to query the attributes of the latter.

configure(**options)

یک یا چند ویژگی قلم را تغییر می‌دهد. بدون آرگومان، یک دیکشنری از ویژگی‌های فعلی را برمی‌گرداند.

config() نام مستعار configure() است.

copy()

یک کپی متمایز از فونت جاری برمی‌گرداند: یک فونت نام‌گذاری‌شده‌ی جدید با همان ویژگی‌ها اما با نامی متفاوت، که می‌توان آن را به‌طور مستقل از فونت اصلی پیکربندی مجدد کرد. اگر فونت جاری دربرگیرنده‌ی یک توصیف فونت باشد، در عوض کپی یک فونت نام‌گذاری‌شده با ویژگی‌های تعیین‌شده‌ی آن است.

measure(text, displayof=None)

میزان فضایی را که متن در نمایشگر مشخص‌شده هنگام قالب‌بندی با فونت جاری اشغال خواهد کرد، به‌صورت عدد صحیحی از پیکسل برمی‌گرداند. اگر نمایشگری مشخص‌نشده باشد، پنجره‌ی اصلی برنامه در نظر گرفته می‌شود.

metrics(*options, **kw)

داده‌های خاص قلم را برمی‌گرداند. بدون هیچ گزینه‌ای، دیکشنری‌ای را برمی‌گرداند که هر نام معیار را به مقدار عدد صحیح آن نگاشت می‌کند؛ اگر نام یک گزینه داده شود، مقدار آن معیار را به‌صورت عدد صحیح برمی‌گرداند. گزینه‌ها شامل:

ascent - فاصله بین خط کرسی و بالاترین نقطه‌ای که یک

نویسه‌ای از فونت می‌تواند اشغال کند

descent - فاصله بین خط پایه و پایین‌ترین نقطه‌ای که یک

نویسه‌ای از فونت می‌تواند اشغال کند

linespace - حداقل فاصله‌ی عمودی مورد نیاز بین هر دو

نویسه‌های قلمی که تضمین می‌کند هیچ هم‌پوشانی عمودی بین سطرهای وجود نداشته باشد.

fixed - ۱ اگر فونت عرض‌ثابت باشد، در غیر این صورت ۰

tkinter.font.families(root=None, displayof=None)

یک تاپل از نام‌های خانواده‌های فونت موجود را برمی‌گرداند.

tkinter.font.names(root=None)

یک تاپل از نام‌های تمام قلم‌های تعریف‌شده را برمی‌گرداند.

tkinter.font.nametofont(name, root=None)

بازنمایی Font از فونت نام‌دار موجود name را برمی‌گرداند. root ابزارکی است که مفسر Tcl آن مالک فونت است؛ اگر حذف شود، از پنجره‌ی ریشه‌ی پیش‌فرض استفاده می‌شود.

تغییر یافته در نسخه‌ی 3.10: پارامتر root افزوده شد.