2012-09-21 11 views
21

मैं एक @ फॉन्ट-फेस नियम है, और इस तरह अपने रंग-रूप:क्या मैं एम्बेडेड बेस 64 एन्कोड फ़ॉन्ट को फ़ॉन्ट फ़ाइल में परिवर्तित कर सकता हूं?

@font-face{ 
    font-family:'F'; 
src:url("") format("embedded-opentype"), 
url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAA ... ETC... ETC 

मैं एक फ़ॉन्ट फ़ाइल में कनवर्ट कर सकते हैं?

धन्यवाद!

उत्तर

41

बेस 64 एन्कोडेड भाग की प्रतिलिपि बनाएँ और इसे परिवर्तित करें। ऐसा करने के कई तरीके हैं।

लिनक्स

base64 -d base64_encoded_font.txt > font.woff 

मैक ओएस एक्स

openssl base64 -d -in base64_encoded_font.txt -out font.woff 

विंडोज

http://www.motobit.com/util/base64-decoder-encoder.asp पर जाएं और पाठ पेस्ट करें। "बेस 64 स्ट्रिंग (बेस 64 डिकोडिंग) से डेटा को डीकोड करें" और "बाइनरी फ़ाइल में निर्यात करें" चुनें।

+1

धन्यवाद।मैंने विंडोज़ विधि की कोशिश की - महान उपकरण (शायद उसे ग्राफिक डिजाइनर की मदद की ज़रूरत है :) मेरी फाइल myfont.woff नाम देने के बाद मैं फ़ॉन्ट-गिलहरी में गया और मुझे आवश्यक सभी फ़ॉन्ट्स में परिवर्तित कर दिया गया। (eot, .ttf आदि आदि)। –

+0

मैं ओएस एक्स में हूं और 'ओपनएसएल' विधि यहां मेरे लिए काम नहीं करती है, लेकिन 'बेस 64' का उपयोग कर लिनक्स समाधान ('-d' के बजाय विकल्प' -D' का उपयोग करके) – keithjgrant

2

@ mcrumley का जवाब सही है, लेकिन आप में से उन लोगों के लिए जो इसे समझ नहीं सकते हैं और/या कमांड लाइन से डरते हैं, मेरे पास एक वैकल्पिक विधि है।

मैंने अभी आपके प्रश्न को गुगल किया है, और http://base64converter.com/ पाया है जो किसी भी बेस 64 फ़ाइल को अपने मूल प्रारूप में परिवर्तित/डीकोड (और एन्कोड) कर सकता है। मैं इसे इस अतीत में बेस 64 छवियों को एन्कोड और डीकोड करने के लिए उपयोग करता था, लेकिन यह फ़ॉन्ट के साथ मेरा पहला प्रयास था। एक परीक्षण के रूप में मैंने एम्बेडेड बेस 64 फ़ॉन्ट जानकारी में प्लग किया जो मुझे यादृच्छिक वेबपृष्ठ की सीएसएस फ़ाइल में मिला। आप पूरी प्रविष्टि नहीं चाहते हैं, सीएसएस जानकारी छोड़ दें या रूपांतरण विफल हो जाएगा।

  1. (उदाहरण के लिए) बेस 64 पूर्ववर्ती इस जानकारी को हटा दें:

    @font-face{font-family:"Example";src:url(data:application/x-font-woff;base64, 
    
  2. अंत से हटाएं:

    ;font-weight:400;font-style:normal} 
    
  3. आप बेस 64 एन्कोडेड डेटा के साथ छोड़ दिया हो जाएगा , "इनपुट" फ़ील्ड में पेस्ट करें, आउटपुट के लिए "डीकोड" चुनें और बटन दबाएं। यह download.bin नामक एक फ़ाइल तैयार करेगा: इसे डाउनलोड करने के लिए इसे क्लिक करें। फिर bin से woff से फ़ाइल एक्सटेंशन बदलें (आपका फ़ॉन्ट फ़ाइल-प्रकार अलग हो सकता है, लेकिन यह सीएसएस में कहेंगे)। मैं .woff फ़ाइल खोलने में सक्षम था और रूपांतरण पूरी तरह से काम किया; न केवल सभी रूपरेखाएं सहेजी गईं, बल्कि ग्लिफ नाम, ओपेरपे फीचर्स, कर्नाईंग और सबकुछ भी थे।

बेशक

, वेबफ़ॉन्ट चीर करने वाली किसी भी विधि की तरह, outputted ग्लिफ़ की संख्या होने की संभावना विचाराधीन पृष्ठ पर इस्तेमाल किए जाने वाले तक ही सीमित रहेगा।

यदि woff फाइलें आपको जो चाहिए वह नहीं हैं, तो woff को अपनी पसंद के प्रारूप में बदलने के लिए बहुत सारे ऑनलाइन टूल हैं। या यदि आप एक ऑफ़लाइन उपकरण की जरूरत है, इस सवाल मैंने पूछा की जाँच और जवाब मैंने प्राप्त किया:

Modify Python Script to Batch Convert all "WOFF" Files in Directory

संबंधित मुद्दे