प्रोजेक्ट के आगे एक फ़ॉन्ट फ़ाइल
स्थानीय ओटीएफ या टीटीएफ परिवारों के लिए फॉन्टस्पेक पथ।
प्रोजेक्ट के आगे एक फ़ॉन्ट फ़ाइल
मान लीजिए कि आपकी थीसिस एक ऐसे फ़ॉन्ट का उपयोग करती है जो हर उस मशीन पर स्थापित नहीं है जो कभी इसे संकलित करेगी: एक सह-लेखक का लैपटॉप, एक विश्वविद्यालय निर्माण सर्वर, या पुनः स्थापित करने के बाद आपका अपना कंप्यूटर। उनमें से प्रत्येक पर सिस्टम-व्यापी फ़ॉन्ट स्थापित करना नाजुक है और कभी-कभी इसकी अनुमति नहीं होती है। फ़ॉन्ट फ़ाइलों को प्रोजेक्ट फ़ोल्डर में रखें और इसके बजाय उन पर fontspec इंगित करें, ताकि दस्तावेज़ की अपनी टाइपोग्राफी हो। इसके लिए XeLaTeX या LuaLaTeX की आवश्यकता है, क्योंकि fontspec pdfLaTeX के अंतर्गत काम नहीं करता है। कारण [लोग XeLaTeX पर स्विच क्यों करते हैं] (/ सीखें/कब-उपयोग-xelatex/) में शामिल हैं।
\usepackage{fontspec}\setmainfont{MyFont}[ Path = ./fonts/, Extension = .otf, UprightFont = *-Regular, BoldFont = *-Bold, ItalicFont = *-Italic]प्रत्येक कुंजी क्या करती है
\setmainfont{MyFont} मुख्य पाठ परिवार की घोषणा करता है और इसे फ़ाइल नाम बनाने के लिए उपयोग किया जाने वाला आधार नाम देता है। Path = ./fonts/ ऑपरेटिंग सिस्टम से पूछने के बजाय, fontspec को मुख्य .tex फ़ाइल के सापेक्ष प्रोजेक्ट के अंदर fonts फ़ोल्डर में फ़ाइलों को देखने के लिए कहता है। एक्सटेंशन = .otf फ़ाइल प्रकार को एक बार बताता है ताकि इसे प्रति फ़ाइल दोहराना न पड़े। यदि आपके पास यही है तो .ttf का प्रयोग करें।
शेष कुंजियाँ फ़ॉन्ट आकृतियों को फ़ाइलों में मैप करती हैं। प्रत्येक में, * आधार नाम तक विस्तारित होता है, इसलिए UprightFont = *-Regular MyFont-Regular.otf, और इसी तरह MyFont-Bold.otf और MyFont-Italic.otf को हल करता है। ये नाम बड़े अक्षरों सहित वास्तविक फ़ाइल नामों से बिल्कुल मेल खाने चाहिए, क्योंकि लिनक्स सर्वर पर केस तब भी मायने रखता है जब आपका स्थानीय सिस्टम इसे माफ कर देता है। यदि परिवार में बोल्ड इटैलिक है, तो BoldItalicFont = *-BoldItalic जोड़ें। जिस आकार को आप मैप नहीं करते हैं वह वह आकार है जिसका उपयोग दस्तावेज़ नहीं कर सकता है: बिना बोल्डफॉन्ट लाइन के, \textbf में स्विच करने के लिए कुछ भी नहीं है, और कंपाइलर चेतावनी देता है कि बोल्ड आकार अपरिभाषित है।
समान सिंटैक्स अन्य परिवारों के लिए काम करता है, इसलिए \setsansfont और \setmonofont स्थानीय सैन्स-सेरिफ़ या कोड फ़ॉन्ट के लिए समान विकल्प ब्लॉक स्वीकार करते हैं।
लाइसेंसिंग और पोर्टेबिलिटी
फ़ॉन्ट फ़ाइलों को प्रोजेक्ट के साथ तभी शिप करें जब लाइसेंस पुनर्वितरण की अनुमति देता हो। एसआईएल ओपन फ़ॉन्ट लाइसेंस जैसे ओपन लाइसेंस इसकी अनुमति देते हैं, और Google फ़ॉन्ट्स के फ़ॉन्ट आम तौर पर योग्य होते हैं, लेकिन वाणिज्यिक फ़ॉन्ट आमतौर पर सहयोगियों को प्रतियां भेजने से रोकते हैं, जिस स्थिति में प्रत्येक मशीन को अपनी स्वयं की लाइसेंस प्राप्त प्रति की आवश्यकता होती है और आपको प्रोजेक्ट रीडमी में उस आवश्यकता का दस्तावेजीकरण करना चाहिए।
सामान्य गलती घोषित नामों और फ़ाइलों के बीच एक मौन बेमेल है, अक्सर फ़ोल्डर का नाम बदलने या अलग-अलग नामित वजन डाउनलोड करने के बाद। फिर संकलन “फ़ॉन्ट ‘माईफ़ॉन्ट-रेगुलर’ नहीं मिल सका” के साथ रुक जाता है। जब ऐसा होता है, तो फ़ोल्डर की सामग्री के विरुद्ध त्रुटि के अपेक्षित फ़ाइल नाम वर्ण की तुलना करें, और पुष्टि करें कि पथ अभी भी इंगित करता है कि फ़ाइलें कहाँ रहती हैं। चूंकि ओलेफली का बंडल टेक्टोनिक इंजन XeTeX-आधारित है, इसलिए यह प्रोजेक्ट-स्थानीय पैटर्न सिस्टम फ़ॉन्ट इंस्टॉलेशन के बिना वहां काम करता है।