ميتافونت

ميتافونت هي لغة وصف تُستخدم لتعريف الخطوط النقطية . وهي أيضًا اسم المفسر الذي يُنفذ كود ميتافونت، مُولِّدًا خطوط الصور النقطية التي يُمكن تضمينها في لغات مثل بوست سكريبت . وقد ابتكر دونالد كنوث ميتافونت كأداة مُساعدة لنظام تنضيد النصوص TeX الخاص به .

من خصائص خط ميتافونت أن النقاط التي تحدد أشكال الأحرف - على سبيل المثال قمة الساق ، أو تقاطع الساق والعارضة - تُحدد بمعادلات هندسية؛ ويمكن التعبير عن فكرة أن تكون السيقان الثلاثة لحرف "م" متباعدة أفقيًا بالتساوي على النحو التالي:x2-x1=x3-x2{\displaystyle x_{2}-x_{1}=x_{3}-x_{2}}إذا كانت النقاط 1 و2 و3 تقع في الأطراف السفلية للسيقان الثلاثة، بينما المقصود أن تنتهي جميعها في نفس الموضع الرأسي هوy1=y2=y3{\displaystyle y_{1}=y_{2}=y_{3}}.

ميتافونت هي لغة ماكرو ، حيث قد تظهر عمليات مثل "رسم حرف صغير ذي نهايات بارزة عند النقطة 4" كتعليمات ماكرو واحدة (مع النقطة كوسيط) في برنامج الحرف. ولوصف الأشكال، توفر ميتافونت مجموعة غنية من عمليات إنشاء المسارات التي تُغني المستخدم في الغالب عن حساب نقاط التحكم.

تم إعداد العديد من عائلات خطوط Metafont بحيث لا يحدد ملف المصدر الرئيسي للخط سوى عدد قليل من معلمات التصميم ( ارتفاع x ، عرض em، الميل، عرض الخط الرأسي، إلخ)، ثم استدعاء ملف مصدر منفصل مشترك لمجموعة كاملة من الخطوط لرسم الأحرف الفردية فعليًا؛ هذا هو الجانب الميتا للنظام.

أنماط التشغيل

يُستخدم Metafont غالبًا كأداة مساعدة لبرامج تشغيل أجهزة الإخراج (الطابعة، الشاشة)؛ وفي هذه الحالات، تتمثل مهمته في إنشاء صور نقطية لخط معين، وذلك وفقًا لتركيبة محددة من جهاز الإخراج (يُسمى " الوضع" في Metafont) والدقة (التي تظهر في اسم ملف الإخراج، انظر أدناه). تُخزَّن هذه الصور النقطية عادةً لإعادة استخدامها لاحقًا، بحيث لا يُضطر إلى تشغيل Metafont في كل مرة يُعرض فيها مستند. مع ذلك، فإن توزيعات TeX التي تحتوي على مكون Metafont لا تتضمن عادةً أي خطوط صور نقطية مُجهزة مسبقًا، نظرًا لحجمها الكبير نسبيًا مقارنةً بالمصادر التي يمكن إنشاؤها منها. ولأن خطوط Metafont كانت تقليديًا هي الخطوط الافتراضية في TeX، والتي تُستثنى منها تنسيقات الخطوط الأخرى، فقد يؤدي التثبيت غير الكامل لخط غير تابع لـ Metafont أحيانًا إلى استدعاء Metafont وظهور رسالة خطأ مُربكة "لم يتم العثور على ملف somefont.mf ".

لا يقل أهميةً عن ذلك، وإن كان أقل شيوعًا، تشغيل برنامج Metafont لإنشاء ملف قياس الخط (TFM)؛ إذ لا يُنشأ ملف TFM إلا إذا كانت قيمة متغير fontmaking موجبة. عادةً ما تأتي توزيعات TeX مزودةً بجميع ملفات TFM مُنشأة مسبقًا (نظرًا لصغر حجمها)، ولكن على من يقوم بتثبيت خط Metafont من المصادر إنشاء ملف TFM الخاص به قبل أن يتمكن TeX من استخدامه.

هناك طريقة ثالثة لتشغيل Metafont وهي وضع التدقيق : إذا كانت قيمة متغير التدقيق موجبة، فإن ملف الخط النقطي يحتوي أيضًا على معلومات إضافية مُقدمة عبر specialالأوامر، ولا سيما مواقع وأسماء النقاط التي اعتبرها مصمم الخط مهمة للتصميم. عند استخدام gftodviالأداة المساعدة المنفصلة لإنشاء صور مكبرة لأحرف الخط، تُضمّن هذه المعلومات من الإعدادات الخاصة؛ ولا تقتصر مواقع النقاط على دقة البكسل.

يمكن تشغيل برنامج Metafont بشكل تفاعلي، ويتضمن أوامر لعرض الصور التي ينتجها على الشاشة. وقد صرّح كنوت بأنه يستخدم Metafont كنوع من الآلة الحاسبة المكتبية لحل المعادلات المعقدة، مع أنه يستخدم الآن MetaPost للرسوم التوضيحية الرياضية.

يُمكن لـ Metafont عرض أي نوع من المخرجات الرسومية، وليس فقط الرموز. مع ذلك، يُفضّل استخدام MetaPost و Asymptote للرسوم التوضيحية الرياضية. غالبًا ما يتم استدعاء Metafont تلقائيًا دون طلب مباشر من المستخدم. لا تحتوي ملفات DVI إلا على مراجع لأنواع الخطوط، وليس مجموعات الرموز النقطية أو المتجهة التي تسمح بها تنسيقات أخرى مثل PostScript. بالتالي، يجب الوصول إلى الرموز الموجودة في أنواع الخطوط عند طلب عرض ملف DVI أو طباعته أو تحويله.

ملفات الإخراج

يُخرج برنامج Metafont أنواعًا متعددة من الملفات: فعلى سبيل المثال، بالنسبة لملف يُسمى NAME.mf، يمكنه إخراج ما يلي:

  • NAME.NNNNgf – ملف يحتوي على مخرجات نقطية بدقة NNNN (2602 افتراضيًا).
  • NAME.tfm – ملف يحتوي على معلومات قياسات خطوط TeX ، وهي المعلومات التي يحتاجها TeX. عادةً ما يتطلب الأمر تحديد برنامج metafont لإنشاء هذا الملف.
  • NAME.log – ملف سجل الإخراج من عملية المعالجة

بعد تشغيل Metafont، يُستخدم عادةً برنامج gftopk لتحويل ملفات NNNNgf إلى صيغة pk (مضغوطة) (.NNNNpk). طُرحت صيغة pk أساسًا لتقليل حجم الملف (إلى النصف تقريبًا)، ولكن كان من المتوقع أيضًا أن تُسرّع المعالجة نظرًا لانخفاض كمية البيانات المُدخلة/المُخرجة . تستخدم صيغتا GF وPK ترميز طول التشغيل للصور النقطية، لكنهما تُنشئان ترميزات ثنائية مختلفة لأطوال التشغيل. كما تُجري صيغة PK بعض المعالجة المُسبقة للصور النقطية (تحديد المربع المحيط، وحذف الصفوف المُكررة) وتُرمّز جميع صفوف الحرف كسلسلة بتات طويلة واحدة. [ 1 ]

في معيار بنية دليل TeX ، تقتصر أسماء الملفات على 8+3 أحرف، لذا فإن ملفات GF وPK تحتوي فقط على الامتدادات .gf. .pkيتم فصل الملفات ذات الدقة المختلفة عن طريق وضعها في أدلة منفصلة، ​​تحمل أسماءً مثل dpiNNNN، على سبيل المثال dpi300/cmr10.pk.

لغة

لغة ميتافونت هي لغة تفسيرية للبرامج التي هي في الأساس تصريحية وليست إجرائية . [ 2 ]

المتغيرات والمعادلات

يمكن أن تكون المتغيرات في Metafont من ثمانية أنواع مختلفة:

  • الأعداد: أعداد ذات فاصلة ثابتة وموقعة مع قيمة إبسيلون تساوي2-16{\displaystyle 2^{-16}}، بحد أقصى أقل من 4096 ( Q12.16 ). هذا هو الوضع الافتراضي للمتغيرات التي لم يتم تعريفها على أنها من نوع آخر.
  • الزوج: زوج من الأرقام، يستخدم بشكل أساسي لتمثيل النقاط في المستوى.
  • المسار: كما هو الحال في PostScript / PDF / SVG ، هو منحنى وسيطي في المستوى، وتكون دوال إحداثياته ​​عبارة عن كثيرات حدود تكعيبية مجزأة . وكما هو الحال في تلك الأنظمة الأخرى، يتم ترميز أجزاء المسار كمنحنيات بيزير بدلالة العقد ونقاط التحكم.
  • التحويل: تحويل أفيني للمستوى، وهو ما يعادل "مصفوفة (التحويل)" في PostScript/PDF.
  • القلم: مضلع محدب، يمثل شكل "القلم" المستخدم في الرسم.
  • الصورة: صورة نقطية تحتوي على قيمة عددية صحيحة لكل بكسل.
  • منطقي
  • سلسلة نصية (من أحرف 8 بت)

يُضيف برنامج Metapost اللون (ثلاثية من الأرقام) كنوع تاسع، ويستخدم نموذجًا مختلفًا تمامًا (غير نقطي) للصور؛ وهذا الأخير هو نقطة الاختلاف الرئيسية بين البرنامجين. توجد وحدات الماكرو vardef في Metafont أيضًا في نفس نطاق أسماء المتغيرات، ويمكن اعتبارها من بعض النواحي نوعًا تاسعًا من المتغيرات، على الرغم من أن وحدات الماكرو لا تُعتبر قيمًا من الدرجة الأولى في Metafont.

على غير العادة، لا تُكتب أسماء المتغيرات كرموز بسيطة، بل كسلاسل من الرموز والأرقام؛ x2rلذا فإن اسم المتغير ليس رمزًا أبجديًا رقميًا واحدًا ، بل سلسلة من الرموز الثلاثة: (x رمزي)، 2(رقمي)، و r(رمزي). يمكن محاكاة أنواع السجلات والمصفوفات من خلال مجموعات من المتغيرات التي تشترك في بادئة اسم مشتركة، وهو أسلوب يدعمه نظام تعريف الأنواع، حيث يُعطي جميع المتغيرات التي تختلف أسماؤها فقط في الأرقام نفس النوع (كما هو متوقع للمصفوفات)، بينما يُبقي المتغيرات التي تختلف أسماؤها الكاملة في رمز معين منفصلة (كما هو متوقع للسجلات).

من أبرز سمات لغة ميتافونت استخدام المعادلات لتعريف المتغيرات. يمكن أن يكون المتغير العددي (أو أحد مكونات زوج أو متغير تحويل) في ثلاث حالات: معلوم (محدد)، ومستقل مجهول (غير محدد)، وتابع مجهول (غير محدد، ولكنه يُعطى بتعبير خطي لمتغير مستقل واحد أو أكثر). عند تنفيذ ميتافونت لعبارة معادلة، فإنه يحول أحد المتغيرات المستقلة إلى متغير تابع ويحذفه من تعبيرات جميع المتغيرات التابعة الأخرى؛ وعندما لا يتبقى أي متغيرات مستقلة في تعبير المتغير التابع، يصبح هذا المتغير معلومًا. وبالتالي، يُعد حل أنظمة المعادلات الخطية ميزة مضمنة في لغة ميتافونت، والطريقة المُوصى بها لتعيين معظم المتغيرات (خاصةً تلك التي لها دلالة هندسية) هي صياغة معادلات تحدد قيمها. غالبًا ما تمزج أنظمة المعادلات بين المعادلات العددية (القياسية) ومعادلات الأزواج (المتجهات).

يُستثنى من ذلك فئة متغيرات الكمية الداخلية . تتكون أسماء هذه المتغيرات من رمز واحد فقط، وهي دائمًا عددية، ومعروفة دائمًا. ولها تمثيل داخلي أكثر مباشرة من المتغيرات العادية، مما يُسهّل على العمليات الأساسية في Metafont (أو امتداداتها) استخدامها ضمنيًا.

بناء الجملة

يحتوي Metafont على رموز ثابتة رقمية ونصية ذات صيغ شائعة؛ تُفصل النصوص بعلامات "اقتباس، ويمكن أن تحتوي الثوابت الرقمية على أرقام عشرية ولكن ليس على جزء أُسّي . تُصنف جميع الرموز الأخرى على أنها رمزية ، ويمكن إعادة تعريفها بشكل تعسفي؛ ولا يوجد قيد على أن الرموز ذات المعاني المحددة يجب أن تحمل أسماءً تتكون من أحرف معينة. أثناء التشغيل، يمكن أن توجد أيضًا رموز كبسولة ، وهي في الواقع رموز قيمة ثابتة من نوع عشوائي؛ وتظهر هذه الرموز في شفرة المصدر كرموز رمزية.

باستثناء الحالات التي تُستخدم فيها الأحرف في الثوابت الرقمية أو النصية، يعتمد حجم الرمز المميز الذي يحتوي على حرف معين على فئة الحرف الذي ينتمي إليها؛ على عكس TeX ، يحتوي Metafont على فئات أحرف ثابتة. الأحرف ,و ;و (و و )هي أحرف منفردة، ولا تُشكّل رموزًا مميزة إلا إذا كانت من حرف واحد. بالنسبة لفئات الأحرف <=>:|، ‘’(علامات اقتباس مفردة)، +-و ، /*\و !?، و #&@$، ^~و [، و ]، {}و .، بالإضافة إلى فئة الشرطة السفلية مع الأحرف الكبيرة والصغيرة من A إلى Z، يتكون الرمز المميز من أطول سلسلة متتالية من الأحرف من نفس الفئة. لا تُساهم أحرف المسافات البيضاء في تكوين الرموز المميزة. %يبدأ الرمز تعليقًا يستمر حتى نهاية السطر.

ومن التطبيقات البارزة لهذه القواعد #ظهورها بشكل متكرر كجزء من أسماء المتغيرات في كود Metafont، على سبيل المثال em#و pt#.

لا تحمل الفواصل (مثل الأقواس) معانيَ مُضمّنة، بل يوجد أمرٌ يُحوّل رمزين إلى زوجٍ من الفواصل المتطابقة، ولكن عادةً ما تستخدم برامج Metafont الأقواس العادية فقط. إضافةً إلى تجاوز الأولويات في التعبيرات، تُعدّ الفواصل ضروريةً أيضًا حول أنواعٍ مُحدّدة من وسائط الماكرو.

الرسومات

تُعرَّف المنحنيات في Metafont على أنها منحنيات تكعيبية ، بدلاً من منحنيات تربيعية، وذلك لزيادة المرونة على حساب عمليات حسابية أكثر تعقيدًا. [ 3 ]

على عكس تنسيقات الخطوط الخارجية الأكثر شيوعًا (مثل TrueType أو PostScript Type 1 )، يتكون خط Metafont بشكل أساسي من ضربات قلم ذات عرض محدود، بالإضافة إلى مناطق مُعبأة. وبالتالي، بدلًا من وصف الخطوط الخارجية للحرف مباشرةً، يصف ملف Metafont مسارات القلم. تستخدم بعض خطوط Metafont الأبسط، مثل خطوط الرياضيات الخطية في عائلة Computer Modern ، ضربة قلم واحدة بقلم كبير نسبيًا لتحديد كل ضربة بصرية من ضربات الأحرف. أما الخطوط الأكثر تعقيدًا، مثل خطوط النصوص الرومانية في عائلة Computer Modern، فتستخدم قلمًا صغيرًا لرسم الخطوط الخارجية للضربات البصرية، والتي تُعبأ بعد ذلك؛ والنتيجة تشبه إلى حد كبير الخط الخارجي، ولكن بزوايا أكثر نعومة قليلاً تحددها شكل القلم.

بما أن أشكال الخطوط تُحدد بمعادلات بدلاً من أرقام مُبرمجة مباشرةً، فمن الممكن التعامل مع معايير مثل نسبة العرض إلى الارتفاع، وميل الخط، وعرض الخط، وحجم الزوائد ، وما إلى ذلك، كمعايير إدخال في تعريف كل رمز (مما يُحدد ليس خطًا واحدًا، بل خطًا وصفيًا ). وبالتالي، بتغيير قيمة أحد هذه المعايير في موضع واحد في ملف الخط الوصفي، يُمكن إحداث تغيير متسق في جميع أنحاء الخط. يُوضح خط Computer Modern Roman العديد من استخدامات هذه الميزة؛ إذ يتضمن تثبيت TeX النموذجي عددًا من إصدارات الخط بدرجات تتراوح من 5 إلى 17 حرفًا في البوصة ، مع ثبات عرض الخط في جميع الأحجام (بدلاً من زيادته عند تكبير الخط). بالإضافة إلى ذلك، يتم تعريف خطوط Computer Modern للآلة الكاتبة والخطوط غير الزوائد باستخدام نفس ملف الخط الوصفي المستخدم لخط Roman، ولكن بمعايير عامة مختلفة.

يستخدم

على الرغم من تعاون مصممي خطوط مشهورين، مثل هيرمان زابف ، مع كنوت لإنشاء خطوط جديدة باستخدام ميتافونت، إلا أن النظام لم يُعتمد على نطاق واسع من قبل مصممي الخطوط المحترفين. يُعزي كنوت ذلك إلى أن "طلب معرفة الرياضيات من الفنان لدرجة تمكنه من فهم كيفية كتابة خط بـ 60 مُعاملًا أمرٌ مُرهق للغاية". [ 4 ] ويرى جوناثان هوفلر أن "فكرة كنوت القائلة بأن الحروف تبدأ بأشكال هيكلية خاطئة". [ 5 ]

يسمح نظام Metafont بمعالجة الخطوط بطرق غير مألوفة؛ ففي عام 1982، أوضح كنوت كيف يمكن استخدامه لتحويل الخطوط، حيث يتحول الخط ذو الزوائد ببطء إلى تصميم بدون زوائد خلال النص. [ 6 ]

تاريخ

بدأ دونالد كنوث العمل على برامج إنشاء الخطوط في عام 1977، وأنتج النسخة الأولى من ميتافونت في عام 1979. ونظرًا لقصور لغة ميتافونت الأصلية، طور كنوث نظام ميتافونت جديدًا بالكامل في عام 1984، وهو النظام المنقح المستخدم حتى اليوم؛ إذ يمتلك ميتافونت نظام ترقيم إصدارات مشابهًا لنظام TeX ، حيث يقترب الرقم بشكل مقارب من e مع كل مراجعة. [ 7 ]

مثال

يوضح المثال التالي كيفية إنشاء شكل مغلق يشبه حبة الفاصوليا للحرف "B" في أحد الخطوط:

%اسم الملف: beta.mf %mode_setup; % تعريف شكل يشبه حبة الفاصوليا للحرف B beginchar ( "B" , 11 pt # , 11 pt # , 0 ); % إعداد الإحداثيات كنظام معادلات y1 = y2 = y3 = 0 ; y4 = y5 = y6 = h ; x1 = x4 = 0 ; x2 = x5 = w ; x3 = x6 = 2 * w ;% Define pen pickup pencircle xscaled 0.2w yscaled 0.04w rotated 45 ;% ارسم منحنى الحرف % z1 هو نفسه (x1، y1) ارسم z1 .. z3 .. z6 { z2 - z6 }.. z5 ..{ z4 - z2 } z4 .. دورة ; نهاية الحرف ;نهاية

ينتج عن ذلك الرمز التالي:

سيتم معالجة المثال أعلاه باستخدام سطر أوامر مثل: [ 8 ]

mf '\mode=ljfour; mode_setup; input beta.mf' ; gftopk beta.600gf beta.600pk 

ثم يمكن استخدامه في ملف LaTeX مثل الملف التالي [ 8 ] (يجب أن تكون جميع الملفات موجودة في نفس الدليل، أو يجب إبلاغ نظام TeX بها باستخدام الطرق المناسبة):

\documentclass { article }\newfont { \letterbeta }{ beta } \newcommand { \otherbeta }{{ \letterbeta B }}\begin { document } لنحاول الحصول على قيمة غريبة لـ \otherbeta\ هنا. \end { document }

يجب أن يبدو ملف PDF الناتج على النحو التالي:

إنتاج خطوط PostScript Type 1

تتوفر عدة أدوات لتحويل برامج Metafont إلى خطوط PostScript Type 1. تعتمد معظم هذه الأدوات على قدرة MetaPost على تحويل جزء من لغة Metafont إلى مخططات EPS ، والتي يمكن تحويلها لاحقًا إلى خطوط PostScript Type 1. يُعدّ توليد مخططات متجهة لضربات قلم Metafont أمرًا معقدًا، لأن نموذج Metafont للرمز هو صورة نقطية، والمخططات الدقيقة لمعظم الضربات ليست منحنيات بيزير . [ ملاحظة 1 ]

  • قام فريق JNS البولندي بتطوير METATYPE1 [ 9 ] (المبني على MetaPost) لإنشاء خطوط PostScript Type 1. يتمثل عيبه الرئيسي في عدم إمكانية استخدام الأقلام، مما يحدّ بشكل كبير من إمكانيات لغة Metafont. في البداية، استخدمت شركة GUST البولندية لتصميم الخطوط هذه الأداة لإنتاج نسخة مُحدّثة ومُوسّعة من خط Computer Modern ، تُسمى Latin Modern .
  • تم تطوير برنامج mf2pt1 [ 10 ] ، المبني أيضًا على Metapost، بواسطة سكوت باكين بمساهمات من فيرنر ليمبرغ . ويحتوي البرنامج على عدة قيود موضحة في دليل المستخدم، أبرزها اشتراط رسم كل حرف بالكامل من مسارات مغلقة. للتغلب على قيود mf2pt1، يمكن معالجة مخرجات EPS من Metapost باستخدام FontForge ، القادر على تفسير مسارات PostScript المعقدة التي يُنشئها Metapost من أقلام Metafont الإهليلجية، بالإضافة إلى قدرته على إزالة تداخلات الخطوط. وبما أن FontForge يدعم البرمجة النصية، يمكن أتمتة هذه الخطوة. استُخدم هذا الأسلوب لإنتاج مخططات Type 1 لخط MnSymbol الرياضي الذي طوره أخيم بلومنساث؛ وقد صُمم MnSymbol ليكون مكملاً لخط Minion Pro .
  • MetaFog [ 11 ] هو برنامج تحويل خاص يمكنه تحويل ضربات القلم تحليليًا، ولكنه يتطلب معالجة يدوية لاحقة لإزالة الحالات الشاذة، وهو غير متاح للعموم. يمكنه معالجة مخرجات Metapost فقط. [ 12 ]

لا يزال النهج الشائع لإنشاء خطوط من النوع 1 باستخدام ضربات القلم هو إنشاء صورة نقطية عالية الدقة ثم استخدام أداة التتبع التلقائي ، والتي يتم تنفيذها بواسطة حزم مثل mftrace [ 13 ] و TeXtrace [ 14 ].

انظر أيضاً

ملحوظات

  1. من الناحية التقنية، يُنشئ Metafontخطوطًا خارجية متجهة كخطوة وسيطة في تحويل الخطوط إلى صور نقطية، لكن هذه الخطوط الوسيطة مُصممة خصيصًا لدقة الصورة النقطية الحالية وليست بسيطة كالمنحنيات، لذا فهي بعيدة كل البعد عن أن تكون قابلة للاستخدام كخطوط خارجية من النوع الأول. من آثار هذه التعقيدات ظهور وحدات بكسل زائفة على الجانب المقعر من الخط، حيث تحصل على قيمة 2 بدلًا من 1، إلا أن عملية الحذف التلقائي للصور المُرسلة كرموز في الخط تمنع عادةً ظهور هذه المشكلة في الصورة النقطية النهائية.

مراجع

  1. روكيكي، توماس (1985). "تنسيق ملف الخط المضغوط (PK)" (ملف PDF) . مجلة TUGboat . 6 (3): 115-120 . مؤرشف (ملف PDF) من الأصل بتاريخ 2011-11-06 . تم الاطلاع عليه بتاريخ 2019-08-09 .
  2. كنوت، دونالد (1986). كتاب ميتافونت . أديسون ويسلي. ISBN 0-201-13445-4.
  3. كنوت، دونالد (25 يناير 2000). "مقابلة: دونالد إي. كنوت" (مقابلة). أجراها أدفوغاتو. مؤرشفة من الأصل في 22 يناير 2009. تم الاطلاع عليها في 13 يناير 2016. ... الرياضيات بسيطة للغاية بالنسبة للمعادلة التربيعية. أما بالنسبة للمعادلة التكعيبية، فالأمر أكثر تعقيدًا بست مرات...
  4. CSTUG، جامعة تشارلز، براغ، مارس 1996، أسئلة وأجوبة مع البروفيسور دونالد إي. كنوث، نُشرت في مجلة TUGboat 17 (4) (1996)، 355-367. الاقتباس من الصفحة 361. متاح على الإنترنت على
  5. هوفلر، جوناثان. "فكرة كنوت القائلة بأن الحروف تبدأ بأشكال هيكلية خاطئة. لكن عمله مهم وله تأثير دائم" . تويتر . تم الاطلاع عليه بتاريخ 18 أغسطس 2018 .
  6. كنوت، دونالد (1982). "مفهوم الخط الميتافيزيقي" (ملف PDF) . اللغة المرئية . 16 (1): 3-27 . مؤرشف من الأصل (ملف PDF) بتاريخ 2020-07-07.
  7. "كنوث: الحواسيب والتنضيد" .
  8. 1 2 كريستوف جراندسير. "البرنامج التعليمي ميتافونت" .
  9. "CTAN: tex-archive/fonts/utilities/metatype1" .
  10. "CTAN: tex-archive/support/mf2pt1" .
  11. "آر جيه كينش، "ميتافوغ: تحويل أشكال ميتافونت إلى خطوط محيطية"، TUGboat 16(3) ، 233-243 (1995)" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 2000-10-05.
  12. ك. بيشكا، 2004
  13. mftrace – برنامج بايثون صغير يتيح لك تحويل خط TeX bitmap إلى خط PFA أو PFB (خط PostScript Type1 Scalable Font) أو خط TTF (TrueType). مرخص بموجب رخصة جنو العمومية العامة (GNU GPL). من تطوير هان-وين نينهويس. كانت الإصدارات السابقة للإصدار 1.0.5 تُسمى 'pktrace'.
  14. TeXtrace – مجموعة من البرامج النصية لنظام UNIX تُحوّل أي خط TeX إلى خط Type1 بصيغة .pfb جاهز للاستخدام الفوري مع dvips وpdftex وacroread (والعديد من البرامج الأخرى). من تطوير بيتر سزابو.

مصادر

  • دونالد كنوث : ميتافونت: البرنامج ، أديسون-ويسلي 1986. رقم ISBN 0-201-13438-1
  • دونالد كنوث: كتاب الخطوط الميتافيزيقية ، أديسون-ويسلي 1986. رقم ISBN 0-201-13444-6 يتوفر الكود المصدري للكتاب بلغة TeX (والماكرو اللازم ) على الإنترنت على CTAN .
  • دونالد كنوث: تم كتابة شفرة المصدر الخاصة بـ Metafont بلغة برمجة الويب ، وتتضمن وثائق شاملة للغاية حول الخوارزميات المستخدمة في Metafont.
  • يانيس هارالامبوس، "الخطوط والترميزات"، أورايلي 2007، رقم ISBN 0-596-10242-9، الملحق F: "METAFONT ومشتقاته"
  • ك. بيشكا، "إنشاء خطوط Type 1 من مصادر Metafont: مقارنة بين الأدوات والتقنيات والنتائج"، في TeX وXML والطباعة الرقمية (Springer-Verlag، برلين، 2004)، سلسلة محاضرات في علوم الحاسوب، المجلد 3130، الصفحات  240-256. نسخة أولية
  • هوفستاتر، دوغلاس ر.، "الخط الميتافيزيقي، والرياضيات الميتافيزيقية، والميتافيزيقا: تعليقات على مقالة دونالد كنوث "مفهوم الخط الميتافيزيقي"" اللغة المرئية ، المجلد السادس عشر، العدد 4، الصفحات  309-338 (أعيد نشرها في كتاب هوفستاتر " المواضيع السحرية الميتافيزيقية" ، نيويورك: الكتب الأساسية، 1985).