CFF Fonts के साथ काम करना
CFF Fonts के साथ काम करना
यह गाइड दिखाता है कि कैसे लोड और जांच करने के लिए CFF फ़ॉन्ट इंटरल - चारसेट, कोडिंग तालिकाओं, शब्दकोशों, और इंडेक्स संरचनाओं का उपयोग Aspose.Font FOSS के साथ Python।.
कॉम्पैक्ट फ़ॉन्ट फॉर्मेट (सीएफएफ) फ़िंट स्टोर ग्लिफ आउटलाइन टाइप 2 चार्स्ट्रिंग प्रोग्राम के रूप में।. Aspose.Font FOSS for Python provides dedicated classes in the aspose_font.cff नामक स्थान सीएफएफ चारसेट पढ़ने के लिए, तालिकाओं, शब्दकोशों और सूचियों को एन्कोडिंग करने के लिये।.
सीएफए चार्सेट
CffCharset नक्शे ग्लीफ आईडी PostScript ग्लाइफ़ नामों. कॉल CffCharset.standard() इमेज कॉपीरइट एडब्ल्यूएक्स के लिए, फिर उपयोग करें name_for() और gid_for() ग्लीफ आईडी और नामों के बीच अनुवाद करने के लिए।.
from aspose_font.cff.charset import CffCharset
charset = CffCharset.standard()
name = charset.name_for(1) # PostScript name for GID 1
gid = charset.gid_for("A") # GID for PostScript name "A"CFF कोड
CffEncoding मानक कोडिंग एडोब लैटिन वर्ण सेट को कवर करता है; उपयोग करें unicode_to_gid() व्यक्तिगत कोड के बिंदुओं की जांच करें और get_all_codepoints() प्रत्येक मानक के लिए एक सूची बनाएं।.
from aspose_font.cff.encoding import CffEncoding
enc = CffEncoding.standard()
gid = enc.unicode_to_gid(0x41)
codepoints = enc.get_all_codepoints()CFF शब्दकोश Parsing
CffDict.from_bytes() प्रत्येक ऑपरेटर कुंजी मानचित्रों में संख्यात्मक मूल्यों की एक सूची है जो फ़ॉन्ट को सेट करता है, जैसे डिफ़ॉल्ट चौड़ाई या subroutine offset।.
from aspose_font.cff.dict_ import CffDict
d = CffDict.from_bytes(raw_bytes)
vals = d.get(21) # retrieve values for operator 21CFF इंडेक्स
CffIndex.from_reader() INDEX संरचनाएं नाम तालिकाओं, पंक्ति तालिकों और CFF फ़ॉन्ट्स के भीतर चार्स्टिंग भंडारण के लिए उपयोग किए जाने वाले परिवर्तनीय लंबाई डेटा का रीढ़ हैं।.
from aspose_font.cff.index import CffIndex
from aspose_font._io import BinaryReader # internal API — may change between releases
import io
reader = BinaryReader(io.BytesIO(raw_index_bytes))
index = CffIndex.from_reader(reader)
print(f"INDEX entries: {len(index)}")2. अनुवाद के प्रकार
Type2Interpreter.interpret() एक प्रकार 2 चार्स्टिंग चलाता है और वापस करता है GlyphPath.
from aspose_font.cff.type2 import Type2Interpreter
interpreter = Type2Interpreter()
glyph_path = interpreter.interpret(charstring_bytes, private_dict)टिप्स और सर्वश्रेष्ठ अभ्यास
- उपयोग करें
CffEncoding.standard()एक बौद्धिक क़ाबिल; एक विशालfrom_reader()इनबैंड कोड के लिए CffDict.to_bytes()आप संशोधित शब्दकोशों को फिर से सीरियल करने की अनुमति दें- चार्स्टिंग व्याख्या केवल कच्चे ग्लिफ आउटलाइन निष्कर्षण के लिए आवश्यक है;
GlyphAccessorअधिकतम स्तर पर उपयोग के मामलों को कवर करता है
API संदर्भ सारांश
| वर्ग / विधि | Description |
|---|---|
CffCharset.standard() | आईएसओ एडोब चार्सेट |
CffCharset.name_for(gid) | एक ग्लीफ आईडी के लिए PostScript नाम |
CffCharset.gid_for(name) | PostScript नाम के लिए Glyph ID |
CffEncoding.standard() | मानक सीएफएफ कोडिंग टेबल |
CffEncoding.unicode_to_gid(cp) | GID के लिए नक्शे कोड बिंदु |
CffDict.from_bytes(data) | एक सीएफडी डिक्ट के लिए कच्चे पैकेज |
CffDict.get(operator) | एक DICT ऑपरेटर के लिए मूल्य प्राप्त करें |
CffIndex.from_reader(reader) | CFF इंडेक्स का चयन करें |
Type2Interpreter.interpret(cs, pd) | एक प्रकार 2 चार्जिंग का निष्पादन करें |