2012-06-06 11 views
6

में यूनिकोड वर्ण प्रदर्शित करने के लिए फ़ॉन्ट सेटअप मैं विशेष यूनिकोड वर्ण प्रदर्शित करने की कोशिश कर रहा हूं, विशेष रूप से गणित ऑपरेटर emacs में। विशेष रूप से:Emacs: ओएसएक्स

   position: 283 of 317 (89%), column: 0 
      character: (displayed as) (codepoint 120046, #o352356, #x1d4ee) 
    preferred charset: unicode (Unicode (ISO10646)) 
code point in charset: 0x1D4EE 
       syntax: w which means: word 
      category: .:Base, L:Left-to-right (strong) 
      buffer code: #xF0 #x9D #x93 #xAE 
      file code: #xF0 #x9D #x93 #xAE 
       (encoded by coding system utf-8-unix) 
       display: no font available 
     Unicode data: 
       Name: MATHEMATICAL BOLD SCRIPT SMALL E 
      Category: Letter, Lowercase 
     Combining class: Ll 
     Bidi category: Ll 
     Decomposition: font e 

Character code properties: customize what to show 
    name: MATHEMATICAL BOLD SCRIPT SMALL E 
    general-category: Ll (Letter, Lowercase) 
    decomposition: (font 101) (font 'e') 

There are text properties here: 
    fontified   t 

मैं जीएनयू Emacs 24 हाल ही में एक रात द्विआधारी उपयोग कर रहा हूँ। उपर्युक्त पाठ मेरे ब्राउज़र पर और टेक्स्ट एडिट में ठीक दिखाता है, हालांकि, emacs में देखे जाने पर विशेष वर्ण खाली हो जाते हैं।

मैं एक पुराने Emacs 22 manual से इस पढ़ें:। "एक FontSet जरूरी सभी चरित्र कोड के लिए एक फ़ॉन्ट एक FontSet एक निश्चित चरित्र के लिए कोई फ़ॉन्ट निर्दिष्ट करता है निर्दिष्ट नहीं है, या यदि वह एक फ़ॉन्ट निर्दिष्ट करता है मौजूद नहीं है कि आपके सिस्टम पर, यह उस चरित्र को प्रदर्शित नहीं कर सकता है। यह इसके बजाय एक खाली बॉक्स प्रदर्शित करेगा। " - यह सही व्यवहार है जिसे मैं देख रहा हूं

ऐसा लगता है कि मुझे ऐसे मनमाना वर्ण प्रदर्शित करने में सक्षम होने के लिए एक फोंटसेट बनाने की आवश्यकता हो सकती है (Xdefaults या Xresources फ़ाइलों से शुरू)।

मैथ ऑपरेटरों को प्रदर्शित करने के लिए मुझे फ़ॉन्ट्स में शामिल करने के लिए किस फ़ॉन्ट परिवारों को शामिल करने की आवश्यकता होगी (अधिकांश ऑनलाइन उदाहरण लैटिन, चीनी इत्यादि जैसी भाषाओं को संदर्भित करते हैं)? मुझे .Xdefault या .Xresource फ़ाइलों के किसी भी उदाहरण भी नहीं मिल सका।

क्या मैं सही रास्ते पर हूं? क्या ऐसा करने के लिए एक आसान/अधिक स्पष्ट तरीका है?

+0

यहां पर विषय पर। थोड़ा। इसे स्थानांतरित करने की चिंता मत करो। – Will

उत्तर

1

मेरा मानना ​​है कि वहाँ MacOS Emacs और प्रदर्शित वर्ण बीएमपी परे के साथ एक ज्ञात बग है। उदाहरण के लिए मेरी (अनुत्तरित) बग रिपोर्ट Emacs bugs पर देखें।

इस बग की रिपोर्ट करने के बाद, मेरे पास “Mac port” version of emacs का उपयोग करने का सुझाव देने वाला एक ई-मेल था। यह स्पष्ट रूप से गैर-बीएमपी वर्ण प्रदर्शित करता है।

बेशक, यह अच्छा होगा अगर बग को ईमैक्स विकास की मुख्य पंक्ति में तय किया गया हो। यह भी अच्छा होगा अगर बग आधिकारिक तौर पर स्वीकार किया गया था ...

2

फ़ंक्शन set-fontset-font का उपयोग यह निर्दिष्ट करने के लिए किया जा सकता है कि कौन से फ़ॉन्ट वर्णों की किसी भी श्रेणी के लिए उपयोग करें; उदाहरण के लिए,

(set-fontset-font t '(#x1d4ee . #x1d4ee) (font-spec :family "FreeSerif")) 
+0

धन्यवाद! यह सहायक है। यह एक चरित्र के लिए बहुत विशिष्ट है। क्या मैं ऐसा कर सकता हूं? अब मुझे एहसास हुआ कि मैं बहुत कुछ खो रहा हूं। – GeneralBecos

+0

मैंने सिस्टम में हर फ़ॉन्ट की कोशिश की, लेकिन emacs इस चरित्र को प्रदर्शित करने में विफल रहता है (और अधिक)। – GeneralBecos

3

मुझे एक ही समस्या है, और मेरे पास कोई सामान्य समाधान नहीं है। एक वर्ण (या संभावित रूप से एक सीमा) को ठीक करने के लिए मेरा दृष्टिकोण यहां है, यह मानते हुए कि आपके पास एक बफर में वर्ण है और यह प्रदर्शित नहीं हो रहा है।

कुछ प्रयोगों से पता चला कि मेनलो फ्रीसेरिफ़ जैसे पात्रों का उपयोगी स्रोत है।

  1. कर्सर को गैर-प्रदर्शित चरित्र से पहले रखें।

  2. एम-एक्स वर्णन-चार। यह आपको चरित्र के बारे में बहुत सारी जानकारी देता है, जिसमें "कोडसेट कोड कोड: 0x2055" फ़ॉर्म की एक पंक्ति शामिल है।

    1. कहीं भी आपके .emacs या संबंधित फ़ाइलों में, इस फ़ंक्शन का उपयोग करें। यह संभावित रूप से फ्रीसिरिफ़ परिवार या किसी अन्य चीज़ से उन्हें छेड़छाड़ करके पात्रों की पूरी श्रृंखला को ठीक कर सकता है, लेकिन मेरे पास कुछ पात्रों के अलावा कुछ भी अच्छे विकल्प नहीं हैं।
 
    (defun bbextra-fix-fontset-font (from &optional to family) 
     "Make characters FROM to TO come from FAMILY. 
    Default value of TO is FROM, and of FAMILY is FreeSerif (which 
    seems to have some of the characters)" 
    (set-fontset-font t (cons from (or to from)) 
         (font-spec :family (or family "FreeSerif")))) 

    ;; Here are the characters I have fixed. 
    (bbextra-fix-fontset-font #x2042) 
    (bbextra-fix-fontset-font #x2023) 
    (bbextra-fix-fontset-font #x203D) 
    (bbextra-fix-fontset-font #x2055) 


    ;These come from Menlo 
    (bbextra-fix-fontset-font #x2620 #x2620 "Menlo") ; skull and crossbones 
    (bbextra-fix-fontset-font #x266C#x266C "Menlo") ; 16th notes 
    (bbextra-fix-fontset-font #x2695 #x2695 "Menlo") ; asclepion 
    (bbextra-fix-fontset-font #x2624 #x2624 "Menlo") ; caduceus 
+0

धन्यवाद, यह वास्तव में काम करता है! थोड़ी सी काम के साथ हम सभी समस्याग्रस्त श्रेणियों को ढूंढ सकते हैं और उन्हें कवर करने के लिए एक '.el' फ़ाइल डाल सकते हैं। –