2013-02-27 173 views
5

हमारे आवेदन में, हम रोबोटो और रोबोटो बोल्ड का उपयोग कर रहे हैं। हालांकि, एंड्रॉइड के कुछ संस्करणों में (4.0 से 4.1 प्रतीत होता है) रोबोटो के आयातित संस्करण (यानी Typeface.createFromAsset() का उपयोग करके) में टेक्स्ट प्रतिपादन के साथ समस्याएं होती हैं जो रोबोटो के अंतर्निहित संस्करण का उपयोग करते समय दिखाई नहीं देती (यानी Typeface.DEFAULT)।क्या रोबोटो और रोबोटो बोल्ड 4.0+ पर उपलब्ध होने की गारंटी है?

मुझे पता है कि रोबोटो और रोबोटो बोल्ड एंड्रॉइड 4.0 में पेश किए गए थे, लेकिन मुझे ऐसा कुछ भी नहीं लगता है जो गारंटी देता है कि इन फ़ॉन्ट्स निर्माता संशोधन (जैसे टचविज़, सेंस) के बावजूद उपलब्ध हैं। यदि उनकी मौजूदगी की गारंटी है, तो हम केवल एंड्रॉइड 4.0 से कम उपकरणों के लिए कस्टम आयात का उपयोग करने के लिए एक संस्करण जांच का उपयोग कर सकते हैं।

उत्तर

3

संपादित: कुछ के साथ

  • Typeface.create(Typeface.SANS_SERIF, Typeface.NORMAL) का उपयोग करते हुए वापस आ जाएगी वें: प्रयोग, विशेष रूप से Galaxy S3 कि यदि कोई उपयोगकर्ता अपने फ़ॉन्ट बदलने के लिए अनुमति देता है के साथ, यह मैं क्या खोज की है है सिस्टम डिफ़ॉल्ट सैन्स-सेरिफ़ फ़ॉन्ट की बजाय कस्टम टाइपफेस पर (यानी। रोबोटो)
  • इसके बजाय, Typeface.create("sans-serif", Typeface.NORMAL) (या बोल्ड) का उपयोग करें और यह उपयोगकर्ता के फ़ॉन्ट अनुकूलन के बावजूद रोबोटो वापस कर देगा। नीचे दी गई सूची से, आप वास्तव में "हेलवेस्टिका", "ताहोमा", "वर्दान" या "एरियल" का उपयोग उसी परिणाम के साथ "सैन्स-सेरिफ़" के बजाय कर सकते हैं।

    प्लेटफार्मों> एंड्रॉयड -14> डेटा> फोंट:


मैं एक दस्तावेज है कि पुष्टि करते हैं कि रोबोटो तहत एसडीके निर्देशिका में Typeface.SANS_SERIF के लिए किसी भी संदर्भ के लिए उपयोग किया जाएगा लगता है system_fonts.xml बुलाया पाया

<!-- 
    System Fonts 

    This file lists the font families that will be used by default for all supported glyphs. 
    Each entry consists of a family, various names that are supported by that family, and 
    up to four font files. The font files are listed in the order of the styles which they 
    support: regular, bold, italic and bold-italic. If less than four styles are listed, then 
    the styles with no associated font file will be supported by the other font files listed. 

    The first family is also the default font, which handles font request that have not specified 
    specific font names. 

    Any glyph that is not handled by the system fonts will cause a search of the fallback fonts. 
    The default fallback fonts are specified in the file /system/etc/fallback_fonts.xml, and there 
    is an optional file which may be supplied by vendors to specify other fallback fonts to use 
    in /vendor/etc/fallback_fonts.xml. 
--> 
<familyset> 

    <family> 
     <nameset> 
      <name>sans-serif</name> 
      <name>arial</name> 
      <name>helvetica</name> 
      <name>tahoma</name> 
      <name>verdana</name> 
     </nameset> 
     <fileset> 
      <file>Roboto-Regular.ttf</file> 
      <file>Roboto-Bold.ttf</file> 
      <file>Roboto-Italic.ttf</file> 
      <file>Roboto-BoldItalic.ttf</file> 
     </fileset> 
    </family> 

विक्रेता फोंट के बाद सेमें रखा जाना चाहिएऔर सिस्टम फोंट को हमेशा प्राथमिकता दी जाएगी, और सूचीबद्ध पहला परिवार सब्स-सेरिफ़, एरिया, हेल्वेतिका, ताहोमा, या वर्दान के उपनामों के तहत रोबोटो है, जब तक कि मुझे पता न लगे कि मुझे लगता है कि रोबोटो यह मानना ​​सुरक्षित है कि रोबोटो फ़ॉन्ट को Typeface.create(Typeface.SANS_SERIF, Typeface.NORMAL) पर कॉल के लिए वापस कर दिया गया।

मैं अभी भी एक निश्चित उत्तर की उम्मीद कर रहा हूं, क्योंकि यह सुनिश्चित नहीं है कि किसी OEM को system_fonts.xml को संशोधित करने की अनुमति है या नहीं। यदि वे हैं, तो यह वास्तव में वास्तव में सहायक नहीं है।

1

Android 4.0 Compatibility Documentation की धारा 3.8.5 में यह कहते हैं:

3.8.5। थीम्स एंड्रॉइड "थीम" को संपूर्ण गतिविधि या एप्लिकेशन में शैलियों को लागू करने के लिए अनुप्रयोगों के लिए एक तंत्र के रूप में प्रदान करता है। एंड्रॉइड 3.0 ने परिभाषित शैलियों के सेट के रूप में एक नया "होलो" या "होलोग्रफ़िक" विषय प्रस्तुत किया है, यदि वे से मिलान करना चाहते हैं तो होलो थीम देखो और एंड्रॉइड एसडीके [संसाधन, 24] । डिवाइस कार्यान्वयन किसी भी होलो थीम अनुप्रयोगों [संसाधन, 25] के संपर्क में आने वाले गुणों में से कोई भी नहीं बदलना चाहिए। एंड्रॉइड 4.0 डिवाइस डेवलपर द्वारा परिभाषित डिवाइस थीम के को देखने और महसूस करने के लिए एप्लिकेशन डेवलपर्स के लिए परिभाषित शैलियों के सेट के रूप में एक नया "डिवाइस डिफ़ॉल्ट" विषय प्रस्तुत करता है। डिवाइस कार्यान्वयन अनुप्रयोगों [संसाधन, 25] में का खुलासा डिवाइसडिफॉल्ट थीम विशेषताओं को संशोधित कर सकता है।

AFAIK, रोबोटो फ़ॉन्ट सेट होलो विषय का हिस्सा है, और इसलिए (अर्थात चलाता Google Play) किसी भी Android 4.0 और उपकरण है, जो गूगल द्वारा प्रमाणित किया गया है ऊपर उपस्थित होना आवश्यक है।

ही आवश्यकता भी 4.1 और 4.2 दस्तावेजों

में मौजूद है (जल्दी से अनुभाग देखने के लिए पीडीएफ़ में Holo के लिए खोज केवल 4 इसके बारे में उल्लेख है नहीं है।)

+0

मुझे इस बारे में पूरी तरह से यकीन नहीं है, लेकिन मुझे लगता है कि डिफ़ॉल्ट होलो थीम टाइपफ़ेस निर्दिष्ट नहीं करती है, केवल टेक्स्ट आकार और शैली जो निर्माता को जहाज/उपयोग करने के लिए कौन से फोंट का चयन करने की अनुमति देगी। – ebarrenechea

+0

@ebarrenchea यहां तक ​​कि मुझे यकीन नहीं है, और मुझे दस्तावेज़ीकरण या संगतता दस्तावेजों में कोई आधिकारिक स्थान नहीं मिल रहा है जो इस बात की पुष्टि करता है या इनकार करता है, इसलिए मैंने 'AFAIK' –

+1

कहने का विकल्प चुना है, मैंने अभी एडम पॉवेल को लिखा है (जिन्होंने लिखा था [यह आलेख] (http://android-developers.blogspot.com/2012/01/holo-everywhere.html)) Google+ पर यह देखने के लिए कि शायद वह स्पष्ट कर सकता है या नहीं। – kcoppock

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

  • कोई संबंधित समस्या नहीं^_^