zplCloud Blog
SVG से TTF: भारी ग्राफिक्स के बजाय प्रिंटर फ़ॉन्ट के रूप में आइकन
^A@N,50,50,E:MYICONS.TTF - हर लेबल पर 10 KB के ^GFA ब्लॉक की जगह सिर्फ़ एक ग्लिफ़ रेफ़रेंस।
हर लेबल पर एक ग्राफिक की कीमत
अधिकांश लेबल लोगो या चित्रलेखों का सेट रखते हैं। डिफ़ॉल्ट प्रत्येक को रैस्टर इमेज के रूप में निर्यात करना और उसे ZPL में ^GFA ब्लॉक के रूप में एम्बेड करना है। यह काम करता है, और तीन तरह से एक साथ महंगा है।
पेलोड। ^GFA एक मोनोक्रोम बिटमैप है, प्रति डॉट एक बिट, हेक्स के रूप में प्रेषित। गणित सरल है:
बाइट्स ≈ (चौड़ाई_dots × ऊँचाई_dots) / 8 × 2 (÷8 = बिट→बाइट, ×2 = हेक्स एन्कोडिंग)
200 × 200 डॉट का मामूली लोगो - 203 dpi पर लगभग 25 × 25 मिमी - 200 × 200 / 8 = 5 000 बाइट बिटमैप है, डेटा स्ट्रीम में लगभग 10 000 वर्ण हेक्स। हर लेबल पर। 300 dpi पर समान भौतिक क्षेत्र को कवर करने वाला वही लोगो 295 × 295 डॉट ≈ 21 800 वर्ण है।
गुणवत्ता। बिटमैप उसी रिज़ॉल्यूशन पर स्थिर है जिसके लिए वह उत्पन्न किया गया था। इसे बड़ा प्रिंट करें, या डिज़ाइन को 300- या 600-dpi प्रिंटर पर ले जाएँ, और इसे फिर से सैंपल किया जाता है - ठीक उसी तत्व पर नरम किनारे जो आपके ब्रांड का प्रतिनिधित्व करता है।
गति। प्रिंटर हर लेबल पर ग्राफिक प्राप्त करता है, डीकोड करता है और रैस्टराइज़ करता है। टेक्स्ट वह सिर्फ खींचता है।
फ़ॉन्ट एक ग्लिफ़ पुस्तकालय है जिसे प्रिंटर पहले से जानता है कि कैसे खींचना है
SVG → TTF संपादक आपके SVG आइकन लेता है और एक TrueType फ़ॉन्ट बनाता है। प्रत्येक आइकन निजी-उपयोग कोड बिंदु (U+E000, U+E001, …) पर एक ग्लिफ़ बन जाता है - बिल्कुल इसी के लिए आरक्षित Unicode रेंज।
वह फ़ॉन्ट प्रिंटर की फ्लैश में एक बार अपलोड होता है, जैसे E:MYICONS.TTF, डिज़ाइनर के Zebra Fonts टैब से। उसके बाद एक लेबल ग्लिफ़ को संदर्भित करता है:
^XA
^FO50,50^A@N,50,50,E:MYICONS.TTF^FD^FS
^XZ
पैरामीटर क्रम पर ध्यान दें: ^A@ अभिविन्यास, ऊँचाई, चौड़ाई, फिर फ़ॉन्ट पथ लेता है। ^A@N,E:MYICONS.TTF - अभिविन्यास के बाद सीधे पथ - मान्य ZPL नहीं है; प्रिंटर डिफ़ॉल्ट फ़ॉन्ट पर गिर जाएगा और आप एक दोपहर यह सोचते बिताएँगे कि आइकन एक अक्षर क्यों है।
एक बार फ़ॉन्ट निवासी होने पर, उसी लेबल के बाद के फ़ील्ड के लिए ^A@N,50,50,E:MYICONS.TTF को ^A@N,50,50 छोटा किया जा सकता है - प्रिंटर अंतिम ^A@ फ़ॉन्ट चयन रखता है।
संख्याएँ, घोषित धारणाओं के साथ
^GFA छवि | TTF प्रिंटर फ़ॉन्ट | |
|---|---|---|
| धारणा | 200 × 200 डॉट आइकन, मोनोक्रोम, हेक्स-एन्कोडेड | 3-ग्लिफ़ फ़ॉन्ट, ~3 KB |
| प्रति लेबल | ≈ 10 000 B | ≈ 125 B (ग्लिफ़ वाला एक फ़ील्ड) |
| अपलोड | हर लेबल के साथ | एक बार, ~3 KB कुल |
| 10 000 लेबल | ≈ 100 MB | ≈ 1.25 MB + 3 KB |
| 100 000 लेबल | ≈ 1 GB | ≈ 12.5 MB + 3 KB |
यह उस तत्व के लिए प्रेषित बाइट्स में 80× कमी है। 115 200 बॉड सीरियल लिंक या व्यस्त Weblink टनल पर, वह अंतर वही है जो निकलती कतार और बढ़ती कतार के बीच है।
स्केलिंग मुफ़्त है: ^A@N,20,20 या ^A@N,120,120 में वही ग्लिफ़ प्रिंटर के फ़ॉन्ट इंजन द्वारा वेक्टर आउटलाइन से रेंडर होता है - 203, 300 और 600 dpi पर स्पष्ट।
फ्लैश सीमित है - अपलोड से पहले जाँचें
प्रिंटर मेमोरी उदार नहीं है, खासकर पुराने डेस्कटॉप मॉडल पर। GK420 के पास कुल कुछ मेगाबाइट हैं। फ़ॉन्ट पुश करने से पहले उसका आकार जानें:
- मुट्ठी भर ग्लिफ़ वाला आइकन फ़ॉन्ट: एकल-अंक KB। कभी समस्या नहीं।
- पूर्ण Unicode टेक्स्ट फ़ॉन्ट अलग जानवर है - ZPLCloud Unicode फ़ॉन्ट 11 MB है, उसका स्लिम संस्करण 7 MB। वे GK420 पर नहीं बैठते और वास्तविक फ्लैश वाले प्रिंटर के लिए हैं।
- फ्लीट-व्यापी रोलआउट से पहले
! U1 getvar "memory.flash_free"से खाली स्थान पूछें।
कार्यप्रवाह
1. SVGs को SVG → TTF संपादक में छोड़ें। प्रत्येक PUA कोड बिंदु पर ग्लिफ़ बन जाता है; संपादक असाइनमेंट दिखाता है (U+E000 और ऊपर)।
2. फ़ॉन्ट बनाएँ और उसे अपने चुने प्रिंटर पर अपलोड करें - एक क्रिया, पूरी फ्लीट।
3. डिज़ाइनर में आइकन लाइब्रेरी खोलें और आइकन को कैनवास पर खींचें। यह सही कोड बिंदु और फ़ॉन्ट पथ से पहले से बंधे ग्लिफ़ तत्व के रूप में उतरता है। कोई हेक्स कोड हाथ से नहीं टाइप किया, कोई ^GF ब्लॉक बनाए रखने के लिए नहीं।
नया आइकन या बदला लोगो वही तीन चरण हैं: फ़ॉन्ट फिर से बनाएँ, पुश करें, हो गया। लेबल डिज़ाइन नहीं बदलते - वे कोड बिंदु संदर्भित करते हैं, और कोड बिंदु अब नई कलाकृति खींचता है।
ग्राफिक कब सही उत्तर है
फ़ॉन्ट मोनोक्रोम आउटलाइन हैं। इसके लिए ^GFA उपयोग करें:
- फ़ोटो, ग्रेडिएंट, या ग्रे स्तर वाली कोई चीज़ (जिसे थर्मल प्रिंटर वैसे भी डिथर करता है),
- एक-बार के ग्राफिक जो प्रति लेबल बदलते हैं - प्रति शिपमेंट नक्शा, हस्ताक्षर छवि,
- वह कलाकृति जो आपको बिटमैप के रूप में मिलती है और साफ-सुथरा वेक्टराइज़ नहीं कर सकते।
लोगो, खतरे के प्रतीक, परिवहन चित्रलेख और आवर्ती UI आइकन के लिए - जो वास्तव में लेबल पर है उसका बड़ा बहुमत - फ़ॉन्ट मार्ग छोटा, तेज और तीव्र है।
SVG जो साफ़-सुथरा परिवर्तित होता है
रूपांतरण पथों को ग्लिफ़ आउटलाइन में बदलता है। दो नियम समय बचाते हैं:
- SVG निर्यात करने से पहले स्ट्रोक को आउटलाइन में बदलें। ग्लिफ़ भरी हुई आकृति है; 1-px स्ट्रोक में फ़ॉन्ट इंजन के लिए कोई मोटाई नहीं है।
- टेक्स्ट को पथों में समतल करें। SVG के अंदर टेक्स्ट तत्व ऐसे फ़ॉन्ट पर निर्भर करते हैं जिसे रखने का कन्वर्टर के पास कोई कारण नहीं है।