लिबर ऑफिस डिफ़ॉल्ट टेक्स्ट एन्कोडिंग को कैसे बदलें?


4

मैं किसी दस्तावेज़ को टेक्स्ट दस्तावेज़ के रूप में सहेजते समय लिबर ऑफिस द्वारा उपयोग किए गए डिफ़ॉल्ट टेक्स्ट एन्कोडिंग को बदलना चाहता हूं । मुझे यह सेटिंग कहां मिल सकती है?

मैं चाहता हूं कि यह यूटीएफ -8 बिना बीओएम के हो, जो मुझे लगता है कि लिब्रे ऑफिस में एएससीआईआई / यूएस कहलाता है।

मैं है कि कोई पाठ इनकोडिंग विकल्प है जहाँ आप (सिद्धांत में है, अगर यह वास्तव में काम किया) प्रत्येक सादे फ़ाइल की एन्कोडिंग का चयन कर सकते है। मुझे इसके साथ तीन समस्याएं हैं:

  • यह ठीक से काम नहीं करता है। यानी अधिकांश समय यह कोई पॉपअप नहीं दिखाता है जहाँ आप एन्कोडिंग का चयन कर सकते हैं और जैसे ही आप पाठ विकल्प चुनते हैं वैसे ही बचाता है। शायद दस परीक्षणों में एक बार यह पॉपअप दिखाता है।
  • मैं केवल सादे पाठ फ़ाइलों को संपादित करता हूं और मैं लिबरऑफिस का उपयोग केवल वर्तनी जांच (और शब्दों की गिनती) के लिए करता हूं। सभी फाइलें जो मैं कभी भी लिखना चाहूंगा, उन्हें UTF-8 को BOM के बिना एन्कोड किया जाना चाहिए , इसलिए मैं इस विकल्प को मैन्युअल रूप से चुनकर समय बर्बाद करने से बचना चाहूंगा।
  • अगर मेरे पास BOM के बिना UTF-8 में एक फ़ाइल सही ढंग से एनकोडेड है , और मैं इसके बाद इसे सहेजने की कोशिश करता हूं, उदाहरण के लिए, तो Ctrl+ Sफ़ाइल को डिफ़ॉल्ट रूप से टेक्स्ट डिफ़ॉल्ट एन्कोडिंग का उपयोग करके सहेजा जाएगा जो फ़ाइल को UTF-8 के रूप में BOM से बचाता है जो फ़ाइल को तोड़ता है। लिब्रे ऑफिस को फाइल की एन्कोडिंग को संरक्षित करना चाहिए और फाइल को बिना BOM के UTF-8 के रूप में सहेजना चाहिए । सेव का उपयोग करना हर एक समय के रूप में समय की एक वास्तविक बर्बादी है।

जवाबों:


4

एन्कोडिंग विकल्प संवाद दिखाने के लिए, इस रूप में सहेजें ... पर जाएं और जांचें Edit filter settings

इस रूप में सहेजें ... की सुस्ती से बचने के लिए , आप इस तरह एक मैक्रो का उपयोग कर सकते हैं:

Sub SaveAsUtf8
    dim aUrl()
    dim fileProps(1) as new com.sun.star.beans.PropertyValue
    fileProps(0).Name = "FilterName"
    fileProps(0).Name = "Text (encoded)"
    fileProps(1).Name = "FilterOptions"
    fileProps(1).Value ="UTF8,CRLF,Liberation Mono,en-US,"
    oDlg = createUnoService("com.sun.star.ui.dialogs.FilePicker")
    oDlg.setMultiSelectionMode(false)
    oDlg.initialize(array(1))
    oDlg.execute
    aUrl = oDlg.getFiles()
    If UBound(aUrl) > -1 Then
        thisComponent.storeAsURL(aURL(0), fileProps())
    End If
End Sub

इसे हॉटकी या टूलबार बटन पर जाकर सेट करें Tools -> Customize

यह एक वैश्विक चर का उपयोग करने और पहले से उपयोग किए गए स्थान पर सहेजने के लिए संशोधित किया जा सकता है।

UTF-8 BOM के बिना, जो मुझे विश्वास है कि ASCII / US कहलाता है

नहीं, यह ASCII- एन्कोडेड पाठ का उत्पादन करता है, जो अधिकांश यूनिकोड वर्णों को नष्ट कर देगा।

मुझे कोई फ़िल्टर विकल्प नहीं दिखाई देता है जो बिना लिमरेफ़ोसिस के बीओएम के बिना बचा सकता है। इसके बजाय, विभिन्न कमांड लाइन टूल हैं जैसे कि आइकनव जो बीओएम को हटा सकते हैं।

यदि आपके पास कुछ समय है, तो सबसे अच्छा उपाय यह हो सकता है कि राइटर डॉक्यूमेंट को पढ़ने के लिए एक पायथन या जावा मैक्रो बनाएं और बीओएम के बिना किसी फाइल में लिखें। यह शायद पायथन कोड की 30 लाइनों में किया जा सकता है, या दो बार इतना जावा कोड। नोट: मैं इसकी खराब फ़ाइल हैंडलिंग कार्यों के कारण बेसिक में ऐसा करने की अनुशंसा नहीं करूंगा।


क्या आपके पास कोई विचार है कि लिबरेऑफिस यूटीएफ -8 के लिए बीओएम को जोड़कर यूनिकोड मानक के खिलाफ क्यों है ? उद्धरण: "बीओएम का उपयोग न तो आवश्यक है और न ही यूटीएफ -8 के लिए अनुशंसित है"। यह अन्य प्रोग्राम्स (जैसे मेरे मामले में pdfLaTeX) के साथ ऐसी फ़ाइलों का उपयोग करने के लिए बहुत कठिन बनाता है।
बाकुरि जुएल

वैसे, आपने जो मैक्रो लिखा है वह बीओएम अधिकार के साथ बचाता है ? तो यह बेकार है।
बाकुरि जुएल

हां, यह BOM के साथ सेव करता है। जैसा कि उत्तर में कहा गया है, आप मैक्रो का उपयोग कर सकते हैं और फिर iconvबीओएम को हटाने के लिए एक टूल चला सकते हैं । या, पायथन या जावा में एक पूर्ण समाधान लिखें। मैं यह कर सकता था सिवाय इसके कि यह वेबसाइट एक कोड लेखन सेवा नहीं है , इसलिए इसके बजाय यह उत्तर संभव समाधान की ओर इशारा करता है।
जिम के

लिबरऑफिस को किस तरह से डिज़ाइन किया गया है, इस बारे में मुझे निर्णय के पीछे की प्रेरणा नहीं पता है।
जिम के
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.