كيف تعرف ما إذا كان الخط هو Monospace باستخدام GTK و Pango؟

StackOverflow https://stackoverflow.com/questions/2708151

سؤال

انا املك PangoFontDescription وأريد أن أعرف ما إذا كان يصف خط Monospace.

لقد رأيت الوظيفة pango_font_family_is_monospace() في وثائق Pango API ولكن بعد عدة ساعات من الحيرة ، لا يزال من غير الواضح بالنسبة لي ما هي العلاقات بين PangoFontFamily, PangoFontMap, PangoFont, PangoFontset, PangoContext, ، و PangoFontDescription وما إذا كنت بحاجة إلى أي أو كل هذه لتحقيق ما أريد. حتى الآن، PangoFontDescription هو الجزء الوحيد من Pango الذي كنت بحاجة لاستخدامه ، حيث تمكنت GTK من تجريد كل شيء آخر بعيدا.

هل يمكن لأي شخص فعل هذا قبل مساعدتي؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام pango_font_description_get_family() وبعد تلك المكالمة pango_font_family_is_monospace() على النتيجة.

تعديل:

حيث pango_font_description_get_family() إرجاع اسم فقط يمكنك القيام بذلك: اتصل pango_context_list_families() والبحث عن كائن عائلي له هذا الاسم. بعد ذلك ، اتصل pango_font_family_is_monospace() على الكائن الذي تم العثور عليه. لست متأكدًا مما يجب فعله إذا لم يتم العثور على كائن عائلي بهذا الاسم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top