मुझे लगता है कि एंड्रॉइड के बिडी विश्लेषण एल्गोरिदम में कुछ त्रुटियां हैं। यूनिकोड दो अदृश्य, दृढ़ता से दिशात्मक अक्षर है कि इन समस्याओं के साथ मदद कर सकता है:
- U + 200E - बाएँ से सही निशान
- U + 200F - दाएँ-से-बाएँ निशान
अंकों की ऑर्डर समस्या के लिए, अंक अनुक्रम के दोनों किनारों पर बाएं से दाएं अंक (यू + 200 ई) डालने का प्रयास करें।
यूनिकोड भी निम्न बीड़ी स्वरूपण कोड है:
- U + 202A - बाएँ से सही embedding
- U + 202B - सही-से-बाएँ embedding
- U + 202C - पॉप बाएँ-से-सही ओवरराइड
- U + 202E - - दिशात्मक स्वरूपण
- U + 202D (पिछले एम्बेडिंग या ओवरराइड रद्द) दाएँ-से-बाएँ ओवरराइड
हिब्रू पाठ में अंग्रेजी टुकड़ों के साथ समस्या के लिए, यह अंग्रेजी से पहले दाएं से बाएं निशान डालने जितना आसान हो सकता है। (एंड्रॉइड का एल्गोरिदम इंप्रेशन के तहत हो सकता है कि पैराग्राफ बाएं से दाएं है क्योंकि पहले अक्षर अंग्रेजी हैं।) यदि यह काम नहीं करता है, तो शायद स्वरूपित कोड के कुछ संयोजन के साथ चयनित पाठ के आस-पास प्रयास करें। (मैं पॉप दिशात्मक स्वरूपण के बाद बाएं से दाएं एम्बेडिंग का प्रयास करता हूं। मैं चुनिंदा स्पष्ट दाएं से बाएं एम्बेडिंग के साथ संयुक्त सब कुछ के आसपास दाएं से बाएं एम्बेडिंग भी कोशिश करता हूं।)
ये तरीका हैं टेक्स्ट लेआउट को प्रभावित करने के लिए यूनिकोड बिडरेक्शनल एल्गोरिदम Unicode Standard Annex #9 द्वारा परिभाषित किया गया है। हालांकि, अगर एंड्रॉइड का कार्यान्वयन टूट गया है (और मुझे संदेह है कि यह है), तो आप जो भी कर सकते हैं वह परीक्षण और त्रुटि है जब तक आप चीजों को सही नहीं देखते। सौभाग्य।
संपादित
जहां तक कोड का संबंध है, यहाँ है कि यह कैसे जावा में किया जा सकता है की एक उदाहरण है:
String text = "גרסה \u200e2.100\u200e זמינה";
एक्सएमएल में, यह हो सकता है:
<string name="update_available">גרסה ‎2.100‎ זמינה</string>
स्रोत
2012-06-12 01:25:35
आप इस – Nirali
@Nirali लागू करने के लिए कुछ कोड प्रारूप दे सकते हैं मैं कुछ कोड –
जोड़ा आप में एक व्याकरण गलती है हिब्रू - आपको זמין to זמינה – auval