2010-01-15 19 views
7

मुझे पहला राज्य है कि मैं क्या हासिल करने की कोशिश कर रहा हूँ करते हैं:जहां एंड्रॉइड ओएस में बिल्कुल टेक्स्ट प्रस्तुत किया गया है?

Android ओएस यह ठीक से प्रदर्शित करने अरबी/हिब्रू सक्षम करने के लिए के लिए एक पैच बनाने के लिए। इन दोनों भाषाओं में राइट-टू-बाएं (आरटीएल) और उनकी लिपि में जुड़े अक्षरों/ग्लाइफ (लैटिन अक्षरों के विपरीत जिनमें असतत अक्षरों हैं) शामिल हैं।

उदाहरण:

"कार" के लिए अरबी शब्द है:

سيارة

असतत पत्र इस तरह दिखेगा:

س ي ا ر ة

आप देख सकते हैं, प्रत्येक अक्षर एक दूसरे को पत्र के लिए अलग अलग तरीकों से क्या यह & से पहले आती है क्या यह इस प्रकार के आधार पर जोड़ता है। ठीक है, भाषा सबक के साथ पर्याप्त :) मेरा सवाल है:

एंड्रॉइड में मुझे कौन सा बाइनरी/क्लास इस कार्यक्षमता को सक्षम करने के लिए अपहरण करने की आवश्यकता है?

इसे रखने का एक और तरीका है; यदि आप चाहते थे कि प्रत्येक उदाहरण "एक्स" को "वाई" के रूप में प्रदर्शित किया जाए, सिस्टम-व्यापी, आपको किस द्विआधारी/कक्षा के साथ दखल देने की आवश्यकता होगी?

स्रोत कोड GitHub पर ब्राउज़ करने योग्य है: http://github.com/android/

मैं इसे कहीं C/C++ platform_system_core के तहत हो सकता है लगता है, या उनके कस्टम JVM platfom_dalvik

बस स्पष्ट होने के लिए, फ़ॉन्ट एक मुद्दा नहीं है क्योंकि आप अरबी/हिब्रू फोंट को फॉल-बैक फोंट के रूप में छोड़ सकते हैं और वे अलग-अलग रूप में यद्यपि प्रदर्शित होंगे।

आपका मदद की बहुत सराहना जाएगा :)

उत्तर

0

देखने के लिए कि इस मदद करता है:

http://blog.amr-gawish.com/39/arabic-language-in-android/

+0

सहायता के लिए धन्यवाद। आपके द्वारा प्रदान किया गया लिंक किसी एप्लिकेशन के भीतर टेक्स्ट को सही ढंग से प्रस्तुत करेगा, हालांकि यह समाधान का हिस्सा है। मैं इसे सिस्टम स्तर पर कार्यान्वित करना चाहता हूं - ताकि यह किसी भी एप्लिकेशन कॉल को छोड़ने या बाद में सही ढंग से प्रस्तुत किया जा सके। –

+1

वाह !! .. जब आप ऐसा करते हैं, तो कृपया वापसी करें और अपना जवाब पोस्ट करें? यह बहुत दिलचस्प लगता है – OscarRyz

+0

इसमें प्लेटफ़ॉर्म/base.git पैकेज को संशोधित करना शामिल है, जो अधिकतर एंड्रॉइड सिस्टम को प्रभावी रूप से पुन: संकलित करता है। परिणाम व्यावहारिक रूप से एंड्रॉइड सिस्टम (जैसे साइनोजनमोड) का एक माध्यम है, जब तक कि आपको पता न हो कि जार पुस्तकालयों को प्रतिस्थापित करने के लिए क्या किया जाता है। –

1

एक जाँच से बाहर स्रोत पेड़ में बाहरी/skia देखते हैं। यह स्कीया ग्राफिक्स लाइब्रेरी है, और यह आखिरकार फ़ॉन्ट प्रतिपादन के लिए ज़िम्मेदार है।

1

याद रखें कि समस्या अंतर्निहित ग्राफिक्स इंजन को संशोधित करने से अधिक जटिल है।

यदि आप स्कीया में रीशेपिंग लागू करते हैं, तो यदि लाइनों की चौड़ाई बदलती है तो आप समस्याएं चला सकते हैं (तब होता है जब لا बदले में ए के बाद बदल जाता है)। ऐसा इसलिए है क्योंकि अरबी को दोबारा बदलना अक्षरों के अनुक्रम को भी बदल सकता है और स्कीया, जैसा कि मैंने देखा, टेक्स्ट की सामग्री के बारे में निष्क्रिय रूप से कार्य करने की कोशिश करता है। यह बस डिस्प्ले डिवाइस को अक्षरों को आउटपुट करता है।

अब खराब समस्या वास्तव में एंड्रॉइड में ही है।अरबी/हिब्रू को टेक्स्ट की बीआईडीआई पुनर्स्थापना की आवश्यकता होती है, जो एंड्रॉइड में बहुत गूंगा है और बहुत ही बुनियादी मुद्दों को संभाल नहीं सकता है।

अधिक बुरी खबर? एंड्रॉइड का फ़ॉन्ट, Droid, अरबी या हिब्रू ग्लाइफ नहीं है। जब तक हम डिवाइस को रूट नहीं करते हैं और इसे किसी अन्य फ़ॉन्ट से प्रतिस्थापित नहीं करते हैं, तो अरबी अक्षरों के बजाय वर्ग प्रदर्शित होते हैं :)

पूरा प्लेटफ़ॉर्म अभी भी किसी भी आरटीएल भाषा, विशेष रूप से अरबी से निपटने में सक्षम होने से दूर है।

जैसा कि आप देखते हैं, आरटीएल भाषाओं के लिए एक सही संशोधन न केवल स्किया में है ....

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