0 वोट
391 व्यूज़

मैं एक इंटरलिनियर (interlinear) प्रोजेक्ट को फॉर्मेट करने की कोशिश कर रहा हूँ। बेस टेक्स्ट यूनानी है जिसमें उर्दू ग्लॉसेज (glosses) हैं। लेआउट की समग्र दिशा बाएं-से-दाएं (left-to-right) होगी, जिसमें उर्दू ग्लॉसेज को यूनानी शब्दों के नीचे पूरी तरह दाएं-से-बाएं (right-to-left) रखने का इरादा है। कुछ उर्दू ग्लॉसेज में स्पेस (spaces) शामिल हैं।

मैंने सफलतापूर्वक एक बुनियादी लेआउट सेट अप किया है। उर्दू (अरबी लिपि) टेक्स्ट उम्मीद के मुताबिक दाएं-से-बाएं बहता है। हालाँकि, मुझे ग्लॉसेज में सभी टेक्स्ट फ्लो के लिए पूर्ण दाएं-से-बाएं (right-to-left) को फोर्स करने का कोई माध्यम नहीं मिल रहा है। जब एक स्पेस आता है, तो लेआउट स्पेस की अवधि के लिए बाएं-से-दाएं (left-to-right) में वापस आ जाता प्रतीत होता है। स्पेस के बाद आने वाला उर्दू टेक्स्ट फिर से दाएं-से-बाएं बहता है। परिणामस्वरूप, एक समग्र बाएं-से-दाएं लेआउट में 2 या 3 उर्दू दाएं-से-बाएं स्ट्रिंग्स बन जाती हैं।

मुझे आश्चर्य हुआ कि क्या मैं किसी तरह gloss|rb स्टाइल की दिशा (directionality) को फोर्स कर सकता हूँ, लेकिन मैं स्टाइल की फॉन्ट कॉन्फ़िगरेशन में इसके लिए कोई विकल्प नहीं पा रहा हूँ।

फिर मैंने सोचा कि शायद मैं changes.txt में सभी स्पेस (या शायद इसी तरह के इलाज की आवश्यकता वाले किसी भी अन्य अक्षर) से पहले राइट-टू-लेफ्ट मार्क्स (U+200F) जोड़ सकूँ, जैसे:

in "\|.*?\\rb\*": " " > "\u200f "

इसका कोई प्रभाव नहीं पड़ता।

मुझे पता है कि ऊपर दिया गया व्यंजक सही स्थान पर परिवर्तन लागू करता है – क्योंकि यदि मैं स्पेस की जगह एक '_' (अंडरस्कोर) आउटपुट करता हूँ, तो उर्दू टेक्स्ट लेआउट ठीक होता है (अंडरस्कोर को छोड़कर!)। मैंने वैकल्पिक स्पेसिंग कैरेक्टर का उपयोग करने की कोशिश की है, लेकिन वे भी बाएं-से-दाएं में वापस आ जाते हैं (जो कि आश्चर्यजनक नहीं है)।

image

ऊपर दिए गए स्ट्रिंग्स को इस तरह बहना चाहिए (स्पेस के रूप में अंडरस्कोर का उपयोग करते हुए)

image

क्या किसी अन्य व्यक्ति से कोई दिशा-निर्देश मिल सकता है जिसने इसकी कोशिश की हो?

जेफ

English से मशीन-अनुवादित
PTXprint में द्वारा [Expert]
(290 अंक)
| 391 व्यूज़

6 उत्तर

0 वोट

हाय जेफ,

मुझे खुद ऐसा करने की आवश्यकता नहीं पड़ी है, लेकिन मैंने और कुछ चीजें आज़माने के बारे में सोचा…

क्या आपने सभी वैकल्पिक स्पेसिंग कैरेक्टर आज़माए हैं, जिनमें नॉन-ब्रेकिंग स्पेस (non-breaking spaces) शामिल हैं? 'NARROW NO-BREAK SPACE' (U+202F) को न भूलें।

क्या आपने स्पेस को ज़ीरो-विड्थ नॉन-जॉइनर (zero-width non-joiner) से बदलने की कोशिश की है? (U+200C) यह आपको बिल्कुल वही नहीं देगा जो आप चाहते हैं, लेकिन यह आपके इच्छित परिणाम के करीब हो सकता है, या समाधान का हिस्सा हो सकता है।

मैंने राइट-टू-लेफ्ट (RTL) मार्क्स के साथ कई काम किए हैं, और फिर भी, जब मैं उन्हें लागू करने की कोशिश करता हूँ, तो मुझे अक्सर आश्चर्य होता है कि कभी-कभी वे सही स्थानों पर नहीं आते। (शायद मुझे नियमों को सच में समझ नहीं आ रहा है…) इसलिए मैं सभी अन्य संयोजनों को आज़माने की सलाह दूंगा - आपके ऊपर दिए गए परिवर्तन में, \u200f को स्पेस के बाद रखें, स्पेस से पहले और बाद दोनों जगह रखें, \rb के तुरंत बाद, फील्ड के अंत से पहले, आदि। हो सकता है कि संयोजनों में से एक वह काम कर दे जो आप चाहते हैं। (और यदि यह वांछित परिणाम देता है, तो आपको इसे समझने की आवश्यकता नहीं है!)

शुभकामनाएं…

English से मशीन-अनुवादित
द्वारा (1.4k अंक)
0 वोट

यह संभवतः इससे निपटने का गलत तरीका है, लेकिन जब हम आपकी वर्णित चीज जैसी किसी चीज से निपट रहे थे, तो मैंने अरबी वर्तनी (orthography) में मौजूद नहीं होने वाले, लेकिन फिर भी RTL के रूप में परिभाषित किए गए एक ग्लिफ (glyphe) का उपयोग करने का प्रस्ताव रखा था, बजाय इसके कि दिशा-घोषणा ग्लिफ्स (directional announcement glyphs) की उचित अनुक्रम को हल करने की कोशिश की जाए।

यानी, प्रत्येक ग्लॉस के भीतर अरबी शब्दों के बीच स्पेस \u0020 के बजाय, यूनिकोड में RTL के रूप में परिभाषित किए गए, समान चौड़ाई वाले कुछ का उपयोग करें… जैसे कि एक हिब्रू पासिक (Hebrew pasiq) \u05c0। इससे समस्या यह बन जाती है कि हिब्रू पंक्तिचिह्न (punctuation) को कैसे छिपाया जाए, जिसे इसे साफ़ (clear) पेंट करके हल किया जा सकता है।

हालाँकि, जिस उदाहरण का मैं संदर्भ दे रहा हूँ, उसमें कारण अरबी टेक्स्ट के भीतर अंकों से संबंधित था, जिसे हमने कुछ फॉन्ट समस्या के कारण रूपांतरण के दौरान 'इतालवी' (Italian) भाषा के रूप में चिह्नित किया था। यह 'अंकों के लिए इतालवी' एक ग्लोबल था जो हमने उपयोग किए गए फॉन्ट के साथ आया था, विशेष रूप से अरबी टाइपसेट्स के लिए नहीं। और भाषा में यह परिवर्तन स्पेसिंग और पंक्तिचिह्न के निकटता से संबंधित समस्याओं का कारण बना। उस मामले में समाधान अंततः अंकों को किसी अन्य भाषा में पुनर्वर्गीकृत करना निकला (लेकिन यदि मैं सही याद करता हूँ, तो फिर भी अरबी नहीं।) लेकिन यह यह सुझाव देने के लिए है कि टेक्स्ट में भाषाओं को सही से सेट करना सुनिश्चित करना ग्लिफ्स की व्यवस्था पर प्रभाव डाल सकता है, बिना कि मैंने प्रस्तावित किए गए अधिक अजीबोगरीब समाधानों की ओर रुख करने की आवश्यकता के बिना। यानी कि कंपोज़र (composer) स्पेस को ltr के रूप में व्याख्या करने की कोशिश कर रहा प्रतीत होता है, जिसका अर्थ है कि यह सोचता है कि वे यूनानी हैं, अरबी नहीं। यदि आप सुनिश्चित करते हैं कि ग्लॉस टेक्स्ट के लिए उपयोग किया जाने वाला कैरेक्टर स्टाइल सभी कैरेक्टरों को अरबी भाषा के रूप में परिभाषित कर रहा है, तो शायद यही वह सब कुछ है जो आपको करने की आवश्यकता है।

English से मशीन-अनुवादित
द्वारा (108 अंक)
0 वोट

मेरी पहली सोच जेफ के सुझावों में से एक के अनुरूप थी–मेरा अनुमान है कि U+200F मार्कर को शब्द के तुरंत पहले, यानी स्पेस के बाद, स्पेस से पहले नहीं, आना चाहिए।

मैं यह मान रहा हूँ कि \rb सेक्शन में टेक्स्ट दिशा को मुख्य भाषा की समग्र टेक्स्ट दिशा द्वारा बस सेट किया जाता है, और उसे ओवरराइड करने के लिए विकास टीम (development team) को चीजों को पुनः प्रोग्राम करने की आवश्यकता होगी।

एक अंतिम सुझाव यह है कि अंडरस्कोर कैरेक्टर जैसी किसी चीज का उपयोग करने की कोशिश करें, लेकिन इसे उस रंग के साथ स्टाइल करें जो बैकग्राउंड के समान हो। तो शायद कुछ ऐसा:
in "\|.*?\\rb\*": " " > "\\sc _\\sc\*"
और फिर Small Caps को उस रंग के साथ स्टाइल करें। मूल रूप से यह कोई भी कैरेक्टर स्टाइल हो सकता है जिसे आप अन्यथा उपयोग नहीं कर रहे हैं।

English से मशीन-अनुवादित
द्वारा (1.9k अंक)
फिर से दिखाया गया
0 वोट

सभी को इन विचारों के लिए धन्यवाद।

हाँ - मैंने अन्य स्पेसिंग कैरेक्टर आज़माए हैं, जिनसे स्पेस के अलग-अलग आकार प्राप्त होते हैं, लेकिन फिर भी दिशा पलट जाती है। मैंने स्पेस के किसी भी एक तरफ या दोनों तरफ (और सब कुछ आज़माने के लिए – किसी भी स्ट्रिंग से पहले) RTL मार्क जोड़ने की कोशिश की है।

जेफ - मैंने ज़ीरो-विड्थ नॉन-जॉइनर आज़माया है, और वह ठीक से काम करता है! (लेकिन कोई स्पेस नहीं छोड़ता)। मुझे लगता है कि मैं उस कैरेक्टर को सक्रिय (active) बना सकता हूँ और फिर उसे कुछ मात्रा में ग्लू (space) के रूप में परिभाषित कर सकता हूँ? मेरा TeX बहुत बहुत जंग लगा हुआ है और मुझे पता नहीं कि इसका कैसे पता लगाया जाए। मैंने आज़माया:

\catcode`\‌=\active
\def‌{\bgroup\hskip 0.25em\egroup}

(\catcode `\ और \def के बाद वहाँ एक 200c है)

यह काम करता है - लेकिन यह स्पेस के समान परिणाम देता है (जो कि शायद आश्चर्यजनक नहीं है, क्योंकि यह अब स्पेस की एक मात्रा है)।

मैंने यह भी आज़माया:

\catcode`\‌=\active
\def‌{\bgroup\beginR\hskip 0.25em\egroup}

जो कि एक अलग परिणाम है, लेकिन फिर भी सही नहीं है – और मुझे पता है कि मैं इस बिंदु पर यहाँ इधर-उधर खोज रहा हूँ।

मालाची - मैंने आपके सुझाव को आज़माया है, लेकिन परिणाम एक TeX त्रुटि है, जिसे मैं यहाँ पेस्ट नहीं करूँगा। मुझे लगता है कि वहाँ की समस्या यह है कि यह \rb ...|...\rb* के एट्रिब्यूट सेक्शन में USFM मार्कअप इंसर्ट कर रहा है।

चूंकि मैं वहाँ मार्कअप नहीं जोड़ सकता, इसलिए मैं स्पेस की जगह एक राइट-टू-लेफ्ट कैरेक्टर को रंग देने की कोशिश करना चाहता हूँ (माइकल का सुझाव), लेकिन मुझे वास्तव में पता नहीं है कि मैं क्या कर रहा हूँ। मैंने स्पेस की जगह Paseq इंसर्ट करके निम्नलिखित आज़माया:

\catcode`\׀=\active
\def׀{\bgroup\color{white}׀\egroup}

लेकिन मुझे ! Argument of \color has an extra } के बारे में शिकायत मिलती है।

मुझे पता नहीं है कि \color का उपयोग कैसे किया जाता है या क्या यह इस तरह उपलब्ध है, या यह एक सिंटैक्स समस्या है। मुझे पता है कि मैं इस बिंदु पर अंधेरे में खोज रहा हूँ।

रंग के बिना, Paseq स्वयं वास्तव में ठीक से काम करता है! मुझे उम्मीद है कि एक ऐसा स्पेस कैरेक्टर है जिसमें Right-To-Left गुण सेट किया गया हो।

जवाबों और विचारों के लिए धन्यवाद।

जेफ

English से मशीन-अनुवादित
द्वारा [Expert]
(290 अंक)
0 वोट

पहले, मैंने संकेत दिया था कि हम 'directional announcement' समाधान की तलाश कर रहे थे, इससे पहले कि हम अंकों के करीब होने पर (विशेष रूप से वर्से रेंज में) कॉमा के सही शब्द के 'बाद' में दिखाई देने के लिए भाषा को समाधान के रूप पर ध्यान केंद्रित करते।

LTR और RTL ओवरराइड ग्लिफ्स कंपोज़र्स को बाद के ग्लिफ्स को एक तरह या दूसरी तरह व्याख्या करने के लिए फोर्स करने के लिए प्रदान किए जाते हैं। लेकिन वे जहाँ भी उपयोग किए जाते हैं (या शायद प्रभाव डालते हैं या नहीं…), वहाँ डिस्प्ले को प्रभावित करते हैं, इसलिए समझना कि वे टेक्स्ट स्ट्रीम में कहाँ हैं, वास्तव में मज़ेदार हो जाता है। और अंत में, Indesign CS6 में कुछ जटिल कंपोज़िशन प्लगइन्स के साथ, और एक फॉन्ट के साथ, जिसमें ज्ञात opentype 'features' थे जो दिशात्मकता के साथ समस्याएं पैदा करते थे, वे फिर भी लेबल पर जो लिखा था वह नहीं कर पाए।

लेकिन यदि आपके पास PTX print regex unicode " \u ग्लिफ्स, या html entity &…; नामकरण को असली ग्लिफ के बजाय फीड करने की क्षमता है, तो unicode directional override ग्लिफ्स काम कर सकते हैं। यदि आप ग्लिफ स्वयं से निपटते हैं, तो वे इस मामले में भी काम कर सकते हैं, लेकिन फिर भी, ये ग्लिफ्स लगभग हर जगह जहाँ वे दिखाई देते हैं, बाद के ग्लिफ्स के डिस्प्ले ऑर्डर को गड़बड़ कर देते हैं, इसलिए आप वास्तव में क्या देख रहे हैं, इसकी व्याख्या करना मुश्किल है, और जल्दी ही फाइल और अपनी सही दिमागी स्थिति को बहाल करने के लिए हेक्स एडिटर विश्लेषण की ओर ले जाता है।

English से मशीन-अनुवादित
द्वारा (108 अंक)
+1 मत

ऐसा लगता है कि हमें यहाँ थोड़ी मदद की आवश्यकता है। मैंने इंटरलिनियर हैंडलिंग कोड में स्टार्ट और एंड हुक्स (hooks) के लिए सपोर्ट जोड़ दिया है। इसलिए, सिद्धांत रूप में (सभी अनटेस्टेड) आपको इस तरह की एक लाइन जोड़ने में सक्षम होना चाहिए:

\sethook{start}{gloss|rb}{\beginR}

और सब ठीक हो जाना चाहिए।

मैंने अभी-अभी परिवर्तन कमीट किया है, इसलिए यह अगली रिलीज़ 2.2.46 या बाद में होना चाहिए। क्या हमें इसके लिए किसी GUI की आवश्यकता है, यह समुदाय से अनुरोध के लिए खुला है। यह एक और चेकबटन है। क्या हमें 'एक और चेकबटन' चाहिए?

English से मशीन-अनुवादित
द्वारा (658 अंक)

मार्टिन, मदद जोड़ने के लिए धन्यवाद!

मैंने इस दोपहर 2.2.46 इंस्टॉल किया, और ptxprint-mods.tex में \sethook{start}{gloss|rb}{\beginR} जोड़ा। दुर्भाग्य से - कोई प्रभाव नहीं प्रतीत होता है। आउटपुट पहले जैसा ही है - स्पेस से पहले U+200F या U+202D जोड़ने की कोशिश करने सहित।

English से मशीन-अनुवादित

मैंने इसे 2.2.50 में अपडेट करने के बाद फिर से आज़माया है, और अब उर्दू ग्लॉसेज में सही RTL रेंडरिंग काम कर रही है। शानदार!

English से मशीन-अनुवादित
मुझे इस बटन की आवश्यकता थी! मेरा समर्थक (supporter) ने यह सपोर्ट थ्रेड खोजा और इसने इसे ठीक कर दिया। मुझे लगता है कि यह शायद किसी भी व्यक्ति के लिए आवश्यक है जो अरबी लिपि के ग्लॉसेज के साथ बाइबलिकल टेक्स्ट का इंटरलिनियर (interlinear) कर रहा है।
English से मशीन-अनुवादित

संबंधित प्रश्न

0 वोट
2 उत्तर 104 व्यूज़
एक सलाहकार को एक कॉलम में टेक्स्ट के इंटरलिनियर का PDF और दूसरे कॉलम में टेक्स्ट स्वयं चाहिए। मैं PTXPrint में यह कैसे ... करनी है। मुझे डायग्लॉट (diglots) बनाने का तरीका पता है।
john_nystrom 312 पूछा गया अगस्त 14
PTXprint में
+1 मत
0 उत्तर 132 व्यूज़
यदि आप नए फ़ीचर्स को परखने के लिए उत्सुक हैं, तो आप आज早些 समय जारी किए गए PTXprint के नवीनतम संस्करण को डाउनलोड करना ... लेकिन हम उम्मीद करते हैं कि हम जल्द ही इसे ठीक कर देंगे।
Mark P 3.2k पूछा गया दिसंबर 23, 2020
0 वोट
1 उत्तर 303 व्यूज़
बाएँ स्तंभ के नीचे आंशिक श्लोक ParaText में तालिका के रूप में चिह्नित सूची के बाद आता है।
anon180868 195 पूछा गया जुलाई 11, 2024
PTXprint में
0 वोट
1 उत्तर 41 व्यूज़
नमस्ते! PTXPrint में मैं 'Hanging Poetry Verse Numbers' विकल्प का उपयोग करना चाहता हूँ क्योंकि यह बहुत साफ़ दिखता है। ... हमारे पाठकों को भ्रमित कर सकता है। बहुत-बहुत धन्यवाद! फिल
anon913937 124 पूछा गया नवंबर 18, 2025
0 वोट
10 उत्तर 604 व्यूज़
हम 2 कॉलम लेआउट के साथ कुछ समस्याओं का सामना कर रहे हैं। एक जगह, अध्याय का नंबर टेक्स्ट के ऊपर ओवरले (overlaid) ... या क्या कोई प्रोग्रामिंग त्रुटि है जिसे ठीक करने की आवश्यकता है?
rickarellanes 167 पूछा गया अगस्त 27, 2021
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
And over all these virtues put on love, which binds them all together in perfect unity.
Colossians 3:14
3,049 प्रश्न
6,007 उत्तर
5,672 टिप्पणियाँ
2,029 उपयोगकर्ता